aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/collections/collectionSchema/SchemaTableCell.tsx
diff options
context:
space:
mode:
authorNathan-SR <144961007+Nathan-SR@users.noreply.github.com>2024-03-21 00:05:32 -0400
committerNathan-SR <144961007+Nathan-SR@users.noreply.github.com>2024-03-21 00:05:32 -0400
commita598877cc71c1f2a25e8cac4b831ab947a2539e0 (patch)
tree65c83dda18eb587c5e0dc0ac665cd7799f21499a /src/client/views/collections/collectionSchema/SchemaTableCell.tsx
parent8cc8c972c73ea52e6be3d6dc25d9abc6905327df (diff)
editing all selected cols working
Diffstat (limited to 'src/client/views/collections/collectionSchema/SchemaTableCell.tsx')
-rw-r--r--src/client/views/collections/collectionSchema/SchemaTableCell.tsx14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/client/views/collections/collectionSchema/SchemaTableCell.tsx b/src/client/views/collections/collectionSchema/SchemaTableCell.tsx
index 2769b5042..cae16be36 100644
--- a/src/client/views/collections/collectionSchema/SchemaTableCell.tsx
+++ b/src/client/views/collections/collectionSchema/SchemaTableCell.tsx
@@ -45,6 +45,7 @@ export interface SchemaTableCellProps {
isRowActive: () => boolean | undefined;
getFinfo: (fieldKey: string) => FInfo | undefined;
setColumnValues: (field: string, value: string) => boolean;
+ setSelectedColumnValues: (field: string, value: string) => boolean;
oneLine?: boolean; // whether all input should fit on one line vs allowing textare multiline inputs
allowCRs?: boolean; // allow carriage returns in text input (othewrise CR ends the edit)
finishEdit?: () => void; // notify container that edit is over (eg. to hide view in DashFieldView)
@@ -107,7 +108,7 @@ export class SchemaTableCell extends ObservableReactComponent<SchemaTableCellPro
}
@computed get selected() {
- const selected = this._props.selectedCells();
+ const selected: [Doc[], number] | undefined = this._props.selectedCells();
let istrue = this._props.isRowActive() && (selected && selected[0]?.filter(doc => doc === this._props.Document).length !== 0) && selected[1] === this._props.col;
//console.log("col: " + this._props.col + "true: " + istrue);
return istrue;
@@ -135,7 +136,9 @@ export class SchemaTableCell extends ObservableReactComponent<SchemaTableCellPro
SetValue={undoable((value: string, shiftDown?: boolean, enterKey?: boolean) => {
if (shiftDown && enterKey) {
this._props.setColumnValues(this._props.fieldKey.replace(/^_/, ''), value);
- }
+ } /*else {
+ this._props.setSelectedColumnValues(this._props.fieldKey.replace(/^_/, ''), value);
+ }*/
const ret = KeyValueBox.SetField(this._props.Document, this._props.fieldKey.replace(/^_/, ''), value);
this._props.finishEdit?.();
return ret;
@@ -179,7 +182,12 @@ export class SchemaTableCell extends ObservableReactComponent<SchemaTableCellPro
return (
<div
className="schema-table-cell"
- onPointerDown={action(e => !this.selected && this._props.selectCell(this._props.Document, this._props.col, e.shiftKey))}
+ onPointerDown={action(e => {
+ console.log(e);
+ console.log(e.shiftKey);
+ const shift: boolean = e.shiftKey;
+ !this.selected && this._props.selectCell(this._props.Document, this._props.col, shift)}
+ )}
style={{ padding: this._props.padding, maxWidth: this._props.maxWidth?.(), width: this._props.columnWidth() || undefined, border: this.selected ? `solid 2px ${Colors.MEDIUM_BLUE}` : undefined }}>
{this.content}
</div>