From 15cb130178872d73b0c4939e4eca4f0eb21ed9f0 Mon Sep 17 00:00:00 2001 From: bob Date: Fri, 24 Jan 2020 17:33:32 -0500 Subject: fixed imagebox dropping for empty image templates. --- src/client/views/nodes/ImageBox.tsx | 17 ++++++++++------- src/new_fields/Doc.ts | 3 +-- 2 files changed, 11 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/client/views/nodes/ImageBox.tsx b/src/client/views/nodes/ImageBox.tsx index 03753e9d3..29b0e912d 100644 --- a/src/client/views/nodes/ImageBox.tsx +++ b/src/client/views/nodes/ImageBox.tsx @@ -73,14 +73,17 @@ export class ImageBox extends DocAnnotatableComponent { if (de.complete.docDragData) { - if (de.altKey && de.complete.docDragData.draggedDocuments.length && de.complete.docDragData.draggedDocuments[0].data instanceof ImageField) { - Doc.GetProto(this.dataDoc)[this.props.fieldKey] = new ImageField(de.complete.docDragData.draggedDocuments[0].data.url); - e.stopPropagation(); + if (de.metaKey) { + de.complete.docDragData.droppedDocuments.forEach(action((drop: Doc) => { + Doc.AddDocToList(this.dataDoc, this.props.fieldKey + "-alternates", drop); + e.stopPropagation(); + })); + } else if (de.altKey || !this.dataDoc[this.props.fieldKey]) { + if (de.complete.docDragData.draggedDocuments?.[0].data instanceof ImageField) { + this.dataDoc[this.props.fieldKey] = new ImageField(de.complete.docDragData.draggedDocuments[0].data.url); + e.stopPropagation(); + } } - de.metaKey && de.complete.docDragData.droppedDocuments.forEach(action((drop: Doc) => { - Doc.AddDocToList(this.dataDoc, this.props.fieldKey + "-alternates", drop); - e.stopPropagation(); - })); } } diff --git a/src/new_fields/Doc.ts b/src/new_fields/Doc.ts index b30e84370..913b4f9e5 100644 --- a/src/new_fields/Doc.ts +++ b/src/new_fields/Doc.ts @@ -424,8 +424,7 @@ export namespace Doc { if (layout instanceof Doc && layout !== alias) { Doc.SetLayout(alias, Doc.MakeAlias(layout)); } - const aliasNumber = 1;//Doc.GetProto(doc).aliasNumber = NumCast(Doc.GetProto(doc).aliasNumber) + 1; - alias.title = ComputedField.MakeFunction(`renameAlias(this, ${aliasNumber})`); + alias.title = ComputedField.MakeFunction(`renameAlias(this, ${Doc.GetProto(doc).aliasNumber = NumCast(Doc.GetProto(doc).aliasNumber) + 1})`); return alias; } -- cgit v1.2.3-70-g09d2