@sankhyalabs/sankhyablocks 8.16.0-dev.11 → 8.16.0-dev.110
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/ClientSideExporterProvider-a2753c93.js +378 -0
- package/dist/cjs/{ConfigStorage-e49214c6.js → ConfigStorage-df09fb78.js} +2 -2
- package/dist/cjs/{DataFetcher-77729a93.js → DataFetcher-1afdb18e.js} +231 -84
- package/dist/cjs/{RecordIDUtils-3735135c.js → GetSelectedRecordsIDsInfo-bd50caf1.js} +10 -10
- package/dist/cjs/IFetchDataExporterParams-e78ec415.js +8 -0
- package/dist/cjs/ISave-c76e2c51.js +397 -0
- package/dist/cjs/{SnkFormConfigManager-beebf47a.js → SnkFormConfigManager-45a8d7b7.js} +75 -17
- package/dist/cjs/{SnkMessageBuilder-897ffd08.js → SnkMessageBuilder-aecd7c18.js} +37 -26
- package/dist/cjs/{auth-fetcher-29bb791c.js → auth-fetcher-1687ac0a.js} +1 -1
- package/dist/cjs/{constants-35ddd366.js → constants-77c1b8bd.js} +10 -0
- package/dist/cjs/{dataunit-fetcher-d4873076.js → dataunit-fetcher-a723f0dc.js} +225 -175
- package/dist/cjs/{field-search-f56aa7d6.js → field-search-68e34bf4.js} +5 -1
- package/dist/cjs/{form-config-fetcher-feb08214.js → form-config-fetcher-40d3f752.js} +56 -2
- package/dist/cjs/{index-1dfc7a6e.js → index-e3e39724.js} +5 -0
- package/dist/cjs/index-f9e81701.js +16 -32
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/pesquisa-grid_2.cjs.entry.js +155 -0
- package/dist/cjs/sankhyablocks.cjs.js +1 -1
- package/dist/cjs/{snk-actions-button_4.cjs.entry.js → snk-actions-button_7.cjs.entry.js} +203 -46
- package/dist/cjs/snk-application.cjs.entry.js +471 -79
- package/dist/cjs/snk-attach.cjs.entry.js +91 -50
- package/dist/cjs/{snk-form-config.cjs.entry.js → snk-config-options_3.cjs.entry.js} +401 -13
- package/dist/cjs/snk-configurator.cjs.entry.js +10 -3
- package/dist/cjs/snk-crud.cjs.entry.js +57 -60
- package/dist/cjs/snk-data-exporter.cjs.entry.js +38 -30
- package/dist/cjs/{snk-data-unit-ece44c4a.js → snk-data-unit-ebfdb9ba.js} +275 -37
- package/dist/cjs/snk-data-unit.cjs.entry.js +5 -5
- package/dist/cjs/snk-detail-view.cjs.entry.js +17 -17
- 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 +1438 -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-number.cjs.entry.js +1 -1
- package/dist/cjs/snk-filter-search.cjs.entry.js +18 -5
- package/dist/cjs/snk-filter-text.cjs.entry.js +2 -1
- package/dist/cjs/snk-grid.cjs.entry.js +115 -33
- package/dist/cjs/{snk-guides-viewer-aafc3073.js → snk-guides-viewer-fd39f437.js} +120 -55
- package/dist/cjs/snk-guides-viewer.cjs.entry.js +11 -12
- 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 +116 -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 +179 -130
- package/dist/cjs/snk-tab-config.cjs.entry.js +1 -1
- package/dist/cjs/snk-taskbar.cjs.entry.js +73 -40
- package/dist/cjs/{taskbar-elements-9ad1f9c0.js → taskbar-elements-02379452.js} +4 -1
- package/dist/collection/collection-manifest.json +16 -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/errorhandler/snk-error-handler.js +5 -2
- 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/search-strategy/exec-prepared-search-plus.js +107 -0
- package/dist/collection/components/snk-application/snk-application.css +36 -0
- package/dist/collection/components/snk-application/snk-application.js +450 -72
- package/dist/collection/components/snk-attach/snk-attach.js +51 -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 +19 -18
- package/dist/collection/components/snk-configurator/snk-configurator.css +1 -1
- package/dist/collection/components/snk-configurator/snk-configurator.js +26 -1
- package/dist/collection/components/snk-crud/snk-crud.js +181 -52
- package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.css +10 -1
- package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +27 -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 +165 -45
- 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 +8 -8
- package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +9 -2
- package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +41 -10
- package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +18 -6
- package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +1 -1
- package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +10 -9
- 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/MultipleUpdateHelper.js +128 -0
- package/dist/collection/components/snk-data-unit/snk-data-unit.js +156 -37
- package/dist/collection/components/snk-filter-bar/filter-item/dataunitfilter/data-unit-filter-builder.js +3 -3
- 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-number.js +1 -1
- package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-search.js +18 -5
- 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 +10 -4
- 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 +2 -6
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +119 -29
- 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-form-config/subcomponents/snk-config-options/snk-config-options.js +5 -3
- package/dist/collection/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.js +2 -2
- package/dist/collection/components/snk-grid/snk-grid.css +8 -0
- package/dist/collection/components/snk-grid/snk-grid.js +236 -18
- package/dist/collection/components/snk-grid-config/snk-grid-config.css +1 -1
- package/dist/collection/components/snk-grid-config/snk-grid-config.js +2 -0
- package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.css +3 -0
- package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.js +73 -0
- package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.css +78 -0
- package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.js +57 -0
- 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 +181 -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 +280 -51
- 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/elements/taskbar-actions-button/taskbar-actions-button.css +13 -0
- package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +1 -1
- package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +3 -0
- package/dist/collection/components/snk-taskbar/processor/taskbar-processor.js +5 -1
- package/dist/collection/components/snk-taskbar/snk-taskbar.js +113 -39
- package/dist/collection/lib/@types/index.js +5 -0
- package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +11 -5
- package/dist/collection/lib/configs/LayoutFormConfig.js +25 -0
- package/dist/collection/lib/dataUnit/InMemoryLoader.js +12 -103
- package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +11 -32
- package/dist/collection/lib/http/data-fetcher/DataFetcher.js +44 -29
- 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/cache/PreloadManager.js +5 -2
- 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 +23 -14
- package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.js +6 -1
- package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +59 -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 +133 -9
- package/dist/collection/lib/index.js +1 -0
- package/dist/collection/lib/message/SnkMessageBuilder.js +1 -0
- package/dist/collection/lib/message/resources/snk-data-unit.msg.js +28 -23
- 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/message/resources/snk-taskbar.msg.js +1 -0
- 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 +10 -0
- package/dist/collection/sw.js +46 -0
- package/dist/components/{IExporterProvider.js → ContinuousInsertUtils.js} +186 -37
- package/dist/components/DataFetcher.js +231 -84
- package/dist/{esm/RecordIDUtils-87d02110.js → components/GetSelectedRecordsIDsInfo.js} +10 -10
- package/dist/components/ISave.js +391 -1
- package/dist/components/SnkFormConfigManager.js +73 -15
- package/dist/components/SnkMessageBuilder.js +37 -26
- package/dist/components/constants.js +11 -1
- package/dist/components/dataunit-fetcher.js +243 -190
- package/dist/components/form-config-fetcher.js +55 -1
- package/dist/components/index.d.ts +5 -0
- package/dist/components/index.js +5 -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 +494 -77
- package/dist/components/snk-attach2.js +103 -68
- package/dist/components/snk-config-options2.js +6 -4
- package/dist/components/snk-configurator2.js +23 -3
- package/dist/components/snk-crud.js +135 -113
- package/dist/components/snk-data-exporter2.js +37 -23
- package/dist/components/snk-data-unit2.js +275 -74
- package/dist/components/snk-detail-view2.js +230 -148
- package/dist/components/snk-exporter-email-sender2.js +1 -1
- package/dist/components/snk-filter-bar2.js +68 -34
- 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 +10 -4
- package/dist/components/snk-filter-modal.js +4 -2
- package/dist/components/snk-filter-number.js +1 -1
- package/dist/components/snk-filter-search.js +18 -5
- 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 +3 -1
- package/dist/components/snk-grid2.js +112 -23
- package/dist/components/snk-layout-form-config.d.ts +11 -0
- package/dist/components/snk-layout-form-config.js +6 -0
- package/dist/components/snk-layout-form-config2.js +73 -0
- package/dist/components/snk-personalized-filter-editor.js +4 -4
- package/dist/components/snk-pesquisa2.js +132 -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 +176 -128
- 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 +76 -40
- package/dist/components/snk-view-representation.d.ts +11 -0
- package/dist/components/snk-view-representation.js +6 -0
- package/dist/components/snk-view-representation2.js +41 -0
- package/dist/components/taskbar-actions-button2.js +2 -2
- package/dist/components/teste-pesquisa.js +13 -1
- package/dist/esm/ClientSideExporterProvider-b3871edb.js +367 -0
- package/dist/esm/{ConfigStorage-e476378d.js → ConfigStorage-71e6766f.js} +2 -2
- package/dist/esm/{DataFetcher-773a3e4b.js → DataFetcher-88e56266.js} +231 -84
- package/dist/esm/GetSelectedRecordsIDsInfo-9fa41508.js +41 -0
- package/dist/esm/IFetchDataExporterParams-d73bed3d.js +8 -0
- package/dist/esm/ISave-5efafc97.js +394 -0
- package/dist/esm/{SnkFormConfigManager-298cd647.js → SnkFormConfigManager-be490a33.js} +75 -17
- package/dist/esm/{SnkMessageBuilder-571462fb.js → SnkMessageBuilder-12f5fe1a.js} +37 -26
- package/dist/esm/{auth-fetcher-a411f73c.js → auth-fetcher-3510520e.js} +1 -1
- package/dist/esm/{constants-8457af36.js → constants-7db1128a.js} +11 -1
- package/dist/esm/{dataunit-fetcher-3d2ec959.js → dataunit-fetcher-0e025732.js} +227 -174
- package/dist/esm/{field-search-efbe307f.js → field-search-f8b1d91e.js} +5 -1
- package/dist/esm/{form-config-fetcher-e0382e5a.js → form-config-fetcher-fa208a6c.js} +56 -2
- package/dist/esm/index-a7d3d3f1.js +16 -32
- package/dist/esm/{index-3aa4977a.js → index-b40568ff.js} +6 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/pesquisa-grid_2.entry.js +150 -0
- package/dist/esm/sankhyablocks.js +1 -1
- package/dist/esm/{snk-actions-button_4.entry.js → snk-actions-button_7.entry.js} +203 -49
- package/dist/esm/snk-application.entry.js +472 -80
- package/dist/esm/snk-attach.entry.js +92 -51
- package/dist/esm/{snk-form-config.entry.js → snk-config-options_3.entry.js} +401 -15
- package/dist/esm/snk-configurator.entry.js +10 -3
- package/dist/esm/snk-crud.entry.js +58 -61
- package/dist/esm/snk-data-exporter.entry.js +38 -30
- package/dist/esm/{snk-data-unit-2a1d5d09.js → snk-data-unit-03654813.js} +275 -37
- package/dist/esm/snk-data-unit.entry.js +5 -5
- package/dist/esm/snk-detail-view.entry.js +17 -17
- 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 +1431 -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-number.entry.js +1 -1
- package/dist/esm/snk-filter-search.entry.js +18 -5
- package/dist/esm/snk-filter-text.entry.js +2 -1
- package/dist/esm/snk-grid.entry.js +110 -28
- package/dist/esm/{snk-guides-viewer-62124f3d.js → snk-guides-viewer-75e06feb.js} +121 -56
- package/dist/esm/snk-guides-viewer.entry.js +11 -12
- 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 +116 -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 +165 -116
- package/dist/esm/snk-tab-config.entry.js +1 -1
- package/dist/esm/snk-taskbar.entry.js +74 -41
- package/dist/esm/{taskbar-elements-d59867f1.js → taskbar-elements-c62b6c66.js} +4 -1
- package/dist/sankhyablocks/{p-3287a6cc.js → p-03b68a74.js} +1 -1
- package/dist/sankhyablocks/p-0f3698af.js +1 -0
- package/dist/sankhyablocks/{p-9dfda04a.entry.js → p-165cde3b.entry.js} +1 -1
- package/dist/sankhyablocks/p-16a1dd18.entry.js +1 -0
- package/dist/sankhyablocks/p-1a51dfde.entry.js +1 -0
- package/dist/sankhyablocks/p-23736d75.js +1 -0
- package/dist/sankhyablocks/p-271c86d3.entry.js +1 -0
- package/dist/sankhyablocks/p-2c08fa3e.entry.js +11 -0
- package/dist/sankhyablocks/p-2d6df7e7.entry.js +1 -0
- package/dist/sankhyablocks/{p-95df461f.entry.js → p-3749dffb.entry.js} +1 -1
- package/dist/sankhyablocks/p-41da5310.js +1 -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-bd008859.entry.js → p-490b75b5.entry.js} +1 -1
- package/dist/sankhyablocks/p-4a93daef.entry.js +1 -0
- package/dist/sankhyablocks/p-4e861843.entry.js +1 -0
- package/dist/sankhyablocks/{p-aaa3ee68.entry.js → p-5f157b09.entry.js} +1 -1
- package/dist/sankhyablocks/p-5ffa0493.entry.js +1 -0
- package/dist/sankhyablocks/p-60137b7a.entry.js +1 -0
- package/dist/sankhyablocks/p-601b252b.js +26 -0
- package/dist/sankhyablocks/p-65be98c5.entry.js +1 -0
- package/dist/sankhyablocks/p-6a0c8ce0.entry.js +1 -0
- package/dist/sankhyablocks/p-6dd38d7b.js +6 -0
- package/dist/sankhyablocks/{p-0cd3c0a9.js → p-73285a8a.js} +1 -1
- package/dist/sankhyablocks/p-7993b2e3.js +60 -0
- package/dist/sankhyablocks/p-79f823f3.entry.js +1 -0
- package/dist/sankhyablocks/p-7dd49d15.js +1 -0
- package/dist/sankhyablocks/p-80f8c22c.js +1 -0
- package/dist/sankhyablocks/p-885802c3.js +1 -0
- package/dist/sankhyablocks/p-89c92727.entry.js +1 -0
- package/dist/sankhyablocks/{p-41f8bfa3.entry.js → p-8c235d4c.entry.js} +1 -1
- package/dist/sankhyablocks/p-8f3f2306.js +1 -0
- package/dist/sankhyablocks/p-90684a75.entry.js +1 -0
- package/dist/sankhyablocks/{p-b0ef4383.js → p-9261d8a0.js} +1 -1
- package/dist/sankhyablocks/p-a14a09c3.entry.js +1 -0
- package/dist/sankhyablocks/p-ad07f0c5.entry.js +1 -0
- package/dist/sankhyablocks/p-b0ab5066.entry.js +1 -0
- package/dist/sankhyablocks/p-b6200d32.entry.js +1 -0
- package/dist/sankhyablocks/{p-8eb67fa4.entry.js → p-c0eb761b.entry.js} +1 -1
- package/dist/sankhyablocks/p-c2e468c9.entry.js +1 -0
- package/dist/sankhyablocks/p-cc8c3bca.entry.js +1 -0
- package/dist/sankhyablocks/p-cf1f25ed.entry.js +1 -0
- package/dist/sankhyablocks/p-ebdb9d89.js +1 -0
- package/dist/sankhyablocks/p-f4d5bb7f.js +1 -0
- package/dist/sankhyablocks/p-fb0f0087.js +1 -0
- package/dist/sankhyablocks/p-fbba7e3d.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/search-strategy/exec-prepared-search-plus.d.ts +5 -0
- package/dist/types/components/snk-application/snk-application.d.ts +55 -16
- package/dist/types/components/snk-attach/snk-attach.d.ts +2 -0
- package/dist/types/components/snk-configurator/snk-configurator.d.ts +6 -0
- package/dist/types/components/snk-crud/snk-crud.d.ts +30 -0
- package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +5 -0
- package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +20 -1
- package/dist/types/components/snk-data-exporter/data/export-result.d.ts +2 -1
- package/dist/types/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.d.ts +1 -0
- package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +9 -1
- package/dist/types/components/snk-data-exporter/interfaces/IRecordID.d.ts +1 -0
- package/dist/types/components/snk-data-exporter/providers/ClientSideExporterProvider.d.ts +3 -1
- 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/MultipleUpdateHelper.d.ts +9 -0
- package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +19 -0
- package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-search.d.ts +5 -3
- 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/filtercolumn/SnkMultiSelectionListDataSource.d.ts +2 -1
- package/dist/types/components/snk-grid/snk-grid.d.ts +38 -0
- package/dist/types/components/snk-grid-config/snk-grid-config.d.ts +1 -0
- package/dist/types/components/snk-layout-form-config/snk-layout-form-config.d.ts +15 -0
- package/dist/types/components/snk-layout-form-config/snk-view-representation/snk-view-representation.d.ts +10 -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 +36 -1
- package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +41 -5
- package/dist/types/components/snk-simple-form-config/snk-simple-form-config.d.ts +34 -0
- package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +2 -1
- package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +1 -0
- package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +12 -0
- package/dist/types/components.d.ts +501 -16
- package/dist/types/lib/@types/index.d.ts +4 -0
- package/dist/types/lib/configs/LayoutFormConfig.d.ts +11 -0
- package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +4 -11
- package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +9 -2
- package/dist/types/lib/dataUnit/interfaces/InMemoryLoaderConfig.d.ts +2 -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/cache/PreloadManager.d.ts +1 -1
- 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 +6 -2
- package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +14 -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 +21 -2
- package/dist/types/lib/index.d.ts +1 -0
- package/dist/types/lib/message/SnkMessageBuilder.d.ts +2 -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/dist/types/lib/utils/constants.d.ts +8 -0
- package/package.json +4 -3
- package/react/components.d.ts +5 -0
- package/react/components.js +5 -0
- package/react/components.js.map +1 -1
- package/dist/cjs/IExporterProvider-10b7fed5.js +0 -230
- package/dist/cjs/ISave-e91b70a7.js +0 -9
- package/dist/cjs/pesquisa-fetcher-a1d0353f.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/IExporterProvider-d597f27d.js +0 -221
- package/dist/esm/ISave-d8c8bc59.js +0 -9
- package/dist/esm/pesquisa-fetcher-a87445a0.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-01ba23cd.entry.js +0 -1
- package/dist/sankhyablocks/p-091ce761.js +0 -60
- package/dist/sankhyablocks/p-14b8b656.entry.js +0 -1
- package/dist/sankhyablocks/p-181975f1.js +0 -26
- package/dist/sankhyablocks/p-1e971cb0.entry.js +0 -1
- package/dist/sankhyablocks/p-21749402.js +0 -1
- package/dist/sankhyablocks/p-219f888d.entry.js +0 -1
- package/dist/sankhyablocks/p-25f1fc39.js +0 -6
- package/dist/sankhyablocks/p-2e9c764c.entry.js +0 -1
- package/dist/sankhyablocks/p-30cf616e.js +0 -1
- package/dist/sankhyablocks/p-3b60db06.entry.js +0 -1
- package/dist/sankhyablocks/p-421bec84.entry.js +0 -1
- package/dist/sankhyablocks/p-42f7b05d.entry.js +0 -1
- package/dist/sankhyablocks/p-51999ab5.entry.js +0 -1
- package/dist/sankhyablocks/p-594bc21d.js +0 -1
- package/dist/sankhyablocks/p-5f016aed.js +0 -1
- package/dist/sankhyablocks/p-62f34e6f.entry.js +0 -1
- package/dist/sankhyablocks/p-631954eb.entry.js +0 -1
- package/dist/sankhyablocks/p-65f8c11c.entry.js +0 -1
- package/dist/sankhyablocks/p-684a2590.entry.js +0 -1
- package/dist/sankhyablocks/p-70001ac1.js +0 -1
- package/dist/sankhyablocks/p-70a4af56.entry.js +0 -1
- package/dist/sankhyablocks/p-7663f597.entry.js +0 -1
- package/dist/sankhyablocks/p-76a65660.js +0 -1
- package/dist/sankhyablocks/p-7e7a7473.js +0 -1
- package/dist/sankhyablocks/p-7ef9c55c.js +0 -1
- package/dist/sankhyablocks/p-88aa931b.entry.js +0 -1
- package/dist/sankhyablocks/p-939e15d3.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-b11aa1e0.entry.js +0 -1
- package/dist/sankhyablocks/p-c2495304.js +0 -1
- package/dist/sankhyablocks/p-c8622597.entry.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-d65d98ed.entry.js +0 -1
- package/dist/sankhyablocks/p-d6610d11.entry.js +0 -11
- package/dist/sankhyablocks/p-e8763234.entry.js +0 -1
- package/dist/sankhyablocks/p-f2809746.entry.js +0 -1
- package/dist/sankhyablocks/p-ffa5e4ff.js +0 -1
- package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +0 -3
@@ -1,47 +1,139 @@
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
2
|
-
import {
|
2
|
+
import { Action, ObjectUtils, DataUnitAction, StringUtils, ApplicationContext } from '@sankhyalabs/core';
|
3
3
|
import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
|
4
4
|
import { O as OperationMap, S as SnkMessageBuilder } from './SnkMessageBuilder.js';
|
5
|
-
import { g as getRecordValue,
|
5
|
+
import { g as getRecordValue, a as DatasetStrategy } from './dataunit-fetcher.js';
|
6
6
|
import { convertType } from '@sankhyalabs/core/dist/dataunit/metadata/DataType';
|
7
|
+
import { g as getSelectedRecordsIDsInfo } from './GetSelectedRecordsIDsInfo.js';
|
7
8
|
|
8
|
-
const
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
9
|
+
const NO_TAB_NAME = "__NO_TAB_NAME__";
|
10
|
+
const MAIN_TAB_NAME = "__main";
|
11
|
+
async function showConfirmMultipleUpdatePopup({ title, labelBtnConfirm, labelBtnCancel, message, changingFields, }) {
|
12
|
+
return new Promise((resolve) => {
|
13
|
+
const popup = builPopup(title, resolve);
|
14
|
+
const contentContainer = buildContentContainer();
|
15
|
+
contentContainer.appendChild(buildMessage(message));
|
16
|
+
contentContainer.appendChild(buildChangesContainer(changingFields));
|
17
|
+
const actionsContainer = buildActionsContainer();
|
18
|
+
actionsContainer.appendChild(buildCancelBtn(popup, labelBtnCancel, resolve));
|
19
|
+
actionsContainer.appendChild(buildConfirmBtn(popup, labelBtnConfirm, resolve));
|
20
|
+
contentContainer.appendChild(actionsContainer);
|
21
|
+
popup.appendChild(contentContainer);
|
22
|
+
document.body.appendChild(popup);
|
23
|
+
});
|
24
|
+
}
|
25
|
+
function groupChanges(changingFields) {
|
26
|
+
const changesMap = new Map();
|
27
|
+
changingFields.forEach(change => {
|
28
|
+
var _a;
|
29
|
+
const key = (_a = change.tabName) !== null && _a !== void 0 ? _a : NO_TAB_NAME;
|
30
|
+
if (!changesMap.has(key))
|
31
|
+
changesMap.set(key, []);
|
32
|
+
changesMap.get(key).push(change);
|
33
|
+
});
|
34
|
+
return changesMap;
|
35
|
+
}
|
36
|
+
function getTabName(tabName) {
|
37
|
+
switch (tabName) {
|
38
|
+
case NO_TAB_NAME:
|
39
|
+
return "";
|
40
|
+
case MAIN_TAB_NAME:
|
41
|
+
return "Principal";
|
42
|
+
default:
|
43
|
+
return tabName;
|
42
44
|
}
|
43
|
-
|
44
|
-
|
45
|
+
}
|
46
|
+
function buildChangesDiv(tabName, changes) {
|
47
|
+
const changeLabel = document.createElement('span');
|
48
|
+
changeLabel.innerText = getTabName(tabName);
|
49
|
+
changeLabel.style.display = 'block';
|
50
|
+
changeLabel.style.fontWeight = 'var(--text-weight--large, 500)';
|
51
|
+
changeLabel.style.fontSize = 'var(--text--medium, 14px)';
|
52
|
+
changeLabel.style.marginBottom = 'var(--space--small, 6px)';
|
53
|
+
const changeDiv = document.createElement('div');
|
54
|
+
changeDiv.style.padding = 'var(--space--medium, 12px) 0';
|
55
|
+
changeDiv.style.borderTop = '1px solid var(--color--disable-secondary, #f2f5f8)';
|
56
|
+
changeDiv.appendChild(changeLabel);
|
57
|
+
changes.forEach(change => {
|
58
|
+
const changeLine = document.createElement('span');
|
59
|
+
changeLine.innerHTML = `${change.label}: <span style="color: var(--text--primary, #626e82)">${change.value}</span>`;
|
60
|
+
changeLine.style.display = 'block';
|
61
|
+
changeLine.style.marginBottom = 'var(--space--extra-small, 3px)';
|
62
|
+
changeDiv.appendChild(changeLine);
|
63
|
+
});
|
64
|
+
return changeDiv;
|
65
|
+
}
|
66
|
+
function buildChangesContainer(changingFields) {
|
67
|
+
const changesContainer = document.createElement('div');
|
68
|
+
changesContainer.style.flexDirection = 'column';
|
69
|
+
changesContainer.style.display = 'flex';
|
70
|
+
changesContainer.style.overflow = 'auto';
|
71
|
+
changesContainer.style.maxHeight = '300px';
|
72
|
+
const changesMap = groupChanges(changingFields);
|
73
|
+
changesMap.forEach((changes, key) => {
|
74
|
+
changesContainer.appendChild(buildChangesDiv(key, changes));
|
75
|
+
});
|
76
|
+
return changesContainer;
|
77
|
+
}
|
78
|
+
function buildMessage(messageContent) {
|
79
|
+
const message = document.createElement('p');
|
80
|
+
message.textContent = messageContent;
|
81
|
+
message.style.fontSize = 'var(--text--medium, 14px)';
|
82
|
+
return message;
|
83
|
+
}
|
84
|
+
function buildContentContainer() {
|
85
|
+
const contentContainer = document.createElement('div');
|
86
|
+
contentContainer.style.display = 'flex';
|
87
|
+
contentContainer.style.flexDirection = 'column';
|
88
|
+
contentContainer.style.fontFamily = 'var(--font-pattern, Roboto)';
|
89
|
+
contentContainer.style.fontSize = 'var(--text--medium, 14px)';
|
90
|
+
return contentContainer;
|
91
|
+
}
|
92
|
+
function buildActionsContainer() {
|
93
|
+
const actionsContainer = document.createElement('div');
|
94
|
+
actionsContainer.style.display = 'flex';
|
95
|
+
actionsContainer.style.flexDirection = 'row';
|
96
|
+
actionsContainer.style.justifyContent = 'flex-end';
|
97
|
+
actionsContainer.style.gap = '5px';
|
98
|
+
return actionsContainer;
|
99
|
+
}
|
100
|
+
function builPopup(title, resolve) {
|
101
|
+
const popup = document.createElement('ez-popup');
|
102
|
+
popup.opened = true;
|
103
|
+
popup.size = 'small';
|
104
|
+
popup.ezTitle = title;
|
105
|
+
popup.heightMode = 'auto';
|
106
|
+
popup.addEventListener('ezClosePopup', () => {
|
107
|
+
document.body.removeChild(popup);
|
108
|
+
resolve(false);
|
109
|
+
}, { once: true });
|
110
|
+
popup.addEventListener('ezPopupAction', () => {
|
111
|
+
document.body.removeChild(popup);
|
112
|
+
resolve(false);
|
113
|
+
}, { once: true });
|
114
|
+
return popup;
|
115
|
+
}
|
116
|
+
function buildConfirmBtn(popup, confirmBtnLabel, resolve) {
|
117
|
+
const confirmBtn = document.createElement('ez-button');
|
118
|
+
confirmBtn.label = confirmBtnLabel;
|
119
|
+
confirmBtn.size = 'medium';
|
120
|
+
confirmBtn.classList.add('ez-button--primary');
|
121
|
+
confirmBtn.onclick = () => {
|
122
|
+
document.body.removeChild(popup);
|
123
|
+
resolve(true);
|
124
|
+
};
|
125
|
+
return confirmBtn;
|
126
|
+
}
|
127
|
+
function buildCancelBtn(popup, cancelBtnLabel, resolve) {
|
128
|
+
const cancelBtn = document.createElement('ez-button');
|
129
|
+
cancelBtn.label = cancelBtnLabel;
|
130
|
+
cancelBtn.size = 'medium';
|
131
|
+
cancelBtn.onclick = () => {
|
132
|
+
document.body.removeChild(popup);
|
133
|
+
resolve(false);
|
134
|
+
};
|
135
|
+
return cancelBtn;
|
136
|
+
}
|
45
137
|
|
46
138
|
const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
47
139
|
constructor() {
|
@@ -59,9 +151,10 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
59
151
|
this._fieldsWithRmPrecision = [];
|
60
152
|
this._metadataByRow = new Map();
|
61
153
|
this._rowMetadataCache = new Map();
|
154
|
+
this._formFieldsConfig = [];
|
62
155
|
this.REGEX_DATAUNIT_NAME = /dd:\/\/(.+?)\//;
|
63
156
|
this._dataUnitObserver = async (action) => {
|
64
|
-
const duState = this.buildDataState(action.type);
|
157
|
+
const duState = await this.buildDataState(action.type);
|
65
158
|
this.dataState = duState;
|
66
159
|
this.messagesBuilder.currentOperation = this.getMessageOperation();
|
67
160
|
switch (action.type) {
|
@@ -135,6 +228,10 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
135
228
|
this.messagesBuilderUpdated.emit(newValue);
|
136
229
|
}
|
137
230
|
}
|
231
|
+
onMasterFormConfigChange({ detail }) {
|
232
|
+
var _a;
|
233
|
+
this._formFieldsConfig = (_a = detail === null || detail === void 0 ? void 0 : detail.fields) !== null && _a !== void 0 ? _a : [];
|
234
|
+
}
|
138
235
|
/**
|
139
236
|
* Obtém o dataUnit.
|
140
237
|
*/
|
@@ -153,7 +250,7 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
153
250
|
* @returns Retorna a lista de IDs dos registros selecionados.
|
154
251
|
*/
|
155
252
|
async getSelectedRecordsIDsInfo() {
|
156
|
-
return
|
253
|
+
return getSelectedRecordsIDsInfo(this.dataUnit);
|
157
254
|
}
|
158
255
|
/**
|
159
256
|
* Retorna os campos que possuem a propriedade "rmp" (Row Metadata Provider).
|
@@ -173,14 +270,22 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
173
270
|
async getRowMetadata(record) {
|
174
271
|
return this.doGetRowMetadata(record);
|
175
272
|
}
|
176
|
-
doGetRowMetadata(record) {
|
273
|
+
async doGetRowMetadata(record) {
|
177
274
|
const selectedRecord = this.dataUnit.getSelectedRecord();
|
178
275
|
if (!record && !selectedRecord) {
|
179
276
|
return;
|
180
277
|
}
|
181
278
|
const currentRecord = record || selectedRecord;
|
182
279
|
const recordId = typeof currentRecord === 'string' ? currentRecord : currentRecord.__record__id__;
|
183
|
-
|
280
|
+
let rowMetadata = this._metadataByRow.get(recordId);
|
281
|
+
/*
|
282
|
+
Nao fazemos cache de metadataByRow pra registros novos, pois a chave do mesmo
|
283
|
+
muda ao ser salvo, por isso essa tratativa é necessária para que o dataState fique com metadados
|
284
|
+
corretos nao confiando apenas no _metadataByRow
|
285
|
+
*/
|
286
|
+
if (this.dataUnit.isNewRecord(recordId) && !rowMetadata) {
|
287
|
+
rowMetadata = await this.handleLoadRowMetadata(selectedRecord);
|
288
|
+
}
|
184
289
|
if (!rowMetadata) {
|
185
290
|
return;
|
186
291
|
}
|
@@ -286,7 +391,9 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
286
391
|
return new DataUnitAction(Action.RECORDS_COPIED, this.handleRecordsCopied(action.payload));
|
287
392
|
}
|
288
393
|
async interceptDataChange(action) {
|
289
|
-
|
394
|
+
var _a;
|
395
|
+
const recordId = (_a = this.dataUnit.getSelectedRecord()) === null || _a === void 0 ? void 0 : _a.__record__id__;
|
396
|
+
if (this.isAllowed("UPDATE") || this.dataUnit.isNewRecord(recordId)) {
|
290
397
|
return action;
|
291
398
|
}
|
292
399
|
if (this._openedAlert) {
|
@@ -299,9 +406,13 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
299
406
|
this._openedAlert = false;
|
300
407
|
}
|
301
408
|
async interceptSavingData(action) {
|
302
|
-
if (
|
303
|
-
|
409
|
+
if (this.dataUnit.isMultipleEdition) {
|
410
|
+
const confirm = await this.confirmMultipleSavingData();
|
411
|
+
if (!confirm)
|
412
|
+
return undefined;
|
304
413
|
}
|
414
|
+
if (!this.beforeSave)
|
415
|
+
return action;
|
305
416
|
const continueAction = this.beforeSave(this.dataUnit);
|
306
417
|
if (continueAction instanceof Promise) {
|
307
418
|
const result = await continueAction;
|
@@ -309,6 +420,46 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
309
420
|
}
|
310
421
|
return continueAction ? action : undefined;
|
311
422
|
}
|
423
|
+
async confirmMultipleSavingData() {
|
424
|
+
const selectedRecords = this.dataUnit.getSelectionInfo().records;
|
425
|
+
const title = this.getMessage('snkDataUnit.multipleUpdateConfirmationTitle');
|
426
|
+
const message = this.getMessage('snkDataUnit.multipleUpdateConfirmationMessage', { size: selectedRecords.length });
|
427
|
+
const labelBtnCancel = this.getMessage('snkDataUnit.confirm.cancel');
|
428
|
+
const labelBtnConfirm = this.getMessage('snkDataUnit.confirm.updateMultipleConfirm');
|
429
|
+
return await showConfirmMultipleUpdatePopup({
|
430
|
+
title,
|
431
|
+
message,
|
432
|
+
labelBtnConfirm,
|
433
|
+
labelBtnCancel,
|
434
|
+
changingFields: this.getChangingFields(),
|
435
|
+
});
|
436
|
+
}
|
437
|
+
getChangingFields() {
|
438
|
+
const changes = this.dataUnit.buildChangesToSave();
|
439
|
+
if (!(changes === null || changes === void 0 ? void 0 : changes.length))
|
440
|
+
return [];
|
441
|
+
const change = changes[0];
|
442
|
+
const changingFields = Object.keys(change.updatingFields).map(key => this.buildChangingField(key, change[key]));
|
443
|
+
return changingFields;
|
444
|
+
}
|
445
|
+
buildChangingField(key, value) {
|
446
|
+
const fieldLabel = this.dataUnit.getField(key).label;
|
447
|
+
const formattedValue = this.dataUnit.getFormattedValue(key, value);
|
448
|
+
return {
|
449
|
+
label: fieldLabel,
|
450
|
+
value: formattedValue,
|
451
|
+
tabName: this.getFieldTabName(key),
|
452
|
+
};
|
453
|
+
}
|
454
|
+
getFieldTabName(fieldName) {
|
455
|
+
var _a;
|
456
|
+
const tab = (_a = this._formFieldsConfig.find(f => f.name === fieldName)) === null || _a === void 0 ? void 0 : _a.tab;
|
457
|
+
if (!tab)
|
458
|
+
return undefined;
|
459
|
+
if (typeof tab === 'string')
|
460
|
+
return tab;
|
461
|
+
return tab.label;
|
462
|
+
}
|
312
463
|
interceptDataSaved(action) {
|
313
464
|
if (this.afterSave) {
|
314
465
|
this.afterSave(this.dataUnit);
|
@@ -328,7 +479,17 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
328
479
|
}
|
329
480
|
const cancelConfirmationTitle = this.getMessage("snkDataUnit.cancelConfirmationTitle");
|
330
481
|
const confirm = await ApplicationUtils.confirm(cancelConfirmationTitle, cancelConfirmation);
|
331
|
-
|
482
|
+
if (confirm) {
|
483
|
+
let editionCanceledMessage;
|
484
|
+
if (this.dataUnit.isMultipleEdition) {
|
485
|
+
const selectedRecords = this.dataUnit.getSelectionInfo().records;
|
486
|
+
editionCanceledMessage = this.buildMultipleUpdateMessage(selectedRecords, true);
|
487
|
+
}
|
488
|
+
else {
|
489
|
+
editionCanceledMessage = this.getMessage("snkDataUnit.cancelInfo");
|
490
|
+
}
|
491
|
+
this.showSuccessMessage(editionCanceledMessage);
|
492
|
+
}
|
332
493
|
return confirm ? action : undefined;
|
333
494
|
}
|
334
495
|
async interceptRemovingRecords(action) {
|
@@ -374,7 +535,7 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
374
535
|
case Action.RECORDS_COPIED:
|
375
536
|
return this.interceptRecordsCopied(action);
|
376
537
|
case Action.DATA_CHANGED:
|
377
|
-
await this.handleLoadRowMetadata(action);
|
538
|
+
await this.handleLoadRowMetadata(action.payload);
|
378
539
|
return await this.interceptDataChange(action);
|
379
540
|
case Action.CHANGING_DATA:
|
380
541
|
return await this.interceptDataChange(action);
|
@@ -394,8 +555,9 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
394
555
|
return action;
|
395
556
|
}
|
396
557
|
}
|
397
|
-
async handleLoadRowMetadata(
|
398
|
-
|
558
|
+
async handleLoadRowMetadata(record) {
|
559
|
+
if (!record)
|
560
|
+
return;
|
399
561
|
const keysPayload = Object.keys(record);
|
400
562
|
const rmpField = keysPayload.find((field) => this._fieldsWithRmp.includes(field));
|
401
563
|
if (rmpField) {
|
@@ -474,7 +636,7 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
474
636
|
isAllowed(flag) {
|
475
637
|
return this._permissions ? this._permissions.isSup || this._permissions[flag] : false;
|
476
638
|
}
|
477
|
-
buildDataState(actionType) {
|
639
|
+
async buildDataState(actionType) {
|
478
640
|
var _a;
|
479
641
|
const selectionInfo = this.dataUnit.getSelectionInfo();
|
480
642
|
const isStartingInsertionMode = (this.dataUnit.hasDirtyRecords() || this.dataUnit.hasWaitingChanges()) && (selectionInfo === null || selectionInfo === void 0 ? void 0 : selectionInfo.isEmpty());
|
@@ -482,7 +644,7 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
482
644
|
let rowMetadata = (_a = this.dataState) === null || _a === void 0 ? void 0 : _a.rowMetadata;
|
483
645
|
const allowedOverwrite = [Action.SELECTION_CHANGED, Action.EDITION_CANCELED, Action.NEXT_SELECTED, Action.PREVIOUS_SELECTED];
|
484
646
|
if (selectedRecord && (!rowMetadata || allowedOverwrite.includes(actionType))) {
|
485
|
-
rowMetadata = this.doGetRowMetadata(selectedRecord);
|
647
|
+
rowMetadata = await this.doGetRowMetadata(selectedRecord);
|
486
648
|
}
|
487
649
|
else if (rowMetadata) {
|
488
650
|
rowMetadata.getProp = this.buildGetPropRowMetadata(rowMetadata);
|
@@ -504,32 +666,54 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
504
666
|
});
|
505
667
|
}
|
506
668
|
async handleDataSaved(action) {
|
507
|
-
|
669
|
+
var _a, _b, _c;
|
670
|
+
const changes = (_a = action === null || action === void 0 ? void 0 : action.payload) === null || _a === void 0 ? void 0 : _a.changes;
|
671
|
+
const affectedRecords = (_b = action === null || action === void 0 ? void 0 : action.payload) === null || _b === void 0 ? void 0 : _b.records;
|
672
|
+
const newRowMetadata = await this.handleLoadRowMetadata((_c = changes === null || changes === void 0 ? void 0 : changes[0]) === null || _c === void 0 ? void 0 : _c.record);
|
508
673
|
if (newRowMetadata) {
|
509
674
|
newRowMetadata.getProp = this.buildGetPropRowMetadata(newRowMetadata);
|
510
675
|
}
|
511
|
-
const recordId =
|
676
|
+
const recordId = affectedRecords[0].__record__id__;
|
512
677
|
this._metadataByRow.set(recordId, newRowMetadata);
|
513
|
-
this.dataState = this.buildDataState();
|
514
|
-
|
515
|
-
|
678
|
+
this.dataState = await this.buildDataState();
|
679
|
+
let saveOperation = changes[0]._operation.toLowerCase();
|
680
|
+
if (saveOperation == 'copy') {
|
681
|
+
saveOperation = OperationMap.CLONE;
|
516
682
|
}
|
517
|
-
|
518
|
-
|
683
|
+
if (this.canIgnoreOperationMessage(saveOperation))
|
684
|
+
return;
|
685
|
+
let msg = this.buildOperationMessage(saveOperation, affectedRecords);
|
519
686
|
if (msg != undefined) {
|
520
687
|
this.showSuccessMessage(msg);
|
521
688
|
}
|
522
689
|
}
|
690
|
+
canIgnoreOperationMessage(saveOperation) {
|
691
|
+
return this.ignoreSaveMessage && !this.isCloneOrInsertOperation(saveOperation);
|
692
|
+
}
|
693
|
+
isCloneOrInsertOperation(saveOperation) {
|
694
|
+
return [OperationMap.CLONE, OperationMap.INSERT].includes(saveOperation);
|
695
|
+
}
|
696
|
+
buildOperationMessage(saveOperation, records) {
|
697
|
+
if (this.isMultiplesUpdate(saveOperation, records)) {
|
698
|
+
return this.buildMultipleUpdateMessage(records);
|
699
|
+
}
|
700
|
+
return this.getMessage('snkDataUnit.saveInfo', records[0], saveOperation);
|
701
|
+
}
|
702
|
+
buildMultipleUpdateMessage(records, isCancel) {
|
703
|
+
/**
|
704
|
+
* FIXME: No futuro, precisamos pensar em um mecanismo para deixar as mensagens de feedback mais dinâmicas.
|
705
|
+
* Podemo ocorrer cenários onde temos mais de um registro selecionado e também cenários onde a chave primária
|
706
|
+
* de um registro se trata de uma chave composta.
|
707
|
+
*/
|
708
|
+
const key = `snkDataUnit.${isCancel ? 'cancelInfo' : 'saveInfo'}`;
|
709
|
+
return this.getMessage(key, { records: records }, OperationMap.UPDATE_MULTIPLES);
|
710
|
+
}
|
711
|
+
isMultiplesUpdate(saveOperation, records) {
|
712
|
+
return saveOperation === OperationMap.UPDATE && records.length > 1;
|
713
|
+
}
|
523
714
|
handleRecordsRemoved(action) {
|
524
715
|
var _a, _b;
|
525
|
-
|
526
|
-
let removeFinishMsg;
|
527
|
-
if ((cachedRecords === null || cachedRecords === void 0 ? void 0 : cachedRecords.length) > 1) {
|
528
|
-
removeFinishMsg = this.getMessage("snkDataUnit.removeAllInfo", { size: cachedRecords.length });
|
529
|
-
}
|
530
|
-
else {
|
531
|
-
removeFinishMsg = this.getMessage("snkDataUnit.removeInfo", action.payload.cachedRecords[0]);
|
532
|
-
}
|
716
|
+
let removeFinishMsg = this.buildRemoveFinishMessage(action);
|
533
717
|
if (removeFinishMsg != undefined) {
|
534
718
|
this.showSuccessMessage(removeFinishMsg);
|
535
719
|
}
|
@@ -540,6 +724,14 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
540
724
|
this.dataUnit.gotoPage(page);
|
541
725
|
}
|
542
726
|
}
|
727
|
+
buildRemoveFinishMessage(action) {
|
728
|
+
const records = action.payload.records;
|
729
|
+
if (!records || !records.length)
|
730
|
+
return undefined;
|
731
|
+
if ((records === null || records === void 0 ? void 0 : records.length) > 1)
|
732
|
+
return this.getMessage('snkDataUnit.removeAllInfo', { size: records.length });
|
733
|
+
return this.getMessage('snkDataUnit.removeInfo', records);
|
734
|
+
}
|
543
735
|
/**
|
544
736
|
* Conforme mecanismo de mensagens, é possível customizar as mensagens dos blocos de construção
|
545
737
|
* através de um pequeno modulo na estrutura da aplicação:
|
@@ -583,21 +775,30 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
583
775
|
return await this._application.getDataUnit(this.entityName, cacheName, null, this.configName, this.resourceID);
|
584
776
|
}
|
585
777
|
}
|
778
|
+
updateMetadataWithRMP() {
|
779
|
+
this.fillFieldsWithRmp(this.dataUnit.metadata);
|
780
|
+
this.fillFieldsWithRmPrecision(this.dataUnit.metadata);
|
781
|
+
const dataUnitUpdatedMetadata = this.handleDULinksOnMetadataLoaded(this.dataUnit.metadata);
|
782
|
+
this.dataUnit.metadata = dataUnitUpdatedMetadata;
|
783
|
+
}
|
586
784
|
async loadDataUnit() {
|
587
|
-
var _a;
|
785
|
+
var _a, _b;
|
588
786
|
if (this.dataUnit == null && this._application && this.entityName) {
|
589
787
|
this.dataUnit = await this.getDataUnitParentOrChild();
|
590
788
|
}
|
591
789
|
if (this.dataUnit) {
|
592
790
|
this.dataUnit.pageSize = this.pageSize;
|
593
791
|
this.dataUnit.unsubscribe(this._dataUnitObserver);
|
594
|
-
this.dataUnit.addInterceptor(this);
|
595
792
|
this.dataUnit.subscribe(this._dataUnitObserver);
|
596
|
-
|
597
|
-
|
598
|
-
|
793
|
+
if ((_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.metadata) {
|
794
|
+
this.updateMetadataWithRMP();
|
795
|
+
}
|
796
|
+
this.dataUnit.addInterceptor(this);
|
797
|
+
if ((_b = this.dataUnit.records) === null || _b === void 0 ? void 0 : _b.length) {
|
798
|
+
const { records } = this.getMetadataByRow(this.dataUnit);
|
799
|
+
this.dataUnit.records = records;
|
599
800
|
}
|
600
|
-
this.dataState = this.buildDataState();
|
801
|
+
this.dataState = await this.buildDataState();
|
601
802
|
let resolver;
|
602
803
|
while (resolver = this._onDataUnitResolve.pop()) {
|
603
804
|
resolver(this.dataUnit);
|
@@ -716,7 +917,7 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
716
917
|
"getFieldsWithRmp": [64],
|
717
918
|
"getFieldsWithRmPrecision": [64],
|
718
919
|
"getRowMetadata": [64]
|
719
|
-
}]);
|
920
|
+
}, [[0, "snkMasterFormConfigChange", "onMasterFormConfigChange"]]]);
|
720
921
|
class DataStateImpl {
|
721
922
|
constructor(datastate) {
|
722
923
|
this.copyMode = datastate.copyMode;
|
@@ -755,4 +956,4 @@ function defineCustomElement() {
|
|
755
956
|
} });
|
756
957
|
}
|
757
958
|
|
758
|
-
export { SnkDataUnit as S, defineCustomElement as d
|
959
|
+
export { SnkDataUnit as S, defineCustomElement as d };
|