@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,4 +1,4 @@
|
|
1
|
-
import { Action as DUAction, ElementIDUtils } from '@sankhyalabs/core';
|
1
|
+
import { Action as DUAction, ElementIDUtils, ObjectUtils } from '@sankhyalabs/core';
|
2
2
|
import { Fragment, h } from '@stencil/core';
|
3
3
|
import { SnkFormConfigManager } from '../../snk-form-config/SnkFormConfigManager';
|
4
4
|
import { buildFormMetadata, FormMetadata } from '@sankhyalabs/ezui/dist/collection/utils/form';
|
@@ -27,6 +27,8 @@ export class SnkGuidesViewer {
|
|
27
27
|
this.resourceID = undefined;
|
28
28
|
this.detailTaskbarCustomContainerId = undefined;
|
29
29
|
this.formLegacyConfigName = undefined;
|
30
|
+
this.enableGridInsert = false;
|
31
|
+
this.ignoreReadOnlyFormFields = undefined;
|
30
32
|
this.getCustomTitle = undefined;
|
31
33
|
this._hasToCreateFieldSearch = true;
|
32
34
|
this._breadcrumbItems = [];
|
@@ -42,14 +44,16 @@ export class SnkGuidesViewer {
|
|
42
44
|
this.loadGuides(true);
|
43
45
|
}
|
44
46
|
observeDataState(newValue, oldValue) {
|
45
|
-
|
46
|
-
const
|
47
|
-
|
47
|
+
var _a, _b, _c, _d, _e, _f;
|
48
|
+
const newRecordsIds = (_b = (_a = newValue === null || newValue === void 0 ? void 0 : newValue.selectionInfo) === null || _a === void 0 ? void 0 : _a.recordIds) !== null && _b !== void 0 ? _b : (_c = newValue === null || newValue === void 0 ? void 0 : newValue.selectedRecord) === null || _c === void 0 ? void 0 : _c['__record__id__'];
|
49
|
+
const oldRecordsIds = (_e = (_d = oldValue === null || oldValue === void 0 ? void 0 : oldValue.selectionInfo) === null || _d === void 0 ? void 0 : _d.recordIds) !== null && _e !== void 0 ? _e : (_f = oldValue === null || oldValue === void 0 ? void 0 : oldValue.selectedRecord) === null || _f === void 0 ? void 0 : _f['__record__id__'];
|
50
|
+
if (!ObjectUtils.equals(newRecordsIds, oldRecordsIds)) {
|
48
51
|
this.loadGuides((oldValue === null || oldValue === void 0 ? void 0 : oldValue.insertionMode) != (newValue === null || newValue === void 0 ? void 0 : newValue.insertionMode));
|
49
52
|
}
|
50
53
|
}
|
51
54
|
observeMasterFormConfig() {
|
52
55
|
this.loadGuides(this.noGuideSelected());
|
56
|
+
this.snkMasterFormConfigChange.emit(this.masterFormConfig);
|
53
57
|
}
|
54
58
|
/**
|
55
59
|
* Abre o configurador do formulário
|
@@ -96,7 +100,7 @@ export class SnkGuidesViewer {
|
|
96
100
|
this._container.focus();
|
97
101
|
}
|
98
102
|
exitViewer() {
|
99
|
-
if (this.dataUnit.isDirty()) {
|
103
|
+
if (!this.enableGridInsert && this.dataUnit.isDirty()) {
|
100
104
|
this.dataUnit.cancelEdition({ after: () => this.exit.emit() });
|
101
105
|
}
|
102
106
|
else {
|
@@ -123,6 +127,11 @@ export class SnkGuidesViewer {
|
|
123
127
|
* Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-crud.msg.ts"
|
124
128
|
*/
|
125
129
|
getMessage(key) {
|
130
|
+
var _a, _b;
|
131
|
+
if (this.dataUnit.isMultipleEdition) {
|
132
|
+
const selectedRecords = (_b = (_a = this.dataUnit.getSelectionInfo()) === null || _a === void 0 ? void 0 : _a.records) !== null && _b !== void 0 ? _b : [];
|
133
|
+
return `Editando ${selectedRecords.length} registros`;
|
134
|
+
}
|
126
135
|
return this.messagesBuilder.getMessage(key, this.dataUnit.getSelectedRecord());
|
127
136
|
}
|
128
137
|
loadGuides(changeSelection) {
|
@@ -135,12 +144,12 @@ export class SnkGuidesViewer {
|
|
135
144
|
this._masterFormMetadata = buildFormMetadata(this.masterFormConfig, this.dataUnit, true);
|
136
145
|
const allSheets = this._masterFormMetadata.getAllSheets();
|
137
146
|
const currentRecord = this.dataUnit.getSelectedRecord();
|
138
|
-
const disableDetails =
|
147
|
+
const disableDetails = this.hasToDisableDetails(currentRecord);
|
139
148
|
const guides = [];
|
140
149
|
Array.from(allSheets.values()).forEach((sheet) => {
|
141
150
|
const item = { id: sheet.name, label: sheet.label };
|
142
151
|
if (this.isDetail(sheet.name) && disableDetails) {
|
143
|
-
item.tooltip = "Para alterar detalhes é necessário estar com um registro selecionado.";
|
152
|
+
item.tooltip = "Para alterar detalhes é necessário estar com um (e apenas um) registro selecionado.";
|
144
153
|
item.disabled = true;
|
145
154
|
}
|
146
155
|
guides.push(item);
|
@@ -153,6 +162,11 @@ export class SnkGuidesViewer {
|
|
153
162
|
this.selectedGuide = this._guides.length > 0 ? this._guides[0] : undefined;
|
154
163
|
}
|
155
164
|
}
|
165
|
+
hasToDisableDetails(currentRecord) {
|
166
|
+
return !currentRecord
|
167
|
+
|| this.dataUnit.isNewRecord(currentRecord.__record__id__)
|
168
|
+
|| this.dataUnit.isMultipleEdition;
|
169
|
+
}
|
156
170
|
isDetail(formId) {
|
157
171
|
return FormMetadata.getDetailName(formId) != undefined;
|
158
172
|
}
|
@@ -175,44 +189,59 @@ export class SnkGuidesViewer {
|
|
175
189
|
}
|
176
190
|
getTaskBarId() {
|
177
191
|
var _a;
|
178
|
-
|
179
|
-
|
180
|
-
loadTaskbarProcessor() {
|
181
|
-
var _a;
|
182
|
-
const taskbarId = this.getTaskBarId();
|
183
|
-
const disabledButtons = [];
|
184
|
-
if (!this.dataState || !this.dataState.hasPrevious) {
|
185
|
-
disabledButtons.push("PREVIOUS");
|
192
|
+
if ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) {
|
193
|
+
return TASKBAR_ID.FINISH_EDITION;
|
186
194
|
}
|
187
|
-
if (
|
188
|
-
|
195
|
+
if (this.dataUnit.isMultipleEdition) {
|
196
|
+
return TASKBAR_ID.MUTIPLE_EDITION;
|
189
197
|
}
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
198
|
+
return TASKBAR_ID.REGULAR;
|
199
|
+
}
|
200
|
+
loadTaskbarProcessor() {
|
201
|
+
const taskbarIDs = {};
|
202
|
+
taskbarIDs[TASKBAR_ID.REGULAR] = this.buildBtnsRegularMode();
|
203
|
+
taskbarIDs[TASKBAR_ID.FINISH_EDITION] = [TaskbarElement.CANCEL, TaskbarElement.SAVE, this.handleAddGridMode()];
|
204
|
+
taskbarIDs[TASKBAR_ID.MUTIPLE_EDITION] = [TaskbarElement.CANCEL];
|
205
|
+
this._taskbarProcessor = new TaskbarProcessor(taskbarIDs);
|
206
|
+
this._taskbarProcessor.process(this.getTaskBarId(), this.taskbarManager, this.dataState, this.buildDisabledButtons(), this.buildInvisibleButtons());
|
207
|
+
}
|
208
|
+
buildBtnsRegularMode() {
|
209
|
+
var _a, _b;
|
210
|
+
const btnsRegularMode = [
|
211
|
+
TaskbarElement.ATTACH, TaskbarElement.CLONE, TaskbarElement.REMOVE, TaskbarElement.MORE_OPTIONS,
|
212
|
+
TaskbarElement.ACTIONS_BUTTON, TaskbarElement.DIVIDER, TaskbarElement.GRID_MODE, TaskbarElement.CONFIGURATOR,
|
213
|
+
];
|
214
|
+
if (((_b = (_a = this.dataState) === null || _a === void 0 ? void 0 : _a.selectionInfo) === null || _b === void 0 ? void 0 : _b.length) <= 1) {
|
215
|
+
btnsRegularMode.unshift(TaskbarElement.PREVIOUS, TaskbarElement.NEXT, TaskbarElement.DIVIDER);
|
197
216
|
}
|
198
|
-
const btnsRegularMode = ["PREVIOUS", "NEXT", "DIVIDER", "ATTACH", "CLONE", "REMOVE", "MORE_OPTIONS", "ACTIONS_BUTTON", "DIVIDER", "GRID_MODE", "CONFIGURATOR"];
|
199
217
|
if (this.presentationMode == PresentationMode.SECONDARY) {
|
200
|
-
btnsRegularMode.unshift(
|
218
|
+
btnsRegularMode.unshift(TaskbarElement.INSERT);
|
201
219
|
}
|
202
220
|
else {
|
203
|
-
btnsRegularMode.push(
|
221
|
+
btnsRegularMode.push(TaskbarElement.INSERT);
|
204
222
|
}
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
223
|
+
return btnsRegularMode;
|
224
|
+
}
|
225
|
+
buildDisabledButtons() {
|
226
|
+
var _a, _b, _c, _d, _e, _f;
|
227
|
+
const disabledButtons = [];
|
228
|
+
if (!((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.hasPrevious))
|
229
|
+
disabledButtons.push(TaskbarElement.PREVIOUS);
|
230
|
+
if (!((_b = this.dataState) === null || _b === void 0 ? void 0 : _b.hasNext))
|
231
|
+
disabledButtons.push(TaskbarElement.NEXT);
|
232
|
+
if (((_d = (_c = this.dataState) === null || _c === void 0 ? void 0 : _c.selectionInfo) === null || _d === void 0 ? void 0 : _d.length) > 1)
|
233
|
+
disabledButtons.push(TaskbarElement.CLONE);
|
234
|
+
if ((_f = (_e = this.dataState) === null || _e === void 0 ? void 0 : _e.selectionInfo) === null || _f === void 0 ? void 0 : _f.isAllRecords())
|
235
|
+
disabledButtons.push(TaskbarElement.REMOVE);
|
236
|
+
return disabledButtons;
|
237
|
+
}
|
238
|
+
handleAddGridMode() {
|
239
|
+
return this.enableGridInsert ? TaskbarElement.GRID_MODE : "";
|
211
240
|
}
|
212
|
-
|
241
|
+
buildInvisibleButtons() {
|
213
242
|
const invisibleButtons = [];
|
214
243
|
if (this.dataState && this.dataState.selectionInfo.mode === SelectionMode.ALL_RECORDS)
|
215
|
-
invisibleButtons.push(
|
244
|
+
invisibleButtons.push(TaskbarElement.ACTIONS_BUTTON);
|
216
245
|
return invisibleButtons;
|
217
246
|
}
|
218
247
|
static updateContentCard(formName, cardConfig, propertyChanged, configManager) {
|
@@ -279,7 +308,7 @@ export class SnkGuidesViewer {
|
|
279
308
|
else {
|
280
309
|
detailBranch = this.selectedGuide;
|
281
310
|
}
|
282
|
-
content = this.wrapDetail(levels, h("snk-detail-view", { ref: (ref) => this._currentDetail = ref, dataUnitName: this.getDataUnitName(levels, childEntityName), onSnkDetailGuidesChange: (evt) => this.updateGuide(evt.detail), entityName: childEntityName, selectedForm: formName, branchGuide: detailBranch, guideItemPath: this._breadcrumbItems, key: `detail${detailId}`, canEdit: this.canEdit, onSnkSwitchGuide: evt => this._guideNavigator.selectGuide(evt.detail), resourceID: this.resourceID, taskbarCustomContainerId: this.detailTaskbarCustomContainerId, customEditors: this._customEditors, customRenders: this._customRenders }));
|
311
|
+
content = this.wrapDetail(levels, h("snk-detail-view", { ref: (ref) => this._currentDetail = ref, dataUnitName: this.getDataUnitName(levels, childEntityName), onSnkDetailGuidesChange: (evt) => this.updateGuide(evt.detail), entityName: childEntityName, selectedForm: formName, branchGuide: detailBranch, guideItemPath: this._breadcrumbItems, key: `detail${detailId}`, canEdit: this.canEdit, onSnkSwitchGuide: evt => this._guideNavigator.selectGuide(evt.detail), resourceID: this.resourceID, taskbarCustomContainerId: this.detailTaskbarCustomContainerId, customEditors: this._customEditors, customRenders: this._customRenders, presentationMode: this.presentationMode }));
|
283
312
|
}
|
284
313
|
else {
|
285
314
|
const cardId = this.selectedGuide.id;
|
@@ -361,11 +390,14 @@ export class SnkGuidesViewer {
|
|
361
390
|
this._configManager.addFormLegacyConfig(this.formLegacyConfigName);
|
362
391
|
}
|
363
392
|
}
|
393
|
+
setMasterFormConfig(config) {
|
394
|
+
this.masterFormConfig = config;
|
395
|
+
}
|
364
396
|
componentWillLoad() {
|
365
397
|
if (this.resourceID == undefined) {
|
366
398
|
throw new Error("Erro interno: resourceID não informado");
|
367
399
|
}
|
368
|
-
this._configManager = new SnkFormConfigManager(this.configName, this.resourceID,
|
400
|
+
this._configManager = new SnkFormConfigManager(this.configName, this.resourceID, this.setMasterFormConfig.bind(this), this.dataUnit);
|
369
401
|
this.addFormLegacyConfigName();
|
370
402
|
this._configManager.loadConfig();
|
371
403
|
}
|
@@ -393,7 +425,7 @@ export class SnkGuidesViewer {
|
|
393
425
|
return this._fieldSearch;
|
394
426
|
}
|
395
427
|
fieldsOptionLoader(argument) {
|
396
|
-
return Promise.resolve(this._configManager.getFieldsList(
|
428
|
+
return Promise.resolve(this._configManager.getFieldsList(argument)
|
397
429
|
.map(field => ({ value: field.name, label: field.label })));
|
398
430
|
}
|
399
431
|
onSelectField(option, actionButton) {
|
@@ -422,14 +454,27 @@ export class SnkGuidesViewer {
|
|
422
454
|
}
|
423
455
|
buildTaskBar() {
|
424
456
|
var _a;
|
425
|
-
return h("div", { class: `snk-guides-viewer__header-taskbar ${this.presentationMode != PresentationMode.SECONDARY ? 'ez-align--right' : 'ez-padding-bottom--medium'}` }, h("snk-taskbar", { key: "guideViewerTaskbar", "data-element-id": "guideViewer", configName: this.configName, buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, actionsList: this.getActionsList(), messagesBuilder: this.messagesBuilder, presentationMode: this.presentationMode, primaryButton: ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ?
|
457
|
+
return h("div", { class: `snk-guides-viewer__header-taskbar ${this.presentationMode != PresentationMode.SECONDARY ? 'ez-align--right' : 'ez-padding-bottom--medium'}` }, h("snk-taskbar", { key: "guideViewerTaskbar", "data-element-id": "guideViewer", configName: this.configName, buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, actionsList: this.getActionsList(), messagesBuilder: this.messagesBuilder, presentationMode: this.presentationMode, primaryButton: ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? TaskbarElement.SAVE : TaskbarElement.INSERT, "data-taskbar-owner": "master", dataUnit: this.dataUnit, resourceID: this.resourceID, customSlotId: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS", alignRigth: true }, h("slot", { name: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" })));
|
426
458
|
}
|
427
459
|
async dataUnitActionHandler(action) {
|
428
460
|
var _a;
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
461
|
+
switch (action.type) {
|
462
|
+
case DUAction.EDITION_CANCELED:
|
463
|
+
case DUAction.DATA_SAVED:
|
464
|
+
if (this.dataUnit.isMultipleEdition) {
|
465
|
+
this.exitViewer();
|
466
|
+
this.dataUnit.isMultipleEdition = false;
|
467
|
+
}
|
468
|
+
break;
|
469
|
+
case DUAction.FIELD_INVALIDATED:
|
470
|
+
const guideName = this.getGuideName((_a = action.payload) === null || _a === void 0 ? void 0 : _a.fieldName);
|
471
|
+
await this.addErrorBadgeToGuide(guideName);
|
472
|
+
await this.openGuideNavigator(guideName);
|
473
|
+
break;
|
474
|
+
case DUAction.METADATA_LOADED:
|
475
|
+
case DUAction.MULTIPLE_EDITION_CHANGED:
|
476
|
+
this.loadGuides(this.noGuideSelected());
|
477
|
+
break;
|
433
478
|
}
|
434
479
|
}
|
435
480
|
async addErrorBadgeToGuide(guideName) {
|
@@ -469,20 +514,34 @@ export class SnkGuidesViewer {
|
|
469
514
|
var _a, _b;
|
470
515
|
return (_b = (_a = this.getCustomTitle) === null || _a === void 0 ? void 0 : _a.call(this)) !== null && _b !== void 0 ? _b : this.getMessage("snkCrud.title");
|
471
516
|
}
|
517
|
+
getTitleTooltip() {
|
518
|
+
if (!this.dataUnit.isMultipleEdition)
|
519
|
+
return;
|
520
|
+
return this.buildRecordIdsArray();
|
521
|
+
}
|
522
|
+
buildRecordIdsArray() {
|
523
|
+
var _a, _b;
|
524
|
+
const selectedRecords = (_b = (_a = this.dataUnit.getSelectionInfo()) === null || _a === void 0 ? void 0 : _a.records) !== null && _b !== void 0 ? _b : [];
|
525
|
+
if (selectedRecords.length === 0) {
|
526
|
+
return "[]";
|
527
|
+
}
|
528
|
+
const labels = selectedRecords.map(record => this.messagesBuilder.getMessage("snkCrud.title", record));
|
529
|
+
return `[${labels.join(", ")}]`;
|
530
|
+
}
|
472
531
|
componentDidLoad() {
|
473
532
|
this.dataUnit.subscribe(this.dataUnitActionHandler.bind(this));
|
474
533
|
}
|
475
534
|
render() {
|
476
535
|
var _a, _b;
|
477
536
|
if (this._formEditorConfigManager != undefined) {
|
478
|
-
return (h("snk-form-config", { ref: ref => this._container = ref, tabindex: -1, dataUnit: this._formEditorDataUnit, messagesBuilder: this.messagesBuilder, configManager: this._formEditorConfigManager, onConfigClose: () => this._formEditorConfigManager = null }));
|
537
|
+
return (h("snk-form-config", { ref: ref => this._container = ref, tabindex: -1, dataUnit: this._formEditorDataUnit, messagesBuilder: this.messagesBuilder, configManager: this._formEditorConfigManager, onConfigClose: () => this._formEditorConfigManager = null, ignoreReadOnlyFormFields: this.ignoreReadOnlyFormFields }));
|
479
538
|
}
|
480
539
|
if (!this.dataUnit || !this._configManager.isLoaded) {
|
481
540
|
return;
|
482
541
|
}
|
483
542
|
this.loadTaskbarProcessor();
|
484
543
|
const showGuides = this._guides && (this._guides.length > 1);
|
485
|
-
return (h("section", { class: "snk-guides-viewer", ref: ref => this._container = ref, tabindex: -1 }, h("div", { class: "ez-row snk-guides-viewer__header" }, h("div", { class: "snk-guides-viewer__header-breadcrumb ez-flex--align-items-center ez-flex-item--align-center ez-padding-left--large", key: "header" }, h("ez-button", { onClick: () => this.exitViewer(), title: this.getMessage("snkCrud.goBackTitle"), mode: "icon", iconName: "arrow_back", class: "ez-padding-right--medium", size: "small" }), h("div", { class: "ez-flex ez-flex--column ez-flex-item--auto" }, h("h1", { class: "ez-title ez-title--primary ez-title--xlarge" }, this.getTitle()), ((_a = this._breadcrumbItems) === null || _a === void 0 ? void 0 : _a.length) > 1 &&
|
544
|
+
return (h("section", { class: "snk-guides-viewer", ref: ref => this._container = ref, tabindex: -1 }, h("div", { class: "ez-row snk-guides-viewer__header" }, h("div", { class: "snk-guides-viewer__header-breadcrumb ez-flex--align-items-center ez-flex-item--align-center ez-padding-left--large", key: "header" }, h("ez-button", { onClick: () => this.exitViewer(), title: this.getMessage("snkCrud.goBackTitle"), mode: "icon", iconName: "arrow_back", class: "ez-padding-right--medium", size: "small" }), h("div", { class: "ez-flex ez-flex--column ez-flex-item--auto" }, h("h1", { class: "ez-title ez-title--primary ez-title--xlarge", title: this.getTitleTooltip() }, this.getTitle()), ((_a = this._breadcrumbItems) === null || _a === void 0 ? void 0 : _a.length) > 1 &&
|
486
545
|
h("div", { class: "ez-margin-top--extra-small" }, h("ez-breadcrumb", Object.assign({ items: this._breadcrumbItems, onSelectedItem: (evt) => this.onBreadcrumbClickHandler(evt === null || evt === void 0 ? void 0 : evt.detail) }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `${ElementIDUtils.getInternalIDInfo("breadcrumb")}` }))))), this.presentationMode != PresentationMode.SECONDARY && this.buildTaskBar()), h("div", { class: "snk-guides-viewer__container" }, showGuides ?
|
487
546
|
h("ez-guide-navigator", { ref: (ref) => this._guideNavigator = ref, class: "snk-guides-viewer__guide-navigator", items: this._guides, selectedId: this.selectedGuide ? this.selectedGuide.id : undefined, onEzSelectionChange: evt => this.updateSelectedGuideHandler(evt.detail) })
|
488
547
|
:
|
@@ -800,6 +859,41 @@ export class SnkGuidesViewer {
|
|
800
859
|
"attribute": "form-legacy-config-name",
|
801
860
|
"reflect": false
|
802
861
|
},
|
862
|
+
"enableGridInsert": {
|
863
|
+
"type": "boolean",
|
864
|
+
"mutable": false,
|
865
|
+
"complexType": {
|
866
|
+
"original": "boolean",
|
867
|
+
"resolved": "boolean",
|
868
|
+
"references": {}
|
869
|
+
},
|
870
|
+
"required": false,
|
871
|
+
"optional": true,
|
872
|
+
"docs": {
|
873
|
+
"tags": [],
|
874
|
+
"text": "Ativa inser\u00E7\u00E3o de registros no modo grade."
|
875
|
+
},
|
876
|
+
"attribute": "enable-grid-insert",
|
877
|
+
"reflect": false,
|
878
|
+
"defaultValue": "false"
|
879
|
+
},
|
880
|
+
"ignoreReadOnlyFormFields": {
|
881
|
+
"type": "boolean",
|
882
|
+
"mutable": false,
|
883
|
+
"complexType": {
|
884
|
+
"original": "boolean",
|
885
|
+
"resolved": "boolean",
|
886
|
+
"references": {}
|
887
|
+
},
|
888
|
+
"required": false,
|
889
|
+
"optional": true,
|
890
|
+
"docs": {
|
891
|
+
"tags": [],
|
892
|
+
"text": "Ignora os campos \"somente leitura\" no modo de inser\u00E7\u00E3o."
|
893
|
+
},
|
894
|
+
"attribute": "ignore-read-only-form-fields",
|
895
|
+
"reflect": false
|
896
|
+
},
|
803
897
|
"getCustomTitle": {
|
804
898
|
"type": "unknown",
|
805
899
|
"mutable": false,
|
@@ -832,6 +926,26 @@ export class SnkGuidesViewer {
|
|
832
926
|
}
|
833
927
|
static get events() {
|
834
928
|
return [{
|
929
|
+
"method": "snkMasterFormConfigChange",
|
930
|
+
"name": "snkMasterFormConfigChange",
|
931
|
+
"bubbles": true,
|
932
|
+
"cancelable": true,
|
933
|
+
"composed": true,
|
934
|
+
"docs": {
|
935
|
+
"tags": [],
|
936
|
+
"text": "Emitido quando a configura\u00E7\u00E3o do formul\u00E1rio master \u00E9 definida."
|
937
|
+
},
|
938
|
+
"complexType": {
|
939
|
+
"original": "IFormConfig",
|
940
|
+
"resolved": "IFormConfig",
|
941
|
+
"references": {
|
942
|
+
"IFormConfig": {
|
943
|
+
"location": "import",
|
944
|
+
"path": "@sankhyalabs/ezui/dist/types/utils/form/interfaces"
|
945
|
+
}
|
946
|
+
}
|
947
|
+
}
|
948
|
+
}, {
|
835
949
|
"method": "exit",
|
836
950
|
"name": "exit",
|
837
951
|
"bubbles": true,
|
@@ -1051,3 +1165,9 @@ export class SnkGuidesViewer {
|
|
1051
1165
|
}];
|
1052
1166
|
}
|
1053
1167
|
}
|
1168
|
+
var TASKBAR_ID;
|
1169
|
+
(function (TASKBAR_ID) {
|
1170
|
+
TASKBAR_ID["FINISH_EDITION"] = "snkGuideViewer.finish_edition";
|
1171
|
+
TASKBAR_ID["MUTIPLE_EDITION"] = "snkGuideViewer.multiple_edition";
|
1172
|
+
TASKBAR_ID["REGULAR"] = "snkGuideViewer.regular";
|
1173
|
+
})(TASKBAR_ID || (TASKBAR_ID = {}));
|
@@ -4,7 +4,7 @@ export const OptionsStep = ({ getMessage, changeInfo, data }) => {
|
|
4
4
|
const selectionCount = (data === null || data === void 0 ? void 0 : data.selectedRows) || 0;
|
5
5
|
const formatOptions = [
|
6
6
|
{ label: getMessage("snkExporter.emailSenderOptStep_formatPDF"), value: "pdf" },
|
7
|
-
{ label: getMessage("snkExporter.
|
7
|
+
{ label: getMessage("snkExporter.emailSenderOptStep_formatXLS"), value: "xls" }
|
8
8
|
];
|
9
9
|
const typeOptions = [
|
10
10
|
{ label: getMessage("snkExporter.emailSenderOptStep_allData"), value: "all" },
|
package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
import { UserInterface } from "@sankhyalabs/core";
|
2
2
|
import { DataFetcher } from "../../../lib";
|
3
3
|
import { getOptionKey, getVisibleColumns } from "../utils/ParserExport";
|
4
|
-
import { DataExporterType } from "../../../lib/@types";
|
5
4
|
export default class ClientSideExporterStrategy {
|
6
5
|
constructor(provider) {
|
7
6
|
this._provider = provider;
|
@@ -12,15 +11,16 @@ export default class ClientSideExporterStrategy {
|
|
12
11
|
return visibleColumns;
|
13
12
|
}
|
14
13
|
async executeExport(resolveProps) {
|
15
|
-
|
16
|
-
const
|
17
|
-
const
|
14
|
+
var _a;
|
15
|
+
const { methodName, gridTitle } = resolveProps;
|
16
|
+
const records = await this._provider.getRecords(resolveProps.type);
|
17
|
+
const columns = ((_a = getOptionKey(resolveProps === null || resolveProps === void 0 ? void 0 : resolveProps.exportOption)) === null || _a === void 0 ? void 0 : _a.includes("PDF")) ? await this.getParsedColumns() : await this._provider.getColumnsMetadata();
|
18
18
|
const [serviceName, processor] = this.getExecutor(methodName);
|
19
19
|
const payload = {
|
20
20
|
serviceName,
|
21
21
|
requestBody: {
|
22
22
|
grid: {
|
23
|
-
|
23
|
+
gridTitle,
|
24
24
|
columns: this.buildColumnsObject(columns),
|
25
25
|
rows: this.buildRowsObject(columns, records),
|
26
26
|
customOptions: { xlsxExtension: false }
|
@@ -51,10 +51,10 @@ export default class ClientSideExporterStrategy {
|
|
51
51
|
"GridXLSBuilderSP.buildXLSFromJson",
|
52
52
|
responseBody => ({
|
53
53
|
fileSessionKey: responseBody.chaveXLS.valor,
|
54
|
-
canPrint:
|
55
|
-
canExport:
|
54
|
+
canPrint: true,
|
55
|
+
canExport: true,
|
56
|
+
canSendEmail: true,
|
56
57
|
useAppPrint: false,
|
57
|
-
canSendEmail: false
|
58
58
|
})
|
59
59
|
];
|
60
60
|
}
|
package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js
CHANGED
@@ -12,7 +12,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
12
12
|
};
|
13
13
|
import { ApplicationContext, ObjectUtils } from "@sankhyalabs/core";
|
14
14
|
import { DataFetcher } from '../../../lib/http/data-fetcher/DataFetcher';
|
15
|
-
import { DataExporterOption
|
15
|
+
import { DataExporterOption } from "../../../lib/@types";
|
16
16
|
import { getOptionKey, getVisibleColumns } from "../utils/ParserExport";
|
17
17
|
export default class ServerSideExporterStrategy {
|
18
18
|
constructor(provider) {
|
@@ -23,10 +23,17 @@ export default class ServerSideExporterStrategy {
|
|
23
23
|
const visibleColumns = getVisibleColumns(columns);
|
24
24
|
return visibleColumns;
|
25
25
|
}
|
26
|
+
async getColumns(resolveProps) {
|
27
|
+
var _a;
|
28
|
+
if ((_a = getOptionKey(resolveProps === null || resolveProps === void 0 ? void 0 : resolveProps.exportOption)) === null || _a === void 0 ? void 0 : _a.includes("PDF")) {
|
29
|
+
return await this.getParsedColumns();
|
30
|
+
}
|
31
|
+
return await this._provider.getColumnsMetadata();
|
32
|
+
}
|
26
33
|
async getParams(resolveProps) {
|
27
34
|
var _a, _b, _c, _d, _e, _f;
|
28
35
|
const filters = (_b = (_a = this._provider).getFilters) === null || _b === void 0 ? void 0 : _b.call(_a);
|
29
|
-
const columns =
|
36
|
+
const columns = await this.getColumns(resolveProps);
|
30
37
|
const sort = (_d = (_c = this._provider).getOrders) === null || _d === void 0 ? void 0 : _d.call(_c);
|
31
38
|
const resourceURI = (_f = (_e = this._provider).getResourceURI) === null || _f === void 0 ? void 0 : _f.call(_e);
|
32
39
|
const selectedIDs = this._provider.getSelectedIDs();
|
@@ -2,6 +2,9 @@ import { UserInterface } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMeta
|
|
2
2
|
import { DataType } from '@sankhyalabs/core';
|
3
3
|
export class CommonsExporter {
|
4
4
|
constructor(dataUnit, grid) {
|
5
|
+
this.MAX_WIDTH_COD = 60;
|
6
|
+
this.MIN_WIDTH_COD = 10;
|
7
|
+
this.DEFAULT_FONT_SIZE = 13;
|
5
8
|
this.dataUnit = dataUnit;
|
6
9
|
this.grid = grid;
|
7
10
|
}
|
@@ -14,7 +17,7 @@ export class CommonsExporter {
|
|
14
17
|
return this.columnsState;
|
15
18
|
}
|
16
19
|
async buildColumnsMetadata(gridColumns) {
|
17
|
-
var _a, _b;
|
20
|
+
var _a, _b, _c;
|
18
21
|
const columnsMetadata = [];
|
19
22
|
for (const column of gridColumns) {
|
20
23
|
/**
|
@@ -25,30 +28,58 @@ export class CommonsExporter {
|
|
25
28
|
}
|
26
29
|
const fieldData = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getField(column.name);
|
27
30
|
const customFormatter = await this.grid.getCustomValueFormatter(column.name);
|
28
|
-
const
|
29
|
-
|
31
|
+
const isUserInterfaceSEARCH = (fieldData === null || fieldData === void 0 ? void 0 : fieldData.userInterface) === UserInterface.SEARCH;
|
32
|
+
const widthColumnDefault = 60;
|
33
|
+
const labelColumn = isUserInterfaceSEARCH ? "Cód. " : column.label;
|
34
|
+
let descriptionColumn = undefined;
|
35
|
+
let columnData = {
|
30
36
|
id: column.name,
|
31
|
-
|
37
|
+
label: labelColumn,
|
38
|
+
width: isUserInterfaceSEARCH ? (labelColumn.length * this.DEFAULT_FONT_SIZE) : column.width,
|
32
39
|
type: fieldData === null || fieldData === void 0 ? void 0 : fieldData.dataType,
|
33
40
|
userInterface: fieldData === null || fieldData === void 0 ? void 0 : fieldData.userInterface,
|
34
41
|
customFormatter
|
35
42
|
};
|
36
|
-
|
37
|
-
|
43
|
+
if (isUserInterfaceSEARCH && ((_b = fieldData === null || fieldData === void 0 ? void 0 : fieldData.properties) === null || _b === void 0 ? void 0 : _b.DESCRIPTIONFIELD) != undefined) {
|
44
|
+
const labelDescription = (_c = fieldData === null || fieldData === void 0 ? void 0 : fieldData.properties) === null || _c === void 0 ? void 0 : _c.DESCRIPTIONENTITY;
|
38
45
|
const mergedFrom = fieldData.properties.mergedFrom;
|
39
46
|
const descriptionField = `${fieldData.properties.ENTITYNAME}.${fieldData.properties.DESCRIPTIONFIELD}`;
|
40
|
-
|
41
|
-
label: fieldData.properties.DESCRIPTIONENTITY,
|
47
|
+
descriptionColumn = {
|
42
48
|
id: `${mergedFrom ? (mergedFrom + ".") : ""}${descriptionField}`,
|
43
|
-
|
49
|
+
label: labelDescription,
|
50
|
+
width: isUserInterfaceSEARCH && labelDescription ? (labelDescription.length * this.DEFAULT_FONT_SIZE - widthColumnDefault) : column.width,
|
44
51
|
type: DataType.TEXT,
|
45
52
|
userInterface: UserInterface.LONGTEXT,
|
46
53
|
descriptionFrom: fieldData.name
|
47
54
|
};
|
48
|
-
|
55
|
+
const newWidth = this.getWidthByMetaData(column === null || column === void 0 ? void 0 : column.width, columnData === null || columnData === void 0 ? void 0 : columnData.width, descriptionColumn === null || descriptionColumn === void 0 ? void 0 : descriptionColumn.width);
|
56
|
+
columnData = Object.assign(Object.assign({}, columnData), { width: newWidth === null || newWidth === void 0 ? void 0 : newWidth.codWidth });
|
57
|
+
descriptionColumn = Object.assign(Object.assign({}, descriptionColumn), { width: newWidth === null || newWidth === void 0 ? void 0 : newWidth.descWidth, label: (descriptionColumn === null || descriptionColumn === void 0 ? void 0 : descriptionColumn.label) || (column === null || column === void 0 ? void 0 : column.label) });
|
49
58
|
}
|
59
|
+
columnsMetadata.push(columnData);
|
60
|
+
if (descriptionColumn)
|
61
|
+
columnsMetadata.push(descriptionColumn);
|
50
62
|
}
|
51
63
|
;
|
52
64
|
return columnsMetadata || [];
|
53
65
|
}
|
66
|
+
getWidthByMetaData(maxWidth, widthCod, widthDescription) {
|
67
|
+
const totalCurrentWidth = widthCod + widthDescription;
|
68
|
+
const codPercentage = widthCod / totalCurrentWidth;
|
69
|
+
const descPercentage = widthDescription / totalCurrentWidth;
|
70
|
+
let newWidthCod = Math.round(maxWidth * codPercentage);
|
71
|
+
let newWidthDescription = Math.round(maxWidth * descPercentage);
|
72
|
+
if (newWidthCod > this.MAX_WIDTH_COD) {
|
73
|
+
newWidthCod = this.MAX_WIDTH_COD;
|
74
|
+
newWidthDescription = maxWidth - this.MAX_WIDTH_COD;
|
75
|
+
}
|
76
|
+
else if (newWidthCod < this.MIN_WIDTH_COD) {
|
77
|
+
newWidthCod = this.MIN_WIDTH_COD;
|
78
|
+
newWidthDescription = maxWidth - this.MIN_WIDTH_COD;
|
79
|
+
}
|
80
|
+
return {
|
81
|
+
codWidth: newWidthCod,
|
82
|
+
descWidth: newWidthDescription
|
83
|
+
};
|
84
|
+
}
|
54
85
|
}
|
package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
import { CommonsExporter } from "../interfaces/IExporterProvider";
|
2
2
|
import { UserInterface } from "@sankhyalabs/core";
|
3
|
-
import { getSelectedIDs } from
|
3
|
+
import { getSelectedRecordsIDsInfo as getSelectedIDs } from '../../../lib/utils/GetSelectedRecordsIDsInfo';
|
4
4
|
import { DataExporterOption } from "../../../lib/@types";
|
5
|
+
import { IExportType } from "../../../lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams";
|
5
6
|
export default class ClientSideExporterProvider extends CommonsExporter {
|
6
7
|
getSelectedNumber() {
|
7
8
|
return this.dataUnit.getSelectionInfo().length;
|
@@ -18,13 +19,24 @@ export default class ClientSideExporterProvider extends CommonsExporter {
|
|
18
19
|
var _a, _b, _c;
|
19
20
|
return (_c = (_b = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.records) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.__record__id__;
|
20
21
|
}
|
21
|
-
async getRecords() {
|
22
|
-
if (this.dataUnit.records.length === 0)
|
23
|
-
return
|
22
|
+
async getRecords(exportType) {
|
23
|
+
if (this.dataUnit.records.length === 0)
|
24
|
+
return [];
|
25
|
+
switch (exportType) {
|
26
|
+
case IExportType.ALL:
|
27
|
+
return this.dataUnit.getSelectionInfo().getAllRecords();
|
28
|
+
case IExportType.SELECTION:
|
29
|
+
return this.resolveRecordsFromSelection();
|
30
|
+
case IExportType.PAGE:
|
31
|
+
return this.dataUnit.records;
|
32
|
+
default:
|
33
|
+
return this.resolveRecordsFromSelection();
|
24
34
|
}
|
35
|
+
}
|
36
|
+
resolveRecordsFromSelection() {
|
25
37
|
const selectionInfo = this.dataUnit.getSelectionInfo();
|
26
|
-
const
|
27
|
-
return
|
38
|
+
const selectionRecords = selectionInfo.isEmpty() || selectionInfo.isAllRecords() ? selectionInfo.getAllRecords() : selectionInfo.records;
|
39
|
+
return selectionRecords.length ? selectionRecords : this.dataUnit.records;
|
28
40
|
}
|
29
41
|
getHiddenOptions() {
|
30
42
|
return [
|
package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import { CommonsExporter } from "../interfaces/IExporterProvider";
|
2
|
-
import { getSelectedIDs } from
|
2
|
+
import { getSelectedRecordsIDsInfo as getSelectedIDs } from '../../../lib/utils/GetSelectedRecordsIDsInfo';
|
3
3
|
export default class ServerSideExporterProvider extends CommonsExporter {
|
4
4
|
getFilters() {
|
5
5
|
var _a;
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import { ApplicationContext, DataType, ElementIDUtils } from '@sankhyalabs/core';
|
2
2
|
import { h, Host } from '@stencil/core';
|
3
3
|
import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
|
4
|
+
import { IExportType } from '../../lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams';
|
4
5
|
import { ItemBuilder } from './structure/ItemBuilder';
|
5
6
|
import { DataExporterFormat, DataExporterOption, DataExporterType } from '../../lib/@types';
|
6
7
|
import { REPORT_LAUNCHER_RESOURCE_ID } from '../../lib/utils/constants';
|
@@ -42,7 +43,7 @@ export class SnkDataExporter {
|
|
42
43
|
resolver: ({ type, format, email: { to, subject, message } }) => {
|
43
44
|
var _a;
|
44
45
|
const methodName = (_a = DataExporterFormat[format === null || format === void 0 ? void 0 : format.toUpperCase()]) !== null && _a !== void 0 ? _a : DataExporterFormat.PDF;
|
45
|
-
this.resolveExporter({ type, methodName, to, subject, message, fileName: this._appLabel,
|
46
|
+
this.resolveExporter({ type, methodName, to, subject, message, fileName: this._appLabel, gridTitle: this._appLabel }, () => {
|
46
47
|
this._snkEmailSender.close();
|
47
48
|
ApplicationUtils.info(this.getMessage("snkDataExporter.message.emailSuccess"), { iconName: "check" });
|
48
49
|
});
|
@@ -105,7 +106,9 @@ export class SnkDataExporter {
|
|
105
106
|
});
|
106
107
|
}
|
107
108
|
getExporterStrategy() {
|
108
|
-
return this.provider.getRecords == undefined
|
109
|
+
return this.provider.getRecords == undefined
|
110
|
+
? new ServerSideExporterStrategy(this.provider)
|
111
|
+
: new ClientSideExporterStrategy(this.provider);
|
109
112
|
}
|
110
113
|
getOptionKey(option) {
|
111
114
|
return Object.keys(DataExporterOption)
|
@@ -115,30 +118,28 @@ export class SnkDataExporter {
|
|
115
118
|
}
|
116
119
|
getExportType(option) {
|
117
120
|
if (option === DataExporterOption.EXPORT_ALL_RECORDS_TO_PDF || option === DataExporterOption.EXPORT_ALL_RECORDS_TO_XLS) {
|
118
|
-
return
|
121
|
+
return IExportType.ALL;
|
119
122
|
}
|
120
123
|
if (option === DataExporterOption.EXPORT_PAGE_TO_PDF || option === DataExporterOption.EXPORT_PAGE_TO_XLS) {
|
121
|
-
return
|
124
|
+
return IExportType.PAGE;
|
122
125
|
}
|
123
|
-
return
|
126
|
+
return IExportType.SELECTION;
|
124
127
|
}
|
125
128
|
async dispatchExporter(option) {
|
126
129
|
var _a, _b, _c;
|
127
130
|
const optionKey = this.getOptionKey(option);
|
128
131
|
const fileType = (_a = DataExporterType[optionKey]) !== null && _a !== void 0 ? _a : DataExporterType.EXPORT_TO_PDF;
|
129
|
-
const isDownload = DataExporterType[optionKey] === DataExporterType.EXPORT_TO_XLS;
|
130
132
|
const params = {
|
131
133
|
methodName: DataExporterOption[`EXPORT_TO_${fileType}`],
|
132
134
|
fileName: this._appLabel,
|
133
|
-
|
135
|
+
gridTitle: this._appLabel,
|
134
136
|
exportOption: option,
|
135
137
|
limit: (_c = (_b = this.provider) === null || _b === void 0 ? void 0 : _b.getExportLimit) === null || _c === void 0 ? void 0 : _c.call(_b),
|
136
138
|
type: this.getExportType(option),
|
137
139
|
};
|
138
140
|
await this.resolveExporter(params, (response) => {
|
139
141
|
if (response.canExport || fileType === DataExporterType.EXPORT_TO_PDF) {
|
140
|
-
fileViewer(Object.assign(Object.assign({}, response), { fileType
|
141
|
-
isDownload }));
|
142
|
+
fileViewer(Object.assign(Object.assign({}, response), { fileType }));
|
142
143
|
}
|
143
144
|
else {
|
144
145
|
ApplicationUtils.error(this.getMessage("snkDataExporter.title.permission"), this.getMessage("snkDataExporter.message.exportPermission"));
|