@sankhyalabs/sankhyablocks 8.1.0-rc.3 → 8.2.0-dev.1
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/{ConfigStorage-73e7afff.js → ConfigStorage-12397f18.js} +163 -51
- package/dist/cjs/{DataFetcher-004811c6.js → DataFetcher-f2da1f79.js} +68 -30
- package/dist/cjs/ISave-d68ce3cd.js +8 -0
- package/dist/cjs/ResourceIDUtils-5ff86aa7.js +12 -0
- package/dist/cjs/{SnkFormConfigManager-d1f1a222.js → SnkFormConfigManager-13f79e37.js} +19 -21
- package/dist/cjs/{auth-fetcher-58237931.js → auth-fetcher-319a4cb2.js} +2 -2
- package/dist/cjs/{dataunit-fetcher-029eafbd.js → dataunit-fetcher-e72068c1.js} +1 -1
- package/dist/cjs/{form-config-fetcher-181767c9.js → form-config-fetcher-5d62ab62.js} +66 -3
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{pesquisa-fetcher-9a97994a.js → pesquisa-fetcher-8c363096.js} +1 -1
- package/dist/cjs/sankhyablocks.cjs.js +1 -1
- package/dist/cjs/snk-actions-button.cjs.entry.js +18 -11
- package/dist/cjs/snk-application.cjs.entry.js +49 -44
- package/dist/cjs/snk-attach.cjs.entry.js +7 -13
- package/dist/cjs/snk-configurator.cjs.entry.js +2 -1
- package/dist/cjs/snk-crud.cjs.entry.js +25 -10
- package/dist/cjs/snk-data-exporter.cjs.entry.js +2 -2
- package/dist/cjs/{snk-data-unit-e89e07bd.js → snk-data-unit-80a00ae4.js} +4 -3
- package/dist/cjs/snk-data-unit.cjs.entry.js +1 -1
- package/dist/cjs/snk-detail-view.cjs.entry.js +14 -12
- package/dist/cjs/snk-entity-list.cjs.entry.js +0 -4
- package/dist/cjs/snk-filter-bar.cjs.entry.js +14 -17
- package/dist/cjs/snk-filter-detail.cjs.entry.js +1 -15
- package/dist/cjs/snk-filter-modal-item.cjs.entry.js +5 -19
- package/dist/cjs/snk-form-config.cjs.entry.js +6 -17
- package/dist/cjs/snk-form-view.cjs.entry.js +6 -1
- package/dist/cjs/snk-form.cjs.entry.js +12 -8
- package/dist/cjs/snk-grid-config.cjs.entry.js +5 -6
- package/dist/cjs/snk-grid.cjs.entry.js +17 -20
- package/dist/cjs/{snk-guides-viewer-27f87d90.js → snk-guides-viewer-a7cd6fda.js} +17 -7
- package/dist/cjs/snk-guides-viewer.cjs.entry.js +8 -8
- package/dist/cjs/snk-personalized-filter.cjs.entry.js +13 -16
- package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
- package/dist/cjs/snk-simple-crud.cjs.entry.js +20 -72
- package/dist/cjs/snk-taskbar.cjs.entry.js +2 -1
- package/dist/collection/components/snk-actions-button/actions/index.js +3 -4
- package/dist/collection/components/snk-actions-button/snk-actions-button.js +8 -4
- package/dist/collection/components/snk-application/snk-application.js +60 -65
- package/dist/collection/components/snk-configurator/snk-configurator.js +19 -1
- package/dist/collection/components/snk-crud/snk-crud.js +40 -6
- package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +42 -2
- package/dist/collection/components/snk-crud/subcomponents/snk-form-view.js +27 -1
- package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +47 -28
- package/dist/collection/components/snk-data-unit/snk-data-unit.js +21 -4
- package/dist/collection/components/snk-entity-list/snk-entity-list.js +0 -23
- package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +2 -12
- package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +1 -1
- package/dist/collection/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.js +21 -16
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +28 -12
- package/dist/collection/components/snk-form/SnkFormConfigManager.js +17 -19
- package/dist/collection/components/snk-form/snk-form.js +46 -2
- package/dist/collection/components/snk-form/subcomponents/snk-form-config/snk-form-config.js +5 -15
- package/dist/collection/components/snk-grid/snk-grid.js +51 -15
- package/dist/collection/components/snk-grid/subcomponents/snk-grid-config/snk-grid-config.js +19 -1
- package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +28 -12
- package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +22 -0
- package/dist/collection/components/snk-taskbar/snk-taskbar.js +19 -1
- package/dist/collection/lib/configs/ConfigStorage.js +33 -44
- package/dist/collection/lib/dataUnit/InMemoryLoader.js +2 -59
- package/dist/collection/lib/http/data-fetcher/DataFetcher.js +39 -30
- package/dist/collection/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.js +0 -24
- package/dist/collection/lib/index.js +10 -0
- package/dist/collection/lib/resourceid/ResourceIDUtils.js +7 -0
- package/dist/collection/lib/utils/urlutils.js +29 -0
- package/dist/components/ConfigStorage.js +161 -48
- package/dist/components/DataFetcher.js +68 -30
- package/dist/components/ResourceIDUtils.js +10 -0
- package/dist/components/SnkFormConfigManager.js +17 -19
- package/dist/components/auth-fetcher.js +1 -1
- package/dist/components/form-config-fetcher.js +64 -2
- package/dist/components/snk-actions-button2.js +23 -9
- package/dist/components/snk-application2.js +134 -128
- package/dist/components/snk-attach2.js +1 -8
- package/dist/components/snk-configurator2.js +3 -1
- package/dist/components/snk-crud.js +23 -6
- package/dist/components/snk-data-unit2.js +5 -3
- package/dist/components/snk-detail-view2.js +20 -8
- package/dist/components/snk-entity-list.js +0 -4
- package/dist/components/snk-filter-bar2.js +12 -12
- package/dist/components/snk-filter-detail2.js +2 -12
- package/dist/components/snk-filter-modal-item2.js +5 -16
- package/dist/components/snk-form-config2.js +5 -15
- package/dist/components/snk-form-view2.js +6 -1
- package/dist/components/snk-form.js +9 -2
- package/dist/components/snk-grid-config2.js +4 -2
- package/dist/components/snk-grid2.js +17 -16
- package/dist/components/snk-personalized-filter2.js +11 -11
- package/dist/components/snk-simple-crud2.js +8 -60
- package/dist/components/snk-taskbar2.js +3 -1
- package/dist/esm/{ConfigStorage-19a7260b.js → ConfigStorage-932ab366.js} +162 -49
- package/dist/esm/{DataFetcher-e0fc5549.js → DataFetcher-7e18aa30.js} +68 -30
- package/dist/esm/ISave-4412b20c.js +8 -0
- package/dist/esm/ResourceIDUtils-a114189a.js +10 -0
- package/dist/esm/{SnkFormConfigManager-1a42eb02.js → SnkFormConfigManager-bb9afc3f.js} +19 -21
- package/dist/esm/{auth-fetcher-83a946f8.js → auth-fetcher-6d9664b7.js} +1 -1
- package/dist/esm/{dataunit-fetcher-6a695723.js → dataunit-fetcher-91a4eb82.js} +1 -1
- package/dist/esm/{form-config-fetcher-9e167008.js → form-config-fetcher-aaaa79a6.js} +65 -3
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{pesquisa-fetcher-9118eb7a.js → pesquisa-fetcher-56b30fb4.js} +1 -1
- package/dist/esm/sankhyablocks.js +1 -1
- package/dist/esm/snk-actions-button.entry.js +18 -11
- package/dist/esm/snk-application.entry.js +49 -44
- package/dist/esm/snk-attach.entry.js +3 -9
- package/dist/esm/snk-configurator.entry.js +2 -1
- package/dist/esm/snk-crud.entry.js +25 -10
- package/dist/esm/snk-data-exporter.entry.js +2 -2
- package/dist/esm/{snk-data-unit-8c4d944d.js → snk-data-unit-3ab57d1a.js} +4 -3
- package/dist/esm/snk-data-unit.entry.js +1 -1
- package/dist/esm/snk-detail-view.entry.js +14 -12
- package/dist/esm/snk-entity-list.entry.js +0 -4
- package/dist/esm/snk-filter-bar.entry.js +14 -17
- package/dist/esm/snk-filter-detail.entry.js +2 -16
- package/dist/esm/snk-filter-modal-item.entry.js +6 -20
- package/dist/esm/snk-form-config.entry.js +7 -18
- package/dist/esm/snk-form-view.entry.js +6 -1
- package/dist/esm/snk-form.entry.js +12 -8
- package/dist/esm/snk-grid-config.entry.js +5 -6
- package/dist/esm/snk-grid.entry.js +17 -20
- package/dist/esm/{snk-guides-viewer-c47cd45e.js → snk-guides-viewer-cc709b5f.js} +17 -7
- package/dist/esm/snk-guides-viewer.entry.js +8 -8
- package/dist/esm/snk-personalized-filter.entry.js +13 -16
- package/dist/esm/snk-print-selector.entry.js +1 -1
- package/dist/esm/snk-simple-crud.entry.js +10 -62
- package/dist/esm/snk-taskbar.entry.js +2 -1
- package/dist/sankhyablocks/p-01739b21.entry.js +1 -0
- package/dist/sankhyablocks/{p-e7e54737.entry.js → p-03bb1aea.entry.js} +1 -1
- package/dist/sankhyablocks/p-05dbc70e.entry.js +1 -0
- package/dist/sankhyablocks/{p-0a4c753d.js → p-14eac6fe.js} +1 -1
- package/dist/sankhyablocks/{p-2ac9c585.js → p-2d333d22.js} +1 -1
- package/dist/sankhyablocks/p-41e897f1.js +56 -0
- package/dist/sankhyablocks/p-48a40939.js +1 -0
- package/dist/sankhyablocks/p-611aa624.entry.js +1 -0
- package/dist/sankhyablocks/p-66bb8c20.entry.js +1 -0
- package/dist/sankhyablocks/p-688dcb4c.js +1 -0
- package/dist/sankhyablocks/p-6f154396.entry.js +1 -0
- package/dist/sankhyablocks/p-787071a8.js +1 -0
- package/dist/sankhyablocks/p-8481bb59.entry.js +1 -0
- package/dist/sankhyablocks/p-8818d8f6.entry.js +1 -0
- package/dist/sankhyablocks/p-93f6ca04.entry.js +1 -0
- package/dist/sankhyablocks/p-9a270401.entry.js +1 -0
- package/dist/sankhyablocks/p-9e7d65a4.js +1 -0
- package/dist/sankhyablocks/p-a52a6c9d.js +26 -0
- package/dist/sankhyablocks/p-b6003974.entry.js +1 -0
- package/dist/sankhyablocks/p-c555075c.entry.js +1 -0
- package/dist/sankhyablocks/{p-e5845241.entry.js → p-d13c00b6.entry.js} +1 -1
- package/dist/sankhyablocks/p-d4f9ee17.entry.js +1 -0
- package/dist/sankhyablocks/p-d53a9169.entry.js +1 -0
- package/dist/sankhyablocks/p-d7638f45.entry.js +11 -0
- package/dist/sankhyablocks/p-e086cc2a.entry.js +1 -0
- package/dist/sankhyablocks/p-e64f3e17.entry.js +1 -0
- package/dist/sankhyablocks/p-ed41b38c.js +1 -0
- package/dist/sankhyablocks/p-ed705cbb.entry.js +1 -0
- package/dist/sankhyablocks/p-efc10705.entry.js +1 -0
- package/dist/sankhyablocks/p-f74fe358.js +1 -0
- package/dist/sankhyablocks/{p-df8621b4.js → p-f8e6b97e.js} +1 -1
- package/dist/sankhyablocks/p-f91e0c5d.entry.js +1 -0
- package/dist/sankhyablocks/p-fa523d6b.entry.js +1 -0
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-actions-button/actions/index.d.ts +2 -1
- package/dist/types/components/snk-application/snk-application.d.ts +8 -13
- package/dist/types/components/snk-configurator/snk-configurator.d.ts +4 -0
- package/dist/types/components/snk-crud/snk-crud.d.ts +5 -0
- package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +8 -0
- package/dist/types/components/snk-crud/subcomponents/snk-form-view.d.ts +5 -0
- package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +9 -2
- package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +4 -0
- package/dist/types/components/snk-entity-list/snk-entity-list.d.ts +0 -4
- package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +0 -3
- package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +1 -1
- package/dist/types/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.d.ts +5 -4
- package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +4 -0
- package/dist/types/components/snk-form/SnkFormConfigManager.d.ts +5 -4
- package/dist/types/components/snk-form/snk-form.d.ts +9 -1
- package/dist/types/components/snk-form/subcomponents/snk-form-config/snk-form-config.d.ts +0 -2
- package/dist/types/components/snk-grid/snk-grid.d.ts +5 -1
- package/dist/types/components/snk-grid/subcomponents/snk-grid-config/snk-grid-config.d.ts +4 -0
- package/dist/types/components/snk-personalized-filter/snk-personalized-filter.d.ts +5 -1
- package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +4 -0
- package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +4 -0
- package/dist/types/components.d.ts +125 -21
- package/dist/types/lib/configs/ConfigStorage.d.ts +11 -13
- package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +0 -7
- package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -1
- package/dist/types/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.d.ts +0 -1
- package/dist/types/lib/index.d.ts +11 -0
- package/dist/types/lib/resourceid/ResourceIDUtils.d.ts +3 -0
- package/dist/types/lib/utils/urlutils.d.ts +14 -0
- package/package.json +2 -2
- package/dist/cjs/filter-bar-config-fetcher-2b8ed9d0.js +0 -155
- package/dist/cjs/resource-fetcher-c0332609.js +0 -68
- package/dist/components/filter-bar-config-fetcher.js +0 -153
- package/dist/components/resource-fetcher.js +0 -66
- package/dist/esm/filter-bar-config-fetcher-06e02851.js +0 -153
- package/dist/esm/resource-fetcher-768d5556.js +0 -66
- package/dist/sankhyablocks/p-0ed0fc02.entry.js +0 -1
- package/dist/sankhyablocks/p-216f081a.entry.js +0 -1
- package/dist/sankhyablocks/p-22c6fe1a.entry.js +0 -1
- package/dist/sankhyablocks/p-34a1357a.entry.js +0 -1
- package/dist/sankhyablocks/p-4721c3db.js +0 -1
- package/dist/sankhyablocks/p-564efc43.js +0 -1
- package/dist/sankhyablocks/p-6759adae.entry.js +0 -1
- package/dist/sankhyablocks/p-7b8b8ae9.js +0 -10
- package/dist/sankhyablocks/p-7e285d6c.entry.js +0 -11
- package/dist/sankhyablocks/p-815a42c0.entry.js +0 -1
- package/dist/sankhyablocks/p-8a41172a.entry.js +0 -1
- package/dist/sankhyablocks/p-8f8184ff.js +0 -56
- package/dist/sankhyablocks/p-976e56e9.js +0 -1
- package/dist/sankhyablocks/p-98f9d076.js +0 -17
- package/dist/sankhyablocks/p-bc735728.entry.js +0 -1
- package/dist/sankhyablocks/p-be684b38.entry.js +0 -1
- package/dist/sankhyablocks/p-befbc9ee.entry.js +0 -1
- package/dist/sankhyablocks/p-c0f656af.entry.js +0 -1
- package/dist/sankhyablocks/p-c32b9d7c.entry.js +0 -1
- package/dist/sankhyablocks/p-c57bd935.entry.js +0 -1
- package/dist/sankhyablocks/p-c6380ea2.entry.js +0 -1
- package/dist/sankhyablocks/p-cfd7da4a.entry.js +0 -1
- package/dist/sankhyablocks/p-d1b89765.js +0 -1
- package/dist/sankhyablocks/p-de69b4b0.entry.js +0 -1
- package/dist/sankhyablocks/p-e28129aa.entry.js +0 -1
- package/dist/sankhyablocks/p-f31bfdee.entry.js +0 -1
- package/dist/sankhyablocks/p-f88c45bf.js +0 -1
- package/dist/sankhyablocks/p-fe010e54.entry.js +0 -1
package/dist/collection/components/snk-form/subcomponents/snk-form-config/snk-form-config.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import { h, Host } from "@stencil/core";
|
2
2
|
import { Sortable } from '@shopify/draggable';
|
3
|
-
import {
|
3
|
+
import { ObjectUtils, ArrayUtils, ElementIDUtils } from '@sankhyalabs/core';
|
4
4
|
import { ApplicationUtils, DialogType } from "@sankhyalabs/ezui/dist/collection/utils";
|
5
5
|
import { ACTION_CONFIG, CONFIG_EVENTS, DEFAULT_TYPE, TAB_NAMES } from "../../../../lib/utils/constants";
|
6
6
|
import { UserConfigType } from "../../../../lib/http/data-fetcher/fetchers/form-config-fetcher";
|
@@ -446,13 +446,10 @@ export class SnkFormConfig {
|
|
446
446
|
this._sortableGroup.on(CONFIG_EVENTS.dragStop, (evt) => this.controlStopDraggingGroup(evt));
|
447
447
|
}
|
448
448
|
loadUserConfig() {
|
449
|
-
if (this._applicationResourceID == undefined) {
|
450
|
-
return;
|
451
|
-
}
|
452
449
|
if (this.configManager == undefined) {
|
453
450
|
return;
|
454
451
|
}
|
455
|
-
this.configManager.fetchUserAvailableConfigs(
|
452
|
+
this.configManager.fetchUserAvailableConfigs()
|
456
453
|
.then((userConfig) => {
|
457
454
|
this._formConfigOptions = userConfig;
|
458
455
|
if (this._formConfigOptions == undefined) {
|
@@ -506,9 +503,6 @@ export class SnkFormConfig {
|
|
506
503
|
}
|
507
504
|
}
|
508
505
|
async loadConfigByUser() {
|
509
|
-
if (this._applicationResourceID == undefined) {
|
510
|
-
return;
|
511
|
-
}
|
512
506
|
if (this.configManager == undefined) {
|
513
507
|
return;
|
514
508
|
}
|
@@ -518,10 +512,10 @@ export class SnkFormConfig {
|
|
518
512
|
let config;
|
519
513
|
switch (this._optionFormConfigSelected.origin) {
|
520
514
|
case UserConfigType.DEFAULT:
|
521
|
-
config = await this.configManager.fetchDefaultConfig(
|
515
|
+
config = await this.configManager.fetchDefaultConfig();
|
522
516
|
break;
|
523
517
|
case UserConfigType.DEFAULT:
|
524
|
-
config = await this.configManager.fetchDefaultConfig(
|
518
|
+
config = await this.configManager.fetchDefaultConfig();
|
525
519
|
break;
|
526
520
|
}
|
527
521
|
if (config != undefined) {
|
@@ -937,11 +931,7 @@ export class SnkFormConfig {
|
|
937
931
|
this.controlSortableGroup();
|
938
932
|
}
|
939
933
|
componentWillLoad() {
|
940
|
-
this.
|
941
|
-
this._application.getResourceID().then(resourceID => {
|
942
|
-
this._applicationResourceID = resourceID;
|
943
|
-
this.loadConfig();
|
944
|
-
});
|
934
|
+
this.loadConfig();
|
945
935
|
}
|
946
936
|
componentDidLoad() {
|
947
937
|
const dataInfo = { dataUnit: this.dataUnit };
|
@@ -10,7 +10,6 @@ import SnkMultiSelectionListDataSource from './filtercolumn/SnkMultiSelectionLis
|
|
10
10
|
import { SelectionMode } from '@sankhyalabs/core/dist/dataunit/DataUnit';
|
11
11
|
export class SnkGrid {
|
12
12
|
constructor() {
|
13
|
-
this._multiSelectionListDataSource = new SnkMultiSelectionListDataSource();
|
14
13
|
this._topTaskbarProcessor = new TaskbarProcessor({
|
15
14
|
"snkGridTopTaskbar.regular": ["FORM_MODE", "CONFIGURATOR", "INSERT"],
|
16
15
|
"snkGridTopTaskbar.regular.secondary": ["FORM_MODE", "CONFIGURATOR", "INSERT"],
|
@@ -27,7 +26,9 @@ export class SnkGrid {
|
|
27
26
|
this._dataState = undefined;
|
28
27
|
this._gridConfig = undefined;
|
29
28
|
this._popUpGridConfig = false;
|
29
|
+
this.columnFilterDataSource = new SnkMultiSelectionListDataSource();
|
30
30
|
this.configName = undefined;
|
31
|
+
this.resourceID = undefined;
|
31
32
|
this.selectionToastConfig = undefined;
|
32
33
|
this.actionsList = undefined;
|
33
34
|
this.isDetail = undefined;
|
@@ -86,20 +87,17 @@ export class SnkGrid {
|
|
86
87
|
this._gridConfig = config;
|
87
88
|
}
|
88
89
|
loadConfig() {
|
89
|
-
ConfigStorage.
|
90
|
-
.then((
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
.catch((error) => {
|
96
|
-
console.warn(error);
|
97
|
-
});
|
90
|
+
ConfigStorage.loadGridConfig(this.configName, this.resourceID)
|
91
|
+
.then((config) => {
|
92
|
+
this.setGridConfig(config);
|
93
|
+
})
|
94
|
+
.catch((error) => {
|
95
|
+
console.warn(error);
|
98
96
|
});
|
99
97
|
}
|
100
98
|
gridConfigChangeHandler(evt) {
|
101
99
|
const config = evt.detail;
|
102
|
-
ConfigStorage.saveGridConfig(config, this.configName);
|
100
|
+
ConfigStorage.saveGridConfig(config, this.configName, this.resourceID);
|
103
101
|
evt.stopPropagation();
|
104
102
|
}
|
105
103
|
modalConfigChangeHandler(evt) {
|
@@ -212,10 +210,11 @@ export class SnkGrid {
|
|
212
210
|
ElementIDUtils.addIDInfo(this._element, null, dataInfo);
|
213
211
|
}
|
214
212
|
finshLoading() {
|
213
|
+
var _a, _b;
|
215
214
|
this._dataUnitLoadLockerResolver = this._dataUnit.addLoadingLocker();
|
216
215
|
this.addElementID();
|
217
|
-
this.
|
218
|
-
this.
|
216
|
+
(_a = this.columnFilterDataSource) === null || _a === void 0 ? void 0 : _a.setApplication(this._application);
|
217
|
+
(_b = this.columnFilterDataSource) === null || _b === void 0 ? void 0 : _b.setDataUnit(this._dataUnit);
|
219
218
|
}
|
220
219
|
componentWillLoad() {
|
221
220
|
this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
|
@@ -306,8 +305,8 @@ export class SnkGrid {
|
|
306
305
|
if (!this._dataUnit) {
|
307
306
|
return undefined;
|
308
307
|
}
|
309
|
-
return (h("div", { class: "snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large" }, h("div", { class: "snk-grid__header ez-margin-bottom--medium" }, h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, dataUnit: this._dataUnit, "data-element-id": "gridFilter", class: "snk-grid__filter-bar ez-align--top", configName: this.configName, messagesBuilder: this.messagesBuilder }), ((_b = (_a = this._snkFilterBar) === null || _a === void 0 ? void 0 : _a.filterConfig) === null || _b === void 0 ? void 0 : _b.length) > 0 &&
|
310
|
-
h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" }), h("snk-taskbar", { class: "ez-padding-left--medium", "data-element-id": "grid_top", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: this.getPrimaryButton() })), h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === PresentationMode.SECONDARY ? "snk-grid-container__without-shadow " : "") + "snk-grid__table", "data-element-id": "embedded", dataUnit: this._dataUnit, key: "grid-" + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => { this.gridConfigChangeHandler(evt); }, onEzDoubleClick: () => this.gridDoubleClick.emit(), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, onComponentReady: () => this.onEzGridReady(), columnfilterDataSource: this.
|
308
|
+
return (h("div", { class: "snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large" }, h("div", { class: "snk-grid__header ez-margin-bottom--medium" }, h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, dataUnit: this._dataUnit, "data-element-id": "gridFilter", class: "snk-grid__filter-bar ez-align--top", configName: this.configName, messagesBuilder: this.messagesBuilder, resourceID: this.resourceID }), ((_b = (_a = this._snkFilterBar) === null || _a === void 0 ? void 0 : _a.filterConfig) === null || _b === void 0 ? void 0 : _b.length) > 0 &&
|
309
|
+
h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" }), h("snk-taskbar", { class: "ez-padding-left--medium", "data-element-id": "grid_top", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: this.getPrimaryButton(), resourceID: this.resourceID })), h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === PresentationMode.SECONDARY ? "snk-grid-container__without-shadow " : "") + "snk-grid__table", "data-element-id": "embedded", dataUnit: this._dataUnit, key: "grid-" + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => { this.gridConfigChangeHandler(evt); }, onEzDoubleClick: () => this.gridDoubleClick.emit(), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, onComponentReady: () => this.onEzGridReady(), columnfilterDataSource: this.columnFilterDataSource, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, recordsValidator: this.recordsValidator, canEdit: this.canEdit }, h("snk-taskbar", { dataUnit: this._dataUnit, configName: this.configName, messagesBuilder: this.messagesBuilder, "data-element-id": "grid_left", buttons: this._headerTaskbarProcessor.buttons, disabledButtons: this._headerTaskbarProcessor.disabledButtons, customButtons: this._headerTaskbarProcessor.customButtons, slot: "leftButtons", actionsList: this.actionsList, resourceID: this.resourceID })), h("div", { class: "ez-col ez-col--sd-12" }, h("slot", { name: "SnkGridFooter" })), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._popUpGridConfig, onEzCloseModal: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), application: this._application, selectedIndex: 0, configName: this.configName, onConfigChange: (evt) => this.modalConfigChangeHandler(evt), onConfigCancel: () => this.closeGridConfig(), resourceID: this.resourceID }))));
|
311
310
|
}
|
312
311
|
static get is() { return "snk-grid"; }
|
313
312
|
static get encapsulation() { return "scoped"; }
|
@@ -323,6 +322,26 @@ export class SnkGrid {
|
|
323
322
|
}
|
324
323
|
static get properties() {
|
325
324
|
return {
|
325
|
+
"columnFilterDataSource": {
|
326
|
+
"type": "unknown",
|
327
|
+
"mutable": true,
|
328
|
+
"complexType": {
|
329
|
+
"original": "SnkMultiSelectionListDataSource",
|
330
|
+
"resolved": "SnkMultiSelectionListDataSource",
|
331
|
+
"references": {
|
332
|
+
"SnkMultiSelectionListDataSource": {
|
333
|
+
"location": "global"
|
334
|
+
}
|
335
|
+
}
|
336
|
+
},
|
337
|
+
"required": false,
|
338
|
+
"optional": false,
|
339
|
+
"docs": {
|
340
|
+
"tags": [],
|
341
|
+
"text": ""
|
342
|
+
},
|
343
|
+
"defaultValue": "new SnkMultiSelectionListDataSource()"
|
344
|
+
},
|
326
345
|
"configName": {
|
327
346
|
"type": "string",
|
328
347
|
"mutable": false,
|
@@ -340,6 +359,23 @@ export class SnkGrid {
|
|
340
359
|
"attribute": "config-name",
|
341
360
|
"reflect": false
|
342
361
|
},
|
362
|
+
"resourceID": {
|
363
|
+
"type": "string",
|
364
|
+
"mutable": false,
|
365
|
+
"complexType": {
|
366
|
+
"original": "string",
|
367
|
+
"resolved": "string",
|
368
|
+
"references": {}
|
369
|
+
},
|
370
|
+
"required": false,
|
371
|
+
"optional": false,
|
372
|
+
"docs": {
|
373
|
+
"tags": [],
|
374
|
+
"text": "Identificador de recursos como configura\u00E7\u00F5es e acesso."
|
375
|
+
},
|
376
|
+
"attribute": "resource-i-d",
|
377
|
+
"reflect": false
|
378
|
+
},
|
343
379
|
"selectionToastConfig": {
|
344
380
|
"type": "unknown",
|
345
381
|
"mutable": false,
|
package/dist/collection/components/snk-grid/subcomponents/snk-grid-config/snk-grid-config.js
CHANGED
@@ -17,6 +17,7 @@ export class SnkGridConfig {
|
|
17
17
|
this.columns = undefined;
|
18
18
|
this.config = undefined;
|
19
19
|
this.configName = undefined;
|
20
|
+
this.resourceID = undefined;
|
20
21
|
}
|
21
22
|
/* Creation Methods */
|
22
23
|
/**
|
@@ -240,7 +241,7 @@ export class SnkGridConfig {
|
|
240
241
|
}
|
241
242
|
}
|
242
243
|
_newConfig.columns = _newColumnConfigList;
|
243
|
-
ConfigStorage.saveGridConfig(_newConfig, this.configName)
|
244
|
+
ConfigStorage.saveGridConfig(_newConfig, this.configName, this.resourceID)
|
244
245
|
.then((savedConfig) => {
|
245
246
|
this.configChange.emit(savedConfig);
|
246
247
|
this._orderList.clearHistory();
|
@@ -571,6 +572,23 @@ export class SnkGridConfig {
|
|
571
572
|
},
|
572
573
|
"attribute": "config-name",
|
573
574
|
"reflect": false
|
575
|
+
},
|
576
|
+
"resourceID": {
|
577
|
+
"type": "string",
|
578
|
+
"mutable": false,
|
579
|
+
"complexType": {
|
580
|
+
"original": "string",
|
581
|
+
"resolved": "string",
|
582
|
+
"references": {}
|
583
|
+
},
|
584
|
+
"required": false,
|
585
|
+
"optional": false,
|
586
|
+
"docs": {
|
587
|
+
"tags": [],
|
588
|
+
"text": "Nome usado para salvar/recuperar a configura\u00E7\u00E3o."
|
589
|
+
},
|
590
|
+
"attribute": "resource-i-d",
|
591
|
+
"reflect": false
|
574
592
|
}
|
575
593
|
};
|
576
594
|
}
|
@@ -30,6 +30,7 @@ export class SnkPersonalizedFilter {
|
|
30
30
|
this.entityUri = undefined;
|
31
31
|
this.filterId = undefined;
|
32
32
|
this.configName = undefined;
|
33
|
+
this.resourceID = undefined;
|
33
34
|
}
|
34
35
|
/*
|
35
36
|
* Cria um novo filtro se não houver nenhum filtro existente
|
@@ -66,17 +67,15 @@ export class SnkPersonalizedFilter {
|
|
66
67
|
this._filterAssistent = ObjectUtils.copy(newPersonalizedFilter);
|
67
68
|
}
|
68
69
|
loadFilter(newValue, oldValue) {
|
69
|
-
if (newValue == null || oldValue == newValue) {
|
70
|
+
if (newValue == null || oldValue == newValue || this.resourceID == undefined) {
|
70
71
|
return;
|
71
72
|
}
|
72
|
-
ConfigStorage.
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
this._filterAssistentMode = this._filterAssistent.hasOwnProperty("assistent") && this._filterAssistent.assistent != undefined;
|
79
|
-
});
|
73
|
+
ConfigStorage.loadPersonalizedFilter(newValue, this.resourceID, this.configName)
|
74
|
+
.then((resp) => {
|
75
|
+
const personalizedFilter = this.addLabelToItems(resp);
|
76
|
+
this._filterAssistent = personalizedFilter;
|
77
|
+
this._originalFilterAssistent = ObjectUtils.copy(personalizedFilter);
|
78
|
+
this._filterAssistentMode = this._filterAssistent.hasOwnProperty("assistent") && this._filterAssistent.assistent != undefined;
|
80
79
|
});
|
81
80
|
}
|
82
81
|
componentWillLoad() {
|
@@ -101,7 +100,7 @@ export class SnkPersonalizedFilter {
|
|
101
100
|
return this._application.messagesBuilder.getMessage(key, params);
|
102
101
|
}
|
103
102
|
saveFilter() {
|
104
|
-
ConfigStorage.savePersonalizedFilter(this._filterAssistent, this.configName).then((personalizedFilter) => {
|
103
|
+
ConfigStorage.savePersonalizedFilter(this._filterAssistent, this.resourceID, this.configName).then((personalizedFilter) => {
|
105
104
|
this._elButtonSave.enabled = false;
|
106
105
|
const messageToken = !!this._filterAssistent.id ? 'confirmEdit' : 'confirmSave';
|
107
106
|
ApplicationUtils.info(this.getMessage(`snkPersonalizedFilter.${messageToken}.title`), { iconName: "check" });
|
@@ -112,7 +111,7 @@ export class SnkPersonalizedFilter {
|
|
112
111
|
});
|
113
112
|
}
|
114
113
|
removeFilter() {
|
115
|
-
ConfigStorage.removePersonalizedFilter(this._filterAssistent, this.configName);
|
114
|
+
ConfigStorage.removePersonalizedFilter(this._filterAssistent, this.resourceID, this.configName);
|
116
115
|
}
|
117
116
|
hasChangesToSave() {
|
118
117
|
return JSON.stringify(this._filterAssistent) === JSON.stringify(this._originalFilterAssistent);
|
@@ -361,10 +360,27 @@ export class SnkPersonalizedFilter {
|
|
361
360
|
"optional": false,
|
362
361
|
"docs": {
|
363
362
|
"tags": [],
|
364
|
-
"text": "Nome da
|
363
|
+
"text": "Nome da configura\u00E7\u00E3o. Serve para distinguir v\u00E1rias inst\u00E2ncias do componente."
|
365
364
|
},
|
366
365
|
"attribute": "config-name",
|
367
366
|
"reflect": false
|
367
|
+
},
|
368
|
+
"resourceID": {
|
369
|
+
"type": "string",
|
370
|
+
"mutable": false,
|
371
|
+
"complexType": {
|
372
|
+
"original": "string",
|
373
|
+
"resolved": "string",
|
374
|
+
"references": {}
|
375
|
+
},
|
376
|
+
"required": false,
|
377
|
+
"optional": false,
|
378
|
+
"docs": {
|
379
|
+
"tags": [],
|
380
|
+
"text": "Nome da configura\u00E7\u00E3o. Serve para distinguir v\u00E1rias inst\u00E2ncias do componente."
|
381
|
+
},
|
382
|
+
"attribute": "resource-i-d",
|
383
|
+
"reflect": false
|
368
384
|
}
|
369
385
|
};
|
370
386
|
}
|
@@ -452,6 +452,28 @@ export class SnkSimpleCrud {
|
|
452
452
|
"resolved": "string",
|
453
453
|
"references": {}
|
454
454
|
}
|
455
|
+
}, {
|
456
|
+
"method": "formItemsReady",
|
457
|
+
"name": "formItemsReady",
|
458
|
+
"bubbles": true,
|
459
|
+
"cancelable": true,
|
460
|
+
"composed": true,
|
461
|
+
"docs": {
|
462
|
+
"tags": [],
|
463
|
+
"text": "Respons\u00E1vel por notificar quando ocorrer a renderiza\u00E7\u00E3o de itens do formul\u00E1rio."
|
464
|
+
},
|
465
|
+
"complexType": {
|
466
|
+
"original": "Array<HTMLElement>",
|
467
|
+
"resolved": "HTMLElement[]",
|
468
|
+
"references": {
|
469
|
+
"Array": {
|
470
|
+
"location": "global"
|
471
|
+
},
|
472
|
+
"HTMLElement": {
|
473
|
+
"location": "global"
|
474
|
+
}
|
475
|
+
}
|
476
|
+
}
|
455
477
|
}];
|
456
478
|
}
|
457
479
|
static get methods() {
|
@@ -23,6 +23,7 @@ export class SnkTaskbar {
|
|
23
23
|
};
|
24
24
|
this._permissions = undefined;
|
25
25
|
this.configName = undefined;
|
26
|
+
this.resourceID = undefined;
|
26
27
|
this.buttons = undefined;
|
27
28
|
this.customButtons = undefined;
|
28
29
|
this.actionsList = undefined;
|
@@ -164,7 +165,7 @@ export class SnkTaskbar {
|
|
164
165
|
componentWillLoad() {
|
165
166
|
this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
|
166
167
|
if (this._application) {
|
167
|
-
this._application.getAllAccess().then(access => this._permissions = access);
|
168
|
+
this._application.getAllAccess(this.resourceID).then(access => this._permissions = access);
|
168
169
|
}
|
169
170
|
else {
|
170
171
|
this._permissions = {};
|
@@ -232,6 +233,23 @@ export class SnkTaskbar {
|
|
232
233
|
"attribute": "config-name",
|
233
234
|
"reflect": false
|
234
235
|
},
|
236
|
+
"resourceID": {
|
237
|
+
"type": "string",
|
238
|
+
"mutable": false,
|
239
|
+
"complexType": {
|
240
|
+
"original": "string",
|
241
|
+
"resolved": "string",
|
242
|
+
"references": {}
|
243
|
+
},
|
244
|
+
"required": false,
|
245
|
+
"optional": false,
|
246
|
+
"docs": {
|
247
|
+
"tags": [],
|
248
|
+
"text": "Identificador de recursos como configura\u00E7\u00F5es e acesso."
|
249
|
+
},
|
250
|
+
"attribute": "resource-i-d",
|
251
|
+
"reflect": false
|
252
|
+
},
|
235
253
|
"buttons": {
|
236
254
|
"type": "string",
|
237
255
|
"mutable": false,
|
@@ -1,4 +1,3 @@
|
|
1
|
-
import { ApplicationContext } from "@sankhyalabs/core";
|
2
1
|
import { FormConfigFetcher } from "../http/data-fetcher/fetchers/form-config-fetcher";
|
3
2
|
import GridConfigFetcher from "../http/data-fetcher/fetchers/grid-config-fetcher";
|
4
3
|
import FilterBarConfigFetcher from "../http/data-fetcher/fetchers/filter-bar-config-fetcher";
|
@@ -9,83 +8,73 @@ const CONFIG_SOURCE = {
|
|
9
8
|
filterBar: "filterBar"
|
10
9
|
};
|
11
10
|
export class ConfigStorage {
|
12
|
-
static
|
13
|
-
|
14
|
-
|
15
|
-
if (application != undefined) {
|
16
|
-
const configName = application.configName;
|
17
|
-
const resourceID = await application.getResourceID();
|
18
|
-
ConfigStorage.instance = new ConfigStorage();
|
19
|
-
ConfigStorage.resourceID = resourceID;
|
20
|
-
ConfigStorage.instance.loadFormConfig(configName);
|
21
|
-
ConfigStorage.instance.loadGridConfig(configName);
|
22
|
-
}
|
23
|
-
}
|
24
|
-
return this.instance;
|
11
|
+
static preload(resourceID, configName) {
|
12
|
+
ConfigStorage.loadFormConfig(configName, resourceID);
|
13
|
+
ConfigStorage.loadGridConfig(configName, resourceID);
|
25
14
|
}
|
26
|
-
async loadFilterBarConfig(name, urlParams) {
|
27
|
-
const cacheID = ConfigStorage.buildCacheID(name, CONFIG_SOURCE.filterBar);
|
15
|
+
static async loadFilterBarConfig(name, resourceID, urlParams) {
|
16
|
+
const cacheID = ConfigStorage.buildCacheID(name, CONFIG_SOURCE.filterBar, resourceID);
|
28
17
|
if (!ConfigStorage.configById.has(cacheID)) {
|
29
|
-
ConfigStorage.configById.set(cacheID, ConfigStorage.filterBarConfigFetcher.getConfig(
|
18
|
+
ConfigStorage.configById.set(cacheID, ConfigStorage.filterBarConfigFetcher.getConfig(resourceID, name, urlParams));
|
30
19
|
}
|
31
20
|
return ConfigStorage.configById.get(cacheID);
|
32
21
|
}
|
33
|
-
async loadFormConfig(name) {
|
34
|
-
const cacheID = ConfigStorage.buildCacheID(name, CONFIG_SOURCE.form);
|
22
|
+
static async loadFormConfig(name, resourceID) {
|
23
|
+
const cacheID = ConfigStorage.buildCacheID(name, CONFIG_SOURCE.form, resourceID);
|
35
24
|
if (!ConfigStorage.configById.has(cacheID)) {
|
36
|
-
ConfigStorage.configById.set(cacheID, ConfigStorage.formConfigFetcher.loadFormConfig(name,
|
25
|
+
ConfigStorage.configById.set(cacheID, ConfigStorage.formConfigFetcher.loadFormConfig(name, resourceID));
|
37
26
|
}
|
38
27
|
return ConfigStorage.configById.get(cacheID);
|
39
28
|
}
|
40
|
-
async loadGridConfig(name) {
|
41
|
-
const cacheID = ConfigStorage.buildCacheID(name, CONFIG_SOURCE.grid);
|
29
|
+
static async loadGridConfig(name, resourceID) {
|
30
|
+
const cacheID = ConfigStorage.buildCacheID(name, CONFIG_SOURCE.grid, resourceID);
|
42
31
|
if (!ConfigStorage.configById.has(cacheID)) {
|
43
|
-
ConfigStorage.configById.set(cacheID, ConfigStorage.gridConfigFetcher.getConfig(name,
|
32
|
+
ConfigStorage.configById.set(cacheID, ConfigStorage.gridConfigFetcher.getConfig(name, resourceID));
|
44
33
|
}
|
45
34
|
return ConfigStorage.configById.get(cacheID);
|
46
35
|
}
|
47
|
-
static async saveFilterBarConfig(config, name) {
|
48
|
-
const cacheID = this.buildCacheID(name, CONFIG_SOURCE.filterBar);
|
36
|
+
static async saveFilterBarConfig(config, name, resourceID) {
|
37
|
+
const cacheID = this.buildCacheID(name, CONFIG_SOURCE.filterBar, resourceID);
|
49
38
|
this.configById.delete(cacheID);
|
50
|
-
return this.filterBarConfigFetcher.saveConfig(config,
|
39
|
+
return this.filterBarConfigFetcher.saveConfig(config, resourceID, name);
|
51
40
|
}
|
52
|
-
static async saveFormConfig(config, name) {
|
53
|
-
const cacheID = this.buildCacheID(name, CONFIG_SOURCE.form);
|
41
|
+
static async saveFormConfig(config, name, resourceID) {
|
42
|
+
const cacheID = this.buildCacheID(name, CONFIG_SOURCE.form, resourceID);
|
54
43
|
this.configById.delete(cacheID);
|
55
|
-
return this.formConfigFetcher.saveConfig(config, name,
|
44
|
+
return this.formConfigFetcher.saveConfig(config, name, resourceID);
|
56
45
|
}
|
57
|
-
static async saveCardState(config, name) {
|
58
|
-
return this.formConfigFetcher.saveCardState(config, name,
|
46
|
+
static async saveCardState(config, name, resourceID) {
|
47
|
+
return this.formConfigFetcher.saveCardState(config, name, resourceID);
|
59
48
|
}
|
60
|
-
static async saveGridConfig(config, name) {
|
49
|
+
static async saveGridConfig(config, name, resourceID) {
|
61
50
|
if (config == undefined) {
|
62
51
|
return;
|
63
52
|
}
|
64
|
-
const cacheID = this.buildCacheID(name, CONFIG_SOURCE.grid);
|
53
|
+
const cacheID = this.buildCacheID(name, CONFIG_SOURCE.grid, resourceID);
|
65
54
|
this.configById.delete(cacheID);
|
66
|
-
return this.gridConfigFetcher.saveConfig(config, name,
|
55
|
+
return this.gridConfigFetcher.saveConfig(config, name, resourceID);
|
67
56
|
}
|
68
|
-
static async loadPersonalizedFilter(filterId, configName) {
|
69
|
-
return this.personalizedFilterFetcher.loadPersonalizedFilter(
|
57
|
+
static async loadPersonalizedFilter(filterId, resourceID, configName) {
|
58
|
+
return this.personalizedFilterFetcher.loadPersonalizedFilter(resourceID, filterId, configName);
|
70
59
|
}
|
71
|
-
static async savePersonalizedFilter(personalizedFilter, configName) {
|
60
|
+
static async savePersonalizedFilter(personalizedFilter, resourceID, configName) {
|
72
61
|
//Ao criar ou alterar um filtro personalizado,
|
73
62
|
//precisamos remover o cache do status da filterbar.
|
74
|
-
const cacheID = this.buildCacheID(configName, CONFIG_SOURCE.filterBar);
|
63
|
+
const cacheID = this.buildCacheID(configName, CONFIG_SOURCE.filterBar, resourceID);
|
75
64
|
this.configById.delete(cacheID);
|
76
|
-
return this.personalizedFilterFetcher.savePersonalizedFilter(personalizedFilter,
|
65
|
+
return this.personalizedFilterFetcher.savePersonalizedFilter(personalizedFilter, resourceID, configName);
|
77
66
|
}
|
78
|
-
static async removePersonalizedFilter(personalizedFilter, configName) {
|
79
|
-
return this.personalizedFilterFetcher.removePersonalizedFilter(personalizedFilter,
|
67
|
+
static async removePersonalizedFilter(personalizedFilter, resourceID, configName) {
|
68
|
+
return this.personalizedFilterFetcher.removePersonalizedFilter(personalizedFilter, resourceID, configName);
|
80
69
|
}
|
81
70
|
static async validatePersonalizedFilter(dataUnitName, expression) {
|
82
71
|
return this.personalizedFilterFetcher.validatePersonalizedFilter(dataUnitName, expression);
|
83
72
|
}
|
84
|
-
static buildCacheID(name, source) {
|
73
|
+
static buildCacheID(name, source, resourceID) {
|
85
74
|
if (name == undefined) {
|
86
|
-
return `req_${source}_${
|
75
|
+
return `req_${source}_${resourceID}`;
|
87
76
|
}
|
88
|
-
return `req_${source}_${name}_${
|
77
|
+
return `req_${source}_${name}_${resourceID}`;
|
89
78
|
}
|
90
79
|
}
|
91
80
|
ConfigStorage.configById = new Map();
|
@@ -1,12 +1,11 @@
|
|
1
|
-
import { ChangeOperation,
|
2
|
-
import { DISTINCT_FILTER_NAME_PREFIX } from "@sankhyalabs/ezui/dist/collection/utils/constants";
|
1
|
+
import { ChangeOperation, DataUnit, defaultDataLoader, StringUtils, } from '@sankhyalabs/core';
|
3
2
|
export default class InMemoryLoader {
|
4
3
|
constructor(metadata, records) {
|
5
4
|
this.records = records || [];
|
6
5
|
this.metadata = metadata;
|
7
6
|
this._dataUnit = new DataUnit(InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME);
|
8
7
|
this._dataUnit.metadataLoader = () => this.metadaLoader();
|
9
|
-
this._dataUnit.dataLoader = (dataUnit, request) =>
|
8
|
+
this._dataUnit.dataLoader = (dataUnit, request) => defaultDataLoader(dataUnit, request, this._records);
|
10
9
|
this._dataUnit.saveLoader = (_dataUnit, changes) => this.saveLoader(_dataUnit, changes);
|
11
10
|
this._dataUnit.removeLoader = (_dataUnit, recordIds) => this.removeLoader(_dataUnit, recordIds);
|
12
11
|
this.dataUnit.loadMetadata().then(() => this.dataUnit.loadData());
|
@@ -43,62 +42,6 @@ export default class InMemoryLoader {
|
|
43
42
|
metadaLoader() {
|
44
43
|
return Promise.resolve(this._metadata);
|
45
44
|
}
|
46
|
-
dataLoader(dataUnit, request) {
|
47
|
-
const filters = this.getColumnFilters(dataUnit);
|
48
|
-
let records = this.applyFilters(filters);
|
49
|
-
if (request.sort) {
|
50
|
-
request.sort.forEach(sort => {
|
51
|
-
records = records.sort((recordA, recordB) => {
|
52
|
-
const fieldA = recordA[sort.field];
|
53
|
-
const fieldB = recordB[sort.field];
|
54
|
-
const sortFn = this.getSortFn(sort.dataType);
|
55
|
-
return sortFn(fieldA, fieldB) * (sort.mode == SortMode.ASC ? 1 : -1);
|
56
|
-
});
|
57
|
-
});
|
58
|
-
}
|
59
|
-
return Promise.resolve({ records: records });
|
60
|
-
}
|
61
|
-
applyFilters(filters) {
|
62
|
-
let records = [...this._records];
|
63
|
-
filters.forEach(filter => {
|
64
|
-
records = records.filter(record => { var _a; return filter.values.includes((_a = record[filter.column]) === null || _a === void 0 ? void 0 : _a.toString()); });
|
65
|
-
});
|
66
|
-
return records;
|
67
|
-
}
|
68
|
-
getColumnFilters(dataUnit) {
|
69
|
-
var _a, _b;
|
70
|
-
const allFilters = (_a = dataUnit.getFilters()) !== null && _a !== void 0 ? _a : [];
|
71
|
-
const columnFilters = (_b = allFilters.filter(filter => { var _a; return (_a = filter.name) === null || _a === void 0 ? void 0 : _a.includes(DISTINCT_FILTER_NAME_PREFIX); })) !== null && _b !== void 0 ? _b : [];
|
72
|
-
return columnFilters.map(filter => {
|
73
|
-
var _a, _b;
|
74
|
-
return {
|
75
|
-
column: (_b = (_a = filter.name) === null || _a === void 0 ? void 0 : _a.replace(DISTINCT_FILTER_NAME_PREFIX, "")) !== null && _b !== void 0 ? _b : "",
|
76
|
-
values: filter.params.map(param => param.value),
|
77
|
-
};
|
78
|
-
});
|
79
|
-
}
|
80
|
-
getSortFn(type) {
|
81
|
-
switch (type) {
|
82
|
-
case DataType.NUMBER:
|
83
|
-
return this.sortNumber;
|
84
|
-
case DataType.DATE:
|
85
|
-
return this.sortDate;
|
86
|
-
case DataType.OBJECT:
|
87
|
-
return this.sortObject;
|
88
|
-
default:
|
89
|
-
return StringUtils.compare;
|
90
|
-
}
|
91
|
-
}
|
92
|
-
sortObject(a, b) {
|
93
|
-
return StringUtils.compare(a === null || a === void 0 ? void 0 : a["label"], b === null || b === void 0 ? void 0 : b["label"]);
|
94
|
-
}
|
95
|
-
sortNumber(a, b) {
|
96
|
-
return a - b;
|
97
|
-
}
|
98
|
-
sortDate(a, b) {
|
99
|
-
let timeA = a.getTime(), timeB = b.getTime();
|
100
|
-
return timeA === timeB ? 0 : (timeA < timeB ? -1 : 1);
|
101
|
-
}
|
102
45
|
saveLoader(_dataUnit, changes) {
|
103
46
|
return new Promise((resolve) => {
|
104
47
|
let dataUnitRecords = [];
|