@revolist/revogrid 4.9.36 → 4.9.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{column.drag.plugin-ffe1918f.js → column.drag.plugin-f08cae65.js} +18 -18
- package/dist/cjs/column.drag.plugin-f08cae65.js.map +1 -0
- package/dist/cjs/{index-947f3534.js → column.service-163f9bb6.js} +1257 -469
- package/dist/cjs/column.service-163f9bb6.js.map +1 -0
- package/dist/cjs/{edit.utils-68a4f1c4.js → edit.utils-179c0800.js} +2 -2
- package/dist/cjs/{edit.utils-68a4f1c4.js.map → edit.utils-179c0800.js.map} +1 -1
- package/dist/cjs/{header-cell-renderer-57fb8f18.js → header-cell-renderer-7b8588ea.js} +2 -2
- package/dist/cjs/{header-cell-renderer-57fb8f18.js.map → header-cell-renderer-7b8588ea.js.map} +1 -1
- package/dist/cjs/index-3ab26ab9.js +513 -0
- package/dist/cjs/index-3ab26ab9.js.map +1 -0
- package/dist/cjs/index.cjs.js +133 -29
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/{key.utils-da2ead49.js → key.utils-f49d7bee.js} +2 -2
- package/dist/cjs/{key.utils-da2ead49.js.map → key.utils-f49d7bee.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/revo-grid.cjs.entry.js +87 -55
- package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/revo-grid.cjs.js +1 -1
- package/dist/cjs/revogr-attribution_7.cjs.entry.js +13 -13
- package/dist/cjs/revogr-attribution_7.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js +21 -18
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-data_4.cjs.entry.js +9 -9
- package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
- package/dist/cjs/{row-header-utils-fe2264e7.js → row-header-utils-4c24a341.js} +6 -5
- package/dist/cjs/row-header-utils-4c24a341.js.map +1 -0
- package/dist/cjs/{text-editor-55511a6a.js → text-editor-b756d6b3.js} +3 -3
- package/dist/cjs/{text-editor-55511a6a.js.map → text-editor-b756d6b3.js.map} +1 -1
- package/dist/cjs/{throttle-2ae258fb.js → throttle-a57f51f9.js} +2 -2
- package/dist/cjs/{throttle-2ae258fb.js.map → throttle-a57f51f9.js.map} +1 -1
- package/dist/collection/components/order/revogr-order-editor.js +99 -27
- package/dist/collection/components/order/revogr-order-editor.js.map +1 -1
- package/dist/collection/components/overlay/revogr-overlay-selection.js +2 -2
- package/dist/collection/components/overlay/revogr-overlay-selection.js.map +1 -1
- package/dist/collection/components/revoGrid/revo-grid.js +12 -5
- package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
- package/dist/collection/plugins/sorting/sorting.plugin.js +25 -26
- package/dist/collection/plugins/sorting/sorting.plugin.js.map +1 -1
- package/dist/collection/services/data.provider.js +12 -5
- package/dist/collection/services/data.provider.js.map +1 -1
- package/dist/collection/services/dimension.provider.js +22 -0
- package/dist/collection/services/dimension.provider.js.map +1 -1
- package/dist/collection/store/dataSource/data.proxy.js +19 -6
- package/dist/collection/store/dataSource/data.proxy.js.map +1 -1
- package/dist/collection/store/dataSource/data.store.js +3 -0
- package/dist/collection/store/dataSource/data.store.js.map +1 -1
- package/dist/collection/types/events.js +108 -0
- package/dist/collection/types/events.js.map +1 -0
- package/dist/collection/types/index.js +1 -0
- package/dist/collection/types/index.js.map +1 -1
- package/dist/esm/{column.drag.plugin-bbd79520.js → column.drag.plugin-fa4c692b.js} +6 -6
- package/dist/esm/{column.drag.plugin-bbd79520.js.map → column.drag.plugin-fa4c692b.js.map} +1 -1
- package/dist/esm/{index-8eeaa30d.js → column.service-264bf729.js} +1216 -427
- package/dist/esm/column.service-264bf729.js.map +1 -0
- package/dist/esm/{debounce-7b511afc.js → debounce-72878ced.js} +2 -2
- package/dist/esm/{debounce-7b511afc.js.map → debounce-72878ced.js.map} +1 -1
- package/dist/esm/{edit.utils-aeb2dc7c.js → edit.utils-6fc686b9.js} +2 -2
- package/dist/esm/{edit.utils-aeb2dc7c.js.map → edit.utils-6fc686b9.js.map} +1 -1
- package/dist/esm/{header-cell-renderer-1aec2328.js → header-cell-renderer-f0bc7088.js} +2 -2
- package/dist/esm/{header-cell-renderer-1aec2328.js.map → header-cell-renderer-f0bc7088.js.map} +1 -1
- package/dist/esm/index-1dcad6ef.js +476 -0
- package/dist/esm/index-1dcad6ef.js.map +1 -0
- package/dist/esm/index.js +115 -8
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/{key.utils-9ee5fa40.js → key.utils-17273f42.js} +2 -2
- package/dist/esm/{key.utils-9ee5fa40.js.map → key.utils-17273f42.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/revo-grid.entry.js +67 -35
- package/dist/esm/revo-grid.entry.js.map +1 -1
- package/dist/esm/revo-grid.js +1 -1
- package/dist/esm/revogr-attribution_7.entry.js +9 -9
- package/dist/esm/revogr-attribution_7.entry.js.map +1 -1
- package/dist/esm/revogr-clipboard_3.entry.js +22 -19
- package/dist/esm/revogr-clipboard_3.entry.js.map +1 -1
- package/dist/esm/revogr-data_4.entry.js +5 -5
- package/dist/esm/revogr-filter-panel.entry.js +1 -1
- package/dist/esm/{row-header-utils-3220f80d.js → row-header-utils-01e63cba.js} +3 -2
- package/dist/esm/row-header-utils-01e63cba.js.map +1 -0
- package/dist/esm/{text-editor-d9dcf56d.js → text-editor-901c3eb8.js} +3 -3
- package/dist/esm/{text-editor-d9dcf56d.js.map → text-editor-901c3eb8.js.map} +1 -1
- package/dist/esm/{throttle-ce8e57c9.js → throttle-138d69c3.js} +3 -3
- package/dist/esm/{throttle-ce8e57c9.js.map → throttle-138d69c3.js.map} +1 -1
- package/dist/revo-grid/column.drag.plugin-fa4c692b.js +5 -0
- package/dist/revo-grid/{column.drag.plugin-bbd79520.js.map → column.drag.plugin-fa4c692b.js.map} +1 -1
- package/dist/revo-grid/column.service-264bf729.js +5 -0
- package/dist/revo-grid/column.service-264bf729.js.map +1 -0
- package/dist/revo-grid/{debounce-7b511afc.js → debounce-72878ced.js} +2 -2
- package/dist/revo-grid/{edit.utils-aeb2dc7c.js → edit.utils-6fc686b9.js} +2 -2
- package/dist/revo-grid/{header-cell-renderer-1aec2328.js → header-cell-renderer-f0bc7088.js} +2 -2
- package/dist/revo-grid/index-1dcad6ef.js +5 -0
- package/dist/revo-grid/index-1dcad6ef.js.map +1 -0
- package/dist/revo-grid/index.esm.js +1 -1
- package/dist/revo-grid/index.esm.js.map +1 -1
- package/dist/revo-grid/key.utils-17273f42.js +5 -0
- package/dist/revo-grid/{key.utils-9ee5fa40.js.map → key.utils-17273f42.js.map} +1 -1
- 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/revo-grid.esm.js +1 -1
- package/dist/revo-grid/revo-grid.esm.js.map +1 -1
- package/dist/revo-grid/revogr-attribution_7.entry.js +1 -1
- package/dist/revo-grid/revogr-attribution_7.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/row-header-utils-01e63cba.js +5 -0
- package/dist/revo-grid/{row-header-utils-3220f80d.js.map → row-header-utils-01e63cba.js.map} +1 -1
- package/dist/revo-grid/text-editor-901c3eb8.js +5 -0
- package/dist/revo-grid/{throttle-ce8e57c9.js → throttle-138d69c3.js} +2 -2
- package/dist/types/components/order/revogr-order-editor.d.ts +18 -4
- package/dist/types/components/overlay/revogr-overlay-selection.d.ts +2 -4
- package/dist/types/components/revoGrid/revo-grid.d.ts +2 -1
- package/dist/types/components.d.ts +26 -8
- package/dist/types/plugins/sorting/sorting.plugin.d.ts +4 -4
- package/dist/types/services/data.provider.d.ts +5 -0
- package/dist/types/services/dimension.provider.d.ts +1 -0
- package/dist/types/store/dataSource/data.proxy.d.ts +9 -3
- package/dist/types/store/dataSource/data.store.d.ts +1 -0
- package/dist/types/types/events.d.ts +2 -0
- package/dist/types/types/index.d.ts +1 -0
- package/hydrate/index.js +127 -75
- package/hydrate/index.mjs +127 -75
- package/package.json +4 -3
- package/standalone/column.service.js +1 -1
- package/standalone/data.store.js +28 -31
- package/standalone/data.store.js.map +1 -1
- package/standalone/dimension.helpers.js +1 -1
- package/standalone/identity.js +26 -0
- package/standalone/identity.js.map +1 -0
- package/standalone/index.js +108 -1
- package/standalone/index.js.map +1 -1
- package/standalone/revo-grid.js +64 -31
- package/standalone/revo-grid.js.map +1 -1
- package/standalone/revogr-header2.js +1 -1
- package/standalone/revogr-order-editor2.js +18 -15
- package/standalone/revogr-order-editor2.js.map +1 -1
- package/standalone/revogr-overlay-selection2.js +2 -2
- package/standalone/revogr-overlay-selection2.js.map +1 -1
- package/dist/cjs/column.drag.plugin-ffe1918f.js.map +0 -1
- package/dist/cjs/column.service-e9ab1aa3.js +0 -1286
- package/dist/cjs/column.service-e9ab1aa3.js.map +0 -1
- package/dist/cjs/index-947f3534.js.map +0 -1
- package/dist/cjs/row-header-utils-fe2264e7.js.map +0 -1
- package/dist/esm/column.service-397b7249.js +0 -1249
- package/dist/esm/column.service-397b7249.js.map +0 -1
- package/dist/esm/index-8eeaa30d.js.map +0 -1
- package/dist/esm/row-header-utils-3220f80d.js.map +0 -1
- package/dist/revo-grid/column.drag.plugin-bbd79520.js +0 -5
- package/dist/revo-grid/column.service-397b7249.js +0 -5
- package/dist/revo-grid/column.service-397b7249.js.map +0 -1
- package/dist/revo-grid/index-8eeaa30d.js +0 -5
- package/dist/revo-grid/index-8eeaa30d.js.map +0 -1
- package/dist/revo-grid/key.utils-9ee5fa40.js +0 -5
- package/dist/revo-grid/row-header-utils-3220f80d.js +0 -5
- package/dist/revo-grid/text-editor-d9dcf56d.js +0 -5
- /package/dist/revo-grid/{debounce-7b511afc.js.map → debounce-72878ced.js.map} +0 -0
- /package/dist/revo-grid/{edit.utils-aeb2dc7c.js.map → edit.utils-6fc686b9.js.map} +0 -0
- /package/dist/revo-grid/{header-cell-renderer-1aec2328.js.map → header-cell-renderer-f0bc7088.js.map} +0 -0
- /package/dist/revo-grid/{text-editor-d9dcf56d.js.map → text-editor-901c3eb8.js.map} +0 -0
- /package/dist/revo-grid/{throttle-ce8e57c9.js.map → throttle-138d69c3.js.map} +0 -0
|
@@ -6,15 +6,15 @@
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
8
|
const index$1 = require('./index-10d10c55.js');
|
|
9
|
-
const column_service = require('./column.service-
|
|
10
|
-
const column_drag_plugin = require('./column.drag.plugin-
|
|
11
|
-
const index = require('./index-947f3534.js');
|
|
9
|
+
const column_service = require('./column.service-163f9bb6.js');
|
|
10
|
+
const column_drag_plugin = require('./column.drag.plugin-f08cae65.js');
|
|
12
11
|
const debounce = require('./debounce-ec7a04b4.js');
|
|
13
|
-
const
|
|
12
|
+
const index = require('./index-3ab26ab9.js');
|
|
13
|
+
const rowHeaderUtils = require('./row-header-utils-4c24a341.js');
|
|
14
14
|
const viewport_helpers = require('./viewport.helpers-e59a544e.js');
|
|
15
15
|
const events = require('./events-af8f6914.js');
|
|
16
16
|
require('./filter.button-b8debe72.js');
|
|
17
|
-
require('./header-cell-renderer-
|
|
17
|
+
require('./header-cell-renderer-7b8588ea.js');
|
|
18
18
|
|
|
19
19
|
class ThemeCompact {
|
|
20
20
|
constructor() {
|
|
@@ -230,14 +230,14 @@ class GroupingRowPlugin extends column_drag_plugin.BasePlugin {
|
|
|
230
230
|
onExpand({ virtualIndex }) {
|
|
231
231
|
const { source } = this.getSource();
|
|
232
232
|
let newTrimmed = this.trimmed[TRIMMED_GROUPING];
|
|
233
|
-
let i =
|
|
233
|
+
let i = column_service.getPhysical(this.store, virtualIndex);
|
|
234
234
|
const model = source[i];
|
|
235
235
|
const prevExpanded = model[column_service.GROUP_EXPANDED];
|
|
236
236
|
if (!prevExpanded) {
|
|
237
237
|
const { trimmed, items } = doExpand(virtualIndex, source, this.rowItems);
|
|
238
238
|
newTrimmed = Object.assign(Object.assign({}, newTrimmed), trimmed);
|
|
239
239
|
if (items) {
|
|
240
|
-
|
|
240
|
+
column_service.setItems(this.store, items);
|
|
241
241
|
}
|
|
242
242
|
}
|
|
243
243
|
else {
|
|
@@ -471,7 +471,7 @@ var stringTag = '[object String]';
|
|
|
471
471
|
*/
|
|
472
472
|
function isString(value) {
|
|
473
473
|
return typeof value == 'string' ||
|
|
474
|
-
(!
|
|
474
|
+
(!column_service.isArray(value) && debounce.isObjectLike(value) && debounce.baseGetTag(value) == stringTag);
|
|
475
475
|
}
|
|
476
476
|
|
|
477
477
|
/**
|
|
@@ -481,7 +481,7 @@ function isString(value) {
|
|
|
481
481
|
* @param {string} string The string inspect.
|
|
482
482
|
* @returns {number} Returns the string size.
|
|
483
483
|
*/
|
|
484
|
-
var asciiSize =
|
|
484
|
+
var asciiSize = column_service.baseProperty('length');
|
|
485
485
|
|
|
486
486
|
const asciiSize$1 = asciiSize;
|
|
487
487
|
|
|
@@ -595,14 +595,14 @@ function size(collection) {
|
|
|
595
595
|
if (collection == null) {
|
|
596
596
|
return 0;
|
|
597
597
|
}
|
|
598
|
-
if (
|
|
598
|
+
if (column_service.isArrayLike(collection)) {
|
|
599
599
|
return isString(collection) ? stringSize(collection) : collection.length;
|
|
600
600
|
}
|
|
601
|
-
var tag =
|
|
601
|
+
var tag = column_service.getTag(collection);
|
|
602
602
|
if (tag == mapTag || tag == setTag) {
|
|
603
603
|
return collection.size;
|
|
604
604
|
}
|
|
605
|
-
return
|
|
605
|
+
return column_service.baseKeys(collection).length;
|
|
606
606
|
}
|
|
607
607
|
|
|
608
608
|
/**
|
|
@@ -615,9 +615,9 @@ function size(collection) {
|
|
|
615
615
|
* Note: If you prevent an event, it will not proceed to the subsequent steps.
|
|
616
616
|
*/
|
|
617
617
|
class SortingPlugin extends column_drag_plugin.BasePlugin {
|
|
618
|
-
|
|
618
|
+
runSorting(order, comparison) {
|
|
619
619
|
var _a;
|
|
620
|
-
|
|
620
|
+
this.sort(order, comparison);
|
|
621
621
|
(_a = this.sortingPromise) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
622
622
|
this.sortingPromise = null;
|
|
623
623
|
}
|
|
@@ -625,8 +625,8 @@ class SortingPlugin extends column_drag_plugin.BasePlugin {
|
|
|
625
625
|
super(revogrid, providers);
|
|
626
626
|
this.revogrid = revogrid;
|
|
627
627
|
this.sortingPromise = null;
|
|
628
|
-
this.postponeSort = debounce.debounce(
|
|
629
|
-
const beforeanysource =
|
|
628
|
+
this.postponeSort = debounce.debounce((order, comparison) => this.runSorting(order, comparison), 50);
|
|
629
|
+
const beforeanysource = ({ detail: { type }, }) => {
|
|
630
630
|
// if sorting was provided - sort data
|
|
631
631
|
if (!!this.sorting && this.sortingFunc) {
|
|
632
632
|
const beforeEvent = this.emit('beforesorting', { type });
|
|
@@ -636,8 +636,8 @@ class SortingPlugin extends column_drag_plugin.BasePlugin {
|
|
|
636
636
|
this.startSorting(this.sorting, this.sortingFunc);
|
|
637
637
|
}
|
|
638
638
|
};
|
|
639
|
-
const aftercolumnsset =
|
|
640
|
-
const columns =
|
|
639
|
+
const aftercolumnsset = ({ detail: { order }, }) => {
|
|
640
|
+
const columns = this.providers.column.getColumns();
|
|
641
641
|
const sortingFunc = {};
|
|
642
642
|
for (let prop in order) {
|
|
643
643
|
const cmp = this.getComparer(column_service.getColumnByProp(columns, prop), order[prop]);
|
|
@@ -645,7 +645,7 @@ class SortingPlugin extends column_drag_plugin.BasePlugin {
|
|
|
645
645
|
}
|
|
646
646
|
this.runSorting(order, sortingFunc);
|
|
647
647
|
};
|
|
648
|
-
const headerclick =
|
|
648
|
+
const headerclick = (e) => {
|
|
649
649
|
var _a, _b;
|
|
650
650
|
if (e.defaultPrevented) {
|
|
651
651
|
return;
|
|
@@ -682,7 +682,7 @@ class SortingPlugin extends column_drag_plugin.BasePlugin {
|
|
|
682
682
|
* Apply sorting to data on header click
|
|
683
683
|
* If additive - add to existing sorting, multiple columns can be sorted
|
|
684
684
|
*/
|
|
685
|
-
|
|
685
|
+
headerclick(column, index, additive) {
|
|
686
686
|
var _a, _b;
|
|
687
687
|
let order = this.getNextOrder(column.order);
|
|
688
688
|
const beforeEvent = this.emit('beforesorting', { column, order, additive });
|
|
@@ -690,7 +690,7 @@ class SortingPlugin extends column_drag_plugin.BasePlugin {
|
|
|
690
690
|
return;
|
|
691
691
|
}
|
|
692
692
|
order = beforeEvent.detail.order;
|
|
693
|
-
const newCol =
|
|
693
|
+
const newCol = this.providers.column.updateColumnSorting(beforeEvent.detail.column, index, order, additive);
|
|
694
694
|
// apply sort data
|
|
695
695
|
const beforeApplyEvent = this.emit('beforesortingapply', {
|
|
696
696
|
column: newCol,
|
|
@@ -738,38 +738,37 @@ class SortingPlugin extends column_drag_plugin.BasePlugin {
|
|
|
738
738
|
* @param sorting - per column sorting
|
|
739
739
|
* @param data - this.stores['rgRow'].store.get('source')
|
|
740
740
|
*/
|
|
741
|
-
|
|
741
|
+
sort(sorting, sortingFunc, types = column_drag_plugin.rowTypes) {
|
|
742
742
|
// if no sorting - reset
|
|
743
743
|
if (!size(sorting)) {
|
|
744
744
|
this.sorting = undefined;
|
|
745
745
|
this.sortingFunc = undefined;
|
|
746
746
|
for (let type of types) {
|
|
747
|
-
const
|
|
747
|
+
const storeService = this.providers.data.stores[type];
|
|
748
748
|
// row data
|
|
749
|
-
const source = store.get('source');
|
|
749
|
+
const source = storeService.store.get('source');
|
|
750
750
|
// row indexes
|
|
751
|
-
const proxyItems =
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
});
|
|
751
|
+
const proxyItems = storeService.store.get('proxyItems');
|
|
752
|
+
// row indexes
|
|
753
|
+
const newItemsOrder = column_service.range(0, source.length);
|
|
754
|
+
this.providers.dimension.updateSizesPositionByNewDataIndexes(type, newItemsOrder, proxyItems);
|
|
755
|
+
storeService.setData({ proxyItems: newItemsOrder, source: [...source] });
|
|
756
756
|
}
|
|
757
757
|
}
|
|
758
758
|
else {
|
|
759
759
|
// set sorting
|
|
760
760
|
this.sorting = sorting;
|
|
761
761
|
this.sortingFunc = sortingFunc;
|
|
762
|
-
// by default it'll sort by rgRow store
|
|
763
|
-
// todo: support multiple stores
|
|
764
762
|
for (let type of types) {
|
|
765
|
-
const
|
|
763
|
+
const storeService = this.providers.data.stores[type];
|
|
766
764
|
// row data
|
|
767
|
-
const source = store.get('source');
|
|
765
|
+
const source = storeService.store.get('source');
|
|
768
766
|
// row indexes
|
|
769
|
-
const proxyItems = store.get('proxyItems');
|
|
770
|
-
const
|
|
771
|
-
|
|
772
|
-
|
|
767
|
+
const proxyItems = storeService.store.get('proxyItems');
|
|
768
|
+
const newItemsOrder = this.sortIndexByItems([...proxyItems], source, sortingFunc);
|
|
769
|
+
this.providers.dimension.updateSizesPositionByNewDataIndexes(type, newItemsOrder, proxyItems);
|
|
770
|
+
storeService.setData({
|
|
771
|
+
proxyItems: newItemsOrder,
|
|
773
772
|
source: [...source],
|
|
774
773
|
});
|
|
775
774
|
}
|
|
@@ -844,7 +843,7 @@ class ColumnDataProvider {
|
|
|
844
843
|
this.sorting = null;
|
|
845
844
|
this.collection = null;
|
|
846
845
|
this.dataSources = column_drag_plugin.columnTypes.reduce((sources, k) => {
|
|
847
|
-
sources[k] = new
|
|
846
|
+
sources[k] = new column_service.DataStore(k);
|
|
848
847
|
return sources;
|
|
849
848
|
}, {});
|
|
850
849
|
}
|
|
@@ -852,7 +851,7 @@ class ColumnDataProvider {
|
|
|
852
851
|
return this.getColumn(c, pin || 'rgCol');
|
|
853
852
|
}
|
|
854
853
|
getColumn(virtualIndex, type) {
|
|
855
|
-
return
|
|
854
|
+
return column_service.getSourceItem(this.dataSources[type].store, virtualIndex);
|
|
856
855
|
}
|
|
857
856
|
getRawColumns() {
|
|
858
857
|
return column_service.reduce(this.dataSources, (result, item, type) => {
|
|
@@ -872,7 +871,7 @@ class ColumnDataProvider {
|
|
|
872
871
|
return column_drag_plugin.columnTypes.reduce((r, t) => [...r, ...columnsByType[t]], []);
|
|
873
872
|
}
|
|
874
873
|
getColumnIndexByProp(prop, type) {
|
|
875
|
-
return
|
|
874
|
+
return column_service.getSourceItemVirtualIndexByProp(this.dataSources[type].store, prop);
|
|
876
875
|
}
|
|
877
876
|
getColumnByProp(prop) {
|
|
878
877
|
var _a;
|
|
@@ -939,12 +938,12 @@ class ColumnDataProvider {
|
|
|
939
938
|
continue;
|
|
940
939
|
}
|
|
941
940
|
const type = t;
|
|
942
|
-
|
|
941
|
+
column_service.setSourceByPhysicalIndex(this.dataSources[type].store, colByIndex[type] || {});
|
|
943
942
|
}
|
|
944
943
|
}
|
|
945
|
-
updateColumn(column, index
|
|
944
|
+
updateColumn(column, index) {
|
|
946
945
|
const type = column_service.getColumnType(column);
|
|
947
|
-
|
|
946
|
+
column_service.setSourceByVirtualIndex(this.dataSources[type].store, { [index]: column });
|
|
948
947
|
}
|
|
949
948
|
updateColumnSorting(column, index, sorting, additive) {
|
|
950
949
|
if (!additive) {
|
|
@@ -980,7 +979,7 @@ class DataProvider {
|
|
|
980
979
|
constructor(dimensionProvider) {
|
|
981
980
|
this.dimensionProvider = dimensionProvider;
|
|
982
981
|
this.stores = column_service.reduce(column_drag_plugin.rowTypes, (sources, k) => {
|
|
983
|
-
sources[k] = new
|
|
982
|
+
sources[k] = new column_service.DataStore(k);
|
|
984
983
|
return sources;
|
|
985
984
|
}, {});
|
|
986
985
|
}
|
|
@@ -994,18 +993,26 @@ class DataProvider {
|
|
|
994
993
|
}
|
|
995
994
|
getModel(virtualIndex, type = 'rgRow') {
|
|
996
995
|
const store = this.stores[type].store;
|
|
997
|
-
return
|
|
996
|
+
return column_service.getSourceItem(store, virtualIndex);
|
|
997
|
+
}
|
|
998
|
+
changeOrder({ rowType = 'rgRow', from, to }) {
|
|
999
|
+
const service = this.stores[rowType];
|
|
1000
|
+
const items = [...service.store.get('items')];
|
|
1001
|
+
const prevItems = [...items];
|
|
1002
|
+
const toMove = items.splice(from, 1);
|
|
1003
|
+
items.splice(to, 0, ...toMove);
|
|
1004
|
+
this.dimensionProvider.updateSizesPositionByNewDataIndexes(rowType, items, prevItems);
|
|
1005
|
+
service.setData({ items });
|
|
998
1006
|
}
|
|
999
1007
|
setCellData({ type, rowIndex, prop, val }, mutate = true) {
|
|
1000
1008
|
const model = this.getModel(rowIndex, type);
|
|
1001
1009
|
model[prop] = val;
|
|
1002
|
-
|
|
1003
|
-
index.setSourceByVirtualIndex(this.stores[type].store, { [rowIndex]: model }, mutate);
|
|
1010
|
+
this.stores[type].setSourceData({ [rowIndex]: model }, mutate);
|
|
1004
1011
|
}
|
|
1005
1012
|
setRangeData(data, type) {
|
|
1006
1013
|
const items = {};
|
|
1007
1014
|
for (let rowIndex in data) {
|
|
1008
|
-
const oldModel = (items[rowIndex] =
|
|
1015
|
+
const oldModel = (items[rowIndex] = column_service.getSourceItem(this.stores[type].store, parseInt(rowIndex, 10)));
|
|
1009
1016
|
if (!oldModel) {
|
|
1010
1017
|
continue;
|
|
1011
1018
|
}
|
|
@@ -1013,8 +1020,7 @@ class DataProvider {
|
|
|
1013
1020
|
oldModel[prop] = data[rowIndex][prop];
|
|
1014
1021
|
}
|
|
1015
1022
|
}
|
|
1016
|
-
|
|
1017
|
-
index.setSourceByVirtualIndex(this.stores[type].store, items);
|
|
1023
|
+
this.stores[type].setSourceData(items);
|
|
1018
1024
|
}
|
|
1019
1025
|
refresh(type = 'all') {
|
|
1020
1026
|
if (column_drag_plugin.isRowType(type)) {
|
|
@@ -1034,7 +1040,7 @@ class DataProvider {
|
|
|
1034
1040
|
store.addTrimmed(trimmed);
|
|
1035
1041
|
this.dimensionProvider.setTrimmed(trimmed, type);
|
|
1036
1042
|
if (type === 'rgRow') {
|
|
1037
|
-
this.dimensionProvider.setData(
|
|
1043
|
+
this.dimensionProvider.setData(column_service.getVisibleSourceItem(store.store).length, type);
|
|
1038
1044
|
}
|
|
1039
1045
|
}
|
|
1040
1046
|
}
|
|
@@ -1089,7 +1095,7 @@ class DimensionProvider {
|
|
|
1089
1095
|
* @param type
|
|
1090
1096
|
*/
|
|
1091
1097
|
setTrimmed(trimmed, type) {
|
|
1092
|
-
const allTrimmed =
|
|
1098
|
+
const allTrimmed = column_service.gatherTrimmedItems(trimmed);
|
|
1093
1099
|
const dimStoreType = this.stores[type];
|
|
1094
1100
|
dimStoreType.setStore({ trimmed: allTrimmed });
|
|
1095
1101
|
this.updateViewport(type, true);
|
|
@@ -1189,6 +1195,28 @@ class DimensionProvider {
|
|
|
1189
1195
|
this.stores[s].setStore(data);
|
|
1190
1196
|
}
|
|
1191
1197
|
}
|
|
1198
|
+
updateSizesPositionByNewDataIndexes(type, newItemsOrder, prevItemsOrder = []) {
|
|
1199
|
+
// Move custom sizes to new order
|
|
1200
|
+
const dimService = this.stores[type];
|
|
1201
|
+
const customSizes = Object.assign({}, dimService.store.get('sizes'));
|
|
1202
|
+
if (Object.keys(customSizes).length) {
|
|
1203
|
+
const originalIndices = new Map();
|
|
1204
|
+
prevItemsOrder.forEach((value, index) => {
|
|
1205
|
+
originalIndices.set(value, index);
|
|
1206
|
+
});
|
|
1207
|
+
const newSizes = {};
|
|
1208
|
+
newItemsOrder.forEach((value, newIndex) => {
|
|
1209
|
+
const originalIndex = originalIndices.get(value);
|
|
1210
|
+
if (originalIndex !== newIndex && customSizes[originalIndex]) {
|
|
1211
|
+
newSizes[newIndex] = customSizes[originalIndex];
|
|
1212
|
+
delete customSizes[originalIndex];
|
|
1213
|
+
}
|
|
1214
|
+
});
|
|
1215
|
+
if (Object.keys(newSizes).length) {
|
|
1216
|
+
this.setCustomSizes(type, Object.assign(Object.assign({}, customSizes), newSizes));
|
|
1217
|
+
}
|
|
1218
|
+
}
|
|
1219
|
+
}
|
|
1192
1220
|
}
|
|
1193
1221
|
|
|
1194
1222
|
class ViewportProvider {
|
|
@@ -1218,7 +1246,7 @@ function gatherColumnData(data) {
|
|
|
1218
1246
|
style: data.fixWidth ? { minWidth: `${realWidth}px` } : undefined,
|
|
1219
1247
|
};
|
|
1220
1248
|
const headerProp = {
|
|
1221
|
-
colData:
|
|
1249
|
+
colData: column_service.getVisibleSourceItem(data.colStore),
|
|
1222
1250
|
dimensionCol: colDimension,
|
|
1223
1251
|
type: data.colType,
|
|
1224
1252
|
groups: data.colStore.get('groups'),
|
|
@@ -1310,7 +1338,7 @@ class ViewportService {
|
|
|
1310
1338
|
const changedItems = {};
|
|
1311
1339
|
for (const [i, size] of Object.entries(detail || {})) {
|
|
1312
1340
|
const virtualIndex = parseInt(i, 10);
|
|
1313
|
-
const item =
|
|
1341
|
+
const item = column_service.getSourceItem(store, virtualIndex);
|
|
1314
1342
|
if (item) {
|
|
1315
1343
|
changedItems[virtualIndex] = Object.assign(Object.assign({}, item), { size });
|
|
1316
1344
|
}
|
|
@@ -1888,7 +1916,7 @@ const RevoGridComponent = class {
|
|
|
1888
1916
|
if (!this.dataProvider) {
|
|
1889
1917
|
throw new Error('Not connected');
|
|
1890
1918
|
}
|
|
1891
|
-
return
|
|
1919
|
+
return column_service.getVisibleSourceItem(this.dataProvider.stores[type].store);
|
|
1892
1920
|
}
|
|
1893
1921
|
/**
|
|
1894
1922
|
* Provides access to rows internal store observer
|
|
@@ -2037,6 +2065,10 @@ const RevoGridComponent = class {
|
|
|
2037
2065
|
var _a;
|
|
2038
2066
|
(_a = this.orderService) === null || _a === void 0 ? void 0 : _a.end();
|
|
2039
2067
|
}
|
|
2068
|
+
onRowOrderChange(e) {
|
|
2069
|
+
var _a;
|
|
2070
|
+
(_a = this.dataProvider) === null || _a === void 0 ? void 0 : _a.changeOrder(e.detail);
|
|
2071
|
+
}
|
|
2040
2072
|
onRowDrag({ detail }) {
|
|
2041
2073
|
var _a;
|
|
2042
2074
|
(_a = this.orderService) === null || _a === void 0 ? void 0 : _a.move(detail);
|