From d243e8cee58817068101f1c3be357a48869b66f8 Mon Sep 17 00:00:00 2001 From: Jan Prochazka Date: Fri, 30 Oct 2020 19:33:21 +0100 Subject: [PATCH] editable flag moved to grider --- packages/datalib/src/FreeTableGridDisplay.ts | 1 - packages/datalib/src/ViewGridDisplay.ts | 2 +- packages/web/src/datagrid/ChangeSetGrider.ts | 4 ++++ packages/web/src/datagrid/DataGridCore.js | 2 +- packages/web/src/datagrid/Grider.ts | 3 +++ packages/web/src/freetable/FreeTableGrider.ts | 3 +++ 6 files changed, 12 insertions(+), 3 deletions(-) diff --git a/packages/datalib/src/FreeTableGridDisplay.ts b/packages/datalib/src/FreeTableGridDisplay.ts index 5b7ac48a4..278c86678 100644 --- a/packages/datalib/src/FreeTableGridDisplay.ts +++ b/packages/datalib/src/FreeTableGridDisplay.ts @@ -16,7 +16,6 @@ export class FreeTableGridDisplay extends GridDisplay { this.columns = this.getDisplayColumns(model); this.filterable = false; this.sortable = false; - this.editable = true; } getDisplayColumns(model: FreeTableModel) { diff --git a/packages/datalib/src/ViewGridDisplay.ts b/packages/datalib/src/ViewGridDisplay.ts index 29b5cc807..aa873f495 100644 --- a/packages/datalib/src/ViewGridDisplay.ts +++ b/packages/datalib/src/ViewGridDisplay.ts @@ -16,7 +16,7 @@ export class ViewGridDisplay extends GridDisplay { this.columns = this.getDisplayColumns(view); this.filterable = true; this.sortable = true; - this.editable = true; + this.editable = false; } getDisplayColumns(view: ViewInfo) { diff --git a/packages/web/src/datagrid/ChangeSetGrider.ts b/packages/web/src/datagrid/ChangeSetGrider.ts index b207cb75a..80f5c1d25 100644 --- a/packages/web/src/datagrid/ChangeSetGrider.ts +++ b/packages/web/src/datagrid/ChangeSetGrider.ts @@ -66,6 +66,10 @@ export default class ChangeSetGrider extends Grider { this.rowCacheIndexes.add(index); } + get editable() { + return this.display.editable; + } + get canInsert() { return !!this.display.baseTable; } diff --git a/packages/web/src/datagrid/DataGridCore.js b/packages/web/src/datagrid/DataGridCore.js index 83ed11041..ad876a346 100644 --- a/packages/web/src/datagrid/DataGridCore.js +++ b/packages/web/src/datagrid/DataGridCore.js @@ -152,7 +152,7 @@ export default function DataGridCore(props) { const [inplaceEditorState, dispatchInsplaceEditor] = React.useReducer((state, action) => { switch (action.type) { case 'show': - if (!display.editable) return {}; + if (!grider.editable) return {}; return { cell: action.cell, text: action.text, diff --git a/packages/web/src/datagrid/Grider.ts b/packages/web/src/datagrid/Grider.ts index 637d6f74b..a4552f724 100644 --- a/packages/web/src/datagrid/Grider.ts +++ b/packages/web/src/datagrid/Grider.ts @@ -25,6 +25,9 @@ export default abstract class Grider { revertAllChanges() {} undo() {} redo() {} + get editable() { + return false; + } get canInsert() { return false; } diff --git a/packages/web/src/freetable/FreeTableGrider.ts b/packages/web/src/freetable/FreeTableGrider.ts index 5a2b3592e..d424e18ea 100644 --- a/packages/web/src/freetable/FreeTableGrider.ts +++ b/packages/web/src/freetable/FreeTableGrider.ts @@ -30,6 +30,9 @@ export default class FreeTableGrider extends Grider { rows: model.rows.map((row, i) => (index == i ? { ...row, [uniqueName]: value } : row)), }; } + get editable() { + return true; + } get canInsert() { return true; }