aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/collections
diff options
context:
space:
mode:
authorbob <bcz@cs.brown.edu>2020-02-03 18:13:36 -0500
committerbob <bcz@cs.brown.edu>2020-02-03 18:13:36 -0500
commitfdc0e0e157d70fdcc569525db58d8e6e642c0041 (patch)
treea3421dcd4b96f1da71c53f2f17b0f62dd4cec815 /src/client/views/collections
parentef4f0daa0fd9e1fbb8657bd046478a533c105b0f (diff)
fixed performance of layoutengines.
Diffstat (limited to 'src/client/views/collections')
-rw-r--r--src/client/views/collections/collectionFreeForm/CollectionFreeFormLayoutEngines.tsx12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/client/views/collections/collectionFreeForm/CollectionFreeFormLayoutEngines.tsx b/src/client/views/collections/collectionFreeForm/CollectionFreeFormLayoutEngines.tsx
index 859e78c17..63bcc68e5 100644
--- a/src/client/views/collections/collectionFreeForm/CollectionFreeFormLayoutEngines.tsx
+++ b/src/client/views/collections/collectionFreeForm/CollectionFreeFormLayoutEngines.tsx
@@ -60,13 +60,14 @@ function toLabel(target: FieldResult<Field>) {
}
export function computePivotLayout(
- poolData: ObservableMap<string, PoolData>,
+ poolData: Map<string, PoolData>,
pivotDoc: Doc,
childDocs: Doc[],
childPairs: { layout: Doc, data?: Doc }[],
panelDim: number[],
viewDefsToJSX: (views: any) => ViewDefResult[]
) {
+ console.log("PIVOT " + pivotDoc[HeightSym]());
const fieldKey = "data";
const pivotColumnGroups = new Map<FieldResult<Field>, Doc[]>();
const fontSize = NumCast(pivotDoc[fieldKey + "-timelineFontSize"], panelDim[1] > 58 ? 20 : Math.max(7, panelDim[1] / 3));
@@ -136,7 +137,7 @@ export function computePivotLayout(
export function computeTimelineLayout(
- poolData: ObservableMap<string, PoolData>,
+ poolData: Map<string, PoolData>,
pivotDoc: Doc,
childDocs: Doc[],
childPairs: { layout: Doc, data?: Doc }[],
@@ -241,7 +242,7 @@ export function computeTimelineLayout(
}
function normalizeResults(panelDim: number[], fontHeight: number, childPairs: { data?: Doc, layout: Doc }[], docMap: Map<Doc, ViewDefBounds>,
- poolData: ObservableMap<string, PoolData>, viewDefsToJSX: (views: any) => ViewDefResult[], groupNames: PivotData[], minWidth: number, extras: PivotData[]) {
+ poolData: Map<string, PoolData>, viewDefsToJSX: (views: any) => ViewDefResult[], groupNames: PivotData[], minWidth: number, extras: PivotData[]) {
const grpEles = groupNames.map(gn => ({ x: gn.x, y: gn.y, height: gn.height }) as PivotData);
const docEles = childPairs.filter(d => !d.layout.isMinimized).map(pair => docMap.get(pair.layout) as PivotData);
@@ -263,10 +264,7 @@ function normalizeResults(panelDim: number[], fontHeight: number, childPairs: {
width: (newPosRaw.width || 0) * scale,
height: newPosRaw.height! * scale
};
- const lastPos = poolData.get(pair.layout[Id]); // last computed pos
- if (!lastPos || newPos.x !== lastPos.x || newPos.y !== lastPos.y || newPos.z !== lastPos.z || newPos.zIndex !== lastPos.zIndex || newPos.width !== lastPos.width || newPos.height !== lastPos.height) {
- runInAction(() => poolData.set(pair.layout[Id], { transition: "transform 1s", ...newPos }));
- }
+ poolData.set(pair.layout[Id], { transition: "transform 1s", ...newPos });
}
});