@omegagrid/grid 0.9.36 → 0.9.38

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.
Files changed (44) hide show
  1. package/dist/filters/checkboxFilter.d.ts.map +1 -1
  2. package/dist/filters/checkboxFilter.js +0 -1
  3. package/dist/filters/checkboxFilter.js.map +1 -1
  4. package/dist/filters/{NumberFilter.d.ts → numberFilter.d.ts} +1 -1
  5. package/dist/filters/{NumberFilter.d.ts.map → numberFilter.d.ts.map} +1 -1
  6. package/dist/filters/{NumberFilter.js → numberFilter.js} +1 -1
  7. package/dist/filters/{NumberFilter.js.map → numberFilter.js.map} +1 -1
  8. package/dist/filters/textFilter.d.ts.map +1 -1
  9. package/dist/filters/textFilter.js +0 -2
  10. package/dist/filters/textFilter.js.map +1 -1
  11. package/dist/ui/comment.d.ts.map +1 -1
  12. package/dist/ui/comment.js +3 -2
  13. package/dist/ui/comment.js.map +1 -1
  14. package/dist/ui/comment.style.d.ts.map +1 -1
  15. package/dist/ui/comment.style.js +3 -21
  16. package/dist/ui/comment.style.js.map +1 -1
  17. package/dist/ui/grid.d.ts.map +1 -1
  18. package/dist/ui/grid.editing.d.ts.map +1 -1
  19. package/dist/ui/grid.editing.js +2 -13
  20. package/dist/ui/grid.editing.js.map +1 -1
  21. package/dist/ui/grid.events.d.ts +0 -4
  22. package/dist/ui/grid.events.d.ts.map +1 -1
  23. package/dist/ui/grid.events.js +3 -21
  24. package/dist/ui/grid.events.js.map +1 -1
  25. package/dist/ui/grid.filtering.d.ts +2 -2
  26. package/dist/ui/grid.filtering.d.ts.map +1 -1
  27. package/dist/ui/grid.filtering.js +3 -3
  28. package/dist/ui/grid.filtering.js.map +1 -1
  29. package/dist/ui/grid.js +4 -14
  30. package/dist/ui/grid.js.map +1 -1
  31. package/dist/ui/group.d.ts.map +1 -1
  32. package/dist/ui/group.js.map +1 -1
  33. package/dist/ui/table.d.ts +6 -7
  34. package/dist/ui/table.d.ts.map +1 -1
  35. package/dist/ui/table.js +22 -46
  36. package/dist/ui/table.js.map +1 -1
  37. package/dist/ui/table.styles.d.ts.map +1 -1
  38. package/dist/ui/table.styles.js +3 -15
  39. package/dist/ui/table.styles.js.map +1 -1
  40. package/dist/ui/tooltip.d.ts +4 -4
  41. package/dist/ui/tooltip.d.ts.map +1 -1
  42. package/dist/ui/tooltip.js +4 -9
  43. package/dist/ui/tooltip.js.map +1 -1
  44. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"group.js","sourceRoot":"","sources":["../../src/ui/group.ts"],"names":[],"mappings":"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","sourcesContent":["import { dom, Layout, ComponentId, Plugins, VerticalPosition, log } from '@omegagrid/core';\nimport { TabSplitContainer, TabEvent, TabSplitContainerModel } from '@omegagrid/tabs';\nimport { GridModel, GridSource, Options } from '@omegagrid/grid-core';\nimport { LitElement, html, css } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { GroupModel } from '@omegagrid/grid-core';\nimport { Grid } from './grid';\nimport { GroupModelSource } from '../types';\nimport { CommandWindow } from '@omegagrid/commands';\nimport { createRef } from 'lit-html/directives/ref.js';\nimport { GridEvent } from './grid.events';\n\nconst emptyGridSource: GridSource = {\n\toptions: {rows: 100, columns: 20, editable: true}\n};\n\nconst createEmptyModel = () => new GridModel(emptyGridSource);\n\nexport type GroupOptions = {\n\tcommandWindow?: boolean;\n\tshowHiddenTabs?: boolean;\n\tgrid?: Options;\n}\n\nconst DEFAULT_OPTIONS: GroupOptions = {\n\tcommandWindow: true,\n\tshowHiddenTabs: false,\n}\n\nexport class GridGroupEvent extends Event {\n\tconstructor(type: string) {\n\t\tsuper(`gridgroup.${type}`);\n\t}\n}\n\n@customElement('og-gridgroup')\nexport class GridGroup extends LitElement implements Layout {\n\n\tstatic styles = css`\n\t\t* {\n\t\t\tbox-sizing: border-box;\n\t\t}\n\n\t\t:host {\n\t\t\tdisplay: block;\n\t\t}\n\n\t\tog-tabsplitcontainer {\n\t\t\theight: 100%;\n\t\t}\n\t`;\n\n\t@property({type: Object})\n\toptions = DEFAULT_OPTIONS;\n\n\t@property({type: Object})\n\tmodel: GroupModel;\n\n\t@property({type: Object})\n\tcontainerModel: TabSplitContainerModel;\n\n\t@property({type: Boolean})\n\tdesignMode = false;\n\n\t@property({type: Number})\n\tzoom = 1;\n\n\t@property({type: String, reflect: true})\n\ttabPosition: VerticalPosition = 'top';\n\n\t@property({type: Object})\n\tlogger: log.Logger = new log.Logger('ΩgridGroup')\n\n\t@state()\n\tgrids = new Map<string, Grid>();\n\t\n\t@query('og-tabsplitcontainer')\n\tcontainer: TabSplitContainer;\n\n\tprivate commandWindowRef = createRef<CommandWindow>();\n\tget commandWindow() { return this.commandWindowRef.value }\n\t\n\tprivate _activeGrid: Grid;\n\tget activeGrid() { return this._activeGrid }\n\t\n\treadonly plugins = new Plugins(this);\n\n\tprivate _formulaModeGrid: Grid = null;\n\tget formulaModeGrid() { return this._formulaModeGrid }\n\tget isFormulaMode() { return this.formulaModeGrid != null }\n\n\t_isLoaded = false;\n\n\n\t/** Returns grid data models in order they are displayed within the layout */\n\tget gridModels() {\n\t\tconst ord = new Map<string, number>();\n\t\tthis.containerModel.walk(tab => {\n\t\t\tconst m = this.model.get(tab.id as string);\n\t\t\tif (m) ord.set(m.name, ord.size);\n\t\t});\n\t\treturn Array.from(this.model.models).sort(\n\t\t\t(a, b) => (ord.get(a[0]) ?? 0) - (ord.get(b[0]) ?? 0)\n\t\t).map(([_, m]) => m);\n\t}\n\n\tstartFormulaMode(grid: Grid) {\n\t\tthis._formulaModeGrid = grid;\n\t}\n\n\tendFormulaMode() {\n\t\tif (!this.isFormulaMode) return;\n\t\tthis._formulaModeGrid = null;\n\t\tthis.grids.forEach(grid => grid.editing.endFormulaMode(false));\n\t}\n\n\tactivateGrid(name: string, dispatchEvent = true) {\n\t\tconst grid = this.grids.get(name)\n\t\tif (!grid) return;\n\t\tif (this.activeGrid?.model?.name == name) return;\n\t\tif (this.activeGrid && dispatchEvent) this.dispatchEvent(new GridGroupEvent('deactivate'));\n\t\tthis._activeGrid = grid;\n\t\tthis.container.activate(name);\n\t\tsetTimeout(() => grid.focus(), 100);\n\t\tif (dispatchEvent) this.dispatchEvent(new GridGroupEvent('activate'));\n\t}\n\n\tpreviewZoom(zoom: number) {\n\t\tthis.grids.forEach(grid => {\n\t\t\tif (grid.isConnected) grid.table.previewZoom(zoom);\n\t\t});\n\t}\n\n\tupdateZoom() {\n\t\tthis.grids.forEach(grid => {\n\t\t\tif (grid.isConnected) grid.zoom = this.zoom;\n\t\t});\n\t}\n\n\thideSelectors() {\n\t\tthis.grids.forEach(grid => {\n\t\t\tif (grid.isConnected) grid.selecting.hideSelector();\n\t\t});\n\t}\n\n\tshowSelectors() {\n\t\tthis.grids.forEach(grid => {\n\t\t\tif (grid.isConnected) grid.selecting.showSelector();\n\t\t});\n\t}\n\n\trenameSheet(oldName: string, newName: string) {\n\t\tif (this.model.has(newName)) throw new Error(`Sheet '${newName}' already exists`);\n\t\tif (this.grids.has(oldName)) {\n\t\t\tthis.grids.set(newName, this.grids.get(oldName));\n\t\t\tthis.grids.delete(oldName);\n\t\t}\n\t\tthis.model.rename(oldName, newName);\n\t\tthis.container.model.updateTab(oldName, {id: newName, title: newName});\n\t\tthis.updateTabs();\n\t}\n\n\tupdateTabs() {\n\t\t// sync tabs with model\n\t\tthis.containerModel.walk(tab => {\n\t\t\tconst m = this.model.get(tab.id as string);\n\t\t\tif (!m) return;\n\t\t\ttab.id = m.name;\n\t\t\ttab.color = m.tab?.color;\n\t\t\ttab.hidden = !this.options.showHiddenTabs && m.tab?.hidden;\n\t\t\ttab.icon = m.tab?.hidden ? 'eye-slash' : null;\n\t\t});\n\t\tthis.container?.updateTabs();\n\t}\n\n\tupdateContainer() {\n\t\tthis.container?.splitContainer?.requestUpdate();\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.model = new GroupModel();\n\t\tthis.model.add(createEmptyModel());\n\t\tthis.containerModel = new TabSplitContainerModel({\n\t\t\titems: [{\n\t\t\t\tsize: null,\n\t\t\t\ttabs: Array.from(this.model.models).map(([name]) => ({\n\t\t\t\t\tid: name,\n\t\t\t\t\ttitle: name\n\t\t\t\t}))\n\t\t\t}]\n\t\t});\n\n\t\tthis.addEventListener('grid.selector.select', this._onGridSelect);\n\t\tthis.addEventListener('grid.object.activate', this._onGridSelect);\n\t}\n\n\tdeleteModel(name: string) {\n\t\tthis.model.remove(name);\n\t\tthis.containerModel.removeTab(name);\n\t\tthis.updateContainer();\n\t}\n\n\tduplicateModel(name: string) {\n\t\tconst model = this.model.duplicate(name);\n\t\tthis.containerModel.addTab({id: model.name, title: model.name}, name);\n\t\tthis.updateContainer();\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback();\n\t\tthis.tabIndex = 0;\n\t}\n\n\tlayout() {\n\t\tthis.container?.layout();\n\t}\n\n\tsetSourceData(sourceData: GroupModelSource) {\n\t\tthis.grids.clear();\n\t\tthis.model = new GroupModel(sourceData);\n\t\t//sourceData.models.forEach(src => this.model.get(src.name).tabColor = src.tabColor);\n\t\tthis.containerModel = new TabSplitContainerModel(sourceData.layout);\n\n\t\tif (this.model.errors.length && this.logger) {\n\t\t\tthis.model.errors.forEach(e => this.logger.error(e.message));\n\t\t}\n\n\t\tthis.fixLayout();\n\t}\n\n\tgetSourceData() {\n\t\tconst data = this.model.getSourceData() as GroupModelSource;\n\t\tdata.layout = this.containerModel.getSourceData();\n\t\treturn data;\n\t}\n\n\twillUpdate(props: Map<PropertyKey, undefined>) {\n\t\tif (props.has('zoom')) this.updateZoom();\n\t\tif (!this.model) this.model = new GroupModel();\n\t\tthis.updateTabs();\n\t}\n\n\tgetGrid(name: string) {\n\t\treturn this.grids.get(name);\n\t}\n\n\tgetGridByModel(model: GridModel) {\n\t\treturn this.getGrid(model.name);\n\t}\n\n\t_onGridSelect = (e: GridEvent) => {\n\t\tif (!e.grid) return;\n\t\tif (this.isFormulaMode) return;\n\t\tthis.activateGrid(e.grid.model.name, true);\n\t}\n\n\tcreateGrid = (id: ComponentId) => new Promise<Grid>(resolve => {\n\t\tconst name = id as string;\n\t\tlet grid = this.grids.get(name);\n\t\tif (grid) {\n\t\t\tresolve(grid);\n\t\t\treturn;\n\t\t}\n\t\t\n\t\tconst model = this.model.has(name) ? this.model.get(name) : this.model.add(createEmptyModel());\n\t\tmodel.options.commandWindow = false;\n\t\tgrid = dom.createElement<Grid>('og-grid');\n\t\tgrid.style.height = '100%';\n\t\tgrid.model = model;\n\t\tgrid.options = model.options;\n\t\tgrid.group = this;\n\t\tgrid.zoom = this.zoom;\n\t\tthis.grids.set(model.name, grid);\n\t\tresolve(grid);\n\t});\n\n\t_onTabSelect = (e: TabEvent) => {\n\t\tif (e.tab && this._isLoaded) {\n\t\t\tconst grid = this.grids.get(e.tab.id as string);\n\t\t\tif (this._activeGrid != grid) {\n\t\t\t\tthis.activateGrid(grid.model.name, true);\n\t\t\t\tsetTimeout(() => this._activeGrid.focus(), 100); // TODO - figure out how to do this without timeout\n\t\t\t}\n\t\t}\n\t};\n\n\t_onTabAdd = (e: TabEvent) => {\n\t\tconst model = this.model.add(createEmptyModel());\n\t\tif (!e.tabs?.container) return;\n\t\te.tabs.container.open({id: model.name, title: model.name});\n\t};\n\t\n\t_onContainerLoad = () => {\n\t\tthis._isLoaded = true;\n\t\t// wait for grid to be connected\n\t\tif (this.gridModels.length) this.activateGrid(this.gridModels[0].name, true);\n\t}\n\n\trender = () => html`\n\t\t<og-tabsplitcontainer\n\t\t\t?singleActive=\"${true}\"\n\t\t\t?addButton=\"${true}\"\n\t\t\t?closable=\"${false}\"\n\t\t\t.tabPosition=\"${this.tabPosition}\"\n\t\t\t@tab.select=\"${this._onTabSelect}\"\n\t\t\t@tab.add=\"${this._onTabAdd}\"\n\t\t\t@load=\"${this._onContainerLoad}\"\n\t\t\t.createComponent=\"${this.createGrid}\"\n\t\t\t.model=\"${this.containerModel}\">\n\t\t</og-tabsplitcontainer>\n\t`;\n\n\t/**\n\t * Adds tabs for grid models missing in layout definition.\n\t */\n\tfixLayout() {\n\t\tconst modelNames = new Set<string>();\n\t\tthis.model.models.forEach((_, name) => modelNames.add(name));\n\t\tlet defaultContainer: TabSplitContainerModel = null;\n\t\tthis.containerModel.walk((item, container) => {\n\t\t\tif (defaultContainer == null) defaultContainer = container;\n\t\t\tmodelNames.delete(item.id as string);\n\t\t});\n\t\tdefaultContainer = defaultContainer || this.containerModel;\n\t\tdefaultContainer.items = defaultContainer.items || [];\n\t\tif (!defaultContainer.items.length) defaultContainer.items.push({});\n\t\tif (!defaultContainer.items[0].tabs) defaultContainer.items[0].tabs = [];\n\n\t\tconst containerItem = defaultContainer.items.find(item => item.container == null && item.tabs != null);\n\t\tmodelNames.forEach(name => containerItem.tabs.push({id: name, title: name}));\n\t}\n\n}"]}
