From 05845fa3e5a6d71a58845d058a15233ccf6d72c0 Mon Sep 17 00:00:00 2001 From: bobzel Date: Wed, 11 Jun 2025 13:01:44 -0400 Subject: refactor unwrapPlaceholder duplicated code to DocUtils. --- src/client/documents/DocUtils.ts | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/client/documents') diff --git a/src/client/documents/DocUtils.ts b/src/client/documents/DocUtils.ts index dee929c89..9704867d5 100644 --- a/src/client/documents/DocUtils.ts +++ b/src/client/documents/DocUtils.ts @@ -587,6 +587,15 @@ export namespace DocUtils { doc.onClick = FollowLinkScript(); } + /** + * iterate through all items and their children and return a flat list of leaf placeholder content Docs + * @param items + * @returns list of placeholder content Docs + */ + export function unwrapPlaceholders(items: Doc[]): Doc[] { + return items.flatMap(d => (d.$type === DocumentType.COL ? unwrapPlaceholders(DocListCast(d[Doc.LayoutDataKey(d)])) : [d])); + } + export function LeavePushpin(doc: Doc, annotationField: string) { if (doc.followLinkToggle) return undefined; const context = Cast(doc.embedContainer, Doc, null) ?? Cast(doc.annotationOn, Doc, null); -- cgit v1.2.3-70-g09d2