@sankhyalabs/sankhyablocks 8.15.0-rc.2 → 8.15.0-rc.20
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-302bbbd4.js → ConfigStorage-8d4e9d53.js} +70 -7
- package/dist/cjs/{DataFetcher-ba94ed5b.js → DataFetcher-99f0f6ed.js} +5 -3
- package/dist/cjs/{SnkFormConfigManager-71c4768e.js → SnkFormConfigManager-33995e92.js} +21 -13
- package/dist/cjs/{SnkMessageBuilder-e7dcf408.js → SnkMessageBuilder-66aa2557.js} +6 -1
- package/dist/cjs/SnkMultiSelectionListDataSource-d15f7aac.js +140 -0
- package/dist/cjs/{auth-fetcher-c8467c07.js → auth-fetcher-bb8e9ae4.js} +1 -1
- package/dist/cjs/{form-config-fetcher-df043d3d.js → form-config-fetcher-d73f4449.js} +13 -1
- package/dist/cjs/index-f9e81701.js +2 -10
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{pesquisa-fetcher-e4a7c4c3.js → pesquisa-fetcher-bdbbe9ac.js} +277 -61
- package/dist/cjs/sankhyablocks.cjs.js +1 -1
- package/dist/cjs/{snk-actions-button_2.cjs.entry.js → snk-actions-button_4.cjs.entry.js} +520 -5
- package/dist/cjs/snk-application.cjs.entry.js +13 -8
- package/dist/cjs/snk-attach.cjs.entry.js +67 -47
- package/dist/cjs/snk-crud.cjs.entry.js +16 -10
- package/dist/cjs/snk-data-exporter.cjs.entry.js +10 -6
- package/dist/cjs/{snk-data-unit-82c08a8c.js → snk-data-unit-41c29713.js} +1 -1
- package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
- package/dist/cjs/snk-detail-view.cjs.entry.js +9 -10
- package/dist/cjs/snk-entity-list.cjs.entry.js +5 -3
- package/dist/cjs/snk-filter-bar.cjs.entry.js +36 -5
- package/dist/cjs/snk-filter-detail.cjs.entry.js +4 -1
- package/dist/cjs/snk-filter-item.cjs.entry.js +10 -6
- package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
- package/dist/cjs/snk-form-config.cjs.entry.js +47 -27
- package/dist/cjs/snk-form.cjs.entry.js +11 -4
- package/dist/cjs/snk-grid.cjs.entry.js +37 -22
- package/dist/cjs/{snk-guides-viewer-d32c096f.js → snk-guides-viewer-a8dd24a3.js} +15 -9
- package/dist/cjs/snk-guides-viewer.cjs.entry.js +7 -8
- package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +3 -1
- package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
- package/dist/cjs/snk-simple-crud.cjs.entry.js +249 -23
- package/dist/cjs/snk-taskbar.cjs.entry.js +123 -15
- package/dist/cjs/{taskbar-elements-01b85b99.js → taskbar-elements-3ecd1278.js} +9 -9
- package/dist/collection/collection-manifest.json +6 -6
- package/dist/collection/components/snk-application/__mocks__/snk-application.js +7 -0
- package/dist/collection/components/snk-application/snk-application.js +51 -11
- package/dist/collection/components/snk-attach/snk-attach.js +39 -24
- package/dist/collection/components/snk-attach/structure/builder/attach-crud-config.builder.js +1 -1
- package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +29 -22
- package/dist/collection/components/snk-crud/snk-crud.js +95 -3
- package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +2 -2
- package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +11 -2
- package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +27 -3
- package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +7 -3
- package/dist/collection/components/snk-entity-list/snk-entity-list.js +5 -3
- package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js +3 -1
- package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +22 -1
- package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +28 -6
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +24 -1
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +116 -2
- package/dist/collection/components/snk-form/snk-form.js +25 -1
- package/dist/collection/components/{snk-form → snk-form-config}/SnkFormConfigManager.js +20 -12
- package/dist/collection/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.js +50 -30
- package/dist/collection/components/snk-grid/snk-grid.js +100 -16
- package/dist/collection/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.js +130 -123
- package/dist/collection/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.js +1 -1
- package/dist/collection/components/snk-simple-crud/regular-buttons.js +3 -0
- package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +10 -2
- package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +414 -18
- package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +1 -1
- package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +9 -9
- package/dist/collection/components/snk-taskbar/snk-taskbar.css +17 -0
- package/dist/collection/components/snk-taskbar/snk-taskbar.js +166 -14
- package/dist/collection/lib/configs/ConfigStorage.js +63 -3
- package/dist/collection/lib/dataUnit/InMemoryLoader.js +9 -40
- package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +33 -0
- package/dist/collection/lib/http/data-fetcher/DataFetcher.js +5 -3
- package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +12 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.js +6 -3
- package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +4 -11
- package/dist/collection/lib/message/resources/snk-data-exporter.msg.js +2 -1
- package/dist/collection/lib/message/resources/snk-simple-crud.msg.js +4 -0
- package/dist/collection/lib/utils/CrudUtils.js +13 -1
- package/dist/components/ConfigStorage.js +68 -5
- package/dist/components/DataFetcher.js +5 -3
- package/dist/components/SnkFormConfigManager.js +19 -11
- package/dist/components/SnkMessageBuilder.js +6 -1
- package/dist/components/dataunit-fetcher.js +45 -50
- package/dist/components/field-search.js +93 -3
- package/dist/components/form-config-fetcher.js +12 -0
- package/dist/components/index.d.ts +6 -6
- package/dist/components/snk-application2.js +9 -1
- package/dist/components/snk-attach2.js +115 -52
- package/dist/components/snk-crud.js +15 -3
- package/dist/components/snk-data-exporter2.js +7 -3
- package/dist/components/snk-detail-view2.js +40 -7
- package/dist/components/snk-entity-list.js +5 -3
- package/dist/components/snk-filter-bar2.js +38 -3
- package/dist/components/snk-filter-detail2.js +5 -1
- package/dist/components/snk-filter-item2.js +11 -6
- package/dist/components/snk-form-config2.js +46 -26
- package/dist/components/snk-form.js +8 -0
- package/dist/components/snk-grid-config2.js +128 -102
- package/dist/components/snk-grid2.js +38 -17
- package/dist/components/snk-personalized-filter-editor.js +3 -1
- package/dist/components/snk-simple-crud2.js +310 -30
- package/dist/components/snk-taskbar2.js +139 -25
- package/dist/components/taskbar-actions-button2.js +1 -1
- package/dist/esm/{ConfigStorage-4151acc8.js → ConfigStorage-6e241cd7.js} +70 -7
- package/dist/esm/{DataFetcher-aa159c5a.js → DataFetcher-a650ae58.js} +5 -3
- package/dist/esm/{SnkFormConfigManager-5c7d3771.js → SnkFormConfigManager-7a4e678f.js} +21 -13
- package/dist/esm/{SnkMessageBuilder-0fb796b9.js → SnkMessageBuilder-0a4becdd.js} +6 -1
- package/dist/esm/SnkMultiSelectionListDataSource-7084f3b3.js +133 -0
- package/dist/esm/{auth-fetcher-c05dc474.js → auth-fetcher-8ec448b0.js} +1 -1
- package/dist/esm/{form-config-fetcher-36219cd3.js → form-config-fetcher-765b8498.js} +13 -1
- package/dist/esm/index-a7d3d3f1.js +2 -10
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{pesquisa-fetcher-fa0c2540.js → pesquisa-fetcher-96d2f351.js} +266 -54
- package/dist/esm/sankhyablocks.js +1 -1
- package/dist/esm/{snk-actions-button_2.entry.js → snk-actions-button_4.entry.js} +519 -6
- package/dist/esm/snk-application.entry.js +13 -8
- package/dist/esm/snk-attach.entry.js +66 -46
- package/dist/esm/snk-crud.entry.js +16 -10
- package/dist/esm/snk-data-exporter.entry.js +10 -6
- package/dist/esm/{snk-data-unit-5d201fb3.js → snk-data-unit-de1d140d.js} +1 -1
- package/dist/esm/snk-data-unit.entry.js +2 -2
- package/dist/esm/snk-detail-view.entry.js +9 -10
- package/dist/esm/snk-entity-list.entry.js +5 -3
- package/dist/esm/snk-filter-bar.entry.js +36 -5
- package/dist/esm/snk-filter-detail.entry.js +4 -1
- package/dist/esm/snk-filter-item.entry.js +10 -6
- package/dist/esm/snk-filter-modal-item.entry.js +3 -3
- package/dist/esm/snk-form-config.entry.js +48 -28
- package/dist/esm/snk-form.entry.js +11 -4
- package/dist/esm/snk-grid.entry.js +38 -23
- package/dist/esm/{snk-guides-viewer-f49613c6.js → snk-guides-viewer-131e9660.js} +15 -9
- package/dist/esm/snk-guides-viewer.entry.js +7 -8
- package/dist/esm/snk-personalized-filter-editor.entry.js +3 -1
- package/dist/esm/snk-personalized-filter.entry.js +3 -3
- package/dist/esm/snk-simple-crud.entry.js +250 -24
- package/dist/esm/snk-taskbar.entry.js +124 -16
- package/dist/esm/{taskbar-elements-d4d0b424.js → taskbar-elements-2473c8ac.js} +9 -9
- package/dist/sankhyablocks/p-004c356e.js +26 -0
- package/dist/sankhyablocks/p-0624f62d.js +56 -0
- package/dist/sankhyablocks/p-075bba4c.entry.js +1 -0
- package/dist/sankhyablocks/p-07a61550.entry.js +1 -0
- package/dist/sankhyablocks/p-103c5956.entry.js +1 -0
- package/dist/sankhyablocks/p-1048bd26.entry.js +1 -0
- package/dist/sankhyablocks/{p-e6380c60.js → p-125bb902.js} +1 -1
- package/dist/sankhyablocks/p-13ae1a89.entry.js +1 -0
- package/dist/sankhyablocks/p-19a56978.entry.js +1 -0
- package/dist/sankhyablocks/{p-e0fd9555.entry.js → p-24ed6ad6.entry.js} +1 -1
- package/dist/sankhyablocks/p-32556aa6.js +1 -0
- package/dist/sankhyablocks/p-33718dfc.entry.js +1 -0
- package/dist/sankhyablocks/p-34a7f2ab.js +65 -0
- package/dist/sankhyablocks/{p-f3d1c48e.js → p-52c8e589.js} +1 -1
- package/dist/sankhyablocks/p-54a5d52a.entry.js +1 -0
- package/dist/sankhyablocks/p-5833cff9.js +1 -0
- package/dist/sankhyablocks/p-5a2e016a.entry.js +1 -0
- package/dist/sankhyablocks/p-619c5f6f.entry.js +11 -0
- package/dist/sankhyablocks/p-6f560924.entry.js +1 -0
- package/dist/sankhyablocks/p-8967fa78.js +1 -0
- package/dist/sankhyablocks/p-a87149e4.entry.js +1 -0
- package/dist/sankhyablocks/{p-7f3c7b09.entry.js → p-ac77949b.entry.js} +1 -1
- package/dist/sankhyablocks/p-ae4fc9a9.js +1 -0
- package/dist/sankhyablocks/p-b10b9934.entry.js +1 -0
- package/dist/sankhyablocks/p-b11aa1e0.entry.js +1 -0
- package/dist/sankhyablocks/{p-9695f78b.js → p-be75153c.js} +1 -1
- package/dist/sankhyablocks/p-bf39bdb8.entry.js +1 -0
- package/dist/sankhyablocks/p-e8763234.entry.js +1 -0
- package/dist/sankhyablocks/p-efeca7ba.js +1 -0
- package/dist/sankhyablocks/p-f7d0fab9.entry.js +1 -0
- package/dist/sankhyablocks/p-f7d9d148.entry.js +1 -0
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-actions-button/subcomponents/snk-actions-form.d.ts +1 -1
- package/dist/types/components/snk-application/__mocks__/snk-application.d.ts +3 -0
- package/dist/types/components/snk-application/snk-application.d.ts +8 -0
- package/dist/types/components/snk-attach/snk-attach.d.ts +2 -1
- package/dist/types/components/snk-attach/structure/builder/attach-crud-config.builder.d.ts +10 -1
- package/dist/types/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.d.ts +5 -4
- package/dist/types/components/snk-crud/snk-crud.d.ts +21 -0
- package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +1 -1
- package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +6 -1
- package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +4 -0
- package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +6 -2
- package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +20 -1
- package/dist/types/components/snk-form/snk-form.d.ts +6 -1
- package/dist/types/components/{snk-form → snk-form-config}/SnkFormConfigManager.d.ts +2 -1
- package/dist/types/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.d.ts +5 -3
- package/dist/types/components/snk-grid/snk-grid.d.ts +19 -1
- package/dist/types/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.d.ts +11 -6
- package/dist/types/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.d.ts +1 -1
- package/dist/types/components/snk-simple-crud/regular-buttons.d.ts +3 -0
- package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +75 -3
- package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +34 -1
- package/dist/types/components.d.ts +226 -12
- package/dist/types/lib/configs/ConfigStorage.d.ts +21 -1
- package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +0 -2
- package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +4 -0
- package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +2 -0
- package/dist/types/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.d.ts +2 -1
- package/dist/types/lib/utils/CrudUtils.d.ts +3 -0
- package/package.json +9 -2
- package/dist/cjs/PreloadManager-84466da6.js +0 -224
- package/dist/cjs/SnkMultiSelectionListDataSource-ba5838c2.js +0 -49
- package/dist/cjs/snk-grid-config.cjs.entry.js +0 -483
- package/dist/cjs/snk-select-box.cjs.entry.js +0 -25
- package/dist/esm/PreloadManager-c1c2f2b4.js +0 -222
- package/dist/esm/SnkMultiSelectionListDataSource-44494b0e.js +0 -43
- package/dist/esm/snk-grid-config.entry.js +0 -479
- package/dist/esm/snk-select-box.entry.js +0 -21
- package/dist/sankhyablocks/p-02e3a45b.entry.js +0 -1
- package/dist/sankhyablocks/p-05243555.js +0 -1
- package/dist/sankhyablocks/p-094c30cb.js +0 -1
- package/dist/sankhyablocks/p-0d7863ed.js +0 -26
- package/dist/sankhyablocks/p-0ec5b2e5.js +0 -1
- package/dist/sankhyablocks/p-1d75d9f9.entry.js +0 -1
- package/dist/sankhyablocks/p-2582537c.entry.js +0 -1
- package/dist/sankhyablocks/p-282789a6.entry.js +0 -1
- package/dist/sankhyablocks/p-374d03f6.js +0 -1
- package/dist/sankhyablocks/p-3b0e4e08.js +0 -65
- package/dist/sankhyablocks/p-40915359.entry.js +0 -1
- package/dist/sankhyablocks/p-573a07c5.js +0 -1
- package/dist/sankhyablocks/p-69efa80d.entry.js +0 -1
- package/dist/sankhyablocks/p-761ed32f.entry.js +0 -1
- package/dist/sankhyablocks/p-86801b08.entry.js +0 -1
- package/dist/sankhyablocks/p-96ef14f9.entry.js +0 -1
- package/dist/sankhyablocks/p-98674137.entry.js +0 -1
- package/dist/sankhyablocks/p-9b5944a4.entry.js +0 -1
- package/dist/sankhyablocks/p-9bdbc7d8.entry.js +0 -1
- package/dist/sankhyablocks/p-a52b9254.entry.js +0 -11
- package/dist/sankhyablocks/p-aa95fb2c.js +0 -56
- package/dist/sankhyablocks/p-ac384baf.entry.js +0 -1
- package/dist/sankhyablocks/p-b05ab13d.entry.js +0 -1
- package/dist/sankhyablocks/p-c22c1d8e.js +0 -1
- package/dist/sankhyablocks/p-c4874327.entry.js +0 -1
- package/dist/sankhyablocks/p-c758265f.entry.js +0 -1
- package/dist/sankhyablocks/p-cb7419e0.entry.js +0 -1
- package/dist/sankhyablocks/p-d4f9ee17.entry.js +0 -1
- package/dist/sankhyablocks/p-d6317851.entry.js +0 -1
- /package/dist/collection/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.css +0 -0
- /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.css +0 -0
- /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.js +0 -0
- /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.css +0 -0
- /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.js +0 -0
- /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.css +0 -0
- /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.js +0 -0
- /package/dist/collection/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.css +0 -0
- /package/dist/collection/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.css +0 -0
- /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.d.ts +0 -0
- /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.d.ts +0 -0
- /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.d.ts +0 -0
@@ -1,224 +0,0 @@
|
|
1
|
-
'use strict';
|
2
|
-
|
3
|
-
const core = require('@sankhyalabs/core');
|
4
|
-
const utils = require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
|
5
|
-
|
6
|
-
class ArrayRepository {
|
7
|
-
constructor(equalsFunction) {
|
8
|
-
this._list = [];
|
9
|
-
this._equalsFunction = equalsFunction;
|
10
|
-
}
|
11
|
-
async load(filterFunction, sortingFunction, offset, limit) {
|
12
|
-
let result = [].concat(this._list);
|
13
|
-
if (filterFunction != undefined) {
|
14
|
-
result = this._list.filter(item => filterFunction(item));
|
15
|
-
}
|
16
|
-
if (sortingFunction != undefined) {
|
17
|
-
result = result.sort(sortingFunction);
|
18
|
-
}
|
19
|
-
const count = result.length;
|
20
|
-
if (limit != undefined) {
|
21
|
-
const start = offset || 0;
|
22
|
-
const end = limit ? start + limit : result.length;
|
23
|
-
result = result.slice(start, end);
|
24
|
-
}
|
25
|
-
return Promise.resolve({ result, count });
|
26
|
-
}
|
27
|
-
async distict(itemProcessor) {
|
28
|
-
const processedItems = [];
|
29
|
-
let hasEmpty = false;
|
30
|
-
for (const item of this._list) {
|
31
|
-
const processedItem = itemProcessor(item);
|
32
|
-
if (processedItem == undefined) {
|
33
|
-
continue;
|
34
|
-
}
|
35
|
-
if (processedItem.value == undefined) {
|
36
|
-
hasEmpty = true;
|
37
|
-
continue;
|
38
|
-
}
|
39
|
-
processedItems.push(processedItem);
|
40
|
-
}
|
41
|
-
if (hasEmpty) {
|
42
|
-
processedItems.push({ key: "", value: null });
|
43
|
-
}
|
44
|
-
return Promise.resolve(new Map(processedItems.map(item => [item.key, item.value])));
|
45
|
-
}
|
46
|
-
async push(items) {
|
47
|
-
this._list.push(...items);
|
48
|
-
}
|
49
|
-
async clear() {
|
50
|
-
this._list = [];
|
51
|
-
}
|
52
|
-
async delete(items) {
|
53
|
-
this._list = this._list.filter(item => {
|
54
|
-
for (const removed of items) {
|
55
|
-
if (this._equalsFunction(item, removed)) {
|
56
|
-
return false;
|
57
|
-
}
|
58
|
-
}
|
59
|
-
return true;
|
60
|
-
});
|
61
|
-
}
|
62
|
-
async update(items) {
|
63
|
-
this._list = this._list.map(existingItem => {
|
64
|
-
const newItem = items.find(newItem => this._equalsFunction(existingItem, newItem));
|
65
|
-
return newItem == undefined ? existingItem : newItem;
|
66
|
-
});
|
67
|
-
}
|
68
|
-
async insert(itemReference, items) {
|
69
|
-
const itemPosition = this._list.indexOf(itemReference);
|
70
|
-
if (itemPosition == -1) {
|
71
|
-
this._list.push(...items);
|
72
|
-
return;
|
73
|
-
}
|
74
|
-
this._list = this._list.slice(0, itemPosition).concat(items).concat(this._list.slice(itemPosition));
|
75
|
-
}
|
76
|
-
isOperating() {
|
77
|
-
return true;
|
78
|
-
}
|
79
|
-
async isEmpty() {
|
80
|
-
return Promise.resolve(this._list.length === 0);
|
81
|
-
}
|
82
|
-
async count() {
|
83
|
-
return Promise.resolve(this._list.length);
|
84
|
-
}
|
85
|
-
}
|
86
|
-
|
87
|
-
class PreloadManager {
|
88
|
-
static setLoadingStatus(dataUnit, loadingInProgress) {
|
89
|
-
this._loadingStatus.set(dataUnit.name, loadingInProgress);
|
90
|
-
}
|
91
|
-
static isCacheEnabled(_dataUnit) {
|
92
|
-
return true;
|
93
|
-
}
|
94
|
-
static cacheRecords(dataUnit, records, resetDatabase, loadingInProgress) {
|
95
|
-
PreloadManager.setLoadingStatus(dataUnit, loadingInProgress);
|
96
|
-
if (PreloadManager.isCacheEnabled(dataUnit)) {
|
97
|
-
this.getRepository(dataUnit).push(records);
|
98
|
-
}
|
99
|
-
else {
|
100
|
-
if (resetDatabase) {
|
101
|
-
this._repositories.delete(dataUnit.name);
|
102
|
-
}
|
103
|
-
}
|
104
|
-
}
|
105
|
-
static getSortingFunction(dataUnit, sorting) {
|
106
|
-
if (sorting == undefined || sorting.length == 0) {
|
107
|
-
return undefined;
|
108
|
-
}
|
109
|
-
return (recordA, recordB) => {
|
110
|
-
for (const sort of sorting) {
|
111
|
-
const result = core.FieldComparator.compare(dataUnit.getField(sort.field), recordA, recordB, sort.mode === core.SortMode.ASC);
|
112
|
-
if (result != 0) {
|
113
|
-
return result;
|
114
|
-
}
|
115
|
-
}
|
116
|
-
};
|
117
|
-
}
|
118
|
-
static async getDistinct(dataUnit, fieldName) {
|
119
|
-
if (!PreloadManager.isCacheEnabled(dataUnit)) {
|
120
|
-
return Promise.resolve(utils.ColumnFilterManager.compileDistinct(fieldName, dataUnit));
|
121
|
-
}
|
122
|
-
let filterFunction;
|
123
|
-
const request = dataUnit.getLastLoadRequest();
|
124
|
-
if (request != undefined) {
|
125
|
-
const columnFilters = utils.ColumnFilterManager.getColumnFilters(request.filters, fieldName);
|
126
|
-
filterFunction = utils.ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
|
127
|
-
}
|
128
|
-
return new Promise((accept, reject) => {
|
129
|
-
PreloadManager.getRepository(dataUnit).distict(record => {
|
130
|
-
if (filterFunction != undefined && !filterFunction(record)) {
|
131
|
-
return undefined;
|
132
|
-
}
|
133
|
-
const fieldValue = record[fieldName];
|
134
|
-
if (fieldValue == undefined) {
|
135
|
-
return { key: null, value: null };
|
136
|
-
}
|
137
|
-
const value = fieldValue.value != undefined ? fieldValue.value : fieldValue;
|
138
|
-
return { key: dataUnit.getFormattedValue(fieldName, fieldValue), value };
|
139
|
-
})
|
140
|
-
.then(result => {
|
141
|
-
if (result == undefined) {
|
142
|
-
accept(undefined);
|
143
|
-
return;
|
144
|
-
}
|
145
|
-
accept(Array.from(result.entries()).map(([label, value]) => ({ label, value, check: true })));
|
146
|
-
})
|
147
|
-
.catch(reason => reject(reason));
|
148
|
-
});
|
149
|
-
}
|
150
|
-
static async loadData(dataUnit, request, loadFromServer) {
|
151
|
-
try {
|
152
|
-
if (PreloadManager.isCacheEnabled(dataUnit)) {
|
153
|
-
let useCache = request.source === "EZ_GRID_LOADING_SOURCE" || request.source === core.DataUnit.CHANGING_PAGE_LOADING_SOURCE;
|
154
|
-
if (useCache) {
|
155
|
-
const isCacheEmpty = await PreloadManager.getRepository(dataUnit).isEmpty();
|
156
|
-
if (!isCacheEmpty) {
|
157
|
-
return PreloadManager.loadFromCache(dataUnit, request);
|
158
|
-
}
|
159
|
-
}
|
160
|
-
//Como não vamos aproveitar o cache, ele precisa ser limpo.
|
161
|
-
PreloadManager.getRepository(dataUnit).clear().catch(() => { });
|
162
|
-
}
|
163
|
-
return loadFromServer(dataUnit, request);
|
164
|
-
}
|
165
|
-
catch (error) {
|
166
|
-
console.error(error);
|
167
|
-
return Promise.reject(error);
|
168
|
-
}
|
169
|
-
}
|
170
|
-
static insertRecords(dataUnit, reference, records) {
|
171
|
-
if (PreloadManager.isCacheEnabled(dataUnit)) {
|
172
|
-
PreloadManager.getRepository(dataUnit).insert(reference, records);
|
173
|
-
}
|
174
|
-
}
|
175
|
-
static updateRecords(dataUnit, records) {
|
176
|
-
if (PreloadManager.isCacheEnabled(dataUnit)) {
|
177
|
-
PreloadManager.getRepository(dataUnit).update(records);
|
178
|
-
}
|
179
|
-
}
|
180
|
-
static removeRecords(dataUnit, records) {
|
181
|
-
if (PreloadManager.isCacheEnabled(dataUnit)) {
|
182
|
-
PreloadManager.getRepository(dataUnit).delete(records);
|
183
|
-
}
|
184
|
-
}
|
185
|
-
static async countRecords(dataUnit) {
|
186
|
-
if (PreloadManager.isCacheEnabled(dataUnit)) {
|
187
|
-
return PreloadManager.getRepository(dataUnit).count();
|
188
|
-
}
|
189
|
-
return Promise.resolve(0);
|
190
|
-
}
|
191
|
-
static getRepository(dataUnit) {
|
192
|
-
const name = dataUnit.name;
|
193
|
-
if (!PreloadManager._repositories.has(name)) {
|
194
|
-
PreloadManager._repositories.set(name, new ArrayRepository((recordA, recordB) => recordA.__record__id__ === recordB.__record__id__));
|
195
|
-
}
|
196
|
-
return PreloadManager._repositories.get(name);
|
197
|
-
}
|
198
|
-
static async loadFromCache(dataUnit, request) {
|
199
|
-
return new Promise((accept, reject) => {
|
200
|
-
const columnFilters = utils.ColumnFilterManager.getColumnFilters(request.filters, "");
|
201
|
-
const { limit, offset, sort } = request;
|
202
|
-
PreloadManager.getRepository(dataUnit)
|
203
|
-
.load(utils.ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values())), PreloadManager.getSortingFunction(dataUnit, sort), offset, limit)
|
204
|
-
.then(loadResult => {
|
205
|
-
const stillLoading = PreloadManager._loadingStatus.get(dataUnit.name);
|
206
|
-
const { count, result: records } = loadResult;
|
207
|
-
const firstRecord = count == 0 ? 0 : offset + 1;
|
208
|
-
const lastRecord = offset + Math.min(records.length, limit);
|
209
|
-
const currentPage = offset / limit;
|
210
|
-
const paginationInfo = {
|
211
|
-
count, currentPage, firstRecord, lastRecord,
|
212
|
-
hasMore: stillLoading || (lastRecord < count),
|
213
|
-
total: stillLoading ? undefined : count
|
214
|
-
};
|
215
|
-
accept({ records, paginationInfo });
|
216
|
-
})
|
217
|
-
.catch(reason => reject(reason));
|
218
|
-
});
|
219
|
-
}
|
220
|
-
}
|
221
|
-
PreloadManager._repositories = new Map();
|
222
|
-
PreloadManager._loadingStatus = new Map();
|
223
|
-
|
224
|
-
exports.PreloadManager = PreloadManager;
|
@@ -1,49 +0,0 @@
|
|
1
|
-
'use strict';
|
2
|
-
|
3
|
-
const core = require('@sankhyalabs/core');
|
4
|
-
const InMemoryFilterColumnDataSource = require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils/InMemoryFilterColumnDataSource');
|
5
|
-
const PreloadManager = require('./PreloadManager-84466da6.js');
|
6
|
-
|
7
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
8
|
-
|
9
|
-
const InMemoryFilterColumnDataSource__default = /*#__PURE__*/_interopDefaultLegacy(InMemoryFilterColumnDataSource);
|
10
|
-
|
11
|
-
class SnkMultiSelectionListDataSource {
|
12
|
-
setDataUnit(dataUnit) {
|
13
|
-
this._dataUnit = dataUnit;
|
14
|
-
}
|
15
|
-
setApplication(application) {
|
16
|
-
this._application = application;
|
17
|
-
}
|
18
|
-
formatLabel(fieldName, value) {
|
19
|
-
const { userInterface } = this._dataUnit.getField(fieldName);
|
20
|
-
if (userInterface === core.UserInterface.DATETIME) {
|
21
|
-
return core.DateUtils.formatDate(this._dataUnit.valueFromString(fieldName, value));
|
22
|
-
}
|
23
|
-
return String(this._dataUnit.getFormattedValue(fieldName, value));
|
24
|
-
}
|
25
|
-
async getStaticOptions(fieldName) {
|
26
|
-
if (fieldName == undefined) {
|
27
|
-
return Promise.resolve(undefined);
|
28
|
-
}
|
29
|
-
return Promise.resolve(await PreloadManager.PreloadManager.getDistinct(this._dataUnit, fieldName));
|
30
|
-
}
|
31
|
-
fetchData(filterTerm, fieldName) {
|
32
|
-
return new Promise(resolve => {
|
33
|
-
this._application.executeSelectDistinct(this._dataUnit, fieldName, filterTerm).then(result => {
|
34
|
-
resolve(result.map(item => {
|
35
|
-
const field = this._dataUnit.getField(fieldName);
|
36
|
-
if (field.userInterface === core.UserInterface.SEARCH) {
|
37
|
-
return Object.assign(Object.assign({}, JSON.parse(item)), { check: true });
|
38
|
-
}
|
39
|
-
return { value: item, label: this.formatLabel(fieldName, item), check: true };
|
40
|
-
}));
|
41
|
-
});
|
42
|
-
});
|
43
|
-
}
|
44
|
-
sortItems(fieldName, items) {
|
45
|
-
return InMemoryFilterColumnDataSource__default['default'].defaultSorterMultSelectionOption(this._dataUnit, fieldName, items);
|
46
|
-
}
|
47
|
-
}
|
48
|
-
|
49
|
-
exports.SnkMultiSelectionListDataSource = SnkMultiSelectionListDataSource;
|