@omegagrid/grid 0.11.3 → 0.11.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid.menu.d.ts","sourceRoot":"","sources":["../../src/ui/grid.menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAgB,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG1C,qBAAa,aAAc,SAAQ,SAAS;IAE3C,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAEZ,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;CAIvD;AAED,qBAAa,SAAS;IAcT,QAAQ,CAAC,IAAI,EAAE,IAAI;IAZ/B,IAAI,KAAK,6CAA6B;IACtC,IAAI,SAAS,kDAAiC;IAC9C,IAAI,QAAQ,kCAAgC;IAC5C,IAAI,MAAM,uCAA8B;IACxC,IAAI,KAAK,4BAA6B;IACtC,IAAI,WAAW,mCAAmC;IAElD,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,UAAU,CAAW;IAC7B,OAAO,CAAC,WAAW,CAAY;gBAEV,IAAI,EAAE,IAAI;IAE/B,mBAAmB,GAAI,GAAG,eAAe,UAiCxC;IAED,IAAI;IAIJ,qBAAqB,GAAI,GAAG,KAAK,EAAE,SAAS,QAAQ,GAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"grid.menu.d.ts","sourceRoot":"","sources":["../../src/ui/grid.menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAgB,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG1C,qBAAa,aAAc,SAAQ,SAAS;IAE3C,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAEZ,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;CAIvD;AAED,qBAAa,SAAS;IAcT,QAAQ,CAAC,IAAI,EAAE,IAAI;IAZ/B,IAAI,KAAK,6CAA6B;IACtC,IAAI,SAAS,kDAAiC;IAC9C,IAAI,QAAQ,kCAAgC;IAC5C,IAAI,MAAM,uCAA8B;IACxC,IAAI,KAAK,4BAA6B;IACtC,IAAI,WAAW,mCAAmC;IAElD,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,UAAU,CAAW;IAC7B,OAAO,CAAC,WAAW,CAAY;gBAEV,IAAI,EAAE,IAAI;IAE/B,mBAAmB,GAAI,GAAG,eAAe,UAiCxC;IAED,IAAI;IAIJ,qBAAqB,GAAI,GAAG,KAAK,EAAE,SAAS,QAAQ,GAAC,WAAW,UAiB/D;IAED,qBAAqB,GAAI,SAAS,QAAQ,GAAC,WAAW,0CAerD;IAED,QAAQ,CAAC,QAAQ,EAAE;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAC;IAOzC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAC;IAkCpE,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAC;IAkC3D,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAC;CAyB9D"}
|
package/dist/ui/grid.menu.js
CHANGED
|
@@ -51,13 +51,18 @@ export class GridMenus {
|
|
|
51
51
|
};
|
|
52
52
|
this._onOutlineLevelChange = (e, element) => {
|
|
53
53
|
const level = e.target.value;
|
|
54
|
+
// the table theme items match the level - re-apply them onto the changed elements
|
|
54
55
|
if (element instanceof RowModel) {
|
|
55
|
-
this.model.getRowIterator(this.grid.selection.range)
|
|
56
|
+
const rows = [...this.model.getRowIterator(this.grid.selection.range)];
|
|
57
|
+
rows.forEach(row => row.level = level);
|
|
56
58
|
this.model.rebuildRowTree();
|
|
59
|
+
this.model.applyThemeToRows(rows);
|
|
57
60
|
}
|
|
58
61
|
else {
|
|
59
|
-
this.model.getColumnIterator(this.grid.selection.range)
|
|
62
|
+
const columns = [...this.model.getColumnIterator(this.grid.selection.range)];
|
|
63
|
+
columns.forEach(col => col.level = level);
|
|
60
64
|
this.model.rebuildColumnTree();
|
|
65
|
+
this.model.applyThemeToColumns(columns);
|
|
61
66
|
}
|
|
62
67
|
this.grid.rendering.render(true);
|
|
63
68
|
};
|
package/dist/ui/grid.menu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid.menu.js","sourceRoot":"","sources":["../../src/ui/grid.menu.ts"],"names":[],"mappings":"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","sourcesContent":["import { ListSelectEvent, MenuItem, NumericInput } from \"@omegagrid/core\";\nimport { CellModel, ColumnModel, RowModel } from \"@omegagrid/grid-core\";\nimport { Grid } from \"./grid\";\nimport { msg } from \"@omegagrid/localize\";\nimport { GridEvent } from \"./grid.events\";\nimport { html } from \"lit\";\n\nexport class GridMenuEvent extends GridEvent {\n\n\treadonly item: MenuItem;\n\n\tconstructor(type: string, args?: Partial<GridMenuEvent>) {\n\t\tsuper(`menu.${type}`, args);\n\t}\n\n}\n\nexport class GridMenus {\n\n\tget model() { return this.grid.model }\n\tget selection() { return this.grid.selection }\n\tget selector() { return this.grid.selector }\n\tget events() { return this.grid.events }\n\tget table() { return this.grid.table }\n\tget contextMenu() { return this.grid.contextMenu }\n\n\tprivate currentMenuItems: MenuItem[];\n\tprivate currentColumn: ColumnModel;\n\tprivate currentRow: RowModel;\n\tprivate currentCell: CellModel;\n\n\tconstructor(readonly grid: Grid) { }\n\n\t_onContextMenuClick = (e: ListSelectEvent) => {\n\t\tconst grid = this.grid;\n\t\tswitch (this.currentMenuItems[e.index].key) {\n\t\t\tcase 'insertColumn':\n\t\t\t\tgrid.editing.insertColumns({index: this.currentColumn.index, count: 1});\n\t\t\t\tbreak;\n\t\t\tcase 'insertColumnAfter':\n\t\t\t\tgrid.editing.insertColumns({index: this.currentColumn.index, count: 1, after: true});\n\t\t\t\tbreak;\n\t\t\tcase 'deleteColumn':\n\t\t\t\tgrid.editing.deleteColumns({index: this.currentColumn.index, count: 1});\n\t\t\t\tbreak;\n\t\t\tcase 'insertRow':\n\t\t\t\tgrid.editing.insertRows({index: this.currentRow.index, count: 1});\n\t\t\t\tbreak;\n\t\t\tcase 'insertRowAfter':\n\t\t\t\tgrid.editing.insertRows({index: this.currentRow.index, count: 1, after: true});\n\t\t\t\tbreak;\n\t\t\tcase 'deleteRow':\n\t\t\t\tgrid.editing.deleteRows({index: this.currentRow.index, count: 1});\n\t\t\t\tbreak;\n\t\t\tcase 'comment':\n\t\t\t\tthis.grid.editing.openComments(this.currentCell);\n\t\t\t\tbreak;\n\t\t}\n\n\t\tthis.grid.dispatchEvent(new GridMenuEvent('click', {\n\t\t\tgrid: this.grid,\n\t\t\tcell: this.currentCell,\n\t\t\trow: this.currentRow,\n\t\t\tcolumn: this.currentColumn,\n\t\t\titem: this.currentMenuItems[e.index]\n\t\t}));\n\t}\n\n\tinit() {\n\t\tthis.contextMenu.addEventListener('select', this._onContextMenuClick);\n\t}\n\n\t_onOutlineLevelChange = (e: Event, element: RowModel|ColumnModel) => {\n\t\tconst level = (e.target as NumericInput).value;\n\n\t\tif (element instanceof RowModel) {\n\t\t\tthis.model.getRowIterator(this.grid.selection.range).forEach(row => row.level = level);\n\t\t\tthis.model.rebuildRowTree();\n\t\t} else {\n\t\t\tthis.model.getColumnIterator(this.grid.selection.range).forEach(col => col.level = level);\n\t\t\tthis.model.rebuildColumnTree();\n\t\t}\n\t\t\n\t\tthis.grid.rendering.render(true);\n\t}\n\n\trenderOutlineMenuItem = (element: RowModel|ColumnModel) => {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tstyle=\"display: flex; flex-direction: row; align-items: center;\"\n\t\t\t\t@mousedown=\"${(e: Event) => e.stopPropagation()}\"\n\t\t\t\t@mouseup=\"${(e: Event) => e.stopPropagation()}\">\n\t\t\t\t<og-numericinput buttons\n\t\t\t\t\tmin=\"0\"\n\t\t\t\t\tmax=\"9\"\n\t\t\t\t\tvalue=\"${element.level}\"\n\t\t\t\t\tstyle=\"margin-right: 2px; text-align: center\"\n\t\t\t\t\t@change=\"${(e: Event) => this._onOutlineLevelChange(e, element)}\">\n\t\t\t\t</og-numericinput>\n\t\t\t</div>\n\t\t`;\n\t}\n\n\topenMenu(position: {x: number, y: number}) {\n\t\tif (this.currentMenuItems.length > 0) {\n\t\t\tthis.contextMenu.items = this.currentMenuItems;\n\t\t\tthis.contextMenu.openAt(position.x, position.y);\n\t\t}\n\t}\n\n\topenColumnMenu(column: ColumnModel, position: {x: number, y: number}) {\n\t\tconst opts = this.grid.options;\n\t\tconst customMenu = opts.menus?.column;\n\t\tlet items: MenuItem[] = [];\n\n\t\tthis.currentColumn = column;\n\n\t\tif (!customMenu?.replace) {\n\t\t\tif (opts.editable && opts.editing.colInsertion) {\n\t\t\t\titems.push({key: 'insertColumn', value: 'Insert column', icon: 'plus'});\n\t\t\t\titems.push({key: 'insertColumnAfter', value: 'Insert column (after)', icon: 'plus'});\n\t\t\t}\n\t\t\t\n\t\t\tif (opts.editable && opts.editing.colDeletion) {\n\t\t\t\titems.push({key: 'deleteColumn', value: 'Delete column', icon: 'minus'});\n\t\t\t}\n\n\t\t\tif (opts.editable && opts.editing.colOutline) {\n\t\t\t\titems.push({key: 'colLevel', icon: 'list-tree', renderer: () => this.renderOutlineMenuItem(column)});\n\t\t\t}\n\t\t}\n\n\t\tif (customMenu) {\n\t\t\tif (items.length > 0) items[items.length - 1].divider = true;\n\t\t\titems = [\n\t\t\t\t...items,\n\t\t\t\t...customMenu.items.filter(item => !item.hidden || !item.hidden(column))\n\t\t\t];\n\t\t}\n\n\t\tthis.currentMenuItems = items;\n\t\tthis.openMenu(position);\n\t}\n\n\topenRowMenu(row: RowModel, position: {x: number, y: number}) {\n\t\tconst opts = this.grid.options;\n\t\tconst customMenu = opts.menus?.row;\n\t\tlet items: MenuItem[] = [];\n\n\t\tthis.currentRow = row;\n\t\t\n\t\tif (!customMenu?.replace) {\n\t\t\tif (opts.editable && opts.editing.rowInsertion) {\n\t\t\t\titems.push({key: 'insertRow', value: 'Insert row', icon: 'plus'});\n\t\t\t\titems.push({key: 'insertRowAfter', value: 'Insert row (after)', icon: 'plus'});\n\t\t\t}\n\t\t\t\n\t\t\tif (opts.editable && opts.editing.rowDeletion) {\n\t\t\t\titems.push({key: 'deleteRow', value: 'Delete row', icon: 'minus'});\n\t\t\t}\n\n\t\t\tif (opts.editable && opts.editing.rowOutline) {\n\t\t\t\titems.push({key: 'rowLevel', icon: 'list-tree', renderer: () => this.renderOutlineMenuItem(row)});\n\t\t\t}\n\t\t}\n\n\t\tif (customMenu) {\n\t\t\tif (items.length > 0) items[items.length - 1].divider = true;\n\t\t\titems = [\n\t\t\t\t...items,\n\t\t\t\t...customMenu.items.filter(item => !item.hidden || !item.hidden(row))\n\t\t\t];\n\t\t}\n\n\t\tthis.currentMenuItems = items;\n\t\tthis.openMenu(position);\n\t}\n\n\topenCellMenu(cell: CellModel, position: {x: number, y: number}) {\n\t\tconst opts = this.grid.options;\n\t\tconst customMenu = opts.menus?.cell;\n\t\tlet items: MenuItem[] = [];\n\n\t\tthis.currentCell = cell;\n\n\t\tif (!customMenu?.replace) {\n\t\t\tif (cell.commentable) {\n\t\t\t\titems.push({key: 'comment', value: msg('Comment'), icon: 'comment'});\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (customMenu) {\n\t\t\tif (items.length > 0) items[items.length - 1].divider = true;\n\t\t\titems = [\n\t\t\t\t...items,\n\t\t\t\t...customMenu.items.filter(item => !item.hidden || !item.hidden(cell))\n\t\t\t];\n\t\t}\n\n\t\tthis.currentMenuItems = items;\n\t\tthis.openMenu(position);\n\t}\n\n}"]}
|
|
1
|
+
{"version":3,"file":"grid.menu.js","sourceRoot":"","sources":["../../src/ui/grid.menu.ts"],"names":[],"mappings":"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","sourcesContent":["import { ListSelectEvent, MenuItem, NumericInput } from \"@omegagrid/core\";\nimport { CellModel, ColumnModel, RowModel } from \"@omegagrid/grid-core\";\nimport { Grid } from \"./grid\";\nimport { msg } from \"@omegagrid/localize\";\nimport { GridEvent } from \"./grid.events\";\nimport { html } from \"lit\";\n\nexport class GridMenuEvent extends GridEvent {\n\n\treadonly item: MenuItem;\n\n\tconstructor(type: string, args?: Partial<GridMenuEvent>) {\n\t\tsuper(`menu.${type}`, args);\n\t}\n\n}\n\nexport class GridMenus {\n\n\tget model() { return this.grid.model }\n\tget selection() { return this.grid.selection }\n\tget selector() { return this.grid.selector }\n\tget events() { return this.grid.events }\n\tget table() { return this.grid.table }\n\tget contextMenu() { return this.grid.contextMenu }\n\n\tprivate currentMenuItems: MenuItem[];\n\tprivate currentColumn: ColumnModel;\n\tprivate currentRow: RowModel;\n\tprivate currentCell: CellModel;\n\n\tconstructor(readonly grid: Grid) { }\n\n\t_onContextMenuClick = (e: ListSelectEvent) => {\n\t\tconst grid = this.grid;\n\t\tswitch (this.currentMenuItems[e.index].key) {\n\t\t\tcase 'insertColumn':\n\t\t\t\tgrid.editing.insertColumns({index: this.currentColumn.index, count: 1});\n\t\t\t\tbreak;\n\t\t\tcase 'insertColumnAfter':\n\t\t\t\tgrid.editing.insertColumns({index: this.currentColumn.index, count: 1, after: true});\n\t\t\t\tbreak;\n\t\t\tcase 'deleteColumn':\n\t\t\t\tgrid.editing.deleteColumns({index: this.currentColumn.index, count: 1});\n\t\t\t\tbreak;\n\t\t\tcase 'insertRow':\n\t\t\t\tgrid.editing.insertRows({index: this.currentRow.index, count: 1});\n\t\t\t\tbreak;\n\t\t\tcase 'insertRowAfter':\n\t\t\t\tgrid.editing.insertRows({index: this.currentRow.index, count: 1, after: true});\n\t\t\t\tbreak;\n\t\t\tcase 'deleteRow':\n\t\t\t\tgrid.editing.deleteRows({index: this.currentRow.index, count: 1});\n\t\t\t\tbreak;\n\t\t\tcase 'comment':\n\t\t\t\tthis.grid.editing.openComments(this.currentCell);\n\t\t\t\tbreak;\n\t\t}\n\n\t\tthis.grid.dispatchEvent(new GridMenuEvent('click', {\n\t\t\tgrid: this.grid,\n\t\t\tcell: this.currentCell,\n\t\t\trow: this.currentRow,\n\t\t\tcolumn: this.currentColumn,\n\t\t\titem: this.currentMenuItems[e.index]\n\t\t}));\n\t}\n\n\tinit() {\n\t\tthis.contextMenu.addEventListener('select', this._onContextMenuClick);\n\t}\n\n\t_onOutlineLevelChange = (e: Event, element: RowModel|ColumnModel) => {\n\t\tconst level = (e.target as NumericInput).value;\n\n\t\t// the table theme items match the level - re-apply them onto the changed elements\n\t\tif (element instanceof RowModel) {\n\t\t\tconst rows = [...this.model.getRowIterator(this.grid.selection.range)];\n\t\t\trows.forEach(row => row.level = level);\n\t\t\tthis.model.rebuildRowTree();\n\t\t\tthis.model.applyThemeToRows(rows);\n\t\t} else {\n\t\t\tconst columns = [...this.model.getColumnIterator(this.grid.selection.range)];\n\t\t\tcolumns.forEach(col => col.level = level);\n\t\t\tthis.model.rebuildColumnTree();\n\t\t\tthis.model.applyThemeToColumns(columns);\n\t\t}\n\t\t\n\t\tthis.grid.rendering.render(true);\n\t}\n\n\trenderOutlineMenuItem = (element: RowModel|ColumnModel) => {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tstyle=\"display: flex; flex-direction: row; align-items: center;\"\n\t\t\t\t@mousedown=\"${(e: Event) => e.stopPropagation()}\"\n\t\t\t\t@mouseup=\"${(e: Event) => e.stopPropagation()}\">\n\t\t\t\t<og-numericinput buttons\n\t\t\t\t\tmin=\"0\"\n\t\t\t\t\tmax=\"9\"\n\t\t\t\t\tvalue=\"${element.level}\"\n\t\t\t\t\tstyle=\"margin-right: 2px; text-align: center\"\n\t\t\t\t\t@change=\"${(e: Event) => this._onOutlineLevelChange(e, element)}\">\n\t\t\t\t</og-numericinput>\n\t\t\t</div>\n\t\t`;\n\t}\n\n\topenMenu(position: {x: number, y: number}) {\n\t\tif (this.currentMenuItems.length > 0) {\n\t\t\tthis.contextMenu.items = this.currentMenuItems;\n\t\t\tthis.contextMenu.openAt(position.x, position.y);\n\t\t}\n\t}\n\n\topenColumnMenu(column: ColumnModel, position: {x: number, y: number}) {\n\t\tconst opts = this.grid.options;\n\t\tconst customMenu = opts.menus?.column;\n\t\tlet items: MenuItem[] = [];\n\n\t\tthis.currentColumn = column;\n\n\t\tif (!customMenu?.replace) {\n\t\t\tif (opts.editable && opts.editing.colInsertion) {\n\t\t\t\titems.push({key: 'insertColumn', value: 'Insert column', icon: 'plus'});\n\t\t\t\titems.push({key: 'insertColumnAfter', value: 'Insert column (after)', icon: 'plus'});\n\t\t\t}\n\t\t\t\n\t\t\tif (opts.editable && opts.editing.colDeletion) {\n\t\t\t\titems.push({key: 'deleteColumn', value: 'Delete column', icon: 'minus'});\n\t\t\t}\n\n\t\t\tif (opts.editable && opts.editing.colOutline) {\n\t\t\t\titems.push({key: 'colLevel', icon: 'list-tree', renderer: () => this.renderOutlineMenuItem(column)});\n\t\t\t}\n\t\t}\n\n\t\tif (customMenu) {\n\t\t\tif (items.length > 0) items[items.length - 1].divider = true;\n\t\t\titems = [\n\t\t\t\t...items,\n\t\t\t\t...customMenu.items.filter(item => !item.hidden || !item.hidden(column))\n\t\t\t];\n\t\t}\n\n\t\tthis.currentMenuItems = items;\n\t\tthis.openMenu(position);\n\t}\n\n\topenRowMenu(row: RowModel, position: {x: number, y: number}) {\n\t\tconst opts = this.grid.options;\n\t\tconst customMenu = opts.menus?.row;\n\t\tlet items: MenuItem[] = [];\n\n\t\tthis.currentRow = row;\n\t\t\n\t\tif (!customMenu?.replace) {\n\t\t\tif (opts.editable && opts.editing.rowInsertion) {\n\t\t\t\titems.push({key: 'insertRow', value: 'Insert row', icon: 'plus'});\n\t\t\t\titems.push({key: 'insertRowAfter', value: 'Insert row (after)', icon: 'plus'});\n\t\t\t}\n\t\t\t\n\t\t\tif (opts.editable && opts.editing.rowDeletion) {\n\t\t\t\titems.push({key: 'deleteRow', value: 'Delete row', icon: 'minus'});\n\t\t\t}\n\n\t\t\tif (opts.editable && opts.editing.rowOutline) {\n\t\t\t\titems.push({key: 'rowLevel', icon: 'list-tree', renderer: () => this.renderOutlineMenuItem(row)});\n\t\t\t}\n\t\t}\n\n\t\tif (customMenu) {\n\t\t\tif (items.length > 0) items[items.length - 1].divider = true;\n\t\t\titems = [\n\t\t\t\t...items,\n\t\t\t\t...customMenu.items.filter(item => !item.hidden || !item.hidden(row))\n\t\t\t];\n\t\t}\n\n\t\tthis.currentMenuItems = items;\n\t\tthis.openMenu(position);\n\t}\n\n\topenCellMenu(cell: CellModel, position: {x: number, y: number}) {\n\t\tconst opts = this.grid.options;\n\t\tconst customMenu = opts.menus?.cell;\n\t\tlet items: MenuItem[] = [];\n\n\t\tthis.currentCell = cell;\n\n\t\tif (!customMenu?.replace) {\n\t\t\tif (cell.commentable) {\n\t\t\t\titems.push({key: 'comment', value: msg('Comment'), icon: 'comment'});\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (customMenu) {\n\t\t\tif (items.length > 0) items[items.length - 1].divider = true;\n\t\t\titems = [\n\t\t\t\t...items,\n\t\t\t\t...customMenu.items.filter(item => !item.hidden || !item.hidden(cell))\n\t\t\t];\n\t\t}\n\n\t\tthis.currentMenuItems = items;\n\t\tthis.openMenu(position);\n\t}\n\n}"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@omegagrid/grid",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.4",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"description": "Universal datagrid component",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -35,12 +35,12 @@
|
|
|
35
35
|
"_prepublish": "yarn test && yarn lint"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@omegagrid/commands": "^0.11.
|
|
39
|
-
"@omegagrid/core": "^0.11.
|
|
40
|
-
"@omegagrid/grid-core": "^0.11.
|
|
41
|
-
"@omegagrid/localize": "^0.11.
|
|
42
|
-
"@omegagrid/tabs": "^0.11.
|
|
43
|
-
"@omegagrid/tree": "^0.11.
|
|
38
|
+
"@omegagrid/commands": "^0.11.4",
|
|
39
|
+
"@omegagrid/core": "^0.11.4",
|
|
40
|
+
"@omegagrid/grid-core": "^0.11.4",
|
|
41
|
+
"@omegagrid/localize": "^0.11.4",
|
|
42
|
+
"@omegagrid/tabs": "^0.11.4",
|
|
43
|
+
"@omegagrid/tree": "^0.11.4",
|
|
44
44
|
"@stdlib/stats": "^0.0.13",
|
|
45
45
|
"date-fns": "^3.2.0",
|
|
46
46
|
"lit": "^3.1.1",
|