@omegagrid/grid 0.10.0 → 0.10.2
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.
- package/package.json +7 -7
- package/dist/commands/editingCommands.d.ts +0 -4
- package/dist/commands/editingCommands.d.ts.map +0 -1
- package/dist/commands/editingCommands.js +0 -74
- package/dist/commands/editingCommands.js.map +0 -1
- package/dist/commands/groupCommands.d.ts +0 -8
- package/dist/commands/groupCommands.d.ts.map +0 -1
- package/dist/commands/groupCommands.js +0 -7
- package/dist/commands/groupCommands.js.map +0 -1
- package/dist/commands/index.d.ts +0 -4
- package/dist/commands/index.d.ts.map +0 -1
- package/dist/commands/index.js +0 -9
- package/dist/commands/index.js.map +0 -1
- package/dist/commands/navigationCommands.d.ts +0 -5
- package/dist/commands/navigationCommands.d.ts.map +0 -1
- package/dist/commands/navigationCommands.js +0 -117
- package/dist/commands/navigationCommands.js.map +0 -1
- package/dist/constants.d.ts +0 -65
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js +0 -8
- package/dist/constants.js.map +0 -1
- package/dist/editors/baseEditor.d.ts +0 -31
- package/dist/editors/baseEditor.d.ts.map +0 -1
- package/dist/editors/baseEditor.js +0 -112
- package/dist/editors/baseEditor.js.map +0 -1
- package/dist/editors/calendarEditor.d.ts +0 -12
- package/dist/editors/calendarEditor.d.ts.map +0 -1
- package/dist/editors/calendarEditor.js +0 -74
- package/dist/editors/calendarEditor.js.map +0 -1
- package/dist/editors/checkboxEditor.d.ts +0 -9
- package/dist/editors/checkboxEditor.d.ts.map +0 -1
- package/dist/editors/checkboxEditor.js +0 -32
- package/dist/editors/checkboxEditor.js.map +0 -1
- package/dist/editors/dateEditor.d.ts +0 -8
- package/dist/editors/dateEditor.d.ts.map +0 -1
- package/dist/editors/dateEditor.js +0 -37
- package/dist/editors/dateEditor.js.map +0 -1
- package/dist/editors/dropdownEditor.d.ts +0 -26
- package/dist/editors/dropdownEditor.d.ts.map +0 -1
- package/dist/editors/dropdownEditor.js +0 -142
- package/dist/editors/dropdownEditor.js.map +0 -1
- package/dist/editors/formulaEditor.d.ts +0 -21
- package/dist/editors/formulaEditor.d.ts.map +0 -1
- package/dist/editors/formulaEditor.js +0 -109
- package/dist/editors/formulaEditor.js.map +0 -1
- package/dist/editors/index.d.ts +0 -8
- package/dist/editors/index.d.ts.map +0 -1
- package/dist/editors/index.js +0 -19
- package/dist/editors/index.js.map +0 -1
- package/dist/editors/numberEditor.d.ts +0 -9
- package/dist/editors/numberEditor.d.ts.map +0 -1
- package/dist/editors/numberEditor.js +0 -37
- package/dist/editors/numberEditor.js.map +0 -1
- package/dist/editors/textEditor.d.ts +0 -15
- package/dist/editors/textEditor.d.ts.map +0 -1
- package/dist/editors/textEditor.js +0 -74
- package/dist/editors/textEditor.js.map +0 -1
- package/dist/filters/NumberFilter.d.ts +0 -8
- package/dist/filters/NumberFilter.d.ts.map +0 -1
- package/dist/filters/NumberFilter.js +0 -13
- package/dist/filters/NumberFilter.js.map +0 -1
- package/dist/filters/baseFilter.d.ts +0 -20
- package/dist/filters/baseFilter.d.ts.map +0 -1
- package/dist/filters/baseFilter.js +0 -47
- package/dist/filters/baseFilter.js.map +0 -1
- package/dist/filters/checkboxFilter.d.ts +0 -12
- package/dist/filters/checkboxFilter.d.ts.map +0 -1
- package/dist/filters/checkboxFilter.js +0 -67
- package/dist/filters/checkboxFilter.js.map +0 -1
- package/dist/filters/dropdownFilter.d.ts +0 -17
- package/dist/filters/dropdownFilter.d.ts.map +0 -1
- package/dist/filters/dropdownFilter.js +0 -116
- package/dist/filters/dropdownFilter.js.map +0 -1
- package/dist/filters/filterFactory.d.ts +0 -4
- package/dist/filters/filterFactory.d.ts.map +0 -1
- package/dist/filters/filterFactory.js +0 -39
- package/dist/filters/filterFactory.js.map +0 -1
- package/dist/filters/index.d.ts +0 -5
- package/dist/filters/index.d.ts.map +0 -1
- package/dist/filters/index.js +0 -5
- package/dist/filters/index.js.map +0 -1
- package/dist/filters/textFilter.d.ts +0 -17
- package/dist/filters/textFilter.d.ts.map +0 -1
- package/dist/filters/textFilter.js +0 -89
- package/dist/filters/textFilter.js.map +0 -1
- package/dist/gridAdapter.d.ts +0 -30
- package/dist/gridAdapter.d.ts.map +0 -1
- package/dist/gridAdapter.js +0 -11
- package/dist/gridAdapter.js.map +0 -1
- package/dist/i18n/en-us.d.ts +0 -4
- package/dist/i18n/en-us.d.ts.map +0 -1
- package/dist/i18n/en-us.js +0 -5
- package/dist/i18n/en-us.js.map +0 -1
- package/dist/i18n/index.d.ts +0 -5
- package/dist/i18n/index.d.ts.map +0 -1
- package/dist/i18n/index.js +0 -8
- package/dist/i18n/index.js.map +0 -1
- package/dist/index.d.ts +0 -7
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -7
- package/dist/index.js.map +0 -1
- package/dist/renderers/ActionRenderer.d.ts +0 -3
- package/dist/renderers/ActionRenderer.d.ts.map +0 -1
- package/dist/renderers/ActionRenderer.js +0 -68
- package/dist/renderers/ActionRenderer.js.map +0 -1
- package/dist/renderers/BaseRenderer.d.ts +0 -6
- package/dist/renderers/BaseRenderer.d.ts.map +0 -1
- package/dist/renderers/BaseRenderer.js +0 -56
- package/dist/renderers/BaseRenderer.js.map +0 -1
- package/dist/renderers/CheckboxRenderer.d.ts +0 -4
- package/dist/renderers/CheckboxRenderer.d.ts.map +0 -1
- package/dist/renderers/CheckboxRenderer.js +0 -22
- package/dist/renderers/CheckboxRenderer.js.map +0 -1
- package/dist/renderers/DateTimeRenderer.d.ts +0 -4
- package/dist/renderers/DateTimeRenderer.d.ts.map +0 -1
- package/dist/renderers/DateTimeRenderer.js +0 -21
- package/dist/renderers/DateTimeRenderer.js.map +0 -1
- package/dist/renderers/DropdownRenderer.d.ts +0 -4
- package/dist/renderers/DropdownRenderer.d.ts.map +0 -1
- package/dist/renderers/DropdownRenderer.js +0 -18
- package/dist/renderers/DropdownRenderer.js.map +0 -1
- package/dist/renderers/GeneralRenderer.d.ts +0 -4
- package/dist/renderers/GeneralRenderer.d.ts.map +0 -1
- package/dist/renderers/GeneralRenderer.js +0 -12
- package/dist/renderers/GeneralRenderer.js.map +0 -1
- package/dist/renderers/HtmlRenderer.d.ts +0 -4
- package/dist/renderers/HtmlRenderer.d.ts.map +0 -1
- package/dist/renderers/HtmlRenderer.js +0 -6
- package/dist/renderers/HtmlRenderer.js.map +0 -1
- package/dist/renderers/NumberRenderer.d.ts +0 -4
- package/dist/renderers/NumberRenderer.d.ts.map +0 -1
- package/dist/renderers/NumberRenderer.js +0 -14
- package/dist/renderers/NumberRenderer.js.map +0 -1
- package/dist/renderers/SparklineRenderer.d.ts +0 -3
- package/dist/renderers/SparklineRenderer.d.ts.map +0 -1
- package/dist/renderers/SparklineRenderer.js +0 -8
- package/dist/renderers/SparklineRenderer.js.map +0 -1
- package/dist/renderers/TextRenderer.d.ts +0 -4
- package/dist/renderers/TextRenderer.d.ts.map +0 -1
- package/dist/renderers/TextRenderer.js +0 -38
- package/dist/renderers/TextRenderer.js.map +0 -1
- package/dist/renderers/index.d.ts +0 -12
- package/dist/renderers/index.d.ts.map +0 -1
- package/dist/renderers/index.js +0 -32
- package/dist/renderers/index.js.map +0 -1
- package/dist/types.d.ts +0 -10
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
- package/dist/ui/comment.d.ts +0 -59
- package/dist/ui/comment.d.ts.map +0 -1
- package/dist/ui/comment.js +0 -284
- package/dist/ui/comment.js.map +0 -1
- package/dist/ui/comment.style.d.ts +0 -2
- package/dist/ui/comment.style.d.ts.map +0 -1
- package/dist/ui/comment.style.js +0 -108
- package/dist/ui/comment.style.js.map +0 -1
- package/dist/ui/elementCache.d.ts +0 -15
- package/dist/ui/elementCache.d.ts.map +0 -1
- package/dist/ui/elementCache.js +0 -57
- package/dist/ui/elementCache.js.map +0 -1
- package/dist/ui/filterLabel.d.ts +0 -10
- package/dist/ui/filterLabel.d.ts.map +0 -1
- package/dist/ui/filterLabel.js +0 -76
- package/dist/ui/filterLabel.js.map +0 -1
- package/dist/ui/formulaInput.d.ts +0 -56
- package/dist/ui/formulaInput.d.ts.map +0 -1
- package/dist/ui/formulaInput.js +0 -251
- package/dist/ui/formulaInput.js.map +0 -1
- package/dist/ui/formulaInput.style.d.ts +0 -2
- package/dist/ui/formulaInput.style.d.ts.map +0 -1
- package/dist/ui/formulaInput.style.js +0 -65
- package/dist/ui/formulaInput.style.js.map +0 -1
- package/dist/ui/grid.d.ts +0 -91
- package/dist/ui/grid.d.ts.map +0 -1
- package/dist/ui/grid.editing.d.ts +0 -61
- package/dist/ui/grid.editing.d.ts.map +0 -1
- package/dist/ui/grid.editing.js +0 -439
- package/dist/ui/grid.editing.js.map +0 -1
- package/dist/ui/grid.events.d.ts +0 -97
- package/dist/ui/grid.events.d.ts.map +0 -1
- package/dist/ui/grid.events.js +0 -581
- package/dist/ui/grid.events.js.map +0 -1
- package/dist/ui/grid.filtering.d.ts +0 -23
- package/dist/ui/grid.filtering.d.ts.map +0 -1
- package/dist/ui/grid.filtering.js +0 -68
- package/dist/ui/grid.filtering.js.map +0 -1
- package/dist/ui/grid.js +0 -297
- package/dist/ui/grid.js.map +0 -1
- package/dist/ui/grid.menu.d.ts +0 -43
- package/dist/ui/grid.menu.d.ts.map +0 -1
- package/dist/ui/grid.menu.js +0 -168
- package/dist/ui/grid.menu.js.map +0 -1
- package/dist/ui/grid.objects.d.ts +0 -24
- package/dist/ui/grid.objects.d.ts.map +0 -1
- package/dist/ui/grid.objects.js +0 -69
- package/dist/ui/grid.objects.js.map +0 -1
- package/dist/ui/grid.rendering.d.ts +0 -84
- package/dist/ui/grid.rendering.d.ts.map +0 -1
- package/dist/ui/grid.rendering.js +0 -471
- package/dist/ui/grid.rendering.js.map +0 -1
- package/dist/ui/grid.selecting.d.ts +0 -99
- package/dist/ui/grid.selecting.d.ts.map +0 -1
- package/dist/ui/grid.selecting.js +0 -319
- package/dist/ui/grid.selecting.js.map +0 -1
- package/dist/ui/grid.sorting.d.ts +0 -23
- package/dist/ui/grid.sorting.d.ts.map +0 -1
- package/dist/ui/grid.sorting.js +0 -47
- package/dist/ui/grid.sorting.js.map +0 -1
- package/dist/ui/grid.style.d.ts +0 -2
- package/dist/ui/grid.style.d.ts.map +0 -1
- package/dist/ui/grid.style.js +0 -39
- package/dist/ui/grid.style.js.map +0 -1
- package/dist/ui/group.d.ts +0 -71
- package/dist/ui/group.d.ts.map +0 -1
- package/dist/ui/group.js +0 -312
- package/dist/ui/group.js.map +0 -1
- package/dist/ui/index.d.ts +0 -19
- package/dist/ui/index.d.ts.map +0 -1
- package/dist/ui/index.js +0 -19
- package/dist/ui/index.js.map +0 -1
- package/dist/ui/objectHost.d.ts +0 -30
- package/dist/ui/objectHost.d.ts.map +0 -1
- package/dist/ui/objectHost.js +0 -114
- package/dist/ui/objectHost.js.map +0 -1
- package/dist/ui/objectHost.style.d.ts +0 -2
- package/dist/ui/objectHost.style.d.ts.map +0 -1
- package/dist/ui/objectHost.style.js +0 -43
- package/dist/ui/objectHost.style.js.map +0 -1
- package/dist/ui/selector.d.ts +0 -97
- package/dist/ui/selector.d.ts.map +0 -1
- package/dist/ui/selector.js +0 -489
- package/dist/ui/selector.js.map +0 -1
- package/dist/ui/selector.style.d.ts +0 -2
- package/dist/ui/selector.style.d.ts.map +0 -1
- package/dist/ui/selector.style.js +0 -106
- package/dist/ui/selector.style.js.map +0 -1
- package/dist/ui/sortingArrow.d.ts +0 -8
- package/dist/ui/sortingArrow.d.ts.map +0 -1
- package/dist/ui/sortingArrow.js +0 -42
- package/dist/ui/sortingArrow.js.map +0 -1
- package/dist/ui/sparkline.d.ts +0 -14
- package/dist/ui/sparkline.d.ts.map +0 -1
- package/dist/ui/sparkline.js +0 -111
- package/dist/ui/sparkline.js.map +0 -1
- package/dist/ui/table.d.ts +0 -122
- package/dist/ui/table.d.ts.map +0 -1
- package/dist/ui/table.js +0 -1063
- package/dist/ui/table.js.map +0 -1
- package/dist/ui/table.styles.d.ts +0 -2
- package/dist/ui/table.styles.d.ts.map +0 -1
- package/dist/ui/table.styles.js +0 -249
- package/dist/ui/table.styles.js.map +0 -1
- package/dist/ui/tooltip.d.ts +0 -9
- package/dist/ui/tooltip.d.ts.map +0 -1
- package/dist/ui/tooltip.js +0 -32
- package/dist/ui/tooltip.js.map +0 -1
package/dist/ui/group.js
DELETED
|
@@ -1,312 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
import { dom, Plugins, log } from '@omegagrid/core';
|
|
8
|
-
import { TabSplitContainerModel } from '@omegagrid/tabs';
|
|
9
|
-
import { GridModel } from '@omegagrid/grid-core';
|
|
10
|
-
import { LitElement, html, css } from 'lit';
|
|
11
|
-
import { customElement, property, query, state } from 'lit/decorators.js';
|
|
12
|
-
import { GroupModel } from '@omegagrid/grid-core';
|
|
13
|
-
import { createRef } from 'lit-html/directives/ref.js';
|
|
14
|
-
const emptyGridSource = {
|
|
15
|
-
options: { rows: 100, columns: 20, editable: true }
|
|
16
|
-
};
|
|
17
|
-
const createEmptyModel = () => new GridModel(emptyGridSource);
|
|
18
|
-
const DEFAULT_OPTIONS = {
|
|
19
|
-
commandWindow: true,
|
|
20
|
-
showHiddenTabs: false,
|
|
21
|
-
};
|
|
22
|
-
export class GridGroupEvent extends Event {
|
|
23
|
-
constructor(type) {
|
|
24
|
-
super(`gridgroup.${type}`);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
let GridGroup = class GridGroup extends LitElement {
|
|
28
|
-
get commandWindow() { return this.commandWindowRef.value; }
|
|
29
|
-
get activeGrid() { return this._activeGrid; }
|
|
30
|
-
get formulaModeGrid() { return this._formulaModeGrid; }
|
|
31
|
-
get isFormulaMode() { return this.formulaModeGrid != null; }
|
|
32
|
-
/** Returns grid data models in order they are displayed within the layout */
|
|
33
|
-
get gridModels() {
|
|
34
|
-
const ord = new Map();
|
|
35
|
-
this.containerModel.walk(tab => {
|
|
36
|
-
const m = this.model.get(tab.id);
|
|
37
|
-
if (m)
|
|
38
|
-
ord.set(m.name, ord.size);
|
|
39
|
-
});
|
|
40
|
-
return Array.from(this.model.models).sort((a, b) => (ord.get(a[0]) ?? 0) - (ord.get(b[0]) ?? 0)).map(([_, m]) => m);
|
|
41
|
-
}
|
|
42
|
-
startFormulaMode(grid) {
|
|
43
|
-
this._formulaModeGrid = grid;
|
|
44
|
-
}
|
|
45
|
-
endFormulaMode() {
|
|
46
|
-
if (!this.isFormulaMode)
|
|
47
|
-
return;
|
|
48
|
-
this._formulaModeGrid = null;
|
|
49
|
-
this.grids.forEach(grid => grid.editing.endFormulaMode(false));
|
|
50
|
-
}
|
|
51
|
-
activateGrid(name, dispatchEvent = true) {
|
|
52
|
-
const grid = this.grids.get(name);
|
|
53
|
-
if (!grid)
|
|
54
|
-
return;
|
|
55
|
-
if (this.activeGrid?.model?.name == name)
|
|
56
|
-
return;
|
|
57
|
-
if (this.activeGrid && dispatchEvent)
|
|
58
|
-
this.dispatchEvent(new GridGroupEvent('deactivate'));
|
|
59
|
-
this._activeGrid = grid;
|
|
60
|
-
this.container.activate(name);
|
|
61
|
-
setTimeout(() => grid.focus(), 100);
|
|
62
|
-
if (dispatchEvent)
|
|
63
|
-
this.dispatchEvent(new GridGroupEvent('activate'));
|
|
64
|
-
}
|
|
65
|
-
previewZoom(zoom) {
|
|
66
|
-
this.grids.forEach(grid => {
|
|
67
|
-
if (grid.isConnected)
|
|
68
|
-
grid.table.previewZoom(zoom);
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
updateZoom() {
|
|
72
|
-
this.grids.forEach(grid => {
|
|
73
|
-
if (grid.isConnected)
|
|
74
|
-
grid.zoom = this.zoom;
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
hideSelectors() {
|
|
78
|
-
this.grids.forEach(grid => {
|
|
79
|
-
if (grid.isConnected)
|
|
80
|
-
grid.selecting.hideSelector();
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
showSelectors() {
|
|
84
|
-
this.grids.forEach(grid => {
|
|
85
|
-
if (grid.isConnected)
|
|
86
|
-
grid.selecting.showSelector();
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
renameSheet(oldName, newName) {
|
|
90
|
-
if (this.model.has(newName))
|
|
91
|
-
throw new Error(`Sheet '${newName}' already exists`);
|
|
92
|
-
if (this.grids.has(oldName)) {
|
|
93
|
-
this.grids.set(newName, this.grids.get(oldName));
|
|
94
|
-
this.grids.delete(oldName);
|
|
95
|
-
}
|
|
96
|
-
this.model.rename(oldName, newName);
|
|
97
|
-
this.container.model.updateTab(oldName, { id: newName, title: newName });
|
|
98
|
-
this.updateTabs();
|
|
99
|
-
}
|
|
100
|
-
updateTabs() {
|
|
101
|
-
// sync tabs with model
|
|
102
|
-
this.containerModel.walk(tab => {
|
|
103
|
-
const m = this.model.get(tab.id);
|
|
104
|
-
if (!m)
|
|
105
|
-
return;
|
|
106
|
-
tab.id = m.name;
|
|
107
|
-
tab.color = m.tab?.color;
|
|
108
|
-
tab.hidden = !this.options.showHiddenTabs && m.tab?.hidden;
|
|
109
|
-
tab.icon = m.tab?.hidden ? 'eye-slash' : null;
|
|
110
|
-
});
|
|
111
|
-
this.container?.updateTabs();
|
|
112
|
-
}
|
|
113
|
-
updateContainer() {
|
|
114
|
-
this.container?.splitContainer?.requestUpdate();
|
|
115
|
-
}
|
|
116
|
-
constructor() {
|
|
117
|
-
super();
|
|
118
|
-
this.options = DEFAULT_OPTIONS;
|
|
119
|
-
this.designMode = false;
|
|
120
|
-
this.zoom = 1;
|
|
121
|
-
this.tabPosition = 'top';
|
|
122
|
-
this.logger = new log.Logger('ΩgridGroup');
|
|
123
|
-
this.grids = new Map();
|
|
124
|
-
this.commandWindowRef = createRef();
|
|
125
|
-
this.plugins = new Plugins(this);
|
|
126
|
-
this._formulaModeGrid = null;
|
|
127
|
-
this._isLoaded = false;
|
|
128
|
-
this._onGridSelect = (e) => {
|
|
129
|
-
if (!e.grid)
|
|
130
|
-
return;
|
|
131
|
-
if (this.isFormulaMode)
|
|
132
|
-
return;
|
|
133
|
-
this.activateGrid(e.grid.model.name, true);
|
|
134
|
-
};
|
|
135
|
-
this.createGrid = (id) => new Promise(resolve => {
|
|
136
|
-
const name = id;
|
|
137
|
-
let grid = this.grids.get(name);
|
|
138
|
-
if (grid) {
|
|
139
|
-
resolve(grid);
|
|
140
|
-
return;
|
|
141
|
-
}
|
|
142
|
-
const model = this.model.has(name) ? this.model.get(name) : this.model.add(createEmptyModel());
|
|
143
|
-
model.options.commandWindow = false;
|
|
144
|
-
grid = dom.createElement('og-grid');
|
|
145
|
-
grid.style.height = '100%';
|
|
146
|
-
grid.model = model;
|
|
147
|
-
grid.options = model.options;
|
|
148
|
-
grid.group = this;
|
|
149
|
-
grid.zoom = this.zoom;
|
|
150
|
-
this.grids.set(model.name, grid);
|
|
151
|
-
resolve(grid);
|
|
152
|
-
});
|
|
153
|
-
this._onTabSelect = (e) => {
|
|
154
|
-
if (e.tab && this._isLoaded) {
|
|
155
|
-
const grid = this.grids.get(e.tab.id);
|
|
156
|
-
if (this._activeGrid != grid) {
|
|
157
|
-
this.activateGrid(grid.model.name, true);
|
|
158
|
-
setTimeout(() => this._activeGrid.focus(), 100); // TODO - figure out how to do this without timeout
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
};
|
|
162
|
-
this._onTabAdd = (e) => {
|
|
163
|
-
const model = this.model.add(createEmptyModel());
|
|
164
|
-
if (!e.tabs?.container)
|
|
165
|
-
return;
|
|
166
|
-
e.tabs.container.open({ id: model.name, title: model.name });
|
|
167
|
-
};
|
|
168
|
-
this._onContainerLoad = () => {
|
|
169
|
-
this._isLoaded = true;
|
|
170
|
-
// wait for grid to be connected
|
|
171
|
-
if (this.gridModels.length)
|
|
172
|
-
this.activateGrid(this.gridModels[0].name, true);
|
|
173
|
-
};
|
|
174
|
-
this.render = () => html `
|
|
175
|
-
<og-tabsplitcontainer
|
|
176
|
-
?singleActive="${true}"
|
|
177
|
-
?addButton="${true}"
|
|
178
|
-
?closable="${false}"
|
|
179
|
-
.tabPosition="${this.tabPosition}"
|
|
180
|
-
@tab.select="${this._onTabSelect}"
|
|
181
|
-
@tab.add="${this._onTabAdd}"
|
|
182
|
-
@load="${this._onContainerLoad}"
|
|
183
|
-
.createComponent="${this.createGrid}"
|
|
184
|
-
.model="${this.containerModel}">
|
|
185
|
-
</og-tabsplitcontainer>
|
|
186
|
-
`;
|
|
187
|
-
this.model = new GroupModel();
|
|
188
|
-
this.model.add(createEmptyModel());
|
|
189
|
-
this.containerModel = new TabSplitContainerModel({
|
|
190
|
-
items: [{
|
|
191
|
-
size: null,
|
|
192
|
-
tabs: Array.from(this.model.models).map(([name]) => ({
|
|
193
|
-
id: name,
|
|
194
|
-
title: name
|
|
195
|
-
}))
|
|
196
|
-
}]
|
|
197
|
-
});
|
|
198
|
-
this.addEventListener('grid.selector.select', this._onGridSelect);
|
|
199
|
-
this.addEventListener('grid.object.activate', this._onGridSelect);
|
|
200
|
-
}
|
|
201
|
-
deleteModel(name) {
|
|
202
|
-
this.model.remove(name);
|
|
203
|
-
this.containerModel.removeTab(name);
|
|
204
|
-
this.updateContainer();
|
|
205
|
-
}
|
|
206
|
-
duplicateModel(name) {
|
|
207
|
-
const model = this.model.duplicate(name);
|
|
208
|
-
this.containerModel.addTab({ id: model.name, title: model.name }, name);
|
|
209
|
-
this.updateContainer();
|
|
210
|
-
}
|
|
211
|
-
connectedCallback() {
|
|
212
|
-
super.connectedCallback();
|
|
213
|
-
this.tabIndex = 0;
|
|
214
|
-
}
|
|
215
|
-
layout() {
|
|
216
|
-
this.container?.layout();
|
|
217
|
-
}
|
|
218
|
-
setSourceData(sourceData) {
|
|
219
|
-
this.grids.clear();
|
|
220
|
-
this.model = new GroupModel(sourceData);
|
|
221
|
-
//sourceData.models.forEach(src => this.model.get(src.name).tabColor = src.tabColor);
|
|
222
|
-
this.containerModel = new TabSplitContainerModel(sourceData.layout);
|
|
223
|
-
if (this.model.errors.length && this.logger) {
|
|
224
|
-
this.model.errors.forEach(e => this.logger.error(e.message));
|
|
225
|
-
}
|
|
226
|
-
this.fixLayout();
|
|
227
|
-
}
|
|
228
|
-
getSourceData() {
|
|
229
|
-
const data = this.model.getSourceData();
|
|
230
|
-
data.layout = this.containerModel.getSourceData();
|
|
231
|
-
return data;
|
|
232
|
-
}
|
|
233
|
-
willUpdate(props) {
|
|
234
|
-
if (props.has('zoom'))
|
|
235
|
-
this.updateZoom();
|
|
236
|
-
if (!this.model)
|
|
237
|
-
this.model = new GroupModel();
|
|
238
|
-
this.updateTabs();
|
|
239
|
-
}
|
|
240
|
-
getGrid(name) {
|
|
241
|
-
return this.grids.get(name);
|
|
242
|
-
}
|
|
243
|
-
getGridByModel(model) {
|
|
244
|
-
return this.getGrid(model.name);
|
|
245
|
-
}
|
|
246
|
-
/**
|
|
247
|
-
* Adds tabs for grid models missing in layout definition.
|
|
248
|
-
*/
|
|
249
|
-
fixLayout() {
|
|
250
|
-
const modelNames = new Set();
|
|
251
|
-
this.model.models.forEach((_, name) => modelNames.add(name));
|
|
252
|
-
let defaultContainer = null;
|
|
253
|
-
this.containerModel.walk((item, container) => {
|
|
254
|
-
if (defaultContainer == null)
|
|
255
|
-
defaultContainer = container;
|
|
256
|
-
modelNames.delete(item.id);
|
|
257
|
-
});
|
|
258
|
-
defaultContainer = defaultContainer || this.containerModel;
|
|
259
|
-
defaultContainer.items = defaultContainer.items || [];
|
|
260
|
-
if (!defaultContainer.items.length)
|
|
261
|
-
defaultContainer.items.push({});
|
|
262
|
-
if (!defaultContainer.items[0].tabs)
|
|
263
|
-
defaultContainer.items[0].tabs = [];
|
|
264
|
-
const containerItem = defaultContainer.items.find(item => item.container == null && item.tabs != null);
|
|
265
|
-
modelNames.forEach(name => containerItem.tabs.push({ id: name, title: name }));
|
|
266
|
-
}
|
|
267
|
-
};
|
|
268
|
-
GridGroup.styles = css `
|
|
269
|
-
* {
|
|
270
|
-
box-sizing: border-box;
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
:host {
|
|
274
|
-
display: block;
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
og-tabsplitcontainer {
|
|
278
|
-
height: 100%;
|
|
279
|
-
}
|
|
280
|
-
`;
|
|
281
|
-
__decorate([
|
|
282
|
-
property({ type: Object })
|
|
283
|
-
], GridGroup.prototype, "options", void 0);
|
|
284
|
-
__decorate([
|
|
285
|
-
property({ type: Object })
|
|
286
|
-
], GridGroup.prototype, "model", void 0);
|
|
287
|
-
__decorate([
|
|
288
|
-
property({ type: Object })
|
|
289
|
-
], GridGroup.prototype, "containerModel", void 0);
|
|
290
|
-
__decorate([
|
|
291
|
-
property({ type: Boolean })
|
|
292
|
-
], GridGroup.prototype, "designMode", void 0);
|
|
293
|
-
__decorate([
|
|
294
|
-
property({ type: Number })
|
|
295
|
-
], GridGroup.prototype, "zoom", void 0);
|
|
296
|
-
__decorate([
|
|
297
|
-
property({ type: String, reflect: true })
|
|
298
|
-
], GridGroup.prototype, "tabPosition", void 0);
|
|
299
|
-
__decorate([
|
|
300
|
-
property({ type: Object })
|
|
301
|
-
], GridGroup.prototype, "logger", void 0);
|
|
302
|
-
__decorate([
|
|
303
|
-
state()
|
|
304
|
-
], GridGroup.prototype, "grids", void 0);
|
|
305
|
-
__decorate([
|
|
306
|
-
query('og-tabsplitcontainer')
|
|
307
|
-
], GridGroup.prototype, "container", void 0);
|
|
308
|
-
GridGroup = __decorate([
|
|
309
|
-
customElement('og-gridgroup')
|
|
310
|
-
], GridGroup);
|
|
311
|
-
export { GridGroup };
|
|
312
|
-
//# sourceMappingURL=group.js.map
|
package/dist/ui/group.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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}"]}
|
package/dist/ui/index.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export * from './elementCache';
|
|
2
|
-
export * from './filterLabel';
|
|
3
|
-
export * from './formulaInput';
|
|
4
|
-
export * from './grid';
|
|
5
|
-
export * from './grid.editing';
|
|
6
|
-
export * from './grid.events';
|
|
7
|
-
export * from './grid.filtering';
|
|
8
|
-
export * from './grid.rendering';
|
|
9
|
-
export * from './grid.selecting';
|
|
10
|
-
export * from './grid.sorting';
|
|
11
|
-
export * from './group';
|
|
12
|
-
export * from './objectHost';
|
|
13
|
-
export * from './selector';
|
|
14
|
-
export * from './sparkline';
|
|
15
|
-
export * from './sortingArrow';
|
|
16
|
-
export * from './table';
|
|
17
|
-
export * from './tooltip';
|
|
18
|
-
export * from './comment';
|
|
19
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/ui/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
|
package/dist/ui/index.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export * from './elementCache';
|
|
2
|
-
export * from './filterLabel';
|
|
3
|
-
export * from './formulaInput';
|
|
4
|
-
export * from './grid';
|
|
5
|
-
export * from './grid.editing';
|
|
6
|
-
export * from './grid.events';
|
|
7
|
-
export * from './grid.filtering';
|
|
8
|
-
export * from './grid.rendering';
|
|
9
|
-
export * from './grid.selecting';
|
|
10
|
-
export * from './grid.sorting';
|
|
11
|
-
export * from './group';
|
|
12
|
-
export * from './objectHost';
|
|
13
|
-
export * from './selector';
|
|
14
|
-
export * from './sparkline';
|
|
15
|
-
export * from './sortingArrow';
|
|
16
|
-
export * from './table';
|
|
17
|
-
export * from './tooltip';
|
|
18
|
-
export * from './comment';
|
|
19
|
-
//# sourceMappingURL=index.js.map
|
package/dist/ui/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC","sourcesContent":["export * from './elementCache';\nexport * from './filterLabel';\nexport * from './formulaInput';\nexport * from './grid';\nexport * from './grid.editing';\nexport * from './grid.events';\nexport * from './grid.filtering';\nexport * from './grid.rendering';\nexport * from './grid.selecting';\nexport * from './grid.sorting';\nexport * from './group';\nexport * from './objectHost';\nexport * from './selector';\nexport * from './sparkline';\nexport * from './sortingArrow';\nexport * from './table';\nexport * from './tooltip';\nexport * from './comment';"]}
|
package/dist/ui/objectHost.d.ts
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { ComponentContainer, ComponentFactory, Layout } from "@omegagrid/core";
|
|
2
|
-
import { LitElement } from "lit";
|
|
3
|
-
import { Grid } from "./grid";
|
|
4
|
-
import { ObjectModel } from "@omegagrid/grid-core";
|
|
5
|
-
import { GridEvent } from "./grid.events";
|
|
6
|
-
export declare class ObjectEvent extends GridEvent {
|
|
7
|
-
readonly object: ObjectModel;
|
|
8
|
-
readonly host: ObjectHost;
|
|
9
|
-
constructor(type: string, args: Partial<ObjectEvent>);
|
|
10
|
-
}
|
|
11
|
-
export declare class ObjectHost extends LitElement implements ComponentContainer, Layout {
|
|
12
|
-
static styles: import("lit").CSSResult[];
|
|
13
|
-
grid: Grid;
|
|
14
|
-
active: boolean;
|
|
15
|
-
model: ObjectModel;
|
|
16
|
-
body: HTMLElement;
|
|
17
|
-
createComponent: ComponentFactory<HTMLElement>;
|
|
18
|
-
component: HTMLElement;
|
|
19
|
-
private resizeObserver;
|
|
20
|
-
constructor();
|
|
21
|
-
connectedCallback(): void;
|
|
22
|
-
disconnectedCallback(): void;
|
|
23
|
-
getComponent(): Promise<HTMLElement>;
|
|
24
|
-
updated(props: Map<string, unknown>): Promise<void>;
|
|
25
|
-
updatePosition: () => void;
|
|
26
|
-
layout(): void;
|
|
27
|
-
_onHeadMouseDown: (e: MouseEvent) => void;
|
|
28
|
-
render: () => import("lit-html").TemplateResult<1>;
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=objectHost.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"objectHost.d.ts","sourceRoot":"","sources":["../../src/ui/objectHost.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,EAAO,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAEvC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI1C,qBAAa,WAAY,SAAQ,SAAS;IACzC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;gBACd,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC;CAIpD;AAED,qBACa,UAAW,SAAQ,UAAW,YAAW,kBAAkB,EAAE,MAAM;IAE/E,MAAM,CAAC,MAAM,4BAAW;IAExB,IAAI,EAAE,IAAI,CAAC;IAGX,MAAM,UAAS;IAGf,KAAK,EAAE,WAAW,CAAC;IAGnB,IAAI,EAAE,WAAW,CAAC;IAElB,eAAe,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC/C,SAAS,EAAE,WAAW,CAAC;IAEvB,OAAO,CAAC,cAAc,CAAiB;;IAavC,iBAAiB;IAKjB,oBAAoB;IAKd,YAAY;IAKZ,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAUzC,cAAc,aAeb;IAED,MAAM;IAMN,gBAAgB,GAAI,GAAG,UAAU,UAoBhC;IAED,MAAM,6CAGJ;CAEF"}
|
package/dist/ui/objectHost.js
DELETED
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
import { dom } from "@omegagrid/core";
|
|
8
|
-
import { LitElement, html } from "lit";
|
|
9
|
-
import { customElement, property, query } from "lit/decorators.js";
|
|
10
|
-
import { GridEvent } from "./grid.events";
|
|
11
|
-
import { style } from "./objectHost.style";
|
|
12
|
-
import { debounce } from "ts-debounce";
|
|
13
|
-
export class ObjectEvent extends GridEvent {
|
|
14
|
-
constructor(type, args) {
|
|
15
|
-
super(`object.${type}`, args);
|
|
16
|
-
Object.assign(this, args);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
let ObjectHost = class ObjectHost extends LitElement {
|
|
20
|
-
constructor() {
|
|
21
|
-
super();
|
|
22
|
-
this.active = false;
|
|
23
|
-
this.updatePosition = () => {
|
|
24
|
-
if (!this.model)
|
|
25
|
-
return;
|
|
26
|
-
if (this.model.location) {
|
|
27
|
-
const { x, y } = this.model.location;
|
|
28
|
-
const column = this.grid.table.viewport.columns[0];
|
|
29
|
-
const row = this.grid.table.viewport.rows[0];
|
|
30
|
-
const offset = this.grid.model.calculateCellOffset(row.cell(column.index).range);
|
|
31
|
-
dom.setPosition(this, {
|
|
32
|
-
l: x - offset.x + this.grid.table.totalHeaderWidth,
|
|
33
|
-
t: y - offset.y + this.grid.table.totalHeaderHeight
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
if (this.model.size) {
|
|
37
|
-
dom.setSize(this, this.model.size);
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
this._onHeadMouseDown = (e) => {
|
|
41
|
-
if (e.button !== 0)
|
|
42
|
-
return;
|
|
43
|
-
const rect = this.getBoundingClientRect();
|
|
44
|
-
const offsetX = e.clientX - rect.left;
|
|
45
|
-
const offsetY = e.clientY - rect.top;
|
|
46
|
-
let { top, left } = dom.getElementOffset(this.grid, document.body);
|
|
47
|
-
left += this.grid.table.totalHeaderWidth;
|
|
48
|
-
top += this.grid.table.totalHeaderHeight;
|
|
49
|
-
const move = (e) => {
|
|
50
|
-
this.model.location = { x: e.clientX - offsetX - left, y: e.clientY - offsetY - top };
|
|
51
|
-
this.updatePosition();
|
|
52
|
-
};
|
|
53
|
-
const up = () => {
|
|
54
|
-
document.removeEventListener('mousemove', move);
|
|
55
|
-
document.removeEventListener('mouseup', up);
|
|
56
|
-
this.dispatchEvent(this.grid.createEvent('moveend', { object: this.model, host: this }, ObjectEvent));
|
|
57
|
-
};
|
|
58
|
-
document.addEventListener('mousemove', move);
|
|
59
|
-
document.addEventListener('mouseup', up);
|
|
60
|
-
};
|
|
61
|
-
this.render = () => html `
|
|
62
|
-
<div id="head" @mousedown="${this._onHeadMouseDown}"></div>
|
|
63
|
-
<div id="body"></div>
|
|
64
|
-
`;
|
|
65
|
-
this.addEventListener('pointerdown', (e) => e.stopImmediatePropagation());
|
|
66
|
-
this.addEventListener('click', (e) => e.stopImmediatePropagation());
|
|
67
|
-
const debounceResize = debounce(() => this.layout(), 1);
|
|
68
|
-
this.resizeObserver = new ResizeObserver(() => {
|
|
69
|
-
this.model.size = { w: this.offsetWidth, h: this.offsetHeight };
|
|
70
|
-
debounceResize();
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
connectedCallback() {
|
|
74
|
-
super.connectedCallback();
|
|
75
|
-
this.resizeObserver.observe(this);
|
|
76
|
-
}
|
|
77
|
-
disconnectedCallback() {
|
|
78
|
-
super.disconnectedCallback();
|
|
79
|
-
this.resizeObserver.unobserve(this);
|
|
80
|
-
}
|
|
81
|
-
async getComponent() {
|
|
82
|
-
if (!this.component)
|
|
83
|
-
this.component = await this.createComponent();
|
|
84
|
-
return this.component;
|
|
85
|
-
}
|
|
86
|
-
async updated(props) {
|
|
87
|
-
dom.empty(this.body);
|
|
88
|
-
this.body.appendChild(await this.getComponent());
|
|
89
|
-
this.layout();
|
|
90
|
-
if (props.has('active')) {
|
|
91
|
-
this.layout();
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
layout() {
|
|
95
|
-
if (this.component && this.component.layout) {
|
|
96
|
-
this.component.layout();
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
|
-
ObjectHost.styles = [style];
|
|
101
|
-
__decorate([
|
|
102
|
-
property({ type: Boolean, reflect: true })
|
|
103
|
-
], ObjectHost.prototype, "active", void 0);
|
|
104
|
-
__decorate([
|
|
105
|
-
property({ type: Object })
|
|
106
|
-
], ObjectHost.prototype, "model", void 0);
|
|
107
|
-
__decorate([
|
|
108
|
-
query("#body")
|
|
109
|
-
], ObjectHost.prototype, "body", void 0);
|
|
110
|
-
ObjectHost = __decorate([
|
|
111
|
-
customElement("og-object-host")
|
|
112
|
-
], ObjectHost);
|
|
113
|
-
export { ObjectHost };
|
|
114
|
-
//# sourceMappingURL=objectHost.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"objectHost.js","sourceRoot":"","sources":["../../src/ui/objectHost.ts"],"names":[],"mappings":"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","sourcesContent":["import { ComponentContainer, ComponentFactory, Layout, dom } from \"@omegagrid/core\";\nimport { LitElement, html } from \"lit\";\nimport { customElement, property, query } from \"lit/decorators.js\";\nimport { Grid } from \"./grid\";\nimport { ObjectModel } from \"@omegagrid/grid-core\";\nimport { GridEvent } from \"./grid.events\";\nimport { style } from \"./objectHost.style\";\nimport { debounce } from \"ts-debounce\";\n\nexport class ObjectEvent extends GridEvent {\n\treadonly object: ObjectModel;\n\treadonly host: ObjectHost;\n\tconstructor(type: string, args: Partial<ObjectEvent>) {\n\t\tsuper(`object.${type}`, args);\n\t\tObject.assign(this, args);\n\t}\n}\n\n@customElement(\"og-object-host\")\nexport class ObjectHost extends LitElement implements ComponentContainer, Layout {\n\n\tstatic styles = [style];\n\n\tgrid: Grid;\n\n\t@property({type: Boolean, reflect: true})\n\tactive = false;\n\t\n\t@property({type: Object})\n\tmodel: ObjectModel;\n\n\t@query(\"#body\")\n\tbody: HTMLElement;\n\n\tcreateComponent: ComponentFactory<HTMLElement>;\n\tcomponent: HTMLElement;\n\n\tprivate resizeObserver: ResizeObserver;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.addEventListener('pointerdown', (e: PointerEvent) => e.stopImmediatePropagation());\n\t\tthis.addEventListener('click', (e: PointerEvent) => e.stopImmediatePropagation());\n\t\tconst debounceResize = debounce(() => this.layout(), 1);\n\t\tthis.resizeObserver = new ResizeObserver(() => {\n\t\t\tthis.model.size = {w: this.offsetWidth, h: this.offsetHeight};\n\t\t\tdebounceResize();\n\t\t});\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback();\n\t\tthis.resizeObserver.observe(this);\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback();\n\t\tthis.resizeObserver.unobserve(this);\n\t}\n\n\tasync getComponent() {\n\t\tif (!this.component) this.component = await this.createComponent();\n\t\treturn this.component;\n\t}\n\n\tasync updated(props: Map<string, unknown>) {\n\t\tdom.empty(this.body);\n\t\tthis.body.appendChild(await this.getComponent());\n\t\tthis.layout();\n\n\t\tif (props.has('active')) {\n\t\t\tthis.layout();\n\t\t}\n\t}\n\n\tupdatePosition = () => {\n\t\tif (!this.model) return;\n\t\tif (this.model.location) {\n\t\t\tconst { x, y } = this.model.location;\n\t\t\tconst column = this.grid.table.viewport.columns[0];\n\t\t\tconst row = this.grid.table.viewport.rows[0];\n\t\t\tconst offset = this.grid.model.calculateCellOffset(row.cell(column.index).range);\n\t\t\tdom.setPosition(this, {\n\t\t\t\tl: x - offset.x + this.grid.table.totalHeaderWidth, \n\t\t\t\tt: y - offset.y + this.grid.table.totalHeaderHeight\n\t\t\t});\n\t\t}\n\t\tif (this.model.size) {\n\t\t\tdom.setSize(this, this.model.size);\n\t\t}\n\t}\n\n\tlayout() {\n\t\tif (this.component && (this.component as Layout).layout) {\n\t\t\t(this.component as Layout).layout();\n\t\t}\n\t}\n\n\t_onHeadMouseDown = (e: MouseEvent) => {\n\t\tif (e.button !== 0) return;\n\t\tconst rect = this.getBoundingClientRect();\n\t\tconst offsetX = e.clientX - rect.left;\n\t\tconst offsetY = e.clientY - rect.top;\n\t\tlet { top, left } = dom.getElementOffset(this.grid, document.body);\n\t\tleft += this.grid.table.totalHeaderWidth;\n\t\ttop += this.grid.table.totalHeaderHeight;\n\n\t\tconst move = (e: MouseEvent) => {\n\t\t\tthis.model.location = {x: e.clientX - offsetX - left, y: e.clientY - offsetY - top};\n\t\t\tthis.updatePosition();\n\t\t};\n\t\tconst up = () => {\n\t\t\tdocument.removeEventListener('mousemove', move);\n\t\t\tdocument.removeEventListener('mouseup', up);\n\t\t\tthis.dispatchEvent(this.grid.createEvent('moveend', {object: this.model, host: this}, ObjectEvent));\n\t\t};\n\t\tdocument.addEventListener('mousemove', move);\n\t\tdocument.addEventListener('mouseup', up);\n\t}\n\n\trender = () => html`\n\t\t<div id=\"head\" @mousedown=\"${this._onHeadMouseDown}\"></div>\n\t\t<div id=\"body\"></div>\n\t`;\n\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"objectHost.style.d.ts","sourceRoot":"","sources":["../../src/ui/objectHost.style.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,yBAwCjB,CAAC"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { css } from "lit";
|
|
2
|
-
export const style = css `
|
|
3
|
-
* {
|
|
4
|
-
box-sizing: border-box;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
:host {
|
|
8
|
-
display: flex;
|
|
9
|
-
flex-direction: column;
|
|
10
|
-
position: absolute;
|
|
11
|
-
overflow: hidden;
|
|
12
|
-
background-color: var(--og-background-color);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
:host([active]) {
|
|
16
|
-
resize: both;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
:host([active]) #head {
|
|
20
|
-
display: block;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
:host([active]) #body {
|
|
24
|
-
border: 2px dashed var(--og-accent-color);
|
|
25
|
-
border-top: none;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
#head {
|
|
29
|
-
cursor: move;
|
|
30
|
-
display: none;
|
|
31
|
-
flex: 0 0 10px;
|
|
32
|
-
background-color: var(--og-accent-color);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
#body {
|
|
36
|
-
border: 1px solid var(--og-accent-color);
|
|
37
|
-
position: relative;
|
|
38
|
-
flex: 1;
|
|
39
|
-
overflow: hidden;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
`;
|
|
43
|
-
//# sourceMappingURL=objectHost.style.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"objectHost.style.js","sourceRoot":"","sources":["../../src/ui/objectHost.style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCvB,CAAC","sourcesContent":["import { css } from \"lit\";\n\nexport const style = css`\n\t* {\n\t\tbox-sizing: border-box;\n\t}\n\n\t:host {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tposition: absolute;\n\t\toverflow: hidden;\n\t\tbackground-color: var(--og-background-color);\n\t}\n\n\t:host([active]) {\n\t\tresize: both;\n\t}\n\n\t:host([active]) #head {\n\t\tdisplay: block;\n\t}\n\n\t:host([active]) #body {\n\t\tborder: 2px dashed var(--og-accent-color);\n\t\tborder-top: none;\n\t}\n\n\t#head {\n\t\tcursor: move;\n\t\tdisplay: none;\n\t\tflex: 0 0 10px;\n\t\tbackground-color: var(--og-accent-color);\n\t}\n\n\t#body {\n\t\tborder: 1px solid var(--og-accent-color);\n\t\tposition: relative;\n\t\tflex: 1;\n\t\toverflow: hidden;\n\t}\n\t\t\n`;\n"]}
|