1
+ {"version":3,"file":"group.js","sourceRoot":"","sources":["../../src/ui/group.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,GAAG,EAAuB,OAAO,EAAoB,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAC3F,OAAO,EAA+B,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAE,SAAS,EAAwB,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAIlD,OAAO,EAAE,SAAS,EAAO,MAAM,4BAA4B,CAAC;AAI5D,MAAM,eAAe,GAAe;IACnC,OAAO,EAAE,EAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAC;CACjD,CAAC;AAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,IAAI,SAAS,CAAC,eAAe,CAAC,CAAC;AAQ9D,MAAM,eAAe,GAAiB;IACrC,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,KAAK;CACrB,CAAA;AAED,MAAM,OAAO,cAAe,SAAQ,KAAK;IACxC,YAAY,IAAY;QACvB,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;IAC5B,CAAC;CACD;AAGM,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,UAAU;IA4CxC,IAAI,aAAa,KAAK,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAA,CAAC,CAAC;IAG1D,IAAI,UAAU,KAAK,OAAO,IAAI,CAAC,WAAW,CAAA,CAAC,CAAC;IAK5C,IAAI,eAAe,KAAK,OAAO,IAAI,CAAC,gBAAgB,CAAA,CAAC,CAAC;IACtD,IAAI,aAAa,KAAK,OAAO,IAAI,CAAC,eAAe,IAAI,IAAI,CAAA,CAAC,CAAC;IAK3D,6EAA6E;IAC7E,IAAI,UAAU;QACb,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;QACtC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAC9B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAY,CAAC,CAAC;YAC3C,IAAI,CAAC;gBAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CACxC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CACrD,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAED,gBAAgB,CAAC,IAAU;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,cAAc;QACb,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAChC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,YAAY,CAAC,IAAY,EAAE,aAAa,GAAG,IAAI;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,IAAI,IAAI;YAAE,OAAO;QACjD,IAAI,IAAI,CAAC,UAAU,IAAI,aAAa;YAAE,IAAI,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;QAC3F,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;QACpC,IAAI,aAAa;YAAE,IAAI,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,WAAW,CAAC,IAAY;QACvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACzB,IAAI,IAAI,CAAC,WAAW;gBAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,UAAU;QACT,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACzB,IAAI,IAAI,CAAC,WAAW;gBAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7C,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,aAAa;QACZ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACzB,IAAI,IAAI,CAAC,WAAW;gBAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;QACrD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,aAAa;QACZ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACzB,IAAI,IAAI,CAAC,WAAW;gBAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;QACrD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,OAAe,EAAE,OAAe;QAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,kBAAkB,CAAC,CAAC;QAClF,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,EAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAC,CAAC,CAAC;QACvE,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAED,UAAU;QACT,uBAAuB;QACvB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAC9B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAY,CAAC,CAAC;YAC3C,IAAI,CAAC,CAAC;gBAAE,OAAO;YACf,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC;YAChB,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC;YACzB,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC;YAC3D,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC;IAC9B,CAAC;IAED,eAAe;QACd,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC;IACjD,CAAC;IAED;QACC,KAAK,EAAE,CAAC;QA/HT,YAAO,GAAG,eAAe,CAAC;QAS1B,eAAU,GAAG,KAAK,CAAC;QAGnB,SAAI,GAAG,CAAC,CAAC;QAGT,gBAAW,GAAqB,KAAK,CAAC;QAGtC,WAAM,GAAe,IAAI,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QAGjD,UAAK,GAAG,IAAI,GAAG,EAAgB,CAAC;QAKxB,qBAAgB,GAAG,SAAS,EAAiB,CAAC;QAM7C,YAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QAE7B,qBAAgB,GAAS,IAAI,CAAC;QAItC,cAAS,GAAG,KAAK,CAAC;QAgKlB,kBAAa,GAAG,CAAC,CAAY,EAAE,EAAE;YAChC,IAAI,CAAC,CAAC,CAAC,IAAI;gBAAE,OAAO;YACpB,IAAI,IAAI,CAAC,aAAa;gBAAE,OAAO;YAC/B,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAA;QAED,eAAU,GAAG,CAAC,EAAe,EAAE,EAAE,CAAC,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YAC7D,MAAM,IAAI,GAAG,EAAY,CAAC;YAC1B,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,IAAI,EAAE,CAAC;gBACV,OAAO,CAAC,IAAI,CAAC,CAAC;gBACd,OAAO;YACR,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC/F,KAAK,CAAC,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC;YACpC,IAAI,GAAG,GAAG,CAAC,aAAa,CAAO,SAAS,CAAC,CAAC;YAC1C,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,iBAAY,GAAG,CAAC,CAAW,EAAE,EAAE;YAC9B,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAY,CAAC,CAAC;gBAChD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;oBAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBACzC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,mDAAmD;gBACrG,CAAC;YACF,CAAC;QACF,CAAC,CAAC;QAEF,cAAS,GAAG,CAAC,CAAW,EAAE,EAAE;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS;gBAAE,OAAO;YAC/B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAC,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAC,CAAC,CAAC;QAC5D,CAAC,CAAC;QAEF,qBAAgB,GAAG,GAAG,EAAE;YACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,gCAAgC;YAChC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM;gBAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9E,CAAC,CAAA;QAED,WAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAA;;oBAEA,IAAI;iBACP,IAAI;gBACL,KAAK;mBACF,IAAI,CAAC,WAAW;kBACjB,IAAI,CAAC,YAAY;eACpB,IAAI,CAAC,SAAS;YACjB,IAAI,CAAC,gBAAgB;uBACV,IAAI,CAAC,UAAU;aACzB,IAAI,CAAC,cAAc;;EAE9B,CAAC;QAlID,IAAI,CAAC,KAAK,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,IAAI,sBAAsB,CAAC;YAChD,KAAK,EAAE,CAAC;oBACP,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;wBACpD,EAAE,EAAE,IAAI;wBACR,KAAK,EAAE,IAAI;qBACX,CAAC,CAAC;iBACH,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAClE,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACnE,CAAC;IAED,WAAW,CAAC,IAAY;QACvB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,eAAe,EAAE,CAAC;IACxB,CAAC;IAED,cAAc,CAAC,IAAY;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAC,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAC,EAAE,IAAI,CAAC,CAAC;QACtE,IAAI,CAAC,eAAe,EAAE,CAAC;IACxB,CAAC;IAED,iBAAiB;QAChB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,MAAM;QACL,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED,aAAa,CAAC,UAA4B;QACzC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;QACxC,qFAAqF;QACrF,IAAI,CAAC,cAAc,GAAG,IAAI,sBAAsB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAEpE,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;IAClB,CAAC;IAED,aAAa;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,EAAsB,CAAC;QAC5D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,UAAU,CAAC,KAAkC;QAC5C,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,IAAI,CAAC,UAAU,EAAE,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,UAAU,EAAE,CAAC;QAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAED,OAAO,CAAC,IAAY;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,cAAc,CAAC,KAAgB;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAgED;;OAEG;IACH,SAAS;QACR,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7D,IAAI,gBAAgB,GAA2B,IAAI,CAAC;QACpD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;YAC5C,IAAI,gBAAgB,IAAI,IAAI;gBAAE,gBAAgB,GAAG,SAAS,CAAC;YAC3D,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAY,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,gBAAgB,GAAG,gBAAgB,IAAI,IAAI,CAAC,cAAc,CAAC;QAC3D,gBAAgB,CAAC,KAAK,GAAG,gBAAgB,CAAC,KAAK,IAAI,EAAE,CAAC;QACtD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM;YAAE,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;YAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;QAEzE,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;QACvG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;;AArSM,gBAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;EAYlB,AAZY,CAYX;AAGF;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;0CACC;AAG1B;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;wCACP;AAGlB;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;iDACc;AAGvC;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;6CACP;AAGnB;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;uCAChB;AAGT;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;8CACF;AAGtC;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;yCACwB;AAGjD;IADC,KAAK,EAAE;wCACwB;AAGhC;IADC,KAAK,CAAC,sBAAsB,CAAC;4CACD;AAzCjB,SAAS;IADrB,aAAa,CAAC,cAAc,CAAC;GACjB,SAAS,CAySrB","sourcesContent":["import { dom, Layout, ComponentId, Plugins, VerticalPosition, log } from '@omegagrid/core';\nimport { TabSplitContainer, TabEvent, TabSplitContainerModel } from '@omegagrid/tabs';\nimport { GridModel, GridSource, Options } from '@omegagrid/grid-core';\nimport { LitElement, html, css } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { GroupModel } from '@omegagrid/grid-core';\nimport { Grid } from './grid';\nimport { GroupModelSource } from '../types';\nimport { Commands, CommandWindow } from '@omegagrid/commands';\nimport { createRef, ref } from 'lit-html/directives/ref.js';\nimport { createGroupCommands } from '../commands/groupCommands';\nimport { GridEvent } from './grid.events';\n\nconst emptyGridSource: GridSource = {\n\toptions: {rows: 100, columns: 20, editable: true}\n};\n\nconst createEmptyModel = () => new GridModel(emptyGridSource);\n\nexport type GroupOptions = {\n\tcommandWindow?: boolean;\n\tshowHiddenTabs?: boolean;\n\tgrid?: Options;\n}\n\nconst DEFAULT_OPTIONS: GroupOptions = {\n\tcommandWindow: true,\n\tshowHiddenTabs: false,\n}\n\nexport class GridGroupEvent extends Event {\n\tconstructor(type: string) {\n\t\tsuper(`gridgroup.${type}`);\n\t}\n}\n\n@customElement('og-gridgroup')\nexport class GridGroup extends LitElement implements Layout {\n\n\tstatic styles = css`\n\t\t* {\n\t\t\tbox-sizing: border-box;\n\t\t}\n\n\t\t:host {\n\t\t\tdisplay: block;\n\t\t}\n\n\t\tog-tabsplitcontainer {\n\t\t\theight: 100%;\n\t\t}\n\t`;\n\n\t@property({type: Object})\n\toptions = DEFAULT_OPTIONS;\n\n\t@property({type: Object})\n\tmodel: GroupModel;\n\n\t@property({type: Object})\n\tcontainerModel: TabSplitContainerModel;\n\n\t@property({type: Boolean})\n\tdesignMode = false;\n\n\t@property({type: Number})\n\tzoom = 1;\n\n\t@property({type: String, reflect: true})\n\ttabPosition: VerticalPosition = 'top';\n\n\t@property({type: Object})\n\tlogger: log.Logger = new log.Logger('ΩgridGroup')\n\n\t@state()\n\tgrids = new Map<string, Grid>();\n\t\n\t@query('og-tabsplitcontainer')\n\tcontainer: TabSplitContainer;\n\n\tprivate commandWindowRef = createRef<CommandWindow>();\n\tget commandWindow() { return this.commandWindowRef.value }\n\t\n\tprivate _activeGrid: Grid;\n\tget activeGrid() { return this._activeGrid }\n\t\n\treadonly plugins = new Plugins(this);\n\n\tprivate _formulaModeGrid: Grid = null;\n\tget formulaModeGrid() { return this._formulaModeGrid }\n\tget isFormulaMode() { return this.formulaModeGrid != null }\n\n\t_isLoaded = false;\n\n\n\t/** Returns grid data models in order they are displayed within the layout */\n\tget gridModels() {\n\t\tconst ord = new Map<string, number>();\n\t\tthis.containerModel.walk(tab => {\n\t\t\tconst m = this.model.get(tab.id as string);\n\t\t\tif (m) ord.set(m.name, ord.size);\n\t\t});\n\t\treturn Array.from(this.model.models).sort(\n\t\t\t(a, b) => (ord.get(a[0]) ?? 0) - (ord.get(b[0]) ?? 0)\n\t\t).map(([_, m]) => m);\n\t}\n\n\tstartFormulaMode(grid: Grid) {\n\t\tthis._formulaModeGrid = grid;\n\t}\n\n\tendFormulaMode() {\n\t\tif (!this.isFormulaMode) return;\n\t\tthis._formulaModeGrid = null;\n\t\tthis.grids.forEach(grid => grid.editing.endFormulaMode(false));\n\t}\n\n\tactivateGrid(name: string, dispatchEvent = true) {\n\t\tconst grid = this.grids.get(name)\n\t\tif (!grid) return;\n\t\tif (this.activeGrid?.model?.name == name) return;\n\t\tif (this.activeGrid && dispatchEvent) this.dispatchEvent(new GridGroupEvent('deactivate'));\n\t\tthis._activeGrid = grid;\n\t\tthis.container.activate(name);\n\t\tsetTimeout(() => grid.focus(), 100);\n\t\tif (dispatchEvent) this.dispatchEvent(new GridGroupEvent('activate'));\n\t}\n\n\tpreviewZoom(zoom: number) {\n\t\tthis.grids.forEach(grid => {\n\t\t\tif (grid.isConnected) grid.table.previewZoom(zoom);\n\t\t});\n\t}\n\n\tupdateZoom() {\n\t\tthis.grids.forEach(grid => {\n\t\t\tif (grid.isConnected) grid.zoom = this.zoom;\n\t\t});\n\t}\n\n\thideSelectors() {\n\t\tthis.grids.forEach(grid => {\n\t\t\tif (grid.isConnected) grid.selecting.hideSelector();\n\t\t});\n\t}\n\n\tshowSelectors() {\n\t\tthis.grids.forEach(grid => {\n\t\t\tif (grid.isConnected) grid.selecting.showSelector();\n\t\t});\n\t}\n\n\trenameSheet(oldName: string, newName: string) {\n\t\tif (this.model.has(newName)) throw new Error(`Sheet '${newName}' already exists`);\n\t\tif (this.grids.has(oldName)) {\n\t\t\tthis.grids.set(newName, this.grids.get(oldName));\n\t\t\tthis.grids.delete(oldName);\n\t\t}\n\t\tthis.model.rename(oldName, newName);\n\t\tthis.container.model.updateTab(oldName, {id: newName, title: newName});\n\t\tthis.updateTabs();\n\t}\n\n\tupdateTabs() {\n\t\t// sync tabs with model\n\t\tthis.containerModel.walk(tab => {\n\t\t\tconst m = this.model.get(tab.id as string);\n\t\t\tif (!m) return;\n\t\t\ttab.id = m.name;\n\t\t\ttab.color = m.tab?.color;\n\t\t\ttab.hidden = !this.options.showHiddenTabs && m.tab?.hidden;\n\t\t\ttab.icon = m.tab?.hidden ? 'eye-slash' : null;\n\t\t});\n\t\tthis.container?.updateTabs();\n\t}\n\n\tupdateContainer() {\n\t\tthis.container?.splitContainer?.requestUpdate();\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.model = new GroupModel();\n\t\tthis.model.add(createEmptyModel());\n\t\tthis.containerModel = new TabSplitContainerModel({\n\t\t\titems: [{\n\t\t\t\tsize: null,\n\t\t\t\ttabs: Array.from(this.model.models).map(([name]) => ({\n\t\t\t\t\tid: name,\n\t\t\t\t\ttitle: name\n\t\t\t\t}))\n\t\t\t}]\n\t\t});\n\n\t\tthis.addEventListener('grid.selector.select', this._onGridSelect);\n\t\tthis.addEventListener('grid.object.activate', this._onGridSelect);\n\t}\n\n\tdeleteModel(name: string) {\n\t\tthis.model.remove(name);\n\t\tthis.containerModel.removeTab(name);\n\t\tthis.updateContainer();\n\t}\n\n\tduplicateModel(name: string) {\n\t\tconst model = this.model.duplicate(name);\n\t\tthis.containerModel.addTab({id: model.name, title: model.name}, name);\n\t\tthis.updateContainer();\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback();\n\t\tthis.tabIndex = 0;\n\t}\n\n\tlayout() {\n\t\tthis.container?.layout();\n\t}\n\n\tsetSourceData(sourceData: GroupModelSource) {\n\t\tthis.grids.clear();\n\t\tthis.model = new GroupModel(sourceData);\n\t\t//sourceData.models.forEach(src => this.model.get(src.name).tabColor = src.tabColor);\n\t\tthis.containerModel = new TabSplitContainerModel(sourceData.layout);\n\n\t\tif (this.model.errors.length && this.logger) {\n\t\t\tthis.model.errors.forEach(e => this.logger.error(e.message));\n\t\t}\n\n\t\tthis.fixLayout();\n\t}\n\n\tgetSourceData() {\n\t\tconst data = this.model.getSourceData() as GroupModelSource;\n\t\tdata.layout = this.containerModel.getSourceData();\n\t\treturn data;\n\t}\n\n\twillUpdate(props: Map<PropertyKey, undefined>) {\n\t\tif (props.has('zoom')) this.updateZoom();\n\t\tif (!this.model) this.model = new GroupModel();\n\t\tthis.updateTabs();\n\t}\n\n\tgetGrid(name: string) {\n\t\treturn this.grids.get(name);\n\t}\n\n\tgetGridByModel(model: GridModel) {\n\t\treturn this.getGrid(model.name);\n\t}\n\n\t_onGridSelect = (e: GridEvent) => {\n\t\tif (!e.grid) return;\n\t\tif (this.isFormulaMode) return;\n\t\tthis.activateGrid(e.grid.model.name, true);\n\t}\n\n\tcreateGrid = (id: ComponentId) => new Promise<Grid>(resolve => {\n\t\tconst name = id as string;\n\t\tlet grid = this.grids.get(name);\n\t\tif (grid) {\n\t\t\tresolve(grid);\n\t\t\treturn;\n\t\t}\n\t\t\n\t\tconst model = this.model.has(name) ? this.model.get(name) : this.model.add(createEmptyModel());\n\t\tmodel.options.commandWindow = false;\n\t\tgrid = dom.createElement<Grid>('og-grid');\n\t\tgrid.style.height = '100%';\n\t\tgrid.model = model;\n\t\tgrid.options = model.options;\n\t\tgrid.group = this;\n\t\tgrid.zoom = this.zoom;\n\t\tthis.grids.set(model.name, grid);\n\t\tresolve(grid);\n\t});\n\n\t_onTabSelect = (e: TabEvent) => {\n\t\tif (e.tab && this._isLoaded) {\n\t\t\tconst grid = this.grids.get(e.tab.id as string);\n\t\t\tif (this._activeGrid != grid) {\n\t\t\t\tthis.activateGrid(grid.model.name, true);\n\t\t\t\tsetTimeout(() => this._activeGrid.focus(), 100); // TODO - figure out how to do this without timeout\n\t\t\t}\n\t\t}\n\t};\n\n\t_onTabAdd = (e: TabEvent) => {\n\t\tconst model = this.model.add(createEmptyModel());\n\t\tif (!e.tabs?.container) return;\n\t\te.tabs.container.open({id: model.name, title: model.name});\n\t};\n\t\n\t_onContainerLoad = () => {\n\t\tthis._isLoaded = true;\n\t\t// wait for grid to be connected\n\t\tif (this.gridModels.length) this.activateGrid(this.gridModels[0].name, true);\n\t}\n\n\trender = () => html`\n\t\t<og-tabsplitcontainer\n\t\t\t?singleActive=\"${true}\"\n\t\t\t?addButton=\"${true}\"\n\t\t\t?closable=\"${false}\"\n\t\t\t.tabPosition=\"${this.tabPosition}\"\n\t\t\t@tab.select=\"${this._onTabSelect}\"\n\t\t\t@tab.add=\"${this._onTabAdd}\"\n\t\t\t@load=\"${this._onContainerLoad}\"\n\t\t\t.createComponent=\"${this.createGrid}\"\n\t\t\t.model=\"${this.containerModel}\">\n\t\t</og-tabsplitcontainer>\n\t`;\n\n\t/**\n\t * Adds tabs for grid models missing in layout definition.\n\t */\n\tfixLayout() {\n\t\tconst modelNames = new Set<string>();\n\t\tthis.model.models.forEach((_, name) => modelNames.add(name));\n\t\tlet defaultContainer: TabSplitContainerModel = null;\n\t\tthis.containerModel.walk((item, container) => {\n\t\t\tif (defaultContainer == null) defaultContainer = container;\n\t\t\tmodelNames.delete(item.id as string);\n\t\t});\n\t\tdefaultContainer = defaultContainer || this.containerModel;\n\t\tdefaultContainer.items = defaultContainer.items || [];\n\t\tif (!defaultContainer.items.length) defaultContainer.items.push({});\n\t\tif (!defaultContainer.items[0].tabs) defaultContainer.items[0].tabs = [];\n\n\t\tconst containerItem = defaultContainer.items.find(item => item.container == null && item.tabs != null);\n\t\tmodelNames.forEach(name => containerItem.tabs.push({id: name, title: name}));\n\t}\n\n}"]}
@@ -33,20 +33,19 @@ export declare class Table extends LitElement {
33
33
  private cornerDiv;
34
34
  grid: Grid;
35
35
  model: GridModel;
36
- hideOuterBorder: boolean;
37
36
  rowOffset: number;
38
37
  colOffset: number;
39
38
  zoom: number;
40
39
  nogrid: boolean;
41
40
  renderAll: boolean;
42
- private _thead;
41
+ private tableRef;
42
+ get table(): HTMLTableElement;
43
+ private colgroupRef;
44
+ get colgroup(): HTMLElement;
45
+ private theadRef;
43
46
  get thead(): HTMLElement;
44
- private _tbody;
47
+ private tbodyRef;
45
48
  get tbody(): HTMLElement;
46
- private _colgroup;
47
- get colgroup(): HTMLElement;
48
- private _table;
49
- get table(): HTMLTableElement;
50
49
  get colMap(): Map<number, number>;
51
50
  get rowMap(): Map<number, number>;
52
51
  getColumnByModelIndex: (c: number) => HTMLTableColElement;
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/ui/table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/ui/table.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,QAAQ,EAAmC,MAAM,iBAAiB,CAAC;AACjF,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAGvC,OAAO,EACN,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAgD,SAAS,EAAE,KAAK,EAG5H,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,MAAM,MAAM,SAAS,GAAG,oBAAoB,GAAG;IAC9C,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAA;CACT,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,mBAAmB,GAAG;IAC5C,CAAC,EAAE,MAAM,CAAC;IACV,QAAQ,EAAE,QAAQ,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC;AACxC,MAAM,MAAM,kBAAkB,GAAG;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAC,CAAC;AAE5E,qBAAa,UAAW,SAAQ,KAAK;CAAI;AAEzC,qBACa,KAAM,SAAQ,UAAU;IAEpC,MAAM,CAAC,MAAM,4BAAiB;IAE9B,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,MAAM,CAAe;IACtB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,IAAI,EAAE,mBAAmB,EAAE,CAAC;IAGnC,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,SAAS,CAAiB;IAElC,IAAI,EAAE,IAAI,CAAC;IAIX,KAAK,EAAE,SAAS,CAAC;IAGjB,SAAS,SAAK;IAGd,SAAS,SAAK;IAGd,IAAI,SAAK;IAGT,MAAM,UAAS;IAGf,SAAS,UAAS;IAKlB,OAAO,CAAC,QAAQ,CAAiC;IACjD,IAAI,KAAK,qBAAiC;IAE1C,OAAO,CAAC,WAAW,CAA4B;IAC/C,IAAI,QAAQ,gBAAoC;IAEhD,OAAO,CAAC,QAAQ,CAA4B;IAC5C,IAAI,KAAK,gBAAiC;IAE1C,OAAO,CAAC,QAAQ,CAA4B;IAC5C,IAAI,KAAK,gBAAiC;IAK1C,IAAI,MAAM,wBAA0B;IACpC,IAAI,MAAM,wBAA0B;IAEpC,qBAAqB,GAAI,GAAG,MAAM,yBAAmD;IACrF,oBAAoB,GAAI,GAAG,MAAM,KAAwD,mBAAmB,CAAC;IAC7G,kBAAkB,GAAI,GAAG,MAAM,cAAoC;IACnE,iBAAiB,GAAI,GAAG,MAAM,cAAmB;IACjD,kBAAkB,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,KAAwD,SAAS,CAAC;IAC5G,mBAAmB,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,KAAuF,SAAS,CAAC;IAC5I,kBAAkB,GAAI,GAAG,SAAS,eAAwC;IAC1E,eAAe,QAAQ,IAAI,CAA4B;IAEvD,IAAI,UAAU,WAab;IAED,IAAI,SAAS,WAKZ;IAED,0BAA0B,EAAE,eAAe,EAAE,CAAM;IACnD,0BAA0B,EAAE,eAAe,EAAE,CAAM;IAEnD,WAAW,CAAC,IAAI,EAAE,MAAM;IAIxB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE;IAczC,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE;IActC,IAAI,iBAAiB,IAAK,MAAM,CAK/B;IAED,IAAI,cAAc,WAA8F;IAEhH,IAAI,cAAc,WAIjB;IAED,IAAI,cAAc,WAIjB;IAED,IAAI,iBAAiB,IAAK,MAAM,CAmB/B;IAED,IAAI,eAAe,WAAiF;IACpG,IAAI,gBAAgB,WAEnB;IAED,IAAI,gBAAgB,IAAK,MAAM,CAK9B;IAED,IAAI,YAAY,IAAK;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAC,CAQ1C;IAED,IAAI,QAAQ,IAAK,QAAQ,CAaxB;IAED,IAAI,aAAa,IAAK,SAAS,CAQ9B;IAGD,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAI,MAAM;IAWhD,eAAe,CAAC,MAAM,EAAE,MAAM,GAAI,QAAQ;IAY1C,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAI,SAAS;IAUvD;;;;;OAKG;IACH,4BAA4B,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAwB5E,iBAAiB;IAKjB,MAAM,6CAkBJ;IAEF,UAAU;IASV,OAAO;IASP,gBAAgB,aAIf;IAED,cAAc,aAGb;IAED,OAAO;IAMP,aAAa;IAYb,gBAAgB;IAmBhB,cAAc;IA6Bd,WAAW,CAAC,MAAM,GAAE,kBAAuD;IAmB3E,eAAe;IAQf,YAAY;IAoDZ,sBAAsB,CAAC,EAAE,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM;IA0C7D,mBAAmB,CAAC,EAAE,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM;IAoD1D,uBAAuB,CAAC,EAAE,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,oBAAoB;IA2D9G,kBAAkB,CAAC,SAAS,EAAE,MAAM;IAMpC,qBAAqB,CAAC,EAAE,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IA+F7E,wBAAwB,CAAC,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAgDjG,sBAAsB,CAAC,EAAE,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM;IAgD7D,yBAAyB,CAAC,EAAE,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,eAAe;IAkB3G,yBAAyB,CAAC,EAAE,EAAE,SAAS;IAmDvC,mBAAmB,6BAAoC;IAIvD,UAAU;IA6GV,sBAAsB,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS;IAQ5D,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK;IAgB5C,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,SAAS;IAwBrD,cAAc,CAAC,WAAW,EAAE,KAAK,EAAE;IAsBnC,aAAa;IAeb,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,oBAAoB;CA4DzE"}
package/dist/ui/table.js CHANGED
@@ -8,6 +8,7 @@ import constants from '../constants';
8
8
  import { dom, Expander, LevelExpander } from "@omegagrid/core";
9
9
  import { LitElement, html } from 'lit';
10
10
  import { customElement, property } from 'lit/decorators.js';
11
+ import { createRef, ref } from 'lit/directives/ref.js';
11
12
  import { encodeRow, styleToCSStyle, CellRange, MergeCellState } from "@omegagrid/grid-core";
12
13
  import { ElementCache } from "./elementCache";
13
14
  import { tableStyles } from "./table.styles";
@@ -21,12 +22,17 @@ let Table = class Table extends LitElement {
21
22
  // map of model indexes on element indexes
22
23
  this._rowMap = new Map();
23
24
  this._colMap = new Map();
24
- this.hideOuterBorder = false;
25
25
  this.rowOffset = 0;
26
26
  this.colOffset = 0;
27
27
  this.zoom = 1;
28
28
  this.nogrid = false;
29
29
  this.renderAll = false;
30
+ //#endregion
31
+ //#region element references
32
+ this.tableRef = createRef();
33
+ this.colgroupRef = createRef();
34
+ this.theadRef = createRef();
35
+ this.tbodyRef = createRef();
30
36
  this.getColumnByModelIndex = (c) => this.getColumnByGridIndex(this.colMap.get(c));
31
37
  this.getColumnByGridIndex = (c) => this.colgroup.children[c + this.rowHeaderCount];
32
38
  this.getRowByModelIndex = (r) => this.bRows[this.rowMap.get(r)];
@@ -48,7 +54,13 @@ let Table = class Table extends LitElement {
48
54
  }
49
55
  </style>
50
56
 
51
- ${this.table}
57
+ <table ${ref(this.tableRef)}
58
+ class="${this.model?.options.grid ? '' : 'nogrid'}"
59
+ style="transform: scale(${this.zoom})">
60
+ <colgroup ${ref(this.colgroupRef)}></colgroup>
61
+ <thead ${ref(this.theadRef)}></thead>
62
+ <tbody ${ref(this.tbodyRef)}></tbody>
63
+ </table>
52
64
  `;
53
65
  this.clearHeaderCache = () => {
54
66
  this.resetFreezeLeft();
@@ -63,49 +75,25 @@ let Table = class Table extends LitElement {
63
75
  this.cellRenderSchedules = new WeakMap();
64
76
  //#endregion
65
77
  }
66
- get thead() {
67
- if (this._thead)
68
- return this._thead;
69
- return (this._thead = dom.createElement('thead'));
70
- }
71
- get tbody() {
72
- if (this._tbody)
73
- return this._tbody;
74
- return (this._tbody = dom.createElement('tbody'));
75
- }
76
- get colgroup() {
77
- if (this._colgroup)
78
- return this._colgroup;
79
- return (this._colgroup = dom.createElement('colgroup'));
80
- }
81
- get table() {
82
- if (this._table)
83
- return this._table;
84
- this._table = dom.createElement('table');
85
- this._table.appendChild(this.colgroup);
86
- this._table.appendChild(this.thead);
87
- this._table.appendChild(this.tbody);
88
- return this._table;
89
- }
78
+ get table() { return this.tableRef.value; }
79
+ get colgroup() { return this.colgroupRef.value; }
80
+ get thead() { return this.theadRef.value; }
81
+ get tbody() { return this.tbodyRef.value; }
90
82
  //#endregion
91
83
  //#region calculated props
92
84
  get colMap() { return this._colMap; }
93
85
  get rowMap() { return this._rowMap; }
94
86
  get freezeLeft() {
95
87
  if (this._freezeLeft == null) {
96
- const freezeLeft = this.model.options.freezeLeft;
97
- if (freezeLeft >= this.model.columns.length) {
98
- this._freezeLeft = 0;
99
- }
100
- else if (this.offsetWidth > 0) {
88
+ if (this.offsetWidth > 0) {
101
89
  let w = 0;
102
- for (let c = 0; c < freezeLeft; c++) {
90
+ for (let c = 0; c < this.model.options.freezeLeft; c++) {
103
91
  w += this.model.columns[c].width;
104
92
  }
105
- this._freezeLeft = w < this.offsetWidth / 2 ? freezeLeft : 0;
93
+ this._freezeLeft = w < this.offsetWidth / 2 ? this.model.options.freezeLeft : 0;
106
94
  }
107
95
  else {
108
- this._freezeLeft = freezeLeft;
96
+ this._freezeLeft = this.model.options.freezeLeft;
109
97
  }
110
98
  }
111
99
  return this._freezeLeft;
@@ -655,7 +643,6 @@ let Table = class Table extends LitElement {
655
643
  dom.setSize(tr, { h: rowHeight ?? this.model.options.rowHeight });
656
644
  }
657
645
  renderHeaderRowLabelCell(th, column, rIndex, hIndex) {
658
- // TODO: move rendering logic to HeaderRenderer
659
646
  let div = this.hCache.get(column.index, rIndex);
660
647
  const h = column.header[hIndex];
661
648
  if (!div) {
@@ -693,14 +680,6 @@ let Table = class Table extends LitElement {
693
680
  }
694
681
  div.sortingArrow.sortSettings = this.model.sorting.get(column.index);
695
682
  }
696
- if (column.hasHeaderTooltip(hIndex)) {
697
- // if (!(options && options.export)) {
698
- const corner = dom.createElement('div');
699
- corner.className = 'crn';
700
- div.appendChild(corner);
701
- div.classList.add('tt');
702
- // }
703
- }
704
683
  th.appendChild(div);
705
684
  }
706
685
  renderHeaderRowFilters(tr, index) {
@@ -1038,9 +1017,6 @@ Table.styles = [tableStyles];
1038
1017
  __decorate([
1039
1018
  property({ type: Object })
1040
1019
  ], Table.prototype, "model", void 0);
1041
- __decorate([
1042
- property({ type: Boolean, reflect: true })
1043
- ], Table.prototype, "hideOuterBorder", void 0);
1044
1020
  __decorate([
1045
1021
  property({ type: Number, hasChanged: () => false })
1046
1022
  ], Table.prototype, "rowOffset", void 0);