@revolist/revogrid 4.8.0 → 4.8.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/dist/cjs/base.plugin-75fc9e81.js.map +1 -1
- package/dist/cjs/{column.service-b3b5a4ee.js → column.service-43f8c476.js} +2 -2
- package/dist/cjs/{column.service-b3b5a4ee.js.map → column.service-43f8c476.js.map} +1 -1
- package/dist/cjs/{filter.button-147884a8.js → filter.button-35f508a0.js} +3 -3
- package/dist/cjs/filter.button-35f508a0.js.map +1 -0
- package/dist/cjs/{header-cell-renderer-96a37624.js → header-cell-renderer-a3b43bca.js} +2 -2
- package/dist/cjs/{header-cell-renderer-96a37624.js.map → header-cell-renderer-a3b43bca.js.map} +1 -1
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/{key.utils-be4d0b46.js → key.utils-4a384064.js} +17 -12
- package/dist/cjs/key.utils-4a384064.js.map +1 -0
- package/dist/cjs/revo-grid.cjs.entry.js +14 -9
- package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-attribution_6.cjs.entry.js +41 -12
- package/dist/cjs/revogr-attribution_6.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js +5 -3
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-data_4.cjs.entry.js +10 -9
- package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-filter-panel.cjs.entry.js +13 -8
- package/dist/cjs/revogr-filter-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/{selection.helpers-032d7192.js → selection.helpers-26d856ba.js} +67 -20
- package/dist/cjs/selection.helpers-26d856ba.js.map +1 -0
- package/dist/collection/components/clipboard/revogr-clipboard.js +1 -0
- package/dist/collection/components/clipboard/revogr-clipboard.js.map +1 -1
- package/dist/collection/components/data/revogr-data.js +1 -1
- package/dist/collection/components/data/revogr-data.js.map +1 -1
- package/dist/collection/components/editors/text-editor.js +4 -3
- package/dist/collection/components/editors/text-editor.js.map +1 -1
- package/dist/collection/components/header/header-renderer.js +2 -2
- package/dist/collection/components/header/header-renderer.js.map +1 -1
- package/dist/collection/components/overlay/keyboard.service.js +15 -5
- package/dist/collection/components/overlay/keyboard.service.js.map +1 -1
- package/dist/collection/components/overlay/revogr-overlay-selection.js +44 -5
- package/dist/collection/components/overlay/revogr-overlay-selection.js.map +1 -1
- package/dist/collection/components/revoGrid/revo-grid.js +3 -3
- package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
- package/dist/collection/plugins/base.plugin.js.map +1 -1
- package/dist/collection/plugins/column.auto-size.plugin.js.map +1 -1
- package/dist/collection/plugins/column.stretch.plugin.js.map +1 -1
- package/dist/collection/plugins/filter/filter.button.js +2 -2
- package/dist/collection/plugins/filter/filter.button.js.map +1 -1
- package/dist/collection/plugins/filter/filter.plugin.js +7 -2
- package/dist/collection/plugins/filter/filter.plugin.js.map +1 -1
- package/dist/collection/plugins/filter/filter.pop.js +13 -8
- package/dist/collection/plugins/filter/filter.pop.js.map +1 -1
- package/dist/collection/plugins/groupingRow/grouping.row.plugin.js.map +1 -1
- package/dist/collection/plugins/moveColumn/column.drag.plugin.js.map +1 -1
- package/dist/collection/plugins/sorting/sorting.plugin.js.map +1 -1
- package/dist/collection/plugins/sorting/sorting.sign.js +2 -1
- package/dist/collection/plugins/sorting/sorting.sign.js.map +1 -1
- package/dist/collection/services/selection.store.connector.js +62 -19
- package/dist/collection/services/selection.store.connector.js.map +1 -1
- package/dist/collection/store/selection/selection.store.js +4 -0
- package/dist/collection/store/selection/selection.store.js.map +1 -1
- package/dist/collection/types/interfaces.js.map +1 -1
- package/dist/collection/types/plugin.js.map +1 -1
- package/dist/collection/types/plugin.types.js.map +1 -1
- package/dist/collection/types/selection.js.map +1 -1
- package/dist/collection/utils/key.codes.js +6 -2
- package/dist/collection/utils/key.codes.js.map +1 -1
- package/dist/collection/utils/key.utils.js +25 -13
- package/dist/collection/utils/key.utils.js.map +1 -1
- package/dist/esm/base.plugin-e6e2bac2.js.map +1 -1
- package/dist/esm/{column.service-ffe99cfc.js → column.service-6aab6fac.js} +2 -2
- package/dist/esm/{column.service-ffe99cfc.js.map → column.service-6aab6fac.js.map} +1 -1
- package/dist/esm/{filter.button-f132c10a.js → filter.button-f9883a78.js} +3 -3
- package/dist/esm/filter.button-f9883a78.js.map +1 -0
- package/dist/esm/{header-cell-renderer-cac333a3.js → header-cell-renderer-b8663a21.js} +2 -2
- package/dist/esm/{header-cell-renderer-cac333a3.js.map → header-cell-renderer-b8663a21.js.map} +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/{key.utils-9120fde7.js → key.utils-c4a27968.js} +17 -12
- package/dist/esm/key.utils-c4a27968.js.map +1 -0
- package/dist/esm/revo-grid.entry.js +14 -9
- package/dist/esm/revo-grid.entry.js.map +1 -1
- package/dist/esm/revogr-attribution_6.entry.js +41 -12
- package/dist/esm/revogr-attribution_6.entry.js.map +1 -1
- package/dist/esm/revogr-clipboard_3.entry.js +5 -3
- package/dist/esm/revogr-clipboard_3.entry.js.map +1 -1
- package/dist/esm/revogr-data_4.entry.js +10 -9
- package/dist/esm/revogr-data_4.entry.js.map +1 -1
- package/dist/esm/revogr-filter-panel.entry.js +13 -8
- package/dist/esm/revogr-filter-panel.entry.js.map +1 -1
- package/dist/esm/{selection.helpers-0f3ed629.js → selection.helpers-dbf69cc1.js} +67 -20
- package/dist/esm/selection.helpers-dbf69cc1.js.map +1 -0
- package/dist/revo-grid/base.plugin-e6e2bac2.js.map +1 -1
- package/dist/revo-grid/{column.service-ffe99cfc.js → column.service-6aab6fac.js} +2 -2
- package/dist/revo-grid/{filter.button-f132c10a.js → filter.button-f9883a78.js} +2 -2
- package/dist/revo-grid/filter.button-f9883a78.js.map +1 -0
- package/dist/revo-grid/{header-cell-renderer-cac333a3.js → header-cell-renderer-b8663a21.js} +2 -2
- package/dist/revo-grid/index.esm.js +1 -1
- package/dist/revo-grid/{key.utils-9120fde7.js → key.utils-c4a27968.js} +2 -2
- package/dist/revo-grid/key.utils-c4a27968.js.map +1 -0
- package/dist/revo-grid/revo-grid.entry.js +1 -1
- package/dist/revo-grid/revo-grid.entry.js.map +1 -1
- package/dist/revo-grid/revogr-attribution_6.entry.js +1 -1
- package/dist/revo-grid/revogr-attribution_6.entry.js.map +1 -1
- package/dist/revo-grid/revogr-clipboard_3.entry.js +1 -1
- package/dist/revo-grid/revogr-clipboard_3.entry.js.map +1 -1
- package/dist/revo-grid/revogr-data_4.entry.js +1 -1
- package/dist/revo-grid/revogr-data_4.entry.js.map +1 -1
- package/dist/revo-grid/revogr-filter-panel.entry.js +1 -1
- package/dist/revo-grid/revogr-filter-panel.entry.js.map +1 -1
- package/dist/revo-grid/selection.helpers-dbf69cc1.js +5 -0
- package/dist/revo-grid/selection.helpers-dbf69cc1.js.map +1 -0
- package/dist/types/components/overlay/keyboard.service.d.ts +1 -1
- package/dist/types/components/overlay/revogr-overlay-selection.d.ts +9 -1
- package/dist/types/components.d.ts +5 -0
- package/dist/types/plugins/base.plugin.d.ts +8 -8
- package/dist/types/plugins/column.auto-size.plugin.d.ts +26 -16
- package/dist/types/plugins/column.stretch.plugin.d.ts +1 -1
- package/dist/types/plugins/filter/filter.button.d.ts +1 -1
- package/dist/types/plugins/filter/filter.plugin.d.ts +24 -16
- package/dist/types/plugins/groupingRow/grouping.row.plugin.d.ts +2 -2
- package/dist/types/plugins/moveColumn/column.drag.plugin.d.ts +3 -3
- package/dist/types/plugins/sorting/sorting.plugin.d.ts +8 -8
- package/dist/types/services/selection.store.connector.d.ts +20 -0
- package/dist/types/store/selection/selection.store.d.ts +1 -0
- package/dist/types/types/interfaces.d.ts +2 -2
- package/dist/types/types/plugin.d.ts +23 -0
- package/dist/types/types/plugin.types.d.ts +20 -0
- package/dist/types/types/selection.d.ts +24 -0
- package/dist/types/utils/key.codes.d.ts +5 -2
- package/dist/types/utils/key.utils.d.ts +2 -1
- package/hydrate/index.js +153 -59
- package/hydrate/index.mjs +153 -59
- package/package.json +1 -1
- package/readme.md +43 -16
- package/standalone/column.service.js +66 -19
- package/standalone/column.service.js.map +1 -1
- package/standalone/filter.button.js +2 -2
- package/standalone/filter.button.js.map +1 -1
- package/standalone/revo-grid.js +10 -5
- package/standalone/revo-grid.js.map +1 -1
- package/standalone/revogr-clipboard2.js +1 -0
- package/standalone/revogr-clipboard2.js.map +1 -1
- package/standalone/revogr-data2.js +1 -1
- package/standalone/revogr-data2.js.map +1 -1
- package/standalone/revogr-edit2.js +19 -13
- package/standalone/revogr-edit2.js.map +1 -1
- package/standalone/revogr-filter-panel.js +12 -7
- package/standalone/revogr-filter-panel.js.map +1 -1
- package/standalone/revogr-header2.js +5 -4
- package/standalone/revogr-header2.js.map +1 -1
- package/standalone/revogr-overlay-selection2.js +39 -10
- package/standalone/revogr-overlay-selection2.js.map +1 -1
- package/dist/cjs/filter.button-147884a8.js.map +0 -1
- package/dist/cjs/key.utils-be4d0b46.js.map +0 -1
- package/dist/cjs/selection.helpers-032d7192.js.map +0 -1
- package/dist/esm/filter.button-f132c10a.js.map +0 -1
- package/dist/esm/key.utils-9120fde7.js.map +0 -1
- package/dist/esm/selection.helpers-0f3ed629.js.map +0 -1
- package/dist/revo-grid/filter.button-f132c10a.js.map +0 -1
- package/dist/revo-grid/key.utils-9120fde7.js.map +0 -1
- package/dist/revo-grid/selection.helpers-0f3ed629.js +0 -5
- package/dist/revo-grid/selection.helpers-0f3ed629.js.map +0 -1
- /package/dist/revo-grid/{column.service-ffe99cfc.js.map → column.service-6aab6fac.js.map} +0 -0
- /package/dist/revo-grid/{header-cell-renderer-cac333a3.js.map → header-cell-renderer-b8663a21.js.map} +0 -0
|
@@ -10,9 +10,9 @@ const index$1 = require('./index-a9f1b728.js');
|
|
|
10
10
|
const dimension_helpers = require('./dimension.helpers-8e234f00.js');
|
|
11
11
|
require('./toNumber-838e6ff5.js');
|
|
12
12
|
const events = require('./events-b28cc194.js');
|
|
13
|
-
const column_service = require('./column.service-
|
|
14
|
-
const key_utils = require('./key.utils-
|
|
15
|
-
const selection_helpers = require('./selection.helpers-
|
|
13
|
+
const column_service = require('./column.service-43f8c476.js');
|
|
14
|
+
const key_utils = require('./key.utils-4a384064.js');
|
|
15
|
+
const selection_helpers = require('./selection.helpers-26d856ba.js');
|
|
16
16
|
const debounce = require('./debounce-e2b7c6fb.js');
|
|
17
17
|
const viewport_store = require('./viewport.store-c4b986f9.js');
|
|
18
18
|
const throttle = require('./throttle-46478b04.js');
|
|
@@ -259,11 +259,11 @@ class KeyboardService {
|
|
|
259
259
|
}
|
|
260
260
|
// tab key means same as arrow right
|
|
261
261
|
if (key_utils.codesLetter.TAB === e.code) {
|
|
262
|
-
this.keyChangeSelection(e, canRange);
|
|
262
|
+
await this.keyChangeSelection(e, canRange);
|
|
263
263
|
return;
|
|
264
264
|
}
|
|
265
265
|
// pressed enter
|
|
266
|
-
if (key_utils.
|
|
266
|
+
if (key_utils.isEnterKeyValue(e.key)) {
|
|
267
267
|
this.sv.change();
|
|
268
268
|
return;
|
|
269
269
|
}
|
|
@@ -328,15 +328,19 @@ class KeyboardService {
|
|
|
328
328
|
if (!data) {
|
|
329
329
|
return false;
|
|
330
330
|
}
|
|
331
|
+
const eData = this.sv.getData();
|
|
331
332
|
if (isMulti) {
|
|
332
|
-
const eData = this.sv.getData();
|
|
333
333
|
if (isAfterLast(data.end, eData.lastCell) || isBeforeFirst(data.start)) {
|
|
334
334
|
return false;
|
|
335
335
|
}
|
|
336
336
|
const range = selection_helpers.getRange(data.start, data.end);
|
|
337
337
|
return this.sv.range(range);
|
|
338
338
|
}
|
|
339
|
-
return this.sv.
|
|
339
|
+
return this.sv.focus(data.start, changes, isAfterLast(data.start, eData.lastCell)
|
|
340
|
+
? 1
|
|
341
|
+
: isBeforeFirst(data.start)
|
|
342
|
+
? -1
|
|
343
|
+
: 0);
|
|
340
344
|
}
|
|
341
345
|
/** Monitor key direction changes */
|
|
342
346
|
changeDirectionKey(e, canRange) {
|
|
@@ -344,6 +348,12 @@ class KeyboardService {
|
|
|
344
348
|
if (DIRECTION_CODES.includes(e.code)) {
|
|
345
349
|
e.preventDefault();
|
|
346
350
|
}
|
|
351
|
+
if (e.shiftKey) {
|
|
352
|
+
switch (e.code) {
|
|
353
|
+
case key_utils.codesLetter.TAB:
|
|
354
|
+
return { changes: { x: -1 }, isMulti: false };
|
|
355
|
+
}
|
|
356
|
+
}
|
|
347
357
|
switch (e.code) {
|
|
348
358
|
case key_utils.codesLetter.ARROW_UP:
|
|
349
359
|
return { changes: { y: -1 }, isMulti };
|
|
@@ -579,6 +589,7 @@ const OverlaySelection = class {
|
|
|
579
589
|
this.beforeRegionPaste = index.createEvent(this, "beforepasteregion", 7);
|
|
580
590
|
this.cellEditApply = index.createEvent(this, "celleditapply", 7);
|
|
581
591
|
this.beforeFocusCell = index.createEvent(this, "beforecellfocusinit", 7);
|
|
592
|
+
this.beforeNextViewportFocus = index.createEvent(this, "beforenextvpfocus", 7);
|
|
582
593
|
this.setEdit = index.createEvent(this, "setedit", 7);
|
|
583
594
|
this.beforeApplyRange = index.createEvent(this, "beforeapplyrange", 7);
|
|
584
595
|
this.beforeSetRange = index.createEvent(this, "beforesetrange", 7);
|
|
@@ -601,6 +612,7 @@ const OverlaySelection = class {
|
|
|
601
612
|
this.keyboardService = null;
|
|
602
613
|
this.autoFillService = null;
|
|
603
614
|
this.revogrEdit = null;
|
|
615
|
+
this.unsubscribeSelectionStore = [];
|
|
604
616
|
this.readonly = undefined;
|
|
605
617
|
this.range = undefined;
|
|
606
618
|
this.canDrag = undefined;
|
|
@@ -668,12 +680,26 @@ const OverlaySelection = class {
|
|
|
668
680
|
});
|
|
669
681
|
}
|
|
670
682
|
// #endregion
|
|
671
|
-
/**
|
|
683
|
+
/**
|
|
684
|
+
* Selection & Keyboard
|
|
685
|
+
*/
|
|
672
686
|
selectionServiceSet(s) {
|
|
687
|
+
// clear subscriptions
|
|
688
|
+
this.unsubscribeSelectionStore.forEach(v => v());
|
|
689
|
+
this.unsubscribeSelectionStore.length = 0;
|
|
690
|
+
this.unsubscribeSelectionStore.push(s.onChange('nextFocus', (v) => this.doFocus(v, v)));
|
|
673
691
|
this.keyboardService = new KeyboardService({
|
|
674
692
|
selectionStore: s,
|
|
675
693
|
range: r => this.triggerRangeEvent(r),
|
|
676
|
-
|
|
694
|
+
focus: (f, changes, focusNextViewport) => {
|
|
695
|
+
if (focusNextViewport) {
|
|
696
|
+
this.beforeNextViewportFocus.emit(f);
|
|
697
|
+
return false;
|
|
698
|
+
}
|
|
699
|
+
else {
|
|
700
|
+
return this.doFocus(f, f, changes);
|
|
701
|
+
}
|
|
702
|
+
},
|
|
677
703
|
change: val => {
|
|
678
704
|
if (this.readonly) {
|
|
679
705
|
return;
|
|
@@ -720,6 +746,9 @@ const OverlaySelection = class {
|
|
|
720
746
|
}
|
|
721
747
|
disconnectedCallback() {
|
|
722
748
|
var _a;
|
|
749
|
+
// clear subscriptions
|
|
750
|
+
this.unsubscribeSelectionStore.forEach(v => v());
|
|
751
|
+
this.unsubscribeSelectionStore.length = 0;
|
|
723
752
|
(_a = this.columnService) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
724
753
|
}
|
|
725
754
|
async componentWillRender() {
|
|
@@ -788,17 +817,17 @@ const OverlaySelection = class {
|
|
|
788
817
|
nodes.push(index.h("revogr-order-editor", { ref: e => (this.orderEditor = e), dataStore: this.dataStore, dimensionRow: this.dimensionRow, dimensionCol: this.dimensionCol, parent: this.element, onRowdragstartinit: e => this.rowDragStart(e) }));
|
|
789
818
|
}
|
|
790
819
|
}
|
|
791
|
-
return (index.h(index.Host, { key: '
|
|
820
|
+
return (index.h(index.Host, { key: '81dee4cfcce410cefb2bd9ff2661261472fc3a75', class: { mobile: this.isMobileDevice }, onDblClick: (e) => this.onElementDblClick(e), onMouseDown: (e) => this.onElementMouseDown(e), onTouchStart: (e) => this.onElementMouseDown(e, true) }, nodes, index.h("slot", { key: '6ac75c388ae3fbc5539a27c3acd58178dd53d1af', name: "data" })));
|
|
792
821
|
}
|
|
793
822
|
/**
|
|
794
823
|
* Executes the focus operation on the specified range of cells.
|
|
795
824
|
*/
|
|
796
|
-
doFocus(focus, end,
|
|
825
|
+
doFocus(focus, end, changes) {
|
|
797
826
|
const { defaultPrevented } = this.beforeFocusCell.emit(this.columnService.getSaveData(focus.y, focus.x));
|
|
798
827
|
if (defaultPrevented) {
|
|
799
828
|
return false;
|
|
800
829
|
}
|
|
801
|
-
const evData = Object.assign({ range: Object.assign(Object.assign({}, focus), { x1: end.x, y1: end.y }), next }, this.types);
|
|
830
|
+
const evData = Object.assign({ range: Object.assign(Object.assign({}, focus), { x1: end.x, y1: end.y }), next: changes }, this.types);
|
|
802
831
|
const applyEvent = this.applyFocus.emit(evData);
|
|
803
832
|
if (applyEvent.defaultPrevented) {
|
|
804
833
|
return false;
|