@sankhyalabs/sankhyablocks 8.15.0-dev.6 → 8.15.0-dev.60
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-7df9d3bb.js} +102 -30
- package/dist/cjs/IExporterProvider-1ed8e92a.js +187 -0
- package/dist/cjs/{ISave-d68ce3cd.js → ISave-e91b70a7.js} +1 -0
- package/dist/cjs/RecordIDUtils-3735135c.js +43 -0
- package/dist/cjs/{SnkFormConfigManager-7d850fbc.js → SnkFormConfigManager-4259edbe.js} +21 -13
- package/dist/cjs/{SnkMessageBuilder-7293d0ad.js → SnkMessageBuilder-66aa2557.js} +19 -1
- package/dist/cjs/{auth-fetcher-c8467c07.js → auth-fetcher-e6112be7.js} +1 -1
- package/dist/cjs/{DataFetcher-ba94ed5b.js → form-config-fetcher-3c4daeb5.js} +258 -4
- 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-cb768be1.js} +520 -86
- 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} +529 -13
- package/dist/cjs/snk-application.cjs.entry.js +62 -28
- package/dist/cjs/snk-attach.cjs.entry.js +422 -62
- package/dist/cjs/snk-crud.cjs.entry.js +17 -12
- package/dist/cjs/snk-data-exporter.cjs.entry.js +204 -82
- package/dist/cjs/{snk-data-unit-1bc69073.js → snk-data-unit-abd2113f.js} +3 -38
- package/dist/cjs/snk-data-unit.cjs.entry.js +3 -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 +65 -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 +2 -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 +46 -27
- package/dist/cjs/snk-form.cjs.entry.js +10 -4
- package/dist/cjs/snk-grid.cjs.entry.js +95 -116
- package/dist/cjs/{snk-guides-viewer-cb176c4d.js → snk-guides-viewer-bec9c1a5.js} +15 -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 +2 -3
- package/dist/cjs/snk-pesquisa.cjs.entry.js +1 -1
- package/dist/cjs/snk-simple-crud.cjs.entry.js +367 -38
- package/dist/cjs/snk-taskbar.cjs.entry.js +124 -15
- package/dist/cjs/{taskbar-elements-01b85b99.js → taskbar-elements-d9392685.js} +11 -11
- 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 +85 -2
- package/dist/collection/components/snk-attach/snk-attach.js +212 -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/exporter-strategy/ClientSideExporterStrategy.js +90 -0
- package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +68 -0
- package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +48 -1
- package/dist/collection/components/snk-data-exporter/interfaces/IExporterStrategy.js +1 -0
- package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +53 -0
- package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +55 -0
- package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +42 -48
- package/dist/collection/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.js +88 -0
- package/dist/collection/components/snk-data-exporter/utils/RecordIDUtils.js +38 -0
- package/dist/collection/components/snk-data-unit/snk-data-unit.js +3 -42
- 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 +102 -109
- 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 +548 -20
- package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +4 -2
- package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +11 -11
- package/dist/collection/components/snk-taskbar/snk-taskbar.css +17 -0
- package/dist/collection/components/snk-taskbar/snk-taskbar.js +167 -14
- package/dist/collection/lib/configs/ConfigStorage.js +86 -16
- 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 +7 -4
- 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/DataUnitDataLoader.js +3 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +4 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +11 -13
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.js +32 -3
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +36 -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 +12 -13
- 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 +93 -21
- package/dist/components/IExporterProvider.js +256 -0
- package/dist/components/ISave.js +42 -0
- package/dist/components/SnkFormConfigManager.js +19 -11
- package/dist/components/SnkMessageBuilder.js +19 -1
- package/dist/components/dataunit-fetcher.js +138 -91
- package/dist/components/form-config-fetcher.js +7035 -3
- package/dist/components/index.d.ts +6 -6
- package/dist/components/index2.js +198 -33
- package/dist/components/snk-actions-button2.js +3 -11
- package/dist/components/snk-application2.js +42 -3
- package/dist/components/snk-attach2.js +478 -70
- package/dist/components/snk-crud.js +18 -7
- package/dist/components/snk-data-exporter2.js +199 -82
- package/dist/components/snk-data-unit2.js +41 -39
- package/dist/components/snk-detail-view2.js +44 -12
- package/dist/components/snk-entity-list.js +5 -3
- package/dist/components/snk-expression-item2.js +1 -1
- 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 +47 -27
- package/dist/components/snk-form.js +8 -0
- package/dist/components/snk-grid-config2.js +128 -102
- package/dist/components/snk-grid2.js +96 -112
- package/dist/components/snk-personalized-filter-editor.js +3 -1
- package/dist/components/snk-personalized-filter2.js +1 -1
- package/dist/components/snk-pesquisa2.js +1 -1
- package/dist/components/snk-simple-crud2.js +421 -34
- package/dist/components/snk-taskbar2.js +144 -29
- package/dist/components/taskbar-actions-button2.js +4 -2
- package/dist/esm/{ConfigStorage-1244b8b0.js → ConfigStorage-928c3bf4.js} +93 -21
- package/dist/esm/IExporterProvider-ceabfb7e.js +179 -0
- package/dist/esm/{ISave-4412b20c.js → ISave-d8c8bc59.js} +1 -0
- package/dist/esm/RecordIDUtils-87d02110.js +41 -0
- package/dist/esm/{SnkFormConfigManager-9be0e7d4.js → SnkFormConfigManager-a87ade7a.js} +21 -13
- package/dist/esm/{SnkMessageBuilder-ca843d1b.js → SnkMessageBuilder-0a4becdd.js} +19 -1
- package/dist/esm/{auth-fetcher-c05dc474.js → auth-fetcher-e1cb288f.js} +1 -1
- package/dist/esm/{DataFetcher-aa159c5a.js → form-config-fetcher-e3094014.js} +257 -5
- package/dist/esm/index-a7d3d3f1.js +2 -10
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{dataunit-fetcher-65714f21.js → pesquisa-fetcher-72125b13.js} +494 -69
- package/dist/esm/sankhyablocks.js +1 -1
- package/dist/esm/{snk-actions-button_2.entry.js → snk-actions-button_4.entry.js} +523 -9
- package/dist/esm/snk-application.entry.js +43 -9
- package/dist/esm/snk-attach.entry.js +422 -62
- package/dist/esm/snk-crud.entry.js +17 -12
- package/dist/esm/snk-data-exporter.entry.js +204 -82
- package/dist/esm/{snk-data-unit-6208ebf0.js → snk-data-unit-29eba11a.js} +4 -39
- package/dist/esm/snk-data-unit.entry.js +3 -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 +65 -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 +2 -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 +47 -28
- package/dist/esm/snk-form.entry.js +10 -4
- package/dist/esm/snk-grid.entry.js +95 -116
- package/dist/esm/{snk-guides-viewer-eeb8f354.js → snk-guides-viewer-303aafb4.js} +15 -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 +2 -3
- package/dist/esm/snk-pesquisa.entry.js +1 -1
- package/dist/esm/snk-simple-crud.entry.js +359 -30
- package/dist/esm/snk-taskbar.entry.js +125 -16
- package/dist/esm/{taskbar-elements-d4d0b424.js → taskbar-elements-ad766858.js} +11 -11
- package/dist/sankhyablocks/p-029bfc09.js +1 -0
- package/dist/sankhyablocks/p-07825198.js +1 -0
- package/dist/sankhyablocks/p-0e8702f0.js +1 -0
- package/dist/sankhyablocks/p-13ea113d.entry.js +1 -0
- package/dist/sankhyablocks/p-1fa244c0.entry.js +1 -0
- package/dist/sankhyablocks/{p-9e7d65a4.js → p-21749402.js} +1 -1
- package/dist/sankhyablocks/p-2d972c2e.entry.js +1 -0
- package/dist/sankhyablocks/p-314e2d1a.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-3494a28e.entry.js +1 -0
- package/dist/sankhyablocks/p-35bd4df7.entry.js +1 -0
- package/dist/sankhyablocks/p-536eeb16.js +26 -0
- package/dist/sankhyablocks/p-54a5d52a.entry.js +1 -0
- package/dist/sankhyablocks/p-563701f3.js +1 -0
- package/dist/sankhyablocks/p-61984566.entry.js +1 -0
- package/dist/sankhyablocks/p-61dd89eb.js +1 -0
- package/dist/sankhyablocks/p-64977b22.entry.js +1 -0
- package/dist/sankhyablocks/p-65b6dba3.entry.js +1 -0
- package/dist/sankhyablocks/p-6bc64fb0.entry.js +1 -0
- package/dist/sankhyablocks/p-70a4af56.entry.js +1 -0
- package/dist/sankhyablocks/p-9863d682.js +1 -0
- package/dist/sankhyablocks/p-aedf37fb.js +65 -0
- package/dist/sankhyablocks/p-b11aa1e0.entry.js +1 -0
- package/dist/sankhyablocks/p-b233f5aa.entry.js +1 -0
- package/dist/sankhyablocks/p-b86ea293.entry.js +1 -0
- package/dist/sankhyablocks/p-bf2acf72.entry.js +1 -0
- package/dist/sankhyablocks/p-c73482cf.js +1 -0
- package/dist/sankhyablocks/p-cb3c7b4a.entry.js +11 -0
- package/dist/sankhyablocks/p-cfb98f51.entry.js +1 -0
- package/dist/sankhyablocks/{p-247a8b36.entry.js → p-d1791da2.entry.js} +1 -1
- package/dist/sankhyablocks/p-d911a023.entry.js +1 -0
- package/dist/sankhyablocks/p-e27496ed.js +56 -0
- package/dist/sankhyablocks/p-e8763234.entry.js +1 -0
- package/dist/sankhyablocks/p-fa84e72f.entry.js +1 -0
- package/dist/sankhyablocks/sankhyablocks.esm.js +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 +29 -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-data-exporter/exporter-strategy/ClientSideExporterStrategy.d.ts +13 -0
- package/dist/types/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.d.ts +11 -0
- package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +21 -4
- package/dist/types/components/snk-data-exporter/interfaces/IExporterStrategy.d.ts +5 -0
- package/dist/types/components/snk-data-exporter/providers/ClientSideExporterProvider.d.ts +17 -0
- package/dist/types/components/snk-data-exporter/providers/ServerSideExporterProvider.d.ts +17 -0
- package/dist/types/components/snk-data-exporter/snk-data-exporter.d.ts +3 -1
- package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +77 -0
- package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +3 -0
- 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 -4
- 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 +98 -4
- package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +1 -1
- package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +34 -1
- package/dist/types/components.d.ts +314 -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/DataUnitDataLoader.d.ts +2 -1
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +1 -0
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.d.ts +1 -0
- 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/fetchDataExporter/interfaces/IExporterColumnMetadata.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/form-config-fetcher-df043d3d.js +0 -244
- 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/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/index.js +0 -34
- package/dist/components/DataFetcher.js +0 -7021
- package/dist/components/field-search.js +0 -121
- package/dist/components/index3.js +0 -199
- package/dist/esm/PreloadManager-c1c2f2b4.js +0 -222
- package/dist/esm/SnkMultiSelectionListDataSource-44494b0e.js +0 -43
- package/dist/esm/form-config-fetcher-36219cd3.js +0 -241
- 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-0dca29cb.entry.js +0 -1
- 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-32f0935f.js +0 -1
- package/dist/sankhyablocks/p-3520c088.entry.js +0 -1
- 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-9695f78b.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-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-e6380c60.js +0 -1
- package/dist/sankhyablocks/p-f2056f66.entry.js +0 -1
- package/dist/sankhyablocks/p-f514913b.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/types/lib/http/data-fetcher/fetchers/fetchDataExporter/index.d.ts +0 -3
- /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,266 @@
|
|
1
1
|
'use strict';
|
2
2
|
|
3
3
|
const core = require('@sankhyalabs/core');
|
4
|
-
const
|
4
|
+
const formConfigFetcher = require('./form-config-fetcher-3c4daeb5.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 SortingUtils = require('@sankhyalabs/core/dist/utils/SortingUtils');
|
9
|
+
const ResourceIDUtils = require('./ResourceIDUtils-5ff86aa7.js');
|
10
|
+
|
11
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
12
|
+
|
13
|
+
const SortingUtils__default = /*#__PURE__*/_interopDefaultLegacy(SortingUtils);
|
14
|
+
|
15
|
+
class ArrayRepository {
|
16
|
+
constructor(equalsFunction) {
|
17
|
+
this._list = [];
|
18
|
+
this._equalsFunction = equalsFunction;
|
19
|
+
}
|
20
|
+
async load(filterFunction, sortingFunction, offset, limit) {
|
21
|
+
let result = [].concat(this._list);
|
22
|
+
if (filterFunction != undefined) {
|
23
|
+
result = this._list.filter(item => filterFunction(item));
|
24
|
+
}
|
25
|
+
if (sortingFunction != undefined) {
|
26
|
+
result = result.sort(sortingFunction);
|
27
|
+
}
|
28
|
+
const count = result.length;
|
29
|
+
if (limit != undefined) {
|
30
|
+
const start = offset || 0;
|
31
|
+
const end = limit ? start + limit : result.length;
|
32
|
+
result = result.slice(start, end);
|
33
|
+
}
|
34
|
+
return Promise.resolve({ result, count });
|
35
|
+
}
|
36
|
+
async distict(itemProcessor) {
|
37
|
+
const processedItems = [];
|
38
|
+
let hasEmpty = false;
|
39
|
+
for (const item of this._list) {
|
40
|
+
const processedItem = itemProcessor(item);
|
41
|
+
if (processedItem == undefined) {
|
42
|
+
continue;
|
43
|
+
}
|
44
|
+
if (processedItem.value == undefined) {
|
45
|
+
hasEmpty = true;
|
46
|
+
continue;
|
47
|
+
}
|
48
|
+
processedItems.push(processedItem);
|
49
|
+
}
|
50
|
+
if (hasEmpty) {
|
51
|
+
processedItems.push({ key: "", value: null });
|
52
|
+
}
|
53
|
+
return Promise.resolve(new Map(processedItems.map(item => [item.key, item.value])));
|
54
|
+
}
|
55
|
+
async push(items) {
|
56
|
+
this._list.push(...items);
|
57
|
+
}
|
58
|
+
async clear() {
|
59
|
+
this._list = [];
|
60
|
+
}
|
61
|
+
async delete(items) {
|
62
|
+
this._list = this._list.filter(item => {
|
63
|
+
for (const removed of items) {
|
64
|
+
if (this._equalsFunction(item, removed)) {
|
65
|
+
return false;
|
66
|
+
}
|
67
|
+
}
|
68
|
+
return true;
|
69
|
+
});
|
70
|
+
}
|
71
|
+
async update(items) {
|
72
|
+
this._list = this._list.map(existingItem => {
|
73
|
+
const newItem = items.find(newItem => this._equalsFunction(existingItem, newItem));
|
74
|
+
return newItem == undefined ? existingItem : newItem;
|
75
|
+
});
|
76
|
+
}
|
77
|
+
async insert(itemReference, items) {
|
78
|
+
const itemPosition = this._list.indexOf(itemReference);
|
79
|
+
if (itemPosition == -1) {
|
80
|
+
this._list.push(...items);
|
81
|
+
return;
|
82
|
+
}
|
83
|
+
this._list = this._list.slice(0, itemPosition).concat(items).concat(this._list.slice(itemPosition));
|
84
|
+
}
|
85
|
+
isOperating() {
|
86
|
+
return true;
|
87
|
+
}
|
88
|
+
async isEmpty() {
|
89
|
+
return Promise.resolve(this._list.length === 0);
|
90
|
+
}
|
91
|
+
async count() {
|
92
|
+
return Promise.resolve(this._list.length);
|
93
|
+
}
|
94
|
+
getFromCache() {
|
95
|
+
return core.ObjectUtils.copy(this._list);
|
96
|
+
}
|
97
|
+
}
|
98
|
+
|
99
|
+
class PreloadManager {
|
100
|
+
static setLoadingStatus(dataUnit, loadingInProgress) {
|
101
|
+
this._loadingStatus.set(dataUnit.name, loadingInProgress);
|
102
|
+
}
|
103
|
+
static isCacheEnabled(_dataUnit) {
|
104
|
+
return true;
|
105
|
+
}
|
106
|
+
static cacheRecords(dataUnit, records, resetDatabase, loadingInProgress) {
|
107
|
+
PreloadManager.setLoadingStatus(dataUnit, loadingInProgress);
|
108
|
+
if (PreloadManager.isCacheEnabled(dataUnit)) {
|
109
|
+
this.getRepository(dataUnit).push(records);
|
110
|
+
}
|
111
|
+
else {
|
112
|
+
if (resetDatabase) {
|
113
|
+
this._repositories.delete(dataUnit.name);
|
114
|
+
}
|
115
|
+
}
|
116
|
+
}
|
117
|
+
static getSortingFunction(dataUnit, sorting) {
|
118
|
+
return SortingUtils__default['default'].getSortingFunction(dataUnit, sorting);
|
119
|
+
}
|
120
|
+
static async getDistinct(dataUnit, fieldName) {
|
121
|
+
if (!PreloadManager.isCacheEnabled(dataUnit)) {
|
122
|
+
return Promise.resolve(utils.ColumnFilterManager.compileDistinct(fieldName, dataUnit));
|
123
|
+
}
|
124
|
+
let filterFunction;
|
125
|
+
const request = dataUnit.getLastLoadRequest();
|
126
|
+
if (request != undefined) {
|
127
|
+
const columnFilters = utils.ColumnFilterManager.getColumnFilters(request.filters, fieldName);
|
128
|
+
filterFunction = utils.ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
|
129
|
+
}
|
130
|
+
return new Promise((accept, reject) => {
|
131
|
+
PreloadManager.getRepository(dataUnit).distict(record => {
|
132
|
+
if (filterFunction != undefined && !filterFunction(record)) {
|
133
|
+
return undefined;
|
134
|
+
}
|
135
|
+
const fieldValue = record[fieldName];
|
136
|
+
if (fieldValue == undefined) {
|
137
|
+
return { key: null, value: null };
|
138
|
+
}
|
139
|
+
const value = fieldValue.value != undefined ? fieldValue.value : fieldValue;
|
140
|
+
return { key: dataUnit.getFormattedValue(fieldName, fieldValue), value };
|
141
|
+
})
|
142
|
+
.then(result => {
|
143
|
+
if (result == undefined) {
|
144
|
+
accept(undefined);
|
145
|
+
return;
|
146
|
+
}
|
147
|
+
accept(Array.from(result.entries()).map(([label, value]) => ({ label, value, check: true })));
|
148
|
+
})
|
149
|
+
.catch(reason => reject(reason));
|
150
|
+
});
|
151
|
+
}
|
152
|
+
static async loadData(dataUnit, request, loadFromServer) {
|
153
|
+
try {
|
154
|
+
if (PreloadManager.isCacheEnabled(dataUnit)) {
|
155
|
+
const useCache = [
|
156
|
+
"EZ_GRID_LOADING_SOURCE",
|
157
|
+
core.DataUnit.CHANGING_PAGE_LOADING_SOURCE,
|
158
|
+
core.DataUnit.ALL_RECORDS_SELECTION_SOURCE
|
159
|
+
].includes(request.source);
|
160
|
+
if (useCache) {
|
161
|
+
const isCacheEmpty = await PreloadManager.getRepository(dataUnit).isEmpty();
|
162
|
+
if (!isCacheEmpty) {
|
163
|
+
return PreloadManager.loadFromCache(dataUnit, request);
|
164
|
+
}
|
165
|
+
}
|
166
|
+
//Como não vamos aproveitar o cache, ele precisa ser limpo.
|
167
|
+
PreloadManager.getRepository(dataUnit).clear().catch(() => { });
|
168
|
+
}
|
169
|
+
return loadFromServer(dataUnit, request);
|
170
|
+
}
|
171
|
+
catch (error) {
|
172
|
+
console.error(error);
|
173
|
+
return Promise.reject(error);
|
174
|
+
}
|
175
|
+
}
|
176
|
+
static insertRecords(dataUnit, reference, records) {
|
177
|
+
if (PreloadManager.isCacheEnabled(dataUnit)) {
|
178
|
+
PreloadManager.getRepository(dataUnit).insert(reference, records);
|
179
|
+
}
|
180
|
+
}
|
181
|
+
static updateRecords(dataUnit, records) {
|
182
|
+
if (PreloadManager.isCacheEnabled(dataUnit)) {
|
183
|
+
PreloadManager.getRepository(dataUnit).update(records);
|
184
|
+
}
|
185
|
+
}
|
186
|
+
static removeRecords(dataUnit, records) {
|
187
|
+
if (PreloadManager.isCacheEnabled(dataUnit)) {
|
188
|
+
PreloadManager.getRepository(dataUnit).delete(records);
|
189
|
+
}
|
190
|
+
}
|
191
|
+
static async countRecords(dataUnit) {
|
192
|
+
if (PreloadManager.isCacheEnabled(dataUnit)) {
|
193
|
+
return PreloadManager.getRepository(dataUnit).count();
|
194
|
+
}
|
195
|
+
return Promise.resolve(0);
|
196
|
+
}
|
197
|
+
static getRepository(dataUnit) {
|
198
|
+
const name = dataUnit.name;
|
199
|
+
if (!PreloadManager._repositories.has(name)) {
|
200
|
+
PreloadManager._repositories.set(name, new ArrayRepository((recordA, recordB) => recordA.__record__id__ === recordB.__record__id__));
|
201
|
+
}
|
202
|
+
return PreloadManager._repositories.get(name);
|
203
|
+
}
|
204
|
+
static async loadFromCache(dataUnit, request) {
|
205
|
+
return new Promise((accept, reject) => {
|
206
|
+
const columnFilters = utils.ColumnFilterManager.getColumnFilters(request.filters, "");
|
207
|
+
const { limit, offset, sort } = request;
|
208
|
+
PreloadManager.getRepository(dataUnit)
|
209
|
+
.load(utils.ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values())), PreloadManager.getSortingFunction(dataUnit, sort), offset, limit)
|
210
|
+
.then(loadResult => {
|
211
|
+
const stillLoading = PreloadManager._loadingStatus.get(dataUnit.name);
|
212
|
+
const { count, result: records } = loadResult;
|
213
|
+
const firstRecord = count == 0 ? 0 : offset + 1;
|
214
|
+
const lastRecord = offset + Math.min(records.length, limit);
|
215
|
+
const currentPage = offset / limit;
|
216
|
+
const paginationInfo = {
|
217
|
+
count, currentPage, firstRecord, lastRecord,
|
218
|
+
hasMore: stillLoading || (lastRecord < count),
|
219
|
+
total: stillLoading ? undefined : count
|
220
|
+
};
|
221
|
+
accept({ records, paginationInfo });
|
222
|
+
})
|
223
|
+
.catch(reason => reject(reason));
|
224
|
+
});
|
225
|
+
}
|
226
|
+
static getCachedRecords(dataUnit) {
|
227
|
+
return PreloadManager.getRepository(dataUnit).getFromCache();
|
228
|
+
}
|
229
|
+
}
|
230
|
+
PreloadManager._repositories = new Map();
|
231
|
+
PreloadManager._loadingStatus = new Map();
|
232
|
+
|
233
|
+
function applyFilter(records, dataUnit, filters) {
|
234
|
+
const columnFilters = utils.ColumnFilterManager.getColumnFilters(filters, "");
|
235
|
+
if (!(columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.size)) {
|
236
|
+
return records;
|
237
|
+
}
|
238
|
+
const filterFunction = utils.ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
|
239
|
+
if (filterFunction == undefined) {
|
240
|
+
return records;
|
241
|
+
}
|
242
|
+
return records.filter(filterFunction);
|
243
|
+
}
|
244
|
+
function applySorting(records, dataUnit, sorting) {
|
245
|
+
if (sorting == undefined || sorting.length == 0) {
|
246
|
+
return records;
|
247
|
+
}
|
248
|
+
const sortingFunction = PreloadManager.getSortingFunction(dataUnit, sorting);
|
249
|
+
if (sortingFunction == undefined) {
|
250
|
+
return records;
|
251
|
+
}
|
252
|
+
return records.sort(sortingFunction);
|
253
|
+
}
|
254
|
+
function buildPaginationInfo(records, offset = 0, limit = 0) {
|
255
|
+
const lastRecord = Math.min(offset + limit, records === null || records === void 0 ? void 0 : records.length);
|
256
|
+
return {
|
257
|
+
currentPage: limit === 0 ? 0 : Math.ceil(offset / limit),
|
258
|
+
firstRecord: offset,
|
259
|
+
lastRecord: lastRecord,
|
260
|
+
total: records === null || records === void 0 ? void 0 : records.length,
|
261
|
+
hasMore: !!((records === null || records === void 0 ? void 0 : records.length) - lastRecord),
|
262
|
+
};
|
263
|
+
}
|
10
264
|
|
11
265
|
class InMemoryLoader {
|
12
266
|
constructor(metadata, records) {
|
@@ -23,6 +277,10 @@ class InMemoryLoader {
|
|
23
277
|
if (this._initialRecords == undefined && this.dataUnit.records.length > 0) {
|
24
278
|
this._initialRecords = this.dataUnit.records;
|
25
279
|
}
|
280
|
+
const addedRecords = this.dataUnit.getAddedRecords();
|
281
|
+
if (addedRecords) {
|
282
|
+
return [...this._initialRecords, ...addedRecords];
|
283
|
+
}
|
26
284
|
return this._initialRecords;
|
27
285
|
}
|
28
286
|
get dataUnit() {
|
@@ -65,7 +323,7 @@ class InMemoryLoader {
|
|
65
323
|
this._initialRecords = newRecords;
|
66
324
|
if (this._dataUnit) {
|
67
325
|
//Isso força o refresh internamente no datunit
|
68
|
-
this._dataUnit.
|
326
|
+
this._dataUnit.loadData();
|
69
327
|
}
|
70
328
|
}
|
71
329
|
get metadata() {
|
@@ -81,30 +339,9 @@ class InMemoryLoader {
|
|
81
339
|
return core.StringUtils.generateUUID();
|
82
340
|
}
|
83
341
|
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);
|
342
|
+
let records = applyFilter(recordsIn, dataUnit, request.filters);
|
343
|
+
records = applySorting(records, dataUnit, request.sort);
|
344
|
+
return Promise.resolve({ records, paginationInfo: buildPaginationInfo(records, request.offset, request.limit) });
|
108
345
|
}
|
109
346
|
metadaLoader() {
|
110
347
|
return Promise.resolve(this._metadata);
|
@@ -137,50 +374,45 @@ class InMemoryLoader {
|
|
137
374
|
}
|
138
375
|
}
|
139
376
|
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
377
|
|
154
378
|
class DatasetStrategy {
|
155
379
|
canSlice() {
|
156
380
|
return false;
|
157
381
|
}
|
382
|
+
processSortingSide(request, dataUnit, serverSideFilters) {
|
383
|
+
var _a;
|
384
|
+
const localSorting = [];
|
385
|
+
const serverSorting = [];
|
386
|
+
if (request.sort != undefined) {
|
387
|
+
if (serverSideFilters.length === 0) {
|
388
|
+
return { localSorting: request.sort, serverSorting: [] };
|
389
|
+
}
|
390
|
+
for (const sort of request.sort) {
|
391
|
+
const descriptor = dataUnit.getField(sort.field);
|
392
|
+
const local = ((_a = descriptor === null || descriptor === void 0 ? void 0 : descriptor.properties) === null || _a === void 0 ? void 0 : _a.calculated) === "true" || (descriptor === null || descriptor === void 0 ? void 0 : descriptor.userInterface) === core.UserInterface.LONGTEXT;
|
393
|
+
if (local) {
|
394
|
+
localSorting.push(sort);
|
395
|
+
}
|
396
|
+
else {
|
397
|
+
serverSorting.push(sort);
|
398
|
+
}
|
399
|
+
}
|
400
|
+
}
|
401
|
+
return { localSorting, serverSorting };
|
402
|
+
}
|
158
403
|
async load(dataUnit, request, loadingInfo) {
|
404
|
+
var _a, _b;
|
159
405
|
if (dataUnit.metadata == undefined) {
|
160
406
|
return Promise.resolve({ records: [], loadingInfo });
|
161
407
|
}
|
162
408
|
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
|
-
}
|
409
|
+
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 : [];
|
410
|
+
const { localSorting, serverSorting } = this.processSortingSide(request, dataUnit, serverSideFilters);
|
179
411
|
const fields = this.getFieldsList(dataUnit);
|
180
412
|
const serviceName = "DatasetSP.loadRecords";
|
181
|
-
const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting);
|
413
|
+
const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting, serverSideFilters);
|
182
414
|
const params = loadingInfo.quiet ? { urlParams: { quietMode: "true" } } : undefined;
|
183
|
-
const { result: responseRecords, pagerID: pagerId } = await
|
415
|
+
const { result: responseRecords, pagerID: pagerId } = await formConfigFetcher.DataFetcher.get().callServiceBroker(serviceName, requestBody, params);
|
184
416
|
const records = this.processRecords(dataUnit, fields, responseRecords);
|
185
417
|
const loadingInProgress = pagerId != undefined;
|
186
418
|
const count = loadingInfo.count + records.length;
|
@@ -222,7 +454,7 @@ class DatasetStrategy {
|
|
222
454
|
}
|
223
455
|
return [descriptor.name, descriptionField];
|
224
456
|
}
|
225
|
-
buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, sorting) {
|
457
|
+
buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, sorting, serverSideFilters) {
|
226
458
|
const dataSetID = dataUnit.dataUnitId;
|
227
459
|
const dataUnitName = dataUnit.name;
|
228
460
|
const entityName = DataUnitFetcher.parseDataUnitName(dataUnitName).entityName;
|
@@ -241,7 +473,7 @@ class DatasetStrategy {
|
|
241
473
|
tryJoinedFields: true,
|
242
474
|
parallelLoader: useParallelLoader,
|
243
475
|
crudListener: `br.com.sankhya.bff.${this.getModuleName()}.BFFDataUnitDatasetAdapter`,
|
244
|
-
txProperties: this.getTxProperties(
|
476
|
+
txProperties: this.getTxProperties(dataUnit, request, sorting, serverSideFilters),
|
245
477
|
useDefaultRowsLimit: false
|
246
478
|
}
|
247
479
|
};
|
@@ -252,12 +484,10 @@ class DatasetStrategy {
|
|
252
484
|
const moduleName = app.getModuleName();
|
253
485
|
return moduleName.replace("-bff", "");
|
254
486
|
}
|
255
|
-
getTxProperties(
|
256
|
-
var _a, _b;
|
487
|
+
getTxProperties(dataUnit, request, sorting, serverSideFilters) {
|
257
488
|
const txProperties = {
|
258
|
-
"__DATA_UNIT_ADAPTER__[dataUnitName]":
|
489
|
+
"__DATA_UNIT_ADAPTER__[dataUnitName]": dataUnit.name
|
259
490
|
};
|
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
491
|
if (serverSideFilters.length !== 0) {
|
262
492
|
txProperties["__DATA_UNIT_ADAPTER__[criteria]"] = JSON.stringify(serverSideFilters);
|
263
493
|
}
|
@@ -267,6 +497,13 @@ class DatasetStrategy {
|
|
267
497
|
if (request.parentRecordId != undefined) {
|
268
498
|
txProperties["__DATA_UNIT_ADAPTER__[parentRecordId]"] = request.parentRecordId;
|
269
499
|
}
|
500
|
+
const loaderProps = dataUnit.getGlobalLoaderProps();
|
501
|
+
if (loaderProps == undefined || loaderProps.size === 0) {
|
502
|
+
return txProperties;
|
503
|
+
}
|
504
|
+
Array.from(loaderProps.entries()).forEach(([name, value]) => {
|
505
|
+
txProperties[name] = value;
|
506
|
+
});
|
270
507
|
return txProperties;
|
271
508
|
}
|
272
509
|
processRecords(dataUnit, fields, responseRecords) {
|
@@ -330,12 +567,15 @@ class DataUnitDataLoader {
|
|
330
567
|
static async loadData(dataUnit, request) {
|
331
568
|
return new Promise((resolve, reject) => {
|
332
569
|
DataUnitDataLoader.debounce(dataUnit, () => {
|
333
|
-
PreloadManager.
|
570
|
+
PreloadManager.loadData(dataUnit, request, this.loadFromServer)
|
334
571
|
.then(resp => resolve(resp))
|
335
572
|
.catch(reason => reject(reason));
|
336
573
|
});
|
337
574
|
});
|
338
575
|
}
|
576
|
+
static getCachedRecords(dataUnit) {
|
577
|
+
return PreloadManager.getCachedRecords(dataUnit);
|
578
|
+
}
|
339
579
|
static async loadFromServer(dataUnit, request, loadingInfo) {
|
340
580
|
try {
|
341
581
|
//Registramos a request com as informações de carga para determinarmos a última.
|
@@ -367,8 +607,8 @@ class DataUnitDataLoader {
|
|
367
607
|
return Promise.resolve(undefined);
|
368
608
|
}
|
369
609
|
const recreateCache = !dataLoader.canSlice() || responseLoadingInfo.count === 0;
|
370
|
-
PreloadManager.
|
371
|
-
if (PreloadManager.
|
610
|
+
PreloadManager.cacheRecords(dataUnit, records, recreateCache, responseLoadingInfo.loadingInProgress);
|
611
|
+
if (PreloadManager.isCacheEnabled(dataUnit) && responseLoadingInfo.loadingInProgress) {
|
372
612
|
const newRequest = Object.assign(Object.assign({}, request), { offset: responseLoadingInfo.count });
|
373
613
|
const newLoadingInfo = Object.assign(Object.assign({}, responseLoadingInfo), { pageNumber: (responseLoadingInfo.pageNumber || 0) + 1, quiet: true });
|
374
614
|
this.callLoader(dataUnit, newRequest, newLoadingInfo, dataLoader)
|
@@ -378,7 +618,7 @@ class DataUnitDataLoader {
|
|
378
618
|
return Promise.resolve(result);
|
379
619
|
}
|
380
620
|
static afterLoadingPage(dataUnit, loadingInfo) {
|
381
|
-
PreloadManager.
|
621
|
+
PreloadManager.setLoadingStatus(dataUnit, loadingInfo.loadingInProgress);
|
382
622
|
const dataUnitPagination = dataUnit.getPaginationInfo();
|
383
623
|
if (dataUnitPagination == undefined) {
|
384
624
|
return;
|
@@ -450,7 +690,7 @@ class DataUnitFetcher {
|
|
450
690
|
this.buldTemplates();
|
451
691
|
}
|
452
692
|
buldTemplates() {
|
453
|
-
this.templateByQuery.set("fetchDataUnit",
|
693
|
+
this.templateByQuery.set("fetchDataUnit", formConfigFetcher.dist.gql `query($name: String!) {
|
454
694
|
$queryAlias$: fetchDataUnit(name: $name){
|
455
695
|
name
|
456
696
|
fields{
|
@@ -486,7 +726,7 @@ class DataUnitFetcher {
|
|
486
726
|
}
|
487
727
|
}
|
488
728
|
}`);
|
489
|
-
this.templateByQuery.set("saveData",
|
729
|
+
this.templateByQuery.set("saveData", formConfigFetcher.dist.gql `mutation($changes: [InputBatchChange!]!) {
|
490
730
|
$queryAlias$: batchOperationDataUnit(changes: $changes){
|
491
731
|
oldId
|
492
732
|
id
|
@@ -498,7 +738,7 @@ class DataUnitFetcher {
|
|
498
738
|
}
|
499
739
|
}
|
500
740
|
}`);
|
501
|
-
this.templateByQuery.set("fetchDataRecord",
|
741
|
+
this.templateByQuery.set("fetchDataRecord", formConfigFetcher.dist.gql `query($dataunit: String! $recordID: [String!]) {
|
502
742
|
$queryAlias$: fetchDataUnit(name: $dataunit){
|
503
743
|
record(id: $recordID){
|
504
744
|
id
|
@@ -510,7 +750,7 @@ class DataUnitFetcher {
|
|
510
750
|
}
|
511
751
|
}
|
512
752
|
}`);
|
513
|
-
this.templateByQuery.set("fetchDistinctColumn",
|
753
|
+
this.templateByQuery.set("fetchDistinctColumn", formConfigFetcher.dist.gql `query($dataUnit: String!, $fieldName: String!, $argument: String, $filters: [InputFilter], $parentRecordId: String) {
|
514
754
|
$queryAlias$: selectDistinct(dataUnit: $dataUnit, fieldName: $fieldName, argument: $argument, filters: $filters, parentRecordId: $parentRecordId)
|
515
755
|
}`);
|
516
756
|
}
|
@@ -525,9 +765,9 @@ class DataUnitFetcher {
|
|
525
765
|
return { entityName: parts[1], resourceID: parts[2] };
|
526
766
|
}
|
527
767
|
getDataUnit(entityName, resourceID, parentDataUnit, configName) {
|
528
|
-
if (PreloadManager.
|
768
|
+
if (PreloadManager.applicationResourceID == undefined) {
|
529
769
|
//Por falta de um lugar melhor pra iniciar essa variável, fazemos isso aqui.
|
530
|
-
ResourceIDUtils.ResourceIDUtils.getResourceID().then(resourceID => PreloadManager.
|
770
|
+
ResourceIDUtils.ResourceIDUtils.getResourceID().then(resourceID => PreloadManager.applicationResourceID = resourceID);
|
531
771
|
}
|
532
772
|
const duName = `dd://${entityName}/${resourceID}${configName ? "/" + configName : ""}`;
|
533
773
|
const dataUnit = parentDataUnit != undefined ? parentDataUnit.getChildDataunit(duName) : new core.DataUnit(duName);
|
@@ -536,11 +776,12 @@ class DataUnitFetcher {
|
|
536
776
|
dataUnit.saveLoader = (_dataUnit, changes) => this.saveData(dataUnit, changes);
|
537
777
|
dataUnit.removeLoader = (dataUnit, recordIds) => this.removeRecords(dataUnit, recordIds);
|
538
778
|
dataUnit.recordLoader = (dataUnit, recordIds) => this.loadRecord(dataUnit, recordIds);
|
779
|
+
dataUnit.allRecordsLoader = (dataUnit) => DataUnitDataLoader.getCachedRecords(dataUnit);
|
539
780
|
return dataUnit;
|
540
781
|
}
|
541
782
|
loadMetadata(dataUnit) {
|
542
783
|
return new Promise((resolve, reject) => {
|
543
|
-
|
784
|
+
formConfigFetcher.DataFetcher.get()
|
544
785
|
.callGraphQL({
|
545
786
|
values: { name: dataUnit.name },
|
546
787
|
query: this.templateByQuery.get("fetchDataUnit"),
|
@@ -583,7 +824,7 @@ class DataUnitFetcher {
|
|
583
824
|
filters: filteredFilters
|
584
825
|
};
|
585
826
|
return new Promise((resolve, reject) => {
|
586
|
-
|
827
|
+
formConfigFetcher.DataFetcher.get()
|
587
828
|
.callGraphQL({
|
588
829
|
values,
|
589
830
|
query: this.templateByQuery.get("fetchDistinctColumn"),
|
@@ -596,14 +837,41 @@ class DataUnitFetcher {
|
|
596
837
|
});
|
597
838
|
});
|
598
839
|
}
|
840
|
+
addTransientProperties(dataUnit, updatingFields) {
|
841
|
+
const loaderProps = dataUnit.getGlobalLoaderProps();
|
842
|
+
if (loaderProps == undefined || loaderProps.size === 0) {
|
843
|
+
return updatingFields;
|
844
|
+
}
|
845
|
+
if (updatingFields == undefined) {
|
846
|
+
updatingFields = {};
|
847
|
+
}
|
848
|
+
Array.from(loaderProps.entries()).forEach(([name, value]) => {
|
849
|
+
updatingFields[`transient.${name}`] = value;
|
850
|
+
});
|
851
|
+
return updatingFields;
|
852
|
+
}
|
853
|
+
getUpdatingFields(dataUnit, originalUpdatingFields) {
|
854
|
+
if (originalUpdatingFields == undefined) {
|
855
|
+
return;
|
856
|
+
}
|
857
|
+
const updatingFields = Object.assign({}, originalUpdatingFields);
|
858
|
+
Object.keys(updatingFields).forEach(key => {
|
859
|
+
const descriptor = dataUnit.getField(key);
|
860
|
+
if (descriptor != undefined && descriptor.standAlone) {
|
861
|
+
delete updatingFields[key];
|
862
|
+
}
|
863
|
+
});
|
864
|
+
return this.addTransientProperties(dataUnit, updatingFields);
|
865
|
+
}
|
599
866
|
saveData(dataUnit, duChanges) {
|
600
867
|
const updatedRecordsIds = [];
|
601
868
|
const addedRecordsIds = [];
|
602
869
|
const changes = duChanges.map((change) => {
|
603
|
-
const { dataUnit: changeDU, record,
|
870
|
+
const { dataUnit: changeDU, record, operation } = change;
|
604
871
|
const dataUnitInstance = core.DataUnitStorage.get(changeDU);
|
872
|
+
const updatingFields = this.getUpdatingFields(dataUnitInstance, change.updatingFields);
|
605
873
|
let parsedUpdatingFields;
|
606
|
-
if (updatingFields) {
|
874
|
+
if (updatingFields != undefined) {
|
607
875
|
parsedUpdatingFields = Object.entries(updatingFields).map(([fieldName, value]) => {
|
608
876
|
const descriptor = dataUnitInstance.getField(fieldName);
|
609
877
|
const dataType = descriptor ? descriptor.dataType : core.DataType.TEXT;
|
@@ -632,7 +900,7 @@ class DataUnitFetcher {
|
|
632
900
|
var rest = __rest(_a, []);
|
633
901
|
return rest;
|
634
902
|
});
|
635
|
-
|
903
|
+
formConfigFetcher.DataFetcher.get()
|
636
904
|
.callGraphQL({
|
637
905
|
values: { changes: changesFormatted },
|
638
906
|
query: this.templateByQuery.get("saveData"),
|
@@ -651,7 +919,8 @@ class DataUnitFetcher {
|
|
651
919
|
}
|
652
920
|
responseRecord.fields.forEach(({ name, value }) => {
|
653
921
|
var _a;
|
654
|
-
|
922
|
+
const valueFromString = (_a = dataUnitInstance === null || dataUnitInstance === void 0 ? void 0 : dataUnitInstance.valueFromString) === null || _a === void 0 ? void 0 : _a.call(dataUnitInstance, name, value);
|
923
|
+
duRecord[name] = (valueFromString !== undefined) ? valueFromString : value;
|
655
924
|
});
|
656
925
|
dataUnitRecords.push(duRecord);
|
657
926
|
});
|
@@ -672,10 +941,10 @@ class DataUnitFetcher {
|
|
672
941
|
});
|
673
942
|
if (addedRecords.length > 0) {
|
674
943
|
const firstRecord = dataUnit.records[0];
|
675
|
-
PreloadManager.
|
944
|
+
PreloadManager.insertRecords(dataUnit, firstRecord, addedRecords);
|
676
945
|
}
|
677
946
|
const updatedRecords = toUpdate.map(recordId => (Object.assign({}, recordsById.get(recordId))));
|
678
|
-
PreloadManager.
|
947
|
+
PreloadManager.updateRecords(dataUnit, updatedRecords);
|
679
948
|
}
|
680
949
|
getTransientInfo(dataUnit, recordID) {
|
681
950
|
const { records } = dataUnit.getSelectionInfo();
|
@@ -686,13 +955,13 @@ class DataUnitFetcher {
|
|
686
955
|
return { dataUnit: dataUnit.name, operation: core.ChangeOperation.DELETE, recordId, fields: this.getTransientInfo(dataUnit, recordId) };
|
687
956
|
});
|
688
957
|
return new Promise((resolve, reject) => {
|
689
|
-
|
958
|
+
formConfigFetcher.DataFetcher.get()
|
690
959
|
.callGraphQL({
|
691
960
|
values: { changes: changes },
|
692
961
|
query: this.templateByQuery.get("saveData"),
|
693
962
|
})
|
694
963
|
.then((_resp) => {
|
695
|
-
PreloadManager.
|
964
|
+
PreloadManager.removeRecords(dataUnit, dataUnit.records.filter(record => recordIds.includes(record.__record__id__)));
|
696
965
|
resolve(recordIds);
|
697
966
|
})
|
698
967
|
.catch((error) => {
|
@@ -702,7 +971,7 @@ class DataUnitFetcher {
|
|
702
971
|
}
|
703
972
|
loadRecord(dataUnit, recordIds) {
|
704
973
|
return new Promise((resolve, reject) => {
|
705
|
-
|
974
|
+
formConfigFetcher.DataFetcher.get()
|
706
975
|
.callGraphQL({
|
707
976
|
values: { recordID: recordIds, dataunit: dataUnit.name },
|
708
977
|
query: this.templateByQuery.get("fetchDataRecord"),
|
@@ -726,5 +995,170 @@ class DataUnitFetcher {
|
|
726
995
|
}
|
727
996
|
}
|
728
997
|
|
998
|
+
class PesquisaFetcher {
|
999
|
+
constructor() {
|
1000
|
+
this._defaultPageSize = 100;
|
1001
|
+
this._templateByQuery = new Map();
|
1002
|
+
this._searchListenersByDataUnit = new Map();
|
1003
|
+
this.buldTemplates();
|
1004
|
+
}
|
1005
|
+
buldTemplates() {
|
1006
|
+
this._templateByQuery.set("search", formConfigFetcher.dist.gql `query($entityName: String! $argument: String $criteria: InputSearchCriteria $options: InputSearchOptions) {
|
1007
|
+
$queryAlias$: search(entityName: $entityName argument: $argument criteria: $criteria options: $options){
|
1008
|
+
value
|
1009
|
+
label
|
1010
|
+
}
|
1011
|
+
}`);
|
1012
|
+
}
|
1013
|
+
loadSearchOptions(entityName, argument, criteria, options) {
|
1014
|
+
var _a;
|
1015
|
+
const cleanText = (argument === null || argument === void 0 ? void 0 : argument.toString().trim()) || undefined;
|
1016
|
+
argument = isNaN(Number(cleanText)) && cleanText ? `%${cleanText}` : cleanText;
|
1017
|
+
criteria === null || criteria === void 0 ? void 0 : criteria.params.forEach(param => {
|
1018
|
+
if (param.dataType === core.DataType.OBJECT) {
|
1019
|
+
param.value = JSON.stringify(param.value);
|
1020
|
+
}
|
1021
|
+
});
|
1022
|
+
const listenerResult = this.applySearchListener(SearchListenerType.beforeSearch, entityName, argument, criteria, options);
|
1023
|
+
const values = {
|
1024
|
+
argument: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.argument) || argument,
|
1025
|
+
entityName,
|
1026
|
+
criteria: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.criteria) || criteria,
|
1027
|
+
options: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.searchOptions) || options,
|
1028
|
+
};
|
1029
|
+
if (values.options) {
|
1030
|
+
(_a = values.options) === null || _a === void 0 ? true : delete _a.dataUnitId;
|
1031
|
+
}
|
1032
|
+
return new Promise((resolve, reject) => {
|
1033
|
+
formConfigFetcher.DataFetcher.get()
|
1034
|
+
.callGraphQL({
|
1035
|
+
values,
|
1036
|
+
query: this._templateByQuery.get("search"),
|
1037
|
+
})
|
1038
|
+
.then((result) => {
|
1039
|
+
resolve(result);
|
1040
|
+
})
|
1041
|
+
.catch((error) => {
|
1042
|
+
reject(error);
|
1043
|
+
});
|
1044
|
+
});
|
1045
|
+
}
|
1046
|
+
loadAdvancedSearch(entityName, argument, criteria, searchOptions) {
|
1047
|
+
var _a, _b, _c, _d;
|
1048
|
+
const listenerResult = this.applySearchListener(SearchListenerType.beforeSearch, entityName, argument, criteria, searchOptions);
|
1049
|
+
const values = {
|
1050
|
+
argument: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.argument) || argument,
|
1051
|
+
criteria: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.criteria) || criteria,
|
1052
|
+
searchOptions: Object.assign(Object.assign({}, searchOptions), listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.searchOptions),
|
1053
|
+
};
|
1054
|
+
const serviceName = "PesquisaSP.getSuggestion";
|
1055
|
+
const externalCriteria = {
|
1056
|
+
query: {
|
1057
|
+
$: (_a = values.criteria) === null || _a === void 0 ? void 0 : _a.expression
|
1058
|
+
}
|
1059
|
+
};
|
1060
|
+
if (((_c = (_b = values.criteria) === null || _b === void 0 ? void 0 : _b.params) === null || _c === void 0 ? void 0 : _c.length) > 0) {
|
1061
|
+
externalCriteria.params = {
|
1062
|
+
param: values.criteria.params.map(param => {
|
1063
|
+
let value = param.value;
|
1064
|
+
if (typeof value === "string") {
|
1065
|
+
const match = /CTX\{([^}]+)\}/.exec(value);
|
1066
|
+
if (match) {
|
1067
|
+
value = core.ApplicationContext.getContextValue(`__SNK__APPLICATION__FILTER__CONTEXT(${match[1]})__`);
|
1068
|
+
}
|
1069
|
+
}
|
1070
|
+
let type = param.dataType;
|
1071
|
+
if (type === core.DataType.OBJECT) {
|
1072
|
+
value = value.value;
|
1073
|
+
type = "S";
|
1074
|
+
}
|
1075
|
+
else {
|
1076
|
+
type = convertParamType(param.dataType);
|
1077
|
+
}
|
1078
|
+
return { $: value, type };
|
1079
|
+
})
|
1080
|
+
};
|
1081
|
+
}
|
1082
|
+
const options = searchOptions != undefined
|
1083
|
+
? Object.assign(Object.assign({}, values === null || values === void 0 ? void 0 : values.searchOptions), { "pkFieldName": searchOptions.codeFieldName, "label": searchOptions.descriptionFieldName, "fieldName": searchOptions.codeFieldName, "useDescriptionOptions": false, "enableRowsCounter": true }) : undefined;
|
1084
|
+
const reqBody = {
|
1085
|
+
"serviceName": serviceName,
|
1086
|
+
"requestBody": {
|
1087
|
+
"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 }),
|
1088
|
+
"clientEventList": {
|
1089
|
+
"clientEvent": []
|
1090
|
+
}
|
1091
|
+
}
|
1092
|
+
};
|
1093
|
+
return new Promise((resolve, reject) => {
|
1094
|
+
formConfigFetcher.DataFetcher.get()
|
1095
|
+
.callServiceBroker("PesquisaSP.getSuggestion", JSON.stringify(reqBody))
|
1096
|
+
.then(result => resolve(result))
|
1097
|
+
.catch(error => reject(error));
|
1098
|
+
});
|
1099
|
+
}
|
1100
|
+
addSearchListener(entityName, dataUnitID, listener) {
|
1101
|
+
var _a;
|
1102
|
+
const dataUnitSearchListeners = this._searchListenersByDataUnit.get(dataUnitID) || [];
|
1103
|
+
const entityListener = dataUnitSearchListeners.find(currentListener => currentListener.entity === entityName);
|
1104
|
+
if (!entityListener) {
|
1105
|
+
this._searchListenersByDataUnit.set(dataUnitID, [...dataUnitSearchListeners, { entity: entityName, listener }]);
|
1106
|
+
}
|
1107
|
+
else {
|
1108
|
+
for (const type of Object.keys(listener)) {
|
1109
|
+
if (type in entityListener.listener) {
|
1110
|
+
const listenerFunctionIsEquals = ((_a = entityListener.listener[type]) === null || _a === void 0 ? void 0 : _a.toString()) === listener[type].toString();
|
1111
|
+
if (listenerFunctionIsEquals)
|
1112
|
+
continue;
|
1113
|
+
entityListener.listener[type] = listener[type];
|
1114
|
+
}
|
1115
|
+
}
|
1116
|
+
}
|
1117
|
+
return () => {
|
1118
|
+
const newListeners = dataUnitSearchListeners.filter(currentListener => currentListener.entity !== entityName);
|
1119
|
+
if (!newListeners.length) {
|
1120
|
+
this._searchListenersByDataUnit.delete(dataUnitID);
|
1121
|
+
return;
|
1122
|
+
}
|
1123
|
+
this._searchListenersByDataUnit.set(dataUnitID, newListeners);
|
1124
|
+
};
|
1125
|
+
}
|
1126
|
+
applySearchListener(listenerType, entityName, argument, criteria, searchOptions) {
|
1127
|
+
var _a;
|
1128
|
+
const dataUnitId = searchOptions === null || searchOptions === void 0 ? void 0 : searchOptions.dataUnitId;
|
1129
|
+
if (!dataUnitId)
|
1130
|
+
return;
|
1131
|
+
const entityListener = (_a = this._searchListenersByDataUnit.get(dataUnitId)) === null || _a === void 0 ? void 0 : _a.find(({ entity }) => entity === entityName);
|
1132
|
+
if (!entityListener)
|
1133
|
+
return;
|
1134
|
+
const { listener } = entityListener;
|
1135
|
+
if (!(listenerType in listener))
|
1136
|
+
return;
|
1137
|
+
return listener[listenerType]({ argument, criteria, searchOptions });
|
1138
|
+
}
|
1139
|
+
}
|
1140
|
+
function convertParamType(dataType) {
|
1141
|
+
//Alerta: Cuidado pra não contaminar o DataType com a implementação
|
1142
|
+
//atual da pesquisa... em geral, somente inteiros,
|
1143
|
+
//data (com ou sem hora) e string são realmente relevantes
|
1144
|
+
switch (dataType) {
|
1145
|
+
case core.DataType.NUMBER:
|
1146
|
+
return "I";
|
1147
|
+
case core.DataType.DATE:
|
1148
|
+
return "D";
|
1149
|
+
default:
|
1150
|
+
return "S";
|
1151
|
+
}
|
1152
|
+
}
|
1153
|
+
var SearchListenerType;
|
1154
|
+
(function (SearchListenerType) {
|
1155
|
+
SearchListenerType["beforeSearch"] = "beforeSearch";
|
1156
|
+
})(SearchListenerType || (SearchListenerType = {}));
|
1157
|
+
|
729
1158
|
exports.DataUnitFetcher = DataUnitFetcher;
|
730
1159
|
exports.InMemoryLoader = InMemoryLoader;
|
1160
|
+
exports.PesquisaFetcher = PesquisaFetcher;
|
1161
|
+
exports.PreloadManager = PreloadManager;
|
1162
|
+
exports.applyFilter = applyFilter;
|
1163
|
+
exports.applySorting = applySorting;
|
1164
|
+
exports.buildPaginationInfo = buildPaginationInfo;
|