aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbob <bcz@cs.brown.edu>2020-01-24 17:33:32 -0500
committerbob <bcz@cs.brown.edu>2020-01-24 17:33:32 -0500
commit15cb130178872d73b0c4939e4eca4f0eb21ed9f0 (patch)
treeebb93d1026c4c1f4087a47d893c51018e20bf29d /src
parent34ba9b8c3ce48c51dfb1d330d5285e0eadf92030 (diff)
fixed imagebox dropping for empty image templates.
Diffstat (limited to 'src')
-rw-r--r--src/client/views/nodes/ImageBox.tsx17
-rw-r--r--src/new_fields/Doc.ts3
2 files changed, 11 insertions, 9 deletions
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<FieldViewProps, ImageDocum
@action
drop = (e: Event, de: DragManager.DropEvent) => {
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;
}