@sankhyalabs/sankhyablocks 8.16.0-dev.7 → 8.16.0-dev.71
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-54d44192.js} +65 -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-07f747be.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/{dataunit-fetcher-688d3f05.js → dataunit-fetcher-8ea97d88.js} +48 -20
- 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-680e198f.js → pesquisa-fetcher-f3454c23.js} +185 -2
- package/dist/cjs/pesquisa-grid_2.cjs.entry.js +133 -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} +136 -40
- package/dist/cjs/snk-application.cjs.entry.js +248 -69
- package/dist/cjs/snk-attach.cjs.entry.js +46 -33
- package/dist/cjs/{snk-form-config.cjs.entry.js → snk-config-options_3.cjs.entry.js} +398 -12
- package/dist/cjs/snk-crud.cjs.entry.js +22 -8
- package/dist/cjs/snk-data-exporter.cjs.entry.js +34 -22
- package/dist/cjs/{snk-data-unit-04df81bf.js → snk-data-unit-72ef8777.js} +54 -32
- package/dist/cjs/snk-data-unit.cjs.entry.js +5 -5
- package/dist/cjs/snk-detail-view.cjs.entry.js +12 -12
- package/dist/cjs/snk-exporter-email-sender.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 +71 -21
- package/dist/cjs/{snk-guides-viewer-bdc41281.js → snk-guides-viewer-b20b0cfd.js} +29 -13
- 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 +123 -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 +101 -45
- package/dist/cjs/snk-taskbar.cjs.entry.js +64 -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 +34 -0
- package/dist/collection/components/snk-application/snk-application.js +235 -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-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 +153 -8
- package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.css +10 -0
- package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.js +190 -0
- package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.css +25 -0
- package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.js +179 -0
- package/dist/collection/components/snk-pesquisa/pesquisaHelper.js +89 -0
- package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +24 -5
- package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +186 -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 +160 -50
- 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 +106 -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 +2 -2
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +9 -2
- 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 +98 -4
- 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/sw.js +46 -0
- package/dist/components/{IExporterProvider.js → ContinuousInsertUtils.js} +66 -23
- package/dist/components/DataFetcher.js +217 -77
- package/dist/{esm/RecordIDUtils-87d02110.js → components/GetSelectedRecordsIDsInfo.js} +10 -10
- package/dist/components/ISave.js +346 -1
- package/dist/components/SnkFormConfigManager.js +73 -15
- package/dist/components/SnkMessageBuilder.js +7 -3
- package/dist/components/dataunit-fetcher.js +47 -17
- 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 +86 -0
- package/dist/components/pesquisa-tree.d.ts +11 -0
- package/dist/components/pesquisa-tree.js +6 -0
- package/dist/components/pesquisa-tree2.js +82 -0
- package/dist/components/snk-actions-button2.js +43 -40
- package/dist/components/snk-application2.js +264 -68
- package/dist/components/snk-attach2.js +54 -60
- 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 +114 -105
- 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 +34 -9
- package/dist/components/snk-form.js +2 -2
- package/dist/components/snk-grid2.js +68 -13
- package/dist/components/snk-personalized-filter-editor.js +4 -4
- package/dist/components/snk-pesquisa2.js +136 -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 -66
- 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 +120 -0
- package/dist/components/snk-taskbar2.js +66 -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-25e7bd9a.js} +66 -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-1ff928fa.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-7302ee87.js} +1 -1
- package/dist/esm/{dataunit-fetcher-264191b2.js → dataunit-fetcher-8dd93d8b.js} +48 -18
- 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/{components/pesquisa-fetcher.js → esm/pesquisa-fetcher-0af41f09.js} +186 -4
- package/dist/esm/pesquisa-grid_2.entry.js +128 -0
- package/dist/esm/sankhyablocks.js +1 -1
- package/dist/esm/{snk-actions-button_4.entry.js → snk-actions-button_5.entry.js} +138 -43
- package/dist/esm/snk-application.entry.js +250 -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 +1 -1
- 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-11a49fc3.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 +66 -16
- package/dist/esm/{snk-guides-viewer-dda0fede.js → snk-guides-viewer-94918cf7.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 +123 -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 -43
- package/dist/esm/snk-tab-config.entry.js +1 -1
- package/dist/esm/snk-taskbar.entry.js +65 -39
- package/dist/sankhyablocks/p-09067bee.entry.js +1 -0
- package/dist/sankhyablocks/p-0d86c004.entry.js +1 -0
- package/dist/sankhyablocks/p-1435701f.js +26 -0
- package/dist/sankhyablocks/p-16a1dd18.entry.js +1 -0
- package/dist/sankhyablocks/p-16cc8640.entry.js +11 -0
- package/dist/sankhyablocks/p-17425c72.js +1 -0
- package/dist/sankhyablocks/{p-52920496.js → p-19dc71e9.js} +1 -1
- package/dist/sankhyablocks/p-1a91d1f3.entry.js +1 -0
- package/dist/sankhyablocks/{p-47db7e88.entry.js → p-1cf39cfd.entry.js} +1 -1
- package/dist/sankhyablocks/p-23736d75.js +1 -0
- package/dist/sankhyablocks/{p-8eb67fa4.entry.js → p-2d3f9482.entry.js} +1 -1
- package/dist/sankhyablocks/p-3150ad41.js +1 -0
- package/dist/sankhyablocks/{p-c1d57831.entry.js → p-3a3d4055.entry.js} +1 -1
- package/dist/sankhyablocks/{p-7663f597.entry.js → p-41793e17.entry.js} +1 -1
- package/dist/sankhyablocks/{p-72fc257b.entry.js → p-434817f0.entry.js} +1 -1
- package/dist/sankhyablocks/p-469384a2.entry.js +1 -0
- package/dist/sankhyablocks/p-47178038.entry.js +1 -0
- package/dist/sankhyablocks/p-471785a1.entry.js +1 -0
- package/dist/sankhyablocks/p-4ca8e061.entry.js +1 -0
- package/dist/sankhyablocks/{p-aaa3ee68.entry.js → p-5f157b09.entry.js} +1 -1
- package/dist/sankhyablocks/p-60e4db34.js +1 -0
- package/dist/sankhyablocks/p-618a29ed.entry.js +1 -0
- package/dist/sankhyablocks/p-619aeac8.entry.js +1 -0
- package/dist/sankhyablocks/p-68134a67.entry.js +1 -0
- package/dist/sankhyablocks/p-798386c7.js +6 -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-8a1ee5b5.js +1 -0
- package/dist/sankhyablocks/{p-95df461f.entry.js → p-8b4fc28f.entry.js} +1 -1
- package/dist/sankhyablocks/p-8bd86610.entry.js +1 -0
- package/dist/sankhyablocks/{p-41f8bfa3.entry.js → p-8c235d4c.entry.js} +1 -1
- package/dist/sankhyablocks/{p-b0ef4383.js → p-95ce311a.js} +1 -1
- package/dist/sankhyablocks/p-a3803d7c.entry.js +1 -0
- package/dist/sankhyablocks/p-aaef93e8.js +1 -0
- package/dist/sankhyablocks/p-c2e468c9.entry.js +1 -0
- package/dist/sankhyablocks/p-d62228fb.js +1 -0
- package/dist/sankhyablocks/p-d92d4f91.entry.js +1 -0
- package/dist/sankhyablocks/p-ddefbbc7.js +60 -0
- package/dist/sankhyablocks/p-edbe8e15.entry.js +1 -0
- package/dist/sankhyablocks/{p-913a9979.js → p-f0b9303b.js} +1 -1
- 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 +28 -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 +26 -0
- package/dist/types/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.d.ts +38 -0
- package/dist/types/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.d.ts +29 -0
- package/dist/types/components/snk-pesquisa/pesquisaHelper.d.ts +19 -0
- package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +36 -1
- package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +27 -7
- 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 +372 -15
- 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/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 +10 -1
- 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/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/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/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-46d38387.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-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-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
package/dist/components/ISave.js
CHANGED
|
@@ -1,3 +1,348 @@
|
|
|
1
|
+
import { UserInterface, DataType, ApplicationContext, ErrorException } from '@sankhyalabs/core';
|
|
2
|
+
import { d as dist, D as DataFetcher } from './DataFetcher.js';
|
|
3
|
+
|
|
4
|
+
function buildGridMetadata(rawValue) {
|
|
5
|
+
const fieldsMetadata = buildFieldsMetadata(rawValue.fieldsMetadata);
|
|
6
|
+
const duName = rawValue.descriptionField;
|
|
7
|
+
const duLabel = rawValue.entityDescription;
|
|
8
|
+
return {
|
|
9
|
+
label: duLabel,
|
|
10
|
+
name: duName,
|
|
11
|
+
fields: fieldsMetadata,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
function buildFieldsMetadata(rawMetadata) {
|
|
15
|
+
if (!rawMetadata || !rawMetadata.length)
|
|
16
|
+
return [];
|
|
17
|
+
return rawMetadata.map(field => {
|
|
18
|
+
return {
|
|
19
|
+
name: field['fieldName'],
|
|
20
|
+
label: field['description'],
|
|
21
|
+
dataType: buildDataType(field['type']),
|
|
22
|
+
userInterface: buildUserInterface(field),
|
|
23
|
+
properties: bildProperties(field)
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
function bildProperties(field) {
|
|
28
|
+
const properties = {};
|
|
29
|
+
properties['options'] = buildOptions(field);
|
|
30
|
+
properties['mask'] = buildMask(field);
|
|
31
|
+
return properties;
|
|
32
|
+
}
|
|
33
|
+
function buildMask(field) {
|
|
34
|
+
const fieldUI = field['uiType'];
|
|
35
|
+
return fieldUI ? String(fieldUI).toLowerCase() : undefined;
|
|
36
|
+
}
|
|
37
|
+
function buildOptions(field) {
|
|
38
|
+
const optionsJson = field.options;
|
|
39
|
+
if (!optionsJson)
|
|
40
|
+
return undefined;
|
|
41
|
+
const options = [];
|
|
42
|
+
Object.keys(optionsJson).forEach(key => {
|
|
43
|
+
options.push({
|
|
44
|
+
label: key,
|
|
45
|
+
value: optionsJson[key]
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
return options;
|
|
49
|
+
}
|
|
50
|
+
function buildUserInterface(field) {
|
|
51
|
+
const options = field.options;
|
|
52
|
+
if (options && Object.keys(options).length > 0)
|
|
53
|
+
return UserInterface.OPTIONSELECTOR;
|
|
54
|
+
if (field['type'] === 'D')
|
|
55
|
+
return UserInterface.DATE;
|
|
56
|
+
if (field['type'] === 'H')
|
|
57
|
+
return UserInterface.DATETIME;
|
|
58
|
+
if (field['type'] === 'T')
|
|
59
|
+
return UserInterface.TIME;
|
|
60
|
+
return undefined;
|
|
61
|
+
}
|
|
62
|
+
function buildDataType(rawType) {
|
|
63
|
+
switch (rawType) {
|
|
64
|
+
case 'F':
|
|
65
|
+
return DataType.NUMBER;
|
|
66
|
+
case 'D':
|
|
67
|
+
case 'H':
|
|
68
|
+
return DataType.DATE;
|
|
69
|
+
case 'B':
|
|
70
|
+
return DataType.OBJECT;
|
|
71
|
+
default:
|
|
72
|
+
return DataType.TEXT;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
function parseLegacyTree(legacy) {
|
|
76
|
+
var _a, _b;
|
|
77
|
+
const structure = (_b = (_a = legacy.arvore) === null || _a === void 0 ? void 0 : _a.no) !== null && _b !== void 0 ? _b : [];
|
|
78
|
+
return structure.map(parseLegacyItem);
|
|
79
|
+
}
|
|
80
|
+
function parseLegacyItem(node) {
|
|
81
|
+
return Object.assign({ id: node.codigo, label: `${node.caminho} - ${node.descricao}`, bold: node.analitico === "N", props: { analitico: node.analitico === 'S' } }, (node.no && { children: node.no.map(parseLegacyItem) }));
|
|
82
|
+
}
|
|
83
|
+
function parseGridConfig(rawConfig) {
|
|
84
|
+
var _a, _b;
|
|
85
|
+
const columns = [];
|
|
86
|
+
const fields = (_b = (_a = rawConfig === null || rawConfig === void 0 ? void 0 : rawConfig.gridConfig) === null || _a === void 0 ? void 0 : _a.field) !== null && _b !== void 0 ? _b : {};
|
|
87
|
+
Object.keys(fields).forEach(key => columns.push(fields[key]));
|
|
88
|
+
if (!columns.length)
|
|
89
|
+
return undefined;
|
|
90
|
+
return { columns };
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
class PesquisaFetcher {
|
|
94
|
+
constructor() {
|
|
95
|
+
this._defaultPageSize = 100;
|
|
96
|
+
this._templateByQuery = new Map();
|
|
97
|
+
this._searchListenersByDataUnit = new Map();
|
|
98
|
+
this.buldTemplates();
|
|
99
|
+
}
|
|
100
|
+
buldTemplates() {
|
|
101
|
+
this._templateByQuery.set("search", dist.gql `query($entityName: String! $argument: String $criteria: InputSearchCriteria $options: InputSearchOptions) {
|
|
102
|
+
$queryAlias$: search(entityName: $entityName argument: $argument criteria: $criteria options: $options){
|
|
103
|
+
value
|
|
104
|
+
label
|
|
105
|
+
}
|
|
106
|
+
}`);
|
|
107
|
+
}
|
|
108
|
+
loadSearchOptions(entityName, argument, criteria, options) {
|
|
109
|
+
var _a;
|
|
110
|
+
const cleanText = (argument === null || argument === void 0 ? void 0 : argument.toString().trim()) || undefined;
|
|
111
|
+
argument = isNaN(Number(cleanText)) && cleanText ? `%${cleanText}` : cleanText;
|
|
112
|
+
criteria === null || criteria === void 0 ? void 0 : criteria.params.forEach(param => {
|
|
113
|
+
if (param.dataType === DataType.OBJECT) {
|
|
114
|
+
param.value = JSON.stringify(param.value);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
const listenerResult = this.applySearchListener(SearchListenerType.beforeSearch, entityName, argument, criteria, options);
|
|
118
|
+
const values = {
|
|
119
|
+
argument: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.argument) || argument,
|
|
120
|
+
entityName,
|
|
121
|
+
criteria: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.criteria) || criteria,
|
|
122
|
+
options: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.searchOptions) || options,
|
|
123
|
+
};
|
|
124
|
+
if (values.options) {
|
|
125
|
+
(_a = values.options) === null || _a === void 0 ? true : delete _a.dataUnitId;
|
|
126
|
+
}
|
|
127
|
+
return new Promise((resolve, reject) => {
|
|
128
|
+
DataFetcher.get()
|
|
129
|
+
.callGraphQL({
|
|
130
|
+
values,
|
|
131
|
+
query: this._templateByQuery.get("search"),
|
|
132
|
+
})
|
|
133
|
+
.then((result) => {
|
|
134
|
+
resolve(result);
|
|
135
|
+
})
|
|
136
|
+
.catch((error) => {
|
|
137
|
+
reject(error);
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
loadAdvancedSearch(entityName, argument, criteria, searchOptions) {
|
|
142
|
+
var _a, _b, _c, _d, _e;
|
|
143
|
+
const listenerResult = this.applySearchListener(SearchListenerType.beforeSearch, entityName, argument, criteria, searchOptions);
|
|
144
|
+
const values = {
|
|
145
|
+
argument: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.argument) || argument,
|
|
146
|
+
criteria: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.criteria) || criteria,
|
|
147
|
+
searchOptions: Object.assign(Object.assign({}, searchOptions), listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.searchOptions),
|
|
148
|
+
};
|
|
149
|
+
const serviceName = "PesquisaSP.getSuggestion";
|
|
150
|
+
const externalCriteria = {
|
|
151
|
+
query: {
|
|
152
|
+
$: (_a = values.criteria) === null || _a === void 0 ? void 0 : _a.expression
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
if (((_c = (_b = values.criteria) === null || _b === void 0 ? void 0 : _b.params) === null || _c === void 0 ? void 0 : _c.length) > 0) {
|
|
156
|
+
externalCriteria.params = {
|
|
157
|
+
param: values.criteria.params.map(param => {
|
|
158
|
+
let value = param.value;
|
|
159
|
+
if (typeof value === "string") {
|
|
160
|
+
const match = /CTX\{([^}]+)\}/.exec(value);
|
|
161
|
+
if (match) {
|
|
162
|
+
value = ApplicationContext.getContextValue(`__SNK__APPLICATION__FILTER__CONTEXT(${match[1]})__`);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
if (param.dataType === DataType.NUMBER && value === undefined) {
|
|
166
|
+
throw new ErrorException("Falha detectada", `O campo ${param.name} deve ser informado.`);
|
|
167
|
+
}
|
|
168
|
+
let type = param.dataType;
|
|
169
|
+
if (type === DataType.OBJECT) {
|
|
170
|
+
value = value.value;
|
|
171
|
+
type = "S";
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
type = convertParamType(param.dataType);
|
|
175
|
+
}
|
|
176
|
+
return { $: value, type };
|
|
177
|
+
})
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
const options = searchOptions != undefined
|
|
181
|
+
? 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;
|
|
182
|
+
const reqBody = {
|
|
183
|
+
"serviceName": serviceName,
|
|
184
|
+
"requestBody": {
|
|
185
|
+
"criteria": Object.assign({ "entityName": entityName, "compacted": false, "ignoreEntityCriteria": (_d = options === null || options === void 0 ? void 0 : options.ignoreEntityCriteria) !== null && _d !== void 0 ? _d : false, "limit": this._defaultPageSize, "query": { "$": values.argument }, "orderByDesc": false, "externalCriteria": externalCriteria, "localEntityName": (_e = values.searchOptions) === null || _e === void 0 ? void 0 : _e.rootEntity }, { options }),
|
|
186
|
+
"clientEventList": {
|
|
187
|
+
"clientEvent": []
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
const urlOptions = {
|
|
192
|
+
urlParams: {
|
|
193
|
+
"quietMode": true
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
return new Promise((resolve, reject) => {
|
|
197
|
+
DataFetcher.get()
|
|
198
|
+
.callServiceBroker("PesquisaSP.getSuggestion", JSON.stringify(reqBody), urlOptions)
|
|
199
|
+
.then(result => resolve(result))
|
|
200
|
+
.catch(error => reject(error));
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
addSearchListener(entityName, dataUnitID, listener) {
|
|
204
|
+
var _a;
|
|
205
|
+
const dataUnitSearchListeners = this._searchListenersByDataUnit.get(dataUnitID) || [];
|
|
206
|
+
const entityListener = dataUnitSearchListeners.find(currentListener => currentListener.entity === entityName);
|
|
207
|
+
if (!entityListener) {
|
|
208
|
+
this._searchListenersByDataUnit.set(dataUnitID, [...dataUnitSearchListeners, { entity: entityName, listener }]);
|
|
209
|
+
}
|
|
210
|
+
else {
|
|
211
|
+
for (const type of Object.keys(listener)) {
|
|
212
|
+
if (type in entityListener.listener) {
|
|
213
|
+
const listenerFunctionIsEquals = ((_a = entityListener.listener[type]) === null || _a === void 0 ? void 0 : _a.toString()) === listener[type].toString();
|
|
214
|
+
if (listenerFunctionIsEquals)
|
|
215
|
+
continue;
|
|
216
|
+
entityListener.listener[type] = listener[type];
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
return () => {
|
|
221
|
+
const newListeners = dataUnitSearchListeners.filter(currentListener => currentListener.entity !== entityName);
|
|
222
|
+
if (!newListeners.length) {
|
|
223
|
+
this._searchListenersByDataUnit.delete(dataUnitID);
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
this._searchListenersByDataUnit.set(dataUnitID, newListeners);
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
applySearchListener(listenerType, entityName, argument, criteria, searchOptions) {
|
|
230
|
+
var _a;
|
|
231
|
+
const dataUnitId = searchOptions === null || searchOptions === void 0 ? void 0 : searchOptions.dataUnitId;
|
|
232
|
+
if (!dataUnitId)
|
|
233
|
+
return;
|
|
234
|
+
const entityListener = (_a = this._searchListenersByDataUnit.get(dataUnitId)) === null || _a === void 0 ? void 0 : _a.find(({ entity }) => entity === entityName);
|
|
235
|
+
if (!entityListener)
|
|
236
|
+
return;
|
|
237
|
+
const { listener } = entityListener;
|
|
238
|
+
if (!(listenerType in listener))
|
|
239
|
+
return;
|
|
240
|
+
return listener[listenerType]({ argument, criteria, searchOptions });
|
|
241
|
+
}
|
|
242
|
+
async loadPresentationConfig(entityName) {
|
|
243
|
+
var _a, _b;
|
|
244
|
+
let payload = buildLoadConfig(entityName);
|
|
245
|
+
const response = await DataFetcher.get().callServiceBroker("SystemUtilsSP.getConf", JSON.stringify(payload));
|
|
246
|
+
return (_b = (_a = response === null || response === void 0 ? void 0 : response.config) === null || _a === void 0 ? void 0 : _a.lastUsedMode) !== null && _b !== void 0 ? _b : 'list';
|
|
247
|
+
}
|
|
248
|
+
async savePresentationConfig(entityName, lastUsedMode) {
|
|
249
|
+
let payload = buildSaveConfig(entityName, lastUsedMode);
|
|
250
|
+
await DataFetcher.get().callServiceBroker("SystemUtilsSP.saveConf", JSON.stringify(payload));
|
|
251
|
+
}
|
|
252
|
+
async loadPesquisaGridConfig(entityName) {
|
|
253
|
+
const payload = buildLoadGridConfigPayload(entityName);
|
|
254
|
+
const response = await DataFetcher.get().callServiceBroker("GridConfig.getGridConfigFromJson", JSON.stringify(payload));
|
|
255
|
+
return parseGridConfig(response);
|
|
256
|
+
}
|
|
257
|
+
async savePesquisaGridConfig(entityName, columns) {
|
|
258
|
+
const payload = buildSaveGridConfigPayload(entityName, columns);
|
|
259
|
+
await DataFetcher.get().callServiceBroker("GridConfig.saveGridConfigFromJSON", JSON.stringify(payload));
|
|
260
|
+
}
|
|
261
|
+
async loadTree(entityName, argument, criteria, searchOptions) {
|
|
262
|
+
const requestBody = this.buildLoadTreeRequestBody(entityName, argument, criteria, searchOptions);
|
|
263
|
+
const response = await DataFetcher.get().callServiceBroker("Pesquisa.getStructuredData", JSON.stringify(requestBody));
|
|
264
|
+
return parseLegacyTree(response);
|
|
265
|
+
}
|
|
266
|
+
buildLoadTreeRequestBody(entityName, argument, criteria, searchOptions) {
|
|
267
|
+
var _a, _b, _c;
|
|
268
|
+
const listenerResult = this.applySearchListener(SearchListenerType.beforeSearch, entityName, argument, criteria, searchOptions);
|
|
269
|
+
console.log("criteria: ", criteria);
|
|
270
|
+
const incomeSearchOptions = (_a = listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.searchOptions) !== null && _a !== void 0 ? _a : searchOptions;
|
|
271
|
+
const rootEntity = incomeSearchOptions === null || incomeSearchOptions === void 0 ? void 0 : incomeSearchOptions.rootEntity;
|
|
272
|
+
const codeFieldName = incomeSearchOptions === null || incomeSearchOptions === void 0 ? void 0 : incomeSearchOptions.codeFieldName;
|
|
273
|
+
const expression = (_b = listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.criteria) === null || _b === void 0 ? void 0 : _b.expression;
|
|
274
|
+
const params = (_c = listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.criteria) === null || _c === void 0 ? void 0 : _c.params;
|
|
275
|
+
const instancia = {
|
|
276
|
+
'nome': entityName,
|
|
277
|
+
'nomeInstanciaLocal': rootEntity,
|
|
278
|
+
'codeFieldName': codeFieldName,
|
|
279
|
+
};
|
|
280
|
+
if (expression) {
|
|
281
|
+
instancia['criterioLiteral'] = {
|
|
282
|
+
'expressao': {
|
|
283
|
+
'$': expression,
|
|
284
|
+
},
|
|
285
|
+
'parametro': params,
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
return {
|
|
289
|
+
'instancia': instancia,
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
function buildLoadGridConfigPayload(entityName) {
|
|
294
|
+
return {
|
|
295
|
+
'gridConfig': {
|
|
296
|
+
'configName': `GrdCfgHtml5:grdcfg.dynaform.pesquisa.${entityName}`,
|
|
297
|
+
},
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
function buildSaveGridConfigPayload(entityName, columns) {
|
|
301
|
+
const field = {};
|
|
302
|
+
columns === null || columns === void 0 ? void 0 : columns.forEach((col, index) => field[`field${index}`] = col);
|
|
303
|
+
return {
|
|
304
|
+
'gridConfig': {
|
|
305
|
+
'compactMode': true,
|
|
306
|
+
'configName': `GrdCfgHtml5:grdcfg.dynaform.pesquisa.${entityName}`,
|
|
307
|
+
field,
|
|
308
|
+
},
|
|
309
|
+
};
|
|
310
|
+
}
|
|
311
|
+
function buildLoadConfig(entityName) {
|
|
312
|
+
return {
|
|
313
|
+
'config': {
|
|
314
|
+
'chave': `PesquisaContent:${entityName}`,
|
|
315
|
+
'tipo': 'T',
|
|
316
|
+
},
|
|
317
|
+
};
|
|
318
|
+
}
|
|
319
|
+
function buildSaveConfig(entityName, lastUsedMode) {
|
|
320
|
+
return {
|
|
321
|
+
'config': {
|
|
322
|
+
lastUsedMode,
|
|
323
|
+
'chave': `PesquisaContent:${entityName}`,
|
|
324
|
+
'tipo': 'T',
|
|
325
|
+
}
|
|
326
|
+
};
|
|
327
|
+
}
|
|
328
|
+
function convertParamType(dataType) {
|
|
329
|
+
//Alerta: Cuidado pra não contaminar o DataType com a implementação
|
|
330
|
+
//atual da pesquisa... em geral, somente inteiros,
|
|
331
|
+
//data (com ou sem hora) e string são realmente relevantes
|
|
332
|
+
switch (dataType) {
|
|
333
|
+
case DataType.NUMBER:
|
|
334
|
+
return "I";
|
|
335
|
+
case DataType.DATE:
|
|
336
|
+
return "D";
|
|
337
|
+
default:
|
|
338
|
+
return "S";
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
var SearchListenerType;
|
|
342
|
+
(function (SearchListenerType) {
|
|
343
|
+
SearchListenerType["beforeSearch"] = "beforeSearch";
|
|
344
|
+
})(SearchListenerType || (SearchListenerType = {}));
|
|
345
|
+
|
|
1
346
|
var PresentationMode;
|
|
2
347
|
(function (PresentationMode) {
|
|
3
348
|
PresentationMode["PRIMARY"] = "primary";
|
|
@@ -44,4 +389,4 @@ var SaveErrorsEnum;
|
|
|
44
389
|
SaveErrorsEnum["DESCRIPTION_CANNOT_BE_CHANGED"] = "DESCRIPTION_CANNOT_BE_CHANGED";
|
|
45
390
|
})(SaveErrorsEnum || (SaveErrorsEnum = {}));
|
|
46
391
|
|
|
47
|
-
export { DataExporterOption as D, PresentationMode as P, SaveErrorsEnum as S,
|
|
392
|
+
export { DataExporterOption as D, PresentationMode as P, SaveErrorsEnum as S, PesquisaFetcher as a, DataExporterType as b, DataExporterFormat as c, buildGridMetadata as d };
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { C as ConfigStorage } from './ConfigStorage.js';
|
|
2
2
|
import { ObjectUtils, StringUtils } from '@sankhyalabs/core';
|
|
3
3
|
import { F as FormConfigFetcher } from './form-config-fetcher.js';
|
|
4
|
+
import { c as TAB_NAMES } from './constants.js';
|
|
4
5
|
|
|
5
6
|
class SnkFormConfigManager {
|
|
6
|
-
constructor(configName, resourceID, onConfigChange) {
|
|
7
|
+
constructor(configName, resourceID, onConfigChange, dataUnit) {
|
|
7
8
|
this._resourceID = resourceID;
|
|
8
9
|
this._configName = configName;
|
|
9
10
|
this._onConfigChange = onConfigChange;
|
|
11
|
+
this._dataUnit = dataUnit;
|
|
10
12
|
}
|
|
11
13
|
addFormLegacyConfig(legacyConfigName) {
|
|
12
14
|
if (this._configName) {
|
|
@@ -17,6 +19,7 @@ class SnkFormConfigManager {
|
|
|
17
19
|
return new Promise(resolve => {
|
|
18
20
|
ConfigStorage.loadFormConfig(this._configName, this._resourceID)
|
|
19
21
|
.then((config) => {
|
|
22
|
+
config = this.buildFormMetadataUITabs(config);
|
|
20
23
|
this.setConfig(config);
|
|
21
24
|
resolve(config);
|
|
22
25
|
})
|
|
@@ -25,6 +28,10 @@ class SnkFormConfigManager {
|
|
|
25
28
|
});
|
|
26
29
|
});
|
|
27
30
|
}
|
|
31
|
+
getEmptyConfig() {
|
|
32
|
+
const config = this.buildFormMetadataUITabs({ fields: [], emptyConfig: true }, true);
|
|
33
|
+
return config;
|
|
34
|
+
}
|
|
28
35
|
saveConfig(config) {
|
|
29
36
|
const configToSave = ObjectUtils.copy(config);
|
|
30
37
|
return new Promise(accept => {
|
|
@@ -68,28 +75,41 @@ class SnkFormConfigManager {
|
|
|
68
75
|
}
|
|
69
76
|
return updatingCardConfig;
|
|
70
77
|
}
|
|
71
|
-
|
|
78
|
+
hasConfig(config) {
|
|
79
|
+
var _a;
|
|
80
|
+
const currentConfig = config !== null && config !== void 0 ? config : this._config;
|
|
81
|
+
if (currentConfig && ((_a = currentConfig.fields) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
getFieldsList(descriptionFilter, forceEmptyConfig = false) {
|
|
72
87
|
var _a;
|
|
73
88
|
const fields = (_a = this._config) === null || _a === void 0 ? void 0 : _a.fields;
|
|
74
|
-
|
|
75
|
-
|
|
89
|
+
const hasConfig = this.hasConfig();
|
|
90
|
+
if (hasConfig && !forceEmptyConfig) {
|
|
91
|
+
return fields.map(({ label, name, readOnly, visible, required, tab, group }) => {
|
|
92
|
+
var _a;
|
|
76
93
|
if (label == undefined) {
|
|
77
|
-
const currentField =
|
|
78
|
-
|
|
94
|
+
const currentField = (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.getField(name);
|
|
95
|
+
if (!currentField)
|
|
96
|
+
return;
|
|
97
|
+
return Object.assign(Object.assign({}, currentField), { name: name !== null && name !== void 0 ? name : currentField.name, readOnly: readOnly !== null && readOnly !== void 0 ? readOnly : currentField.readOnly, visible: visible !== null && visible !== void 0 ? visible : currentField.visible, required: required !== null && required !== void 0 ? required : currentField.required, tab: tab, group: group });
|
|
79
98
|
}
|
|
80
|
-
return { name, label, readOnly, visible, required };
|
|
99
|
+
return { name, label, readOnly, visible, required, tab, group };
|
|
81
100
|
})
|
|
82
101
|
.filter(field => this.isFieldVisible(field, descriptionFilter));
|
|
83
102
|
}
|
|
84
|
-
if (
|
|
85
|
-
return
|
|
86
|
-
.filter(field => this.isFieldVisible(field, descriptionFilter))
|
|
87
|
-
.map(({ label, name, readOnly }) => { return { label, name, readOnly }; });
|
|
103
|
+
if (!this._dataUnit) {
|
|
104
|
+
return [];
|
|
88
105
|
}
|
|
89
|
-
|
|
106
|
+
const filteredFields = this._dataUnit.metadata.fields
|
|
107
|
+
.filter(field => this.isFieldVisible(field, descriptionFilter))
|
|
108
|
+
.map(({ label, name, readOnly, visible, required, properties }) => ({ label, name, readOnly, visible, required, tab: properties === null || properties === void 0 ? void 0 : properties.UITabName }));
|
|
109
|
+
return filteredFields;
|
|
90
110
|
}
|
|
91
111
|
isFieldVisible(field, descriptionFilter) {
|
|
92
|
-
if (field.visible === false) {
|
|
112
|
+
if (field === undefined || field.visible === false) {
|
|
93
113
|
return false;
|
|
94
114
|
}
|
|
95
115
|
if (descriptionFilter == undefined) {
|
|
@@ -99,8 +119,8 @@ class SnkFormConfigManager {
|
|
|
99
119
|
const normalizedFilter = StringUtils.replaceAccentuatedCharsLower(descriptionFilter.toLocaleLowerCase());
|
|
100
120
|
return normalizedText.includes(normalizedFilter);
|
|
101
121
|
}
|
|
102
|
-
getFormConfig(dataUnit, ignoreReadOnlyFormFields) {
|
|
103
|
-
let fields = this.getFieldsList(
|
|
122
|
+
getFormConfig(dataUnit, ignoreReadOnlyFormFields, forceEmptyConfig = false) {
|
|
123
|
+
let fields = this.getFieldsList(undefined, forceEmptyConfig);
|
|
104
124
|
if (ignoreReadOnlyFormFields) {
|
|
105
125
|
fields = fields.filter(field => {
|
|
106
126
|
if (dataUnit) {
|
|
@@ -153,6 +173,44 @@ class SnkFormConfigManager {
|
|
|
153
173
|
async fetchDefaultConfig() {
|
|
154
174
|
return this.getFormConfigFetcher().fetchDefaultConfig(this._configName, this._resourceID);
|
|
155
175
|
}
|
|
176
|
+
parseObjectList(object) {
|
|
177
|
+
if (!object) {
|
|
178
|
+
return [];
|
|
179
|
+
}
|
|
180
|
+
return Array.isArray(object) ? object : [object];
|
|
181
|
+
}
|
|
182
|
+
buildFormMetadataUITabs(config, forceEmptyConfig = false) {
|
|
183
|
+
var _a;
|
|
184
|
+
const hasConfig = this.hasConfig(config);
|
|
185
|
+
if (!forceEmptyConfig && (!this._dataUnit || hasConfig)) {
|
|
186
|
+
return config;
|
|
187
|
+
}
|
|
188
|
+
config = this.getFormConfig(this._dataUnit, false, true);
|
|
189
|
+
config.tabs = this.parseObjectList(config.tabs);
|
|
190
|
+
config.emptyConfig = false;
|
|
191
|
+
config.defaultConfiguration = true;
|
|
192
|
+
const fields = this._dataUnit.metadata.fields;
|
|
193
|
+
for (const currentField of fields) {
|
|
194
|
+
const field = config.fields.find(field => field.name === currentField.name);
|
|
195
|
+
const uiTabName = (_a = currentField.properties) === null || _a === void 0 ? void 0 : _a.UITabName;
|
|
196
|
+
if (!uiTabName || uiTabName === TAB_NAMES.main) {
|
|
197
|
+
continue;
|
|
198
|
+
}
|
|
199
|
+
const haveTab = config.tabs.some((tab) => tab.label === uiTabName);
|
|
200
|
+
if (!haveTab) {
|
|
201
|
+
config.tabs.push({
|
|
202
|
+
label: uiTabName,
|
|
203
|
+
name: uiTabName,
|
|
204
|
+
order: 0,
|
|
205
|
+
visible: true,
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
if (field) {
|
|
209
|
+
field.tab = uiTabName;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
return config;
|
|
213
|
+
}
|
|
156
214
|
}
|
|
157
215
|
|
|
158
216
|
export { SnkFormConfigManager as S };
|
|
@@ -8,7 +8,7 @@ const snkDataUnitMessages = {
|
|
|
8
8
|
},
|
|
9
9
|
cancelInfo: {
|
|
10
10
|
clone: "Duplicação descartada!",
|
|
11
|
-
insert: "A inclusão descartada!",
|
|
11
|
+
insert: "A inclusão foi descartada!",
|
|
12
12
|
update: "A edição foi descartada!"
|
|
13
13
|
},
|
|
14
14
|
confirm: {
|
|
@@ -122,7 +122,7 @@ const snkExporterMessages = {
|
|
|
122
122
|
emailSenderOptStep_subtitle: "Primeiro, escolha o formato do arquivo",
|
|
123
123
|
emailSenderOptStep_lblFormat: "Formato:",
|
|
124
124
|
emailSenderOptStep_formatPDF: "PDF (.pdf)",
|
|
125
|
-
|
|
125
|
+
emailSenderOptStep_formatXLS: "Planilha (.xls)",
|
|
126
126
|
emailSenderOptStep_export: "Exportar:",
|
|
127
127
|
emailSenderOptStep_allData: "Toda a grade",
|
|
128
128
|
emailSenderOptStep_currentPage: "Somente a página atual",
|
|
@@ -245,7 +245,11 @@ const snkConfiguratorMessages = {
|
|
|
245
245
|
};
|
|
246
246
|
|
|
247
247
|
const snkGridMessages = {
|
|
248
|
-
findColumn: "Busca de colunas"
|
|
248
|
+
findColumn: "Busca de colunas",
|
|
249
|
+
cancelConfirmation: {
|
|
250
|
+
title: "Aviso",
|
|
251
|
+
message: "As alterações realizadas serão descartadas<br/><br/><b>Você realmente gostaria de cancelar?</b>",
|
|
252
|
+
}
|
|
249
253
|
};
|
|
250
254
|
const snkGridConfigMessages = {
|
|
251
255
|
gridConfiguration: "Configuração da Grade",
|
|
@@ -235,6 +235,21 @@ function applyFilter(records, dataUnit, filters) {
|
|
|
235
235
|
}
|
|
236
236
|
return records.filter(filterFunction);
|
|
237
237
|
}
|
|
238
|
+
function buildLoadDataResponse(recordsIn, dataUnit, request) {
|
|
239
|
+
let records = recordsIn ? [...recordsIn] : [];
|
|
240
|
+
records = applyFilter(records, dataUnit, request.filters);
|
|
241
|
+
records = applySorting(records, dataUnit, request.sort);
|
|
242
|
+
const { offset, limit } = request;
|
|
243
|
+
const paginationInfoBuilderParams = {
|
|
244
|
+
recordsLength: records.length,
|
|
245
|
+
offset,
|
|
246
|
+
recordsPerPage: limit,
|
|
247
|
+
};
|
|
248
|
+
return Promise.resolve({
|
|
249
|
+
records: getPagesByRecords(records, offset, limit),
|
|
250
|
+
paginationInfo: dataUnit.pageSize ? buildPaginationInfo(paginationInfoBuilderParams) : undefined,
|
|
251
|
+
});
|
|
252
|
+
}
|
|
238
253
|
function applySorting(records, dataUnit, sorting) {
|
|
239
254
|
if (sorting == undefined || sorting.length == 0) {
|
|
240
255
|
return records;
|
|
@@ -245,18 +260,28 @@ function applySorting(records, dataUnit, sorting) {
|
|
|
245
260
|
}
|
|
246
261
|
return records.sort(sortingFunction);
|
|
247
262
|
}
|
|
248
|
-
function
|
|
249
|
-
|
|
250
|
-
|
|
263
|
+
function hasValidLimitAndOffset(offset, limit) {
|
|
264
|
+
return offset >= 0 && limit >= 0;
|
|
265
|
+
}
|
|
266
|
+
function getPagesByRecords(records, offset = 0, limit = 0) {
|
|
267
|
+
if (!records || !records.length || !hasValidLimitAndOffset(offset, limit))
|
|
268
|
+
return [];
|
|
269
|
+
if (limit === 0 && offset === 0)
|
|
270
|
+
return records;
|
|
271
|
+
return records.slice(offset, offset + limit);
|
|
272
|
+
}
|
|
273
|
+
function buildPaginationInfo({ recordsLength = 0, offset = 0, recordsPerPage = 0 }) {
|
|
274
|
+
if (!recordsLength) {
|
|
275
|
+
return { currentPage: 0, firstRecord: 0, lastRecord: 0, total: 0, hasMore: false };
|
|
251
276
|
}
|
|
252
|
-
const
|
|
253
|
-
const lastRecord = Math.min(
|
|
277
|
+
const lastRecordIndex = offset + recordsPerPage;
|
|
278
|
+
const lastRecord = lastRecordIndex ? Math.min(lastRecordIndex, recordsLength) : recordsLength;
|
|
254
279
|
return {
|
|
255
|
-
currentPage:
|
|
256
|
-
firstRecord: offset,
|
|
280
|
+
currentPage: recordsPerPage === 0 ? 0 : Math.ceil(offset / recordsPerPage),
|
|
281
|
+
firstRecord: offset + 1,
|
|
257
282
|
lastRecord: lastRecord,
|
|
258
|
-
total:
|
|
259
|
-
hasMore:
|
|
283
|
+
total: recordsLength,
|
|
284
|
+
hasMore: lastRecord < recordsLength,
|
|
260
285
|
};
|
|
261
286
|
}
|
|
262
287
|
|
|
@@ -342,9 +367,7 @@ class InMemoryLoader {
|
|
|
342
367
|
return StringUtils.generateUUID();
|
|
343
368
|
}
|
|
344
369
|
inMemoryLoader(dataUnit, request, recordsIn) {
|
|
345
|
-
|
|
346
|
-
records = applySorting(records, dataUnit, request.sort);
|
|
347
|
-
return Promise.resolve({ records, paginationInfo: buildPaginationInfo(records, request.offset, request.limit) });
|
|
370
|
+
return buildLoadDataResponse(recordsIn, dataUnit, request);
|
|
348
371
|
}
|
|
349
372
|
metadaLoader() {
|
|
350
373
|
return Promise.resolve(this._metadata);
|
|
@@ -424,12 +447,19 @@ class DatasetStrategy {
|
|
|
424
447
|
const records = this.processRecords(dataUnit, fields, responseRecords);
|
|
425
448
|
const loadingInProgress = pagerId != undefined;
|
|
426
449
|
const count = loadingInfo.count + records.length;
|
|
450
|
+
const isInsertingNewRecord = dataUnit.hasNewRecord();
|
|
427
451
|
const needReload = !loadingInProgress && localSorting.length > 0;
|
|
452
|
+
/**
|
|
453
|
+
* Caso precise recarregar dados, porém está no meio de uma inserção, os dados não devem recarregados instantaneamente,
|
|
454
|
+
* Mas sim, sinalizar que o dataUnit está aguardando para der recarregado.
|
|
455
|
+
*/
|
|
456
|
+
if (needReload && isInsertingNewRecord) {
|
|
457
|
+
dataUnit.setWaitingToReload(true);
|
|
458
|
+
}
|
|
428
459
|
return Promise.resolve({
|
|
429
460
|
records,
|
|
430
461
|
loadingInfo: Object.assign(Object.assign({}, loadingInfo), { pagerId,
|
|
431
|
-
loadingInProgress, total: loadingInProgress ? undefined : count, count,
|
|
432
|
-
needReload })
|
|
462
|
+
loadingInProgress, total: loadingInProgress ? undefined : count, count, needReload: needReload && !isInsertingNewRecord })
|
|
433
463
|
});
|
|
434
464
|
}
|
|
435
465
|
catch (error) {
|
|
@@ -682,7 +712,7 @@ class DataUnitDataLoader {
|
|
|
682
712
|
}
|
|
683
713
|
const count = loadingInfo.count;
|
|
684
714
|
if (loadingInfo.loadingInProgress) {
|
|
685
|
-
dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { count }));
|
|
715
|
+
dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { count, loadingInProgress: true }));
|
|
686
716
|
return;
|
|
687
717
|
}
|
|
688
718
|
if (loadingInfo.needReload) {
|
|
@@ -690,7 +720,7 @@ class DataUnitDataLoader {
|
|
|
690
720
|
dataUnit.gotoPage(0);
|
|
691
721
|
return;
|
|
692
722
|
}
|
|
693
|
-
dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { total: count, count }));
|
|
723
|
+
dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { total: count, count, loadingInProgress: false }));
|
|
694
724
|
}
|
|
695
725
|
static registryLoading(dataUnit, loadingInfo) {
|
|
696
726
|
if (loadingInfo == undefined) {
|
|
@@ -1052,4 +1082,4 @@ class DataUnitFetcher {
|
|
|
1052
1082
|
}
|
|
1053
1083
|
}
|
|
1054
1084
|
|
|
1055
|
-
export { DataUnitFetcher as D, InMemoryLoader as I, PreloadManager as P,
|
|
1085
|
+
export { DataUnitFetcher as D, InMemoryLoader as I, PreloadManager as P, DatasetStrategy as a, buildLoadDataResponse as b, getRecordValue as g };
|