From 9badfc489f00afd10489f0dde0a3b9e21817feb5 Mon Sep 17 00:00:00 2001 From: bobzel Date: Sat, 18 May 2024 23:15:49 -0400 Subject: more cardView cleanup --- .../views/collections/CollectionCardDeckView.tsx | 20 ++++++++--------- src/client/views/collections/CollectionMenu.tsx | 2 -- src/client/views/collections/CollectionView.tsx | 2 -- .../CollectionFreeFormLayoutEngines.tsx | 26 ---------------------- .../collectionFreeForm/CollectionFreeFormView.tsx | 8 ++----- .../collections/collectionFreeForm/MarqueeView.tsx | 19 ++-------------- .../collectionSchema/CollectionSchemaView.tsx | 2 +- 7 files changed, 15 insertions(+), 64 deletions(-) (limited to 'src/client/views/collections') diff --git a/src/client/views/collections/CollectionCardDeckView.tsx b/src/client/views/collections/CollectionCardDeckView.tsx index 9e5668ffa..5f8ddd5c1 100644 --- a/src/client/views/collections/CollectionCardDeckView.tsx +++ b/src/client/views/collections/CollectionCardDeckView.tsx @@ -75,7 +75,7 @@ export class CollectionCardView extends CollectionSubView() { componentDidMount(): void { this._disposers.sort = reaction( - () => ({ cardSort: this.cardSort, field: this.customSortField }), + () => ({ cardSort: this.cardSort, field: this.cardSort_customField }), ({ cardSort, field }) => (cardSort === cardSortings.Custom && field === 'chat' ? this.openChatPopup() : GPTPopup.Instance.setVisible(false)) ); } @@ -85,8 +85,8 @@ export class CollectionCardView extends CollectionSubView() { this._dropDisposer?.(); } - @computed get customSortField() { - return StrCast(this.Document.customSortField) as any as 'chat' | 'star' | 'idea' | 'like'; + @computed get cardSort_customField() { + return StrCast(this.Document.cardSort_customField) as any as 'chat' | 'star' | 'idea' | 'like'; } @computed get cardSort() { @@ -115,12 +115,12 @@ export class CollectionCardView extends CollectionSubView() { */ @computed get childDocsWithoutLinks() { const regularDocs = this.childDocs.filter(l => l.type !== DocumentType.LINK); - const activeGroups = NumListCast(this.Document.visibleGroupNumbers); + const activeGroups = NumListCast(this.Document.cardSort_visibleSortGroups); if (activeGroups.length > 0 && this.cardSort === cardSortings.Custom) { return regularDocs.filter(doc => { // Get the group number for the current index - const groupNumber = CollectionCardView.getButtonGroup(this.customSortField, doc); + const groupNumber = CollectionCardView.getButtonGroup(this.cardSort_customField, doc); // Check if the group number is in the active groups return groupNumber !== undefined && activeGroups.includes(groupNumber); }); @@ -245,8 +245,8 @@ export class CollectionCardView extends CollectionSubView() { return [DashColor(StrCast(docA.backgroundColor)).hsv().toString(), // If docA.type is undefined, use an empty string DashColor(StrCast(docB.backgroundColor)).hsv().toString()]; // If docB.type is undefined, use an empty string case cardSortings.Custom: - return [CollectionCardView.getButtonGroup(this.customSortField, docA)??0, - CollectionCardView.getButtonGroup(this.customSortField, docB)??0]; + return [CollectionCardView.getButtonGroup(this.cardSort_customField, docA)??0, + CollectionCardView.getButtonGroup(this.cardSort_customField, docB)??0]; default: return [StrCast(docA.type), // If docA.type is undefined, use an empty string StrCast(docB.type)]; // If docB.type is undefined, use an empty string } // prettier-ignore @@ -335,7 +335,7 @@ export class CollectionCardView extends CollectionSubView() { * @param buttonID * @param doc */ - toggleButton = undoable((buttonID: number, doc: Doc) => this.customSortField && (doc[this.customSortField] = buttonID), 'toggle custom button'); + toggleButton = undoable((buttonID: number, doc: Doc) => this.cardSort_customField && (doc[this.cardSort_customField] = buttonID), 'toggle custom button'); /** * A list of the text content of all the child docs. RTF documents will have just their text and pdf documents will have the first 50 words. @@ -422,8 +422,8 @@ export class CollectionCardView extends CollectionSubView() { */ renderButtons = (doc: Doc, cardSort: cardSortings) => { if (cardSort !== cardSortings.Custom) return ''; - const amButtons = Math.max(4, this.childDocs?.reduce((set, doc) => this.customSortField && set.add(NumCast(doc[this.customSortField])), new Set()).size ?? 0); - const activeButtonIndex = CollectionCardView.getButtonGroup(this.customSortField, doc); + const amButtons = Math.max(4, this.childDocs?.reduce((set, doc) => this.cardSort_customField && set.add(NumCast(doc[this.cardSort_customField])), new Set()).size ?? 0); + const activeButtonIndex = CollectionCardView.getButtonGroup(this.cardSort_customField, doc); const totalWidth = amButtons * 35 + amButtons * 2 * 5 + 6; return (
diff --git a/src/client/views/collections/CollectionMenu.tsx b/src/client/views/collections/CollectionMenu.tsx index 81d9f4eea..94896f277 100644 --- a/src/client/views/collections/CollectionMenu.tsx +++ b/src/client/views/collections/CollectionMenu.tsx @@ -321,8 +321,6 @@ export class CollectionViewBaseChrome extends React.Component(); diff --git a/src/client/views/collections/CollectionView.tsx b/src/client/views/collections/CollectionView.tsx index b7805bf3f..97a0b7bef 100644 --- a/src/client/views/collections/CollectionView.tsx +++ b/src/client/views/collections/CollectionView.tsx @@ -137,8 +137,6 @@ export class CollectionView extends ViewBoxAnnotatableComponent; case CollectionViewType.Grid: return ; case CollectionViewType.Card: return ; - - } }; diff --git a/src/client/views/collections/collectionFreeForm/CollectionFreeFormLayoutEngines.tsx b/src/client/views/collections/collectionFreeForm/CollectionFreeFormLayoutEngines.tsx index 22005eb23..c83c26509 100644 --- a/src/client/views/collections/collectionFreeForm/CollectionFreeFormLayoutEngines.tsx +++ b/src/client/views/collections/collectionFreeForm/CollectionFreeFormLayoutEngines.tsx @@ -125,32 +125,6 @@ export function computeStarburstLayout(poolData: Map, pivotDoc return normalizeResults(burstDiam, 12, docMap, poolData, viewDefsToJSX, [], 0, [divider]); } -// export function computeCardDeckLayout(poolData: Map, pivotDoc: Doc, childPairs: { layout: Doc; data?: Doc }[], panelDim: number[], viewDefsToJSX: (views: ViewDefBounds[]) => ViewDefResult[], engineProps: any) { -// const docMap = new Map(); -// const burstDiam = [NumCast(pivotDoc._width), NumCast(pivotDoc._height)]; -// const burstScale = NumCast(pivotDoc._starburstDocScale, 1); - -// childPairs.forEach(({ layout, data }, i) => { -// const aspect = NumCast(layout._height) / NumCast(layout._width); -// const docSize = Math.min(Math.min(400, NumCast(layout._width)), Math.min(400, NumCast(layout._width)) / aspect) * burstScale; -// const deg = (i / childPairs.length) * Math.PI * 2; -// docMap.set(layout[Id], { -// x: Math.min(burstDiam[0] / 2 - docSize, Math.max(-burstDiam[0] / 2, (Math.cos(deg) * burstDiam[0]) / 2 - docSize / 2)), -// y: Math.min(burstDiam[1] / 2 - docSize * aspect, Math.max(-burstDiam[1] / 2, (Math.sin(deg) * burstDiam[1]) / 2 - (docSize / 2) * aspect)), -// width: docSize, -// height: docSize * aspect, -// zIndex: NumCast(layout.zIndex), -// pair: { layout, data }, -// replica: '', -// color: 'white', -// backgroundColor: 'white', -// transition: 'all 0.3s', -// }); -// }); -// const divider = { type: 'div', color: 'transparent', x: -burstDiam[0] / 2, y: -burstDiam[1] / 2, width: 15, height: 15, payload: undefined }; -// return normalizeResults(burstDiam, 12, docMap, poolData, viewDefsToJSX, [], 0, [divider]); -// } - export function computePivotLayout(poolData: Map, pivotDoc: Doc, childPairs: { layout: Doc; data?: Doc }[], panelDim: number[], viewDefsToJSX: (views: ViewDefBounds[]) => ViewDefResult[], engineProps: any) { const docMap = new Map(); const fieldKey = 'data'; diff --git a/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx b/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx index 11193f496..079a5d977 100644 --- a/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx +++ b/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx @@ -49,9 +49,7 @@ import { CollectionSubView } from '../CollectionSubView'; import { TreeViewType } from '../CollectionTreeView'; import { CollectionFreeFormBackgroundGrid } from './CollectionFreeFormBackgroundGrid'; import { CollectionFreeFormInfoUI } from './CollectionFreeFormInfoUI'; -import { computePassLayout, computePivotLayout, computeStarburstLayout, computeTimelineLayout, PoolData, ViewDefBounds, ViewDefResult, - // computeCardDeckLayout - } from './CollectionFreeFormLayoutEngines'; +import { computePassLayout, computePivotLayout, computeStarburstLayout, computeTimelineLayout, PoolData, ViewDefBounds, ViewDefResult } from './CollectionFreeFormLayoutEngines'; import { CollectionFreeFormPannableContents } from './CollectionFreeFormPannableContents'; import { CollectionFreeFormRemoteCursors } from './CollectionFreeFormRemoteCursors'; import './CollectionFreeFormView.scss'; @@ -1385,8 +1383,6 @@ export class CollectionFreeFormView extends CollectionSubView { - // const selected = this.marqueeSelect(false); - // SelectionManager.DeselectAll(); - // selected.forEach(d => this._props.removeDocument?.(d)); - // const newCollection = DocUtils.spreadCards(selected, this.Bounds.left + this.Bounds.width / 2, this.Bounds.top + this.Bounds.height / 2)!; - // this._props.addDocument?.(newCollection); - // this._props.selectDocuments([newCollection]); - // MarqueeOptionsMenu.Instance.fadeOut(true); - // this.hideMarquee(); - // }); - /** * This triggers the TabDocView.PinDoc method which is the universal method * used to pin documents to the currently active presentation trail. @@ -522,7 +510,6 @@ export class MarqueeView extends ObservableReactComponent { - if (this._commandExecuted || (e as any).propagationIsStopped) { return; } @@ -533,8 +520,7 @@ export class MarqueeView extends ObservableReactComponent