@omegagrid/editor 0.2.5

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 (93) hide show
  1. package/dist/commands/index.d.ts +8 -0
  2. package/dist/commands/index.d.ts.map +1 -0
  3. package/dist/commands/index.js +19 -0
  4. package/dist/commands/index.js.map +1 -0
  5. package/dist/index.d.ts +3 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +18 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/options.d.ts +12 -0
  10. package/dist/options.d.ts.map +1 -0
  11. package/dist/options.js +18 -0
  12. package/dist/options.js.map +1 -0
  13. package/dist/ui/editor.d.ts +70 -0
  14. package/dist/ui/editor.d.ts.map +1 -0
  15. package/dist/ui/editor.js +320 -0
  16. package/dist/ui/editor.js.map +1 -0
  17. package/dist/ui/editor.style.d.ts +2 -0
  18. package/dist/ui/editor.style.d.ts.map +1 -0
  19. package/dist/ui/editor.style.js +41 -0
  20. package/dist/ui/editor.style.js.map +1 -0
  21. package/dist/ui/editorZoom.d.ts +16 -0
  22. package/dist/ui/editorZoom.d.ts.map +1 -0
  23. package/dist/ui/editorZoom.js +85 -0
  24. package/dist/ui/editorZoom.js.map +1 -0
  25. package/dist/ui/forms/configForm.d.ts +12 -0
  26. package/dist/ui/forms/configForm.d.ts.map +1 -0
  27. package/dist/ui/forms/configForm.js +89 -0
  28. package/dist/ui/forms/configForm.js.map +1 -0
  29. package/dist/ui/forms/headerForm.d.ts +18 -0
  30. package/dist/ui/forms/headerForm.d.ts.map +1 -0
  31. package/dist/ui/forms/headerForm.js +150 -0
  32. package/dist/ui/forms/headerForm.js.map +1 -0
  33. package/dist/ui/forms/index.d.ts +7 -0
  34. package/dist/ui/forms/index.d.ts.map +1 -0
  35. package/dist/ui/forms/index.js +23 -0
  36. package/dist/ui/forms/index.js.map +1 -0
  37. package/dist/ui/forms/namesForm.d.ts +21 -0
  38. package/dist/ui/forms/namesForm.d.ts.map +1 -0
  39. package/dist/ui/forms/namesForm.js +127 -0
  40. package/dist/ui/forms/namesForm.js.map +1 -0
  41. package/dist/ui/forms/ruleForm.d.ts +20 -0
  42. package/dist/ui/forms/ruleForm.d.ts.map +1 -0
  43. package/dist/ui/forms/ruleForm.js +152 -0
  44. package/dist/ui/forms/ruleForm.js.map +1 -0
  45. package/dist/ui/forms/ruleForm.style.d.ts +3 -0
  46. package/dist/ui/forms/ruleForm.style.d.ts.map +1 -0
  47. package/dist/ui/forms/ruleForm.style.js +81 -0
  48. package/dist/ui/forms/ruleForm.style.js.map +1 -0
  49. package/dist/ui/forms/sparklineForm.d.ts +22 -0
  50. package/dist/ui/forms/sparklineForm.d.ts.map +1 -0
  51. package/dist/ui/forms/sparklineForm.js +202 -0
  52. package/dist/ui/forms/sparklineForm.js.map +1 -0
  53. package/dist/ui/forms/sparklineForm.style.d.ts +3 -0
  54. package/dist/ui/forms/sparklineForm.style.d.ts.map +1 -0
  55. package/dist/ui/forms/sparklineForm.style.js +97 -0
  56. package/dist/ui/forms/sparklineForm.style.js.map +1 -0
  57. package/dist/ui/forms/styleForm.d.ts +14 -0
  58. package/dist/ui/forms/styleForm.d.ts.map +1 -0
  59. package/dist/ui/forms/styleForm.js +150 -0
  60. package/dist/ui/forms/styleForm.js.map +1 -0
  61. package/dist/ui/formulabar.d.ts +23 -0
  62. package/dist/ui/formulabar.d.ts.map +1 -0
  63. package/dist/ui/formulabar.js +164 -0
  64. package/dist/ui/formulabar.js.map +1 -0
  65. package/dist/ui/formulabar.style.d.ts +2 -0
  66. package/dist/ui/formulabar.style.d.ts.map +1 -0
  67. package/dist/ui/formulabar.style.js +49 -0
  68. package/dist/ui/formulabar.style.js.map +1 -0
  69. package/dist/ui/gridStats.d.ts +11 -0
  70. package/dist/ui/gridStats.d.ts.map +1 -0
  71. package/dist/ui/gridStats.js +74 -0
  72. package/dist/ui/gridStats.js.map +1 -0
  73. package/dist/ui/index.d.ts +9 -0
  74. package/dist/ui/index.d.ts.map +1 -0
  75. package/dist/ui/index.js +25 -0
  76. package/dist/ui/index.js.map +1 -0
  77. package/dist/ui/statusbar.d.ts +19 -0
  78. package/dist/ui/statusbar.d.ts.map +1 -0
  79. package/dist/ui/statusbar.js +72 -0
  80. package/dist/ui/statusbar.js.map +1 -0
  81. package/dist/ui/toolbar.config.d.ts +6 -0
  82. package/dist/ui/toolbar.config.d.ts.map +1 -0
  83. package/dist/ui/toolbar.config.js +138 -0
  84. package/dist/ui/toolbar.config.js.map +1 -0
  85. package/dist/ui/toolbar.d.ts +37 -0
  86. package/dist/ui/toolbar.d.ts.map +1 -0
  87. package/dist/ui/toolbar.js +288 -0
  88. package/dist/ui/toolbar.js.map +1 -0
  89. package/dist/ui/toolbar.style.d.ts +2 -0
  90. package/dist/ui/toolbar.style.d.ts.map +1 -0
  91. package/dist/ui/toolbar.style.js +25 -0
  92. package/dist/ui/toolbar.style.js.map +1 -0
  93. package/package.json +65 -0
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.StyleForm = void 0;
10
+ const core_1 = require("@omegagrid/core");
11
+ const decorators_js_1 = require("lit/decorators.js");
12
+ const lit_1 = require("lit");
13
+ const toolbar_config_1 = require("../toolbar.config");
14
+ const items = [
15
+ { type: 'togglebutton', id: 'bold', icon: { icon: 'bold' } },
16
+ { type: 'togglebutton', id: 'italic', icon: { icon: 'italic' } },
17
+ { type: 'togglebutton', id: 'underline', icon: { icon: 'underline' } },
18
+ { type: 'dropdown-button', id: 'alignment', icon: { icon: 'align-center' }, items: [[
19
+ { type: 'button', id: 'alignTopLeft', icon: { icon: 'align-left' } },
20
+ { type: 'button', id: 'alignTopCenter', icon: { icon: 'align-center' } },
21
+ { type: 'button', id: 'alignTopRight', icon: { icon: 'align-right' } },
22
+ ], [
23
+ { type: 'button', id: 'alignCenterLeft', icon: { icon: 'align-left' } },
24
+ { type: 'button', id: 'alignCenterCenter', icon: { icon: 'align-center' } },
25
+ { type: 'button', id: 'alignCenterRight', icon: { icon: 'align-right' } },
26
+ ], [
27
+ { type: 'button', id: 'alignBottomLeft', icon: { icon: 'align-left' } },
28
+ { type: 'button', id: 'alignBottomCenter', icon: { icon: 'align-center' } },
29
+ { type: 'button', id: 'alignBottomRight', icon: { icon: 'align-right' } },
30
+ ]] },
31
+ { type: 'color', id: 'color', icon: { icon: 'font' } },
32
+ { type: 'color', id: 'fgColor', icon: { icon: 'fill' } },
33
+ { type: 'dropdown-button', id: 'border', icon: { icon: 'align-center' }, items: [[
34
+ { type: 'button', id: 'borderLeft', value: { left: { style: 'thin' } }, content: (0, toolbar_config_1.createBorderIcon)('left') },
35
+ { type: 'button', id: 'borderRight', value: { right: { style: 'thin' } }, content: (0, toolbar_config_1.createBorderIcon)('right') },
36
+ { type: 'button', id: 'borderTop', value: { top: { style: 'thin' } }, content: (0, toolbar_config_1.createBorderIcon)('top') },
37
+ { type: 'button', id: 'borderBottom', value: { bottom: { style: 'thin' } }, content: (0, toolbar_config_1.createBorderIcon)('bottom') },
38
+ ], [
39
+ { type: 'button', id: 'borderNone', value: { left: null, top: null, right: null, bottom: null }, content: (0, toolbar_config_1.createBorderIcon)('none') },
40
+ { type: 'button', id: 'borderAll', value: { left: { style: 'thin' }, top: { style: 'thin' }, right: { style: 'thin' }, bottom: { style: 'thin' } }, content: (0, toolbar_config_1.createBorderIcon)('all') },
41
+ { type: 'button', id: 'borderOutside', value: { left: { style: 'thin' }, top: { style: 'thin' }, right: { style: 'thin' }, bottom: { style: 'thin' } }, content: (0, toolbar_config_1.createBorderIcon)('outside') },
42
+ { type: 'button', id: 'borderOutsideThick', value: { left: { style: 'thick' }, top: { style: 'thick' }, right: { style: 'thick' }, bottom: { style: 'thick' } }, content: (0, toolbar_config_1.createBorderIcon)('outside-thick') },
43
+ ], [
44
+ { type: 'button', id: 'borderBottomDouble', value: { bottom: { style: 'double' } }, content: (0, toolbar_config_1.createBorderIcon)('bottom-double') },
45
+ { type: 'button', id: 'borderBottomThick', value: { bottom: { style: 'thick' } }, content: (0, toolbar_config_1.createBorderIcon)('bottom-thick') },
46
+ { type: 'button', id: 'borderTopBottom', value: { top: { style: 'thin' }, bottom: { style: 'thin' } }, content: (0, toolbar_config_1.createBorderIcon)('top-bottom') },
47
+ { type: 'button', id: 'borderTopBottomThick', value: { top: { style: 'thin' }, bottom: { style: 'thick' } }, content: (0, toolbar_config_1.createBorderIcon)('top-bottom-thick') },
48
+ ], [{ type: 'color', id: 'borderColor', colspan: 4, icon: { icon: 'fill' } }]] },
49
+ ];
50
+ let StyleForm = class StyleForm extends lit_1.LitElement {
51
+ constructor() {
52
+ super(...arguments);
53
+ this.data = {};
54
+ this._onAction = (e) => {
55
+ const a = e.action;
56
+ if (/^preview/.test(a.type))
57
+ return;
58
+ switch (a.key) {
59
+ case 'bold':
60
+ this.data.bold = a.value ? true : false;
61
+ break;
62
+ case 'italic':
63
+ this.data.italic = a.value ? true : false;
64
+ break;
65
+ case 'underline':
66
+ this.data.underline = a.value ? true : false;
67
+ break;
68
+ case 'color':
69
+ this.data.color = a.value.substring(1);
70
+ break;
71
+ case 'fgColor':
72
+ this.data.fgColor = a.value.substring(1);
73
+ break;
74
+ case 'alignCenterCenter':
75
+ this.data.alignment = { vertical: 'center', horizontal: 'center' };
76
+ break;
77
+ case 'alignTopLeft':
78
+ this.data.alignment = { vertical: 'top', horizontal: 'left' };
79
+ break;
80
+ case 'alignTopCenter':
81
+ this.data.alignment = { vertical: 'top', horizontal: 'center' };
82
+ break;
83
+ case 'alignTopRight':
84
+ this.data.alignment = { vertical: 'top', horizontal: 'right' };
85
+ break;
86
+ case 'alignCenterLeft':
87
+ this.data.alignment = { vertical: 'center', horizontal: 'left' };
88
+ break;
89
+ case 'alignCenterRight':
90
+ this.data.alignment = { vertical: 'center', horizontal: 'right' };
91
+ break;
92
+ case 'alignBottomLeft':
93
+ this.data.alignment = { vertical: 'bottom', horizontal: 'left' };
94
+ break;
95
+ case 'alignBottomCenter':
96
+ this.data.alignment = { vertical: 'bottom', horizontal: 'center' };
97
+ break;
98
+ case 'alignBottomRight':
99
+ this.data.alignment = { vertical: 'bottom', horizontal: 'right' };
100
+ break;
101
+ }
102
+ };
103
+ this.render = () => (0, lit_1.html) `
104
+ <og-toolbar
105
+ .items="${items}"
106
+ .values="${this.styleToToolbarValues(this.data)}"
107
+ @toolbar.action="${this._onAction}">
108
+ </og-toolbar>
109
+ `;
110
+ }
111
+ styleToToolbarValues(s) {
112
+ const values = {};
113
+ values.bold = s.bold;
114
+ values.italic = s.italic;
115
+ values.underline = s.underline;
116
+ values.color = `#${s.color}`;
117
+ values.fgColor = `#${s.fgColor || s.bgColor}`;
118
+ return values;
119
+ }
120
+ connectedCallback() {
121
+ super.connectedCallback();
122
+ }
123
+ };
124
+ exports.StyleForm = StyleForm;
125
+ StyleForm.styles = [(0, lit_1.css) `
126
+ .row {
127
+ height: 30px;
128
+ line-height: 30px;
129
+ display: flex;
130
+ flex-direction: row;
131
+ gap: 3px;
132
+ }
133
+
134
+ .row > og-button {
135
+ min-width: 24px;
136
+ height: 24px;
137
+ padding: 0;
138
+ }
139
+ `];
140
+ __decorate([
141
+ (0, decorators_js_1.property)({ type: Object })
142
+ ], StyleForm.prototype, "data", void 0);
143
+ __decorate([
144
+ (0, decorators_js_1.query)('og-toolbar')
145
+ ], StyleForm.prototype, "toolbar", void 0);
146
+ exports.StyleForm = StyleForm = __decorate([
147
+ (0, decorators_js_1.customElement)('og-editor-form-style'),
148
+ (0, core_1.stylable)({ vars: ['background-color', 'font-*', 'accent-color', 'accent-color-highlight', 'text-color-2'] })
149
+ ], StyleForm);
150
+ //# sourceMappingURL=styleForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styleForm.js","sourceRoot":"","sources":["../../../src/ui/forms/styleForm.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { ElementModel, Grid, FormulaInput, FormulaInputEvent, SelectorEvent, GridEvent } from '@omegagrid/grid';
2
+ import { LitElement } from 'lit';
3
+ export declare class EditorFormula extends LitElement {
4
+ static styles: import("lit").CSSResult[];
5
+ grid: Grid;
6
+ gridElement: ElementModel;
7
+ addressInput: HTMLInputElement;
8
+ formulaInput: FormulaInput;
9
+ private isInputActive;
10
+ get gridElementValue(): string;
11
+ _onGridSelectorUpdate: (e: SelectorEvent) => void;
12
+ _onGridSelect: (e: GridEvent) => void;
13
+ willUpdate(props: Map<PropertyKey, unknown>): void;
14
+ _onInputPreview: (e: FormulaInputEvent) => void;
15
+ commit(): void;
16
+ _onInputCommit: () => void;
17
+ _onInputDiscard: () => void;
18
+ _onAddressFocus: () => void;
19
+ _onInputFocus: () => void;
20
+ _onInput: () => void;
21
+ render: () => import("lit-html").TemplateResult<1>;
22
+ }
23
+ //# sourceMappingURL=formulabar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formulabar.d.ts","sourceRoot":"","sources":["../../src/ui/formulabar.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACtI,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAIvC,qBAEa,aAAc,SAAQ,UAAU;IAE5C,MAAM,CAAC,MAAM,4BAAW;IAExB,IAAI,EAAE,IAAI,CAAC;IAGX,WAAW,EAAE,YAAY,CAAC;IAG1B,YAAY,EAAE,gBAAgB,CAAC;IAG/B,YAAY,EAAE,YAAY,CAAC;IAE3B,OAAO,CAAC,aAAa,CAAS;IAE9B,IAAI,gBAAgB,WAAyD;IAE7E,qBAAqB,MAAO,aAAa,UAMxC;IAED,aAAa,MAAO,SAAS,UAiB5B;IAED,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC;IAY3C,eAAe,MAAO,iBAAiB,UAGtC;IAED,MAAM;IAsBN,cAAc,aAEb;IAED,eAAe,aAMd;IAED,eAAe,aAKd;IAED,aAAa,aAGZ;IAED,QAAQ,aAEP;IAED,MAAM,6CAqBJ;CAEF"}
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.EditorFormula = void 0;
10
+ const core_1 = require("@omegagrid/core");
11
+ const grid_1 = require("@omegagrid/grid");
12
+ const lit_1 = require("lit");
13
+ const decorators_js_1 = require("lit/decorators.js");
14
+ const formulabar_style_1 = require("./formulabar.style");
15
+ let EditorFormula = class EditorFormula extends lit_1.LitElement {
16
+ constructor() {
17
+ super(...arguments);
18
+ this.isInputActive = false;
19
+ this._onGridSelectorUpdate = (e) => {
20
+ var _a;
21
+ if (!this.isInputActive)
22
+ return;
23
+ if (((_a = e.selector) === null || _a === void 0 ? void 0 : _a.index) == null)
24
+ return;
25
+ const range = e.selector.selection.range.clone();
26
+ if (e.selector.grid != this.grid)
27
+ range.sheet = e.selector.grid.model.name;
28
+ this.formulaInput.setRange(range, e.selector.index);
29
+ };
30
+ this._onGridSelect = (e) => {
31
+ if (e.grid.editing.isFormulaMode) {
32
+ if (!this.isInputActive)
33
+ return;
34
+ const range = e.selection.range.clone();
35
+ if (e.grid != this.grid)
36
+ range.sheet = e.grid.model.name;
37
+ this.formulaInput.setRange(range);
38
+ }
39
+ else {
40
+ if (e.selection.range.isCell) {
41
+ this.gridElement = e.grid.selecting.activeCell;
42
+ }
43
+ else if (e.selection.range.isColumn) {
44
+ this.gridElement = e.grid.selecting.activeCell.column;
45
+ }
46
+ else if (e.selection.range.isRow) {
47
+ this.gridElement = e.grid.selecting.activeCell.row;
48
+ }
49
+ if (this.formulaInput)
50
+ this.formulaInput.value = this.gridElementValue;
51
+ }
52
+ };
53
+ this._onInputPreview = (e) => {
54
+ this.grid.selecting.removeFormulaHighlight();
55
+ if (e.formula)
56
+ this.grid.selecting.highlightFormula(e.formula);
57
+ };
58
+ this._onInputCommit = () => {
59
+ this.commit();
60
+ };
61
+ this._onInputDiscard = () => {
62
+ var _a;
63
+ if (!this.formulaInput.isDiscarded)
64
+ this.commit();
65
+ this.grid.editing.endFormulaMode();
66
+ this.grid.focus();
67
+ this.isInputActive = false;
68
+ this.formulaInput.value = (this.gridElement ? ((_a = this.gridElement.value2) !== null && _a !== void 0 ? _a : '') : '').toString();
69
+ };
70
+ this._onAddressFocus = () => {
71
+ var _a, _b;
72
+ const range = (_a = this.grid) === null || _a === void 0 ? void 0 : _a.selection.range;
73
+ const name = (_b = this.gridElement) === null || _b === void 0 ? void 0 : _b.name;
74
+ this.addressInput.selectionStart = name ? (range.A1.length + 2) : 0;
75
+ this.addressInput.selectionEnd = name ? (this.addressInput.selectionStart + name.length) : range.A1.length;
76
+ };
77
+ this._onInputFocus = () => {
78
+ this.isInputActive = true;
79
+ if ((0, grid_1.isFormula)(this.formulaInput.inputValue))
80
+ this.grid.editing.startFormulaMode();
81
+ };
82
+ this._onInput = () => {
83
+ if ((0, grid_1.isFormula)(this.formulaInput.inputValue))
84
+ this.grid.editing.startFormulaMode();
85
+ };
86
+ this.render = () => {
87
+ var _a, _b, _c;
88
+ const range = (_a = this.grid) === null || _a === void 0 ? void 0 : _a.selection.range;
89
+ return (0, lit_1.html) `
90
+ <div id="address">
91
+ <input id="addressInput"
92
+ type="text"
93
+ @focus="${this._onAddressFocus}"
94
+ .value="${range ? `${range.A1}${((_b = this.gridElement) === null || _b === void 0 ? void 0 : _b.name) ? ` (${this.gridElement.name})` : ''}` : ''}"
95
+ readonly>
96
+ </div>
97
+
98
+ <og-grid-formula id="formulaInput"
99
+ .tokenizer="${(_c = this.grid) === null || _c === void 0 ? void 0 : _c.model.calculations.tokenizer}"
100
+ .value="${this.gridElementValue}"
101
+ @input="${this._onInput}"
102
+ @focus="${this._onInputFocus}"
103
+ @formula.preview="${this._onInputPreview}"
104
+ @formula.commit="${this._onInputCommit}"
105
+ @formula.discard="${this._onInputDiscard}">
106
+ </og-grid-formula>
107
+ `;
108
+ };
109
+ }
110
+ get gridElementValue() { var _a, _b; return ((_b = (_a = this.gridElement) === null || _a === void 0 ? void 0 : _a.value2) !== null && _b !== void 0 ? _b : '').toString(); }
111
+ willUpdate(props) {
112
+ if (props.has('grid') && this.grid) {
113
+ const eventTarget = this.grid.group ? this.grid.group : this.grid;
114
+ eventTarget.removeEventListener('grid.selector.resize', this._onGridSelectorUpdate);
115
+ eventTarget.removeEventListener('grid.selector.move', this._onGridSelectorUpdate);
116
+ eventTarget.removeEventListener('grid.select', this._onGridSelect);
117
+ eventTarget.addEventListener('grid.selector.resize', this._onGridSelectorUpdate);
118
+ eventTarget.addEventListener('grid.selector.move', this._onGridSelectorUpdate);
119
+ eventTarget.addEventListener('grid.select', this._onGridSelect);
120
+ }
121
+ }
122
+ commit() {
123
+ if (this.formulaInput.isDiscarded)
124
+ return;
125
+ const gridElement = this.gridElement;
126
+ const value = this.formulaInput.value;
127
+ if (gridElement instanceof grid_1.CellModel) {
128
+ gridElement.value = value;
129
+ this.grid.rendering.updateCell(gridElement, true);
130
+ }
131
+ else if (gridElement && (0, grid_1.isFormula)(value)) {
132
+ gridElement.formula = value;
133
+ this.grid.rendering.calculateViewport(true);
134
+ this.grid.rendering.render(false);
135
+ }
136
+ else if (gridElement) {
137
+ gridElement.formula = null;
138
+ this.grid.rendering.calculateViewport(true);
139
+ this.grid.rendering.render(false);
140
+ }
141
+ this.grid.editing.endFormulaMode();
142
+ this.grid.focus();
143
+ this.isInputActive = false;
144
+ }
145
+ };
146
+ exports.EditorFormula = EditorFormula;
147
+ EditorFormula.styles = [formulabar_style_1.style];
148
+ __decorate([
149
+ (0, decorators_js_1.property)({ type: Object })
150
+ ], EditorFormula.prototype, "grid", void 0);
151
+ __decorate([
152
+ (0, decorators_js_1.state)()
153
+ ], EditorFormula.prototype, "gridElement", void 0);
154
+ __decorate([
155
+ (0, decorators_js_1.query)('#addressInput')
156
+ ], EditorFormula.prototype, "addressInput", void 0);
157
+ __decorate([
158
+ (0, decorators_js_1.query)('#formulaInput')
159
+ ], EditorFormula.prototype, "formulaInput", void 0);
160
+ exports.EditorFormula = EditorFormula = __decorate([
161
+ (0, decorators_js_1.customElement)('og-editor-formula'),
162
+ (0, core_1.stylable)({ vars: ['background-color', 'font-*', 'accent-color', 'accent-color-highlight', 'text-*'] })
163
+ ], EditorFormula);
164
+ //# sourceMappingURL=formulabar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formulabar.js","sourceRoot":"","sources":["../../src/ui/formulabar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const style: import("lit").CSSResult;
2
+ //# sourceMappingURL=formulabar.style.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formulabar.style.d.ts","sourceRoot":"","sources":["../../src/ui/formulabar.style.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,yBA2CjB,CAAC"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.style = void 0;
4
+ const lit_1 = require("lit");
5
+ exports.style = (0, lit_1.css) `
6
+ * {
7
+ box-sizing: border-box;
8
+ }
9
+
10
+ :host {
11
+ font-size: var(--font-size);
12
+ box-sizing: border-box;
13
+ display: flex;
14
+ flex-direction: row;
15
+ gap: 4px;
16
+ position: relative;
17
+ background-color: var(--background-color);
18
+ padding: 4px;
19
+ outline: none;
20
+ }
21
+
22
+ #address {
23
+ flex: 0;
24
+ min-width: 100px;
25
+ border: 1.5px solid var(--accent-color);
26
+ padding: 0;
27
+ }
28
+
29
+ #address input {
30
+ outline: none;
31
+ border: none;
32
+ color: var(--text-color);
33
+ background-color: transparent;
34
+ display: block;
35
+ height: 100%;
36
+ width: 100%;
37
+ }
38
+
39
+
40
+ #formulaInput {
41
+ flex: 1;
42
+ height: 100%;
43
+ outline: none;
44
+ border: 1.5px solid var(--accent-color);
45
+ display: block;
46
+ padding: 0;
47
+ }
48
+ `;
49
+ //# sourceMappingURL=formulabar.style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formulabar.style.js","sourceRoot":"","sources":["../../src/ui/formulabar.style.ts"],"names":[],"mappings":";;;AAAA,6BAA0B;AAEb,QAAA,KAAK,GAAG,IAAA,SAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CvB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { CellRange, Grid } from '@omegagrid/grid';
2
+ import { LitElement } from 'lit';
3
+ export declare class GridStats extends LitElement {
4
+ static styles: import("lit").CSSResult[];
5
+ grid: Grid;
6
+ range: CellRange;
7
+ stats: [string, string][];
8
+ willUpdate(props: Map<PropertyKey, unknown>): void;
9
+ render: () => import("lit-html").TemplateResult<1>;
10
+ }
11
+ //# sourceMappingURL=gridStats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gridStats.d.ts","sourceRoot":"","sources":["../../src/ui/gridStats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAa,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAK5C,qBACa,SAAU,SAAQ,UAAU;IAExC,MAAM,CAAC,MAAM,4BAYV;IAGH,IAAI,EAAE,IAAI,CAAC;IAGX,KAAK,EAAE,SAAS,CAAC;IAGjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAM;IAE/B,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC;IAsB3C,MAAM,6CAMJ;CAEF"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.GridStats = void 0;
10
+ const grid_1 = require("@omegagrid/grid");
11
+ const lit_1 = require("lit");
12
+ const decorators_js_1 = require("lit/decorators.js");
13
+ const map_js_1 = require("lit-html/directives/map.js");
14
+ const core_1 = require("@omegagrid/core");
15
+ let GridStats = class GridStats extends lit_1.LitElement {
16
+ constructor() {
17
+ super(...arguments);
18
+ this.stats = [];
19
+ this.render = () => (0, lit_1.html) `
20
+ ${(0, map_js_1.map)(this.stats, item => (0, lit_1.html) `
21
+ <div class="item">
22
+ <span>${item[0]}</span>: <span>${item[1]}</span>
23
+ </div>
24
+ `)}
25
+ `;
26
+ }
27
+ willUpdate(props) {
28
+ if ((props.has('grid') || props.has('range')) && this.range && this.grid.model) {
29
+ const stats = [];
30
+ const values = this.grid.model.getValuesInRange(grid_1.CellRange.fromA1(this.range.A1));
31
+ const numberFormatter = core_1.numbers.getNumberFormatter(this.grid.options.locale, '#,0.###');
32
+ // avg
33
+ const avg = grid_1.functions.get('AVERAGE')(values);
34
+ if (avg)
35
+ stats.push(['avg', numberFormatter(avg)]);
36
+ // cnt
37
+ const cnt = grid_1.functions.get('COUNT')(values);
38
+ if (cnt)
39
+ stats.push(['cnt', cnt.toString()]);
40
+ // sum
41
+ const sum = grid_1.functions.get('SUM')(values);
42
+ if (sum)
43
+ stats.push(['sum', numberFormatter(sum)]);
44
+ this.stats = stats;
45
+ }
46
+ }
47
+ };
48
+ exports.GridStats = GridStats;
49
+ GridStats.styles = [(0, lit_1.css) `
50
+ :host {
51
+ display: flex;
52
+ flex-direction: row;
53
+ white-space: nowrap;
54
+ font-size: var(--font-size);
55
+ gap: 10px;
56
+ }
57
+
58
+ .item {
59
+ flex: 1;
60
+ }
61
+ `];
62
+ __decorate([
63
+ (0, decorators_js_1.property)({ type: Object })
64
+ ], GridStats.prototype, "grid", void 0);
65
+ __decorate([
66
+ (0, decorators_js_1.property)({ type: Object })
67
+ ], GridStats.prototype, "range", void 0);
68
+ __decorate([
69
+ (0, decorators_js_1.state)()
70
+ ], GridStats.prototype, "stats", void 0);
71
+ exports.GridStats = GridStats = __decorate([
72
+ (0, decorators_js_1.customElement)('og-editor-gridstats')
73
+ ], GridStats);
74
+ //# sourceMappingURL=gridStats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gridStats.js","sourceRoot":"","sources":["../../src/ui/gridStats.ts"],"names":[],"mappings":";;;;;;;;;AAAA,0CAA6D;AAC7D,6BAA4C;AAC5C,qDAAmE;AACnE,uDAAiD;AACjD,0CAA0C;AAGnC,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,gBAAU;IAAlC;;QAuBN,UAAK,GAAuB,EAAE,CAAC;QAwB/B,WAAM,GAAG,GAAG,EAAE,CAAC,IAAA,UAAI,EAAA;IAChB,IAAA,YAAG,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAA,UAAI,EAAA;;YAEpB,IAAI,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,CAAC,CAAC;;GAEzC,CAAC;EACF,CAAC;IAEH,CAAC;IA9BA,UAAU,CAAC,KAAgC;QAC1C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChF,MAAM,KAAK,GAAsB,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,gBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YACjF,MAAM,eAAe,GAAG,cAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAExF,MAAM;YACN,MAAM,GAAG,GAAG,gBAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAW,CAAC;YACvD,IAAI,GAAG;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAEnD,MAAM;YACN,MAAM,GAAG,GAAG,gBAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAW,CAAC;YACrD,IAAI,GAAG;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAE7C,MAAM;YACN,MAAM,GAAG,GAAG,gBAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAW,CAAC;YACnD,IAAI,GAAG;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAEnD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACpB,CAAC;IACF,CAAC;;AA7CW,8BAAS;AAEd,gBAAM,GAAG,CAAC,IAAA,SAAG,EAAA;;;;;;;;;;;;EAYnB,CAAC,AAZW,CAYV;AAGH;IADC,IAAA,wBAAQ,EAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;uCACd;AAGX;IADC,IAAA,wBAAQ,EAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;wCACR;AAGjB;IADC,IAAA,qBAAK,GAAE;wCACuB;oBAvBnB,SAAS;IADrB,IAAA,6BAAa,EAAC,qBAAqB,CAAC;GACxB,SAAS,CAuDrB"}
@@ -0,0 +1,9 @@
1
+ export * from './forms/configForm';
2
+ export * from './editor';
3
+ export * from './editorZoom';
4
+ export * from './formulabar';
5
+ export * from './gridStats';
6
+ export * from './statusbar';
7
+ export * from './toolbar';
8
+ export * from './forms';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./forms/configForm"), exports);
18
+ __exportStar(require("./editor"), exports);
19
+ __exportStar(require("./editorZoom"), exports);
20
+ __exportStar(require("./formulabar"), exports);
21
+ __exportStar(require("./gridStats"), exports);
22
+ __exportStar(require("./statusbar"), exports);
23
+ __exportStar(require("./toolbar"), exports);
24
+ __exportStar(require("./forms"), exports);
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,2CAAyB;AACzB,+CAA6B;AAC7B,+CAA6B;AAC7B,8CAA4B;AAC5B,8CAA4B;AAC5B,4CAA0B;AAC1B,0CAAwB"}
@@ -0,0 +1,19 @@
1
+ import { CellRange, Grid, GridEditEvent, GridGroup } from '@omegagrid/grid';
2
+ import { LitElement } from 'lit';
3
+ import { ComponentId } from '@omegagrid/core';
4
+ export type StatusBarComponent = HTMLElement & {
5
+ group: GridGroup;
6
+ grid: Grid;
7
+ range: CellRange;
8
+ };
9
+ export declare class EditorStatusbar extends LitElement {
10
+ components: Map<ComponentId, StatusBarComponent>;
11
+ group: GridGroup;
12
+ grid: Grid;
13
+ range: CellRange;
14
+ _onGridEdit: (_e: GridEditEvent) => void;
15
+ willUpdate(_props: Map<PropertyKey, unknown>): void;
16
+ createComponent: (id: ComponentId) => StatusBarComponent;
17
+ render: () => import("lit-html").TemplateResult<1>;
18
+ }
19
+ //# sourceMappingURL=statusbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statusbar.d.ts","sourceRoot":"","sources":["../../src/ui/statusbar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAGvC,OAAO,EAAE,WAAW,EAAO,MAAM,iBAAiB,CAAC;AAuBnD,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG;IAAC,KAAK,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAC,CAAC;AAEhG,qBACa,eAAgB,SAAQ,UAAU;IAI9C,UAAU,uCAA8C;IAGxD,KAAK,EAAE,SAAS,CAAC;IAGjB,IAAI,EAAE,IAAI,CAAC;IAGX,KAAK,EAAE,SAAS,CAAC;IAEjB,WAAW,OAAQ,aAAa,UAE/B;IAED,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC;IAQ5C,eAAe,OAAQ,WAAW,wBAGhC;IAEF,MAAM,6CAKJ;CAEF"}