@sankhyalabs/sankhyablocks 8.16.0-dev.11 → 8.16.0-dev.111
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-9deeae08.js} +40 -28
- 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/{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_8.cjs.entry.js} +264 -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 -84
- package/dist/cjs/snk-data-exporter.cjs.entry.js +38 -30
- package/dist/cjs/{snk-data-unit-ece44c4a.js → snk-data-unit-57916de4.js} +275 -37
- package/dist/cjs/snk-data-unit.cjs.entry.js +5 -5
- package/dist/cjs/snk-detail-view.cjs.entry.js +69 -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-form-view.cjs.entry.js +19 -7
- package/dist/cjs/snk-grid.cjs.entry.js +132 -51
- package/dist/cjs/{snk-guides-viewer-aafc3073.js → snk-guides-viewer-d33379cd.js} +151 -74
- package/dist/cjs/snk-guides-viewer.cjs.entry.js +12 -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 +237 -200
- package/dist/cjs/snk-tab-config.cjs.entry.js +1 -1
- package/dist/cjs/snk-taskbar.cjs.entry.js +79 -42
- package/dist/cjs/{taskbar-elements-9ad1f9c0.js → taskbar-elements-6f4e06af.js} +12 -1
- package/dist/cjs/{field-search-f56aa7d6.js → taskbar-processor-2fba34a8.js} +5 -36
- package/dist/collection/collection-manifest.json +17 -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 -76
- 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 +84 -6
- package/dist/collection/components/snk-crud/subcomponents/snk-form-view.js +54 -7
- package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +6 -6
- package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +198 -82
- 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 +269 -51
- 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 +342 -123
- 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 +11 -0
- package/dist/collection/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.css +0 -0
- package/dist/collection/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.js +220 -0
- package/dist/collection/components/snk-taskbar/processor/taskbar-processor.js +5 -1
- package/dist/collection/components/snk-taskbar/snk-taskbar.js +141 -41
- 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-crud.msg.js +1 -1
- 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-simple-crud.msg.js +2 -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/ContinuousInsertUtils.js +416 -0
- 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 +40 -28
- 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 +6 -0
- package/dist/components/index.js +6 -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 +114 -73
- package/dist/components/snk-config-options2.js +6 -4
- package/dist/components/snk-configurator2.js +23 -3
- package/dist/components/snk-crud.js +143 -139
- 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 +329 -171
- 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-view2.js +22 -8
- package/dist/components/snk-form.js +2 -2
- package/dist/components/snk-grid-config2.js +3 -1
- package/dist/components/snk-grid2.js +169 -75
- 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 +246 -203
- 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 +105 -50
- 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/taskbar-split-button.d.ts +11 -0
- package/dist/components/taskbar-split-button.js +6 -0
- package/dist/components/taskbar-split-button2.js +87 -0
- 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-2dbd8fa2.js} +40 -28
- 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/{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_8.entry.js} +263 -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 -85
- package/dist/esm/snk-data-exporter.entry.js +38 -30
- package/dist/esm/{snk-data-unit-2a1d5d09.js → snk-data-unit-65c9dd1a.js} +275 -37
- package/dist/esm/snk-data-unit.entry.js +5 -5
- package/dist/esm/snk-detail-view.entry.js +71 -19
- 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-form-view.entry.js +19 -7
- package/dist/esm/snk-grid.entry.js +125 -44
- package/dist/esm/{snk-guides-viewer-62124f3d.js → snk-guides-viewer-72953334.js} +153 -76
- package/dist/esm/snk-guides-viewer.entry.js +12 -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 +224 -187
- package/dist/esm/snk-tab-config.entry.js +1 -1
- package/dist/esm/snk-taskbar.entry.js +80 -43
- package/dist/esm/{taskbar-elements-d59867f1.js → taskbar-elements-f2cb4922.js} +12 -1
- package/dist/esm/{field-search-efbe307f.js → taskbar-processor-3436124c.js} +6 -35
- package/dist/sankhyablocks/{p-3287a6cc.js → p-03b68a74.js} +1 -1
- package/dist/sankhyablocks/p-0f3698af.js +1 -0
- package/dist/sankhyablocks/p-0fadb620.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-1a0caadb.js +1 -0
- package/dist/sankhyablocks/p-1bdffb17.entry.js +11 -0
- package/dist/sankhyablocks/p-1f80174b.entry.js +1 -0
- package/dist/sankhyablocks/p-24a0dbd2.entry.js +1 -0
- package/dist/sankhyablocks/p-2f7e2251.entry.js +1 -0
- package/dist/sankhyablocks/p-3372178e.entry.js +1 -0
- package/dist/sankhyablocks/{p-95df461f.entry.js → p-3749dffb.entry.js} +1 -1
- package/dist/sankhyablocks/{p-72fc257b.entry.js → p-434817f0.entry.js} +1 -1
- package/dist/sankhyablocks/p-4689c2e6.js +1 -0
- 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-52d10014.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-6a03b190.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-7beeabc1.entry.js +1 -0
- package/dist/sankhyablocks/p-7dd49d15.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-a4ebeec4.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-bc101064.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-c9675d64.js +1 -0
- package/dist/sankhyablocks/p-ce94e6c4.entry.js +1 -0
- package/dist/sankhyablocks/p-d07b18a4.js +1 -0
- package/dist/sankhyablocks/p-ddf93f36.entry.js +1 -0
- package/dist/sankhyablocks/p-ebdb9d89.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 -3
- package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +17 -0
- package/dist/types/components/snk-crud/subcomponents/snk-form-view.d.ts +11 -1
- package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +26 -7
- 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 +45 -5
- 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 +51 -15
- 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/elements/taskbar-split-button/taskbar-split-button.d.ts +44 -0
- package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +1 -0
- package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +17 -0
- package/dist/types/components.d.ts +608 -24
- 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 +6 -0
- package/react/components.js +6 -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/collection/components/snk-taskbar/subcomponents/field-search.js +0 -31
- package/dist/components/IExporterProvider.js +0 -298
- 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-1db45d26.entry.js +0 -1
- 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
- package/dist/types/components/snk-taskbar/subcomponents/field-search.d.ts +0 -4
@@ -67,6 +67,7 @@ const TAGS_BY_TYPE = {
|
|
67
67
|
CHECKBOX: "ez-check",
|
68
68
|
OPTIONSELECTOR: "ez-combo-box",
|
69
69
|
SEARCH: "ez-search",
|
70
|
+
SEARCHPLUS: "ez-search-plus",
|
70
71
|
INTEGERNUMBER: "ez-number-input",
|
71
72
|
DECIMALNUMBER: "ez-number-input"
|
72
73
|
};
|
@@ -89,5 +90,14 @@ var SIMPLE_CRUD_MODE;
|
|
89
90
|
SIMPLE_CRUD_MODE[SIMPLE_CRUD_MODE["SERVER"] = 0] = "SERVER";
|
90
91
|
SIMPLE_CRUD_MODE[SIMPLE_CRUD_MODE["IN_MEMORY"] = 1] = "IN_MEMORY";
|
91
92
|
})(SIMPLE_CRUD_MODE || (SIMPLE_CRUD_MODE = {}));
|
93
|
+
// TODO: validar forma de compartilhar os templates com outros projetos
|
94
|
+
var TEMPLATES_SKELETON;
|
95
|
+
(function (TEMPLATES_SKELETON) {
|
96
|
+
TEMPLATES_SKELETON[TEMPLATES_SKELETON["CUSTOM_TEMPLATE"] = 0] = "CUSTOM_TEMPLATE";
|
97
|
+
TEMPLATES_SKELETON[TEMPLATES_SKELETON["GRID"] = 1] = "GRID";
|
98
|
+
TEMPLATES_SKELETON[TEMPLATES_SKELETON["GRID_WITH_SIDEBAR"] = 2] = "GRID_WITH_SIDEBAR";
|
99
|
+
TEMPLATES_SKELETON[TEMPLATES_SKELETON["GRID_WITH_PANEL"] = 3] = "GRID_WITH_PANEL";
|
100
|
+
TEMPLATES_SKELETON[TEMPLATES_SKELETON["FORM_WITH_SIDEBAR"] = 4] = "FORM_WITH_SIDEBAR";
|
101
|
+
})(TEMPLATES_SKELETON || (TEMPLATES_SKELETON = {}));
|
92
102
|
|
93
|
-
export { ACTION_CONFIG as A, CONFIG_EVENTS as C, DEFAULT_TYPE as D, KEY_EVENTS as K, ORDER_VALUES as O, REPORT_LAUNCHER_RESOURCE_ID as R, SIMPLE_CRUD_MODE as S,
|
103
|
+
export { ACTION_CONFIG as A, CONFIG_EVENTS as C, DEFAULT_TYPE as D, KEY_EVENTS as K, ORDER_VALUES as O, REPORT_LAUNCHER_RESOURCE_ID as R, SIMPLE_CRUD_MODE as S, TEMPLATES_SKELETON as T, VIEW_MODE as V, VARS_BY_TYPE as a, TAGS_BY_TYPE as b, CONFIG_SORTABLE_EVENTS as c, TAB_NAMES as d, TYPE_ACTIONS as e };
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { ObjectUtils, DataUnit,
|
1
|
+
import { DataUnitInMemoryLoader, ObjectUtils, DataUnit, ApplicationContext, StringUtils, UserInterface, DataUnitStorage, DataType, ChangeOperation } from '@sankhyalabs/core';
|
2
2
|
import { D as DataFetcher, d as dist } from './DataFetcher.js';
|
3
3
|
import { DISTINCT_FILTER_NAME_PREFIX } from '@sankhyalabs/ezui/dist/collection/utils/constants';
|
4
4
|
import { DataUnitTransient } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
|
@@ -6,9 +6,40 @@ import { ColumnFilterManager } from '@sankhyalabs/ezui/dist/collection/component
|
|
6
6
|
import SortingUtils from '@sankhyalabs/core/dist/utils/SortingUtils';
|
7
7
|
import { R as ResourceIDUtils } from './ResourceIDUtils.js';
|
8
8
|
|
9
|
+
class InMemoryLoader {
|
10
|
+
constructor(metadata, records, config) {
|
11
|
+
this._dataUnitInMemoryLoader = new DataUnitInMemoryLoader(metadata, records, config);
|
12
|
+
}
|
13
|
+
get dataUnit() {
|
14
|
+
return this._dataUnitInMemoryLoader.dataUnit;
|
15
|
+
}
|
16
|
+
get records() {
|
17
|
+
return this._dataUnitInMemoryLoader.records;
|
18
|
+
}
|
19
|
+
set records(records) {
|
20
|
+
this._dataUnitInMemoryLoader.records = records;
|
21
|
+
}
|
22
|
+
get metadata() {
|
23
|
+
return this._dataUnitInMemoryLoader.metadata;
|
24
|
+
}
|
25
|
+
set metadata(metadata) {
|
26
|
+
this._dataUnitInMemoryLoader.metadata = metadata;
|
27
|
+
}
|
28
|
+
removeLoader(_dataUnit, recordIds) {
|
29
|
+
return this._dataUnitInMemoryLoader.removeLoader(_dataUnit, recordIds);
|
30
|
+
}
|
31
|
+
static getConvertedValue(descriptor, strValue, dateFormat) {
|
32
|
+
return DataUnitInMemoryLoader.getConvertedValue(descriptor, strValue, dateFormat);
|
33
|
+
}
|
34
|
+
}
|
35
|
+
InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME = DataUnitInMemoryLoader.IN_MEMORY_DATA_UNIT_NAME;
|
36
|
+
|
9
37
|
class ArrayRepository {
|
10
38
|
constructor(equalsFunction) {
|
11
39
|
this._list = [];
|
40
|
+
this._listCopy = [];
|
41
|
+
this._listLastUpdate = 0;
|
42
|
+
this._listCopyLastUpdate = 0;
|
12
43
|
this._equalsFunction = equalsFunction;
|
13
44
|
}
|
14
45
|
async load(filterFunction, sortingFunction, offset, limit) {
|
@@ -47,13 +78,13 @@ class ArrayRepository {
|
|
47
78
|
return Promise.resolve(new Map(processedItems.map(item => [item.key, item.value])));
|
48
79
|
}
|
49
80
|
async push(items) {
|
50
|
-
this.
|
81
|
+
this.updateList([...this._list, ...items]);
|
51
82
|
}
|
52
83
|
async clear() {
|
53
|
-
this.
|
84
|
+
this.updateList([]);
|
54
85
|
}
|
55
86
|
async delete(items) {
|
56
|
-
|
87
|
+
const list = this._list.filter(item => {
|
57
88
|
for (const removed of items) {
|
58
89
|
if (this._equalsFunction(item, removed)) {
|
59
90
|
return false;
|
@@ -61,20 +92,23 @@ class ArrayRepository {
|
|
61
92
|
}
|
62
93
|
return true;
|
63
94
|
});
|
95
|
+
this.updateList(list);
|
64
96
|
}
|
65
97
|
async update(items) {
|
66
|
-
|
98
|
+
const list = this._list.map(existingItem => {
|
67
99
|
const newItem = items.find(newItem => this._equalsFunction(existingItem, newItem));
|
68
100
|
return newItem == undefined ? existingItem : newItem;
|
69
101
|
});
|
102
|
+
this.updateList(list);
|
70
103
|
}
|
71
104
|
async insert(itemReference, items) {
|
72
105
|
const itemPosition = this._list.indexOf(itemReference);
|
73
106
|
if (itemPosition == -1) {
|
74
|
-
this.
|
107
|
+
this.push(items);
|
75
108
|
return;
|
76
109
|
}
|
77
|
-
|
110
|
+
const list = this._list.slice(0, itemPosition).concat(items).concat(this._list.slice(itemPosition));
|
111
|
+
this.updateList(list);
|
78
112
|
}
|
79
113
|
isOperating() {
|
80
114
|
return true;
|
@@ -86,7 +120,15 @@ class ArrayRepository {
|
|
86
120
|
return Promise.resolve(this._list.length);
|
87
121
|
}
|
88
122
|
getFromCache() {
|
89
|
-
|
123
|
+
if (this._listLastUpdate > this._listCopyLastUpdate) {
|
124
|
+
this._listCopyLastUpdate = this._listLastUpdate;
|
125
|
+
this._listCopy = ObjectUtils.copy(this._list);
|
126
|
+
}
|
127
|
+
return this._listCopy;
|
128
|
+
}
|
129
|
+
updateList(newList) {
|
130
|
+
this._list = newList;
|
131
|
+
this._listLastUpdate = Date.now();
|
90
132
|
}
|
91
133
|
}
|
92
134
|
|
@@ -111,7 +153,7 @@ class PreloadManager {
|
|
111
153
|
static getSortingFunction(dataUnit, sorting) {
|
112
154
|
return SortingUtils.getSortingFunction(dataUnit, sorting);
|
113
155
|
}
|
114
|
-
static async getDistinct(dataUnit, fieldName) {
|
156
|
+
static async getDistinct(dataUnit, fieldName, onlyLabel = false) {
|
115
157
|
if (!PreloadManager.isCacheEnabled(dataUnit)) {
|
116
158
|
return Promise.resolve(ColumnFilterManager.compileDistinct(fieldName, dataUnit));
|
117
159
|
}
|
@@ -130,7 +172,10 @@ class PreloadManager {
|
|
130
172
|
if (fieldValue == undefined) {
|
131
173
|
return { key: null, value: null };
|
132
174
|
}
|
133
|
-
|
175
|
+
let value = fieldValue.value != undefined ? fieldValue.value : fieldValue;
|
176
|
+
if ((fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.label) && onlyLabel) {
|
177
|
+
return { key: fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.label, value: dataUnit.getFormattedValue(fieldName, value) };
|
178
|
+
}
|
134
179
|
return { key: dataUnit.getFormattedValue(fieldName, fieldValue), value };
|
135
180
|
})
|
136
181
|
.then(result => {
|
@@ -224,160 +269,6 @@ class PreloadManager {
|
|
224
269
|
PreloadManager._repositories = new Map();
|
225
270
|
PreloadManager._loadingStatus = new Map();
|
226
271
|
|
227
|
-
function applyFilter(records, dataUnit, filters) {
|
228
|
-
const columnFilters = ColumnFilterManager.getColumnFilters(filters, "");
|
229
|
-
if (!(columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.size)) {
|
230
|
-
return records;
|
231
|
-
}
|
232
|
-
const filterFunction = ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
|
233
|
-
if (filterFunction == undefined) {
|
234
|
-
return records;
|
235
|
-
}
|
236
|
-
return records.filter(filterFunction);
|
237
|
-
}
|
238
|
-
function applySorting(records, dataUnit, sorting) {
|
239
|
-
if (sorting == undefined || sorting.length == 0) {
|
240
|
-
return records;
|
241
|
-
}
|
242
|
-
const sortingFunction = PreloadManager.getSortingFunction(dataUnit, sorting);
|
243
|
-
if (sortingFunction == undefined) {
|
244
|
-
return records;
|
245
|
-
}
|
246
|
-
return records.sort(sortingFunction);
|
247
|
-
}
|
248
|
-
function buildPaginationInfo(records, offset = 0, limit = 0) {
|
249
|
-
if (records === undefined) {
|
250
|
-
return undefined;
|
251
|
-
}
|
252
|
-
const total = (records === null || records === void 0 ? void 0 : records.length) || 0;
|
253
|
-
const lastRecord = Math.min(offset + limit, total);
|
254
|
-
return {
|
255
|
-
currentPage: limit === 0 ? 0 : Math.ceil(offset / limit),
|
256
|
-
firstRecord: offset,
|
257
|
-
lastRecord: lastRecord,
|
258
|
-
total: total,
|
259
|
-
hasMore: !!(total - lastRecord),
|
260
|
-
};
|
261
|
-
}
|
262
|
-
|
263
|
-
class InMemoryLoader {
|
264
|
-
constructor(metadata, records, config) {
|
265
|
-
this.metadata = metadata;
|
266
|
-
this.records = records;
|
267
|
-
this._dataUnit = new DataUnit(InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME);
|
268
|
-
this._dataUnit.pageSize = 150;
|
269
|
-
this._dataUnit.metadataLoader = () => this.metadaLoader();
|
270
|
-
this._dataUnit.dataLoader = (dataUnit, request) => this.inMemoryLoader(dataUnit, request, this.getRecordsToLoad());
|
271
|
-
this._dataUnit.saveLoader = (_dataUnit, changes) => this.saveLoader(_dataUnit, changes);
|
272
|
-
this._dataUnit.removeLoader = (_dataUnit, recordIds) => this.removeLoader(_dataUnit, recordIds);
|
273
|
-
this.dataUnit.loadMetadata().then(() => {
|
274
|
-
if ((config === null || config === void 0 ? void 0 : config.autoLoad) !== false) {
|
275
|
-
this.dataUnit.loadData();
|
276
|
-
}
|
277
|
-
});
|
278
|
-
}
|
279
|
-
getRecordsToLoad() {
|
280
|
-
if (this._initialRecords == undefined && this.dataUnit.records.length > 0) {
|
281
|
-
this._initialRecords = this.dataUnit.records;
|
282
|
-
}
|
283
|
-
const addedRecords = this.dataUnit.getAddedRecords();
|
284
|
-
if (addedRecords) {
|
285
|
-
return [...this._initialRecords, ...addedRecords];
|
286
|
-
}
|
287
|
-
return this._initialRecords;
|
288
|
-
}
|
289
|
-
get dataUnit() {
|
290
|
-
return this._dataUnit;
|
291
|
-
}
|
292
|
-
get records() {
|
293
|
-
return this.dataUnit.records;
|
294
|
-
}
|
295
|
-
static getConvertedValue(descriptor, strValue) {
|
296
|
-
if (descriptor.dataType === DataType.BOOLEAN) {
|
297
|
-
return strValue === "S";
|
298
|
-
}
|
299
|
-
if (descriptor.dataType === DataType.NUMBER) {
|
300
|
-
return Number(strValue);
|
301
|
-
}
|
302
|
-
if (descriptor.dataType === DataType.DATE) {
|
303
|
-
return DateUtils.strToDate(strValue, true);
|
304
|
-
}
|
305
|
-
if (descriptor.dataType === DataType.OBJECT) {
|
306
|
-
return JSON.parse(strValue);
|
307
|
-
}
|
308
|
-
return strValue;
|
309
|
-
}
|
310
|
-
set records(records) {
|
311
|
-
const columns = this._metadata ? new Map(this._metadata.fields.map(descriptor => [descriptor.name, descriptor])) : undefined;
|
312
|
-
const newRecords = records === null || records === void 0 ? void 0 : records.map(record => {
|
313
|
-
if (!record["__record__id__"]) {
|
314
|
-
record["__record__id__"] = this.generateUniqueId();
|
315
|
-
}
|
316
|
-
if (columns != undefined) {
|
317
|
-
for (const name in record) {
|
318
|
-
const value = record[name];
|
319
|
-
if (typeof value === "string" && columns.has(name)) {
|
320
|
-
record[name] = InMemoryLoader.getConvertedValue(columns.get(name), value);
|
321
|
-
}
|
322
|
-
}
|
323
|
-
}
|
324
|
-
return record;
|
325
|
-
});
|
326
|
-
this._initialRecords = newRecords;
|
327
|
-
if (this._dataUnit) {
|
328
|
-
//Isso força o refresh internamente no datunit
|
329
|
-
this._dataUnit.loadData();
|
330
|
-
}
|
331
|
-
}
|
332
|
-
get metadata() {
|
333
|
-
return this._metadata;
|
334
|
-
}
|
335
|
-
set metadata(metadata) {
|
336
|
-
this._metadata = metadata;
|
337
|
-
if (this._dataUnit) {
|
338
|
-
this._dataUnit.metadata = this._metadata;
|
339
|
-
}
|
340
|
-
}
|
341
|
-
generateUniqueId() {
|
342
|
-
return StringUtils.generateUUID();
|
343
|
-
}
|
344
|
-
inMemoryLoader(dataUnit, request, recordsIn) {
|
345
|
-
let records = applyFilter(recordsIn, dataUnit, request.filters);
|
346
|
-
records = applySorting(records, dataUnit, request.sort);
|
347
|
-
return Promise.resolve({ records, paginationInfo: buildPaginationInfo(records, request.offset, request.limit) });
|
348
|
-
}
|
349
|
-
metadaLoader() {
|
350
|
-
return Promise.resolve(this._metadata);
|
351
|
-
}
|
352
|
-
saveLoader(_dataUnit, changes) {
|
353
|
-
return new Promise((resolve) => {
|
354
|
-
let dataUnitRecords = [];
|
355
|
-
changes.forEach(change => {
|
356
|
-
let { record, updatingFields, operation } = change;
|
357
|
-
const changedRecord = Object.assign(Object.assign({}, record), updatingFields);
|
358
|
-
if (operation === ChangeOperation.INSERT ||
|
359
|
-
operation === ChangeOperation.COPY) {
|
360
|
-
changedRecord["__old__id__"] = record["__record__id__"];
|
361
|
-
changedRecord["__record__id__"] = this.generateUniqueId();
|
362
|
-
this.records.push(changedRecord);
|
363
|
-
}
|
364
|
-
else {
|
365
|
-
const recordIndex = this.records.findIndex(r => r["__record__id__"] == changedRecord["__record__id__"]);
|
366
|
-
this.records[recordIndex] = changedRecord;
|
367
|
-
}
|
368
|
-
dataUnitRecords.push(changedRecord);
|
369
|
-
});
|
370
|
-
resolve(dataUnitRecords);
|
371
|
-
});
|
372
|
-
}
|
373
|
-
removeLoader(_dataUnit, recordIds) {
|
374
|
-
return new Promise((resolve) => {
|
375
|
-
resolve(recordIds);
|
376
|
-
});
|
377
|
-
}
|
378
|
-
}
|
379
|
-
InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME = "InMemoryDataUnit";
|
380
|
-
|
381
272
|
function getRecordValue(record, fieldName) {
|
382
273
|
var _a, _b;
|
383
274
|
return ((_a = record[fieldName]) === null || _a === void 0 ? void 0 : _a.value) !== undefined ? (_b = record[fieldName]) === null || _b === void 0 ? void 0 : _b.value : record[fieldName];
|
@@ -420,16 +311,25 @@ class DatasetStrategy {
|
|
420
311
|
const serviceName = "DatasetSP.loadRecords";
|
421
312
|
const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting, serverSideFilters);
|
422
313
|
const params = loadingInfo.quiet ? { urlParams: { quietMode: "true" } } : undefined;
|
423
|
-
const { result: responseRecords, pagerID: pagerId } = await DataFetcher.get().callServiceBroker(serviceName, requestBody, params);
|
314
|
+
const { result: responseRecords, pagerID: pagerId, askRowsLimit } = await DataFetcher.get().callServiceBroker(serviceName, requestBody, params);
|
424
315
|
const records = this.processRecords(dataUnit, fields, responseRecords);
|
425
316
|
const loadingInProgress = pagerId != undefined;
|
426
317
|
const count = loadingInfo.count + records.length;
|
427
|
-
const
|
318
|
+
const isInsertingNewRecord = dataUnit.hasNewRecord();
|
319
|
+
const hasLocalSorting = localSorting.length > 0;
|
320
|
+
const needReload = !loadingInProgress && hasLocalSorting;
|
321
|
+
/**
|
322
|
+
* Caso precise recarregar dados, porém está no meio de uma inserção, os dados não devem recarregados instantaneamente,
|
323
|
+
* Mas sim, sinalizar que o dataUnit está aguardando para der recarregado.
|
324
|
+
*/
|
325
|
+
if (needReload && isInsertingNewRecord) {
|
326
|
+
dataUnit.setWaitingToReload(true);
|
327
|
+
}
|
428
328
|
return Promise.resolve({
|
429
329
|
records,
|
430
330
|
loadingInfo: Object.assign(Object.assign({}, loadingInfo), { pagerId,
|
431
|
-
loadingInProgress, total: loadingInProgress ? undefined : count, count,
|
432
|
-
|
331
|
+
loadingInProgress, total: loadingInProgress ? undefined : count, count, needReload: needReload && !isInsertingNewRecord, askRowsLimit,
|
332
|
+
hasLocalSorting })
|
433
333
|
});
|
434
334
|
}
|
435
335
|
catch (error) {
|
@@ -481,8 +381,7 @@ class DatasetStrategy {
|
|
481
381
|
},
|
482
382
|
}
|
483
383
|
};
|
484
|
-
|
485
|
-
return parsedRequestBody;
|
384
|
+
return JSON.stringify(requestBody);
|
486
385
|
}
|
487
386
|
getFieldsList(dataUnit) {
|
488
387
|
let fields = ["__record__id__", "__record__label__"];
|
@@ -599,17 +498,128 @@ class DatasetStrategy {
|
|
599
498
|
return InMemoryLoader.getConvertedValue(descriptor, strValue);
|
600
499
|
}
|
601
500
|
getSearchDescriptionField(descriptor) {
|
602
|
-
if (
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
|
501
|
+
if (![UserInterface.SEARCH, UserInterface.SEARCHPLUS].includes(descriptor.userInterface)) {
|
502
|
+
return undefined;
|
503
|
+
}
|
504
|
+
const { ENTITYNAME, mergedFrom, DESCRIPTIONFIELD } = descriptor.properties;
|
505
|
+
if (!StringUtils.isEmpty(DESCRIPTIONFIELD)) {
|
506
|
+
return mergedFrom != undefined ? `${mergedFrom}.${ENTITYNAME}.${DESCRIPTIONFIELD}` : `${ENTITYNAME}.${DESCRIPTIONFIELD}`;
|
607
507
|
}
|
608
508
|
return undefined;
|
609
509
|
}
|
610
510
|
}
|
611
511
|
|
512
|
+
async function showAskCancelPaginationPopup() {
|
513
|
+
return new Promise((resolve) => {
|
514
|
+
const { checkboxContainer, checkbox } = buildCheckboxContainer();
|
515
|
+
const popup = builPopup(resolve, checkbox);
|
516
|
+
const contentContainer = buildContentContainer();
|
517
|
+
contentContainer.appendChild(buildMessage());
|
518
|
+
contentContainer.appendChild(checkboxContainer);
|
519
|
+
const actionsContainer = buildActionsContainer();
|
520
|
+
actionsContainer.appendChild(buildContinuePaginationBtn(popup, checkbox, resolve));
|
521
|
+
actionsContainer.appendChild(buildCancelPaginationBtn(popup, resolve));
|
522
|
+
contentContainer.appendChild(actionsContainer);
|
523
|
+
popup.appendChild(contentContainer);
|
524
|
+
document.body.appendChild(popup);
|
525
|
+
});
|
526
|
+
}
|
527
|
+
function buildCheckboxContainer() {
|
528
|
+
const checkboxContainer = document.createElement('div');
|
529
|
+
checkboxContainer.style.marginBottom = '14px';
|
530
|
+
checkboxContainer.style.display = 'flex';
|
531
|
+
checkboxContainer.style.alignItems = 'center';
|
532
|
+
const { checkbox, checkboxLabel } = buildCheckbox();
|
533
|
+
checkboxContainer.appendChild(checkbox);
|
534
|
+
checkboxContainer.appendChild(checkboxLabel);
|
535
|
+
return { checkboxContainer, checkbox };
|
536
|
+
}
|
537
|
+
function buildCheckbox() {
|
538
|
+
const checkbox = document.createElement('input');
|
539
|
+
checkbox.type = 'checkbox';
|
540
|
+
checkbox.id = 'loadAll';
|
541
|
+
const checkboxLabel = document.createElement('label');
|
542
|
+
checkboxLabel.htmlFor = 'loadAll';
|
543
|
+
checkboxLabel.textContent = 'Carregar tudo';
|
544
|
+
checkboxLabel.style.marginLeft = '5px';
|
545
|
+
return { checkbox, checkboxLabel };
|
546
|
+
}
|
547
|
+
function buildActionsContainer() {
|
548
|
+
const actionsContainer = document.createElement('div');
|
549
|
+
actionsContainer.style.display = 'flex';
|
550
|
+
actionsContainer.style.flexDirection = 'row';
|
551
|
+
actionsContainer.style.justifyContent = 'end';
|
552
|
+
actionsContainer.style.gap = '5px';
|
553
|
+
return actionsContainer;
|
554
|
+
}
|
555
|
+
function buildContentContainer() {
|
556
|
+
const contentContainer = document.createElement('div');
|
557
|
+
contentContainer.style.display = 'flex';
|
558
|
+
contentContainer.style.flexDirection = 'column';
|
559
|
+
contentContainer.style.fontFamily = 'var(--font-pattern, Roboto)';
|
560
|
+
contentContainer.style.fontSize = 'var(--text--medium)';
|
561
|
+
return contentContainer;
|
562
|
+
}
|
563
|
+
function buildMessage() {
|
564
|
+
const message = document.createElement('div');
|
565
|
+
const line1 = document.createElement('p');
|
566
|
+
const line2 = document.createElement('p');
|
567
|
+
const line3 = document.createElement('p');
|
568
|
+
line3.style.fontWeight = 'var(--text-weight--large, 600)';
|
569
|
+
line1.textContent = 'Uma quantidade de registros muito grande está sendo carregada.';
|
570
|
+
line2.textContent = 'Recomendamos que a paginação seja cancelada e que seja criado um filtro para os registros.';
|
571
|
+
line3.textContent = 'Deseja cancelar o carregamento?';
|
572
|
+
message.appendChild(line1);
|
573
|
+
message.appendChild(line2);
|
574
|
+
message.appendChild(line3);
|
575
|
+
return message;
|
576
|
+
}
|
577
|
+
function buildCancelPaginationBtn(popup, resolve) {
|
578
|
+
const cancelPaginationBtn = document.createElement('ez-button');
|
579
|
+
cancelPaginationBtn.label = 'Cancelar paginação';
|
580
|
+
cancelPaginationBtn.size = 'medium';
|
581
|
+
cancelPaginationBtn.classList.add('ez-button--primary');
|
582
|
+
cancelPaginationBtn.onclick = () => {
|
583
|
+
document.body.removeChild(popup);
|
584
|
+
resolve(CancelPaginationResponse.CANCEL);
|
585
|
+
};
|
586
|
+
return cancelPaginationBtn;
|
587
|
+
}
|
588
|
+
function buildContinuePaginationBtn(popup, checkBox, resolve) {
|
589
|
+
const continuePaginationBtn = document.createElement('ez-button');
|
590
|
+
continuePaginationBtn.label = 'Continuar';
|
591
|
+
continuePaginationBtn.size = 'medium';
|
592
|
+
continuePaginationBtn.onclick = () => {
|
593
|
+
document.body.removeChild(popup);
|
594
|
+
resolve(checkBox.checked ? CancelPaginationResponse.LOAD_ALL : CancelPaginationResponse.CONTINUE);
|
595
|
+
};
|
596
|
+
return continuePaginationBtn;
|
597
|
+
}
|
598
|
+
function builPopup(resolve, checkBox) {
|
599
|
+
const popup = document.createElement('ez-popup');
|
600
|
+
popup.opened = true;
|
601
|
+
popup.size = 'x-small';
|
602
|
+
popup.ezTitle = 'Aviso';
|
603
|
+
popup.heightMode = "auto";
|
604
|
+
popup.addEventListener('ezClosePopup', () => {
|
605
|
+
document.body.removeChild(popup);
|
606
|
+
resolve(checkBox.checked ? CancelPaginationResponse.LOAD_ALL : CancelPaginationResponse.CONTINUE);
|
607
|
+
}, { once: true });
|
608
|
+
popup.addEventListener('ezPopupAction', () => {
|
609
|
+
document.body.removeChild(popup);
|
610
|
+
resolve(CancelPaginationResponse.CANCEL);
|
611
|
+
}, { once: true });
|
612
|
+
return popup;
|
613
|
+
}
|
614
|
+
var CancelPaginationResponse;
|
615
|
+
(function (CancelPaginationResponse) {
|
616
|
+
CancelPaginationResponse["CANCEL"] = "CANCEL";
|
617
|
+
CancelPaginationResponse["CONTINUE"] = "CONTINUE";
|
618
|
+
CancelPaginationResponse["LOAD_ALL"] = "LOAD_ALL";
|
619
|
+
})(CancelPaginationResponse || (CancelPaginationResponse = {}));
|
620
|
+
|
612
621
|
class DataUnitDataLoader {
|
622
|
+
constructor() { }
|
613
623
|
static async debounce(dataUnit, callBack) {
|
614
624
|
const duName = dataUnit.name;
|
615
625
|
if (DataUnitDataLoader._debouncingTimeouts[duName]) {
|
@@ -655,25 +665,67 @@ class DataUnitDataLoader {
|
|
655
665
|
}
|
656
666
|
static async callLoader(dataUnit, request, requestLoadingInfo, dataLoader) {
|
657
667
|
if (dataLoader == undefined) {
|
658
|
-
//dataLoader = new DataUnitStrategy();
|
659
668
|
dataLoader = new DatasetStrategy();
|
660
669
|
}
|
661
670
|
const result = await dataLoader.load(dataUnit, request, requestLoadingInfo);
|
662
|
-
const
|
663
|
-
if (DataUnitDataLoader.isOldRequest(dataUnit, responseLoadingInfo))
|
671
|
+
const responseLoadingInfo = result.loadingInfo;
|
672
|
+
if (DataUnitDataLoader.isOldRequest(dataUnit, responseLoadingInfo))
|
664
673
|
return Promise.resolve(undefined);
|
674
|
+
this.handleCache(dataLoader, responseLoadingInfo, dataUnit, result.records);
|
675
|
+
if (dataUnit.cancelPagination)
|
676
|
+
return this.handlePaginationCanceled(dataUnit, result);
|
677
|
+
//Não existem mais páginas a serem carregadas
|
678
|
+
if (this.canFinishPagination(dataUnit, responseLoadingInfo))
|
679
|
+
return Promise.resolve(result);
|
680
|
+
const newRequest = Object.assign(Object.assign({}, request), { offset: responseLoadingInfo.count });
|
681
|
+
let newLoadingInfo = this.buildNewLoadingInfo(responseLoadingInfo);
|
682
|
+
if (this.canProceedPagination(responseLoadingInfo))
|
683
|
+
return this.recallLoader(dataUnit, newRequest, newLoadingInfo, dataLoader, result);
|
684
|
+
const confirm = await showAskCancelPaginationPopup();
|
685
|
+
if (confirm === CancelPaginationResponse.CANCEL)
|
686
|
+
return this.handlePaginationCanceled(dataUnit, result);
|
687
|
+
if (confirm === CancelPaginationResponse.LOAD_ALL) {
|
688
|
+
newLoadingInfo = Object.assign(Object.assign({}, newLoadingInfo), { loadAllRecords: true });
|
665
689
|
}
|
690
|
+
newLoadingInfo = Object.assign(Object.assign({}, newLoadingInfo), { lastRowLimitAsked: newLoadingInfo.count });
|
691
|
+
return this.recallLoader(dataUnit, newRequest, newLoadingInfo, dataLoader, result);
|
692
|
+
}
|
693
|
+
static buildNewLoadingInfo(responseLoadingInfo) {
|
694
|
+
let newLoadingInfo = Object.assign(Object.assign({}, responseLoadingInfo), { pageNumber: (responseLoadingInfo.pageNumber || 0) + 1, quiet: true });
|
695
|
+
return newLoadingInfo;
|
696
|
+
}
|
697
|
+
static handleCache(dataLoader, responseLoadingInfo, dataUnit, records) {
|
666
698
|
const recreateCache = !dataLoader.canSlice() || responseLoadingInfo.count === 0;
|
667
699
|
PreloadManager.cacheRecords(dataUnit, records, recreateCache, responseLoadingInfo.loadingInProgress);
|
668
|
-
|
669
|
-
|
670
|
-
|
671
|
-
|
672
|
-
|
673
|
-
.catch(reason => console.error(reason));
|
674
|
-
}
|
700
|
+
}
|
701
|
+
static recallLoader(dataUnit, newRequest, newLoadingInfo, dataLoader, result) {
|
702
|
+
this.callLoader(dataUnit, newRequest, newLoadingInfo, dataLoader)
|
703
|
+
.then(result => DataUnitDataLoader.afterLoadingPage(dataUnit, result.loadingInfo))
|
704
|
+
.catch(reason => console.error(reason));
|
675
705
|
return Promise.resolve(result);
|
676
706
|
}
|
707
|
+
static canFinishPagination(dataUnit, responseLoadingInfo) {
|
708
|
+
return !PreloadManager.isCacheEnabled(dataUnit) || !responseLoadingInfo.loadingInProgress;
|
709
|
+
}
|
710
|
+
static canProceedPagination(info) {
|
711
|
+
const { count, askRowsLimit, loadAllRecords, lastRowLimitAsked } = info;
|
712
|
+
if (loadAllRecords)
|
713
|
+
return true;
|
714
|
+
if (!count || !askRowsLimit)
|
715
|
+
return true;
|
716
|
+
const askRowLimitNumber = Number(askRowsLimit);
|
717
|
+
if (count < askRowLimitNumber)
|
718
|
+
return true;
|
719
|
+
const nextLimitToAsk = askRowLimitNumber + (lastRowLimitAsked ? lastRowLimitAsked : 0);
|
720
|
+
return count < nextLimitToAsk;
|
721
|
+
}
|
722
|
+
static handlePaginationCanceled(dataUnit, result) {
|
723
|
+
dataUnit.cancelPagination = false;
|
724
|
+
let loadingInfo = result.loadingInfo;
|
725
|
+
loadingInfo = Object.assign(Object.assign({}, loadingInfo), { total: loadingInfo.count, loadingInProgress: false, pagerId: undefined, needReload: loadingInfo.hasLocalSorting });
|
726
|
+
const loadDataResult = { records: result.records, loadingInfo };
|
727
|
+
return Promise.resolve(loadDataResult);
|
728
|
+
}
|
677
729
|
static afterLoadingPage(dataUnit, loadingInfo) {
|
678
730
|
PreloadManager.setLoadingStatus(dataUnit, loadingInfo.loadingInProgress);
|
679
731
|
const dataUnitPagination = dataUnit.getPaginationInfo();
|
@@ -682,7 +734,7 @@ class DataUnitDataLoader {
|
|
682
734
|
}
|
683
735
|
const count = loadingInfo.count;
|
684
736
|
if (loadingInfo.loadingInProgress) {
|
685
|
-
dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { count }));
|
737
|
+
dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { count, loadingInProgress: true }));
|
686
738
|
return;
|
687
739
|
}
|
688
740
|
if (loadingInfo.needReload) {
|
@@ -690,7 +742,7 @@ class DataUnitDataLoader {
|
|
690
742
|
dataUnit.gotoPage(0);
|
691
743
|
return;
|
692
744
|
}
|
693
|
-
dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { total: count, count }));
|
745
|
+
dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { total: count, count, loadingInProgress: false }));
|
694
746
|
}
|
695
747
|
static registryLoading(dataUnit, loadingInfo) {
|
696
748
|
if (loadingInfo == undefined) {
|
@@ -713,7 +765,7 @@ class DataUnitDataLoader {
|
|
713
765
|
// controle de paginação voltar pra primeira página.
|
714
766
|
offset = 0;
|
715
767
|
}
|
716
|
-
const { total, count, loadingInProgress } = loadingInfo;
|
768
|
+
const { total, count, loadingInProgress, askRowsLimit } = loadingInfo;
|
717
769
|
const firstRecord = (count === 0 || pageSize === 0) ? 0 : offset + 1;
|
718
770
|
const lastRecord = offset + Math.min(pageSize, limit);
|
719
771
|
return {
|
@@ -722,7 +774,8 @@ class DataUnitDataLoader {
|
|
722
774
|
lastRecord,
|
723
775
|
firstRecord,
|
724
776
|
currentPage: offset / limit,
|
725
|
-
hasMore: lastRecord < count || loadingInProgress
|
777
|
+
hasMore: lastRecord < count || loadingInProgress,
|
778
|
+
askRowsLimit
|
726
779
|
};
|
727
780
|
}
|
728
781
|
}
|
@@ -1052,4 +1105,4 @@ class DataUnitFetcher {
|
|
1052
1105
|
}
|
1053
1106
|
}
|
1054
1107
|
|
1055
|
-
export { DataUnitFetcher as D, InMemoryLoader as I, PreloadManager as P,
|
1108
|
+
export { DataUnitFetcher as D, InMemoryLoader as I, PreloadManager as P, DatasetStrategy as a, getRecordValue as g };
|
@@ -217,7 +217,10 @@ class FormConfigFetcher extends ResourceFetcher {
|
|
217
217
|
query: this.queryConfig.get("fetchDefaultConfig"),
|
218
218
|
})
|
219
219
|
.then((result) => {
|
220
|
-
|
220
|
+
if (!(result === null || result === void 0 ? void 0 : result.resource)) {
|
221
|
+
resolve(null);
|
222
|
+
}
|
223
|
+
resolve(ObjectUtils.stringToObject(result === null || result === void 0 ? void 0 : result.resource));
|
221
224
|
})
|
222
225
|
.catch((error) => {
|
223
226
|
reject(error);
|
@@ -237,11 +240,62 @@ class FormConfigFetcher extends ResourceFetcher {
|
|
237
240
|
return undefined;
|
238
241
|
return this.buildLegacyConfigurableForm(response);
|
239
242
|
}
|
243
|
+
async fetchSimpleFormConfig(configName) {
|
244
|
+
const payload = { 'requestBody': { 'formConfig': { 'configName': configName } } };
|
245
|
+
const response = await DataFetcher.get().callServiceBroker('FormConfig.getFormConfig', JSON.stringify(payload));
|
246
|
+
return this.processConfig(response);
|
247
|
+
}
|
248
|
+
async saveSimpleFormConfig(configName, fieldList) {
|
249
|
+
const payload = this.buildSaveSimpleFormConfigPayload(configName, fieldList);
|
250
|
+
const response = await DataFetcher.get().callServiceBroker('FormConfig.saveFormConfig', JSON.stringify(payload));
|
251
|
+
this.processConfig(response);
|
252
|
+
}
|
253
|
+
processConfig(response) {
|
254
|
+
if (ObjectUtils.isEmpty(response))
|
255
|
+
return [];
|
256
|
+
const fields = this.getResponseAsArray(response);
|
257
|
+
return fields.map(field => field.name);
|
258
|
+
}
|
259
|
+
getResponseAsArray(response) {
|
260
|
+
var _a, _b, _c;
|
261
|
+
const rawFields = (_c = (_b = (_a = response === null || response === void 0 ? void 0 : response.formConfig) === null || _a === void 0 ? void 0 : _a.layout) === null || _b === void 0 ? void 0 : _b.field) !== null && _c !== void 0 ? _c : [];
|
262
|
+
return Array.isArray(rawFields) ? rawFields : [rawFields];
|
263
|
+
}
|
264
|
+
buildSaveSimpleFormConfigPayload(configName, fieldNameList) {
|
265
|
+
const fieldList = fieldNameList.map(fieldName => { return { name: fieldName }; });
|
266
|
+
return {
|
267
|
+
formConfig: {
|
268
|
+
configName,
|
269
|
+
layout: {
|
270
|
+
field: fieldList,
|
271
|
+
},
|
272
|
+
metadata: { field: [] },
|
273
|
+
}
|
274
|
+
};
|
275
|
+
}
|
276
|
+
async restoreFormConfig(configName) {
|
277
|
+
const payload = { 'requestBody': { 'formConfig': { 'configName': configName } } };
|
278
|
+
await DataFetcher.get().callServiceBroker('FormConfig.restoreFormConfig', JSON.stringify(payload));
|
279
|
+
}
|
240
280
|
buildLegacyConfigurableForm(config) {
|
241
281
|
var _a, _b, _c;
|
242
282
|
const rawFields = (_c = (_b = (_a = config === null || config === void 0 ? void 0 : config.formConfig) === null || _a === void 0 ? void 0 : _a.layout) === null || _b === void 0 ? void 0 : _b.field) !== null && _c !== void 0 ? _c : [];
|
243
283
|
return { emptyConfig: false, fields: Array.isArray(rawFields) ? rawFields : [rawFields] };
|
244
284
|
}
|
285
|
+
async fetchLayoutFormConfig(configName) {
|
286
|
+
const payload = { 'requestBody': { 'config': { 'chave': configName, 'tipo': 'T' } } };
|
287
|
+
const response = await DataFetcher.get().callServiceBroker('SystemUtilsSP.getConf', JSON.stringify(payload));
|
288
|
+
if (ObjectUtils.isEmpty(response))
|
289
|
+
return undefined;
|
290
|
+
return response.config;
|
291
|
+
}
|
292
|
+
async saveLayoutFormConfig(configName, config) {
|
293
|
+
const payload = { 'requestBody': { 'config': Object.assign(Object.assign({}, config), { 'chave': configName, 'tipo': 'T' }) } };
|
294
|
+
const response = await DataFetcher.get().callServiceBroker('SystemUtilsSP.saveConf', JSON.stringify(payload));
|
295
|
+
if (ObjectUtils.isEmpty(response))
|
296
|
+
return undefined;
|
297
|
+
return response;
|
298
|
+
}
|
245
299
|
}
|
246
300
|
var UserConfigType;
|
247
301
|
(function (UserConfigType) {
|