aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNathan-SR <144961007+Nathan-SR@users.noreply.github.com>2024-06-05 01:42:26 -0400
committerNathan-SR <144961007+Nathan-SR@users.noreply.github.com>2024-06-05 01:42:26 -0400
commit641cd55d41460cf24f07959c8f94e2723c18ddeb (patch)
tree93b2afc485031ea3522db732493b8d0cdcce2afa /src
parent22343f6ceb3175ff1794c4ff0ecda0471a7594af (diff)
adding collection content to schema started
Diffstat (limited to 'src')
-rw-r--r--src/client/views/collections/collectionSchema/CollectionSchemaView.tsx16
-rw-r--r--src/client/views/collections/collectionSchema/SchemaColumnHeader.tsx2
2 files changed, 12 insertions, 6 deletions
diff --git a/src/client/views/collections/collectionSchema/CollectionSchemaView.tsx b/src/client/views/collections/collectionSchema/CollectionSchemaView.tsx
index f5422bce1..6b97cb97c 100644
--- a/src/client/views/collections/collectionSchema/CollectionSchemaView.tsx
+++ b/src/client/views/collections/collectionSchema/CollectionSchemaView.tsx
@@ -92,6 +92,7 @@ export class CollectionSchemaView extends CollectionSubView() {
@observable _colBeingDragged: boolean = false;
@observable _colKeysFiltered: boolean = false;
@observable _cellTags: ObservableMap = new ObservableMap<Doc, Array<string>>();
+ @observable _lentDocs: Doc[] = [];
// target HTMLelement portal for showing a popup menu to edit cell values.
public get MenuTarget() {
@@ -1020,17 +1021,22 @@ export class CollectionSchemaView extends CollectionSubView() {
}
rowHeightFunc = () => (BoolCast(this.layoutDoc._schema_singleLine) ? CollectionSchemaView._rowSingleLineHeight : CollectionSchemaView._rowHeight);
- sortedDocsFunc = () => this.sortedDocs;
isContentActive = () => this._props.isSelected() || this._props.isContentActive();
screenToLocal = () => this.ScreenToLocalBoxXf().translate(-this.tableWidth, 0);
previewWidthFunc = () => this.previewWidth;
onPassiveWheel = (e: WheelEvent) => e.stopPropagation();
+ displayedDocsFunc = () => {
+ let docs: Doc[] = this._lentDocs.slice();
+ docs = docs.concat(this.sortedDocs.docs);
+ return docs;
+ }
_oldWheel: any;
render() {
return (
<div className="collectionSchemaView" ref={(ele: HTMLDivElement | null) => this.createDashEventsTarget(ele)}
onDrop={this.onExternalDrop.bind(this)}
- onPointerMove={e => this.onPointerMove(e)} >
+ onPointerMove={e => this.onPointerMove(e)}
+ onPointerDown={() => this.closeColumnMenu()}>
<div ref={this._menuTarget} style={{ background: 'red', top: 0, left: 0, position: 'absolute', zIndex: 10000 }} />
<div
className="schema-table"
@@ -1085,7 +1091,7 @@ export class CollectionSchemaView extends CollectionSubView() {
// eslint-disable-next-line no-use-before-define
<CollectionSchemaViewDocs
schema={this}
- childDocs={this.sortedDocsFunc}
+ childDocs={this.displayedDocsFunc}
rowHeight={this.rowHeightFunc}
setRef={(ref: HTMLDivElement | null) => {
this._tableContentRef = ref;
@@ -1208,7 +1214,7 @@ class CollectionSchemaViewDoc extends ObservableReactComponent<CollectionSchemaV
interface CollectionSchemaViewDocsProps {
schema: CollectionSchemaView;
setRef: (ref: HTMLDivElement | null) => void;
- childDocs: () => { docs: Doc[] };
+ childDocs: () => Doc[];
rowHeight: () => number;
}
@@ -1217,7 +1223,7 @@ class CollectionSchemaViewDocs extends React.Component<CollectionSchemaViewDocsP
render() {
return (
<div className="schema-table-content" ref={this.props.setRef} style={{ height: `calc(100% - ${CollectionSchemaView._newNodeInputHeight + this.props.rowHeight()}px)` }}>
- {this.props.childDocs().docs.map((doc: Doc, index: number) => (
+ {this.props.childDocs().map((doc: Doc, index: number) => (
<div key={doc[Id]} className="schema-row-wrapper" style={{ height: this.props.rowHeight() }}>
<CollectionSchemaViewDoc doc={doc} schema={this.props.schema} index={index} rowHeight={this.props.rowHeight} />
</div>
diff --git a/src/client/views/collections/collectionSchema/SchemaColumnHeader.tsx b/src/client/views/collections/collectionSchema/SchemaColumnHeader.tsx
index 32abc1780..03cf64fc8 100644
--- a/src/client/views/collections/collectionSchema/SchemaColumnHeader.tsx
+++ b/src/client/views/collections/collectionSchema/SchemaColumnHeader.tsx
@@ -147,7 +147,7 @@ export class SchemaColumnHeader extends ObservableReactComponent<SchemaColumnHea
else return this.fieldKey;
}}
SetValue={undoable((value: string, shiftKey?: boolean, enterKey?: boolean) => {
- if (shiftKey && enterKey) { // if shift & enter, set value of each cell in column
+ if (enterKey) { // if shift & enter, set value of each cell in column
this.setColumnValues(value, '');
this._altTitle = undefined;
this._props.finishEdit?.();