@sankhyalabs/sankhyablocks 8.15.0-dev.5 → 8.15.0-dev.51
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-8009ecb2.js → ConfigStorage-8d4e9d53.js} +94 -21
- package/dist/cjs/{DataFetcher-ba94ed5b.js → DataFetcher-99f0f6ed.js} +5 -3
- package/dist/cjs/{ISave-d68ce3cd.js → ISave-e91b70a7.js} +1 -0
- package/dist/cjs/{SnkFormConfigManager-7d850fbc.js → SnkFormConfigManager-33995e92.js} +21 -13
- package/dist/cjs/{SnkMessageBuilder-7293d0ad.js → SnkMessageBuilder-66aa2557.js} +19 -1
- package/dist/cjs/SnkMultiSelectionListDataSource-8b5bfa05.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/{dataunit-fetcher-bd4c52da.js → pesquisa-fetcher-036a9588.js} +498 -76
- 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} +538 -8
- package/dist/cjs/snk-application.cjs.entry.js +44 -10
- package/dist/cjs/snk-attach.cjs.entry.js +413 -62
- package/dist/cjs/snk-crud.cjs.entry.js +17 -12
- package/dist/cjs/snk-data-exporter.cjs.entry.js +10 -6
- package/dist/cjs/{snk-data-unit-1bc69073.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 +10 -12
- package/dist/cjs/snk-entity-list.cjs.entry.js +5 -3
- package/dist/cjs/snk-filter-bar.cjs.entry.js +66 -10
- package/dist/cjs/snk-filter-detail.cjs.entry.js +4 -1
- package/dist/cjs/snk-filter-item.cjs.entry.js +13 -6
- package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
- package/dist/cjs/snk-filter-modal.cjs.entry.js +2 -1
- package/dist/cjs/snk-filter-multi-select.cjs.entry.js +2 -1
- 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-cb176c4d.js → snk-guides-viewer-2f61fb02.js} +16 -11
- package/dist/cjs/snk-guides-viewer.cjs.entry.js +8 -10
- 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-pesquisa.cjs.entry.js +1 -1
- package/dist/cjs/snk-simple-crud.cjs.entry.js +264 -27
- 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 +7 -7
- package/dist/collection/components/snk-application/__mocks__/snk-application.js +7 -0
- package/dist/collection/components/snk-application/snk-application.js +94 -11
- package/dist/collection/components/snk-attach/snk-attach.js +203 -39
- package/dist/collection/components/snk-attach/structure/{crud-config-builder.js → builder/anexo-sistema-crud-config.builder.js} +1 -1
- package/dist/collection/components/snk-attach/structure/builder/attach-crud-config.builder.js +62 -0
- package/dist/collection/components/snk-attach/structure/{taskbar-builder.js → builder/taskbar-builder.js} +1 -1
- package/dist/collection/components/snk-attach/structure/fetcher/facade/fetcher.facade.js +1 -0
- package/dist/collection/components/snk-attach/structure/{data-unit-builder.js → fetcher/factory/anexo-sistema-data-unit.factory.js} +14 -11
- package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +118 -0
- package/dist/collection/components/snk-attach/structure/index.js +6 -3
- 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-filter-multi-select.js +2 -1
- 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 +31 -6
- package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +19 -1
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +24 -1
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +159 -5
- package/dist/collection/components/snk-filter-bar/utils/SnkFilterModalFactory.js +3 -1
- 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-pesquisa/snk-pesquisa.css +2 -4
- 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 +467 -19
- package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +18 -2
- 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 +86 -16
- package/dist/collection/lib/dataUnit/InMemoryLoader.js +5 -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/{attach-fetcher.js → AttachFetcher/anexo-sistema-fetcher.js} +16 -15
- package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/attach-fetcher.js +90 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/facade/attach-fetcher.facade.js +1 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/index.js +2 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/interfaces/IDelete.js +1 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/interfaces/IDownloadKey.js +1 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/ISave.js +1 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.js +31 -3
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +37 -23
- package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +12 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +21 -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 +11 -12
- package/dist/collection/lib/index.js +1 -1
- package/dist/collection/lib/message/resources/snk-attach.msg.js +13 -0
- 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 +92 -19
- package/dist/components/DataFetcher.js +5 -3
- package/dist/components/SnkFormConfigManager.js +19 -11
- package/dist/components/SnkMessageBuilder.js +19 -1
- package/dist/components/dataunit-fetcher.js +116 -77
- 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-actions-button2.js +1 -0
- package/dist/components/snk-application2.js +41 -2
- package/dist/components/snk-attach2.js +469 -69
- 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 +69 -8
- package/dist/components/snk-filter-detail2.js +5 -1
- package/dist/components/snk-filter-item2.js +14 -6
- package/dist/components/snk-filter-modal.js +4 -2
- package/dist/components/snk-filter-multi-select.js +2 -1
- 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-pesquisa2.js +1 -1
- package/dist/components/snk-simple-crud2.js +325 -31
- package/dist/components/snk-taskbar2.js +139 -25
- package/dist/components/taskbar-actions-button2.js +18 -2
- package/dist/esm/{ConfigStorage-1244b8b0.js → ConfigStorage-6e241cd7.js} +94 -21
- package/dist/esm/{DataFetcher-aa159c5a.js → DataFetcher-a650ae58.js} +5 -3
- package/dist/esm/{ISave-4412b20c.js → ISave-d8c8bc59.js} +1 -0
- package/dist/esm/{SnkFormConfigManager-9be0e7d4.js → SnkFormConfigManager-7a4e678f.js} +21 -13
- package/dist/esm/{SnkMessageBuilder-ca843d1b.js → SnkMessageBuilder-0a4becdd.js} +19 -1
- package/dist/esm/SnkMultiSelectionListDataSource-4274be27.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/{dataunit-fetcher-65714f21.js → pesquisa-fetcher-a9e27c84.js} +486 -69
- package/dist/esm/sankhyablocks.js +1 -1
- package/dist/esm/{snk-actions-button_2.entry.js → snk-actions-button_4.entry.js} +537 -9
- package/dist/esm/snk-application.entry.js +43 -9
- package/dist/esm/snk-attach.entry.js +413 -62
- package/dist/esm/snk-crud.entry.js +17 -12
- package/dist/esm/snk-data-exporter.entry.js +10 -6
- package/dist/esm/{snk-data-unit-6208ebf0.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 +10 -12
- package/dist/esm/snk-entity-list.entry.js +5 -3
- package/dist/esm/snk-filter-bar.entry.js +66 -10
- package/dist/esm/snk-filter-detail.entry.js +4 -1
- package/dist/esm/snk-filter-item.entry.js +13 -6
- package/dist/esm/snk-filter-modal-item.entry.js +3 -3
- package/dist/esm/snk-filter-modal.entry.js +2 -1
- package/dist/esm/snk-filter-multi-select.entry.js +2 -1
- 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-eeb8f354.js → snk-guides-viewer-16974807.js} +16 -11
- package/dist/esm/snk-guides-viewer.entry.js +8 -10
- 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-pesquisa.entry.js +1 -1
- package/dist/esm/snk-simple-crud.entry.js +264 -27
- 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-07a61550.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-1c7d57e5.entry.js +1 -0
- package/dist/sankhyablocks/{p-9e7d65a4.js → p-21749402.js} +1 -1
- package/dist/sankhyablocks/{p-3520c088.entry.js → p-24ed6ad6.entry.js} +1 -1
- package/dist/sankhyablocks/p-32331e9b.entry.js +1 -0
- package/dist/sankhyablocks/p-32556aa6.js +1 -0
- package/dist/sankhyablocks/p-33718dfc.entry.js +1 -0
- package/dist/sankhyablocks/p-3f88728d.js +1 -0
- package/dist/sankhyablocks/p-433f0d45.entry.js +1 -0
- package/dist/sankhyablocks/p-4ab95a67.entry.js +1 -0
- package/dist/sankhyablocks/{p-32f0935f.js → p-52c8e589.js} +1 -1
- package/dist/sankhyablocks/p-54a5d52a.entry.js +1 -0
- package/dist/sankhyablocks/p-70a4af56.entry.js +1 -0
- package/dist/sankhyablocks/p-751bd42a.entry.js +1 -0
- package/dist/sankhyablocks/{p-f514913b.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-bf2acf72.entry.js +1 -0
- package/dist/sankhyablocks/p-bf39bdb8.entry.js +1 -0
- package/dist/sankhyablocks/p-c6751382.entry.js +11 -0
- package/dist/sankhyablocks/p-d0126ca0.js +65 -0
- package/dist/sankhyablocks/{p-247a8b36.entry.js → p-d1791da2.entry.js} +1 -1
- package/dist/sankhyablocks/p-d6321b12.entry.js +1 -0
- package/dist/sankhyablocks/p-dcce8ca0.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/p-fbc60023.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 +15 -0
- package/dist/types/components/snk-attach/{structure/crud-config-builder.d.ts → interfaces/ICrudConfig.d.ts} +1 -2
- package/dist/types/components/snk-attach/interfaces/TFetcherType.d.ts +1 -0
- package/dist/types/components/snk-attach/snk-attach.d.ts +28 -6
- package/dist/types/components/snk-attach/structure/builder/anexo-sistema-crud-config.builder.d.ts +2 -0
- package/dist/types/components/snk-attach/structure/builder/attach-crud-config.builder.d.ts +40 -0
- package/dist/types/components/snk-attach/structure/{taskbar-builder.d.ts → builder/taskbar-builder.d.ts} +1 -1
- package/dist/types/components/snk-attach/structure/fetcher/facade/fetcher.facade.d.ts +11 -0
- package/dist/types/components/snk-attach/structure/fetcher/factory/anexo-sistema-data-unit.factory.d.ts +17 -0
- package/dist/types/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.d.ts +16 -0
- package/dist/types/components/snk-attach/structure/index.d.ts +6 -3
- 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 +7 -3
- package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +5 -0
- package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +27 -1
- package/dist/types/components/snk-filter-bar/utils/SnkFilterModalFactory.d.ts +3 -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 +85 -4
- package/dist/types/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.d.ts +1 -0
- package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +34 -1
- package/dist/types/components.d.ts +298 -12
- package/dist/types/lib/configs/ConfigStorage.d.ts +25 -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/DataFetcher.d.ts +1 -1
- package/dist/types/lib/http/data-fetcher/fetchers/{attach-fetcher.d.ts → AttachFetcher/anexo-sistema-fetcher.d.ts} +3 -2
- package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/attach-fetcher.d.ts +11 -0
- package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/facade/attach-fetcher.facade.d.ts +8 -0
- package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/index.d.ts +3 -0
- package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/ISave.d.ts +2 -1
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.d.ts +2 -0
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +1 -0
- package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +2 -0
- package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
- package/dist/types/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.d.ts +2 -1
- package/dist/types/lib/index.d.ts +1 -1
- package/dist/types/lib/utils/CrudUtils.d.ts +3 -0
- package/package.json +15 -6
- package/dist/cjs/PreloadManager-84466da6.js +0 -224
- package/dist/cjs/SnkMultiSelectionListDataSource-ba5838c2.js +0 -49
- package/dist/cjs/pesquisa-fetcher-ef050a47.js +0 -167
- 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/pesquisa-fetcher-dd3ca0a5.js +0 -165
- package/dist/esm/snk-grid-config.entry.js +0 -479
- package/dist/esm/snk-select-box.entry.js +0 -21
- package/dist/sankhyablocks/p-0874adb5.entry.js +0 -1
- package/dist/sankhyablocks/p-094c30cb.js +0 -1
- package/dist/sankhyablocks/p-0d7863ed.js +0 -26
- package/dist/sankhyablocks/p-11081798.entry.js +0 -1
- package/dist/sankhyablocks/p-20726710.entry.js +0 -1
- package/dist/sankhyablocks/p-29804fc5.js +0 -60
- package/dist/sankhyablocks/p-374d03f6.js +0 -1
- package/dist/sankhyablocks/p-4775a293.entry.js +0 -1
- package/dist/sankhyablocks/p-585294ee.js +0 -56
- package/dist/sankhyablocks/p-6977a26c.entry.js +0 -1
- package/dist/sankhyablocks/p-69efa80d.entry.js +0 -1
- package/dist/sankhyablocks/p-6d20d38c.entry.js +0 -1
- package/dist/sankhyablocks/p-776ee8e3.js +0 -1
- package/dist/sankhyablocks/p-7d51d949.entry.js +0 -11
- package/dist/sankhyablocks/p-809f367d.entry.js +0 -1
- package/dist/sankhyablocks/p-95a3778f.entry.js +0 -1
- package/dist/sankhyablocks/p-98674137.entry.js +0 -1
- package/dist/sankhyablocks/p-a9e5b094.entry.js +0 -1
- package/dist/sankhyablocks/p-b146a9f0.entry.js +0 -1
- package/dist/sankhyablocks/p-bedb8ad6.entry.js +0 -1
- package/dist/sankhyablocks/p-c22c1d8e.js +0 -1
- package/dist/sankhyablocks/p-c758265f.entry.js +0 -1
- package/dist/sankhyablocks/p-ca4d337a.entry.js +0 -1
- package/dist/sankhyablocks/p-cb7419e0.entry.js +0 -1
- package/dist/sankhyablocks/p-cdd66657.entry.js +0 -1
- package/dist/sankhyablocks/p-d1f5bc50.js +0 -1
- package/dist/sankhyablocks/p-d4f9ee17.entry.js +0 -1
- package/dist/sankhyablocks/p-d6317851.entry.js +0 -1
- package/dist/sankhyablocks/p-d9bb09b3.js +0 -6
- package/dist/sankhyablocks/p-f2056f66.entry.js +0 -1
- package/dist/sankhyablocks/p-fd8814b9.entry.js +0 -1
- package/dist/sankhyablocks/p-ff6064e7.js +0 -1
- package/dist/types/components/snk-attach/structure/data-unit-builder.d.ts +0 -15
- /package/dist/collection/{lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDelete.js → components/snk-attach/interfaces/ICrudConfig.js} +0 -0
- /package/dist/collection/{lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDownloadKey.js → components/snk-attach/interfaces/TFetcherType.js} +0 -0
- /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/collection/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/index.js +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
- /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/IDelete.d.ts +0 -0
- /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/IDownloadKey.d.ts +0 -0
- /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/index.d.ts +0 -0
@@ -1,12 +1,261 @@
|
|
1
1
|
'use strict';
|
2
2
|
|
3
3
|
const core = require('@sankhyalabs/core');
|
4
|
-
const DataFetcher = require('./DataFetcher-
|
4
|
+
const DataFetcher = require('./DataFetcher-99f0f6ed.js');
|
5
5
|
const constants = require('@sankhyalabs/ezui/dist/collection/utils/constants');
|
6
6
|
const UnitMetadata = require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
|
7
|
-
const PreloadManager = require('./PreloadManager-84466da6.js');
|
8
|
-
const ResourceIDUtils = require('./ResourceIDUtils-5ff86aa7.js');
|
9
7
|
const utils = require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
|
8
|
+
const ResourceIDUtils = require('./ResourceIDUtils-5ff86aa7.js');
|
9
|
+
|
10
|
+
class ArrayRepository {
|
11
|
+
constructor(equalsFunction) {
|
12
|
+
this._list = [];
|
13
|
+
this._equalsFunction = equalsFunction;
|
14
|
+
}
|
15
|
+
async load(filterFunction, sortingFunction, offset, limit) {
|
16
|
+
let result = [].concat(this._list);
|
17
|
+
if (filterFunction != undefined) {
|
18
|
+
result = this._list.filter(item => filterFunction(item));
|
19
|
+
}
|
20
|
+
if (sortingFunction != undefined) {
|
21
|
+
result = result.sort(sortingFunction);
|
22
|
+
}
|
23
|
+
const count = result.length;
|
24
|
+
if (limit != undefined) {
|
25
|
+
const start = offset || 0;
|
26
|
+
const end = limit ? start + limit : result.length;
|
27
|
+
result = result.slice(start, end);
|
28
|
+
}
|
29
|
+
return Promise.resolve({ result, count });
|
30
|
+
}
|
31
|
+
async distict(itemProcessor) {
|
32
|
+
const processedItems = [];
|
33
|
+
let hasEmpty = false;
|
34
|
+
for (const item of this._list) {
|
35
|
+
const processedItem = itemProcessor(item);
|
36
|
+
if (processedItem == undefined) {
|
37
|
+
continue;
|
38
|
+
}
|
39
|
+
if (processedItem.value == undefined) {
|
40
|
+
hasEmpty = true;
|
41
|
+
continue;
|
42
|
+
}
|
43
|
+
processedItems.push(processedItem);
|
44
|
+
}
|
45
|
+
if (hasEmpty) {
|
46
|
+
processedItems.push({ key: "", value: null });
|
47
|
+
}
|
48
|
+
return Promise.resolve(new Map(processedItems.map(item => [item.key, item.value])));
|
49
|
+
}
|
50
|
+
async push(items) {
|
51
|
+
this._list.push(...items);
|
52
|
+
}
|
53
|
+
async clear() {
|
54
|
+
this._list = [];
|
55
|
+
}
|
56
|
+
async delete(items) {
|
57
|
+
this._list = this._list.filter(item => {
|
58
|
+
for (const removed of items) {
|
59
|
+
if (this._equalsFunction(item, removed)) {
|
60
|
+
return false;
|
61
|
+
}
|
62
|
+
}
|
63
|
+
return true;
|
64
|
+
});
|
65
|
+
}
|
66
|
+
async update(items) {
|
67
|
+
this._list = this._list.map(existingItem => {
|
68
|
+
const newItem = items.find(newItem => this._equalsFunction(existingItem, newItem));
|
69
|
+
return newItem == undefined ? existingItem : newItem;
|
70
|
+
});
|
71
|
+
}
|
72
|
+
async insert(itemReference, items) {
|
73
|
+
const itemPosition = this._list.indexOf(itemReference);
|
74
|
+
if (itemPosition == -1) {
|
75
|
+
this._list.push(...items);
|
76
|
+
return;
|
77
|
+
}
|
78
|
+
this._list = this._list.slice(0, itemPosition).concat(items).concat(this._list.slice(itemPosition));
|
79
|
+
}
|
80
|
+
isOperating() {
|
81
|
+
return true;
|
82
|
+
}
|
83
|
+
async isEmpty() {
|
84
|
+
return Promise.resolve(this._list.length === 0);
|
85
|
+
}
|
86
|
+
async count() {
|
87
|
+
return Promise.resolve(this._list.length);
|
88
|
+
}
|
89
|
+
}
|
90
|
+
|
91
|
+
class PreloadManager {
|
92
|
+
static setLoadingStatus(dataUnit, loadingInProgress) {
|
93
|
+
this._loadingStatus.set(dataUnit.name, loadingInProgress);
|
94
|
+
}
|
95
|
+
static isCacheEnabled(_dataUnit) {
|
96
|
+
return true;
|
97
|
+
}
|
98
|
+
static cacheRecords(dataUnit, records, resetDatabase, loadingInProgress) {
|
99
|
+
PreloadManager.setLoadingStatus(dataUnit, loadingInProgress);
|
100
|
+
if (PreloadManager.isCacheEnabled(dataUnit)) {
|
101
|
+
this.getRepository(dataUnit).push(records);
|
102
|
+
}
|
103
|
+
else {
|
104
|
+
if (resetDatabase) {
|
105
|
+
this._repositories.delete(dataUnit.name);
|
106
|
+
}
|
107
|
+
}
|
108
|
+
}
|
109
|
+
static getSortingFunction(dataUnit, sorting) {
|
110
|
+
if (sorting == undefined || sorting.length == 0) {
|
111
|
+
return undefined;
|
112
|
+
}
|
113
|
+
return (recordA, recordB) => {
|
114
|
+
for (const sort of sorting) {
|
115
|
+
const result = core.FieldComparator.compare(dataUnit.getField(sort.field), recordA, recordB, sort.mode === core.SortMode.ASC);
|
116
|
+
if (result != 0) {
|
117
|
+
return result;
|
118
|
+
}
|
119
|
+
}
|
120
|
+
};
|
121
|
+
}
|
122
|
+
static async getDistinct(dataUnit, fieldName) {
|
123
|
+
if (!PreloadManager.isCacheEnabled(dataUnit)) {
|
124
|
+
return Promise.resolve(utils.ColumnFilterManager.compileDistinct(fieldName, dataUnit));
|
125
|
+
}
|
126
|
+
let filterFunction;
|
127
|
+
const request = dataUnit.getLastLoadRequest();
|
128
|
+
if (request != undefined) {
|
129
|
+
const columnFilters = utils.ColumnFilterManager.getColumnFilters(request.filters, fieldName);
|
130
|
+
filterFunction = utils.ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
|
131
|
+
}
|
132
|
+
return new Promise((accept, reject) => {
|
133
|
+
PreloadManager.getRepository(dataUnit).distict(record => {
|
134
|
+
if (filterFunction != undefined && !filterFunction(record)) {
|
135
|
+
return undefined;
|
136
|
+
}
|
137
|
+
const fieldValue = record[fieldName];
|
138
|
+
if (fieldValue == undefined) {
|
139
|
+
return { key: null, value: null };
|
140
|
+
}
|
141
|
+
const value = fieldValue.value != undefined ? fieldValue.value : fieldValue;
|
142
|
+
return { key: dataUnit.getFormattedValue(fieldName, fieldValue), value };
|
143
|
+
})
|
144
|
+
.then(result => {
|
145
|
+
if (result == undefined) {
|
146
|
+
accept(undefined);
|
147
|
+
return;
|
148
|
+
}
|
149
|
+
accept(Array.from(result.entries()).map(([label, value]) => ({ label, value, check: true })));
|
150
|
+
})
|
151
|
+
.catch(reason => reject(reason));
|
152
|
+
});
|
153
|
+
}
|
154
|
+
static async loadData(dataUnit, request, loadFromServer) {
|
155
|
+
try {
|
156
|
+
if (PreloadManager.isCacheEnabled(dataUnit)) {
|
157
|
+
let useCache = request.source === "EZ_GRID_LOADING_SOURCE" || request.source === core.DataUnit.CHANGING_PAGE_LOADING_SOURCE;
|
158
|
+
if (useCache) {
|
159
|
+
const isCacheEmpty = await PreloadManager.getRepository(dataUnit).isEmpty();
|
160
|
+
if (!isCacheEmpty) {
|
161
|
+
return PreloadManager.loadFromCache(dataUnit, request);
|
162
|
+
}
|
163
|
+
}
|
164
|
+
//Como não vamos aproveitar o cache, ele precisa ser limpo.
|
165
|
+
PreloadManager.getRepository(dataUnit).clear().catch(() => { });
|
166
|
+
}
|
167
|
+
return loadFromServer(dataUnit, request);
|
168
|
+
}
|
169
|
+
catch (error) {
|
170
|
+
console.error(error);
|
171
|
+
return Promise.reject(error);
|
172
|
+
}
|
173
|
+
}
|
174
|
+
static insertRecords(dataUnit, reference, records) {
|
175
|
+
if (PreloadManager.isCacheEnabled(dataUnit)) {
|
176
|
+
PreloadManager.getRepository(dataUnit).insert(reference, records);
|
177
|
+
}
|
178
|
+
}
|
179
|
+
static updateRecords(dataUnit, records) {
|
180
|
+
if (PreloadManager.isCacheEnabled(dataUnit)) {
|
181
|
+
PreloadManager.getRepository(dataUnit).update(records);
|
182
|
+
}
|
183
|
+
}
|
184
|
+
static removeRecords(dataUnit, records) {
|
185
|
+
if (PreloadManager.isCacheEnabled(dataUnit)) {
|
186
|
+
PreloadManager.getRepository(dataUnit).delete(records);
|
187
|
+
}
|
188
|
+
}
|
189
|
+
static async countRecords(dataUnit) {
|
190
|
+
if (PreloadManager.isCacheEnabled(dataUnit)) {
|
191
|
+
return PreloadManager.getRepository(dataUnit).count();
|
192
|
+
}
|
193
|
+
return Promise.resolve(0);
|
194
|
+
}
|
195
|
+
static getRepository(dataUnit) {
|
196
|
+
const name = dataUnit.name;
|
197
|
+
if (!PreloadManager._repositories.has(name)) {
|
198
|
+
PreloadManager._repositories.set(name, new ArrayRepository((recordA, recordB) => recordA.__record__id__ === recordB.__record__id__));
|
199
|
+
}
|
200
|
+
return PreloadManager._repositories.get(name);
|
201
|
+
}
|
202
|
+
static async loadFromCache(dataUnit, request) {
|
203
|
+
return new Promise((accept, reject) => {
|
204
|
+
const columnFilters = utils.ColumnFilterManager.getColumnFilters(request.filters, "");
|
205
|
+
const { limit, offset, sort } = request;
|
206
|
+
PreloadManager.getRepository(dataUnit)
|
207
|
+
.load(utils.ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values())), PreloadManager.getSortingFunction(dataUnit, sort), offset, limit)
|
208
|
+
.then(loadResult => {
|
209
|
+
const stillLoading = PreloadManager._loadingStatus.get(dataUnit.name);
|
210
|
+
const { count, result: records } = loadResult;
|
211
|
+
const firstRecord = count == 0 ? 0 : offset + 1;
|
212
|
+
const lastRecord = offset + Math.min(records.length, limit);
|
213
|
+
const currentPage = offset / limit;
|
214
|
+
const paginationInfo = {
|
215
|
+
count, currentPage, firstRecord, lastRecord,
|
216
|
+
hasMore: stillLoading || (lastRecord < count),
|
217
|
+
total: stillLoading ? undefined : count
|
218
|
+
};
|
219
|
+
accept({ records, paginationInfo });
|
220
|
+
})
|
221
|
+
.catch(reason => reject(reason));
|
222
|
+
});
|
223
|
+
}
|
224
|
+
}
|
225
|
+
PreloadManager._repositories = new Map();
|
226
|
+
PreloadManager._loadingStatus = new Map();
|
227
|
+
|
228
|
+
function applyFilter(records, dataUnit, filters) {
|
229
|
+
const columnFilters = utils.ColumnFilterManager.getColumnFilters(filters, "");
|
230
|
+
if (!(columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.size)) {
|
231
|
+
return records;
|
232
|
+
}
|
233
|
+
const filterFunction = utils.ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
|
234
|
+
if (filterFunction == undefined) {
|
235
|
+
return records;
|
236
|
+
}
|
237
|
+
return records.filter(filterFunction);
|
238
|
+
}
|
239
|
+
function applySorting(records, dataUnit, sorting) {
|
240
|
+
if (sorting == undefined || sorting.length == 0) {
|
241
|
+
return records;
|
242
|
+
}
|
243
|
+
const sortingFunction = PreloadManager.getSortingFunction(dataUnit, sorting);
|
244
|
+
if (sortingFunction == undefined) {
|
245
|
+
return records;
|
246
|
+
}
|
247
|
+
return records.sort(sortingFunction);
|
248
|
+
}
|
249
|
+
function buildPaginationInfo(records, offset = 0, limit = 0) {
|
250
|
+
const lastRecord = Math.min(offset + limit, records.length);
|
251
|
+
return {
|
252
|
+
currentPage: limit === 0 ? 0 : Math.ceil(offset / limit),
|
253
|
+
firstRecord: offset,
|
254
|
+
lastRecord: lastRecord,
|
255
|
+
total: records.length,
|
256
|
+
hasMore: !!(records.length - lastRecord),
|
257
|
+
};
|
258
|
+
}
|
10
259
|
|
11
260
|
class InMemoryLoader {
|
12
261
|
constructor(metadata, records) {
|
@@ -23,7 +272,7 @@ class InMemoryLoader {
|
|
23
272
|
if (this._initialRecords == undefined && this.dataUnit.records.length > 0) {
|
24
273
|
this._initialRecords = this.dataUnit.records;
|
25
274
|
}
|
26
|
-
return this._initialRecords;
|
275
|
+
return [...this._initialRecords, ...this.dataUnit.getAddedRecords()];
|
27
276
|
}
|
28
277
|
get dataUnit() {
|
29
278
|
return this._dataUnit;
|
@@ -81,30 +330,9 @@ class InMemoryLoader {
|
|
81
330
|
return core.StringUtils.generateUUID();
|
82
331
|
}
|
83
332
|
inMemoryLoader(dataUnit, request, recordsIn) {
|
84
|
-
let records =
|
85
|
-
records =
|
86
|
-
return Promise.resolve({ records, paginationInfo: buildPaginationInfo(request,
|
87
|
-
}
|
88
|
-
applyFilter(records, dataUnit, filters) {
|
89
|
-
const columnFilters = utils.ColumnFilterManager.getColumnFilters(filters, "");
|
90
|
-
if (columnFilters == undefined || columnFilters.size == 0) {
|
91
|
-
return records;
|
92
|
-
}
|
93
|
-
const filterFunciton = utils.ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
|
94
|
-
if (filterFunciton == undefined) {
|
95
|
-
return records;
|
96
|
-
}
|
97
|
-
return records.filter(filterFunciton);
|
98
|
-
}
|
99
|
-
applySorting(records, dataUnit, sorting) {
|
100
|
-
if (sorting == undefined || sorting.length == 0) {
|
101
|
-
return records;
|
102
|
-
}
|
103
|
-
const sortingFunction = PreloadManager.PreloadManager.getSortingFunction(dataUnit, sorting);
|
104
|
-
if (sortingFunction == undefined) {
|
105
|
-
return records;
|
106
|
-
}
|
107
|
-
return records.sort(sortingFunction);
|
333
|
+
let records = applyFilter(recordsIn, dataUnit, request.filters);
|
334
|
+
records = applySorting(records, dataUnit, request.sort);
|
335
|
+
return Promise.resolve({ records, paginationInfo: buildPaginationInfo(records, request.offset, request.limit) });
|
108
336
|
}
|
109
337
|
metadaLoader() {
|
110
338
|
return Promise.resolve(this._metadata);
|
@@ -137,48 +365,44 @@ class InMemoryLoader {
|
|
137
365
|
}
|
138
366
|
}
|
139
367
|
InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME = "InMemoryDataUnit";
|
140
|
-
function buildPaginationInfo({ offset, limit }, records) {
|
141
|
-
if (offset === undefined || limit === undefined) {
|
142
|
-
return undefined;
|
143
|
-
}
|
144
|
-
const lastRecord = Math.min(offset + limit, records.length);
|
145
|
-
return {
|
146
|
-
currentPage: Math.ceil(offset / limit),
|
147
|
-
firstRecord: offset,
|
148
|
-
lastRecord: lastRecord,
|
149
|
-
total: records.length,
|
150
|
-
hasMore: !!(records.length - lastRecord),
|
151
|
-
};
|
152
|
-
}
|
153
368
|
|
154
369
|
class DatasetStrategy {
|
155
370
|
canSlice() {
|
156
371
|
return false;
|
157
372
|
}
|
373
|
+
processSortingSide(request, dataUnit, serverSideFilters) {
|
374
|
+
const localSorting = [];
|
375
|
+
const serverSorting = [];
|
376
|
+
if (request.sort != undefined) {
|
377
|
+
if (serverSideFilters.length === 0) {
|
378
|
+
return { localSorting: request.sort, serverSorting: [] };
|
379
|
+
}
|
380
|
+
for (const sort of request.sort) {
|
381
|
+
const descriptor = dataUnit.getField(sort.field);
|
382
|
+
const local = descriptor != undefined
|
383
|
+
&& descriptor.properties != undefined
|
384
|
+
&& descriptor.properties.calculated === "true";
|
385
|
+
if (local) {
|
386
|
+
localSorting.push(sort);
|
387
|
+
}
|
388
|
+
else {
|
389
|
+
serverSorting.push(sort);
|
390
|
+
}
|
391
|
+
}
|
392
|
+
}
|
393
|
+
return { localSorting, serverSorting };
|
394
|
+
}
|
158
395
|
async load(dataUnit, request, loadingInfo) {
|
396
|
+
var _a, _b;
|
159
397
|
if (dataUnit.metadata == undefined) {
|
160
398
|
return Promise.resolve({ records: [], loadingInfo });
|
161
399
|
}
|
162
400
|
try {
|
163
|
-
const
|
164
|
-
const serverSorting =
|
165
|
-
if (request.sort != undefined) {
|
166
|
-
for (const sort of request.sort) {
|
167
|
-
const descriptor = dataUnit.getField(sort.field);
|
168
|
-
const local = descriptor != undefined
|
169
|
-
&& descriptor.properties != undefined
|
170
|
-
&& descriptor.properties.calculated === "true";
|
171
|
-
if (local) {
|
172
|
-
localSorting.push(sort);
|
173
|
-
}
|
174
|
-
else {
|
175
|
-
serverSorting.push(sort);
|
176
|
-
}
|
177
|
-
}
|
178
|
-
}
|
401
|
+
const serverSideFilters = (_b = (_a = request.filters) === null || _a === void 0 ? void 0 : _a.filter(filter => !filter.name.startsWith("FILTRO_COLUNA_"))) !== null && _b !== void 0 ? _b : [];
|
402
|
+
const { localSorting, serverSorting } = this.processSortingSide(request, dataUnit, serverSideFilters);
|
179
403
|
const fields = this.getFieldsList(dataUnit);
|
180
404
|
const serviceName = "DatasetSP.loadRecords";
|
181
|
-
const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting);
|
405
|
+
const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting, serverSideFilters);
|
182
406
|
const params = loadingInfo.quiet ? { urlParams: { quietMode: "true" } } : undefined;
|
183
407
|
const { result: responseRecords, pagerID: pagerId } = await DataFetcher.DataFetcher.get().callServiceBroker(serviceName, requestBody, params);
|
184
408
|
const records = this.processRecords(dataUnit, fields, responseRecords);
|
@@ -222,7 +446,7 @@ class DatasetStrategy {
|
|
222
446
|
}
|
223
447
|
return [descriptor.name, descriptionField];
|
224
448
|
}
|
225
|
-
buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, sorting) {
|
449
|
+
buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, sorting, serverSideFilters) {
|
226
450
|
const dataSetID = dataUnit.dataUnitId;
|
227
451
|
const dataUnitName = dataUnit.name;
|
228
452
|
const entityName = DataUnitFetcher.parseDataUnitName(dataUnitName).entityName;
|
@@ -241,7 +465,7 @@ class DatasetStrategy {
|
|
241
465
|
tryJoinedFields: true,
|
242
466
|
parallelLoader: useParallelLoader,
|
243
467
|
crudListener: `br.com.sankhya.bff.${this.getModuleName()}.BFFDataUnitDatasetAdapter`,
|
244
|
-
txProperties: this.getTxProperties(
|
468
|
+
txProperties: this.getTxProperties(dataUnit, request, sorting, serverSideFilters),
|
245
469
|
useDefaultRowsLimit: false
|
246
470
|
}
|
247
471
|
};
|
@@ -252,12 +476,10 @@ class DatasetStrategy {
|
|
252
476
|
const moduleName = app.getModuleName();
|
253
477
|
return moduleName.replace("-bff", "");
|
254
478
|
}
|
255
|
-
getTxProperties(
|
256
|
-
var _a, _b;
|
479
|
+
getTxProperties(dataUnit, request, sorting, serverSideFilters) {
|
257
480
|
const txProperties = {
|
258
|
-
"__DATA_UNIT_ADAPTER__[dataUnitName]":
|
481
|
+
"__DATA_UNIT_ADAPTER__[dataUnitName]": dataUnit.name
|
259
482
|
};
|
260
|
-
const serverSideFilters = (_b = (_a = request.filters) === null || _a === void 0 ? void 0 : _a.filter(filter => !filter.name.startsWith("FILTRO_COLUNA_"))) !== null && _b !== void 0 ? _b : [];
|
261
483
|
if (serverSideFilters.length !== 0) {
|
262
484
|
txProperties["__DATA_UNIT_ADAPTER__[criteria]"] = JSON.stringify(serverSideFilters);
|
263
485
|
}
|
@@ -267,6 +489,13 @@ class DatasetStrategy {
|
|
267
489
|
if (request.parentRecordId != undefined) {
|
268
490
|
txProperties["__DATA_UNIT_ADAPTER__[parentRecordId]"] = request.parentRecordId;
|
269
491
|
}
|
492
|
+
const loaderProps = dataUnit.getGlobalLoaderProps();
|
493
|
+
if (loaderProps == undefined || loaderProps.size === 0) {
|
494
|
+
return txProperties;
|
495
|
+
}
|
496
|
+
Array.from(loaderProps.entries()).forEach(([name, value]) => {
|
497
|
+
txProperties[name] = value;
|
498
|
+
});
|
270
499
|
return txProperties;
|
271
500
|
}
|
272
501
|
processRecords(dataUnit, fields, responseRecords) {
|
@@ -330,7 +559,7 @@ class DataUnitDataLoader {
|
|
330
559
|
static async loadData(dataUnit, request) {
|
331
560
|
return new Promise((resolve, reject) => {
|
332
561
|
DataUnitDataLoader.debounce(dataUnit, () => {
|
333
|
-
PreloadManager.
|
562
|
+
PreloadManager.loadData(dataUnit, request, this.loadFromServer)
|
334
563
|
.then(resp => resolve(resp))
|
335
564
|
.catch(reason => reject(reason));
|
336
565
|
});
|
@@ -367,8 +596,8 @@ class DataUnitDataLoader {
|
|
367
596
|
return Promise.resolve(undefined);
|
368
597
|
}
|
369
598
|
const recreateCache = !dataLoader.canSlice() || responseLoadingInfo.count === 0;
|
370
|
-
PreloadManager.
|
371
|
-
if (PreloadManager.
|
599
|
+
PreloadManager.cacheRecords(dataUnit, records, recreateCache, responseLoadingInfo.loadingInProgress);
|
600
|
+
if (PreloadManager.isCacheEnabled(dataUnit) && responseLoadingInfo.loadingInProgress) {
|
372
601
|
const newRequest = Object.assign(Object.assign({}, request), { offset: responseLoadingInfo.count });
|
373
602
|
const newLoadingInfo = Object.assign(Object.assign({}, responseLoadingInfo), { pageNumber: (responseLoadingInfo.pageNumber || 0) + 1, quiet: true });
|
374
603
|
this.callLoader(dataUnit, newRequest, newLoadingInfo, dataLoader)
|
@@ -378,7 +607,7 @@ class DataUnitDataLoader {
|
|
378
607
|
return Promise.resolve(result);
|
379
608
|
}
|
380
609
|
static afterLoadingPage(dataUnit, loadingInfo) {
|
381
|
-
PreloadManager.
|
610
|
+
PreloadManager.setLoadingStatus(dataUnit, loadingInfo.loadingInProgress);
|
382
611
|
const dataUnitPagination = dataUnit.getPaginationInfo();
|
383
612
|
if (dataUnitPagination == undefined) {
|
384
613
|
return;
|
@@ -525,9 +754,9 @@ class DataUnitFetcher {
|
|
525
754
|
return { entityName: parts[1], resourceID: parts[2] };
|
526
755
|
}
|
527
756
|
getDataUnit(entityName, resourceID, parentDataUnit, configName) {
|
528
|
-
if (PreloadManager.
|
757
|
+
if (PreloadManager.applicationResourceID == undefined) {
|
529
758
|
//Por falta de um lugar melhor pra iniciar essa variável, fazemos isso aqui.
|
530
|
-
ResourceIDUtils.ResourceIDUtils.getResourceID().then(resourceID => PreloadManager.
|
759
|
+
ResourceIDUtils.ResourceIDUtils.getResourceID().then(resourceID => PreloadManager.applicationResourceID = resourceID);
|
531
760
|
}
|
532
761
|
const duName = `dd://${entityName}/${resourceID}${configName ? "/" + configName : ""}`;
|
533
762
|
const dataUnit = parentDataUnit != undefined ? parentDataUnit.getChildDataunit(duName) : new core.DataUnit(duName);
|
@@ -596,14 +825,41 @@ class DataUnitFetcher {
|
|
596
825
|
});
|
597
826
|
});
|
598
827
|
}
|
828
|
+
addTransientProperties(dataUnit, updatingFields) {
|
829
|
+
const loaderProps = dataUnit.getGlobalLoaderProps();
|
830
|
+
if (loaderProps == undefined || loaderProps.size === 0) {
|
831
|
+
return updatingFields;
|
832
|
+
}
|
833
|
+
if (updatingFields == undefined) {
|
834
|
+
updatingFields = {};
|
835
|
+
}
|
836
|
+
Array.from(loaderProps.entries()).forEach(([name, value]) => {
|
837
|
+
updatingFields[`transient.${name}`] = value;
|
838
|
+
});
|
839
|
+
return updatingFields;
|
840
|
+
}
|
841
|
+
getUpdatingFields(dataUnit, originalUpdatingFields) {
|
842
|
+
if (originalUpdatingFields == undefined) {
|
843
|
+
return;
|
844
|
+
}
|
845
|
+
const updatingFields = Object.assign({}, originalUpdatingFields);
|
846
|
+
Object.keys(updatingFields).forEach(key => {
|
847
|
+
const descriptor = dataUnit.getField(key);
|
848
|
+
if (descriptor != undefined && descriptor.standAlone) {
|
849
|
+
delete updatingFields[key];
|
850
|
+
}
|
851
|
+
});
|
852
|
+
return this.addTransientProperties(dataUnit, updatingFields);
|
853
|
+
}
|
599
854
|
saveData(dataUnit, duChanges) {
|
600
855
|
const updatedRecordsIds = [];
|
601
856
|
const addedRecordsIds = [];
|
602
857
|
const changes = duChanges.map((change) => {
|
603
|
-
const { dataUnit: changeDU, record,
|
858
|
+
const { dataUnit: changeDU, record, operation } = change;
|
604
859
|
const dataUnitInstance = core.DataUnitStorage.get(changeDU);
|
860
|
+
const updatingFields = this.getUpdatingFields(dataUnitInstance, change.updatingFields);
|
605
861
|
let parsedUpdatingFields;
|
606
|
-
if (updatingFields) {
|
862
|
+
if (updatingFields != undefined) {
|
607
863
|
parsedUpdatingFields = Object.entries(updatingFields).map(([fieldName, value]) => {
|
608
864
|
const descriptor = dataUnitInstance.getField(fieldName);
|
609
865
|
const dataType = descriptor ? descriptor.dataType : core.DataType.TEXT;
|
@@ -651,7 +907,8 @@ class DataUnitFetcher {
|
|
651
907
|
}
|
652
908
|
responseRecord.fields.forEach(({ name, value }) => {
|
653
909
|
var _a;
|
654
|
-
|
910
|
+
const valueFromString = (_a = dataUnitInstance === null || dataUnitInstance === void 0 ? void 0 : dataUnitInstance.valueFromString) === null || _a === void 0 ? void 0 : _a.call(dataUnitInstance, name, value);
|
911
|
+
duRecord[name] = (valueFromString !== undefined) ? valueFromString : value;
|
655
912
|
});
|
656
913
|
dataUnitRecords.push(duRecord);
|
657
914
|
});
|
@@ -672,10 +929,10 @@ class DataUnitFetcher {
|
|
672
929
|
});
|
673
930
|
if (addedRecords.length > 0) {
|
674
931
|
const firstRecord = dataUnit.records[0];
|
675
|
-
PreloadManager.
|
932
|
+
PreloadManager.insertRecords(dataUnit, firstRecord, addedRecords);
|
676
933
|
}
|
677
934
|
const updatedRecords = toUpdate.map(recordId => (Object.assign({}, recordsById.get(recordId))));
|
678
|
-
PreloadManager.
|
935
|
+
PreloadManager.updateRecords(dataUnit, updatedRecords);
|
679
936
|
}
|
680
937
|
getTransientInfo(dataUnit, recordID) {
|
681
938
|
const { records } = dataUnit.getSelectionInfo();
|
@@ -692,7 +949,7 @@ class DataUnitFetcher {
|
|
692
949
|
query: this.templateByQuery.get("saveData"),
|
693
950
|
})
|
694
951
|
.then((_resp) => {
|
695
|
-
PreloadManager.
|
952
|
+
PreloadManager.removeRecords(dataUnit, dataUnit.records.filter(record => recordIds.includes(record.__record__id__)));
|
696
953
|
resolve(recordIds);
|
697
954
|
})
|
698
955
|
.catch((error) => {
|
@@ -726,5 +983,170 @@ class DataUnitFetcher {
|
|
726
983
|
}
|
727
984
|
}
|
728
985
|
|
986
|
+
class PesquisaFetcher {
|
987
|
+
constructor() {
|
988
|
+
this._defaultPageSize = 100;
|
989
|
+
this._templateByQuery = new Map();
|
990
|
+
this._searchListenersByDataUnit = new Map();
|
991
|
+
this.buldTemplates();
|
992
|
+
}
|
993
|
+
buldTemplates() {
|
994
|
+
this._templateByQuery.set("search", DataFetcher.dist.gql `query($entityName: String! $argument: String $criteria: InputSearchCriteria $options: InputSearchOptions) {
|
995
|
+
$queryAlias$: search(entityName: $entityName argument: $argument criteria: $criteria options: $options){
|
996
|
+
value
|
997
|
+
label
|
998
|
+
}
|
999
|
+
}`);
|
1000
|
+
}
|
1001
|
+
loadSearchOptions(entityName, argument, criteria, options) {
|
1002
|
+
var _a;
|
1003
|
+
const cleanText = (argument === null || argument === void 0 ? void 0 : argument.toString().trim()) || undefined;
|
1004
|
+
argument = isNaN(Number(cleanText)) && cleanText ? `%${cleanText}` : cleanText;
|
1005
|
+
criteria === null || criteria === void 0 ? void 0 : criteria.params.forEach(param => {
|
1006
|
+
if (param.dataType === core.DataType.OBJECT) {
|
1007
|
+
param.value = JSON.stringify(param.value);
|
1008
|
+
}
|
1009
|
+
});
|
1010
|
+
const listenerResult = this.applySearchListener(SearchListenerType.beforeSearch, entityName, argument, criteria, options);
|
1011
|
+
const values = {
|
1012
|
+
argument: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.argument) || argument,
|
1013
|
+
entityName,
|
1014
|
+
criteria: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.criteria) || criteria,
|
1015
|
+
options: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.searchOptions) || options,
|
1016
|
+
};
|
1017
|
+
if (values.options) {
|
1018
|
+
(_a = values.options) === null || _a === void 0 ? true : delete _a.dataUnitId;
|
1019
|
+
}
|
1020
|
+
return new Promise((resolve, reject) => {
|
1021
|
+
DataFetcher.DataFetcher.get()
|
1022
|
+
.callGraphQL({
|
1023
|
+
values,
|
1024
|
+
query: this._templateByQuery.get("search"),
|
1025
|
+
})
|
1026
|
+
.then((result) => {
|
1027
|
+
resolve(result);
|
1028
|
+
})
|
1029
|
+
.catch((error) => {
|
1030
|
+
reject(error);
|
1031
|
+
});
|
1032
|
+
});
|
1033
|
+
}
|
1034
|
+
loadAdvancedSearch(entityName, argument, criteria, searchOptions) {
|
1035
|
+
var _a, _b, _c, _d;
|
1036
|
+
const listenerResult = this.applySearchListener(SearchListenerType.beforeSearch, entityName, argument, criteria, searchOptions);
|
1037
|
+
const values = {
|
1038
|
+
argument: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.argument) || argument,
|
1039
|
+
criteria: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.criteria) || criteria,
|
1040
|
+
searchOptions: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.searchOptions) || searchOptions,
|
1041
|
+
};
|
1042
|
+
const serviceName = "PesquisaSP.getSuggestion";
|
1043
|
+
const externalCriteria = {
|
1044
|
+
query: {
|
1045
|
+
$: (_a = values.criteria) === null || _a === void 0 ? void 0 : _a.expression
|
1046
|
+
}
|
1047
|
+
};
|
1048
|
+
if (((_c = (_b = values.criteria) === null || _b === void 0 ? void 0 : _b.params) === null || _c === void 0 ? void 0 : _c.length) > 0) {
|
1049
|
+
externalCriteria.params = {
|
1050
|
+
param: values.criteria.params.map(param => {
|
1051
|
+
let value = param.value;
|
1052
|
+
if (typeof value === "string") {
|
1053
|
+
const match = /CTX\{([^}]+)\}/.exec(value);
|
1054
|
+
if (match) {
|
1055
|
+
value = core.ApplicationContext.getContextValue(`__SNK__APPLICATION__FILTER__CONTEXT(${match[1]})__`);
|
1056
|
+
}
|
1057
|
+
}
|
1058
|
+
let type = param.dataType;
|
1059
|
+
if (type === core.DataType.OBJECT) {
|
1060
|
+
value = value.value;
|
1061
|
+
type = "S";
|
1062
|
+
}
|
1063
|
+
else {
|
1064
|
+
type = convertParamType(param.dataType);
|
1065
|
+
}
|
1066
|
+
return { $: value, type };
|
1067
|
+
})
|
1068
|
+
};
|
1069
|
+
}
|
1070
|
+
const options = searchOptions != undefined
|
1071
|
+
? Object.assign(Object.assign({}, searchOptions), { "pkFieldName": searchOptions.codeFieldName, "label": searchOptions.descriptionFieldName, "fieldName": searchOptions.codeFieldName, "useDescriptionOptions": false, "enableRowsCounter": true }) : undefined;
|
1072
|
+
const reqBody = {
|
1073
|
+
"serviceName": serviceName,
|
1074
|
+
"requestBody": {
|
1075
|
+
"criteria": Object.assign({ "entityName": entityName, "compacted": false, "ignoreEntityCriteria": false, "limit": this._defaultPageSize, "query": { "$": values.argument }, "orderByDesc": false, "externalCriteria": externalCriteria, "localEntityName": (_d = values.searchOptions) === null || _d === void 0 ? void 0 : _d.rootEntity }, { options }),
|
1076
|
+
"clientEventList": {
|
1077
|
+
"clientEvent": []
|
1078
|
+
}
|
1079
|
+
}
|
1080
|
+
};
|
1081
|
+
return new Promise((resolve, reject) => {
|
1082
|
+
DataFetcher.DataFetcher.get()
|
1083
|
+
.callServiceBroker("PesquisaSP.getSuggestion", JSON.stringify(reqBody))
|
1084
|
+
.then(result => resolve(result))
|
1085
|
+
.catch(error => reject(error));
|
1086
|
+
});
|
1087
|
+
}
|
1088
|
+
addSearchListener(entityName, dataUnitID, listener) {
|
1089
|
+
var _a;
|
1090
|
+
const dataUnitSearchListeners = this._searchListenersByDataUnit.get(dataUnitID) || [];
|
1091
|
+
const entityListener = dataUnitSearchListeners.find(currentListener => currentListener.entity === entityName);
|
1092
|
+
if (!entityListener) {
|
1093
|
+
this._searchListenersByDataUnit.set(dataUnitID, [...dataUnitSearchListeners, { entity: entityName, listener }]);
|
1094
|
+
}
|
1095
|
+
else {
|
1096
|
+
for (const type of Object.keys(listener)) {
|
1097
|
+
if (type in entityListener.listener) {
|
1098
|
+
const listenerFunctionIsEquals = ((_a = entityListener.listener[type]) === null || _a === void 0 ? void 0 : _a.toString()) === listener[type].toString();
|
1099
|
+
if (listenerFunctionIsEquals)
|
1100
|
+
continue;
|
1101
|
+
entityListener.listener[type] = listener[type];
|
1102
|
+
}
|
1103
|
+
}
|
1104
|
+
}
|
1105
|
+
return () => {
|
1106
|
+
const newListeners = dataUnitSearchListeners.filter(currentListener => currentListener.entity !== entityName);
|
1107
|
+
if (!newListeners.length) {
|
1108
|
+
this._searchListenersByDataUnit.delete(dataUnitID);
|
1109
|
+
return;
|
1110
|
+
}
|
1111
|
+
this._searchListenersByDataUnit.set(dataUnitID, newListeners);
|
1112
|
+
};
|
1113
|
+
}
|
1114
|
+
applySearchListener(listenerType, entityName, argument, criteria, searchOptions) {
|
1115
|
+
var _a;
|
1116
|
+
const dataUnitId = searchOptions === null || searchOptions === void 0 ? void 0 : searchOptions.dataUnitId;
|
1117
|
+
if (!dataUnitId)
|
1118
|
+
return;
|
1119
|
+
const entityListener = (_a = this._searchListenersByDataUnit.get(dataUnitId)) === null || _a === void 0 ? void 0 : _a.find(({ entity }) => entity === entityName);
|
1120
|
+
if (!entityListener)
|
1121
|
+
return;
|
1122
|
+
const { listener } = entityListener;
|
1123
|
+
if (!(listenerType in listener))
|
1124
|
+
return;
|
1125
|
+
return listener[listenerType]({ argument, criteria, searchOptions });
|
1126
|
+
}
|
1127
|
+
}
|
1128
|
+
function convertParamType(dataType) {
|
1129
|
+
//Alerta: Cuidado pra não contaminar o DataType com a implementação
|
1130
|
+
//atual da pesquisa... em geral, somente inteiros,
|
1131
|
+
//data (com ou sem hora) e string são realmente relevantes
|
1132
|
+
switch (dataType) {
|
1133
|
+
case core.DataType.NUMBER:
|
1134
|
+
return "I";
|
1135
|
+
case core.DataType.DATE:
|
1136
|
+
return "D";
|
1137
|
+
default:
|
1138
|
+
return "S";
|
1139
|
+
}
|
1140
|
+
}
|
1141
|
+
var SearchListenerType;
|
1142
|
+
(function (SearchListenerType) {
|
1143
|
+
SearchListenerType["beforeSearch"] = "beforeSearch";
|
1144
|
+
})(SearchListenerType || (SearchListenerType = {}));
|
1145
|
+
|
729
1146
|
exports.DataUnitFetcher = DataUnitFetcher;
|
730
1147
|
exports.InMemoryLoader = InMemoryLoader;
|
1148
|
+
exports.PesquisaFetcher = PesquisaFetcher;
|
1149
|
+
exports.PreloadManager = PreloadManager;
|
1150
|
+
exports.applyFilter = applyFilter;
|
1151
|
+
exports.applySorting = applySorting;
|
1152
|
+
exports.buildPaginationInfo = buildPaginationInfo;
|