aboutsummaryrefslogtreecommitdiff
path: root/src/client/util/DropConverter.ts
diff options
context:
space:
mode:
authoreleanor-park <eleanor_park@brown.edu>2024-08-27 16:44:12 -0400
committereleanor-park <eleanor_park@brown.edu>2024-08-27 16:44:12 -0400
commit39d2bba7bf4b0cc3759931691640083a48cce662 (patch)
tree8bf110760aa926237b6294aec545f48cfc92747d /src/client/util/DropConverter.ts
parent6f73686ec4dc3e01ae3eacc0150aa59eafea0325 (diff)
parentb8a04a0fedf8ef3612395764a0ecd01f6824ebd1 (diff)
Merge branch 'master' into eleanor-gptdraw
Diffstat (limited to 'src/client/util/DropConverter.ts')
-rw-r--r--src/client/util/DropConverter.ts13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/client/util/DropConverter.ts b/src/client/util/DropConverter.ts
index aa7268b61..57c79cff3 100644
--- a/src/client/util/DropConverter.ts
+++ b/src/client/util/DropConverter.ts
@@ -26,9 +26,10 @@ function makeTemplate(doc: Doc, first: boolean = true): boolean {
if (layoutDoc.layout instanceof Doc) {
return true; // its already a template
}
- const layout = StrCast(layoutDoc.layout).match(/fieldKey={'[^']*'}/)![0];
- const fieldKey = layout.replace("fieldKey={'", '').replace(/'}$/, '');
- const docs = DocListCast(layoutDoc[fieldKey]);
+ const layout = StrCast(layoutDoc.layout).match(/fieldKey={'[^']*'}/)?.[0];
+ const fieldKey = layout?.replace("fieldKey={'", '').replace(/'}$/, '');
+ const docData = fieldKey ? layoutDoc[fieldKey] : undefined;
+ const docs = DocListCast(docData);
let isTemplate = false;
docs.forEach(d => {
if (!StrCast(d.title).startsWith('-')) {
@@ -40,7 +41,7 @@ function makeTemplate(doc: Doc, first: boolean = true): boolean {
if (first && !docs.length) {
// bcz: feels hacky : if the root level document has items, it's not a field template
isTemplate = Doc.MakeMetadataFieldTemplate(doc, layoutDoc[DocData], true) || isTemplate;
- } else if (layoutDoc[fieldKey] instanceof RichTextField || layoutDoc[fieldKey] instanceof ImageField) {
+ } else if (docData instanceof RichTextField || docData instanceof ImageField) {
if (!StrCast(layoutDoc.title).startsWith('-')) {
isTemplate = Doc.MakeMetadataFieldTemplate(layoutDoc, layoutDoc[DocData], true);
}
@@ -136,8 +137,8 @@ export function convertDropDataToButtons(data: DragManager.DocumentDragData) {
}
ScriptingGlobals.add(
// eslint-disable-next-line prefer-arrow-callback
- function convertToButtons(dragData: any) {
- convertDropDataToButtons(dragData as DragManager.DocumentDragData);
+ function convertToButtons(dragData: DragManager.DocumentDragData) {
+ convertDropDataToButtons(dragData);
},
'converts the dropped data to buttons',
'(dragData: any)'