@omegagrid/editor 0.10.88 → 0.10.90
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formulabar.d.ts","sourceRoot":"","sources":["../../src/ui/formulabar.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"formulabar.d.ts","sourceRoot":"","sources":["../../src/ui/formulabar.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0C,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACxJ,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAIvC,qBACa,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,IAAI,eAAe,YAAgE;IAEnF,qBAAqB,GAAI,GAAG,aAAa,UAMxC;IAED,aAAa,GAAI,GAAG,SAAS,UAiB5B;IAED,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC;IAY3C,eAAe,GAAI,GAAG,iBAAiB,UAGtC;IAED,MAAM;IAuBN,cAAc,aAEb;IAED,eAAe,aAMd;IAED,eAAe,aAKd;IAED,aAAa,aAGZ;IAED,QAAQ,aAEP;IAED,MAAM,6CAqBJ;CAEF"}
|
package/dist/ui/formulabar.js
CHANGED
|
@@ -4,7 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
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
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import { isFormula,
|
|
7
|
+
import { isFormula, stripQuotePrefix, CellModel } from '@omegagrid/grid';
|
|
8
8
|
import { LitElement, html } from 'lit';
|
|
9
9
|
import { customElement, property, query, state } from 'lit/decorators.js';
|
|
10
10
|
import { style } from './formulabar.style';
|
|
@@ -118,9 +118,9 @@ let EditorFormula = class EditorFormula extends LitElement {
|
|
|
118
118
|
const gridElement = this.gridElement;
|
|
119
119
|
const value = this.formulaInput.value;
|
|
120
120
|
if (gridElement instanceof CellModel) {
|
|
121
|
-
|
|
122
|
-
gridElement.quotePrefix
|
|
123
|
-
|
|
121
|
+
gridElement.value = value;
|
|
122
|
+
if (gridElement.quotePrefix)
|
|
123
|
+
gridElement.displayValue = stripQuotePrefix(value);
|
|
124
124
|
this.grid.rendering.updateCell(gridElement, true);
|
|
125
125
|
}
|
|
126
126
|
else if (gridElement && isFormula(value)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formulabar.js","sourceRoot":"","sources":["../../src/ui/formulabar.ts"],"names":[],"mappings":"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","sourcesContent":["import { isFormula, resolveQuotePrefix, CellModel, ElementModel, Grid, FormulaInput, FormulaInputEvent, SelectorEvent, GridEvent } from '@omegagrid/grid';\nimport { LitElement, html } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { style } from './formulabar.style';\n\n@customElement('og-editor-formula')\nexport class EditorFormula extends LitElement {\n\n\tstatic styles = [style];\n\t@property({type: Object})\n\tgrid: Grid;\n\n\t@state()\n\tgridElement: ElementModel;\n\n\t@query('#addressInput')\n\taddressInput: HTMLInputElement;\n\n\t@query('#formulaInput')\n\tformulaInput: FormulaInput;\n\n\tprivate isInputActive = false;\n\t\n\tget gridElementValue() { return (this.gridElement?.value2 ?? '').toString() }\n\n\tget formulasEnabled() { return this.grid ? this.grid.model.formulasEnabled : true }\n\n\t_onGridSelectorUpdate = (e: SelectorEvent) => {\n\t\tif (!this.isInputActive) return;\n\t\tif (e.selector?.index == null) return;\n\t\tconst range = e.selector.selection.clone();\n\t\tif (e.selector.grid != this.grid) range.sheet = e.selector.grid.model.name;\n\t\tthis.formulaInput.setRange(range, e.selector.index);\n\t}\n\n\t_onGridSelect = (e: GridEvent) => {\n\t\tif (e.grid.editing.isFormulaMode) {\n\t\t\tif (!this.isInputActive) return;\n\t\t\tconst range = e.selection.range.clone();\n\t\t\tif (e.grid != this.grid) range.sheet = e.grid.model.name;\n\t\t\tthis.formulaInput.setRange(range);\n\t\t} else {\n\t\t\tif (e.selection.range.isCell) {\n\t\t\t\tthis.gridElement = e.grid.selecting.activeCell;\n\t\t\t} else if (e.selection.range.isColumn) {\n\t\t\t\tthis.gridElement = e.grid.selecting.activeCell.column;\n\t\t\t} else if (e.selection.range.isRow) {\n\t\t\t\tthis.gridElement = e.grid.selecting.activeCell.row;\n\t\t\t}\n\n\t\t\tif (this.formulaInput) this.formulaInput.value = this.gridElementValue;\n\t\t}\n\t}\n\n\twillUpdate(props: Map<PropertyKey, unknown>) {\n\t\tif (props.has('grid') && this.grid) {\n\t\t\tconst eventTarget = this.grid.group ? this.grid.group : this.grid;\n\t\t\teventTarget.removeEventListener('grid.selector.resize', this._onGridSelectorUpdate);\n\t\t\teventTarget.removeEventListener('grid.selector.move', this._onGridSelectorUpdate);\n\t\t\teventTarget.removeEventListener('grid.select', this._onGridSelect);\n\t\t\teventTarget.addEventListener('grid.selector.resize', this._onGridSelectorUpdate);\n\t\t\teventTarget.addEventListener('grid.selector.move', this._onGridSelectorUpdate);\n\t\t\teventTarget.addEventListener('grid.select', this._onGridSelect);\n\t\t}\n\t}\n\n\t_onInputPreview = (e: FormulaInputEvent) => {\n\t\tthis.grid.selecting.removeFormulaHighlight();\n\t\tif (e.formula) this.grid.selecting.highlightFormula(e.formula);\n\t}\n\n\tcommit() {\n\t\tif (this.formulaInput.isDiscarded) return;\n\t\tconst gridElement = this.gridElement;\n\t\tconst value = this.formulaInput.value;\n\t\tif (gridElement instanceof CellModel) {\n\t\t\tconst [cellValue, quotePrefix] = resolveQuotePrefix(value);\n\t\t\tgridElement.quotePrefix = quotePrefix;\n\t\t\tgridElement.value = cellValue;\n\t\t\tthis.grid.rendering.updateCell(gridElement, true);\n\t\t} else if (gridElement && isFormula(value)) {\n\t\t\tgridElement.formula = value;\n\t\t\tthis.grid.rendering.calculateViewport(true);\n\t\t\tthis.grid.rendering.render(false);\n\t\t} else if (gridElement) {\n\t\t\tgridElement.formula = null;\n\t\t\tthis.grid.rendering.calculateViewport(true);\n\t\t\tthis.grid.rendering.render(false);\n\t\t}\n\n\t\tthis.grid.editing.endFormulaMode();\n\t\tthis.grid.focus();\n\t\tthis.isInputActive = false;\n\t}\n\n\t_onInputCommit = () => {\n\t\tthis.commit();\n\t}\n\n\t_onInputDiscard = () => {\n\t\tif (!this.formulaInput.isDiscarded) this.commit();\n\t\tthis.grid.editing.endFormulaMode();\n\t\tthis.grid.focus();\n\t\tthis.isInputActive = false;\n\t\tthis.formulaInput.value = (this.gridElement ? (this.gridElement.value2 ?? '') : '').toString();\n\t}\n\n\t_onAddressFocus = () => {\n\t\tconst range = this.grid?.selection.range;\n\t\tconst name = this.gridElement?.name;\n\t\tthis.addressInput.selectionStart = name ? (range.A1.length + 2) : 0;\n\t\tthis.addressInput.selectionEnd = name ? (this.addressInput.selectionStart + name.length) : range.A1.length;\n\t}\n\n\t_onInputFocus = () => {\n\t\tthis.isInputActive = true;\n\t\tif (this.formulasEnabled && isFormula(this.formulaInput.inputValue)) this.grid.editing.startFormulaMode();\n\t}\n\n\t_onInput = () => {\n\t\tif (this.formulasEnabled && isFormula(this.formulaInput.inputValue)) this.grid.editing.startFormulaMode();\n\t}\n\t\n\trender = () => {\n\t\tconst range = this.grid?.selection.range;\n\t\treturn html`\n\t\t\t<div id=\"address\">\n\t\t\t\t<input id=\"addressInput\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t@focus=\"${this._onAddressFocus}\"\n\t\t\t\t\t.value=\"${range ? `${range.A1}${this.gridElement?.name ? ` (${this.gridElement.name})` : ''}` : ''}\"\n\t\t\t\t\treadonly>\n\t\t\t</div>\n\t\t\t\n\t\t\t<og-grid-formula id=\"formulaInput\"\n\t\t\t\t.tokenizer=\"${this.grid?.model.calculations.tokenizer}\"\n\t\t\t\t.value=\"${this.gridElementValue}\"\n\t\t\t\t@input=\"${this._onInput}\"\n\t\t\t\t@focus=\"${this._onInputFocus}\"\n\t\t\t\t@formula.preview=\"${this._onInputPreview}\"\n\t\t\t\t@formula.commit=\"${this._onInputCommit}\"\n\t\t\t\t@formula.discard=\"${this._onInputDiscard}\">\n\t\t\t</og-grid-formula>\n\t\t`;\n\t};\n\n}"]}
|
|
1
|
+
{"version":3,"file":"formulabar.js","sourceRoot":"","sources":["../../src/ui/formulabar.ts"],"names":[],"mappings":"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","sourcesContent":["import { isFormula, stripQuotePrefix, CellModel, ElementModel, Grid, FormulaInput, FormulaInputEvent, SelectorEvent, GridEvent } from '@omegagrid/grid';\nimport { LitElement, html } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { style } from './formulabar.style';\n\n@customElement('og-editor-formula')\nexport class EditorFormula extends LitElement {\n\n\tstatic styles = [style];\n\t@property({type: Object})\n\tgrid: Grid;\n\n\t@state()\n\tgridElement: ElementModel;\n\n\t@query('#addressInput')\n\taddressInput: HTMLInputElement;\n\n\t@query('#formulaInput')\n\tformulaInput: FormulaInput;\n\n\tprivate isInputActive = false;\n\t\n\tget gridElementValue() { return (this.gridElement?.value2 ?? '').toString() }\n\n\tget formulasEnabled() { return this.grid ? this.grid.model.formulasEnabled : true }\n\n\t_onGridSelectorUpdate = (e: SelectorEvent) => {\n\t\tif (!this.isInputActive) return;\n\t\tif (e.selector?.index == null) return;\n\t\tconst range = e.selector.selection.clone();\n\t\tif (e.selector.grid != this.grid) range.sheet = e.selector.grid.model.name;\n\t\tthis.formulaInput.setRange(range, e.selector.index);\n\t}\n\n\t_onGridSelect = (e: GridEvent) => {\n\t\tif (e.grid.editing.isFormulaMode) {\n\t\t\tif (!this.isInputActive) return;\n\t\t\tconst range = e.selection.range.clone();\n\t\t\tif (e.grid != this.grid) range.sheet = e.grid.model.name;\n\t\t\tthis.formulaInput.setRange(range);\n\t\t} else {\n\t\t\tif (e.selection.range.isCell) {\n\t\t\t\tthis.gridElement = e.grid.selecting.activeCell;\n\t\t\t} else if (e.selection.range.isColumn) {\n\t\t\t\tthis.gridElement = e.grid.selecting.activeCell.column;\n\t\t\t} else if (e.selection.range.isRow) {\n\t\t\t\tthis.gridElement = e.grid.selecting.activeCell.row;\n\t\t\t}\n\n\t\t\tif (this.formulaInput) this.formulaInput.value = this.gridElementValue;\n\t\t}\n\t}\n\n\twillUpdate(props: Map<PropertyKey, unknown>) {\n\t\tif (props.has('grid') && this.grid) {\n\t\t\tconst eventTarget = this.grid.group ? this.grid.group : this.grid;\n\t\t\teventTarget.removeEventListener('grid.selector.resize', this._onGridSelectorUpdate);\n\t\t\teventTarget.removeEventListener('grid.selector.move', this._onGridSelectorUpdate);\n\t\t\teventTarget.removeEventListener('grid.select', this._onGridSelect);\n\t\t\teventTarget.addEventListener('grid.selector.resize', this._onGridSelectorUpdate);\n\t\t\teventTarget.addEventListener('grid.selector.move', this._onGridSelectorUpdate);\n\t\t\teventTarget.addEventListener('grid.select', this._onGridSelect);\n\t\t}\n\t}\n\n\t_onInputPreview = (e: FormulaInputEvent) => {\n\t\tthis.grid.selecting.removeFormulaHighlight();\n\t\tif (e.formula) this.grid.selecting.highlightFormula(e.formula);\n\t}\n\n\tcommit() {\n\t\tif (this.formulaInput.isDiscarded) return;\n\t\tconst gridElement = this.gridElement;\n\t\tconst value = this.formulaInput.value;\n\t\tif (gridElement instanceof CellModel) {\n\t\t\tgridElement.value = value;\n\t\t\tif (gridElement.quotePrefix) gridElement.displayValue = stripQuotePrefix(value) as string;\n\t\t\tthis.grid.rendering.updateCell(gridElement, true);\n\t\t} else if (gridElement && isFormula(value)) {\n\t\t\tgridElement.formula = value;\n\t\t\tthis.grid.rendering.calculateViewport(true);\n\t\t\tthis.grid.rendering.render(false);\n\t\t} else if (gridElement) {\n\t\t\tgridElement.formula = null;\n\t\t\tthis.grid.rendering.calculateViewport(true);\n\t\t\tthis.grid.rendering.render(false);\n\t\t}\n\n\t\tthis.grid.editing.endFormulaMode();\n\t\tthis.grid.focus();\n\t\tthis.isInputActive = false;\n\t}\n\n\t_onInputCommit = () => {\n\t\tthis.commit();\n\t}\n\n\t_onInputDiscard = () => {\n\t\tif (!this.formulaInput.isDiscarded) this.commit();\n\t\tthis.grid.editing.endFormulaMode();\n\t\tthis.grid.focus();\n\t\tthis.isInputActive = false;\n\t\tthis.formulaInput.value = (this.gridElement ? (this.gridElement.value2 ?? '') : '').toString();\n\t}\n\n\t_onAddressFocus = () => {\n\t\tconst range = this.grid?.selection.range;\n\t\tconst name = this.gridElement?.name;\n\t\tthis.addressInput.selectionStart = name ? (range.A1.length + 2) : 0;\n\t\tthis.addressInput.selectionEnd = name ? (this.addressInput.selectionStart + name.length) : range.A1.length;\n\t}\n\n\t_onInputFocus = () => {\n\t\tthis.isInputActive = true;\n\t\tif (this.formulasEnabled && isFormula(this.formulaInput.inputValue)) this.grid.editing.startFormulaMode();\n\t}\n\n\t_onInput = () => {\n\t\tif (this.formulasEnabled && isFormula(this.formulaInput.inputValue)) this.grid.editing.startFormulaMode();\n\t}\n\t\n\trender = () => {\n\t\tconst range = this.grid?.selection.range;\n\t\treturn html`\n\t\t\t<div id=\"address\">\n\t\t\t\t<input id=\"addressInput\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t@focus=\"${this._onAddressFocus}\"\n\t\t\t\t\t.value=\"${range ? `${range.A1}${this.gridElement?.name ? ` (${this.gridElement.name})` : ''}` : ''}\"\n\t\t\t\t\treadonly>\n\t\t\t</div>\n\t\t\t\n\t\t\t<og-grid-formula id=\"formulaInput\"\n\t\t\t\t.tokenizer=\"${this.grid?.model.calculations.tokenizer}\"\n\t\t\t\t.value=\"${this.gridElementValue}\"\n\t\t\t\t@input=\"${this._onInput}\"\n\t\t\t\t@focus=\"${this._onInputFocus}\"\n\t\t\t\t@formula.preview=\"${this._onInputPreview}\"\n\t\t\t\t@formula.commit=\"${this._onInputCommit}\"\n\t\t\t\t@formula.discard=\"${this._onInputDiscard}\">\n\t\t\t</og-grid-formula>\n\t\t`;\n\t};\n\n}"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@omegagrid/editor",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.90",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"description": "Spreadsheet editor",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -27,15 +27,15 @@
|
|
|
27
27
|
"_prepublish": "yarn test && yarn lint"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@omegagrid/commands": "^0.10.
|
|
31
|
-
"@omegagrid/core": "^0.10.
|
|
32
|
-
"@omegagrid/form": "^0.10.
|
|
33
|
-
"@omegagrid/grid": "^0.10.
|
|
34
|
-
"@omegagrid/localize": "^0.10.
|
|
35
|
-
"@omegagrid/statusbar": "^0.10.
|
|
36
|
-
"@omegagrid/tabs": "^0.10.
|
|
37
|
-
"@omegagrid/toolbar": "^0.10.
|
|
38
|
-
"@omegagrid/tree": "^0.10.
|
|
30
|
+
"@omegagrid/commands": "^0.10.90",
|
|
31
|
+
"@omegagrid/core": "^0.10.90",
|
|
32
|
+
"@omegagrid/form": "^0.10.90",
|
|
33
|
+
"@omegagrid/grid": "^0.10.90",
|
|
34
|
+
"@omegagrid/localize": "^0.10.90",
|
|
35
|
+
"@omegagrid/statusbar": "^0.10.90",
|
|
36
|
+
"@omegagrid/tabs": "^0.10.90",
|
|
37
|
+
"@omegagrid/toolbar": "^0.10.90",
|
|
38
|
+
"@omegagrid/tree": "^0.10.90",
|
|
39
39
|
"lit": "^3.1.1",
|
|
40
40
|
"lit-html": "^3.1.1",
|
|
41
41
|
"ts-debounce": "^4.0.0"
|