mirror of
https://github.com/mattermost/focalboard.git
synced 2024-12-24 13:43:12 +02:00
Immutable blocks
This commit is contained in:
parent
aa950240d9
commit
61974a1696
@ -67,8 +67,6 @@ class Mutator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async changeTitle(block: IBlock, title: string, description = 'change title') {
|
async changeTitle(block: IBlock, title: string, description = 'change title') {
|
||||||
const oldValue = block.title
|
|
||||||
|
|
||||||
const newBlock = new MutableBlock(block)
|
const newBlock = new MutableBlock(block)
|
||||||
newBlock.title = title
|
newBlock.title = title
|
||||||
|
|
||||||
@ -220,7 +218,6 @@ class Mutator {
|
|||||||
|
|
||||||
async changePropertyTemplateOrder(board: Board, template: IPropertyTemplate, destIndex: number) {
|
async changePropertyTemplateOrder(board: Board, template: IPropertyTemplate, destIndex: number) {
|
||||||
const templates = board.cardProperties
|
const templates = board.cardProperties
|
||||||
const oldValue = templates
|
|
||||||
const newValue = templates.slice()
|
const newValue = templates.slice()
|
||||||
|
|
||||||
const srcIndex = templates.indexOf(template)
|
const srcIndex = templates.indexOf(template)
|
||||||
@ -281,9 +278,7 @@ class Mutator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async renameProperty(board: Board, propertyId: string, name: string) {
|
async renameProperty(board: Board, propertyId: string, name: string) {
|
||||||
const oldBlocks: IBlock[] = [board]
|
|
||||||
const newBoard = new MutableBoard(board)
|
const newBoard = new MutableBoard(board)
|
||||||
const changedBlocks: IBlock[] = [newBoard]
|
|
||||||
|
|
||||||
const template = newBoard.cardProperties.find((o) => o.id === propertyId)
|
const template = newBoard.cardProperties.find((o) => o.id === propertyId)
|
||||||
if (!template) {
|
if (!template) {
|
||||||
@ -295,10 +290,10 @@ class Mutator {
|
|||||||
|
|
||||||
await undoManager.perform(
|
await undoManager.perform(
|
||||||
async () => {
|
async () => {
|
||||||
await octoClient.updateBlocks(changedBlocks)
|
await octoClient.updateBlock(newBoard)
|
||||||
},
|
},
|
||||||
async () => {
|
async () => {
|
||||||
await octoClient.updateBlocks(oldBlocks)
|
await octoClient.updateBlock(board)
|
||||||
},
|
},
|
||||||
'rename property',
|
'rename property',
|
||||||
)
|
)
|
||||||
@ -404,8 +399,6 @@ class Mutator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async changePropertyOptionColor(board: Board, template: IPropertyTemplate, option: IPropertyOption, color: string) {
|
async changePropertyOptionColor(board: Board, template: IPropertyTemplate, option: IPropertyOption, color: string) {
|
||||||
const oldValue = option.color
|
|
||||||
|
|
||||||
const newBoard = new MutableBoard(board)
|
const newBoard = new MutableBoard(board)
|
||||||
const newTemplate = newBoard.cardProperties.find(o => o.id === template.id)
|
const newTemplate = newBoard.cardProperties.find(o => o.id === template.id)
|
||||||
const newOption = newTemplate.options.find(o => o.value === option.value)
|
const newOption = newTemplate.options.find(o => o.value === option.value)
|
||||||
@ -423,8 +416,6 @@ class Mutator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async changePropertyValue(card: Card, propertyId: string, value?: string, description = 'change property') {
|
async changePropertyValue(card: Card, propertyId: string, value?: string, description = 'change property') {
|
||||||
const oldValue = card.properties[propertyId]
|
|
||||||
|
|
||||||
const newCard = new MutableCard(card)
|
const newCard = new MutableCard(card)
|
||||||
newCard.properties[propertyId] = value
|
newCard.properties[propertyId] = value
|
||||||
|
|
||||||
@ -440,8 +431,6 @@ class Mutator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async changePropertyType(board: Board, propertyTemplate: IPropertyTemplate, type: PropertyType) {
|
async changePropertyType(board: Board, propertyTemplate: IPropertyTemplate, type: PropertyType) {
|
||||||
const oldValue = propertyTemplate.type
|
|
||||||
|
|
||||||
const newBoard = new MutableBoard(board)
|
const newBoard = new MutableBoard(board)
|
||||||
const newTemplate = newBoard.cardProperties.find(o => o.id === propertyTemplate.id)
|
const newTemplate = newBoard.cardProperties.find(o => o.id === propertyTemplate.id)
|
||||||
newTemplate.type = type
|
newTemplate.type = type
|
||||||
@ -460,8 +449,6 @@ class Mutator {
|
|||||||
// Views
|
// Views
|
||||||
|
|
||||||
async changeViewSortOptions(view: BoardView, sortOptions: ISortOption[]) {
|
async changeViewSortOptions(view: BoardView, sortOptions: ISortOption[]) {
|
||||||
const oldValue = view.sortOptions
|
|
||||||
|
|
||||||
const newView = new MutableBoardView(view)
|
const newView = new MutableBoardView(view)
|
||||||
newView.sortOptions = sortOptions
|
newView.sortOptions = sortOptions
|
||||||
|
|
||||||
@ -477,8 +464,6 @@ class Mutator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async changeViewFilter(view: BoardView, filter?: FilterGroup) {
|
async changeViewFilter(view: BoardView, filter?: FilterGroup) {
|
||||||
const oldValue = view.filter
|
|
||||||
|
|
||||||
const newView = new MutableBoardView(view)
|
const newView = new MutableBoardView(view)
|
||||||
newView.filter = filter
|
newView.filter = filter
|
||||||
|
|
||||||
@ -494,8 +479,6 @@ class Mutator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async changeViewVisibleProperties(view: BoardView, visiblePropertyIds: string[]) {
|
async changeViewVisibleProperties(view: BoardView, visiblePropertyIds: string[]) {
|
||||||
const oldValue = view.visiblePropertyIds
|
|
||||||
|
|
||||||
const newView = new MutableBoardView(view)
|
const newView = new MutableBoardView(view)
|
||||||
newView.visiblePropertyIds = visiblePropertyIds
|
newView.visiblePropertyIds = visiblePropertyIds
|
||||||
|
|
||||||
@ -511,8 +494,6 @@ class Mutator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async changeViewGroupById(view: BoardView, groupById: string) {
|
async changeViewGroupById(view: BoardView, groupById: string) {
|
||||||
const oldValue = view.groupById
|
|
||||||
|
|
||||||
const newView = new MutableBoardView(view)
|
const newView = new MutableBoardView(view)
|
||||||
newView.groupById = groupById
|
newView.groupById = groupById
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user