aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/global/globalScripts.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/views/global/globalScripts.ts')
-rw-r--r--src/client/views/global/globalScripts.ts201
1 files changed, 109 insertions, 92 deletions
diff --git a/src/client/views/global/globalScripts.ts b/src/client/views/global/globalScripts.ts
index 616633bc1..a48e3f9d9 100644
--- a/src/client/views/global/globalScripts.ts
+++ b/src/client/views/global/globalScripts.ts
@@ -1,10 +1,9 @@
import { Colors } from 'browndash-components';
import { action, runInAction } from 'mobx';
import { aggregateBounds } from '../../../Utils';
-import { Doc, DocListCast, NumListCast, Opt } from '../../../fields/Doc';
+import { Doc, DocListCast, Opt } from '../../../fields/Doc';
import { DocData } from '../../../fields/DocSymbols';
import { InkTool } from '../../../fields/InkField';
-import { List } from '../../../fields/List';
import { BoolCast, Cast, NumCast, StrCast } from '../../../fields/Types';
import { WebField } from '../../../fields/URLField';
import { Gestures } from '../../../pen-gestures/GestureTypes';
@@ -42,7 +41,9 @@ import { CollectionViewType } from '../../documents/DocumentTypes';
import { Docs } from '../../documents/Documents';
import { CollectionSubView } from '../collections/CollectionSubView';
import { GPTPopup, GPTPopupMode } from '../pdf/GPTPopup/GPTPopup';
-
+import { PropertiesView } from '../PropertiesView';
+import { MainView } from '../MainView';
+import { SnappingManager } from '../../util/SnappingManager';
// eslint-disable-next-line prefer-arrow-callback
ScriptingGlobals.add(function IsNoneSelected() {
return DocumentView.Selected().length <= 0;
@@ -145,7 +146,7 @@ ScriptingGlobals.add(function showFreeform(attr: 'center' | 'grid' | 'snaplines'
}
// prettier-ignore
- const map: Map<'flashcards' | 'center' | 'grid' | 'snaplines' | 'clusters' | 'arrange' | 'viewAll' | 'fitOnce' | 'time' | 'docType' | 'color' | 'heart' | 'star' | 'cloud' | 'bolt' | 'chat' | '1' | '2' | '3' | '4' | 'up' | 'down' | 'pile' | 'toggle-chat',
+ const map: Map<'flashcards' | 'center' | 'grid' | 'snaplines' | 'clusters' | 'arrange' | 'viewAll' | 'fitOnce' | 'time' | 'docType' | 'color' | 'chat' | 'up' | 'down' | 'pile' | 'toggle-chat',
{
waitForRender?: boolean;
checkResult: (doc: Doc) => any;
@@ -192,34 +193,34 @@ ScriptingGlobals.add(function showFreeform(attr: 'center' | 'grid' | 'snaplines'
checkResult: (doc: Doc) => StrCast(doc?.cardSort) === "color",
setDoc: (doc: Doc, dv: DocumentView) => doc.cardSort === "color" ? doc.cardSort = '' : doc.cardSort = 'color',
}],
- ['heart', {
- checkResult: (doc: Doc) => isAttrFiltered('heart'),
- setDoc: (doc: Doc, dv: DocumentView) => {
- isAttrFiltered('heart') ? Doc.setDocFilter(doc, 'heart', true, 'remove') : Doc.setDocFilter(doc, 'heart', true, 'match');
-
- }
- }],
- ['star', {
- checkResult: (doc: Doc) => isAttrFiltered('star'),
-
- setDoc: (doc: Doc, dv: DocumentView) => {
- isAttrFiltered('star') ? Doc.setDocFilter(doc, 'star', true, 'remove') : Doc.setDocFilter(doc, 'star', true, 'match');
- }
- }],
- ['bolt', {
- checkResult: (doc: Doc) => isAttrFiltered('bolt'),
- setDoc: (doc: Doc, dv: DocumentView) => {
- isAttrFiltered('bolt') ? Doc.setDocFilter(doc, 'bolt', true, 'remove') : Doc.setDocFilter(doc, 'bolt', true, 'match');
-
- }
- }],
- ['cloud', {
- checkResult: (doc: Doc) => isAttrFiltered('cloud'),
- setDoc: (doc: Doc, dv: DocumentView) => {
- isAttrFiltered('cloud') ? Doc.setDocFilter(doc, 'cloud', true, 'remove') : Doc.setDocFilter(doc, 'cloud', true, 'match');
-
- }
- }],
+ // ['heart', {
+ // checkResult: (doc: Doc) => isAttrFiltered('heart'),
+ // setDoc: (doc: Doc, dv: DocumentView) => {
+ // isAttrFiltered('heart') ? Doc.setDocFilter(doc, 'heart', true, 'remove') : Doc.setDocFilter(doc, 'heart', true, 'match');
+
+ // }
+ // }],
+ // ['star', {
+ // checkResult: (doc: Doc) => isAttrFiltered('star'),
+
+ // setDoc: (doc: Doc, dv: DocumentView) => {
+ // isAttrFiltered('star') ? Doc.setDocFilter(doc, 'star', true, 'remove') : Doc.setDocFilter(doc, 'star', true, 'match');
+ // }
+ // }],
+ // ['bolt', {
+ // checkResult: (doc: Doc) => isAttrFiltered('bolt'),
+ // setDoc: (doc: Doc, dv: DocumentView) => {
+ // isAttrFiltered('bolt') ? Doc.setDocFilter(doc, 'bolt', true, 'remove') : Doc.setDocFilter(doc, 'bolt', true, 'match');
+
+ // }
+ // }],
+ // ['cloud', {
+ // checkResult: (doc: Doc) => isAttrFiltered('cloud'),
+ // setDoc: (doc: Doc, dv: DocumentView) => {
+ // isAttrFiltered('cloud') ? Doc.setDocFilter(doc, 'cloud', true, 'remove') : Doc.setDocFilter(doc, 'cloud', true, 'match');
+
+ // }
+ // }],
['chat', {
checkResult: (doc: Doc) => {
@@ -275,20 +276,9 @@ ScriptingGlobals.add(function showFreeform(attr: 'center' | 'grid' | 'snaplines'
}
}
- // if (doc.type == DocumentType.COL ) {
newCol && dv.ComponentView?.addDocument?.(newCol);
- // dv.ComponentView?._props.focus(newCol, {willPan: true , willZoomCentered: true, zoomScale: 200} )
DocumentView.showDocument(newCol, { willZoomCentered: true })
- // }
- // doc as CollectionFreeFormView
- // doc as typeof CollectionSubView
-
- // doc._props
-
- // CollectionFreeFormView.addDocumemnt
-
- // doc?.addDocument; //this._props.addDocument(newCol)
},
}],
]);
@@ -306,11 +296,40 @@ ScriptingGlobals.add(function showFreeform(attr: 'center' | 'grid' | 'snaplines'
return undefined;
});
-ScriptingGlobals.add(function cardHasLabel(label: string) {
+
+ScriptingGlobals.add(function handleTags(value?: any, checkResult?: boolean) {
const selected = DocumentView.SelectedDocs().lastElement();
- const labelNum = Number(label) - 1;
- return labelNum < 4 || (selected && DocListCast(selected[Doc.LayoutFieldKey(selected)]).some(doc => doc[StrCast(selected.cardSort_customField)] == labelNum));
-}, '');
+
+ function isAttrFiltered(attr: string) {
+ return StrListCast(selected._childFilters).some(filter => filter.includes(attr));
+ }
+
+ if (checkResult) {
+ return value=== 'opts' ? PropertiesView.Instance.openFilters : isAttrFiltered(value)
+ }
+
+ if (value != 'opts'){
+ isAttrFiltered(value) ? Doc.setDocFilter(selected, value, true, 'remove') : Doc.setDocFilter(selected, value, true, 'match');
+ }
+ else {
+ SnappingManager.PropertiesWidth < 5 && SnappingManager.SetPropertiesWidth(0);
+ SnappingManager.SetPropertiesWidth(MainView.Instance.propertiesWidth() < 15 ? Math.min(MainView.Instance._dashUIWidth - 50, 250) : 0);
+
+ PropertiesView.Instance.CloseAll()
+ PropertiesView.Instance.openFilters = true
+ }
+
+
+ return undefined;
+ }, '');
+
+
+
+// ScriptingGlobals.add(function cardHasLabel(label: string) {
+// const selected = DocumentView.SelectedDocs().lastElement();
+// const labelNum = Number(label) - 1;
+// return labelNum < 4 || (selected && DocListCast(selected[Doc.LayoutFieldKey(selected)]).some(doc => doc[StrCast(selected.cardSort_customField)] == labelNum));
+// }, '');
// ScriptingGlobals.add(function setCardSort(attr: "Time" | "Type"| "Color"| "ChatGPT"| "Custom 1"| "Custom 2"| "Custom 3", value?: any, checkResult?: boolean) {
// // const editorView = RichTextMenu.Instance?.TextView?.EditorView;
@@ -400,55 +419,53 @@ ScriptingGlobals.add(function cardHasLabel(label: string) {
// // return undefined;
// });
-ScriptingGlobals.add(function setCardSort(value?: any, checkResult?: boolean) {
- // const editorView = RichTextMenu.Instance?.TextView?.EditorView;
- const selected = DocumentView.SelectedDocs().lastElement();
-
- if (checkResult) {
- // console.log(attr + "attricute")
- // console.log(map.get(attr)?.checkResult(selected) + "check result")
- console.log(StrCast(selected?.cardSort) + 'check');
- const hi = StrCast(selected?.cardSort);
- return StrCast(selected?.cardSortForDropDown) ?? 'Time';
- }
-
- function docFields(doc: Doc): void {
- switch (value) {
- case 'Custom 1':
- doc.cardSort_customField = 'like';
- break;
- case 'Custom 2':
- doc.cardSort_customField = 'star';
- break;
- case 'Custom 3':
- doc.cardSort_customField = 'idea';
- break;
- case 'Chat GPT':
- doc.cardSort = 'custom';
- doc.cardSort_customField = 'chat';
- break;
- default:
- break;
- }
-
- doc.cardSort_visibleSortGroups = new List<number>();
- }
+// ScriptingGlobals.add(function setCardSort(value?: any, checkResult?: boolean) {
+// // const editorView = RichTextMenu.Instance?.TextView?.EditorView;
+// const selected = DocumentView.SelectedDocs().lastElement();
+// if (checkResult) {
+// // console.log(attr + "attricute")
+// // console.log(map.get(attr)?.checkResult(selected) + "check result")
+// console.log(StrCast(selected?.cardSort) + 'check');
+// const hi = StrCast(selected?.cardSort);
+// return StrCast(selected?.cardSortForDropDown) ?? 'Time';
+// }
+// function docFields(doc: Doc): void {
+// switch (value) {
+// case 'Custom 1':
+// doc.cardSort_customField = 'like';
+// break;
+// case 'Custom 2':
+// doc.cardSort_customField = 'star';
+// break;
+// case 'Custom 3':
+// doc.cardSort_customField = 'idea';
+// break;
+// case 'Chat GPT':
+// doc.cardSort = 'custom';
+// doc.cardSort_customField = 'chat';
+// break;
+// default:
+// break;
+// }
+
+// doc.cardSort_visibleSortGroups = new List<number>();
+// }
- // const batch = map.get(attr)?.waitForRender ? UndoManager.StartBatch('set freeform attribute') : { end: () => {} };
- DocumentView.Selected().map(dv => {
- dv.Document.cardSortForDropDown = value;
+// // const batch = map.get(attr)?.waitForRender ? UndoManager.StartBatch('set freeform attribute') : { end: () => {} };
+// DocumentView.Selected().map(dv => {
+// dv.Document.cardSortForDropDown = value;
- if (value != 'Chat GPT') {
- dv.Document.cardSort = value.trim().split(/\s+/)[0].toLowerCase();
- }
- docFields(dv.Document);
- });
+// if (value != 'Chat GPT') {
+// dv.Document.cardSort = value.trim().split(/\s+/)[0].toLowerCase();
+// }
+// docFields(dv.Document);
+// });
- return undefined;
+// return undefined;
- // map.get(attr)?.setDoc?.();
- // return undefined;
-});
+// // map.get(attr)?.setDoc?.();
+// // return undefined;
+// });
// ScriptingGlobals.add(function setCardSortAttr(attr: 'time' | 'docType' | 'color', value: any, checkResult?: boolean) {
// // const editorView = RichTextMenu.Instance?.TextView?.EditorView;