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; }