aboutsummaryrefslogtreecommitdiff
path: root/src/client/util/DropConverter.ts
diff options
context:
space:
mode:
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 0314af06b..eb2011b77 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);
}
@@ -110,8 +111,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)'