aboutsummaryrefslogtreecommitdiff
path: root/src/fields
diff options
context:
space:
mode:
Diffstat (limited to 'src/fields')
-rw-r--r--src/fields/documentSchemas.ts1
-rw-r--r--src/fields/util.ts16
2 files changed, 8 insertions, 9 deletions
diff --git a/src/fields/documentSchemas.ts b/src/fields/documentSchemas.ts
index 71294c59c..311aaa769 100644
--- a/src/fields/documentSchemas.ts
+++ b/src/fields/documentSchemas.ts
@@ -19,7 +19,6 @@ export const documentSchema = createSchema({
activeFrame: "number", // the active frame of a frame based animated document
_currentTimecode: "number", // current play back time of a temporal document (video / audio)
displayTimecode: "number", // the time that a document should be displayed (e.g., time an annotation should be displayed on a video)
- inOverlay: "boolean", // whether the document is rendered in an OverlayView which handles selection/dragging differently
isLabel: "boolean", // whether the document is a label or not (video / audio)
audioStart: "number", // the time frame where the audio should begin playing
audioEnd: "number", // the time frame where the audio should stop playing
diff --git a/src/fields/util.ts b/src/fields/util.ts
index a374c7f54..ecb3fb343 100644
--- a/src/fields/util.ts
+++ b/src/fields/util.ts
@@ -379,12 +379,12 @@ export function updateFunction(target: any, prop: any, value: any, receiver: any
diff?.op === "$addToSet" ?
{
redo: () => {
- receiver[prop].push(...diff.items.map((item: any) => item.value()));
+ receiver[prop].push(...diff.items.map((item: any) => item.value ? item.value() : item));
lastValue = ObjectField.MakeCopy(receiver[prop]);
},
undo: action(() => {
- diff.items.forEach((doc: any) => {
- const ind = receiver[prop].indexOf(doc.value());
+ diff.items.forEach((item: any) => {
+ const ind = receiver[prop].indexOf(item.value ? item.value() : item);
ind !== -1 && receiver[prop].splice(ind, 1);
});
lastValue = ObjectField.MakeCopy(receiver[prop]);
@@ -393,16 +393,16 @@ export function updateFunction(target: any, prop: any, value: any, receiver: any
diff?.op === "$remFromSet" ?
{
redo: action(() => {
- diff.items.forEach((doc: any) => {
- const ind = receiver[prop].indexOf(doc.value());
+ diff.items.forEach((item: any) => {
+ const ind = receiver[prop].indexOf(item.value ? item.value() : item);
ind !== -1 && receiver[prop].splice(ind, 1);
});
lastValue = ObjectField.MakeCopy(receiver[prop]);
}),
undo: () => {
- diff.items.map((item: any) => {
- const ind = (prevValue as List<any>).indexOf(diff.items[0].value());
- ind !== -1 && receiver[prop].indexOf(diff.items[0].value()) === -1 && receiver[prop].splice(ind, 0, item);
+ diff.items.forEach((item: any) => {
+ const ind = (prevValue as List<any>).indexOf(item.value ? item.value() : item);
+ ind !== -1 && receiver[prop].indexOf(item.value ? item.value() : item) === -1 && receiver[prop].splice(ind, 0, item);
});
lastValue = ObjectField.MakeCopy(receiver[prop]);
}