From c3ca0179b8a5672037d27af59faf64a50fe4f097 Mon Sep 17 00:00:00 2001 From: srichman333 Date: Mon, 27 Nov 2023 02:05:29 -0500 Subject: schema to dataviz --- .../collectionFreeForm/CollectionFreeFormView.tsx | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx') diff --git a/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx b/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx index e350c35cc..04e5ebb2c 100644 --- a/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx +++ b/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx @@ -1973,3 +1973,27 @@ ScriptingGlobals.add(function bringToFront() { ScriptingGlobals.add(function sendToBack(doc: Doc) { SelectionManager.Views().forEach(view => view.CollectionFreeFormView?.bringToFront(view.rootDoc, true)); }); +ScriptingGlobals.add(function datavizFromSchema(doc: Doc) { + SelectionManager.Views().forEach(view => { + const keys = Cast(view.rootDoc.schema_columnKeys, listSpec('string'))?.filter(key => key!="text"); + + if (!keys) return; + const children = DocListCast(view.rootDoc[Doc.LayoutFieldKey(view.rootDoc)]); + let csvRows = []; + csvRows.push(keys.join(',')); + for (let i=0; i < children.length; i++) { + let eachRow = []; + for (let j=0; j