aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/collections/collectionFreeForm
diff options
context:
space:
mode:
authoraidahosa1 <aisosa_idahosa@brown.edu>2024-03-19 16:21:34 -0400
committeraidahosa1 <aisosa_idahosa@brown.edu>2024-03-19 16:30:18 -0400
commit66f904921ef519e1b54cb013ea7fafc640ae3dc7 (patch)
treec9204c1578870ebaac48741cce9beebf980fd427 /src/client/views/collections/collectionFreeForm
parent26cf01d862a324d90ec8c9363a9fb12c4e98d58d (diff)
working on implementing card logic
Diffstat (limited to 'src/client/views/collections/collectionFreeForm')
-rw-r--r--src/client/views/collections/collectionFreeForm/CollectionFreeFormLayoutEngines.tsx61
-rw-r--r--src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx6
2 files changed, 35 insertions, 32 deletions
diff --git a/src/client/views/collections/collectionFreeForm/CollectionFreeFormLayoutEngines.tsx b/src/client/views/collections/collectionFreeForm/CollectionFreeFormLayoutEngines.tsx
index e972f44f1..b3ae382e3 100644
--- a/src/client/views/collections/collectionFreeForm/CollectionFreeFormLayoutEngines.tsx
+++ b/src/client/views/collections/collectionFreeForm/CollectionFreeFormLayoutEngines.tsx
@@ -126,39 +126,40 @@ export function computeStarburstLayout(poolData: Map<string, PoolData>, pivotDoc
return normalizeResults(burstDiam, 12, docMap, poolData, viewDefsToJSX, [], 0, [divider]);
}
-export function computeCardDeckLayout(poolData: Map<string, PoolData>, pivotDoc: Doc, childPairs: { layout: Doc; data?: Doc }[], panelDim: number[], viewDefsToJSX: (views: ViewDefBounds[]) => ViewDefResult[], engineProps: any) {
- const docMap = new Map<string, PoolData>();
- const spreadWidth = Math.min(panelDim[0], childPairs.length * 50); // Total width of the spread
- const startX = -(spreadWidth / 2); // Starting X position
- const fanAngle = 5; // Angle in degrees for fanning out cards
- const baseZIndex = 1000; // Base Z-index to ensure cards are stacked in order
+// export function computeCardDeckLayout(poolData: Map<string, PoolData>, pivotDoc: Doc, childPairs: { layout: Doc; data?: Doc }[], panelDim: number[], viewDefsToJSX: (views: ViewDefBounds[]) => ViewDefResult[], engineProps: any) {
+// console.log('hi');
+// const docMap = new Map<string, PoolData>();
+// const spreadWidth = Math.min(panelDim[0], childPairs.length * 50); // Total width of the spread
+// const startX = -(spreadWidth / 2); // Starting X position
+// const fanAngle = 5; // Angle in degrees for fanning out cards
+// const baseZIndex = 1000; // Base Z-index to ensure cards are stacked in order
- childPairs.forEach(({ layout, data }, i) => {
- const aspect = NumCast(layout._height) / NumCast(layout._width);
- const docSize = Math.min(400, NumCast(layout._width)) * NumCast(pivotDoc._starburstDocScale, 1);
- const posX = startX + (spreadWidth / childPairs.length) * i;
- const posY = 0; // Adjust if you want to change the vertical alignment
- const rotation = (i - (childPairs.length / 2)) * fanAngle; // Calculate rotation for fanning effect
+// childPairs.forEach(({ layout, data }, i) => {
+// const aspect = NumCast(layout._height) / NumCast(layout._width);
+// const docSize = Math.min(400, NumCast(layout._width)) * NumCast(pivotDoc._starburstDocScale, 1);
+// const posX = startX + (spreadWidth / childPairs.length) * i;
+// const posY = 0; // Adjust if you want to change the vertical alignment
+// const rotation = (i - (childPairs.length / 2)) * fanAngle; // Calculate rotation for fanning effect
- docMap.set(layout[Id], {
- x: posX,
- y: posY,
- width: docSize,
- height: docSize * aspect,
- zIndex: baseZIndex + i, // Increment Z-index for each card to stack them correctly
- rotation: rotation, // Optional: Add this if you want to rotate elements for a fanned effect
- pair: { layout, data },
- replica: '',
- color: 'white',
- backgroundColor: 'white',
- transition: 'all 0.3s',
- });
- });
+// docMap.set(layout[Id], {
+// x: posX,
+// y: posY,
+// width: docSize,
+// height: docSize * aspect,
+// zIndex: baseZIndex + i,
+// rotation: rotation,
+// pair: { layout, data },
+// replica: '',
+// color: 'white',
+// backgroundColor: 'white',
+// transition: 'all 0.3s',
+// });
+// });
- // This is a placeholder for the divider object and may need to be adjusted based on actual usage
- const divider = { type: 'div', color: 'transparent', x: -panelDim[0] / 2, y: -panelDim[1] / 2, width: 15, height: 15, payload: undefined };
- return normalizeResults(panelDim, 12, docMap, poolData, viewDefsToJSX, [], 0, [divider]);
-}
+// // This is a placeholder for the divider object and may need to be adjusted based on actual usage
+// const divider = { type: 'div', color: 'transparent', x: -panelDim[0] / 2, y: -panelDim[1] / 2, width: 15, height: 15, payload: undefined };
+// return normalizeResults(panelDim, 12, docMap, poolData, viewDefsToJSX, [], 0, [divider]);
+// }
export function computePivotLayout(poolData: Map<string, PoolData>, pivotDoc: Doc, childPairs: { layout: Doc; data?: Doc }[], panelDim: number[], viewDefsToJSX: (views: ViewDefBounds[]) => ViewDefResult[], engineProps: any) {
const docMap = new Map<string, PoolData>();
diff --git a/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx b/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx
index 5fe61c1ab..1514af809 100644
--- a/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx
+++ b/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx
@@ -49,7 +49,9 @@ 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,
+ // computeCardDeckLayout
+ } from './CollectionFreeFormLayoutEngines';
import { CollectionFreeFormPannableContents } from './CollectionFreeFormPannableContents';
import { CollectionFreeFormRemoteCursors } from './CollectionFreeFormRemoteCursors';
import './CollectionFreeFormView.scss';
@@ -1381,7 +1383,7 @@ export class CollectionFreeFormView extends CollectionSubView<Partial<collection
case computeTimelineLayout.name: return { newPool, computedElementData: this.doEngineLayout(newPool, computeTimelineLayout) };
case computePivotLayout.name: return { newPool, computedElementData: this.doEngineLayout(newPool, computePivotLayout) };
case computeStarburstLayout.name: return { newPool, computedElementData: this.doEngineLayout(newPool, computeStarburstLayout) };
- case computeCardDeckLayout.name: return { newPool, computedElementData: this.doEngineLayout(newPool, computeCardDeckLayout) };
+ // case computeCardDeckLayout.name: return { newPool, computedElementData: this.doEngineLayout(newPool, computeCardDeckLayout) };
}
return { newPool, computedElementData: this.doFreeformLayout(newPool) };