aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/nodes/ChatBox/tools.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/views/nodes/ChatBox/tools.ts')
-rw-r--r--src/client/views/nodes/ChatBox/tools.ts26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/client/views/nodes/ChatBox/tools.ts b/src/client/views/nodes/ChatBox/tools.ts
new file mode 100644
index 000000000..4035280a8
--- /dev/null
+++ b/src/client/views/nodes/ChatBox/tools.ts
@@ -0,0 +1,26 @@
+import { DocCast } from '../../../../fields/Types';
+import { DocServer } from '../../../DocServer';
+import { Docs } from '../../../documents/Documents';
+import { DocUtils } from '../../../documents/DocUtils';
+import { TabDocView } from '../../collections/TabDocView';
+import { DocumentView } from '../DocumentView';
+import { OpenWhere } from '../OpenWhere';
+
+export function retrieval(json: any): string {
+ return '';
+}
+
+export function create_collection(docView: DocumentView, document_ids: string[], title: string): string {
+ const docs = document_ids.map(doc_id => DocCast(DocServer.GetCachedRefField(doc_id)));
+ const collection = Docs.Create.FreeformDocument(docs, { title });
+ docView._props.addDocTab(collection, OpenWhere.addRight); //in future, create popup prompting user where to add
+ return 'Collection created in Dash called ' + title;
+}
+
+export function create_link(docView: DocumentView, document_ids: string[]): string {
+ //Make document_ids a size 2 array
+ const docs = document_ids.map(doc_id => DocCast(DocServer.GetCachedRefField(doc_id)));
+ const linkDoc = DocUtils.MakeLink(docs[0], docs[1], {})!;
+ DocumentView.linkCommonAncestor(linkDoc)?.ComponentView?.addDocument?.(linkDoc);
+ return 'Link created between ' + docs[0].title + ' and ' + docs[1].title;
+}