aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSam Wilkins <abdullah_ahmed@brown.edu>2019-07-23 19:11:17 -0400
committerSam Wilkins <abdullah_ahmed@brown.edu>2019-07-23 19:11:17 -0400
commit7d9958f23b2b69f59bb108b33ec014b52ad41c99 (patch)
tree92219e63c1071bac0b1dec9f07ff5a886db9a9d6 /src
parente62b7a0c5c5eec2ef1431b2e2a876e2f3753ebc0 (diff)
merge
Diffstat (limited to 'src')
-rw-r--r--src/client/views/collections/CollectionSchemaMovableTableHOC.tsx10
-rw-r--r--src/client/views/collections/CollectionSchemaView.tsx21
2 files changed, 23 insertions, 8 deletions
diff --git a/src/client/views/collections/CollectionSchemaMovableTableHOC.tsx b/src/client/views/collections/CollectionSchemaMovableTableHOC.tsx
index db60e657a..6fc04849c 100644
--- a/src/client/views/collections/CollectionSchemaMovableTableHOC.tsx
+++ b/src/client/views/collections/CollectionSchemaMovableTableHOC.tsx
@@ -5,7 +5,7 @@ import { Transform } from "../../util/Transform";
import { Doc } from "../../../new_fields/Doc";
import { DragManager, SetupDrag } from "../../util/DragManager";
import { SelectionManager } from "../../util/SelectionManager";
-import { Cast, FieldValue } from "../../../new_fields/Types";
+import { Cast, FieldValue, StrCast } from "../../../new_fields/Types";
export interface MovableColumnProps {
@@ -152,15 +152,17 @@ export class MovableRow extends React.Component<MovableRowProps> {
let rect = this._header!.current!.getBoundingClientRect();
let bounds = this.props.ScreenToLocalTransform().transformPoint(rect.left, rect.top + rect.height / 2);
let before = x[1] < bounds[1];
+
if (de.data instanceof DragManager.DocumentDragData) {
e.stopPropagation();
if (de.data.draggedDocuments[0] === rowDoc) return true;
let addDocument = (doc: Doc) => this.props.addDoc(doc, rowDoc, before);
let movedDocs = de.data.draggedDocuments; //(de.data.options === this.props.treeViewId ? de.data.draggedDocuments : de.data.droppedDocuments);
- return (de.data.dropAction || de.data.userDropAction) ?
+ return (de.data.dropAction || de.data.userDropAction) ?
de.data.droppedDocuments.reduce((added: boolean, d) => this.props.addDoc(d, rowDoc, before) || added, false)
: (de.data.moveDocument) ?
- movedDocs.reduce((added: boolean, d) => de.data.moveDocument(d, rowDoc, addDocument) || added, false)
+ movedDocs.reduce((added: boolean, d) => de.data.moveDocument(d, rowDoc, addDocument) || added, false)
+ // movedDocs.reduce((added: boolean, d) => this.props.moveDoc(d, rowDoc, addDocument) || added, false)
: de.data.droppedDocuments.reduce((added: boolean, d) => this.props.addDoc(d, rowDoc, before), false);
}
return false;
@@ -177,7 +179,7 @@ export class MovableRow extends React.Component<MovableRowProps> {
if (!doc) return <></>;
let reference = React.createRef<HTMLDivElement>();
- let onItemDown = SetupDrag(reference, () => doc, this.props.moveDoc);
+ let onItemDown = SetupDrag(reference, () => doc);
return (
<div className={this.props.rowFocused ? "collectionSchema-row row-focused" : "collectionSchema-row"} ref={this.createRowDropTarget}>
diff --git a/src/client/views/collections/CollectionSchemaView.tsx b/src/client/views/collections/CollectionSchemaView.tsx
index 5546feb95..6d71823c2 100644
--- a/src/client/views/collections/CollectionSchemaView.tsx
+++ b/src/client/views/collections/CollectionSchemaView.tsx
@@ -95,6 +95,10 @@ export class CollectionSchemaView extends CollectionSubView(doc => doc) {
this._focusedTable = doc;
}
+ @action
+ setPreviewDoc = (doc: Doc): void => {
+ this.previewDoc = doc;
+ }
//toggles preview side-panel of schema
@action
@@ -384,6 +388,16 @@ export class SchemaTable extends React.Component<SchemaTableProps> {
document.removeEventListener("keydown", this.onKeyDown);
}
+ tableAddDoc = (doc: Doc, relativeTo?: Doc, before?: boolean) => {
+ console.log("table add doc");
+ return Doc.AddDocToList(this.props.Document, this.props.fieldKey, doc, relativeTo, before);
+ }
+
+ tableMoveDoc = (d: Doc, target: Doc, addDoc: (doc: Doc) => boolean) => {
+ console.log("SCHEMA MOVE");
+ this.props.moveDocument(d, target, addDoc);
+ }
+
private getTrProps: ComponentPropsGetterR = (state, rowInfo) => {
const that = this;
if (!rowInfo) {
@@ -391,8 +405,8 @@ export class SchemaTable extends React.Component<SchemaTableProps> {
}
return {
ScreenToLocalTransform: this.props.ScreenToLocalTransform,
- addDoc: (doc: Doc, relativeTo?: Doc, before?: boolean) => Doc.AddDocToList(this.props.Document, this.props.fieldKey, doc, relativeTo, before),
- moveDoc: (d: Doc, target: Doc, addDoc: (doc: Doc) => boolean) => this.props.moveDocument(d, target, addDoc),
+ addDoc: this.tableAddDoc,
+ moveDoc: this.tableMoveDoc,
rowInfo,
rowFocused: !this._headerIsEditing && rowInfo.index === this._focusedCell.row && this.props.isFocused(this.props.Document)
};
@@ -654,7 +668,6 @@ export class SchemaTable extends React.Component<SchemaTableProps> {
}
render() {
- if (this.props.isFocused(this.props.Document)) console.log(StrCast(this.props.Document.title), "IS FOCUSED");
// if (SelectionManager.SelectedDocuments().length > 0) console.log(StrCast(SelectionManager.SelectedDocuments()[0].Document.title));
// if (DocumentManager.Instance.getDocumentView(this.props.Document)) console.log(StrCast(this.props.Document.title), SelectionManager.IsSelected(DocumentManager.Instance.getDocumentView(this.props.Document)!))
return (
@@ -669,7 +682,7 @@ export class SchemaTable extends React.Component<SchemaTableProps> {
interface CollectionSchemaPreviewProps {
Document?: Doc;
- DataDocument?: Doc;
+ DataDocument?: Doc;
childDocs?: Doc[];
renderDepth: number;
fitToBox?: boolean;