@sankhyalabs/sankhyablocks 8.15.0-dev.7 → 8.15.0-dev.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{ConfigStorage-8009ecb2.js → ConfigStorage-9a53a42c.js} +94 -21
- package/dist/cjs/{DataFetcher-ba94ed5b.js → DataFetcher-515bda03.js} +7 -4
- package/dist/cjs/IExporterProvider-90690372.js +230 -0
- package/dist/cjs/{ISave-d68ce3cd.js → ISave-e91b70a7.js} +1 -0
- package/dist/cjs/RecordIDUtils-3735135c.js +43 -0
- package/dist/cjs/{SnkFormConfigManager-7d850fbc.js → SnkFormConfigManager-7b222c78.js} +23 -15
- package/dist/cjs/{SnkMessageBuilder-7293d0ad.js → SnkMessageBuilder-4a95fe86.js} +25 -13
- package/dist/cjs/{auth-fetcher-c8467c07.js → auth-fetcher-5acb0335.js} +1 -1
- package/dist/cjs/{dataunit-fetcher-14108bec.js → dataunit-fetcher-7a08e4dd.js} +409 -77
- package/dist/cjs/{form-config-fetcher-df043d3d.js → form-config-fetcher-3f430aee.js} +13 -1
- package/dist/cjs/index-f9e81701.js +2 -10
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{pesquisa-fetcher-ef050a47.js → pesquisa-fetcher-916a935c.js} +12 -13
- package/dist/cjs/sankhyablocks.cjs.js +1 -1
- package/dist/cjs/{snk-actions-button_2.cjs.entry.js → snk-actions-button_4.cjs.entry.js} +526 -8
- package/dist/cjs/snk-application.cjs.entry.js +68 -24
- package/dist/cjs/snk-attach.cjs.entry.js +430 -71
- package/dist/cjs/snk-crud.cjs.entry.js +124 -28
- package/dist/cjs/snk-data-exporter.cjs.entry.js +207 -83
- package/dist/cjs/snk-data-unit-3718477f.js +670 -0
- package/dist/cjs/snk-data-unit.cjs.entry.js +11 -2
- package/dist/cjs/snk-detail-view.cjs.entry.js +52 -13
- package/dist/cjs/snk-entity-list.cjs.entry.js +5 -3
- package/dist/cjs/snk-filter-bar.cjs.entry.js +70 -10
- package/dist/cjs/snk-filter-detail.cjs.entry.js +4 -1
- package/dist/cjs/snk-filter-item.cjs.entry.js +13 -6
- package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
- package/dist/cjs/snk-filter-modal.cjs.entry.js +2 -1
- package/dist/cjs/snk-filter-multi-select.cjs.entry.js +2 -1
- package/dist/cjs/snk-form-config.cjs.entry.js +47 -27
- package/dist/cjs/snk-form-view.cjs.entry.js +67 -0
- package/dist/cjs/snk-form.cjs.entry.js +60 -8
- package/dist/cjs/snk-grid.cjs.entry.js +199 -122
- package/dist/cjs/{snk-guides-viewer-e7f76399.js → snk-guides-viewer-7fb9e5a1.js} +56 -20
- package/dist/cjs/snk-guides-viewer.cjs.entry.js +10 -10
- package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +3 -1
- package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
- package/dist/cjs/snk-pesquisa.cjs.entry.js +1 -1
- package/dist/cjs/snk-simple-crud.cjs.entry.js +507 -39
- package/dist/cjs/snk-taskbar.cjs.entry.js +124 -15
- package/dist/cjs/{taskbar-elements-01b85b99.js → taskbar-elements-d9392685.js} +11 -11
- package/dist/collection/collection-manifest.json +8 -8
- package/dist/collection/components/snk-application/__mocks__/snk-application.js +7 -0
- package/dist/collection/components/snk-application/snk-application.js +122 -19
- package/dist/collection/components/snk-attach/snk-attach.js +220 -53
- package/dist/collection/components/snk-attach/structure/{crud-config-builder.js → builder/anexo-sistema-crud-config.builder.js} +1 -1
- package/dist/collection/components/snk-attach/structure/builder/attach-crud-config.builder.js +62 -0
- package/dist/collection/components/snk-attach/structure/{taskbar-builder.js → builder/taskbar-builder.js} +1 -1
- package/dist/collection/components/snk-attach/structure/fetcher/facade/fetcher.facade.js +1 -0
- package/dist/collection/components/snk-attach/structure/{data-unit-builder.js → fetcher/factory/anexo-sistema-data-unit.factory.js} +14 -11
- package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +118 -0
- package/dist/collection/components/snk-attach/structure/index.js +6 -3
- package/dist/collection/components/snk-crud/interfaces/PropsCustomEditor.js +1 -0
- package/dist/collection/components/snk-crud/interfaces/PropsCustomRender.js +1 -0
- package/dist/collection/components/snk-crud/snk-crud.js +340 -19
- package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +137 -2
- package/dist/collection/components/snk-crud/subcomponents/snk-form-view.js +161 -0
- package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +11 -2
- package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +163 -13
- package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +90 -0
- package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +68 -0
- package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +54 -1
- package/dist/collection/components/snk-data-exporter/interfaces/IExporterStrategy.js +1 -0
- package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +58 -0
- package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +55 -0
- package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +44 -50
- package/dist/collection/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.js +88 -0
- package/dist/collection/components/snk-data-exporter/utils/RecordIDUtils.js +38 -0
- package/dist/collection/components/snk-data-unit/snk-data-unit.js +500 -216
- package/dist/collection/components/snk-data-unit/test/resources/metadataMock.js +24 -0
- package/dist/collection/components/snk-entity-list/snk-entity-list.js +5 -3
- package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-multi-select.js +2 -1
- package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js +3 -1
- package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +22 -1
- package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +31 -6
- package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +19 -1
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +24 -1
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +180 -5
- package/dist/collection/components/snk-filter-bar/utils/SnkFilterModalFactory.js +3 -1
- package/dist/collection/components/snk-form/snk-form.js +126 -5
- package/dist/collection/components/{snk-form → snk-form-config}/SnkFormConfigManager.js +22 -14
- package/dist/collection/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.js +50 -30
- package/dist/collection/components/snk-grid/snk-grid.js +341 -115
- package/dist/collection/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.js +130 -123
- package/dist/collection/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.js +1 -1
- package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +2 -4
- package/dist/collection/components/snk-simple-crud/regular-buttons.js +3 -0
- package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +10 -2
- package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +824 -22
- package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +4 -2
- package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +11 -11
- package/dist/collection/components/snk-taskbar/snk-taskbar.css +17 -0
- package/dist/collection/components/snk-taskbar/snk-taskbar.js +167 -14
- package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +35 -0
- package/dist/collection/lib/configs/ConfigStorage.js +86 -16
- package/dist/collection/lib/dataUnit/InMemoryLoader.js +15 -42
- package/dist/collection/lib/dataUnit/ValueFormatter.js +4 -0
- package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +33 -0
- package/dist/collection/lib/dataUnit/interfaces/InMemoryLoaderConfig.js +1 -0
- package/dist/collection/lib/http/data-fetcher/DataFetcher.js +7 -4
- package/dist/collection/lib/http/data-fetcher/fetchers/{attach-fetcher.js → AttachFetcher/anexo-sistema-fetcher.js} +16 -15
- package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/attach-fetcher.js +90 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/facade/attach-fetcher.facade.js +1 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/index.js +2 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/interfaces/IDelete.js +1 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/interfaces/IDownloadKey.js +1 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/ISave.js +1 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +3 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +4 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +11 -13
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.js +30 -2
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/IBuildRequestBodyLoadRowMetadata.js +1 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/IRowMetadata.js +1 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +87 -24
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/test/resources/metadataMock.js +22 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +12 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +21 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.js +6 -3
- package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +12 -13
- package/dist/collection/lib/index.js +1 -1
- package/dist/collection/lib/message/SnkMessageBuilder.js +25 -32
- package/dist/collection/lib/message/resources/snk-attach.msg.js +13 -0
- package/dist/collection/lib/message/resources/snk-data-exporter.msg.js +2 -1
- package/dist/collection/lib/message/resources/snk-data-unit.msg.js +1 -0
- package/dist/collection/lib/message/resources/snk-simple-crud.msg.js +4 -0
- package/dist/collection/lib/utils/CrudUtils.js +13 -1
- package/dist/components/ConfigStorage.js +92 -19
- package/dist/components/DataFetcher.js +7 -4
- package/dist/components/IExporterProvider.js +298 -0
- package/dist/components/ISave.js +42 -0
- package/dist/components/SnkFormConfigManager.js +21 -13
- package/dist/components/SnkMessageBuilder.js +25 -13
- package/dist/components/dataunit-fetcher.js +185 -241
- package/dist/components/form-config-fetcher.js +12 -0
- package/dist/components/index.d.ts +6 -6
- package/dist/components/index2.js +198 -33
- package/dist/{esm/pesquisa-fetcher-dd3ca0a5.js → components/pesquisa-fetcher.js} +13 -14
- package/dist/components/snk-actions-button2.js +4 -10
- package/dist/components/snk-application2.js +66 -18
- package/dist/components/snk-attach2.js +485 -78
- package/dist/components/snk-crud.js +131 -23
- package/dist/components/snk-data-exporter2.js +202 -83
- package/dist/components/snk-data-unit2.js +463 -214
- package/dist/components/snk-detail-view2.js +137 -23
- package/dist/components/snk-entity-list.js +5 -3
- package/dist/components/snk-expression-item2.js +1 -1
- package/dist/components/snk-filter-bar2.js +74 -8
- package/dist/components/snk-filter-detail2.js +5 -1
- package/dist/components/snk-filter-item2.js +14 -6
- package/dist/components/snk-filter-modal.js +4 -2
- package/dist/components/snk-filter-multi-select.js +2 -1
- package/dist/components/snk-form-config2.js +46 -26
- package/dist/components/snk-form-view2.js +72 -1
- package/dist/components/snk-form.js +60 -5
- package/dist/components/snk-grid-config2.js +128 -102
- package/dist/components/snk-grid2.js +207 -119
- package/dist/components/snk-personalized-filter-editor.js +3 -1
- package/dist/components/snk-personalized-filter2.js +1 -1
- package/dist/components/snk-pesquisa2.js +1 -1
- package/dist/components/snk-simple-crud2.js +568 -35
- package/dist/components/snk-taskbar2.js +144 -29
- package/dist/components/taskbar-actions-button2.js +4 -2
- package/dist/esm/{ConfigStorage-1244b8b0.js → ConfigStorage-174101b9.js} +94 -21
- package/dist/esm/{DataFetcher-aa159c5a.js → DataFetcher-4b4b7beb.js} +7 -4
- package/dist/esm/IExporterProvider-ce2ca127.js +221 -0
- package/dist/esm/{ISave-4412b20c.js → ISave-d8c8bc59.js} +1 -0
- package/dist/esm/RecordIDUtils-87d02110.js +41 -0
- package/dist/esm/{SnkFormConfigManager-9be0e7d4.js → SnkFormConfigManager-3bdb3e1f.js} +23 -15
- package/dist/esm/{SnkMessageBuilder-ca843d1b.js → SnkMessageBuilder-3a767111.js} +25 -13
- package/dist/esm/{auth-fetcher-c05dc474.js → auth-fetcher-9f86c346.js} +1 -1
- package/dist/esm/{dataunit-fetcher-cbec1594.js → dataunit-fetcher-f3fa35b9.js} +392 -70
- package/dist/esm/{form-config-fetcher-36219cd3.js → form-config-fetcher-5d72aaf1.js} +13 -1
- package/dist/esm/index-a7d3d3f1.js +2 -10
- package/dist/esm/loader.js +1 -1
- package/dist/esm/pesquisa-fetcher-9cfab836.js +164 -0
- package/dist/esm/sankhyablocks.js +1 -1
- package/dist/esm/{snk-actions-button_2.entry.js → snk-actions-button_4.entry.js} +525 -9
- package/dist/esm/snk-application.entry.js +68 -24
- package/dist/esm/snk-attach.entry.js +430 -71
- package/dist/esm/snk-crud.entry.js +124 -28
- package/dist/esm/snk-data-exporter.entry.js +208 -84
- package/dist/esm/snk-data-unit-8d6afa43.js +668 -0
- package/dist/esm/snk-data-unit.entry.js +11 -2
- package/dist/esm/snk-detail-view.entry.js +52 -13
- package/dist/esm/snk-entity-list.entry.js +5 -3
- package/dist/esm/snk-filter-bar.entry.js +70 -10
- package/dist/esm/snk-filter-detail.entry.js +4 -1
- package/dist/esm/snk-filter-item.entry.js +13 -6
- package/dist/esm/snk-filter-modal-item.entry.js +3 -3
- package/dist/esm/snk-filter-modal.entry.js +2 -1
- package/dist/esm/snk-filter-multi-select.entry.js +2 -1
- package/dist/esm/snk-form-config.entry.js +48 -28
- package/dist/esm/snk-form-view.entry.js +67 -0
- package/dist/esm/snk-form.entry.js +60 -8
- package/dist/esm/snk-grid.entry.js +199 -122
- package/dist/esm/{snk-guides-viewer-c7aaf02a.js → snk-guides-viewer-dabd574c.js} +56 -20
- package/dist/esm/snk-guides-viewer.entry.js +10 -10
- package/dist/esm/snk-personalized-filter-editor.entry.js +3 -1
- package/dist/esm/snk-personalized-filter.entry.js +3 -3
- package/dist/esm/snk-pesquisa.entry.js +1 -1
- package/dist/esm/snk-simple-crud.entry.js +500 -32
- package/dist/esm/snk-taskbar.entry.js +125 -16
- package/dist/esm/{taskbar-elements-d4d0b424.js → taskbar-elements-ad766858.js} +11 -11
- package/dist/sankhyablocks/{p-9695f78b.js → p-010d475f.js} +1 -1
- package/dist/sankhyablocks/p-109e0551.js +1 -0
- package/dist/sankhyablocks/p-1918789e.js +1 -0
- package/dist/sankhyablocks/p-19ba2e08.entry.js +1 -0
- package/dist/sankhyablocks/p-1c628fb2.entry.js +1 -0
- package/dist/sankhyablocks/p-1db45d26.entry.js +1 -0
- package/dist/sankhyablocks/p-1e9c3f95.entry.js +1 -0
- package/dist/sankhyablocks/{p-9e7d65a4.js → p-21749402.js} +1 -1
- package/dist/sankhyablocks/p-2a84e45b.entry.js +1 -0
- package/dist/sankhyablocks/p-2acc8816.entry.js +1 -0
- package/dist/sankhyablocks/p-2c9ea7b6.entry.js +1 -0
- package/dist/sankhyablocks/p-33718dfc.entry.js +1 -0
- package/dist/sankhyablocks/p-3e4c2cfe.entry.js +11 -0
- package/dist/sankhyablocks/p-4a8a149d.entry.js +1 -0
- package/dist/sankhyablocks/p-4ce73e88.js +1 -0
- package/dist/sankhyablocks/p-52df8935.entry.js +1 -0
- package/dist/sankhyablocks/p-54a5d52a.entry.js +1 -0
- package/dist/sankhyablocks/p-566f5f50.js +56 -0
- package/dist/sankhyablocks/{p-3520c088.entry.js → p-59dccb7a.entry.js} +1 -1
- package/dist/sankhyablocks/p-5bd78e4c.entry.js +1 -0
- package/dist/sankhyablocks/p-61dd89eb.js +1 -0
- package/dist/sankhyablocks/p-6b2be902.js +6 -0
- package/dist/sankhyablocks/p-70a4af56.entry.js +1 -0
- package/dist/sankhyablocks/p-9863d682.js +1 -0
- package/dist/sankhyablocks/{p-e6380c60.js → p-a6dfa396.js} +1 -1
- package/dist/sankhyablocks/{p-f514913b.entry.js → p-aa854fa8.entry.js} +1 -1
- package/dist/sankhyablocks/p-aa9c4099.entry.js +1 -0
- package/dist/sankhyablocks/p-b11aa1e0.entry.js +1 -0
- package/dist/sankhyablocks/p-b27114c4.js +1 -0
- package/dist/sankhyablocks/p-b643f746.entry.js +1 -0
- package/dist/sankhyablocks/p-bf2acf72.entry.js +1 -0
- package/dist/sankhyablocks/p-cfb98f51.entry.js +1 -0
- package/dist/sankhyablocks/{p-247a8b36.entry.js → p-d1791da2.entry.js} +1 -1
- package/dist/sankhyablocks/p-e0c27486.js +26 -0
- package/dist/sankhyablocks/p-e238279a.entry.js +1 -0
- package/dist/sankhyablocks/p-e8763234.entry.js +1 -0
- package/dist/sankhyablocks/p-eae66367.js +1 -0
- package/dist/sankhyablocks/p-fde91811.js +60 -0
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-application/__mocks__/snk-application.d.ts +3 -0
- package/dist/types/components/snk-application/snk-application.d.ts +21 -2
- package/dist/types/components/snk-attach/{structure/crud-config-builder.d.ts → interfaces/ICrudConfig.d.ts} +1 -2
- package/dist/types/components/snk-attach/interfaces/TFetcherType.d.ts +1 -0
- package/dist/types/components/snk-attach/snk-attach.d.ts +33 -10
- package/dist/types/components/snk-attach/structure/builder/anexo-sistema-crud-config.builder.d.ts +2 -0
- package/dist/types/components/snk-attach/structure/builder/attach-crud-config.builder.d.ts +40 -0
- package/dist/types/components/snk-attach/structure/{taskbar-builder.d.ts → builder/taskbar-builder.d.ts} +1 -1
- package/dist/types/components/snk-attach/structure/fetcher/facade/fetcher.facade.d.ts +11 -0
- package/dist/types/components/snk-attach/structure/fetcher/factory/anexo-sistema-data-unit.factory.d.ts +17 -0
- package/dist/types/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.d.ts +16 -0
- package/dist/types/components/snk-attach/structure/index.d.ts +6 -3
- package/dist/types/components/snk-crud/interfaces/PropsCustomEditor.d.ts +4 -0
- package/dist/types/components/snk-crud/interfaces/PropsCustomRender.d.ts +4 -0
- package/dist/types/components/snk-crud/snk-crud.d.ts +53 -1
- package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +24 -1
- package/dist/types/components/snk-crud/subcomponents/snk-form-view.d.ts +28 -3
- package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +30 -1
- package/dist/types/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.d.ts +13 -0
- package/dist/types/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.d.ts +11 -0
- package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +24 -4
- package/dist/types/components/snk-data-exporter/interfaces/IExporterStrategy.d.ts +5 -0
- package/dist/types/components/snk-data-exporter/providers/ClientSideExporterProvider.d.ts +17 -0
- package/dist/types/components/snk-data-exporter/providers/ServerSideExporterProvider.d.ts +17 -0
- package/dist/types/components/snk-data-exporter/snk-data-exporter.d.ts +3 -1
- package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +77 -0
- package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +3 -0
- package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +61 -2
- package/dist/types/components/snk-data-unit/test/resources/metadataMock.d.ts +3 -0
- package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +4 -0
- package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +7 -3
- package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +5 -0
- package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +31 -1
- package/dist/types/components/snk-filter-bar/utils/SnkFilterModalFactory.d.ts +3 -1
- package/dist/types/components/snk-form/snk-form.d.ts +20 -1
- package/dist/types/components/{snk-form → snk-form-config}/SnkFormConfigManager.d.ts +2 -1
- package/dist/types/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.d.ts +5 -3
- package/dist/types/components/snk-grid/snk-grid.d.ts +65 -7
- package/dist/types/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.d.ts +11 -6
- package/dist/types/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.d.ts +1 -1
- package/dist/types/components/snk-simple-crud/regular-buttons.d.ts +3 -0
- package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +138 -6
- package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +1 -1
- package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +34 -1
- package/dist/types/components.d.ts +502 -16
- package/dist/types/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.d.ts +11 -0
- package/dist/types/lib/configs/ConfigStorage.d.ts +25 -1
- package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +2 -3
- package/dist/types/lib/dataUnit/ValueFormatter.d.ts +2 -0
- package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +4 -0
- package/dist/types/lib/dataUnit/interfaces/InMemoryLoaderConfig.d.ts +3 -0
- package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -1
- package/dist/types/lib/http/data-fetcher/fetchers/{attach-fetcher.d.ts → AttachFetcher/anexo-sistema-fetcher.d.ts} +3 -2
- package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/attach-fetcher.d.ts +11 -0
- package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/facade/attach-fetcher.facade.d.ts +8 -0
- package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/index.d.ts +3 -0
- package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/ISave.d.ts +2 -1
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.d.ts +2 -1
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +1 -0
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.d.ts +1 -0
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.d.ts +2 -0
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/IBuildRequestBodyLoadRowMetadata.d.ts +10 -0
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/IRowMetadata.d.ts +7 -0
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +7 -0
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/test/resources/metadataMock.d.ts +20 -0
- package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IExporterColumnMetadata.d.ts +3 -0
- package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +2 -0
- package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
- package/dist/types/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.d.ts +2 -1
- package/dist/types/lib/http/data-fetcher/fetchers/pesquisa-fetcher.d.ts +1 -0
- package/dist/types/lib/index.d.ts +1 -1
- package/dist/types/lib/utils/CrudUtils.d.ts +3 -0
- package/package.json +15 -6
- package/dist/cjs/PreloadManager-84466da6.js +0 -224
- package/dist/cjs/SnkMultiSelectionListDataSource-ba5838c2.js +0 -49
- package/dist/cjs/snk-data-unit-1bc69073.js +0 -462
- package/dist/cjs/snk-grid-config.cjs.entry.js +0 -483
- package/dist/cjs/snk-select-box.cjs.entry.js +0 -25
- package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/index.js +0 -34
- package/dist/components/field-search.js +0 -121
- package/dist/components/index3.js +0 -199
- package/dist/esm/PreloadManager-c1c2f2b4.js +0 -222
- package/dist/esm/SnkMultiSelectionListDataSource-44494b0e.js +0 -43
- package/dist/esm/snk-data-unit-6208ebf0.js +0 -460
- package/dist/esm/snk-grid-config.entry.js +0 -479
- package/dist/esm/snk-select-box.entry.js +0 -21
- package/dist/sankhyablocks/p-03dcc5ff.entry.js +0 -1
- package/dist/sankhyablocks/p-0874adb5.entry.js +0 -1
- package/dist/sankhyablocks/p-094c30cb.js +0 -1
- package/dist/sankhyablocks/p-0d7863ed.js +0 -26
- package/dist/sankhyablocks/p-11081798.entry.js +0 -1
- package/dist/sankhyablocks/p-20726710.entry.js +0 -1
- package/dist/sankhyablocks/p-25927311.entry.js +0 -1
- package/dist/sankhyablocks/p-32f0935f.js +0 -1
- package/dist/sankhyablocks/p-374d03f6.js +0 -1
- package/dist/sankhyablocks/p-3891ae6f.js +0 -60
- package/dist/sankhyablocks/p-4775a293.entry.js +0 -1
- package/dist/sankhyablocks/p-585294ee.js +0 -56
- package/dist/sankhyablocks/p-6977a26c.entry.js +0 -1
- package/dist/sankhyablocks/p-69efa80d.entry.js +0 -1
- package/dist/sankhyablocks/p-776ee8e3.js +0 -1
- package/dist/sankhyablocks/p-809f367d.entry.js +0 -1
- package/dist/sankhyablocks/p-8c243e7e.entry.js +0 -11
- package/dist/sankhyablocks/p-8d16f9ce.js +0 -1
- package/dist/sankhyablocks/p-8d70b5d5.entry.js +0 -1
- package/dist/sankhyablocks/p-98674137.entry.js +0 -1
- package/dist/sankhyablocks/p-a9e5b094.entry.js +0 -1
- package/dist/sankhyablocks/p-c22c1d8e.js +0 -1
- package/dist/sankhyablocks/p-c4d19840.entry.js +0 -1
- package/dist/sankhyablocks/p-c627ba91.entry.js +0 -1
- package/dist/sankhyablocks/p-c758265f.entry.js +0 -1
- package/dist/sankhyablocks/p-cb7419e0.entry.js +0 -1
- package/dist/sankhyablocks/p-d4f9ee17.entry.js +0 -1
- package/dist/sankhyablocks/p-d6317851.entry.js +0 -1
- package/dist/sankhyablocks/p-d81f20c4.entry.js +0 -1
- package/dist/sankhyablocks/p-d9bb09b3.js +0 -6
- package/dist/sankhyablocks/p-dc8b6418.entry.js +0 -1
- package/dist/sankhyablocks/p-f2056f66.entry.js +0 -1
- package/dist/sankhyablocks/p-fd8814b9.entry.js +0 -1
- package/dist/sankhyablocks/p-ff6064e7.js +0 -1
- package/dist/types/components/snk-attach/structure/data-unit-builder.d.ts +0 -15
- package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/index.d.ts +0 -3
- /package/dist/collection/{lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDelete.js → components/snk-attach/interfaces/ICrudConfig.js} +0 -0
- /package/dist/collection/{lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDownloadKey.js → components/snk-attach/interfaces/TFetcherType.js} +0 -0
- /package/dist/collection/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.css +0 -0
- /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.css +0 -0
- /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.js +0 -0
- /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.css +0 -0
- /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.js +0 -0
- /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.css +0 -0
- /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.js +0 -0
- /package/dist/collection/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.css +0 -0
- /package/dist/collection/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.css +0 -0
- /package/dist/collection/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/index.js +0 -0
- /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.d.ts +0 -0
- /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.d.ts +0 -0
- /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.d.ts +0 -0
- /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/IDelete.d.ts +0 -0
- /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/IDownloadKey.d.ts +0 -0
- /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/index.d.ts +0 -0
@@ -67,7 +67,7 @@ export class TaskbarActionsButton {
|
|
67
67
|
}
|
68
68
|
}
|
69
69
|
getSelectedAction(id, actions) {
|
70
|
-
let selectedItem;
|
70
|
+
let selectedItem = null;
|
71
71
|
for (const item of actions) {
|
72
72
|
if (item.id === id) {
|
73
73
|
selectedItem = item;
|
@@ -76,6 +76,8 @@ export class TaskbarActionsButton {
|
|
76
76
|
if (!(item === null || item === void 0 ? void 0 : item.children))
|
77
77
|
continue;
|
78
78
|
selectedItem = this.getSelectedAction(id, item.children);
|
79
|
+
if (selectedItem)
|
80
|
+
break;
|
79
81
|
}
|
80
82
|
return selectedItem;
|
81
83
|
}
|
@@ -116,7 +118,7 @@ export class TaskbarActionsButton {
|
|
116
118
|
this.taskbarActionsButtonDisconnected.emit();
|
117
119
|
}
|
118
120
|
render() {
|
119
|
-
return (h(Host, null, h("div", { class:
|
121
|
+
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) }))));
|
120
122
|
}
|
121
123
|
static get is() { return "taskbar-actions-button"; }
|
122
124
|
static get encapsulation() { return "scoped"; }
|
@@ -47,7 +47,7 @@ export const buildCustomButton = (def, className, dataElementId, action, isEnabl
|
|
47
47
|
return textButton(def.name, className, dataElementId, text, hint, action, isEnabled);
|
48
48
|
}
|
49
49
|
};
|
50
|
-
export const buildElem = (element, className, dataElementId, getTitle, action, isEnabled, actions,
|
50
|
+
export const buildElem = (element, className, dataElementId, getTitle, action, isEnabled, actions, dataExporterStoreKey, presentationMode) => {
|
51
51
|
var _a;
|
52
52
|
const title = getTitle(element);
|
53
53
|
switch (element) {
|
@@ -86,29 +86,29 @@ export const buildElem = (element, className, dataElementId, getTitle, action, i
|
|
86
86
|
case TaskbarElement.CONFIGURATOR:
|
87
87
|
return iconButton("settings-inverted", element, className, dataElementId, title, action, isEnabled);
|
88
88
|
case TaskbarElement.MORE_OPTIONS:
|
89
|
-
return actionButton(element, dataElementId, title, isEnabled, actions, action);
|
89
|
+
return actionButton(element, className, dataElementId, title, isEnabled, actions, action);
|
90
90
|
case TaskbarElement.DIVIDER:
|
91
|
-
return h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-
|
91
|
+
return h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin--none ez-margin-left--medium", "data-taskbar-divider": true });
|
92
92
|
case TaskbarElement.DATA_EXPORTER:
|
93
|
-
const provider = (_a = store.get("exporterProviders")) === null || _a === void 0 ? void 0 : _a[
|
94
|
-
return h("snk-data-exporter", { class: className, provider: provider, "data-element-id": dataElementId });
|
93
|
+
const provider = (_a = store.get("exporterProviders")) === null || _a === void 0 ? void 0 : _a[dataExporterStoreKey];
|
94
|
+
return h("snk-data-exporter", { class: className, provider: provider, "data-element-id": dataElementId, "data-taskbar-element": element });
|
95
95
|
case TaskbarElement.ATTACH:
|
96
96
|
return iconButton("anexo", element, className, dataElementId, title, action, isEnabled);
|
97
97
|
case TaskbarElement.ACTIONS_BUTTON:
|
98
|
-
return h("snk-actions-button", { "data-element-id": dataElementId });
|
98
|
+
return h("snk-actions-button", { "data-element-id": dataElementId, "data-taskbar-element": element });
|
99
99
|
}
|
100
100
|
};
|
101
101
|
function textButton(name, className, dataElementId, text, title, action, isEnabled) {
|
102
|
-
return h("ez-button", { key: dataElementId, title: title, label: text, size: "small", class: className, "data-element-id": dataElementId, enabled: isEnabled(name), onClick: () => action(name) });
|
102
|
+
return h("ez-button", { key: dataElementId, title: title, label: text, size: "small", class: className, "data-taskbar-label": text, "data-taskbar-element": name, "data-element-id": dataElementId, enabled: isEnabled(name), onClick: () => action(name) });
|
103
103
|
}
|
104
104
|
function iconButton(iconName, name, className, dataElementId, title, action, isEnabled) {
|
105
|
-
return h("ez-button", { key: dataElementId, title: title, mode: "icon", size: "small", class: className, "data-element-id": dataElementId, iconName: iconName, enabled: isEnabled(name), onClick: () => action(name) });
|
105
|
+
return h("ez-button", { key: dataElementId, title: title, mode: "icon", size: "small", class: className, "data-taskbar-label": title, "data-taskbar-element": name, "data-taskbar-icon": iconName, "data-element-id": dataElementId, iconName: iconName, enabled: isEnabled(name), onClick: () => action(name) });
|
106
106
|
}
|
107
107
|
function iconTextButton(iconName, name, className, dataElementId, text, title, action, isEnabled) {
|
108
|
-
return h("ez-button", { key: dataElementId, title: title, label: text, size: "small", class: className, "data-element-id": dataElementId, enabled: isEnabled(name), onClick: () => action(name) }, h("ez-icon", { class: "ez-padding-right--small", slot: "leftIcon", iconName: iconName }));
|
108
|
+
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) }, h("ez-icon", { class: "ez-padding-right--small", slot: "leftIcon", iconName: iconName }));
|
109
109
|
}
|
110
|
-
function actionButton(element, dataElementId, title, isEnabled, actions, action) {
|
110
|
+
function actionButton(element, className, dataElementId, title, isEnabled, actions, action) {
|
111
111
|
return actions && actions.length > 0
|
112
|
-
? h("taskbar-actions-button", { key: dataElementId, title: title, "data-element-id": dataElementId, enabled: isEnabled(element), actions: actions, onTaskbarActionSelected: (evt) => action(evt.detail.value) })
|
112
|
+
? 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) })
|
113
113
|
: undefined;
|
114
114
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { ApplicationContext, ElementIDUtils, StringUtils } from '@sankhyalabs/core';
|
1
|
+
import { ApplicationContext, ElementIDUtils, OverflowDirection, OverflowWatcher, StringUtils, OVERFLOWED_CLASS_NAME } from '@sankhyalabs/core';
|
2
2
|
import { h, Host } from '@stencil/core';
|
3
3
|
import { AuthorizationConfig } from '../snk-configurator/AuthorizationConfig';
|
4
4
|
import { AuthorizationElements, buildCustomButton, buildElem, TaskbarElement, VisibleWhenForbidden, } from './elements/taskbar-elements';
|
@@ -6,6 +6,9 @@ import { PresentationMode } from '../../lib/@types';
|
|
6
6
|
export class SnkTaskbar {
|
7
7
|
constructor() {
|
8
8
|
this.TASKBAR_ITEM_ID_PREFIX = 'TASKBAR_ITEM_';
|
9
|
+
this.TASKBAR_CUSTOM_ELEMENTS_CONTAINER_CLASS_NAME = 'taskbar-custom-elements-container';
|
10
|
+
this.ACTIONS_BUTTON_TAG = 'TASKBAR-ACTIONS-BUTTON';
|
11
|
+
this.NOT_OVERFLOW_ELEMENTS = ["moreOptions", "dataExporter_snkDataExporter", "actionsButton_snkActionsButton"];
|
9
12
|
this._titleKeyByElement = {
|
10
13
|
[TaskbarElement.UPDATE]: "snkTaskbar.titleUpdate",
|
11
14
|
[TaskbarElement.PREVIOUS]: "snkTaskbar.titlePrevious",
|
@@ -23,11 +26,17 @@ export class SnkTaskbar {
|
|
23
26
|
[TaskbarElement.ATTACH]: "snkTaskbar.titleAttach",
|
24
27
|
};
|
25
28
|
this._permissions = undefined;
|
29
|
+
this._overFlowedElements = [];
|
26
30
|
this._customElements = undefined;
|
27
31
|
this._customElementsId = undefined;
|
28
32
|
this._slotContainer = undefined;
|
33
|
+
this._hiddenActionsList = [];
|
34
|
+
this._lastWidth = undefined;
|
35
|
+
this._hasToUpdateOverFlow = false;
|
36
|
+
this.alignRigth = false;
|
29
37
|
this.customSlotId = "TASKBAR_CUSTOM_ELEMENTS";
|
30
38
|
this.customContainerId = undefined;
|
39
|
+
this.overflowStrategy = 'hiddenItems';
|
31
40
|
this.configName = undefined;
|
32
41
|
this.resourceID = undefined;
|
33
42
|
this.buttons = undefined;
|
@@ -41,6 +50,18 @@ export class SnkTaskbar {
|
|
41
50
|
}
|
42
51
|
observeButtons() {
|
43
52
|
this._definitions = undefined;
|
53
|
+
requestAnimationFrame(() => {
|
54
|
+
requestAnimationFrame(() => { var _a; return (_a = this._overFlowWatcher) === null || _a === void 0 ? void 0 : _a.forceUpdate(); });
|
55
|
+
});
|
56
|
+
}
|
57
|
+
observeDisabledButtons() {
|
58
|
+
var _a;
|
59
|
+
(_a = this._overFlowWatcher) === null || _a === void 0 ? void 0 : _a.forceUpdate();
|
60
|
+
}
|
61
|
+
observeLastWidth(newValue, oldValue) {
|
62
|
+
if (oldValue === 0 && newValue !== 0) {
|
63
|
+
this._hasToUpdateOverFlow = true;
|
64
|
+
}
|
44
65
|
}
|
45
66
|
// Internal methods
|
46
67
|
elementsFromString(strButtons) {
|
@@ -135,13 +156,21 @@ export class SnkTaskbar {
|
|
135
156
|
className += "ez-padding-left--medium";
|
136
157
|
}
|
137
158
|
const taskbarElement = TaskbarElement[def.toString()];
|
159
|
+
const dataExporterStoreKey = this._element.dataset.exporterStoreKey || this.configName;
|
138
160
|
if (taskbarElement) {
|
139
|
-
return buildElem(def, className, this.getIdElemBtnNative(def), elem => this.getTitle(elem), elem => this.elementClick(elem), elem => this.isEnabled(elem), this.
|
161
|
+
return buildElem(def, className, this.getIdElemBtnNative(def), elem => this.getTitle(elem), elem => this.elementClick(elem), elem => this.isEnabled(elem), this.buildDynamicActionsList(), dataExporterStoreKey, this.presentationMode);
|
140
162
|
}
|
141
163
|
else {
|
142
164
|
return buildCustomButton(def, className, this.getIdElemBtnCustom(def), elem => this.elementClick(elem), elem => this.isEnabled(elem));
|
143
165
|
}
|
144
166
|
}
|
167
|
+
buildDynamicActionsList() {
|
168
|
+
var _a;
|
169
|
+
if (this._hiddenActionsList.length) {
|
170
|
+
return [...((_a = this.actionsList) !== null && _a !== void 0 ? _a : []), { type: 'divider', label: "", value: "" }, ...this._hiddenActionsList];
|
171
|
+
}
|
172
|
+
return this.actionsList;
|
173
|
+
}
|
145
174
|
getIdElemBtnNative(taskbarElem) {
|
146
175
|
return StringUtils.toCamelCase(taskbarElem);
|
147
176
|
}
|
@@ -182,11 +211,13 @@ export class SnkTaskbar {
|
|
182
211
|
});
|
183
212
|
}
|
184
213
|
addCustomElementContainer(elem) {
|
214
|
+
var _a;
|
185
215
|
const elementId = `${this.TASKBAR_ITEM_ID_PREFIX}${elem}`;
|
186
216
|
if (!this._customElementsId.includes(elementId)) {
|
187
217
|
this._customElementsId.push(elementId);
|
218
|
+
(_a = this._overFlowWatcher) === null || _a === void 0 ? void 0 : _a.addNotOverFlowElement(elementId);
|
188
219
|
}
|
189
|
-
return h("span", { key: elementId, id: elementId });
|
220
|
+
return h("span", { class: "ez-padding-left--medium", key: elementId, id: elementId });
|
190
221
|
}
|
191
222
|
getCustomElements() {
|
192
223
|
var _a, _b;
|
@@ -216,20 +247,95 @@ export class SnkTaskbar {
|
|
216
247
|
this.getCustomElements();
|
217
248
|
}
|
218
249
|
componentWillRender() {
|
250
|
+
this.handleDefinitions();
|
251
|
+
this.validatePresentationMode();
|
252
|
+
this.updateOverFlowIfNeeded();
|
253
|
+
}
|
254
|
+
handleDefinitions() {
|
219
255
|
if (this._definitions == undefined && this._permissions) {
|
220
256
|
this._definitions = this.elementsFromString(this.buttons);
|
221
257
|
}
|
222
|
-
|
258
|
+
}
|
259
|
+
updateOverFlowIfNeeded() {
|
260
|
+
if (this._hasToUpdateOverFlow) {
|
261
|
+
requestAnimationFrame(() => { var _a; return (_a = this._overFlowWatcher) === null || _a === void 0 ? void 0 : _a.forceUpdate(); });
|
262
|
+
this._hasToUpdateOverFlow = false;
|
263
|
+
}
|
264
|
+
}
|
265
|
+
handleOverFlow(overFlowingElements) {
|
266
|
+
const elementsToHandle = overFlowingElements.filter(element => !this.hasToIgnoreOverFlow(element));
|
267
|
+
this.resetOverFlowedElements();
|
268
|
+
this.doOverFlowElements(elementsToHandle);
|
269
|
+
}
|
270
|
+
resetOverFlowedElements() {
|
271
|
+
this._overFlowedElements.forEach(element => {
|
272
|
+
element.classList.remove(OVERFLOWED_CLASS_NAME);
|
273
|
+
});
|
274
|
+
this._hiddenActionsList = [];
|
275
|
+
this._overFlowedElements = [];
|
276
|
+
}
|
277
|
+
doOverFlowElements(overFlowedElements) {
|
278
|
+
overFlowedElements.forEach(element => {
|
279
|
+
element.classList.add(OVERFLOWED_CLASS_NAME);
|
280
|
+
this._overFlowedElements.push(element);
|
281
|
+
this.addItemToActionList(element);
|
282
|
+
});
|
283
|
+
}
|
284
|
+
addItemToActionList(element) {
|
285
|
+
const taskbarElement = this.getTaskbarElementName(element);
|
286
|
+
if (taskbarElement && this.isEnabled(taskbarElement) && this.isAllowed(taskbarElement)) {
|
287
|
+
const optionItem = {
|
288
|
+
value: taskbarElement,
|
289
|
+
label: this.getTaskbarElementLabel(element),
|
290
|
+
iconName: this.getTaskbarElementIcon(element)
|
291
|
+
};
|
292
|
+
this._hiddenActionsList.push(optionItem);
|
293
|
+
}
|
294
|
+
}
|
295
|
+
getTaskbarElementName(element) {
|
296
|
+
var _a;
|
297
|
+
return (_a = element.getAttribute('data-taskbar-element')) !== null && _a !== void 0 ? _a : "";
|
298
|
+
}
|
299
|
+
getTaskbarElementIcon(element) {
|
300
|
+
var _a;
|
301
|
+
return (_a = element.getAttribute('data-taskbar-icon')) !== null && _a !== void 0 ? _a : "";
|
302
|
+
}
|
303
|
+
getTaskbarElementLabel(element) {
|
304
|
+
var _a;
|
305
|
+
return (_a = element.getAttribute('data-taskbar-label')) !== null && _a !== void 0 ? _a : "";
|
306
|
+
}
|
307
|
+
hasToIgnoreOverFlow(element) {
|
308
|
+
return element.classList.contains(this.TASKBAR_CUSTOM_ELEMENTS_CONTAINER_CLASS_NAME);
|
309
|
+
}
|
310
|
+
handleOverFlowStrategy() {
|
311
|
+
if (this.overflowStrategy === 'hiddenItems') {
|
312
|
+
this._overFlowWatcher = new OverflowWatcher(this.buildOverFlowWatcherParams());
|
313
|
+
}
|
314
|
+
}
|
315
|
+
buildOverFlowWatcherParams() {
|
316
|
+
return {
|
317
|
+
element: this._element,
|
318
|
+
callback: this.handleOverFlow.bind(this),
|
319
|
+
overFlowDirection: OverflowDirection.HORIZONTAL,
|
320
|
+
notOverFlow: this.NOT_OVERFLOW_ELEMENTS
|
321
|
+
};
|
223
322
|
}
|
224
323
|
componentDidLoad() {
|
225
324
|
const dataInfo = { dataUnit: this.dataUnit };
|
226
325
|
ElementIDUtils.addIDInfo(this._element, null, dataInfo);
|
326
|
+
this.handleOverFlowStrategy();
|
227
327
|
}
|
228
328
|
componentDidRender() {
|
229
329
|
this.appendCustomElementsInTaskbar();
|
330
|
+
this.updateLastWidth();
|
331
|
+
}
|
332
|
+
updateLastWidth() {
|
333
|
+
this._lastWidth = this._element.getBoundingClientRect().width;
|
230
334
|
}
|
231
335
|
disconnectedCallback() {
|
336
|
+
var _a;
|
232
337
|
this.unlinkAllCustomElements();
|
338
|
+
(_a = this._overFlowWatcher) === null || _a === void 0 ? void 0 : _a.destroy();
|
233
339
|
}
|
234
340
|
unlinkAllCustomElements() {
|
235
341
|
var _a;
|
@@ -247,14 +353,9 @@ export class SnkTaskbar {
|
|
247
353
|
return undefined;
|
248
354
|
}
|
249
355
|
let index = 0;
|
250
|
-
return (h(Host,
|
251
|
-
var _a;
|
252
|
-
|
253
|
-
index = 0;
|
254
|
-
}
|
255
|
-
else {
|
256
|
-
index++;
|
257
|
-
}
|
356
|
+
return (h(Host, { class: this.getHostClasses() }, this.removeEmpty(this._definitions.map((elem) => {
|
357
|
+
var _a, _b;
|
358
|
+
index++;
|
258
359
|
if (TaskbarElement[elem]) {
|
259
360
|
return this.getElement(index, TaskbarElement[elem]);
|
260
361
|
}
|
@@ -264,8 +365,14 @@ export class SnkTaskbar {
|
|
264
365
|
if (this._customElements.has(elem)) {
|
265
366
|
return this.addCustomElementContainer(elem);
|
266
367
|
}
|
368
|
+
(_b = this._overFlowWatcher) === null || _b === void 0 ? void 0 : _b.addNotOverFlowElement(elem);
|
267
369
|
return h("slot", { name: elem });
|
268
|
-
})), h("div", { class:
|
370
|
+
})), h("div", { class: this.TASKBAR_CUSTOM_ELEMENTS_CONTAINER_CLASS_NAME }, h("slot", { name: this.customSlotId }))));
|
371
|
+
}
|
372
|
+
getHostClasses() {
|
373
|
+
if (this.overflowStrategy !== 'hiddenItems')
|
374
|
+
return 'no-wrap';
|
375
|
+
return `full-width ${this.alignRigth ? 'align-right' : ""}`;
|
269
376
|
}
|
270
377
|
static get is() { return "snk-taskbar"; }
|
271
378
|
static get encapsulation() { return "scoped"; }
|
@@ -281,6 +388,24 @@ export class SnkTaskbar {
|
|
281
388
|
}
|
282
389
|
static get properties() {
|
283
390
|
return {
|
391
|
+
"alignRigth": {
|
392
|
+
"type": "boolean",
|
393
|
+
"mutable": false,
|
394
|
+
"complexType": {
|
395
|
+
"original": "boolean",
|
396
|
+
"resolved": "boolean",
|
397
|
+
"references": {}
|
398
|
+
},
|
399
|
+
"required": false,
|
400
|
+
"optional": false,
|
401
|
+
"docs": {
|
402
|
+
"tags": [],
|
403
|
+
"text": "Usado para determinar O alinhamento dos items na taskbar."
|
404
|
+
},
|
405
|
+
"attribute": "align-rigth",
|
406
|
+
"reflect": false,
|
407
|
+
"defaultValue": "false"
|
408
|
+
},
|
284
409
|
"customSlotId": {
|
285
410
|
"type": "string",
|
286
411
|
"mutable": false,
|
@@ -316,6 +441,24 @@ export class SnkTaskbar {
|
|
316
441
|
"attribute": "custom-container-id",
|
317
442
|
"reflect": false
|
318
443
|
},
|
444
|
+
"overflowStrategy": {
|
445
|
+
"type": "string",
|
446
|
+
"mutable": false,
|
447
|
+
"complexType": {
|
448
|
+
"original": "'hiddenItems' | 'none'",
|
449
|
+
"resolved": "\"hiddenItems\" | \"none\"",
|
450
|
+
"references": {}
|
451
|
+
},
|
452
|
+
"required": false,
|
453
|
+
"optional": false,
|
454
|
+
"docs": {
|
455
|
+
"tags": [],
|
456
|
+
"text": "Define como ser\u00E1 o comportamento da taskbar quando ocorrer overflow"
|
457
|
+
},
|
458
|
+
"attribute": "overflow-strategy",
|
459
|
+
"reflect": false,
|
460
|
+
"defaultValue": "'hiddenItems'"
|
461
|
+
},
|
319
462
|
"configName": {
|
320
463
|
"type": "string",
|
321
464
|
"mutable": false,
|
@@ -515,9 +658,13 @@ export class SnkTaskbar {
|
|
515
658
|
static get states() {
|
516
659
|
return {
|
517
660
|
"_permissions": {},
|
661
|
+
"_overFlowedElements": {},
|
518
662
|
"_customElements": {},
|
519
663
|
"_customElementsId": {},
|
520
|
-
"_slotContainer": {}
|
664
|
+
"_slotContainer": {},
|
665
|
+
"_hiddenActionsList": {},
|
666
|
+
"_lastWidth": {},
|
667
|
+
"_hasToUpdateOverFlow": {}
|
521
668
|
};
|
522
669
|
}
|
523
670
|
static get events() {
|
@@ -543,6 +690,12 @@ export class SnkTaskbar {
|
|
543
690
|
return [{
|
544
691
|
"propName": "buttons",
|
545
692
|
"methodName": "observeButtons"
|
693
|
+
}, {
|
694
|
+
"propName": "disabledButtons",
|
695
|
+
"methodName": "observeDisabledButtons"
|
696
|
+
}, {
|
697
|
+
"propName": "_lastWidth",
|
698
|
+
"methodName": "observeLastWidth"
|
546
699
|
}];
|
547
700
|
}
|
548
701
|
}
|
@@ -0,0 +1,35 @@
|
|
1
|
+
import { NumberUtils, ObjectUtils } from "@sankhyalabs/core";
|
2
|
+
export default class RmPrecisionCustomValueFormatter {
|
3
|
+
setGrid(grid) {
|
4
|
+
if (this._grid) {
|
5
|
+
return;
|
6
|
+
}
|
7
|
+
this._grid = grid;
|
8
|
+
this.refreshSelectedRows();
|
9
|
+
}
|
10
|
+
setDataState(dataState) {
|
11
|
+
if (ObjectUtils.objectToString(dataState) === ObjectUtils.objectToString(this._dataState)) {
|
12
|
+
return;
|
13
|
+
}
|
14
|
+
this._dataState = dataState;
|
15
|
+
this.refreshSelectedRows();
|
16
|
+
}
|
17
|
+
format(currentValue, column, recordId) {
|
18
|
+
var _a;
|
19
|
+
if (!currentValue) {
|
20
|
+
return currentValue;
|
21
|
+
}
|
22
|
+
const rowMetadata = (_a = this._dataState) === null || _a === void 0 ? void 0 : _a.metadataByRow.get(recordId);
|
23
|
+
const rmPrecision = rowMetadata === null || rowMetadata === void 0 ? void 0 : rowMetadata.getProp('rm_precision', column.name);
|
24
|
+
if (rmPrecision) {
|
25
|
+
return NumberUtils.format(currentValue, rmPrecision, rmPrecision);
|
26
|
+
}
|
27
|
+
else {
|
28
|
+
return currentValue;
|
29
|
+
}
|
30
|
+
}
|
31
|
+
refreshSelectedRows() {
|
32
|
+
var _a;
|
33
|
+
(_a = this._grid) === null || _a === void 0 ? void 0 : _a.refreshSelectedRows();
|
34
|
+
}
|
35
|
+
}
|
@@ -2,17 +2,37 @@ import { FormConfigFetcher } from "../http/data-fetcher/fetchers/form-config-fet
|
|
2
2
|
import GridConfigFetcher from "../http/data-fetcher/fetchers/grid-config-fetcher";
|
3
3
|
import FilterBarConfigFetcher from "../http/data-fetcher/fetchers/filter-bar-config-fetcher";
|
4
4
|
import PersonalizedFilterFetcher from "../http/data-fetcher/fetchers/personalized-filter-fetcher";
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
5
|
+
export var CONFIG_SOURCE;
|
6
|
+
(function (CONFIG_SOURCE) {
|
7
|
+
CONFIG_SOURCE["form"] = "form";
|
8
|
+
CONFIG_SOURCE["grid"] = "grid";
|
9
|
+
CONFIG_SOURCE["filterBar"] = "filterBar";
|
10
|
+
})(CONFIG_SOURCE || (CONFIG_SOURCE = {}));
|
10
11
|
export class ConfigStorage {
|
11
|
-
static
|
12
|
+
static addFilterBarLegacyConfig(configName, legacyConfigName) {
|
13
|
+
this.validateConfigName(configName, legacyConfigName);
|
14
|
+
this.filterBarLegacyConfig.set(configName, legacyConfigName);
|
15
|
+
}
|
16
|
+
static addFormLegacyConfig(configName, legacyConfigName) {
|
17
|
+
this.validateConfigName(configName, legacyConfigName);
|
18
|
+
this.formLegacyConfig.set(configName, legacyConfigName);
|
19
|
+
}
|
20
|
+
static addGridLegacyConfig(configName, legacyConfigName) {
|
21
|
+
this.validateConfigName(configName, legacyConfigName);
|
22
|
+
this.gridLegacyConfig.set(configName, legacyConfigName);
|
23
|
+
}
|
24
|
+
static preload(resourceID, configName, legacyConfigs) {
|
25
|
+
if (configName && (legacyConfigs === null || legacyConfigs === void 0 ? void 0 : legacyConfigs.gridLegacyConfig)) {
|
26
|
+
ConfigStorage.addGridLegacyConfig(configName, legacyConfigs.gridLegacyConfig);
|
27
|
+
}
|
28
|
+
if (configName && (legacyConfigs === null || legacyConfigs === void 0 ? void 0 : legacyConfigs.formLegacyConfig)) {
|
29
|
+
ConfigStorage.addFormLegacyConfig(configName, legacyConfigs.formLegacyConfig);
|
30
|
+
}
|
12
31
|
ConfigStorage.loadFormConfig(configName, resourceID);
|
13
32
|
ConfigStorage.loadGridConfig(configName, resourceID);
|
14
33
|
}
|
15
34
|
static async loadFilterBarConfig(name, resourceID, urlParams) {
|
35
|
+
urlParams = this.handleLegacyConfig(name, CONFIG_SOURCE.filterBar, urlParams);
|
16
36
|
const cacheID = ConfigStorage.buildCacheID(name, CONFIG_SOURCE.filterBar, resourceID);
|
17
37
|
if (!ConfigStorage.configById.has(cacheID)) {
|
18
38
|
ConfigStorage.configById.set(cacheID, ConfigStorage.filterBarConfigFetcher.getConfig(resourceID, name, urlParams));
|
@@ -20,6 +40,7 @@ export class ConfigStorage {
|
|
20
40
|
return ConfigStorage.configById.get(cacheID);
|
21
41
|
}
|
22
42
|
static async loadFormConfig(name, resourceID) {
|
43
|
+
name = this.handleLegacyConfigAsString(name, CONFIG_SOURCE.form);
|
23
44
|
const cacheID = ConfigStorage.buildCacheID(name, CONFIG_SOURCE.form, resourceID);
|
24
45
|
if (!ConfigStorage.configById.has(cacheID)) {
|
25
46
|
ConfigStorage.configById.set(cacheID, ConfigStorage.formConfigFetcher.loadFormConfig(name, resourceID));
|
@@ -27,6 +48,7 @@ export class ConfigStorage {
|
|
27
48
|
return ConfigStorage.configById.get(cacheID);
|
28
49
|
}
|
29
50
|
static async loadGridConfig(name, resourceID) {
|
51
|
+
name = this.handleLegacyConfigAsString(name, CONFIG_SOURCE.grid);
|
30
52
|
const cacheID = ConfigStorage.buildCacheID(name, CONFIG_SOURCE.grid, resourceID);
|
31
53
|
if (!ConfigStorage.configById.has(cacheID)) {
|
32
54
|
ConfigStorage.configById.set(cacheID, ConfigStorage.gridConfigFetcher.getConfig(name, resourceID));
|
@@ -34,13 +56,12 @@ export class ConfigStorage {
|
|
34
56
|
return ConfigStorage.configById.get(cacheID);
|
35
57
|
}
|
36
58
|
static async saveFilterBarConfig(config, name, resourceID) {
|
37
|
-
|
38
|
-
this.configById.delete(cacheID);
|
59
|
+
await this.deleteFilterBarConfigCache(name, resourceID);
|
39
60
|
return this.filterBarConfigFetcher.saveConfig(config, resourceID, name);
|
40
61
|
}
|
41
62
|
static async saveFormConfig(config, name, resourceID) {
|
42
|
-
|
43
|
-
this.
|
63
|
+
name = this.handleLegacyConfigAsString(name, CONFIG_SOURCE.form);
|
64
|
+
await this.deleteFormConfigCache(name, resourceID);
|
44
65
|
return this.formConfigFetcher.saveConfig(config, name, resourceID);
|
45
66
|
}
|
46
67
|
static async saveCardState(config, name, resourceID) {
|
@@ -50,18 +71,17 @@ export class ConfigStorage {
|
|
50
71
|
if (config == undefined) {
|
51
72
|
return;
|
52
73
|
}
|
53
|
-
|
54
|
-
this.configById.delete(cacheID);
|
74
|
+
await this.deleteGridConfigCache(name, resourceID);
|
55
75
|
return this.gridConfigFetcher.saveConfig(config, name, resourceID);
|
56
76
|
}
|
57
77
|
static async loadPersonalizedFilter(filterId, resourceID, configName) {
|
58
|
-
|
78
|
+
const legacyConfigName = this.filterBarLegacyConfig.get(configName);
|
79
|
+
return this.personalizedFilterFetcher.loadPersonalizedFilter(resourceID, filterId, configName, legacyConfigName);
|
59
80
|
}
|
60
81
|
static async savePersonalizedFilter(personalizedFilter, resourceID, configName) {
|
61
|
-
//Ao criar ou alterar um filtro personalizado,
|
82
|
+
//Ao criar ou alterar um filtro personalizado,
|
62
83
|
//precisamos remover o cache do status da filterbar.
|
63
|
-
|
64
|
-
this.configById.delete(cacheID);
|
84
|
+
await this.deleteFilterBarConfigCache(configName, resourceID);
|
65
85
|
return this.personalizedFilterFetcher.savePersonalizedFilter(personalizedFilter, resourceID, configName);
|
66
86
|
}
|
67
87
|
static async removePersonalizedFilter(personalizedFilter, resourceID, configName) {
|
@@ -70,6 +90,51 @@ export class ConfigStorage {
|
|
70
90
|
static async validatePersonalizedFilter(dataUnitName, expression) {
|
71
91
|
return this.personalizedFilterFetcher.validatePersonalizedFilter(dataUnitName, expression);
|
72
92
|
}
|
93
|
+
static async deleteGridConfigCache(name, resourceID) {
|
94
|
+
await this.deleteConfigCache(name, resourceID, CONFIG_SOURCE.grid);
|
95
|
+
}
|
96
|
+
static async deleteFormConfigCache(name, resourceID) {
|
97
|
+
await this.deleteConfigCache(name, resourceID, CONFIG_SOURCE.form);
|
98
|
+
}
|
99
|
+
static async deleteFilterBarConfigCache(name, resourceID) {
|
100
|
+
await this.deleteConfigCache(name, resourceID, CONFIG_SOURCE.filterBar);
|
101
|
+
}
|
102
|
+
static validateConfigName(configName, legacyConfigName) {
|
103
|
+
if (!configName)
|
104
|
+
throw Error(this.CONFIG_NAME_ERROR_MESSAGE);
|
105
|
+
if (!legacyConfigName)
|
106
|
+
throw Error(this.LEGACY_CONFIG_NAME_ERROR_MESSAGE);
|
107
|
+
}
|
108
|
+
static handleLegacyConfig(configName, configSource, urlParams) {
|
109
|
+
let legacyConfigName;
|
110
|
+
switch (configSource) {
|
111
|
+
case CONFIG_SOURCE.filterBar:
|
112
|
+
legacyConfigName = this.filterBarLegacyConfig.get(configName);
|
113
|
+
break;
|
114
|
+
case CONFIG_SOURCE.grid:
|
115
|
+
legacyConfigName = this.gridLegacyConfig.get(configName);
|
116
|
+
break;
|
117
|
+
case CONFIG_SOURCE.form:
|
118
|
+
legacyConfigName = this.formLegacyConfig.get(configName);
|
119
|
+
}
|
120
|
+
const params = urlParams ? Object.assign({}, urlParams) : {};
|
121
|
+
if (legacyConfigName) {
|
122
|
+
params['legacyResourceID'] = legacyConfigName;
|
123
|
+
}
|
124
|
+
return params;
|
125
|
+
}
|
126
|
+
static handleLegacyConfigAsString(name, source) {
|
127
|
+
const params = this.handleLegacyConfig(name, source);
|
128
|
+
const legacyResourceID = params['legacyResourceID'];
|
129
|
+
if (legacyResourceID) {
|
130
|
+
name = name + `?legacyResourceID=${legacyResourceID}`;
|
131
|
+
}
|
132
|
+
return name;
|
133
|
+
}
|
134
|
+
static async deleteConfigCache(name, resourceID, source) {
|
135
|
+
const cacheID = ConfigStorage.buildCacheID(name, source, resourceID);
|
136
|
+
this.configById.delete(cacheID);
|
137
|
+
}
|
73
138
|
static buildCacheID(name, source, resourceID) {
|
74
139
|
if (name == undefined) {
|
75
140
|
return `req_${source}_${resourceID}`;
|
@@ -77,6 +142,11 @@ export class ConfigStorage {
|
|
77
142
|
return `req_${source}_${name}_${resourceID}`;
|
78
143
|
}
|
79
144
|
}
|
145
|
+
ConfigStorage.CONFIG_NAME_ERROR_MESSAGE = "ConfigName precisa ser informado.";
|
146
|
+
ConfigStorage.LEGACY_CONFIG_NAME_ERROR_MESSAGE = "LegacyConfigName precisa ser informado.";
|
147
|
+
ConfigStorage.filterBarLegacyConfig = new Map();
|
148
|
+
ConfigStorage.formLegacyConfig = new Map();
|
149
|
+
ConfigStorage.gridLegacyConfig = new Map();
|
80
150
|
ConfigStorage.configById = new Map();
|
81
151
|
ConfigStorage.filterBarConfigFetcher = new FilterBarConfigFetcher();
|
82
152
|
ConfigStorage.formConfigFetcher = new FormConfigFetcher();
|