aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/global
diff options
context:
space:
mode:
authoraidahosa1 <aisosa_idahosa@brown.edu>2024-06-27 14:06:22 -0400
committeraidahosa1 <aisosa_idahosa@brown.edu>2024-06-27 14:06:22 -0400
commit9b0fa4d5581942c54375c10e3887c8010d3eb5e4 (patch)
treedebbbfe19c8702322c3743923069aa7543f3c325 /src/client/views/global
parent3a3d4433e0b4bfc134370ba4938f22cbed61428b (diff)
time
Diffstat (limited to 'src/client/views/global')
-rw-r--r--src/client/views/global/globalScripts.ts80
1 files changed, 61 insertions, 19 deletions
diff --git a/src/client/views/global/globalScripts.ts b/src/client/views/global/globalScripts.ts
index 4239329dd..2ecde0eee 100644
--- a/src/client/views/global/globalScripts.ts
+++ b/src/client/views/global/globalScripts.ts
@@ -38,8 +38,10 @@ import { WebBox } from '../nodes/WebBox';
import { RichTextMenu } from '../nodes/formattedText/RichTextMenu';
import { NumListCast, StrListCast } from '../../../fields/Doc';
import { List } from '../../../fields/List';
-
+import { CollectionViewType } from '../../documents/DocumentTypes';
// import { InkTranscription } from '../InkTranscription';
+import { Docs } from '../../documents/Documents';
+import { CollectionSubView } from '../collections/CollectionSubView';
// eslint-disable-next-line prefer-arrow-callback
ScriptingGlobals.add(function IsNoneSelected() {
@@ -139,11 +141,11 @@ ScriptingGlobals.add(function showFreeform(attr: 'center' | 'grid' | 'snaplines'
const selected = DocumentView.SelectedDocs().lastElement();
function isAttrFiltered(attr: string) {
- return StrListCast(selected._childFilters).some(filter => filter.includes(attr))
+ return StrListCast(selected._childFilters).some(filter => filter.includes(attr));
}
// 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',
+ 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',
{
waitForRender?: boolean;
checkResult: (doc: Doc) => any;
@@ -219,7 +221,11 @@ ScriptingGlobals.add(function showFreeform(attr: 'center' | 'grid' | 'snaplines'
}
}],
['chat', {
- checkResult: (doc: Doc) => StrCast(doc?.cardSort) === "chat",
+ checkResult: (doc: Doc) => {
+
+ if (StrCast(doc?.cardSort) === "chat"){
+ return true
+ }} ,
setDoc: (doc: Doc, dv: DocumentView) => {
doc.cardSort === "chat" ? doc.cardSort = '' : doc.cardSort = 'chat';
},
@@ -236,6 +242,46 @@ ScriptingGlobals.add(function showFreeform(attr: 'center' | 'grid' | 'snaplines'
doc.cardSort_isDesc = true;
},
}],
+ ['pile', {
+ checkResult: (doc: Doc) => doc._type_collection == CollectionViewType.Freeform,
+ setDoc: (doc: Doc, dv: DocumentView) => {
+ doc._type_collection = CollectionViewType.Freeform;
+ const newCol = Docs.Create.CarouselDocument(DocListCast(doc[Doc.LayoutFieldKey(doc)]), {
+ _width: 250,
+ _height: 200,
+ _layout_fitWidth: false,
+ _layout_autoHeight: true,
+ });
+
+
+ const iconMap: { [key: number]: any } = {
+ 0: 'star',
+ 1: 'heart',
+ 2: 'cloud',
+ 3: 'bolt'
+ };
+
+ for (let i=0; i<4; i++){
+ if (isAttrFiltered(iconMap[i])){
+ newCol[iconMap[i]] = true
+ }
+ }
+
+ // if (doc.type == DocumentType.COL ) {
+ newCol && dv.ComponentView?.addDocument?.(newCol);
+ dv.ComponentView?._props.focus(newCol, {willPan: true , willZoomCentered: true, zoomScale: 200} )
+
+ // }
+ // doc as CollectionFreeFormView
+ // doc as typeof CollectionSubView
+
+ // doc._props
+
+ // CollectionFreeFormView.addDocumemnt
+
+ // doc?.addDocument; //this._props.addDocument(newCol)
+ },
+ }],
]);
if (checkResult) {
@@ -243,8 +289,6 @@ ScriptingGlobals.add(function showFreeform(attr: 'center' | 'grid' | 'snaplines'
}
const filters = StrListCast(selected._childFilters).concat(StrListCast(selected?._childFiltersByRanges).filter((filter, i) => !(i % 3)));
-
-
// console.log(filters.some(filter => filter.includes('star'))+ "SUOOOOPPP")
const batch = map.get(attr)?.waitForRender ? UndoManager.StartBatch('set freeform attribute') : { end: () => {} };
@@ -253,7 +297,6 @@ ScriptingGlobals.add(function showFreeform(attr: 'center' | 'grid' | 'snaplines'
return undefined;
});
-
ScriptingGlobals.add(function cardHasLabel(label: string) {
const selected = DocumentView.SelectedDocs().lastElement();
const labelNum = Number(label) - 1;
@@ -355,37 +398,36 @@ ScriptingGlobals.add(function setCardSort(value?: any, checkResult?: boolean) {
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";
+ console.log(StrCast(selected?.cardSort) + 'check');
+ const hi = StrCast(selected?.cardSort);
+ return StrCast(selected?.cardSortForDropDown) ?? 'Time';
}
-
+
function docFields(doc: Doc): void {
- switch(value){
+ switch (value) {
case 'Custom 1':
- doc.cardSort_customField = "like";
+ doc.cardSort_customField = 'like';
break;
case 'Custom 2':
- doc.cardSort_customField = "star";
+ doc.cardSort_customField = 'star';
break;
case 'Custom 3':
- doc.cardSort_customField = "idea";
+ doc.cardSort_customField = 'idea';
break;
case 'Chat GPT':
- doc.cardSort = "custom";
- doc.cardSort_customField = "chat";
+ 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
+ dv.Document.cardSortForDropDown = value;
if (value != 'Chat GPT') {
dv.Document.cardSort = value.trim().split(/\s+/)[0].toLowerCase();