aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/global/globalScripts.ts
diff options
context:
space:
mode:
authorbobzel <zzzman@gmail.com>2024-05-18 22:57:22 -0400
committerbobzel <zzzman@gmail.com>2024-05-18 22:57:22 -0400
commit38d2d361aa723917b5721e2635933d2d8b9f483a (patch)
tree979046937c01e9c751016f03dc2895dd15b056a3 /src/client/views/global/globalScripts.ts
parent57f0d29c0a783bfa797b8e5584bbf800a1f076de (diff)
updated cardDeckView code
Diffstat (limited to 'src/client/views/global/globalScripts.ts')
-rw-r--r--src/client/views/global/globalScripts.ts105
1 files changed, 31 insertions, 74 deletions
diff --git a/src/client/views/global/globalScripts.ts b/src/client/views/global/globalScripts.ts
index 496d7482c..35a3a2e31 100644
--- a/src/client/views/global/globalScripts.ts
+++ b/src/client/views/global/globalScripts.ts
@@ -1,7 +1,7 @@
import { Colors } from 'browndash-components';
import { action, runInAction } from 'mobx';
import { aggregateBounds } from '../../../Utils';
-import { Doc, Opt } from '../../../fields/Doc';
+import { Doc, DocListCast, Opt } from '../../../fields/Doc';
import { InkTool } from '../../../fields/InkField';
import { BoolCast, Cast, NumCast, StrCast } from '../../../fields/Types';
import { WebField } from '../../../fields/URLField';
@@ -106,17 +106,15 @@ ScriptingGlobals.add(function toggleOverlay(checkResult?: boolean) {
selected ? selected.CollectionFreeFormDocumentView?.float() : console.log('[FontIconBox.tsx] toggleOverlay failed');
});
-
-
ScriptingGlobals.add(function showFreeform(
- attr: 'flashcards' | 'center' | 'grid' | 'snaplines' | 'clusters' | 'arrange' | 'viewAll' | 'fitOnce' | 'time' | 'docType' | 'color' | 'links' | 'custom1' | 'custom2' | 'custom3' | 'chat' | '1' | '2' | '3' | '4',
+ attr: 'flashcards' | 'center' | 'grid' | 'snaplines' | 'clusters' | 'arrange' | 'viewAll' | 'fitOnce' | 'time' | 'docType' | 'color' | 'links' | 'like' | 'star' | 'idea' | 'chat' | '1' | '2' | '3' | '4',
checkResult?: boolean,
persist?: boolean,
isDoubleClick?: boolean
) {
const selected = SelectionManager.Docs.lastElement();
// prettier-ignore
- const map: Map<'flashcards' | 'center' | 'grid' | 'snaplines' | 'clusters' | 'arrange' | 'viewAll' | 'fitOnce' | 'time' | 'docType' | 'color' | 'links' | 'custom1' | 'custom2' | 'custom3' | 'chat' | '1' | '2' | '3' | '4',
+ const map: Map<'flashcards' | 'center' | 'grid' | 'snaplines' | 'clusters' | 'arrange' | 'viewAll' | 'fitOnce' | 'time' | 'docType' | 'color' | 'links' | 'like' | 'star' | 'idea' | 'chat' | '1' | '2' | '3' | '4',
{
waitForRender?: boolean;
checkResult: (doc: Doc) => any;
@@ -167,87 +165,48 @@ ScriptingGlobals.add(function showFreeform(
checkResult: (doc: Doc) => StrCast(doc?.cardSort) === "links",
setDoc: (doc: Doc, dv: DocumentView) => doc.cardSort = "links",
}],
- ['custom1', {
- checkResult: (doc: Doc) => StrCast(doc?.cardSort) === "custom" && NumCast(doc?.customSortNumber) === 0,
+ ['like', {
+ checkResult: (doc: Doc) => StrCast(doc?.cardSort) === "custom" && StrCast(doc?.customSortField) === "like",
setDoc: (doc: Doc, dv: DocumentView) => {
doc.cardSort = "custom";
- doc.customSortNumber = 0;
+ doc.customSortField = "like";
doc.visibleGroupNumbers = new List<number>();
}
}],
- ['custom2', {
- checkResult: (doc: Doc) => StrCast(doc?.cardSort) === "custom" && NumCast(doc?.customSortNumber) === 1,
+ ['star', {
+ checkResult: (doc: Doc) => StrCast(doc?.cardSort) === "custom" && StrCast(doc?.customSortField) === "star",
setDoc: (doc: Doc, dv: DocumentView) => {
doc.cardSort = "custom";
- doc.customSortNumber = 1;
+ doc.customSortField = "star";
doc.visibleGroupNumbers = new List<number>();
}
}],
- ['custom3', {
- checkResult: (doc: Doc) => StrCast(doc?.cardSort) === "custom" && NumCast(doc?.customSortNumber) === 2,
+ ['idea', {
+ checkResult: (doc: Doc) => StrCast(doc?.cardSort) === "custom" && StrCast(doc?.customSortField) === "idea",
setDoc: (doc: Doc, dv: DocumentView) => {
doc.cardSort = "custom";
- doc.customSortNumber = 2;
+ doc.customSortField = "idea";
doc.visibleGroupNumbers = new List<number>();
}
}],
['chat', {
- checkResult: (doc: Doc) => StrCast(doc?.cardSort) === "chat",
- setDoc: (doc: Doc, dv: DocumentView) => doc.cardSort = "chat",
- }],
- ['1', {
- checkResult: (doc: Doc) => NumListCast(doc?.visibleGroupNumbers).includes(0),
- setDoc: (doc: Doc, dv: DocumentView) => {
- let list = NumListCast(doc.visibleGroupNumbers);
- if (list.includes(0)) {
- let newList = new List<number>(list.filter(d => d !== 0));
- doc.visibleGroupNumbers = newList;
- } else {
- list.push(0);
- doc.visibleGroupNumbers = new List<number>(list);
- }
- }
- }],
- ['2', {
- checkResult: (doc: Doc) => NumListCast(doc?.visibleGroupNumbers).includes(1),
- setDoc: (doc: Doc, dv: DocumentView) => {
- let list = NumListCast(doc.visibleGroupNumbers);
- if (list.includes(1)) {
- let newList = new List<number>(list.filter(d => d !== 1));
- doc.visibleGroupNumbers = newList;
- } else {
- list.push(1);
- doc.visibleGroupNumbers = new List<number>(list);
- }
- }
- }],
- ['3', {
- checkResult: (doc: Doc) => NumListCast(doc?.visibleGroupNumbers).includes(2),
- setDoc: (doc: Doc, dv: DocumentView) => {
- let list = NumListCast(doc.visibleGroupNumbers);
- if (list.includes(2)) {
- let newList = new List<number>(list.filter(d => d !== 2));
- doc.visibleGroupNumbers = newList;
- } else {
- list.push(2);
- doc.visibleGroupNumbers = new List<number>(list);
- }
- }
- }],
- ['4', {
- checkResult: (doc: Doc) => NumListCast(doc?.visibleGroupNumbers).includes(3),
+ checkResult: (doc: Doc) => StrCast(doc?.cardSort) === "custom" && StrCast(doc?.customSortField) === "chat",
setDoc: (doc: Doc, dv: DocumentView) => {
- let list = NumListCast(doc.visibleGroupNumbers);
- if (list.includes(3)) {
- let newList = new List<number>(list.filter(d => d !== 3));
- doc.visibleGroupNumbers = newList;
- } else {
- list.push(3);
- doc.visibleGroupNumbers = new List<number>(list);
- }
- }
+ doc.cardSort = "custom";
+ doc.customSortField = "chat";
+ doc.visibleGroupNumbers = new List<number>();
+ },
}],
]);
+ for (let i = 0; i < 8; i++) {
+ map.set((i + 1 + '') as any, {
+ checkResult: (doc: Doc) => NumListCast(doc?.visibleGroupNumbers).includes(i),
+ setDoc: (doc: Doc, dv: DocumentView) => {
+ const list = NumListCast(doc.visibleGroupNumbers);
+ doc.visibleGroupNumbers = new List<number>(list.includes(i) ? list.filter(d => d !== i) : [...list, i]);
+ },
+ });
+ }
if (checkResult) {
return map.get(attr)?.checkResult(selected);
@@ -257,13 +216,11 @@ ScriptingGlobals.add(function showFreeform(
setTimeout(() => batch.end(), 100);
});
-
-ScriptingGlobals.add(function isThatCardGroup(n: number){
- const canvas = SelectionManager.Docs.lastElement();
- return canvas.customSortNumber == n
-
-
-})
+ScriptingGlobals.add(function cardHasLabel(label: string) {
+ const selected = SelectionManager.Docs.lastElement();
+ const labelNum = Number(label) - 1;
+ return labelNum < 4 || (selected && DocListCast(selected[Doc.LayoutFieldKey(selected)]).some(doc => doc[StrCast(selected.customSortField)] == labelNum));
+}, '');
// ScriptingGlobals.add(function setCardSortAttr(attr: 'time' | 'docType' | 'color', value: any, checkResult?: boolean) {
// // const editorView = RichTextMenu.Instance?.TextView?.EditorView;