aboutsummaryrefslogtreecommitdiff
path: root/src/fields/Doc.ts
diff options
context:
space:
mode:
authorgeireann <60007097+geireann@users.noreply.github.com>2020-07-21 15:02:02 +0800
committergeireann <60007097+geireann@users.noreply.github.com>2020-07-21 15:02:02 +0800
commitf82682f6136ae61902b807c5e52a14c69bcc64ff (patch)
treed7466124d28e0551cd92643cf5cc9cf919bb01ff /src/fields/Doc.ts
parentad6762c369fd0933326579707ecbc34fda42ab6c (diff)
parentd21ef189f2c160d3d80a5cf7d824c314262a59ac (diff)
merge with master
Diffstat (limited to 'src/fields/Doc.ts')
-rw-r--r--src/fields/Doc.ts9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/fields/Doc.ts b/src/fields/Doc.ts
index 7aa1d528d..3ad9f4e41 100644
--- a/src/fields/Doc.ts
+++ b/src/fields/Doc.ts
@@ -899,9 +899,12 @@ export namespace Doc {
}
export function getDocTemplate(doc?: Doc) {
- return doc?.isTemplateDoc ? doc :
- Cast(doc?.dragFactory, Doc, null)?.isTemplateDoc ? doc?.dragFactory :
- Cast(doc?.layout, Doc, null)?.isTemplateDoc ? doc?.layout : undefined;
+ return !doc ? undefined :
+ doc.isTemplateDoc ? doc :
+ Cast(doc.dragFactory, Doc, null)?.isTemplateDoc ? doc.dragFactory :
+ Cast(Doc.Layout(doc), Doc, null)?.isTemplateDoc ?
+ (Cast(Doc.Layout(doc), Doc, null).resolvedDataDoc ? Doc.Layout(doc).proto : Doc.Layout(doc)) :
+ undefined;
}
export function matchFieldValue(doc: Doc, key: string, value: any): boolean {