@sankhyalabs/sankhyablocks 8.16.0-dev.8 → 8.16.0-dev.80
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-a343e418.js → ConfigStorage-d024aec8.js} +2 -2
- package/dist/cjs/{IExporterProvider-597949f9.js → ContinuousInsertUtils-c27b439e.js} +66 -23
- package/dist/cjs/{DataFetcher-313debd8.js → DataFetcher-65879b2c.js} +216 -76
- package/dist/cjs/{RecordIDUtils-3735135c.js → GetSelectedRecordsIDsInfo-bd50caf1.js} +10 -10
- package/dist/cjs/{SnkFormConfigManager-166cbd1f.js → SnkFormConfigManager-c11d8468.js} +75 -17
- package/dist/cjs/{SnkMessageBuilder-722b104e.js → SnkMessageBuilder-bae64d0d.js} +7 -3
- package/dist/cjs/{auth-fetcher-54f5ff9d.js → auth-fetcher-8480751c.js} +1 -1
- package/dist/cjs/{constants-35ddd366.js → constants-241934b3.js} +9 -0
- package/dist/cjs/{dataunit-fetcher-688d3f05.js → dataunit-fetcher-8291ac21.js} +239 -43
- package/dist/cjs/{field-search-f56aa7d6.js → field-search-68e34bf4.js} +5 -1
- package/dist/cjs/{form-config-fetcher-2dd00e5b.js → form-config-fetcher-90126e4c.js} +42 -2
- package/dist/cjs/index-f9e81701.js +16 -32
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/pesquisa-fetcher-5c583c93.js +365 -0
- package/dist/cjs/pesquisa-grid_2.cjs.entry.js +156 -0
- package/dist/cjs/sankhyablocks.cjs.js +1 -1
- package/dist/cjs/{snk-actions-button_4.cjs.entry.js → snk-actions-button_5.cjs.entry.js} +138 -42
- package/dist/cjs/snk-application.cjs.entry.js +293 -69
- package/dist/cjs/snk-attach.cjs.entry.js +47 -34
- package/dist/cjs/{snk-form-config.cjs.entry.js → snk-config-options_3.cjs.entry.js} +399 -13
- package/dist/cjs/snk-configurator.cjs.entry.js +2 -2
- package/dist/cjs/snk-crud.cjs.entry.js +23 -9
- package/dist/cjs/snk-data-exporter.cjs.entry.js +35 -23
- package/dist/cjs/{snk-data-unit-04df81bf.js → snk-data-unit-d75e6220.js} +54 -32
- package/dist/cjs/snk-data-unit.cjs.entry.js +5 -5
- package/dist/cjs/snk-detail-view.cjs.entry.js +13 -13
- package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +1 -1
- package/dist/cjs/snk-field-config.cjs.entry.js +1 -1
- package/dist/cjs/snk-filter-bar_4.cjs.entry.js +1436 -0
- package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
- package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +1 -1
- package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
- package/dist/cjs/snk-filter-text.cjs.entry.js +2 -1
- package/dist/cjs/snk-grid.cjs.entry.js +89 -24
- package/dist/cjs/{snk-guides-viewer-bdc41281.js → snk-guides-viewer-bff0d27d.js} +30 -14
- package/dist/cjs/snk-guides-viewer.cjs.entry.js +9 -9
- package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +4 -4
- package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
- package/dist/cjs/snk-pesquisa.cjs.entry.js +111 -31
- package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
- package/dist/cjs/snk-simple-bar.cjs.entry.js +1 -1
- package/dist/cjs/snk-simple-crud.cjs.entry.js +102 -45
- package/dist/cjs/snk-tab-config.cjs.entry.js +1 -1
- package/dist/cjs/snk-taskbar.cjs.entry.js +70 -38
- package/dist/collection/collection-manifest.json +14 -31
- package/dist/collection/components/snk-actions-button/actions/index.js +16 -13
- package/dist/collection/components/snk-actions-button/interfaces/index.js +1 -0
- package/dist/collection/components/snk-actions-button/snk-actions-button.js +27 -26
- package/dist/collection/components/snk-application/request-listener/DebouncedRequestListener.js +29 -0
- package/dist/collection/components/snk-application/request-listener/RequestListenerFactory.js +16 -0
- package/dist/collection/components/snk-application/request-listener/RequestListenerLoadingBar.js +52 -0
- package/dist/collection/components/snk-application/snk-application.css +36 -0
- package/dist/collection/components/snk-application/snk-application.js +315 -64
- package/dist/collection/components/snk-attach/snk-attach.js +25 -16
- package/dist/collection/components/snk-attach/structure/builder/taskbar-builder.js +8 -4
- package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +2 -4
- package/dist/collection/components/snk-configurator/snk-configurator.css +1 -1
- package/dist/collection/components/snk-crud/snk-crud.js +122 -3
- package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +3 -3
- package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +6 -6
- package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +72 -6
- package/dist/collection/components/snk-data-exporter/exporter-email-sender/options-step.js +1 -1
- package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +13 -7
- package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +9 -2
- package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +1 -1
- package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +1 -1
- package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +1 -1
- package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +3 -5
- package/dist/collection/components/snk-data-exporter/structure/ItemBuilder.js +2 -2
- package/dist/collection/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.js +4 -4
- package/dist/collection/components/snk-data-exporter/utils/ParserExport.js +1 -1
- package/dist/collection/components/snk-data-unit/snk-data-unit.js +52 -30
- package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.js +1 -1
- package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.js +1 -1
- package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-text.js +2 -1
- package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.css +13 -0
- package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js +3 -3
- package/dist/collection/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.js +8 -0
- package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +5 -1
- package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +1 -1
- package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +3 -1
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +1 -1
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +118 -28
- package/dist/collection/components/snk-form/snk-form.js +2 -2
- package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +73 -15
- package/dist/collection/components/snk-form-config/snk-form-config.css +8 -3
- package/dist/collection/components/snk-form-config/snk-form-config.js +49 -8
- package/dist/collection/components/snk-grid/snk-grid.css +2 -0
- package/dist/collection/components/snk-grid/snk-grid.js +170 -11
- package/dist/collection/components/snk-grid-config/snk-grid-config.css +1 -1
- package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.css +9 -0
- package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.js +226 -0
- package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.css +28 -0
- package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.js +208 -0
- package/dist/collection/components/snk-pesquisa/pesquisaHelper.js +99 -0
- package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +35 -6
- package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +174 -32
- package/dist/collection/components/snk-print-selector/snk-print-selector.js +1 -1
- package/dist/collection/components/snk-simple-bar/snk-simple-bar.js +1 -1
- package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +1 -1
- package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +164 -35
- package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.css +22 -0
- package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.js +181 -0
- package/dist/collection/components/snk-taskbar/processor/taskbar-processor.js +5 -1
- package/dist/collection/components/snk-taskbar/snk-taskbar.js +112 -38
- package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +3 -3
- package/dist/collection/lib/dataUnit/InMemoryLoader.js +2 -4
- package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +34 -9
- package/dist/collection/lib/http/data-fetcher/DataFetcher.js +29 -21
- package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.js +7 -5
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +59 -14
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +21 -7
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.js +108 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +17 -9
- package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +45 -5
- package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +7 -1
- package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +107 -7
- package/dist/collection/lib/index.js +1 -0
- package/dist/collection/lib/message/resources/snk-data-unit.msg.js +1 -1
- package/dist/collection/lib/message/resources/snk-exporter.msg.js +1 -1
- package/dist/collection/lib/message/resources/snk-grid.msg.js +5 -1
- package/dist/collection/lib/utils/ContinuousInsertUtils.js +31 -0
- package/dist/collection/lib/utils/CrudUtils.js +25 -16
- package/dist/collection/{components/snk-data-exporter/utils/RecordIDUtils.js → lib/utils/GetSelectedRecordsIDsInfo.js} +9 -9
- package/dist/collection/lib/utils/constants.js +9 -0
- package/dist/collection/sw.js +46 -0
- package/dist/components/{IExporterProvider.js → ContinuousInsertUtils.js} +67 -23
- package/dist/components/DataFetcher.js +217 -77
- package/dist/{esm/RecordIDUtils-87d02110.js → components/GetSelectedRecordsIDsInfo.js} +10 -10
- package/dist/components/ISave.js +362 -1
- package/dist/components/SnkFormConfigManager.js +73 -15
- package/dist/components/SnkMessageBuilder.js +7 -3
- package/dist/components/constants.js +10 -1
- package/dist/components/dataunit-fetcher.js +238 -40
- package/dist/components/form-config-fetcher.js +41 -1
- package/dist/components/index.d.ts +3 -0
- package/dist/components/index.js +3 -0
- package/dist/components/pesquisa-grid.d.ts +11 -0
- package/dist/components/pesquisa-grid.js +6 -0
- package/dist/components/pesquisa-grid2.js +102 -0
- package/dist/components/pesquisa-tree.d.ts +11 -0
- package/dist/components/pesquisa-tree.js +6 -0
- package/dist/components/pesquisa-tree2.js +91 -0
- package/dist/components/snk-actions-button2.js +44 -40
- package/dist/components/snk-application2.js +312 -68
- package/dist/components/snk-attach2.js +54 -60
- package/dist/components/snk-config-options2.js +1 -1
- package/dist/components/snk-configurator2.js +1 -1
- package/dist/components/snk-crud.js +83 -59
- package/dist/components/snk-data-exporter2.js +28 -17
- package/dist/components/snk-data-unit2.js +55 -70
- package/dist/components/snk-detail-view2.js +115 -106
- package/dist/components/snk-exporter-email-sender2.js +1 -1
- package/dist/components/snk-filter-bar2.js +64 -30
- package/dist/components/snk-filter-binary-select.js +1 -1
- package/dist/components/snk-filter-checkbox-list.js +1 -1
- package/dist/components/snk-filter-item2.js +5 -1
- package/dist/components/snk-filter-modal.js +4 -2
- package/dist/components/snk-filter-text.js +2 -1
- package/dist/components/snk-form-config2.js +35 -10
- package/dist/components/snk-form.js +2 -2
- package/dist/components/snk-grid-config2.js +1 -1
- package/dist/components/snk-grid2.js +86 -16
- package/dist/components/snk-personalized-filter-editor.js +4 -4
- package/dist/components/snk-pesquisa2.js +125 -33
- package/dist/components/snk-print-selector.js +1 -1
- package/dist/components/snk-simple-bar2.js +1 -1
- package/dist/components/snk-simple-crud2.js +108 -65
- package/dist/components/snk-simple-form-config.d.ts +11 -0
- package/dist/components/snk-simple-form-config.js +6 -0
- package/dist/components/snk-simple-form-config2.js +121 -0
- package/dist/components/snk-tab-config2.js +1 -1
- package/dist/components/snk-taskbar2.js +72 -40
- package/dist/components/teste-pesquisa.js +13 -1
- package/dist/esm/{ConfigStorage-3806514e.js → ConfigStorage-373bb440.js} +2 -2
- package/dist/esm/{IExporterProvider-63a188b6.js → ContinuousInsertUtils-6bf78c5e.js} +67 -25
- package/dist/esm/{DataFetcher-c1baf61d.js → DataFetcher-5221b992.js} +217 -77
- package/dist/esm/GetSelectedRecordsIDsInfo-9fa41508.js +41 -0
- package/dist/esm/{SnkFormConfigManager-31b24066.js → SnkFormConfigManager-5022f87f.js} +75 -17
- package/dist/esm/{SnkMessageBuilder-89925609.js → SnkMessageBuilder-6fff4a4c.js} +7 -3
- package/dist/esm/{auth-fetcher-039abba3.js → auth-fetcher-e32fe8a4.js} +1 -1
- package/dist/esm/{constants-8457af36.js → constants-75abb876.js} +10 -1
- package/dist/esm/{dataunit-fetcher-264191b2.js → dataunit-fetcher-5247a708.js} +239 -41
- package/dist/esm/{field-search-efbe307f.js → field-search-f8b1d91e.js} +5 -1
- package/dist/esm/{form-config-fetcher-30fb808f.js → form-config-fetcher-126e2471.js} +42 -2
- package/dist/esm/index-a7d3d3f1.js +16 -32
- package/dist/esm/loader.js +1 -1
- package/dist/esm/pesquisa-fetcher-4284f2a3.js +362 -0
- package/dist/esm/pesquisa-grid_2.entry.js +151 -0
- package/dist/esm/sankhyablocks.js +1 -1
- package/dist/esm/{snk-actions-button_4.entry.js → snk-actions-button_5.entry.js} +139 -44
- package/dist/esm/snk-application.entry.js +295 -71
- package/dist/esm/snk-attach.entry.js +47 -34
- package/dist/esm/{snk-form-config.entry.js → snk-config-options_3.entry.js} +399 -15
- package/dist/esm/snk-configurator.entry.js +2 -2
- package/dist/esm/snk-crud.entry.js +23 -9
- package/dist/esm/snk-data-exporter.entry.js +35 -23
- package/dist/esm/{snk-data-unit-8eec78bd.js → snk-data-unit-bfd10c71.js} +54 -32
- package/dist/esm/snk-data-unit.entry.js +5 -5
- package/dist/esm/snk-detail-view.entry.js +13 -13
- package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
- package/dist/esm/snk-field-config.entry.js +1 -1
- package/dist/esm/snk-filter-bar_4.entry.js +1429 -0
- package/dist/esm/snk-filter-binary-select.entry.js +1 -1
- package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
- package/dist/esm/snk-filter-modal-item.entry.js +3 -3
- package/dist/esm/snk-filter-text.entry.js +2 -1
- package/dist/esm/snk-grid.entry.js +84 -19
- package/dist/esm/{snk-guides-viewer-dda0fede.js → snk-guides-viewer-454ebc07.js} +30 -14
- package/dist/esm/snk-guides-viewer.entry.js +9 -9
- package/dist/esm/snk-personalized-filter-editor.entry.js +4 -4
- package/dist/esm/snk-personalized-filter.entry.js +3 -3
- package/dist/esm/snk-pesquisa.entry.js +111 -31
- package/dist/esm/snk-print-selector.entry.js +1 -1
- package/dist/esm/snk-simple-bar.entry.js +1 -1
- package/dist/esm/snk-simple-crud.entry.js +99 -42
- package/dist/esm/snk-tab-config.entry.js +1 -1
- package/dist/esm/snk-taskbar.entry.js +71 -39
- package/dist/sankhyablocks/p-03e6825e.js +1 -0
- package/dist/sankhyablocks/p-1435701f.js +26 -0
- package/dist/sankhyablocks/p-16a1dd18.entry.js +1 -0
- package/dist/sankhyablocks/p-17425c72.js +1 -0
- package/dist/sankhyablocks/{p-52920496.js → p-19dc71e9.js} +1 -1
- package/dist/sankhyablocks/{p-47db7e88.entry.js → p-1cf39cfd.entry.js} +1 -1
- package/dist/sankhyablocks/{p-b0ef4383.js → p-1d19a5b0.js} +1 -1
- package/dist/sankhyablocks/p-23736d75.js +1 -0
- package/dist/sankhyablocks/{p-8eb67fa4.entry.js → p-23cd6abf.entry.js} +1 -1
- package/dist/sankhyablocks/p-28ca3908.entry.js +1 -0
- package/dist/sankhyablocks/{p-95df461f.entry.js → p-2953c481.entry.js} +1 -1
- package/dist/sankhyablocks/p-38179225.js +60 -0
- package/dist/sankhyablocks/p-3ba431c9.js +1 -0
- package/dist/sankhyablocks/p-41c3bee5.js +6 -0
- package/dist/sankhyablocks/{p-72fc257b.entry.js → p-434817f0.entry.js} +1 -1
- package/dist/sankhyablocks/p-47178038.entry.js +1 -0
- package/dist/sankhyablocks/p-478ab2b6.js +1 -0
- package/dist/sankhyablocks/{p-7663f597.entry.js → p-4c9adf1c.entry.js} +1 -1
- package/dist/sankhyablocks/p-50bf8dbc.entry.js +1 -0
- package/dist/sankhyablocks/{p-aaa3ee68.entry.js → p-5f157b09.entry.js} +1 -1
- package/dist/sankhyablocks/p-643b2aaa.entry.js +1 -0
- package/dist/sankhyablocks/p-655bdd60.js +1 -0
- package/dist/sankhyablocks/p-6fc8bfa2.entry.js +1 -0
- package/dist/sankhyablocks/p-73b037a8.entry.js +1 -0
- package/dist/sankhyablocks/p-7dd49d15.js +1 -0
- package/dist/sankhyablocks/{p-2c68b3ae.entry.js → p-82ee6dc3.entry.js} +1 -1
- package/dist/sankhyablocks/p-89c92727.entry.js +1 -0
- package/dist/sankhyablocks/p-8ad7c8bc.entry.js +1 -0
- package/dist/sankhyablocks/{p-41f8bfa3.entry.js → p-8c235d4c.entry.js} +1 -1
- package/dist/sankhyablocks/p-91e34755.entry.js +1 -0
- package/dist/sankhyablocks/p-9a99c67b.entry.js +1 -0
- package/dist/sankhyablocks/p-a04f38aa.entry.js +1 -0
- package/dist/sankhyablocks/p-ae26e8d0.entry.js +1 -0
- package/dist/sankhyablocks/p-bd234604.entry.js +1 -0
- package/dist/sankhyablocks/p-c021a3a9.entry.js +1 -0
- package/dist/sankhyablocks/p-c2e468c9.entry.js +1 -0
- package/dist/sankhyablocks/p-d62228fb.js +1 -0
- package/dist/sankhyablocks/p-d9bb48c4.entry.js +11 -0
- package/dist/sankhyablocks/p-edbe8e15.entry.js +1 -0
- package/dist/sankhyablocks/{p-913a9979.js → p-f0b9303b.js} +1 -1
- package/dist/sankhyablocks/p-f8db6795.entry.js +1 -0
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-actions-button/actions/index.d.ts +1 -0
- package/dist/types/components/snk-actions-button/interfaces/index.d.ts +3 -0
- package/dist/types/components/snk-actions-button/snk-actions-button.d.ts +3 -2
- package/dist/types/components/snk-application/request-listener/DebouncedRequestListener.d.ts +11 -0
- package/dist/types/components/snk-application/request-listener/RequestListenerFactory.d.ts +12 -0
- package/dist/types/components/snk-application/request-listener/RequestListenerLoadingBar.d.ts +13 -0
- package/dist/types/components/snk-application/snk-application.d.ts +38 -14
- package/dist/types/components/snk-attach/snk-attach.d.ts +1 -0
- package/dist/types/components/snk-crud/snk-crud.d.ts +21 -0
- package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +15 -0
- package/dist/types/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.d.ts +1 -0
- package/dist/types/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.d.ts +1 -0
- package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +3 -3
- package/dist/types/components/snk-data-exporter/utils/ParserExport.d.ts +1 -1
- package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +2 -0
- package/dist/types/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.d.ts +7 -0
- package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +2 -0
- package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +15 -1
- package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +7 -2
- package/dist/types/components/snk-form-config/snk-form-config.d.ts +4 -0
- package/dist/types/components/snk-grid/snk-grid.d.ts +28 -0
- package/dist/types/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.d.ts +44 -0
- package/dist/types/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.d.ts +33 -0
- package/dist/types/components/snk-pesquisa/pesquisaHelper.d.ts +24 -0
- package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +35 -1
- package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +27 -3
- package/dist/types/components/snk-simple-form-config/snk-simple-form-config.d.ts +34 -0
- package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +1 -0
- package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +11 -0
- package/dist/types/components.d.ts +388 -14
- package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +12 -2
- package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -0
- package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.d.ts +3 -2
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.d.ts +9 -1
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +4 -0
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.d.ts +6 -0
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadingInfo.d.ts +4 -0
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +3 -3
- package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +1 -1
- package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +8 -2
- package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
- package/dist/types/lib/http/data-fetcher/fetchers/pesquisa-fetcher.d.ts +17 -1
- package/dist/types/lib/index.d.ts +1 -0
- package/dist/types/lib/utils/ContinuousInsertUtils.d.ts +10 -0
- package/dist/types/lib/utils/CrudUtils.d.ts +1 -0
- package/dist/types/lib/utils/GetSelectedRecordsIDsInfo.d.ts +3 -0
- package/dist/types/lib/utils/constants.d.ts +7 -0
- package/package.json +4 -3
- package/react/components.d.ts +3 -0
- package/react/components.js +3 -0
- package/react/components.js.map +1 -1
- package/dist/cjs/pesquisa-fetcher-680e198f.js +0 -166
- package/dist/cjs/snk-config-options.cjs.entry.js +0 -239
- package/dist/cjs/snk-filter-bar.cjs.entry.js +0 -714
- package/dist/cjs/snk-filter-item.cjs.entry.js +0 -312
- package/dist/cjs/snk-filter-list.cjs.entry.js +0 -152
- package/dist/cjs/snk-filter-modal.cjs.entry.js +0 -249
- package/dist/cjs/snk-form.cjs.entry.js +0 -143
- package/dist/components/pesquisa-fetcher.js +0 -164
- package/dist/esm/pesquisa-fetcher-03c8f919.js +0 -164
- package/dist/esm/snk-config-options.entry.js +0 -235
- package/dist/esm/snk-filter-bar.entry.js +0 -710
- package/dist/esm/snk-filter-item.entry.js +0 -308
- package/dist/esm/snk-filter-list.entry.js +0 -148
- package/dist/esm/snk-filter-modal.entry.js +0 -245
- package/dist/esm/snk-form.entry.js +0 -139
- package/dist/sankhyablocks/p-045eae4d.entry.js +0 -11
- package/dist/sankhyablocks/p-219f888d.entry.js +0 -1
- package/dist/sankhyablocks/p-2a408684.js +0 -1
- package/dist/sankhyablocks/p-3a212712.js +0 -1
- package/dist/sankhyablocks/p-3b60db06.entry.js +0 -1
- package/dist/sankhyablocks/p-450c60e4.entry.js +0 -1
- package/dist/sankhyablocks/p-4e5e1313.entry.js +0 -1
- package/dist/sankhyablocks/p-547eeac8.entry.js +0 -1
- package/dist/sankhyablocks/p-62ba211a.entry.js +0 -1
- package/dist/sankhyablocks/p-70a4af56.entry.js +0 -1
- package/dist/sankhyablocks/p-7505da04.entry.js +0 -1
- package/dist/sankhyablocks/p-75e674ed.entry.js +0 -1
- package/dist/sankhyablocks/p-7a337364.js +0 -1
- package/dist/sankhyablocks/p-7a85fd49.entry.js +0 -1
- package/dist/sankhyablocks/p-7b08d0f8.entry.js +0 -1
- package/dist/sankhyablocks/p-80042dc6.entry.js +0 -1
- package/dist/sankhyablocks/p-88aa931b.entry.js +0 -1
- package/dist/sankhyablocks/p-96a89d58.entry.js +0 -1
- package/dist/sankhyablocks/p-9863d682.js +0 -1
- package/dist/sankhyablocks/p-af8efd95.js +0 -6
- package/dist/sankhyablocks/p-b05d8893.entry.js +0 -1
- package/dist/sankhyablocks/p-b11aa1e0.entry.js +0 -1
- package/dist/sankhyablocks/p-c1d57831.entry.js +0 -1
- package/dist/sankhyablocks/p-c2495304.js +0 -1
- package/dist/sankhyablocks/p-d1791da2.entry.js +0 -1
- package/dist/sankhyablocks/p-d3f53df2.entry.js +0 -1
- package/dist/sankhyablocks/p-d6e26ea8.entry.js +0 -1
- package/dist/sankhyablocks/p-dc7c9047.js +0 -1
- package/dist/sankhyablocks/p-df5451c7.js +0 -26
- package/dist/sankhyablocks/p-e549f7d1.js +0 -1
- package/dist/sankhyablocks/p-e8763234.entry.js +0 -1
- package/dist/sankhyablocks/p-f2809746.entry.js +0 -1
- package/dist/sankhyablocks/p-fa4d8cb4.js +0 -1
- package/dist/sankhyablocks/p-fe79f83a.js +0 -60
- package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +0 -3
|
@@ -9,6 +9,9 @@ import { R as ResourceIDUtils } from './ResourceIDUtils.js';
|
|
|
9
9
|
class ArrayRepository {
|
|
10
10
|
constructor(equalsFunction) {
|
|
11
11
|
this._list = [];
|
|
12
|
+
this._listCopy = [];
|
|
13
|
+
this._listLastUpdate = 0;
|
|
14
|
+
this._listCopyLastUpdate = 0;
|
|
12
15
|
this._equalsFunction = equalsFunction;
|
|
13
16
|
}
|
|
14
17
|
async load(filterFunction, sortingFunction, offset, limit) {
|
|
@@ -47,13 +50,13 @@ class ArrayRepository {
|
|
|
47
50
|
return Promise.resolve(new Map(processedItems.map(item => [item.key, item.value])));
|
|
48
51
|
}
|
|
49
52
|
async push(items) {
|
|
50
|
-
this.
|
|
53
|
+
this.updateList([...this._list, ...items]);
|
|
51
54
|
}
|
|
52
55
|
async clear() {
|
|
53
|
-
this.
|
|
56
|
+
this.updateList([]);
|
|
54
57
|
}
|
|
55
58
|
async delete(items) {
|
|
56
|
-
|
|
59
|
+
const list = this._list.filter(item => {
|
|
57
60
|
for (const removed of items) {
|
|
58
61
|
if (this._equalsFunction(item, removed)) {
|
|
59
62
|
return false;
|
|
@@ -61,20 +64,23 @@ class ArrayRepository {
|
|
|
61
64
|
}
|
|
62
65
|
return true;
|
|
63
66
|
});
|
|
67
|
+
this.updateList(list);
|
|
64
68
|
}
|
|
65
69
|
async update(items) {
|
|
66
|
-
|
|
70
|
+
const list = this._list.map(existingItem => {
|
|
67
71
|
const newItem = items.find(newItem => this._equalsFunction(existingItem, newItem));
|
|
68
72
|
return newItem == undefined ? existingItem : newItem;
|
|
69
73
|
});
|
|
74
|
+
this.updateList(list);
|
|
70
75
|
}
|
|
71
76
|
async insert(itemReference, items) {
|
|
72
77
|
const itemPosition = this._list.indexOf(itemReference);
|
|
73
78
|
if (itemPosition == -1) {
|
|
74
|
-
this.
|
|
79
|
+
this.push(items);
|
|
75
80
|
return;
|
|
76
81
|
}
|
|
77
|
-
|
|
82
|
+
const list = this._list.slice(0, itemPosition).concat(items).concat(this._list.slice(itemPosition));
|
|
83
|
+
this.updateList(list);
|
|
78
84
|
}
|
|
79
85
|
isOperating() {
|
|
80
86
|
return true;
|
|
@@ -86,7 +92,15 @@ class ArrayRepository {
|
|
|
86
92
|
return Promise.resolve(this._list.length);
|
|
87
93
|
}
|
|
88
94
|
getFromCache() {
|
|
89
|
-
|
|
95
|
+
if (this._listLastUpdate > this._listCopyLastUpdate) {
|
|
96
|
+
this._listCopyLastUpdate = this._listLastUpdate;
|
|
97
|
+
this._listCopy = ObjectUtils.copy(this._list);
|
|
98
|
+
}
|
|
99
|
+
return this._listCopy;
|
|
100
|
+
}
|
|
101
|
+
updateList(newList) {
|
|
102
|
+
this._list = newList;
|
|
103
|
+
this._listLastUpdate = Date.now();
|
|
90
104
|
}
|
|
91
105
|
}
|
|
92
106
|
|
|
@@ -235,6 +249,21 @@ function applyFilter(records, dataUnit, filters) {
|
|
|
235
249
|
}
|
|
236
250
|
return records.filter(filterFunction);
|
|
237
251
|
}
|
|
252
|
+
function buildLoadDataResponse(recordsIn, dataUnit, request) {
|
|
253
|
+
let records = recordsIn ? [...recordsIn] : [];
|
|
254
|
+
records = applyFilter(records, dataUnit, request.filters);
|
|
255
|
+
records = applySorting(records, dataUnit, request.sort);
|
|
256
|
+
const { offset, limit } = request;
|
|
257
|
+
const paginationInfoBuilderParams = {
|
|
258
|
+
recordsLength: records.length,
|
|
259
|
+
offset,
|
|
260
|
+
recordsPerPage: limit,
|
|
261
|
+
};
|
|
262
|
+
return Promise.resolve({
|
|
263
|
+
records: getPagesByRecords(records, offset, limit),
|
|
264
|
+
paginationInfo: dataUnit.pageSize ? buildPaginationInfo(paginationInfoBuilderParams) : undefined,
|
|
265
|
+
});
|
|
266
|
+
}
|
|
238
267
|
function applySorting(records, dataUnit, sorting) {
|
|
239
268
|
if (sorting == undefined || sorting.length == 0) {
|
|
240
269
|
return records;
|
|
@@ -245,18 +274,28 @@ function applySorting(records, dataUnit, sorting) {
|
|
|
245
274
|
}
|
|
246
275
|
return records.sort(sortingFunction);
|
|
247
276
|
}
|
|
248
|
-
function
|
|
249
|
-
|
|
250
|
-
|
|
277
|
+
function hasValidLimitAndOffset(offset, limit) {
|
|
278
|
+
return offset >= 0 && limit >= 0;
|
|
279
|
+
}
|
|
280
|
+
function getPagesByRecords(records, offset = 0, limit = 0) {
|
|
281
|
+
if (!records || !records.length || !hasValidLimitAndOffset(offset, limit))
|
|
282
|
+
return [];
|
|
283
|
+
if (limit === 0 && offset === 0)
|
|
284
|
+
return records;
|
|
285
|
+
return records.slice(offset, offset + limit);
|
|
286
|
+
}
|
|
287
|
+
function buildPaginationInfo({ recordsLength = 0, offset = 0, recordsPerPage = 0 }) {
|
|
288
|
+
if (!recordsLength) {
|
|
289
|
+
return { currentPage: 0, firstRecord: 0, lastRecord: 0, total: 0, hasMore: false };
|
|
251
290
|
}
|
|
252
|
-
const
|
|
253
|
-
const lastRecord = Math.min(
|
|
291
|
+
const lastRecordIndex = offset + recordsPerPage;
|
|
292
|
+
const lastRecord = lastRecordIndex ? Math.min(lastRecordIndex, recordsLength) : recordsLength;
|
|
254
293
|
return {
|
|
255
|
-
currentPage:
|
|
256
|
-
firstRecord: offset,
|
|
294
|
+
currentPage: recordsPerPage === 0 ? 0 : Math.ceil(offset / recordsPerPage),
|
|
295
|
+
firstRecord: offset + 1,
|
|
257
296
|
lastRecord: lastRecord,
|
|
258
|
-
total:
|
|
259
|
-
hasMore:
|
|
297
|
+
total: recordsLength,
|
|
298
|
+
hasMore: lastRecord < recordsLength,
|
|
260
299
|
};
|
|
261
300
|
}
|
|
262
301
|
|
|
@@ -342,9 +381,7 @@ class InMemoryLoader {
|
|
|
342
381
|
return StringUtils.generateUUID();
|
|
343
382
|
}
|
|
344
383
|
inMemoryLoader(dataUnit, request, recordsIn) {
|
|
345
|
-
|
|
346
|
-
records = applySorting(records, dataUnit, request.sort);
|
|
347
|
-
return Promise.resolve({ records, paginationInfo: buildPaginationInfo(records, request.offset, request.limit) });
|
|
384
|
+
return buildLoadDataResponse(recordsIn, dataUnit, request);
|
|
348
385
|
}
|
|
349
386
|
metadaLoader() {
|
|
350
387
|
return Promise.resolve(this._metadata);
|
|
@@ -420,16 +457,25 @@ class DatasetStrategy {
|
|
|
420
457
|
const serviceName = "DatasetSP.loadRecords";
|
|
421
458
|
const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting, serverSideFilters);
|
|
422
459
|
const params = loadingInfo.quiet ? { urlParams: { quietMode: "true" } } : undefined;
|
|
423
|
-
const { result: responseRecords, pagerID: pagerId } = await DataFetcher.get().callServiceBroker(serviceName, requestBody, params);
|
|
460
|
+
const { result: responseRecords, pagerID: pagerId, askRowsLimit } = await DataFetcher.get().callServiceBroker(serviceName, requestBody, params);
|
|
424
461
|
const records = this.processRecords(dataUnit, fields, responseRecords);
|
|
425
462
|
const loadingInProgress = pagerId != undefined;
|
|
426
463
|
const count = loadingInfo.count + records.length;
|
|
427
|
-
const
|
|
464
|
+
const isInsertingNewRecord = dataUnit.hasNewRecord();
|
|
465
|
+
const hasLocalSorting = localSorting.length > 0;
|
|
466
|
+
const needReload = !loadingInProgress && hasLocalSorting;
|
|
467
|
+
/**
|
|
468
|
+
* Caso precise recarregar dados, porém está no meio de uma inserção, os dados não devem recarregados instantaneamente,
|
|
469
|
+
* Mas sim, sinalizar que o dataUnit está aguardando para der recarregado.
|
|
470
|
+
*/
|
|
471
|
+
if (needReload && isInsertingNewRecord) {
|
|
472
|
+
dataUnit.setWaitingToReload(true);
|
|
473
|
+
}
|
|
428
474
|
return Promise.resolve({
|
|
429
475
|
records,
|
|
430
476
|
loadingInfo: Object.assign(Object.assign({}, loadingInfo), { pagerId,
|
|
431
|
-
loadingInProgress, total: loadingInProgress ? undefined : count, count,
|
|
432
|
-
|
|
477
|
+
loadingInProgress, total: loadingInProgress ? undefined : count, count, needReload: needReload && !isInsertingNewRecord, askRowsLimit,
|
|
478
|
+
hasLocalSorting })
|
|
433
479
|
});
|
|
434
480
|
}
|
|
435
481
|
catch (error) {
|
|
@@ -481,8 +527,7 @@ class DatasetStrategy {
|
|
|
481
527
|
},
|
|
482
528
|
}
|
|
483
529
|
};
|
|
484
|
-
|
|
485
|
-
return parsedRequestBody;
|
|
530
|
+
return JSON.stringify(requestBody);
|
|
486
531
|
}
|
|
487
532
|
getFieldsList(dataUnit) {
|
|
488
533
|
let fields = ["__record__id__", "__record__label__"];
|
|
@@ -609,7 +654,117 @@ class DatasetStrategy {
|
|
|
609
654
|
}
|
|
610
655
|
}
|
|
611
656
|
|
|
657
|
+
async function showAskCancelPaginationPopup() {
|
|
658
|
+
return new Promise((resolve) => {
|
|
659
|
+
const { checkboxContainer, checkbox } = buildCheckboxContainer();
|
|
660
|
+
const popup = builPopup(resolve, checkbox);
|
|
661
|
+
const contentContainer = buildContentContainer();
|
|
662
|
+
contentContainer.appendChild(buildMessage());
|
|
663
|
+
contentContainer.appendChild(checkboxContainer);
|
|
664
|
+
const actionsContainer = buildActionsContainer();
|
|
665
|
+
actionsContainer.appendChild(buildContinuePaginationBtn(popup, checkbox, resolve));
|
|
666
|
+
actionsContainer.appendChild(buildCancelPaginationBtn(popup, resolve));
|
|
667
|
+
contentContainer.appendChild(actionsContainer);
|
|
668
|
+
popup.appendChild(contentContainer);
|
|
669
|
+
document.body.appendChild(popup);
|
|
670
|
+
});
|
|
671
|
+
}
|
|
672
|
+
function buildCheckboxContainer() {
|
|
673
|
+
const checkboxContainer = document.createElement('div');
|
|
674
|
+
checkboxContainer.style.marginBottom = '14px';
|
|
675
|
+
checkboxContainer.style.display = 'flex';
|
|
676
|
+
checkboxContainer.style.alignItems = 'center';
|
|
677
|
+
const { checkbox, checkboxLabel } = buildCheckbox();
|
|
678
|
+
checkboxContainer.appendChild(checkbox);
|
|
679
|
+
checkboxContainer.appendChild(checkboxLabel);
|
|
680
|
+
return { checkboxContainer, checkbox };
|
|
681
|
+
}
|
|
682
|
+
function buildCheckbox() {
|
|
683
|
+
const checkbox = document.createElement('input');
|
|
684
|
+
checkbox.type = 'checkbox';
|
|
685
|
+
checkbox.id = 'loadAll';
|
|
686
|
+
const checkboxLabel = document.createElement('label');
|
|
687
|
+
checkboxLabel.htmlFor = 'loadAll';
|
|
688
|
+
checkboxLabel.textContent = 'Carregar tudo';
|
|
689
|
+
checkboxLabel.style.marginLeft = '5px';
|
|
690
|
+
return { checkbox, checkboxLabel };
|
|
691
|
+
}
|
|
692
|
+
function buildActionsContainer() {
|
|
693
|
+
const actionsContainer = document.createElement('div');
|
|
694
|
+
actionsContainer.style.display = 'flex';
|
|
695
|
+
actionsContainer.style.flexDirection = 'row';
|
|
696
|
+
actionsContainer.style.justifyContent = 'end';
|
|
697
|
+
actionsContainer.style.gap = '5px';
|
|
698
|
+
return actionsContainer;
|
|
699
|
+
}
|
|
700
|
+
function buildContentContainer() {
|
|
701
|
+
const contentContainer = document.createElement('div');
|
|
702
|
+
contentContainer.style.display = 'flex';
|
|
703
|
+
contentContainer.style.flexDirection = 'column';
|
|
704
|
+
contentContainer.style.fontFamily = 'var(--font-pattern, Roboto)';
|
|
705
|
+
contentContainer.style.fontSize = 'var(--text--medium)';
|
|
706
|
+
return contentContainer;
|
|
707
|
+
}
|
|
708
|
+
function buildMessage() {
|
|
709
|
+
const message = document.createElement('div');
|
|
710
|
+
const line1 = document.createElement('p');
|
|
711
|
+
const line2 = document.createElement('p');
|
|
712
|
+
const line3 = document.createElement('p');
|
|
713
|
+
line3.style.fontWeight = 'var(--text-weight--large, 600)';
|
|
714
|
+
line1.textContent = 'Uma quantidade de registros muito grande está sendo carregada.';
|
|
715
|
+
line2.textContent = 'Recomendamos que a paginação seja cancelada e que seja criado um filtro para os registros.';
|
|
716
|
+
line3.textContent = 'Deseja cancelar o carregamento?';
|
|
717
|
+
message.appendChild(line1);
|
|
718
|
+
message.appendChild(line2);
|
|
719
|
+
message.appendChild(line3);
|
|
720
|
+
return message;
|
|
721
|
+
}
|
|
722
|
+
function buildCancelPaginationBtn(popup, resolve) {
|
|
723
|
+
const cancelPaginationBtn = document.createElement('ez-button');
|
|
724
|
+
cancelPaginationBtn.label = 'Cancelar paginação';
|
|
725
|
+
cancelPaginationBtn.size = 'medium';
|
|
726
|
+
cancelPaginationBtn.classList.add('ez-button--primary');
|
|
727
|
+
cancelPaginationBtn.onclick = () => {
|
|
728
|
+
document.body.removeChild(popup);
|
|
729
|
+
resolve(CancelPaginationResponse.CANCEL);
|
|
730
|
+
};
|
|
731
|
+
return cancelPaginationBtn;
|
|
732
|
+
}
|
|
733
|
+
function buildContinuePaginationBtn(popup, checkBox, resolve) {
|
|
734
|
+
const continuePaginationBtn = document.createElement('ez-button');
|
|
735
|
+
continuePaginationBtn.label = 'Continuar';
|
|
736
|
+
continuePaginationBtn.size = 'medium';
|
|
737
|
+
continuePaginationBtn.onclick = () => {
|
|
738
|
+
document.body.removeChild(popup);
|
|
739
|
+
resolve(checkBox.checked ? CancelPaginationResponse.LOAD_ALL : CancelPaginationResponse.CONTINUE);
|
|
740
|
+
};
|
|
741
|
+
return continuePaginationBtn;
|
|
742
|
+
}
|
|
743
|
+
function builPopup(resolve, checkBox) {
|
|
744
|
+
const popup = document.createElement('ez-popup');
|
|
745
|
+
popup.opened = true;
|
|
746
|
+
popup.size = 'x-small';
|
|
747
|
+
popup.ezTitle = 'Aviso';
|
|
748
|
+
popup.heightMode = "auto";
|
|
749
|
+
popup.addEventListener('ezClosePopup', () => {
|
|
750
|
+
document.body.removeChild(popup);
|
|
751
|
+
resolve(checkBox.checked ? CancelPaginationResponse.LOAD_ALL : CancelPaginationResponse.CONTINUE);
|
|
752
|
+
}, { once: true });
|
|
753
|
+
popup.addEventListener('ezPopupAction', () => {
|
|
754
|
+
document.body.removeChild(popup);
|
|
755
|
+
resolve(CancelPaginationResponse.CANCEL);
|
|
756
|
+
}, { once: true });
|
|
757
|
+
return popup;
|
|
758
|
+
}
|
|
759
|
+
var CancelPaginationResponse;
|
|
760
|
+
(function (CancelPaginationResponse) {
|
|
761
|
+
CancelPaginationResponse["CANCEL"] = "CANCEL";
|
|
762
|
+
CancelPaginationResponse["CONTINUE"] = "CONTINUE";
|
|
763
|
+
CancelPaginationResponse["LOAD_ALL"] = "LOAD_ALL";
|
|
764
|
+
})(CancelPaginationResponse || (CancelPaginationResponse = {}));
|
|
765
|
+
|
|
612
766
|
class DataUnitDataLoader {
|
|
767
|
+
constructor() { }
|
|
613
768
|
static async debounce(dataUnit, callBack) {
|
|
614
769
|
const duName = dataUnit.name;
|
|
615
770
|
if (DataUnitDataLoader._debouncingTimeouts[duName]) {
|
|
@@ -655,25 +810,67 @@ class DataUnitDataLoader {
|
|
|
655
810
|
}
|
|
656
811
|
static async callLoader(dataUnit, request, requestLoadingInfo, dataLoader) {
|
|
657
812
|
if (dataLoader == undefined) {
|
|
658
|
-
//dataLoader = new DataUnitStrategy();
|
|
659
813
|
dataLoader = new DatasetStrategy();
|
|
660
814
|
}
|
|
661
815
|
const result = await dataLoader.load(dataUnit, request, requestLoadingInfo);
|
|
662
|
-
const
|
|
663
|
-
if (DataUnitDataLoader.isOldRequest(dataUnit, responseLoadingInfo))
|
|
816
|
+
const responseLoadingInfo = result.loadingInfo;
|
|
817
|
+
if (DataUnitDataLoader.isOldRequest(dataUnit, responseLoadingInfo))
|
|
664
818
|
return Promise.resolve(undefined);
|
|
819
|
+
this.handleCache(dataLoader, responseLoadingInfo, dataUnit, result.records);
|
|
820
|
+
if (dataUnit.cancelPagination)
|
|
821
|
+
return this.handlePaginationCanceled(dataUnit, result);
|
|
822
|
+
//Não existem mais páginas a serem carregadas
|
|
823
|
+
if (this.canFinishPagination(dataUnit, responseLoadingInfo))
|
|
824
|
+
return Promise.resolve(result);
|
|
825
|
+
const newRequest = Object.assign(Object.assign({}, request), { offset: responseLoadingInfo.count });
|
|
826
|
+
let newLoadingInfo = this.buildNewLoadingInfo(responseLoadingInfo);
|
|
827
|
+
if (this.canProceedPagination(responseLoadingInfo))
|
|
828
|
+
return this.recallLoader(dataUnit, newRequest, newLoadingInfo, dataLoader, result);
|
|
829
|
+
const confirm = await showAskCancelPaginationPopup();
|
|
830
|
+
if (confirm === CancelPaginationResponse.CANCEL)
|
|
831
|
+
return this.handlePaginationCanceled(dataUnit, result);
|
|
832
|
+
if (confirm === CancelPaginationResponse.LOAD_ALL) {
|
|
833
|
+
newLoadingInfo = Object.assign(Object.assign({}, newLoadingInfo), { loadAllRecords: true });
|
|
665
834
|
}
|
|
835
|
+
newLoadingInfo = Object.assign(Object.assign({}, newLoadingInfo), { lastRowLimitAsked: newLoadingInfo.count });
|
|
836
|
+
return this.recallLoader(dataUnit, newRequest, newLoadingInfo, dataLoader, result);
|
|
837
|
+
}
|
|
838
|
+
static buildNewLoadingInfo(responseLoadingInfo) {
|
|
839
|
+
let newLoadingInfo = Object.assign(Object.assign({}, responseLoadingInfo), { pageNumber: (responseLoadingInfo.pageNumber || 0) + 1, quiet: true });
|
|
840
|
+
return newLoadingInfo;
|
|
841
|
+
}
|
|
842
|
+
static handleCache(dataLoader, responseLoadingInfo, dataUnit, records) {
|
|
666
843
|
const recreateCache = !dataLoader.canSlice() || responseLoadingInfo.count === 0;
|
|
667
844
|
PreloadManager.cacheRecords(dataUnit, records, recreateCache, responseLoadingInfo.loadingInProgress);
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
.catch(reason => console.error(reason));
|
|
674
|
-
}
|
|
845
|
+
}
|
|
846
|
+
static recallLoader(dataUnit, newRequest, newLoadingInfo, dataLoader, result) {
|
|
847
|
+
this.callLoader(dataUnit, newRequest, newLoadingInfo, dataLoader)
|
|
848
|
+
.then(result => DataUnitDataLoader.afterLoadingPage(dataUnit, result.loadingInfo))
|
|
849
|
+
.catch(reason => console.error(reason));
|
|
675
850
|
return Promise.resolve(result);
|
|
676
851
|
}
|
|
852
|
+
static canFinishPagination(dataUnit, responseLoadingInfo) {
|
|
853
|
+
return !PreloadManager.isCacheEnabled(dataUnit) || !responseLoadingInfo.loadingInProgress;
|
|
854
|
+
}
|
|
855
|
+
static canProceedPagination(info) {
|
|
856
|
+
const { count, askRowsLimit, loadAllRecords, lastRowLimitAsked } = info;
|
|
857
|
+
if (loadAllRecords)
|
|
858
|
+
return true;
|
|
859
|
+
if (!count || !askRowsLimit)
|
|
860
|
+
return true;
|
|
861
|
+
const askRowLimitNumber = Number(askRowsLimit);
|
|
862
|
+
if (count < askRowLimitNumber)
|
|
863
|
+
return true;
|
|
864
|
+
const nextLimitToAsk = askRowLimitNumber + (lastRowLimitAsked ? lastRowLimitAsked : 0);
|
|
865
|
+
return count < nextLimitToAsk;
|
|
866
|
+
}
|
|
867
|
+
static handlePaginationCanceled(dataUnit, result) {
|
|
868
|
+
dataUnit.cancelPagination = false;
|
|
869
|
+
let loadingInfo = result.loadingInfo;
|
|
870
|
+
loadingInfo = Object.assign(Object.assign({}, loadingInfo), { total: loadingInfo.count, loadingInProgress: false, pagerId: undefined, needReload: loadingInfo.hasLocalSorting });
|
|
871
|
+
const loadDataResult = { records: result.records, loadingInfo };
|
|
872
|
+
return Promise.resolve(loadDataResult);
|
|
873
|
+
}
|
|
677
874
|
static afterLoadingPage(dataUnit, loadingInfo) {
|
|
678
875
|
PreloadManager.setLoadingStatus(dataUnit, loadingInfo.loadingInProgress);
|
|
679
876
|
const dataUnitPagination = dataUnit.getPaginationInfo();
|
|
@@ -682,7 +879,7 @@ class DataUnitDataLoader {
|
|
|
682
879
|
}
|
|
683
880
|
const count = loadingInfo.count;
|
|
684
881
|
if (loadingInfo.loadingInProgress) {
|
|
685
|
-
dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { count }));
|
|
882
|
+
dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { count, loadingInProgress: true }));
|
|
686
883
|
return;
|
|
687
884
|
}
|
|
688
885
|
if (loadingInfo.needReload) {
|
|
@@ -690,7 +887,7 @@ class DataUnitDataLoader {
|
|
|
690
887
|
dataUnit.gotoPage(0);
|
|
691
888
|
return;
|
|
692
889
|
}
|
|
693
|
-
dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { total: count, count }));
|
|
890
|
+
dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { total: count, count, loadingInProgress: false }));
|
|
694
891
|
}
|
|
695
892
|
static registryLoading(dataUnit, loadingInfo) {
|
|
696
893
|
if (loadingInfo == undefined) {
|
|
@@ -713,7 +910,7 @@ class DataUnitDataLoader {
|
|
|
713
910
|
// controle de paginação voltar pra primeira página.
|
|
714
911
|
offset = 0;
|
|
715
912
|
}
|
|
716
|
-
const { total, count, loadingInProgress } = loadingInfo;
|
|
913
|
+
const { total, count, loadingInProgress, askRowsLimit } = loadingInfo;
|
|
717
914
|
const firstRecord = (count === 0 || pageSize === 0) ? 0 : offset + 1;
|
|
718
915
|
const lastRecord = offset + Math.min(pageSize, limit);
|
|
719
916
|
return {
|
|
@@ -722,7 +919,8 @@ class DataUnitDataLoader {
|
|
|
722
919
|
lastRecord,
|
|
723
920
|
firstRecord,
|
|
724
921
|
currentPage: offset / limit,
|
|
725
|
-
hasMore: lastRecord < count || loadingInProgress
|
|
922
|
+
hasMore: lastRecord < count || loadingInProgress,
|
|
923
|
+
askRowsLimit
|
|
726
924
|
};
|
|
727
925
|
}
|
|
728
926
|
}
|
|
@@ -1052,4 +1250,4 @@ class DataUnitFetcher {
|
|
|
1052
1250
|
}
|
|
1053
1251
|
}
|
|
1054
1252
|
|
|
1055
|
-
export { DataUnitFetcher as D, InMemoryLoader as I, PreloadManager as P,
|
|
1253
|
+
export { DataUnitFetcher as D, InMemoryLoader as I, PreloadManager as P, DatasetStrategy as a, buildLoadDataResponse as b, getRecordValue as g };
|
|
@@ -217,7 +217,10 @@ class FormConfigFetcher extends ResourceFetcher {
|
|
|
217
217
|
query: this.queryConfig.get("fetchDefaultConfig"),
|
|
218
218
|
})
|
|
219
219
|
.then((result) => {
|
|
220
|
-
|
|
220
|
+
if (!(result === null || result === void 0 ? void 0 : result.resource)) {
|
|
221
|
+
resolve(null);
|
|
222
|
+
}
|
|
223
|
+
resolve(ObjectUtils.stringToObject(result === null || result === void 0 ? void 0 : result.resource));
|
|
221
224
|
})
|
|
222
225
|
.catch((error) => {
|
|
223
226
|
reject(error);
|
|
@@ -237,6 +240,43 @@ class FormConfigFetcher extends ResourceFetcher {
|
|
|
237
240
|
return undefined;
|
|
238
241
|
return this.buildLegacyConfigurableForm(response);
|
|
239
242
|
}
|
|
243
|
+
async fetchSimpleFormConfig(configName) {
|
|
244
|
+
const payload = { 'requestBody': { 'formConfig': { 'configName': configName } } };
|
|
245
|
+
const response = await DataFetcher.get().callServiceBroker('FormConfig.getFormConfig', JSON.stringify(payload));
|
|
246
|
+
return this.processConfig(response);
|
|
247
|
+
}
|
|
248
|
+
async saveSimpleFormConfig(configName, fieldList) {
|
|
249
|
+
const payload = this.buildSaveSimpleFormConfigPayload(configName, fieldList);
|
|
250
|
+
const response = await DataFetcher.get().callServiceBroker('FormConfig.saveFormConfig', JSON.stringify(payload));
|
|
251
|
+
this.processConfig(response);
|
|
252
|
+
}
|
|
253
|
+
processConfig(response) {
|
|
254
|
+
if (ObjectUtils.isEmpty(response))
|
|
255
|
+
return [];
|
|
256
|
+
const fields = this.getResponseAsArray(response);
|
|
257
|
+
return fields.map(field => field.name);
|
|
258
|
+
}
|
|
259
|
+
getResponseAsArray(response) {
|
|
260
|
+
var _a, _b, _c;
|
|
261
|
+
const rawFields = (_c = (_b = (_a = response === null || response === void 0 ? void 0 : response.formConfig) === null || _a === void 0 ? void 0 : _a.layout) === null || _b === void 0 ? void 0 : _b.field) !== null && _c !== void 0 ? _c : [];
|
|
262
|
+
return Array.isArray(rawFields) ? rawFields : [rawFields];
|
|
263
|
+
}
|
|
264
|
+
buildSaveSimpleFormConfigPayload(configName, fieldNameList) {
|
|
265
|
+
const fieldList = fieldNameList.map(fieldName => { return { name: fieldName }; });
|
|
266
|
+
return {
|
|
267
|
+
formConfig: {
|
|
268
|
+
configName,
|
|
269
|
+
layout: {
|
|
270
|
+
field: fieldList,
|
|
271
|
+
},
|
|
272
|
+
metadata: { field: [] },
|
|
273
|
+
}
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
async restoreFormConfig(configName) {
|
|
277
|
+
const payload = { 'requestBody': { 'formConfig': { 'configName': configName } } };
|
|
278
|
+
await DataFetcher.get().callServiceBroker('FormConfig.restoreFormConfig', JSON.stringify(payload));
|
|
279
|
+
}
|
|
240
280
|
buildLegacyConfigurableForm(config) {
|
|
241
281
|
var _a, _b, _c;
|
|
242
282
|
const rawFields = (_c = (_b = (_a = config === null || config === void 0 ? void 0 : config.formConfig) === null || _a === void 0 ? void 0 : _a.layout) === null || _b === void 0 ? void 0 : _b.field) !== null && _c !== void 0 ? _c : [];
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
/* sankhyablocks custom elements */
|
|
2
|
+
export { PesquisaGrid as PesquisaGrid } from '../types/components/snk-pesquisa/pesquisa-grid/pesquisa-grid';
|
|
3
|
+
export { PesquisaTree as PesquisaTree } from '../types/components/snk-pesquisa/pesquisa-tree/pesquisa-tree';
|
|
2
4
|
export { SnkActionsButton as SnkActionsButton } from '../types/components/snk-actions-button/snk-actions-button';
|
|
3
5
|
export { SnkActionsForm as SnkActionsForm } from '../types/components/snk-actions-button/subcomponents/snk-actions-form';
|
|
4
6
|
export { SnkApplication as SnkApplication } from '../types/components/snk-application/snk-application';
|
|
@@ -47,6 +49,7 @@ export { SnkPrintSelector as SnkPrintSelector } from '../types/components/snk-pr
|
|
|
47
49
|
export { SelectBox as SnkSelectBox } from '../types/components/snk-grid-config/snk-select-box/snk-select-box';
|
|
48
50
|
export { SnkSimpleBar as SnkSimpleBar } from '../types/components/snk-simple-bar/snk-simple-bar';
|
|
49
51
|
export { SnkSimpleCrud as SnkSimpleCrud } from '../types/components/snk-simple-crud/snk-simple-crud';
|
|
52
|
+
export { SnkSimpleFormConfig as SnkSimpleFormConfig } from '../types/components/snk-simple-form-config/snk-simple-form-config';
|
|
50
53
|
export { SnkTabConfig as SnkTabConfig } from '../types/components/snk-form-config/subcomponents/snk-tab-config/snk-tab-config';
|
|
51
54
|
export { SnkTaskbar as SnkTaskbar } from '../types/components/snk-taskbar/snk-taskbar';
|
|
52
55
|
export { TaskbarActionsButton as TaskbarActionsButton } from '../types/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button';
|
package/dist/components/index.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export { setAssetPath, setNonce, setPlatformOptions } from '@stencil/core/internal/client';
|
|
2
|
+
export { PesquisaGrid, defineCustomElement as defineCustomElementPesquisaGrid } from './pesquisa-grid.js';
|
|
3
|
+
export { PesquisaTree, defineCustomElement as defineCustomElementPesquisaTree } from './pesquisa-tree.js';
|
|
2
4
|
export { SnkActionsButton, defineCustomElement as defineCustomElementSnkActionsButton } from './snk-actions-button.js';
|
|
3
5
|
export { SnkActionsForm, defineCustomElement as defineCustomElementSnkActionsForm } from './snk-actions-form.js';
|
|
4
6
|
export { SnkApplication, defineCustomElement as defineCustomElementSnkApplication } from './snk-application.js';
|
|
@@ -47,6 +49,7 @@ export { SnkPrintSelector, defineCustomElement as defineCustomElementSnkPrintSel
|
|
|
47
49
|
export { SnkSelectBox, defineCustomElement as defineCustomElementSnkSelectBox } from './snk-select-box.js';
|
|
48
50
|
export { SnkSimpleBar, defineCustomElement as defineCustomElementSnkSimpleBar } from './snk-simple-bar.js';
|
|
49
51
|
export { SnkSimpleCrud, defineCustomElement as defineCustomElementSnkSimpleCrud } from './snk-simple-crud.js';
|
|
52
|
+
export { SnkSimpleFormConfig, defineCustomElement as defineCustomElementSnkSimpleFormConfig } from './snk-simple-form-config.js';
|
|
50
53
|
export { SnkTabConfig, defineCustomElement as defineCustomElementSnkTabConfig } from './snk-tab-config.js';
|
|
51
54
|
export { SnkTaskbar, defineCustomElement as defineCustomElementSnkTaskbar } from './snk-taskbar.js';
|
|
52
55
|
export { TaskbarActionsButton, defineCustomElement as defineCustomElementTaskbarActionsButton } from './taskbar-actions-button.js';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface PesquisaGrid extends Components.PesquisaGrid, HTMLElement {}
|
|
4
|
+
export const PesquisaGrid: {
|
|
5
|
+
prototype: PesquisaGrid;
|
|
6
|
+
new (): PesquisaGrid;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
import { I as InMemoryLoader } from './dataunit-fetcher.js';
|
|
3
|
+
import './DataFetcher.js';
|
|
4
|
+
import { a as PesquisaFetcher } from './ISave.js';
|
|
5
|
+
import '@sankhyalabs/core';
|
|
6
|
+
import '@sankhyalabs/ezui/dist/collection/utils/constants';
|
|
7
|
+
import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
|
|
8
|
+
import './filter-item-type.enum.js';
|
|
9
|
+
import './form-config-fetcher.js';
|
|
10
|
+
import './constants.js';
|
|
11
|
+
|
|
12
|
+
const pesquisaGridCss = ".sc-pesquisa-grid-h{background:var(--background--xlight, #FFF);overflow-x:auto}ez-grid.sc-pesquisa-grid{--ez-grid__container--shadow:none;--ez-grid__header--shadow:none}";
|
|
13
|
+
|
|
14
|
+
const PesquisaGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
15
|
+
constructor() {
|
|
16
|
+
super();
|
|
17
|
+
this.__registerHost();
|
|
18
|
+
this.pesquisaGridSelectItem = createEvent(this, "pesquisaGridSelectItem", 7);
|
|
19
|
+
this._pesquisaFetcher = new PesquisaFetcher();
|
|
20
|
+
this.metadata = undefined;
|
|
21
|
+
this.dataSource = [];
|
|
22
|
+
this.pkField = undefined;
|
|
23
|
+
this.descriptionField = undefined;
|
|
24
|
+
this.entityName = undefined;
|
|
25
|
+
this.shouldLoadConfig = false;
|
|
26
|
+
this._gridConfig = undefined;
|
|
27
|
+
this._inMemoryLoader = undefined;
|
|
28
|
+
this._dataunit = undefined;
|
|
29
|
+
}
|
|
30
|
+
observeDataSource(newValue) {
|
|
31
|
+
if (!this._inMemoryLoader || !this._dataunit || !newValue)
|
|
32
|
+
return;
|
|
33
|
+
this._inMemoryLoader.records = [...newValue];
|
|
34
|
+
}
|
|
35
|
+
observeMetadata() {
|
|
36
|
+
this.initializeDataUnit();
|
|
37
|
+
}
|
|
38
|
+
async observeShouldLoadConfig(newValue) {
|
|
39
|
+
if (!newValue || this._gridConfig)
|
|
40
|
+
return;
|
|
41
|
+
await this.loadGridConfig();
|
|
42
|
+
}
|
|
43
|
+
async loadGridConfig() {
|
|
44
|
+
this._gridConfig = await this._pesquisaFetcher.loadPesquisaGridConfig(this.entityName);
|
|
45
|
+
}
|
|
46
|
+
initializeDataUnit() {
|
|
47
|
+
var _a;
|
|
48
|
+
if (!this.metadata)
|
|
49
|
+
return;
|
|
50
|
+
this._inMemoryLoader = new InMemoryLoader(this.metadata, (_a = this.dataSource) !== null && _a !== void 0 ? _a : []);
|
|
51
|
+
this._dataunit = this._inMemoryLoader.dataUnit;
|
|
52
|
+
this._dataunit.pageSize = 0;
|
|
53
|
+
}
|
|
54
|
+
handleDbClick(record) {
|
|
55
|
+
const option = {
|
|
56
|
+
value: record[this.pkField],
|
|
57
|
+
label: record[this.descriptionField],
|
|
58
|
+
};
|
|
59
|
+
this.pesquisaGridSelectItem.emit(option);
|
|
60
|
+
}
|
|
61
|
+
async handleConfigChanged({ detail }) {
|
|
62
|
+
var _a;
|
|
63
|
+
const columns = (_a = detail === null || detail === void 0 ? void 0 : detail.columns) !== null && _a !== void 0 ? _a : [];
|
|
64
|
+
await this._pesquisaFetcher.savePesquisaGridConfig(this.entityName, columns);
|
|
65
|
+
}
|
|
66
|
+
render() {
|
|
67
|
+
if (!this.metadata || !this._dataunit)
|
|
68
|
+
return;
|
|
69
|
+
return (h(Host, null, h("ez-grid", { dataUnit: this._dataunit, config: this._gridConfig, canEdit: false, suppressCheckboxColumn: true, compact: true, autoFocus: false, onEzDoubleClick: ({ detail }) => this.handleDbClick(detail), onConfigChange: async (event) => this.handleConfigChanged(event) })));
|
|
70
|
+
}
|
|
71
|
+
static get watchers() { return {
|
|
72
|
+
"dataSource": ["observeDataSource"],
|
|
73
|
+
"metadata": ["observeMetadata"],
|
|
74
|
+
"shouldLoadConfig": ["observeShouldLoadConfig"]
|
|
75
|
+
}; }
|
|
76
|
+
static get style() { return pesquisaGridCss; }
|
|
77
|
+
}, [2, "pesquisa-grid", {
|
|
78
|
+
"metadata": [16],
|
|
79
|
+
"dataSource": [16],
|
|
80
|
+
"pkField": [1, "pk-field"],
|
|
81
|
+
"descriptionField": [1, "description-field"],
|
|
82
|
+
"entityName": [1, "entity-name"],
|
|
83
|
+
"shouldLoadConfig": [4, "should-load-config"],
|
|
84
|
+
"_gridConfig": [32],
|
|
85
|
+
"_inMemoryLoader": [32],
|
|
86
|
+
"_dataunit": [32]
|
|
87
|
+
}]);
|
|
88
|
+
function defineCustomElement() {
|
|
89
|
+
if (typeof customElements === "undefined") {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
const components = ["pesquisa-grid"];
|
|
93
|
+
components.forEach(tagName => { switch (tagName) {
|
|
94
|
+
case "pesquisa-grid":
|
|
95
|
+
if (!customElements.get(tagName)) {
|
|
96
|
+
customElements.define(tagName, PesquisaGrid);
|
|
97
|
+
}
|
|
98
|
+
break;
|
|
99
|
+
} });
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
export { PesquisaGrid as P, defineCustomElement as d };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface PesquisaTree extends Components.PesquisaTree, HTMLElement {}
|
|
4
|
+
export const PesquisaTree: {
|
|
5
|
+
prototype: PesquisaTree;
|
|
6
|
+
new (): PesquisaTree;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|