aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/collections/CollectionMasonryViewFieldRow.tsx
diff options
context:
space:
mode:
authoreeng5 <eleanor_eng@brown.edu>2019-09-05 12:13:27 -0400
committereeng5 <eleanor_eng@brown.edu>2019-09-05 12:13:27 -0400
commit5da8791dabdd3dd25e80fb320258ec809c22291e (patch)
treecd7f32502642542f0b9ca47bec82038927b5edfd /src/client/views/collections/CollectionMasonryViewFieldRow.tsx
parent5a7ec36e558bdf5333cb7c16faad8f31bfcf314e (diff)
this is temporary
Diffstat (limited to 'src/client/views/collections/CollectionMasonryViewFieldRow.tsx')
-rw-r--r--src/client/views/collections/CollectionMasonryViewFieldRow.tsx31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/client/views/collections/CollectionMasonryViewFieldRow.tsx b/src/client/views/collections/CollectionMasonryViewFieldRow.tsx
index 1c1e44bb5..65e05ff28 100644
--- a/src/client/views/collections/CollectionMasonryViewFieldRow.tsx
+++ b/src/client/views/collections/CollectionMasonryViewFieldRow.tsx
@@ -33,6 +33,7 @@ interface CMVFieldRowProps {
type: "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" | undefined;
createDropTarget: (ele: HTMLDivElement) => void;
screenToLocalTransform: () => Transform;
+ addToDocHeight: (thisHeight: number) => void;
}
@observer
@@ -43,17 +44,45 @@ export class CollectionMasonryViewFieldRow extends React.Component<CMVFieldRowPr
private dropDisposer?: DragManager.DragDropDisposer;
private _headerRef: React.RefObject<HTMLDivElement> = React.createRef();
private _startDragPosition: { x: number, y: number } = { x: 0, y: 0 };
+ private _contRef: React.RefObject<HTMLDivElement> = React.createRef();
private _sensitivity: number = 16;
@observable _heading = this.props.headingObject ? this.props.headingObject.heading : this.props.heading;
@observable _color = this.props.headingObject ? this.props.headingObject.color : "#f1efeb";
createRowDropRef = (ele: HTMLDivElement | null) => {
+ console.log("createRowDropRef ran");
this._dropRef = ele;
this.dropDisposer && this.dropDisposer();
if (ele) {
this.dropDisposer = DragManager.MakeDropTarget(ele, { handlers: { drop: this.rowDrop.bind(this) } });
}
+ // this.getTrueHeight();
+ }
+
+ getTrueHeight = () => { //handle collapse in here (if collapsed, return #)
+ //also, don't need to return anything
+ //call this in component did mount or something...
+ if (this.collapsed) {
+ this.props.addToDocHeight(20);
+ console.log("collapsed");
+ } else { //this is calculating the heights correctlty
+ let rawHeight = this._contRef.current!.getBoundingClientRect().height + 20;
+ let transformScale = this.props.screenToLocalTransform().Scale;
+ let trueHeight = rawHeight * transformScale;
+ this.props.addToDocHeight(trueHeight);
+ console.log("trueHeight: " + trueHeight);
+ }
+ this.props.addToDocHeight(20);
+ }
+
+ // componentDidMount = () => {
+ // this.getTrueHeight();
+ // }
+
+ componentDidUpdate = () => {
+ console.log("componentDidUpdate");
+ this.getTrueHeight(); //why does this
}
@undoBatch
@@ -323,6 +352,8 @@ export class CollectionMasonryViewFieldRow extends React.Component<CMVFieldRowPr
{this.collapsed ? (null) :
< div >
<div key={`${heading}-stack`} className={`collectionStackingView-masonryGrid`}
+ // ref={this.getTrueHeight}
+ ref={this._contRef}
style={{
padding: `${this.props.parent.yMargin}px ${this.props.parent.xMargin}px`,
width: this.props.parent.NodeWidth,