diff options
| author | bobzel <zzzman@gmail.com> | 2021-03-12 22:18:10 -0500 |
|---|---|---|
| committer | bobzel <zzzman@gmail.com> | 2021-03-12 22:18:10 -0500 |
| commit | b18d4d2b9a4a624e61116642d4dbfe9a53437d0c (patch) | |
| tree | 95ad9705ebcff19597f8422a67918e53708daf7d /src/client/views/collections/CollectionDockingView.tsx | |
| parent | 86d5114cfc8b541438dcbdfb059693763c78a986 (diff) | |
prevent anything but Docs from being written to offScreenTabs. fixed tabs to activate an unrendered tab when it is uncovered for the first time.
Diffstat (limited to 'src/client/views/collections/CollectionDockingView.tsx')
| -rw-r--r-- | src/client/views/collections/CollectionDockingView.tsx | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/client/views/collections/CollectionDockingView.tsx b/src/client/views/collections/CollectionDockingView.tsx index 5da75b1b7..3556e74bc 100644 --- a/src/client/views/collections/CollectionDockingView.tsx +++ b/src/client/views/collections/CollectionDockingView.tsx @@ -372,16 +372,17 @@ export class CollectionDockingView extends CollectionSubView(doc => doc) { this.props.Document.dockingConfig = json; setTimeout(async () => { - const sublists = DocListCast(this.props.Document[this.props.fieldKey]); - const tabs = Cast(sublists[0], Doc, null); - const other = Cast(sublists[1], Doc, null); + const sublists = await DocListCastAsync(this.props.Document[this.props.fieldKey]); + const tabs = sublists && Cast(sublists[0], Doc, null); + const other = sublists && Cast(sublists[1], Doc, null); const tabdocs = await DocListCastAsync(tabs?.data); const otherdocs = await DocListCastAsync(other?.data); tabs && (Doc.GetProto(tabs).data = new List<Doc>(docs)); const otherSet = new Set<Doc>(); otherdocs?.filter(doc => !docs.includes(doc)).forEach(doc => otherSet.add(doc)); tabdocs?.filter(doc => !docs.includes(doc) && doc.type !== DocumentType.KVP).forEach(doc => otherSet.add(doc)); - other && (Doc.GetProto(other).data = new List<Doc>(Array.from(otherSet.values()))); + const vals = Array.from(otherSet.values()).filter(val => val instanceof Doc).map(d => d as Doc).filter(d => d.type !== DocumentType.KVP); + other && (Doc.GetProto(other).data = new List<Doc>(vals)); }, 0); } |
