@revolist/revogrid 4.0.36 → 4.0.39
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/revo-grid.cjs.entry.js +56 -35
- package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
- package/dist/collection/components/revoGrid/revo-grid.js +56 -35
- package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
- package/dist/esm/revo-grid.entry.js +56 -35
- package/dist/esm/revo-grid.entry.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/types/components/revoGrid/revo-grid.d.ts +12 -2
- package/hydrate/index.js +56 -35
- package/hydrate/index.mjs +56 -35
- package/package.json +5 -1
- package/standalone/revo-grid.js +56 -35
- package/standalone/revo-grid.js.map +1 -1
|
@@ -3216,6 +3216,7 @@ const RevoGridComponent = class {
|
|
|
3216
3216
|
// UUID required to support multiple grids in one page and avoid collision
|
|
3217
3217
|
this.uuid = null;
|
|
3218
3218
|
this.viewport = null;
|
|
3219
|
+
this.isInited = false;
|
|
3219
3220
|
/**
|
|
3220
3221
|
* Plugins
|
|
3221
3222
|
* Define plugins collection
|
|
@@ -3726,30 +3727,11 @@ const RevoGridComponent = class {
|
|
|
3726
3727
|
this.extraElements = [...this.extraElements, ...elements];
|
|
3727
3728
|
}
|
|
3728
3729
|
// #endregion
|
|
3729
|
-
|
|
3730
|
-
|
|
3731
|
-
|
|
3732
|
-
|
|
3733
|
-
|
|
3734
|
-
return Promise.all(this.jobsBeforeRender);
|
|
3735
|
-
}
|
|
3736
|
-
connectedCallback() {
|
|
3737
|
-
// #region Setup Providers
|
|
3738
|
-
this.viewportProvider = new ViewportProvider();
|
|
3739
|
-
this.themeService = new ThemeService({
|
|
3740
|
-
rowSize: this.rowSize,
|
|
3741
|
-
});
|
|
3742
|
-
this.dimensionProvider = new DimensionProvider(this.viewportProvider, {
|
|
3743
|
-
realSizeChanged: (k) => this.contentsizechanged.emit(k),
|
|
3744
|
-
});
|
|
3745
|
-
this.columnProvider = new ColumnDataProvider();
|
|
3746
|
-
this.selectionStoreConnector = new selection_helpers.SelectionStoreConnector();
|
|
3747
|
-
this.dataProvider = new DataProvider(this.dimensionProvider);
|
|
3748
|
-
// #endregion
|
|
3749
|
-
// generate uuid for this grid
|
|
3750
|
-
this.uuid = `${new Date().getTime()}-rvgrid`;
|
|
3751
|
-
this.registerOutsideVNodes(this.registerVNode);
|
|
3752
|
-
// #region Plugins
|
|
3730
|
+
// #region Plugins
|
|
3731
|
+
setPlugins() {
|
|
3732
|
+
var _a;
|
|
3733
|
+
// remove old plugins if any
|
|
3734
|
+
this.removePlugins();
|
|
3753
3735
|
// pass data provider to plugins
|
|
3754
3736
|
const pluginData = {
|
|
3755
3737
|
data: this.dataProvider,
|
|
@@ -3780,12 +3762,43 @@ const RevoGridComponent = class {
|
|
|
3780
3762
|
this.internalPlugins.push(new ColumnPlugin(this.element, pluginData));
|
|
3781
3763
|
}
|
|
3782
3764
|
// register user plugins
|
|
3783
|
-
|
|
3784
|
-
|
|
3785
|
-
|
|
3786
|
-
|
|
3765
|
+
(_a = this.plugins) === null || _a === void 0 ? void 0 : _a.forEach(p => this.internalPlugins.push(new p(this.element, pluginData)));
|
|
3766
|
+
}
|
|
3767
|
+
removePlugins() {
|
|
3768
|
+
this.internalPlugins.forEach(p => p.destroy());
|
|
3769
|
+
this.internalPlugins = [];
|
|
3770
|
+
}
|
|
3771
|
+
// #endregion
|
|
3772
|
+
// if reconnect to dom we need to set up plugins
|
|
3773
|
+
connectedCallback() {
|
|
3774
|
+
if (this.isInited) {
|
|
3775
|
+
this.setPlugins();
|
|
3787
3776
|
}
|
|
3777
|
+
}
|
|
3778
|
+
/**
|
|
3779
|
+
* Called once just after the component is first connected to the DOM.
|
|
3780
|
+
* Since this method is only called once, it's a good place to load data asynchronously and to setup the state
|
|
3781
|
+
* without triggering extra re-renders.
|
|
3782
|
+
* A promise can be returned, that can be used to wait for the first render().
|
|
3783
|
+
*/
|
|
3784
|
+
componentWillLoad() {
|
|
3785
|
+
// #region Setup Providers
|
|
3786
|
+
this.viewportProvider = new ViewportProvider();
|
|
3787
|
+
this.themeService = new ThemeService({
|
|
3788
|
+
rowSize: this.rowSize,
|
|
3789
|
+
});
|
|
3790
|
+
this.dimensionProvider = new DimensionProvider(this.viewportProvider, {
|
|
3791
|
+
realSizeChanged: (k) => this.contentsizechanged.emit(k),
|
|
3792
|
+
});
|
|
3793
|
+
this.columnProvider = new ColumnDataProvider();
|
|
3794
|
+
this.selectionStoreConnector = new selection_helpers.SelectionStoreConnector();
|
|
3795
|
+
this.dataProvider = new DataProvider(this.dimensionProvider);
|
|
3788
3796
|
// #endregion
|
|
3797
|
+
// generate uuid for this grid
|
|
3798
|
+
this.uuid = `rv--${Math.random().toString(36).slice(2, 6)}-${Date.now()}`;
|
|
3799
|
+
this.registerOutsideVNodes(this.registerVNode);
|
|
3800
|
+
// init plugins
|
|
3801
|
+
this.setPlugins();
|
|
3789
3802
|
// set data
|
|
3790
3803
|
this.applyStretch(this.stretch);
|
|
3791
3804
|
this.themeChanged(this.theme, undefined, undefined, true);
|
|
@@ -3805,11 +3818,15 @@ const RevoGridComponent = class {
|
|
|
3805
3818
|
this.viewportscroll.emit(e);
|
|
3806
3819
|
});
|
|
3807
3820
|
this.aftergridinit.emit();
|
|
3821
|
+
// set inited flag for connectedCallback
|
|
3822
|
+
this.isInited = true;
|
|
3808
3823
|
}
|
|
3809
|
-
|
|
3810
|
-
|
|
3811
|
-
|
|
3812
|
-
|
|
3824
|
+
componentWillRender() {
|
|
3825
|
+
const event = this.beforegridrender.emit();
|
|
3826
|
+
if (event.defaultPrevented) {
|
|
3827
|
+
return false;
|
|
3828
|
+
}
|
|
3829
|
+
return Promise.all(this.jobsBeforeRender);
|
|
3813
3830
|
}
|
|
3814
3831
|
render() {
|
|
3815
3832
|
const contentHeight = this.dimensionProvider.stores['rgRow'].store.get('realSize');
|
|
@@ -3847,7 +3864,7 @@ const RevoGridComponent = class {
|
|
|
3847
3864
|
const headerProperties = Object.assign(Object.assign({}, view.headerProp), { type: view.type, additionalData: this.additionalData, viewportCol: view.viewportCol, selectionStore: view.columnSelectionStore, canResize: this.resize, readonly: this.readonly, columnFilter: !!this.filter });
|
|
3848
3865
|
// Column headers
|
|
3849
3866
|
const dataViews = [
|
|
3850
|
-
index$1.h("revogr-header", Object.assign({ key: '
|
|
3867
|
+
index$1.h("revogr-header", Object.assign({ key: '67b0af56acae99e5b999c0b338a279b076022171' }, headerProperties, { slot: column_service.HEADER_SLOT })),
|
|
3851
3868
|
];
|
|
3852
3869
|
// Render viewport data (vertical sections)
|
|
3853
3870
|
view.dataPorts.forEach(data => {
|
|
@@ -3869,11 +3886,15 @@ const RevoGridComponent = class {
|
|
|
3869
3886
|
const typeCol = 'rgCol';
|
|
3870
3887
|
const viewports = this.viewportProvider.stores;
|
|
3871
3888
|
const dimensions = this.dimensionProvider.stores;
|
|
3872
|
-
return (index$1.h(index$1.Host, { key: '
|
|
3889
|
+
return (index$1.h(index$1.Host, { key: '3837943944ca3c255083a2fa7fa125291442b98a', [`${index.UUID}`]: this.uuid }, this.hideAttribution ? null : (index$1.h("revogr-attribution", { class: "attribution" })), index$1.h("div", { key: '97e0e9cbd158c398945e0d5c0c43a93422c090f9', class: "main-viewport", onClick: (e) => {
|
|
3873
3890
|
if (e.currentTarget === e.target) {
|
|
3874
3891
|
this.viewport.clearEdit();
|
|
3875
3892
|
}
|
|
3876
|
-
} }, index$1.h("div", { key: '
|
|
3893
|
+
} }, index$1.h("div", { key: '9c77a61499d749aa2e786f593715d8bcacdb3ad0', class: "viewports" }, index$1.h("slot", { key: '8af1657ec8ec9b7f56afe957f589d64b55c53bcd', name: "viewport" }), viewportSections, index$1.h("revogr-scroll-virtual", { key: '1947f0706d5e9e552822a44a55504ae82c603ce7', class: "vertical", dimension: typeRow, viewportStore: viewports[typeRow].store, dimensionStore: dimensions[typeRow].store, ref: el => this.scrollingService.registerElement(el, 'rowScroll'), onScrollvirtual: e => this.scrollingService.proxyScroll(e.detail) }), index$1.h(OrderRenderer, { key: '6cf863db4b189cf9480d5aca1473832f0ee322b5', ref: e => (this.orderService = e) }))), index$1.h("revogr-scroll-virtual", { key: '542cc17558cc0cfa1def201870e0cac8f83ebd36', class: "horizontal", dimension: typeCol, viewportStore: viewports[typeCol].store, dimensionStore: dimensions[typeCol].store, ref: el => this.scrollingService.registerElement(el, 'colScroll'), onScrollvirtual: e => this.scrollingService.proxyScroll(e.detail) }), this.extraElements));
|
|
3894
|
+
}
|
|
3895
|
+
disconnectedCallback() {
|
|
3896
|
+
// Remove all plugins, to avoid memory leaks and unexpected behaviour when the component is removed
|
|
3897
|
+
this.removePlugins();
|
|
3877
3898
|
}
|
|
3878
3899
|
get element() { return index$1.getElement(this); }
|
|
3879
3900
|
static get watchers() { return {
|