fix bug where drag&drop would not create new object versions
This commit is contained in:
Vendored
+15
-7
@@ -955,6 +955,14 @@
|
|||||||
addObjectContent = (messageObject, content) => {
|
addObjectContent = (messageObject, content) => {
|
||||||
messageObject.contentVersions[content.id] = content;
|
messageObject.contentVersions[content.id] = content;
|
||||||
};
|
};
|
||||||
|
updateObjectContent = (messageObject, content) => {
|
||||||
|
const latest = this.getMostRecentContent(messageObject);
|
||||||
|
Object.entries(content).forEach((entry) => {
|
||||||
|
const [key, value] = entry;
|
||||||
|
latest[key] = value;
|
||||||
|
});
|
||||||
|
this.addObjectContent(messageObject, latest);
|
||||||
|
};
|
||||||
addObject = (messageObject, ignoreIfUnchanged = false) => {
|
addObject = (messageObject, ignoreIfUnchanged = false) => {
|
||||||
const existingObject = this.objects.value.get(messageObject.id);
|
const existingObject = this.objects.value.get(messageObject.id);
|
||||||
if (existingObject) {
|
if (existingObject) {
|
||||||
@@ -1167,8 +1175,6 @@
|
|||||||
);
|
);
|
||||||
var currentAddress = restoreState("current-address", "");
|
var currentAddress = restoreState("current-address", "");
|
||||||
var previousAddresses = restoreListState("previous-addresses");
|
var previousAddresses = restoreListState("previous-addresses");
|
||||||
previousAddresses.add("a", "a", "A");
|
|
||||||
previousAddresses.add("a", "a", "A");
|
|
||||||
var cannotDisonnect = createProxyState(
|
var cannotDisonnect = createProxyState(
|
||||||
[isConnected],
|
[isConnected],
|
||||||
() => isConnected.value == false
|
() => isConnected.value == false
|
||||||
@@ -1648,8 +1654,9 @@
|
|||||||
if (!id) return;
|
if (!id) return;
|
||||||
const messageObject = chat.objects.value.get(id);
|
const messageObject = chat.objects.value.get(id);
|
||||||
if (!messageObject) return;
|
if (!messageObject) return;
|
||||||
const latest = chat.getMostRecentContent(messageObject);
|
const newContent = chat.createObjectContent();
|
||||||
latest.categoryName = kanbanBoard.category;
|
newContent.categoryName = kanbanBoard.category;
|
||||||
|
chat.updateObjectContent(messageObject, newContent);
|
||||||
chat.addObjectAndSend(messageObject);
|
chat.addObjectAndSend(messageObject);
|
||||||
}
|
}
|
||||||
const itemToViewEntry = (kanbanBoardItem) => {
|
const itemToViewEntry = (kanbanBoardItem) => {
|
||||||
@@ -1976,9 +1983,10 @@
|
|||||||
if (!id) return;
|
if (!id) return;
|
||||||
const messageObject = chat.objects.value.get(id);
|
const messageObject = chat.objects.value.get(id);
|
||||||
if (!messageObject) return;
|
if (!messageObject) return;
|
||||||
const latest = chat.getMostRecentContent(messageObject);
|
const newContent = chat.createObjectContent();
|
||||||
latest.status = status;
|
newContent.categoryName = category;
|
||||||
latest.categoryName = category;
|
newContent.status = status;
|
||||||
|
chat.updateObjectContent(messageObject, newContent);
|
||||||
chat.addObjectAndSend(messageObject);
|
chat.addObjectAndSend(messageObject);
|
||||||
}
|
}
|
||||||
const cellItemToEntryView = (cellItem) => ObjectEntryView(
|
const cellItemToEntryView = (cellItem) => ObjectEntryView(
|
||||||
|
|||||||
+13
-1
@@ -334,7 +334,7 @@ export class Chat {
|
|||||||
return messageObject;
|
return messageObject;
|
||||||
};
|
};
|
||||||
|
|
||||||
createObjectContent = () => {
|
createObjectContent = (): MessageObjectContent => {
|
||||||
return {
|
return {
|
||||||
id: React.UUID(),
|
id: React.UUID(),
|
||||||
isoDateVersionCreated: new Date().toISOString(),
|
isoDateVersionCreated: new Date().toISOString(),
|
||||||
@@ -348,6 +348,18 @@ export class Chat {
|
|||||||
messageObject.contentVersions[content.id] = content;
|
messageObject.contentVersions[content.id] = content;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
updateObjectContent = (
|
||||||
|
messageObject: MessageObject,
|
||||||
|
content: MessageObjectContent
|
||||||
|
): void => {
|
||||||
|
const latest = this.getMostRecentContent(messageObject);
|
||||||
|
Object.entries(content).forEach((entry) => {
|
||||||
|
const [key, value] = entry;
|
||||||
|
latest[key] = value;
|
||||||
|
});
|
||||||
|
this.addObjectContent(messageObject, latest);
|
||||||
|
};
|
||||||
|
|
||||||
addObject = (
|
addObject = (
|
||||||
messageObject: MessageObject,
|
messageObject: MessageObject,
|
||||||
ignoreIfUnchanged: boolean = false
|
ignoreIfUnchanged: boolean = false
|
||||||
|
|||||||
@@ -108,8 +108,9 @@ function KanbanBoardView(
|
|||||||
const messageObject = chat.objects.value.get(id);
|
const messageObject = chat.objects.value.get(id);
|
||||||
if (!messageObject) return;
|
if (!messageObject) return;
|
||||||
|
|
||||||
const latest = chat.getMostRecentContent(messageObject);
|
const newContent = chat.createObjectContent();
|
||||||
latest.categoryName = kanbanBoard.category;
|
newContent.categoryName = kanbanBoard.category;
|
||||||
|
chat.updateObjectContent(messageObject, newContent);
|
||||||
chat.addObjectAndSend(messageObject);
|
chat.addObjectAndSend(messageObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -230,9 +230,10 @@ function StatusColumnView(
|
|||||||
const messageObject = chat.objects.value.get(id);
|
const messageObject = chat.objects.value.get(id);
|
||||||
if (!messageObject) return;
|
if (!messageObject) return;
|
||||||
|
|
||||||
const latest = chat.getMostRecentContent(messageObject);
|
const newContent = chat.createObjectContent();
|
||||||
latest.status = status;
|
newContent.categoryName = category;
|
||||||
latest.categoryName = category;
|
newContent.status = status;
|
||||||
|
chat.updateObjectContent(messageObject, newContent);
|
||||||
chat.addObjectAndSend(messageObject);
|
chat.addObjectAndSend(messageObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user