@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
@@ -0,0 +1,11 @@
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
2
|
+
|
3
|
+
interface SnkSimpleFormConfig extends Components.SnkSimpleFormConfig, HTMLElement {}
|
4
|
+
export const SnkSimpleFormConfig: {
|
5
|
+
prototype: SnkSimpleFormConfig;
|
6
|
+
new (): SnkSimpleFormConfig;
|
7
|
+
};
|
8
|
+
/**
|
9
|
+
* Used to define this component and all nested components recursively.
|
10
|
+
*/
|
11
|
+
export const defineCustomElement: () => void;
|
@@ -0,0 +1,121 @@
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
|
2
|
+
import './DataFetcher.js';
|
3
|
+
import './ISave.js';
|
4
|
+
import '@sankhyalabs/core';
|
5
|
+
import '@sankhyalabs/ezui/dist/collection/utils/constants';
|
6
|
+
import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
|
7
|
+
import './dataunit-fetcher.js';
|
8
|
+
import './filter-item-type.enum.js';
|
9
|
+
import { F as FormConfigFetcher } from './form-config-fetcher.js';
|
10
|
+
import './constants.js';
|
11
|
+
|
12
|
+
const snkSimpleFormConfigCss = ":host{display:block}.config-container{display:flex;flex-direction:column;align-items:center;justify-content:space-between}.config-lists{margin-bottom:12px}.config-actions{display:flex;flex-direction:row;justify-content:flex-end;width:100%;gap:12px}";
|
13
|
+
|
14
|
+
const SnkSimpleFormConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
15
|
+
constructor() {
|
16
|
+
super();
|
17
|
+
this.__registerHost();
|
18
|
+
this.snkConfigSaved = createEvent(this, "snkConfigSaved", 7);
|
19
|
+
this._formConfigFetcher = new FormConfigFetcher();
|
20
|
+
this.fieldsToSave = [];
|
21
|
+
this.dataUnit = undefined;
|
22
|
+
this.configName = undefined;
|
23
|
+
this.avaliableFields = [];
|
24
|
+
this.selectedFields = [];
|
25
|
+
}
|
26
|
+
/**
|
27
|
+
* Responsável por abrir o configurador.
|
28
|
+
*/
|
29
|
+
async show() {
|
30
|
+
var _a;
|
31
|
+
await ((_a = this.ezDoubleListRef) === null || _a === void 0 ? void 0 : _a.resetSelectedLists());
|
32
|
+
await this.initializeFormConfig();
|
33
|
+
this.ezPopupRef.opened = true;
|
34
|
+
}
|
35
|
+
;
|
36
|
+
async initializeFormConfig() {
|
37
|
+
if (!this.configName)
|
38
|
+
return;
|
39
|
+
const allFields = this.getAllVisibleFieldsFromDataUnit();
|
40
|
+
const displayedFieldNameList = await this.getConfig();
|
41
|
+
//Quando não retorna dados, é por quê não existe configuração do usuário salva.
|
42
|
+
if (displayedFieldNameList.length === 0) {
|
43
|
+
this.avaliableFields = [];
|
44
|
+
this.selectedFields = [...allFields];
|
45
|
+
this.fieldsToSave = [...this.selectedFields];
|
46
|
+
return;
|
47
|
+
}
|
48
|
+
const selectedFieldsAux = this.sortDisplayedFields(displayedFieldNameList, allFields);
|
49
|
+
const avaliableFieldsAux = allFields.filter(field => !displayedFieldNameList.includes(field.id));
|
50
|
+
this.avaliableFields = [...avaliableFieldsAux];
|
51
|
+
this.selectedFields = [...selectedFieldsAux];
|
52
|
+
this.fieldsToSave = [...this.selectedFields];
|
53
|
+
}
|
54
|
+
async getConfig() {
|
55
|
+
const fieldList = await this._formConfigFetcher.fetchSimpleFormConfig(this.configName);
|
56
|
+
return [...this.removeDuplicates(fieldList)];
|
57
|
+
}
|
58
|
+
removeDuplicates(strings) {
|
59
|
+
return strings.filter((item, index) => strings.indexOf(item) === index);
|
60
|
+
}
|
61
|
+
sortDisplayedFields(displayedFieldNameList, allFields) {
|
62
|
+
const selectedFieldsAux = [];
|
63
|
+
//É preciso garantir a ordem na qual os campos vieram na resposta do fetchSimpleFormConfig.
|
64
|
+
displayedFieldNameList.forEach(fieldName => {
|
65
|
+
const field = allFields.find(field => field.id === fieldName);
|
66
|
+
if (!field)
|
67
|
+
return;
|
68
|
+
selectedFieldsAux.push(field);
|
69
|
+
});
|
70
|
+
return selectedFieldsAux;
|
71
|
+
}
|
72
|
+
getAllVisibleFieldsFromDataUnit() {
|
73
|
+
var _a, _b, _c;
|
74
|
+
const visibleFields = ((_c = (_b = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.metadata) === null || _b === void 0 ? void 0 : _b.fields) !== null && _c !== void 0 ? _c : []).filter(field => field.visible);
|
75
|
+
return visibleFields.map(field => {
|
76
|
+
return { id: field.name, label: field.label };
|
77
|
+
});
|
78
|
+
}
|
79
|
+
close() {
|
80
|
+
this.ezPopupRef.opened = false;
|
81
|
+
}
|
82
|
+
async handleResetConfigs() {
|
83
|
+
await this._formConfigFetcher.restoreFormConfig(this.configName);
|
84
|
+
await this.initializeFormConfig();
|
85
|
+
await this.handleSave();
|
86
|
+
}
|
87
|
+
handleCancel() {
|
88
|
+
this.close();
|
89
|
+
}
|
90
|
+
async handleSave() {
|
91
|
+
const saveList = this.fieldsToSave.map(field => field.id);
|
92
|
+
await this._formConfigFetcher.saveSimpleFormConfig(this.configName, saveList);
|
93
|
+
this.close();
|
94
|
+
this.snkConfigSaved.emit();
|
95
|
+
}
|
96
|
+
render() {
|
97
|
+
return (h("ez-popup", { ref: (ref) => this.ezPopupRef = ref, heightMode: 'auto', size: 'auto', ezTitle: 'Configurar formul\u00E1rio' }, h("div", { class: 'config-container' }, h("div", { class: 'config-lists' }, h("ez-double-list", { ref: (ref) => this.ezDoubleListRef = ref, leftList: this.avaliableFields, leftTitle: 'Campos disponíveis', rightList: this.selectedFields, rightTitle: 'Campos selecionados', onEzRightListChanged: ({ detail }) => this.fieldsToSave = [...detail], entityLabel: 'campo', entityLabelPlural: 'campos' })), h("div", { class: 'config-actions' }, h("ez-button", { label: 'Restaurar', onClick: this.handleResetConfigs.bind(this), size: 'small' }), h("ez-button", { label: 'Cancelar', onClick: this.handleCancel.bind(this), size: 'small' }), h("ez-button", { label: 'Salvar', class: 'ez-button--primary', onClick: this.handleSave.bind(this), size: 'small' })))));
|
98
|
+
}
|
99
|
+
static get style() { return snkSimpleFormConfigCss; }
|
100
|
+
}, [0, "snk-simple-form-config", {
|
101
|
+
"dataUnit": [16],
|
102
|
+
"configName": [1, "config-name"],
|
103
|
+
"avaliableFields": [32],
|
104
|
+
"selectedFields": [32],
|
105
|
+
"show": [64]
|
106
|
+
}]);
|
107
|
+
function defineCustomElement() {
|
108
|
+
if (typeof customElements === "undefined") {
|
109
|
+
return;
|
110
|
+
}
|
111
|
+
const components = ["snk-simple-form-config"];
|
112
|
+
components.forEach(tagName => { switch (tagName) {
|
113
|
+
case "snk-simple-form-config":
|
114
|
+
if (!customElements.get(tagName)) {
|
115
|
+
customElements.define(tagName, SnkSimpleFormConfig);
|
116
|
+
}
|
117
|
+
break;
|
118
|
+
} });
|
119
|
+
}
|
120
|
+
|
121
|
+
export { SnkSimpleFormConfig as S, defineCustomElement as d };
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { proxyCustomElement, HTMLElement as HTMLElement$1, createEvent, h, Host, Fragment } from '@stencil/core/internal/client';
|
2
2
|
import { ApplicationContext, ElementIDUtils } from '@sankhyalabs/core';
|
3
|
-
import { C as CONFIG_EVENTS,
|
3
|
+
import { C as CONFIG_EVENTS, c as CONFIG_SORTABLE_EVENTS, K as KEY_EVENTS, e as TYPE_ACTIONS, d as TAB_NAMES } from './constants.js';
|
4
4
|
|
5
5
|
class AbstractEvent {
|
6
6
|
|
@@ -1,12 +1,13 @@
|
|
1
1
|
import { h, proxyCustomElement, HTMLElement, createEvent, Host } from '@stencil/core/internal/client';
|
2
|
-
import { Action, StringUtils, ApplicationContext, OVERFLOWED_CLASS_NAME, OverflowWatcher, OverflowDirection, ElementIDUtils } from '@sankhyalabs/core';
|
2
|
+
import { Action, LockManager, LockManagerOperation, SilentException, StringUtils, ApplicationContext, OVERFLOWED_CLASS_NAME, OverflowWatcher, OverflowDirection, ElementIDUtils } from '@sankhyalabs/core';
|
3
3
|
import { A as AuthorizationConfig } from './AuthorizationConfig.js';
|
4
4
|
import { P as PresentationMode } from './ISave.js';
|
5
5
|
import { s as store } from './index2.js';
|
6
|
-
import { d as defineCustomElement$
|
7
|
-
import { d as defineCustomElement$
|
8
|
-
import { d as defineCustomElement$
|
9
|
-
import { d as defineCustomElement$
|
6
|
+
import { d as defineCustomElement$5 } from './snk-actions-button2.js';
|
7
|
+
import { d as defineCustomElement$4 } from './snk-data-exporter2.js';
|
8
|
+
import { d as defineCustomElement$3 } from './snk-exporter-email-sender2.js';
|
9
|
+
import { d as defineCustomElement$2 } from './taskbar-actions-button2.js';
|
10
|
+
import { d as defineCustomElement$1 } from './taskbar-split-button2.js';
|
10
11
|
|
11
12
|
var TaskbarElement;
|
12
13
|
(function (TaskbarElement) {
|
@@ -27,6 +28,7 @@ var TaskbarElement;
|
|
27
28
|
TaskbarElement["DATA_EXPORTER"] = "DATA_EXPORTER";
|
28
29
|
TaskbarElement["ATTACH"] = "ATTACH";
|
29
30
|
TaskbarElement["ACTIONS_BUTTON"] = "ACTIONS_BUTTON";
|
31
|
+
TaskbarElement["UPDATE_MULTIPLE"] = "UPDATE_MULTIPLE";
|
30
32
|
})(TaskbarElement || (TaskbarElement = {}));
|
31
33
|
var AuthorizationElements;
|
32
34
|
(function (AuthorizationElements) {
|
@@ -66,6 +68,8 @@ const buildElem = (element, className, dataElementId, getTitle, action, isEnable
|
|
66
68
|
return iconButton("sync", element, className, dataElementId, title, action, isEnabled);
|
67
69
|
case TaskbarElement.UPDATE:
|
68
70
|
return iconButton("edit", element, className, dataElementId, title, action, isEnabled);
|
71
|
+
case TaskbarElement.UPDATE_MULTIPLE:
|
72
|
+
return iconButton("edit-table", element, className, dataElementId, title, action, isEnabled);
|
69
73
|
case TaskbarElement.CLONE:
|
70
74
|
return iconButton("copy", element, className, dataElementId, title, action, isEnabled);
|
71
75
|
case TaskbarElement.REMOVE:
|
@@ -91,6 +95,9 @@ const buildElem = (element, className, dataElementId, getTitle, action, isEnable
|
|
91
95
|
case TaskbarElement.FORM_MODE:
|
92
96
|
return iconButton("list", element, className, dataElementId, title, action, isEnabled);
|
93
97
|
case TaskbarElement.CONFIGURATOR:
|
98
|
+
if ((actions === null || actions === void 0 ? void 0 : actions.length) > 0) {
|
99
|
+
return splitButton("settings-inverted", element, className, title, dataElementId, isEnabled, actions, action);
|
100
|
+
}
|
94
101
|
return iconButton("settings-inverted", element, className, dataElementId, title, action, isEnabled);
|
95
102
|
case TaskbarElement.MORE_OPTIONS:
|
96
103
|
return actionButton(element, className, dataElementId, title, isEnabled, actions, action);
|
@@ -115,6 +122,11 @@ function iconTextButton(iconName, name, className, dataElementId, text, title, a
|
|
115
122
|
return h("ez-button", { key: dataElementId, title: title, label: text, size: "small", class: className, "data-taskbar-label": text, "data-taskbar-icon": iconName, "data-taskbar-element": name, "data-element-id": dataElementId, enabled: isEnabled(name), onClick: () => action(name) },
|
116
123
|
h("ez-icon", { class: "ez-padding-right--small", slot: "leftIcon", iconName: iconName }));
|
117
124
|
}
|
125
|
+
function splitButton(iconName, element, className, title, dataElementId, isEnabled, actions, action) {
|
126
|
+
return actions && actions.length > 0
|
127
|
+
? h("taskbar-split-button", { iconName: iconName, class: className, key: dataElementId, "data-taskbar-icon": iconName, "data-taskbar-label": title, "data-taskbar-element": element, "data-element-id": dataElementId, enabled: isEnabled(element), actions: actions, title: title, action: () => action(element) })
|
128
|
+
: undefined;
|
129
|
+
}
|
118
130
|
function actionButton(element, className, dataElementId, title, isEnabled, actions, action) {
|
119
131
|
return actions && actions.length > 0
|
120
132
|
? h("taskbar-actions-button", { class: className, key: dataElementId, title: title, "data-taskbar-element": element, "data-element-id": dataElementId, enabled: isEnabled(element), actions: actions, onTaskbarActionSelected: (evt) => action(evt.detail.value) })
|
@@ -128,11 +140,14 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
128
140
|
super();
|
129
141
|
this.__registerHost();
|
130
142
|
this.actionClick = createEvent(this, "actionClick", 7);
|
143
|
+
this.taskbarSaveLocker = createEvent(this, "taskbarSaveLocker", 7);
|
144
|
+
this.taskbarSaveUnlocker = createEvent(this, "taskbarSaveUnlocker", 7);
|
131
145
|
this.TASKBAR_ITEM_ID_PREFIX = 'TASKBAR_ITEM_';
|
132
146
|
this.TASKBAR_CUSTOM_ELEMENTS_CONTAINER_CLASS_NAME = 'taskbar-custom-elements-container';
|
133
147
|
this.ACTIONS_BUTTON_TAG = 'TASKBAR-ACTIONS-BUTTON';
|
134
148
|
this.NOT_OVERFLOW_ELEMENTS = ["moreOptions", "dataExporter_snkDataExporter", "actionsButton_snkActionsButton"];
|
135
149
|
this._titleKeyByElement = {
|
150
|
+
[TaskbarElement.UPDATE_MULTIPLE]: "snkTaskbar.titleUpdateMultiple",
|
136
151
|
[TaskbarElement.UPDATE]: "snkTaskbar.titleUpdate",
|
137
152
|
[TaskbarElement.PREVIOUS]: "snkTaskbar.titlePrevious",
|
138
153
|
[TaskbarElement.NEXT]: "snkTaskbar.titleNext",
|
@@ -151,8 +166,10 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
151
166
|
this.onSaveEvent = (action) => {
|
152
167
|
switch (action.type) {
|
153
168
|
case Action.FIELD_INVALIDATED:
|
169
|
+
case Action.INVALIDATE_CLEAN:
|
154
170
|
case Action.DATA_SAVED:
|
155
171
|
case Action.SAVING_ERROR:
|
172
|
+
case Action.SAVING_CANCELED:
|
156
173
|
this._isWaitingForSave = false;
|
157
174
|
break;
|
158
175
|
case Action.SAVING_DATA:
|
@@ -178,6 +195,7 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
178
195
|
this.buttons = undefined;
|
179
196
|
this.customButtons = undefined;
|
180
197
|
this.actionsList = undefined;
|
198
|
+
this.actionsSettingsList = undefined;
|
181
199
|
this.primaryButton = undefined;
|
182
200
|
this.disabledButtons = undefined;
|
183
201
|
this.dataUnit = undefined;
|
@@ -189,6 +207,16 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
189
207
|
this.getCustomElements(true);
|
190
208
|
}
|
191
209
|
}
|
210
|
+
handleTaskbarSaveLocker() {
|
211
|
+
if (this._isWaitingForSave !== true) {
|
212
|
+
this._isWaitingForSave = true;
|
213
|
+
}
|
214
|
+
}
|
215
|
+
handleTaskbarSaveUnlocker() {
|
216
|
+
if (this._isWaitingForSave === true) {
|
217
|
+
this._isWaitingForSave = false;
|
218
|
+
}
|
219
|
+
}
|
192
220
|
hasToSearchCustomElements(event) {
|
193
221
|
return this.customSlotId === event.detail && !this._slotContainer;
|
194
222
|
}
|
@@ -207,6 +235,14 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
207
235
|
this._hasToUpdateOverFlow = true;
|
208
236
|
}
|
209
237
|
}
|
238
|
+
observeIsWaitingForSave(newValue, oldValue) {
|
239
|
+
if (newValue == true && oldValue == false) {
|
240
|
+
this.taskbarSaveLocker.emit();
|
241
|
+
}
|
242
|
+
if (newValue == false && oldValue == true) {
|
243
|
+
this.taskbarSaveUnlocker.emit();
|
244
|
+
}
|
245
|
+
}
|
210
246
|
// Internal methods
|
211
247
|
elementsFromString(strButtons) {
|
212
248
|
const elements = [];
|
@@ -251,42 +287,50 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
251
287
|
return key ? (_a = this.messagesBuilder) === null || _a === void 0 ? void 0 : _a.getMessage(key, {}) : "";
|
252
288
|
}
|
253
289
|
elementClick(elem) {
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
this._isWaitingForSave
|
280
|
-
|
281
|
-
.
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
290
|
+
LockManager.whenResolve(this._element, LockManagerOperation.TASKBAR_CLICK).then(() => {
|
291
|
+
if (this.dataUnit) {
|
292
|
+
switch (elem) {
|
293
|
+
case TaskbarElement.PREVIOUS:
|
294
|
+
this.dataUnit.previousRecord();
|
295
|
+
break;
|
296
|
+
case TaskbarElement.NEXT:
|
297
|
+
this.dataUnit.nextRecord();
|
298
|
+
break;
|
299
|
+
case TaskbarElement.REFRESH:
|
300
|
+
this.dataUnit.loadData();
|
301
|
+
break;
|
302
|
+
case TaskbarElement.CLONE:
|
303
|
+
this.dataUnit.copySelected();
|
304
|
+
break;
|
305
|
+
case TaskbarElement.REMOVE:
|
306
|
+
this.dataUnit.removeSelectedRecords();
|
307
|
+
break;
|
308
|
+
case TaskbarElement.INSERT:
|
309
|
+
this.dataUnit.addRecord();
|
310
|
+
break;
|
311
|
+
case TaskbarElement.CANCEL:
|
312
|
+
this.dataUnit.cancelEdition();
|
313
|
+
break;
|
314
|
+
case TaskbarElement.SAVE:
|
315
|
+
if (!this._isWaitingForSave) {
|
316
|
+
this._isWaitingForSave = true;
|
317
|
+
this.dataUnit.saveData().catch((err) => {
|
318
|
+
if (err instanceof SilentException) {
|
319
|
+
return;
|
320
|
+
}
|
321
|
+
else {
|
322
|
+
throw err;
|
323
|
+
}
|
324
|
+
}).finally(() => {
|
325
|
+
this._isWaitingForSave = false;
|
326
|
+
});
|
327
|
+
}
|
328
|
+
break;
|
329
|
+
}
|
286
330
|
}
|
287
|
-
|
288
|
-
|
289
|
-
|
331
|
+
if (this.isEnabled(elem))
|
332
|
+
this.actionClick.emit(elem);
|
333
|
+
});
|
290
334
|
}
|
291
335
|
isEnabled(elem) {
|
292
336
|
if (!this.isAllowed(elem)) {
|
@@ -308,7 +352,7 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
308
352
|
const taskbarElement = TaskbarElement[def.toString()];
|
309
353
|
const dataExporterStoreKey = this._element.dataset.exporterStoreKey || this.configName;
|
310
354
|
if (taskbarElement) {
|
311
|
-
return buildElem(def, className, this.getIdElemBtnNative(def), elem => this.getTitle(elem), elem => this.elementClick(elem), elem => this.isEnabled(elem), this.buildDynamicActionsList(), dataExporterStoreKey, this.presentationMode);
|
355
|
+
return buildElem(def, className, this.getIdElemBtnNative(def), elem => this.getTitle(elem), elem => this.elementClick(elem), elem => this.isEnabled(elem), def !== TaskbarElement.CONFIGURATOR ? this.buildDynamicActionsList() : this.buildActionsSettingsList(), dataExporterStoreKey, this.presentationMode);
|
312
356
|
}
|
313
357
|
else {
|
314
358
|
return buildCustomButton(def, className, this.getIdElemBtnCustom(def), elem => this.elementClick(elem), elem => this.isEnabled(elem));
|
@@ -317,10 +361,13 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
317
361
|
buildDynamicActionsList() {
|
318
362
|
var _a;
|
319
363
|
if (this._hiddenActionsList.length) {
|
320
|
-
return [...((_a = this.actionsList) !== null && _a !== void 0 ? _a : []),
|
364
|
+
return [...((_a = this.actionsList) !== null && _a !== void 0 ? _a : []), ...this._hiddenActionsList];
|
321
365
|
}
|
322
366
|
return this.actionsList;
|
323
367
|
}
|
368
|
+
buildActionsSettingsList() {
|
369
|
+
return this.actionsSettingsList;
|
370
|
+
}
|
324
371
|
getIdElemBtnNative(taskbarElem) {
|
325
372
|
return StringUtils.toCamelCase(taskbarElem);
|
326
373
|
}
|
@@ -490,9 +537,10 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
490
537
|
this._lastWidth = this._element.getBoundingClientRect().width;
|
491
538
|
}
|
492
539
|
disconnectedCallback() {
|
493
|
-
var _a;
|
540
|
+
var _a, _b;
|
541
|
+
(_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.unsubscribe(this.onSaveEvent);
|
494
542
|
this.unlinkAllCustomElements();
|
495
|
-
(
|
543
|
+
(_b = this._overFlowWatcher) === null || _b === void 0 ? void 0 : _b.destroy();
|
496
544
|
}
|
497
545
|
unlinkAllCustomElements() {
|
498
546
|
var _a;
|
@@ -535,7 +583,8 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
535
583
|
static get watchers() { return {
|
536
584
|
"buttons": ["observeButtons"],
|
537
585
|
"disabledButtons": ["observeDisabledButtons"],
|
538
|
-
"_lastWidth": ["observeLastWidth"]
|
586
|
+
"_lastWidth": ["observeLastWidth"],
|
587
|
+
"_isWaitingForSave": ["observeIsWaitingForSave"]
|
539
588
|
}; }
|
540
589
|
static get style() { return snkTaskbarCss; }
|
541
590
|
}, [6, "snk-taskbar", {
|
@@ -548,6 +597,7 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
548
597
|
"buttons": [1],
|
549
598
|
"customButtons": [16],
|
550
599
|
"actionsList": [16],
|
600
|
+
"actionsSettingsList": [16],
|
551
601
|
"primaryButton": [1, "primary-button"],
|
552
602
|
"disabledButtons": [16],
|
553
603
|
"dataUnit": [16],
|
@@ -562,12 +612,12 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
562
612
|
"_lastWidth": [32],
|
563
613
|
"_hasToUpdateOverFlow": [32],
|
564
614
|
"_isWaitingForSave": [32]
|
565
|
-
}, [[8, "snkCustomSlotElementsLoaded", "handleCustomSlotElementsLoaded"]]]);
|
615
|
+
}, [[8, "snkCustomSlotElementsLoaded", "handleCustomSlotElementsLoaded"], [8, "taskbarSaveLocker", "handleTaskbarSaveLocker"], [8, "taskbarSaveUnlocker", "handleTaskbarSaveUnlocker"]]]);
|
566
616
|
function defineCustomElement() {
|
567
617
|
if (typeof customElements === "undefined") {
|
568
618
|
return;
|
569
619
|
}
|
570
|
-
const components = ["snk-taskbar", "snk-actions-button", "snk-data-exporter", "snk-exporter-email-sender", "taskbar-actions-button"];
|
620
|
+
const components = ["snk-taskbar", "snk-actions-button", "snk-data-exporter", "snk-exporter-email-sender", "taskbar-actions-button", "taskbar-split-button"];
|
571
621
|
components.forEach(tagName => { switch (tagName) {
|
572
622
|
case "snk-taskbar":
|
573
623
|
if (!customElements.get(tagName)) {
|
@@ -576,20 +626,25 @@ function defineCustomElement() {
|
|
576
626
|
break;
|
577
627
|
case "snk-actions-button":
|
578
628
|
if (!customElements.get(tagName)) {
|
579
|
-
defineCustomElement$
|
629
|
+
defineCustomElement$5();
|
580
630
|
}
|
581
631
|
break;
|
582
632
|
case "snk-data-exporter":
|
583
633
|
if (!customElements.get(tagName)) {
|
584
|
-
defineCustomElement$
|
634
|
+
defineCustomElement$4();
|
585
635
|
}
|
586
636
|
break;
|
587
637
|
case "snk-exporter-email-sender":
|
588
638
|
if (!customElements.get(tagName)) {
|
589
|
-
defineCustomElement$
|
639
|
+
defineCustomElement$3();
|
590
640
|
}
|
591
641
|
break;
|
592
642
|
case "taskbar-actions-button":
|
643
|
+
if (!customElements.get(tagName)) {
|
644
|
+
defineCustomElement$2();
|
645
|
+
}
|
646
|
+
break;
|
647
|
+
case "taskbar-split-button":
|
593
648
|
if (!customElements.get(tagName)) {
|
594
649
|
defineCustomElement$1();
|
595
650
|
}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
2
|
+
|
3
|
+
interface SnkViewRepresentation extends Components.SnkViewRepresentation, HTMLElement {}
|
4
|
+
export const SnkViewRepresentation: {
|
5
|
+
prototype: SnkViewRepresentation;
|
6
|
+
new (): SnkViewRepresentation;
|
7
|
+
};
|
8
|
+
/**
|
9
|
+
* Used to define this component and all nested components recursively.
|
10
|
+
*/
|
11
|
+
export const defineCustomElement: () => void;
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { S as SnkViewRepresentation$1, d as defineCustomElement$1 } from './snk-view-representation2.js';
|
2
|
+
|
3
|
+
const SnkViewRepresentation = SnkViewRepresentation$1;
|
4
|
+
const defineCustomElement = defineCustomElement$1;
|
5
|
+
|
6
|
+
export { SnkViewRepresentation, defineCustomElement };
|
@@ -0,0 +1,41 @@
|
|
1
|
+
import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
|
2
|
+
import { FormLayout } from '@sankhyalabs/ezui/dist/collection/utils';
|
3
|
+
|
4
|
+
const snkViewRepresentationCss = ".sc-snk-view-representation-h{display:block}.svg-container.sc-snk-view-representation{display:flex;width:185px;height:125px;border-radius:8px;background-color:#f7f7f7;padding:10px 12px;box-sizing:border-box;position:relative}.svg-container__background.sc-snk-view-representation{display:flex;flex-direction:column;width:100%}.svg-container__header.sc-snk-view-representation{display:flex;gap:2px;margin-bottom:12px}.svg-container__circle.sc-snk-view-representation{width:9px;height:9px;border-radius:50%}.svg-container__circle--red.sc-snk-view-representation{background-color:#ed7678}.svg-container__circle--yellow.sc-snk-view-representation{background-color:#eddb76}.svg-container__circle--green.sc-snk-view-representation{background-color:#7ad08e}.svg-container__section.sc-snk-view-representation{width:100%}.svg-container__collumn.sc-snk-view-representation{width:100%;display:flex;flex-direction:column}.svg-container__inline.sc-snk-view-representation{display:flex;flex-direction:row;gap:6px}.svg-container__line.sc-snk-view-representation{height:13px;border-radius:4px;background-color:#d9d9d9;margin-bottom:4px}.svg-container__line--short.sc-snk-view-representation{width:39.68px;height:7px;border-radius:3.5px}.svg-container__line--long.sc-snk-view-representation{width:100%}";
|
5
|
+
|
6
|
+
const SnkViewRepresentation = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
7
|
+
constructor() {
|
8
|
+
super();
|
9
|
+
this.__registerHost();
|
10
|
+
this.mode = FormLayout.SIDE_BY_SIDE;
|
11
|
+
}
|
12
|
+
renderCascadeLayout() {
|
13
|
+
return (h("div", { class: "svg-container__collumn" }, [...Array(3)].map(() => (h("div", { class: "svg-container__section" }, h("div", { class: "svg-container__line svg-container__line--short" }), h("div", { class: "svg-container__line svg-container__line--long" }))))));
|
14
|
+
}
|
15
|
+
renderSideBySideLayout() {
|
16
|
+
return (h("div", { class: "svg-container__inline" }, [...Array(2)].map(() => this.renderCascadeLayout())));
|
17
|
+
}
|
18
|
+
render() {
|
19
|
+
return (h("div", { class: "svg-container ez-margin-left--small" }, h("div", { class: "svg-container__background" }, h("div", { class: "svg-container__header" }, h("div", { class: "svg-container__circle svg-container__circle--red" }), h("div", { class: "svg-container__circle svg-container__circle--yellow" }), h("div", { class: "svg-container__circle svg-container__circle--green" })), this.mode === FormLayout.CASCADE
|
20
|
+
? this.renderCascadeLayout()
|
21
|
+
: this.renderSideBySideLayout())));
|
22
|
+
}
|
23
|
+
static get style() { return snkViewRepresentationCss; }
|
24
|
+
}, [2, "snk-view-representation", {
|
25
|
+
"mode": [8]
|
26
|
+
}]);
|
27
|
+
function defineCustomElement() {
|
28
|
+
if (typeof customElements === "undefined") {
|
29
|
+
return;
|
30
|
+
}
|
31
|
+
const components = ["snk-view-representation"];
|
32
|
+
components.forEach(tagName => { switch (tagName) {
|
33
|
+
case "snk-view-representation":
|
34
|
+
if (!customElements.get(tagName)) {
|
35
|
+
customElements.define(tagName, SnkViewRepresentation);
|
36
|
+
}
|
37
|
+
break;
|
38
|
+
} });
|
39
|
+
}
|
40
|
+
|
41
|
+
export { SnkViewRepresentation as S, defineCustomElement as d };
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
2
2
|
|
3
|
-
const taskbarActionsButtonCss = ".sc-taskbar-actions-button-h{display:flex;width:fit-content;height:fit-content}";
|
3
|
+
const taskbarActionsButtonCss = ".sc-taskbar-actions-button-h{--ez-dropdown--min-width:150px;display:flex;width:fit-content;height:fit-content}.ez-dropdown-container.sc-taskbar-actions-button{position:relative;display:inline-block}.ez-dropdown--sticky.sc-taskbar-actions-button{position:absolute;display:block;min-width:var(--ez-dropdown--min-width)}";
|
4
4
|
|
5
5
|
const TaskbarActionsButton = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
6
6
|
constructor() {
|
@@ -126,7 +126,7 @@ const TaskbarActionsButton = /*@__PURE__*/ proxyCustomElement(class extends HTML
|
|
126
126
|
this.taskbarActionsButtonDisconnected.emit();
|
127
127
|
}
|
128
128
|
render() {
|
129
|
-
return (h(Host, null, h("div", { class: `${this.canShowDropdown() ? ' ez-elevation--16' : ''}` }, h("ez-button", { title: this.title, mode: 'icon', iconName: 'dots-vertical', size: 'small', enabled: this.enabled, onClick: () => this.controlDropdown() }), this.canShowDropdown() && h("ez-dropdown", { items: this.loadItems(), onEzClick: (evt) => this.onSelectAction(evt.detail), onEzOutsideClick: () => this._showDropdown = false, itemBuilder: (item, level) => this.dropdownItemBuilder(item, level) }))));
|
129
|
+
return (h(Host, null, h("div", { class: `${this.canShowDropdown() ? ' ez-elevation--16' : ''} ez-dropdown-container` }, h("ez-button", { title: this.title, mode: 'icon', iconName: 'dots-vertical', size: 'small', enabled: this.enabled, onClick: () => this.controlDropdown() }), this.canShowDropdown() && h("ez-dropdown", { class: `ez-dropdown--sticky`, items: this.loadItems(), onEzClick: (evt) => this.onSelectAction(evt.detail), onEzOutsideClick: () => this._showDropdown = false, itemBuilder: (item, level) => this.dropdownItemBuilder(item, level) }))));
|
130
130
|
}
|
131
131
|
get _element() { return this; }
|
132
132
|
static get style() { return taskbarActionsButtonCss; }
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
2
|
+
|
3
|
+
interface TaskbarSplitButton extends Components.TaskbarSplitButton, HTMLElement {}
|
4
|
+
export const TaskbarSplitButton: {
|
5
|
+
prototype: TaskbarSplitButton;
|
6
|
+
new (): TaskbarSplitButton;
|
7
|
+
};
|
8
|
+
/**
|
9
|
+
* Used to define this component and all nested components recursively.
|
10
|
+
*/
|
11
|
+
export const defineCustomElement: () => void;
|
@@ -0,0 +1,87 @@
|
|
1
|
+
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
2
|
+
|
3
|
+
const taskbarSplitButtonCss = "";
|
4
|
+
|
5
|
+
const TaskbarSplitButton = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
6
|
+
constructor() {
|
7
|
+
super();
|
8
|
+
this.__registerHost();
|
9
|
+
this._showDropdown = false;
|
10
|
+
this.iconName = undefined;
|
11
|
+
this.action = undefined;
|
12
|
+
this.name = undefined;
|
13
|
+
this.className = undefined;
|
14
|
+
this.dataElementId = undefined;
|
15
|
+
this.title = undefined;
|
16
|
+
this.enabled = undefined;
|
17
|
+
this.actions = undefined;
|
18
|
+
}
|
19
|
+
initializeEagerItems() {
|
20
|
+
var _a;
|
21
|
+
(_a = this.actions) === null || _a === void 0 ? void 0 : _a.forEach(action => {
|
22
|
+
var _a;
|
23
|
+
if (action && action.eagerInitialize && action.itemBuilder) {
|
24
|
+
(_a = action.itemBuilder) === null || _a === void 0 ? void 0 : _a.call(action, this._splitButtonRef, action);
|
25
|
+
}
|
26
|
+
});
|
27
|
+
}
|
28
|
+
componentDidLoad() {
|
29
|
+
this.initializeEagerItems();
|
30
|
+
}
|
31
|
+
dropdownItemBuilder(item, _level) {
|
32
|
+
const itemAction = this.actions.find(action => action.value === item.id);
|
33
|
+
if (!itemAction || !itemAction.itemBuilder) {
|
34
|
+
return undefined;
|
35
|
+
}
|
36
|
+
const customContent = itemAction.itemBuilder(this._splitButtonRef, itemAction);
|
37
|
+
if (typeof customContent === 'string') {
|
38
|
+
return h("div", { innerHTML: customContent });
|
39
|
+
}
|
40
|
+
return customContent;
|
41
|
+
}
|
42
|
+
loadItems() {
|
43
|
+
return this.actions.filter(action => action !== undefined).map(action => {
|
44
|
+
var _a;
|
45
|
+
return {
|
46
|
+
id: action.value,
|
47
|
+
label: action.label,
|
48
|
+
value: action.value,
|
49
|
+
type: (_a = action.type) !== null && _a !== void 0 ? _a : 'item',
|
50
|
+
children: action.children,
|
51
|
+
iconName: action.iconName,
|
52
|
+
subAction: action.subAction,
|
53
|
+
group: action.group,
|
54
|
+
disableCloseOnSelect: action.disableCloseOnSelect,
|
55
|
+
};
|
56
|
+
});
|
57
|
+
}
|
58
|
+
render() {
|
59
|
+
return (h(Host, null, h("ez-split-button", { ref: (ref) => this._splitButtonRef = ref, key: this.dataElementId, class: `${this.className} "ez-split-button--tertiary ez-padding--medium"`, items: this.loadItems(), mode: "icon-only", iconName: this.iconName, enabled: this.enabled, show: this._showDropdown, onButtonClick: () => this.action(this.name), itemBuilder: (item, level) => this.dropdownItemBuilder(item, level) })));
|
60
|
+
}
|
61
|
+
static get style() { return taskbarSplitButtonCss; }
|
62
|
+
}, [2, "taskbar-split-button", {
|
63
|
+
"iconName": [1, "icon-name"],
|
64
|
+
"action": [16],
|
65
|
+
"name": [1],
|
66
|
+
"className": [1, "class-name"],
|
67
|
+
"dataElementId": [1, "data-element-id"],
|
68
|
+
"title": [1],
|
69
|
+
"enabled": [4],
|
70
|
+
"actions": [16],
|
71
|
+
"_showDropdown": [32]
|
72
|
+
}]);
|
73
|
+
function defineCustomElement() {
|
74
|
+
if (typeof customElements === "undefined") {
|
75
|
+
return;
|
76
|
+
}
|
77
|
+
const components = ["taskbar-split-button"];
|
78
|
+
components.forEach(tagName => { switch (tagName) {
|
79
|
+
case "taskbar-split-button":
|
80
|
+
if (!customElements.get(tagName)) {
|
81
|
+
customElements.define(tagName, TaskbarSplitButton);
|
82
|
+
}
|
83
|
+
break;
|
84
|
+
} });
|
85
|
+
}
|
86
|
+
|
87
|
+
export { TaskbarSplitButton as T, defineCustomElement as d };
|