@sankhyalabs/sankhyablocks 8.15.0-dev.6 → 8.15.0-dev.60
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-7df9d3bb.js} +102 -30
- package/dist/cjs/IExporterProvider-1ed8e92a.js +187 -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-4259edbe.js} +21 -13
- package/dist/cjs/{SnkMessageBuilder-7293d0ad.js → SnkMessageBuilder-66aa2557.js} +19 -1
- package/dist/cjs/{auth-fetcher-c8467c07.js → auth-fetcher-e6112be7.js} +1 -1
- package/dist/cjs/{DataFetcher-ba94ed5b.js → form-config-fetcher-3c4daeb5.js} +258 -4
- package/dist/cjs/index-f9e81701.js +2 -10
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{dataunit-fetcher-bd4c52da.js → pesquisa-fetcher-cb768be1.js} +520 -86
- 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} +529 -13
- package/dist/cjs/snk-application.cjs.entry.js +62 -28
- package/dist/cjs/snk-attach.cjs.entry.js +422 -62
- package/dist/cjs/snk-crud.cjs.entry.js +17 -12
- package/dist/cjs/snk-data-exporter.cjs.entry.js +204 -82
- package/dist/cjs/{snk-data-unit-1bc69073.js → snk-data-unit-abd2113f.js} +3 -38
- package/dist/cjs/snk-data-unit.cjs.entry.js +3 -2
- package/dist/cjs/snk-detail-view.cjs.entry.js +10 -12
- package/dist/cjs/snk-entity-list.cjs.entry.js +5 -3
- package/dist/cjs/snk-filter-bar.cjs.entry.js +65 -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 +2 -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 +46 -27
- package/dist/cjs/snk-form.cjs.entry.js +10 -4
- package/dist/cjs/snk-grid.cjs.entry.js +95 -116
- package/dist/cjs/{snk-guides-viewer-cb176c4d.js → snk-guides-viewer-bec9c1a5.js} +15 -11
- package/dist/cjs/snk-guides-viewer.cjs.entry.js +8 -10
- package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +3 -1
- package/dist/cjs/snk-personalized-filter.cjs.entry.js +2 -3
- package/dist/cjs/snk-pesquisa.cjs.entry.js +1 -1
- package/dist/cjs/snk-simple-crud.cjs.entry.js +367 -38
- 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 +7 -7
- package/dist/collection/components/snk-application/__mocks__/snk-application.js +7 -0
- package/dist/collection/components/snk-application/snk-application.js +85 -2
- package/dist/collection/components/snk-attach/snk-attach.js +212 -39
- 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/snk-crud.js +95 -3
- package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +2 -2
- package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +11 -2
- package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +27 -3
- 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 +48 -1
- package/dist/collection/components/snk-data-exporter/interfaces/IExporterStrategy.js +1 -0
- package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +53 -0
- package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +55 -0
- package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +42 -48
- 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 +3 -42
- 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 +159 -5
- package/dist/collection/components/snk-filter-bar/utils/SnkFilterModalFactory.js +3 -1
- package/dist/collection/components/snk-form/snk-form.js +25 -1
- package/dist/collection/components/{snk-form → snk-form-config}/SnkFormConfigManager.js +20 -12
- 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 +102 -109
- 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 +548 -20
- 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/configs/ConfigStorage.js +86 -16
- package/dist/collection/lib/dataUnit/InMemoryLoader.js +9 -40
- package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +33 -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 +32 -3
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +36 -23
- 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/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-simple-crud.msg.js +4 -0
- package/dist/collection/lib/utils/CrudUtils.js +13 -1
- package/dist/components/ConfigStorage.js +93 -21
- package/dist/components/IExporterProvider.js +256 -0
- package/dist/components/ISave.js +42 -0
- package/dist/components/SnkFormConfigManager.js +19 -11
- package/dist/components/SnkMessageBuilder.js +19 -1
- package/dist/components/dataunit-fetcher.js +138 -91
- package/dist/components/form-config-fetcher.js +7035 -3
- package/dist/components/index.d.ts +6 -6
- package/dist/components/index2.js +198 -33
- package/dist/components/snk-actions-button2.js +3 -11
- package/dist/components/snk-application2.js +42 -3
- package/dist/components/snk-attach2.js +478 -70
- package/dist/components/snk-crud.js +18 -7
- package/dist/components/snk-data-exporter2.js +199 -82
- package/dist/components/snk-data-unit2.js +41 -39
- package/dist/components/snk-detail-view2.js +44 -12
- 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 +69 -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 +47 -27
- package/dist/components/snk-form.js +8 -0
- package/dist/components/snk-grid-config2.js +128 -102
- package/dist/components/snk-grid2.js +96 -112
- 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 +421 -34
- package/dist/components/snk-taskbar2.js +144 -29
- package/dist/components/taskbar-actions-button2.js +4 -2
- package/dist/esm/{ConfigStorage-1244b8b0.js → ConfigStorage-928c3bf4.js} +93 -21
- package/dist/esm/IExporterProvider-ceabfb7e.js +179 -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-a87ade7a.js} +21 -13
- package/dist/esm/{SnkMessageBuilder-ca843d1b.js → SnkMessageBuilder-0a4becdd.js} +19 -1
- package/dist/esm/{auth-fetcher-c05dc474.js → auth-fetcher-e1cb288f.js} +1 -1
- package/dist/esm/{DataFetcher-aa159c5a.js → form-config-fetcher-e3094014.js} +257 -5
- package/dist/esm/index-a7d3d3f1.js +2 -10
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{dataunit-fetcher-65714f21.js → pesquisa-fetcher-72125b13.js} +494 -69
- package/dist/esm/sankhyablocks.js +1 -1
- package/dist/esm/{snk-actions-button_2.entry.js → snk-actions-button_4.entry.js} +523 -9
- package/dist/esm/snk-application.entry.js +43 -9
- package/dist/esm/snk-attach.entry.js +422 -62
- package/dist/esm/snk-crud.entry.js +17 -12
- package/dist/esm/snk-data-exporter.entry.js +204 -82
- package/dist/esm/{snk-data-unit-6208ebf0.js → snk-data-unit-29eba11a.js} +4 -39
- package/dist/esm/snk-data-unit.entry.js +3 -2
- package/dist/esm/snk-detail-view.entry.js +10 -12
- package/dist/esm/snk-entity-list.entry.js +5 -3
- package/dist/esm/snk-filter-bar.entry.js +65 -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 +2 -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 +47 -28
- package/dist/esm/snk-form.entry.js +10 -4
- package/dist/esm/snk-grid.entry.js +95 -116
- package/dist/esm/{snk-guides-viewer-eeb8f354.js → snk-guides-viewer-303aafb4.js} +15 -11
- package/dist/esm/snk-guides-viewer.entry.js +8 -10
- package/dist/esm/snk-personalized-filter-editor.entry.js +3 -1
- package/dist/esm/snk-personalized-filter.entry.js +2 -3
- package/dist/esm/snk-pesquisa.entry.js +1 -1
- package/dist/esm/snk-simple-crud.entry.js +359 -30
- 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-029bfc09.js +1 -0
- package/dist/sankhyablocks/p-07825198.js +1 -0
- package/dist/sankhyablocks/p-0e8702f0.js +1 -0
- package/dist/sankhyablocks/p-13ea113d.entry.js +1 -0
- package/dist/sankhyablocks/p-1fa244c0.entry.js +1 -0
- package/dist/sankhyablocks/{p-9e7d65a4.js → p-21749402.js} +1 -1
- package/dist/sankhyablocks/p-2d972c2e.entry.js +1 -0
- package/dist/sankhyablocks/p-314e2d1a.entry.js +1 -0
- package/dist/sankhyablocks/p-32556aa6.js +1 -0
- package/dist/sankhyablocks/p-33718dfc.entry.js +1 -0
- package/dist/sankhyablocks/p-3494a28e.entry.js +1 -0
- package/dist/sankhyablocks/p-35bd4df7.entry.js +1 -0
- package/dist/sankhyablocks/p-536eeb16.js +26 -0
- package/dist/sankhyablocks/p-54a5d52a.entry.js +1 -0
- package/dist/sankhyablocks/p-563701f3.js +1 -0
- package/dist/sankhyablocks/p-61984566.entry.js +1 -0
- package/dist/sankhyablocks/p-61dd89eb.js +1 -0
- package/dist/sankhyablocks/p-64977b22.entry.js +1 -0
- package/dist/sankhyablocks/p-65b6dba3.entry.js +1 -0
- package/dist/sankhyablocks/p-6bc64fb0.entry.js +1 -0
- package/dist/sankhyablocks/p-70a4af56.entry.js +1 -0
- package/dist/sankhyablocks/p-9863d682.js +1 -0
- package/dist/sankhyablocks/p-aedf37fb.js +65 -0
- package/dist/sankhyablocks/p-b11aa1e0.entry.js +1 -0
- package/dist/sankhyablocks/p-b233f5aa.entry.js +1 -0
- package/dist/sankhyablocks/p-b86ea293.entry.js +1 -0
- package/dist/sankhyablocks/p-bf2acf72.entry.js +1 -0
- package/dist/sankhyablocks/p-c73482cf.js +1 -0
- package/dist/sankhyablocks/p-cb3c7b4a.entry.js +11 -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-d911a023.entry.js +1 -0
- package/dist/sankhyablocks/p-e27496ed.js +56 -0
- package/dist/sankhyablocks/p-e8763234.entry.js +1 -0
- package/dist/sankhyablocks/p-fa84e72f.entry.js +1 -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 +15 -0
- 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 +29 -6
- 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/snk-crud.d.ts +21 -0
- package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +1 -1
- package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +6 -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 +21 -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-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 +27 -1
- package/dist/types/components/snk-filter-bar/utils/SnkFilterModalFactory.d.ts +3 -1
- package/dist/types/components/snk-form/snk-form.d.ts +6 -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 +19 -4
- 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 +98 -4
- 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 +314 -12
- package/dist/types/lib/configs/ConfigStorage.d.ts +25 -1
- package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +0 -2
- package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +4 -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/loadstrategy/DatasetStrategy.d.ts +1 -0
- package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IExporterColumnMetadata.d.ts +1 -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/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/form-config-fetcher-df043d3d.js +0 -244
- package/dist/cjs/pesquisa-fetcher-ef050a47.js +0 -167
- 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/DataFetcher.js +0 -7021
- 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/form-config-fetcher-36219cd3.js +0 -241
- package/dist/esm/pesquisa-fetcher-dd3ca0a5.js +0 -165
- package/dist/esm/snk-grid-config.entry.js +0 -479
- package/dist/esm/snk-select-box.entry.js +0 -21
- 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-0dca29cb.entry.js +0 -1
- package/dist/sankhyablocks/p-11081798.entry.js +0 -1
- package/dist/sankhyablocks/p-20726710.entry.js +0 -1
- package/dist/sankhyablocks/p-29804fc5.js +0 -60
- package/dist/sankhyablocks/p-32f0935f.js +0 -1
- package/dist/sankhyablocks/p-3520c088.entry.js +0 -1
- package/dist/sankhyablocks/p-374d03f6.js +0 -1
- 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-6d20d38c.entry.js +0 -1
- package/dist/sankhyablocks/p-776ee8e3.js +0 -1
- package/dist/sankhyablocks/p-7d51d949.entry.js +0 -11
- package/dist/sankhyablocks/p-809f367d.entry.js +0 -1
- package/dist/sankhyablocks/p-95a3778f.entry.js +0 -1
- package/dist/sankhyablocks/p-9695f78b.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-b146a9f0.entry.js +0 -1
- package/dist/sankhyablocks/p-bedb8ad6.entry.js +0 -1
- package/dist/sankhyablocks/p-c22c1d8e.js +0 -1
- package/dist/sankhyablocks/p-c758265f.entry.js +0 -1
- package/dist/sankhyablocks/p-ca4d337a.entry.js +0 -1
- package/dist/sankhyablocks/p-cb7419e0.entry.js +0 -1
- package/dist/sankhyablocks/p-d1f5bc50.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-d9bb09b3.js +0 -6
- package/dist/sankhyablocks/p-e6380c60.js +0 -1
- package/dist/sankhyablocks/p-f2056f66.entry.js +0 -1
- package/dist/sankhyablocks/p-f514913b.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
@@ -1,6 +1,5 @@
|
|
1
1
|
import { h, Fragment } from '@stencil/core';
|
2
|
-
import { ApplicationContext,
|
3
|
-
import { SortMode, UserInterface } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
|
2
|
+
import { ApplicationContext, ElementIDUtils, StringUtils } from '@sankhyalabs/core';
|
4
3
|
import { TaskbarElement } from '../snk-taskbar/elements/taskbar-elements';
|
5
4
|
import { ConfigStorage } from '../../lib/configs/ConfigStorage';
|
6
5
|
import { PresentationMode } from '../../lib/@types';
|
@@ -9,6 +8,8 @@ import store from "../../lib/store";
|
|
9
8
|
import SnkMultiSelectionListDataSource from './filtercolumn/SnkMultiSelectionListDataSource';
|
10
9
|
import { SelectionMode } from '@sankhyalabs/core/dist/dataunit/DataUnit';
|
11
10
|
import { buildFieldSearch, openFieldSearch } from '../snk-taskbar/subcomponents/field-search';
|
11
|
+
import { CrudUtils } from '../../lib';
|
12
|
+
import ServerSideExporterProvider from '../snk-data-exporter/providers/ServerSideExporterProvider';
|
12
13
|
export class SnkGrid {
|
13
14
|
constructor() {
|
14
15
|
this._topTaskbarProcessor = new TaskbarProcessor({
|
@@ -37,6 +38,7 @@ export class SnkGrid {
|
|
37
38
|
this._showSnkFilterBar = true;
|
38
39
|
this.columnFilterDataSource = new SnkMultiSelectionListDataSource();
|
39
40
|
this.configName = undefined;
|
41
|
+
this.filterBarTitle = undefined;
|
40
42
|
this.resourceID = undefined;
|
41
43
|
this.selectionToastConfig = undefined;
|
42
44
|
this.actionsList = undefined;
|
@@ -52,6 +54,9 @@ export class SnkGrid {
|
|
52
54
|
this.taskbarCustomContainerId = undefined;
|
53
55
|
this.gridHeaderCustomSlotId = 'GRID_HEADER_CUSTOM_ELEMENTS';
|
54
56
|
this.topTaskbarCustomSlotId = 'GRID_TASKBAR_CUSTOM_ELEMENTS';
|
57
|
+
this.disablePersonalizedFilter = undefined;
|
58
|
+
this.gridLegacyConfigName = undefined;
|
59
|
+
this.filterBarLegacyConfigName = undefined;
|
55
60
|
}
|
56
61
|
/**
|
57
62
|
* Exibe a janela de configurações da grade.
|
@@ -96,6 +101,16 @@ export class SnkGrid {
|
|
96
101
|
async findColumn() {
|
97
102
|
await openFieldSearch(this._moreOptions, this._columnSearch);
|
98
103
|
}
|
104
|
+
async handleGridLegacyConfigName(newLegacyConfig, oldLegacyConfig) {
|
105
|
+
if (!newLegacyConfig) {
|
106
|
+
return;
|
107
|
+
}
|
108
|
+
if (newLegacyConfig === oldLegacyConfig) {
|
109
|
+
return;
|
110
|
+
}
|
111
|
+
this.addGridLegacyConfigName();
|
112
|
+
this.loadConfig();
|
113
|
+
}
|
99
114
|
openGridConfig() {
|
100
115
|
this._grid.getColumnsState()
|
101
116
|
.then((gridColumns) => {
|
@@ -109,19 +124,7 @@ export class SnkGrid {
|
|
109
124
|
}
|
110
125
|
setGridConfig(config) {
|
111
126
|
this._gridConfig = config;
|
112
|
-
|
113
|
-
}
|
114
|
-
assertDefaultSorting() {
|
115
|
-
if (this._gridConfig && this._dataUnit) {
|
116
|
-
this._dataUnit.defaultSorting = this._gridConfig
|
117
|
-
.columns
|
118
|
-
.filter(col => col.ascending != undefined)
|
119
|
-
.sort((colA, colB) => colA.orderIndex - colB.orderIndex)
|
120
|
-
.map(({ name: field, ascending }) => {
|
121
|
-
const { dataType } = this._dataUnit.getField(field);
|
122
|
-
return { field, dataType, mode: ascending ? SortMode.ASC : SortMode.DESC };
|
123
|
-
});
|
124
|
-
}
|
127
|
+
CrudUtils.assertDefaultSorting(this._gridConfig, this._dataUnit);
|
125
128
|
}
|
126
129
|
loadConfig() {
|
127
130
|
ConfigStorage.loadGridConfig(this.configName, this.resourceID)
|
@@ -132,6 +135,11 @@ export class SnkGrid {
|
|
132
135
|
console.warn(error);
|
133
136
|
});
|
134
137
|
}
|
138
|
+
addGridLegacyConfigName() {
|
139
|
+
if (this.gridLegacyConfigName && this.configName) {
|
140
|
+
ConfigStorage.addGridLegacyConfig(this.configName, this.gridLegacyConfigName);
|
141
|
+
}
|
142
|
+
}
|
135
143
|
gridConfigChangeHandler(evt) {
|
136
144
|
const config = evt.detail;
|
137
145
|
ConfigStorage.saveGridConfig(config, this.configName, this.resourceID);
|
@@ -147,99 +155,8 @@ export class SnkGrid {
|
|
147
155
|
});
|
148
156
|
evt.stopPropagation();
|
149
157
|
}
|
150
|
-
buildColumnsMetadata(gridColumns) {
|
151
|
-
const columnsMetadata = [];
|
152
|
-
gridColumns === null || gridColumns === void 0 ? void 0 : gridColumns.forEach((column) => {
|
153
|
-
var _a, _b;
|
154
|
-
/**
|
155
|
-
* TODO: Analisar e criar uma melhor forma de tratar essa validação do "RECDESP".
|
156
|
-
*/
|
157
|
-
if (column.hidden && column.name !== "RECDESP") {
|
158
|
-
return;
|
159
|
-
}
|
160
|
-
const fieldData = (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.getField(column.name);
|
161
|
-
const columnData = {
|
162
|
-
label: column.label,
|
163
|
-
id: column.name,
|
164
|
-
width: column.width,
|
165
|
-
type: fieldData === null || fieldData === void 0 ? void 0 : fieldData.dataType,
|
166
|
-
userInterface: fieldData === null || fieldData === void 0 ? void 0 : fieldData.userInterface
|
167
|
-
};
|
168
|
-
columnsMetadata.push(columnData);
|
169
|
-
if (((_b = fieldData === null || fieldData === void 0 ? void 0 : fieldData.properties) === null || _b === void 0 ? void 0 : _b.DESCRIPTIONFIELD) != undefined) {
|
170
|
-
const mergedFrom = fieldData.properties.mergedFrom;
|
171
|
-
const descriptionField = `${fieldData.properties.ENTITYNAME}.${fieldData.properties.DESCRIPTIONFIELD}`;
|
172
|
-
const descriptionColumn = {
|
173
|
-
label: fieldData.properties.DESCRIPTIONENTITY,
|
174
|
-
id: `${mergedFrom ? (mergedFrom + ".") : ""}${descriptionField}`,
|
175
|
-
width: 200,
|
176
|
-
type: DataType.TEXT,
|
177
|
-
userInterface: UserInterface.LONGTEXT
|
178
|
-
};
|
179
|
-
columnsMetadata.push(descriptionColumn);
|
180
|
-
}
|
181
|
-
});
|
182
|
-
return columnsMetadata || [];
|
183
|
-
}
|
184
|
-
getPaginationInfo() {
|
185
|
-
var _a;
|
186
|
-
return (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.getPaginationInfo();
|
187
|
-
}
|
188
|
-
getExporterOffset(paginationInfo) {
|
189
|
-
if (paginationInfo == undefined) {
|
190
|
-
return;
|
191
|
-
}
|
192
|
-
const offset = paginationInfo.firstRecord;
|
193
|
-
if (offset > 0) {
|
194
|
-
return (offset - 1);
|
195
|
-
}
|
196
|
-
return offset;
|
197
|
-
}
|
198
158
|
async dataExporterProviderStore() {
|
199
|
-
|
200
|
-
const selectedIDs = await ((_a = this._snkDataUnit) === null || _a === void 0 ? void 0 : _a.getSelectedRecordsIDsInfo());
|
201
|
-
const dataExporterProvider = {
|
202
|
-
getFilters: () => {
|
203
|
-
var _a;
|
204
|
-
return (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.getAppliedFilters();
|
205
|
-
},
|
206
|
-
getColumnsMetadata: async () => {
|
207
|
-
var _a;
|
208
|
-
const columnsState = await ((_a = this._grid) === null || _a === void 0 ? void 0 : _a.getColumnsState());
|
209
|
-
return this.buildColumnsMetadata(columnsState);
|
210
|
-
},
|
211
|
-
getOrders: () => {
|
212
|
-
var _a;
|
213
|
-
return (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.getSort();
|
214
|
-
},
|
215
|
-
getResourceURI: () => {
|
216
|
-
var _a;
|
217
|
-
return (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.name;
|
218
|
-
},
|
219
|
-
getSelectedNumber: () => {
|
220
|
-
var _a, _b;
|
221
|
-
return (_b = (_a = this._dataState) === null || _a === void 0 ? void 0 : _a.selectionInfo) === null || _b === void 0 ? void 0 : _b.length;
|
222
|
-
},
|
223
|
-
getTotalRecords: () => {
|
224
|
-
var _a, _b, _c;
|
225
|
-
const { total } = ((_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.getPaginationInfo()) || {};
|
226
|
-
return total !== null && total !== void 0 ? total : (_c = (_b = this._dataUnit) === null || _b === void 0 ? void 0 : _b.records) === null || _c === void 0 ? void 0 : _c.length;
|
227
|
-
},
|
228
|
-
getSelectedIDs: () => {
|
229
|
-
return selectedIDs || [];
|
230
|
-
},
|
231
|
-
getOffset: () => {
|
232
|
-
return this.getExporterOffset(this.getPaginationInfo());
|
233
|
-
},
|
234
|
-
getLimit: () => {
|
235
|
-
var _a;
|
236
|
-
return (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.pageSize;
|
237
|
-
},
|
238
|
-
getRecordID: () => {
|
239
|
-
var _a, _b, _c;
|
240
|
-
return (_c = (_b = (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.records) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.__record__id__;
|
241
|
-
}
|
242
|
-
};
|
159
|
+
const dataExporterProvider = new ServerSideExporterProvider(this._dataUnit, this._grid);
|
243
160
|
store.set("exporterProviders", Object.assign(Object.assign({}, store.get("exporterProviders")), { [this.configName]: dataExporterProvider }));
|
244
161
|
}
|
245
162
|
addElementID() {
|
@@ -247,7 +164,7 @@ export class SnkGrid {
|
|
247
164
|
ElementIDUtils.addIDInfo(this._element, null, dataInfo);
|
248
165
|
}
|
249
166
|
finshLoading() {
|
250
|
-
|
167
|
+
CrudUtils.assertDefaultSorting(this._gridConfig, this._dataUnit);
|
251
168
|
this.addElementID();
|
252
169
|
if (this.columnFilterDataSource != undefined) {
|
253
170
|
this.columnFilterDataSource.setApplication(this._application);
|
@@ -256,6 +173,7 @@ export class SnkGrid {
|
|
256
173
|
}
|
257
174
|
componentWillLoad() {
|
258
175
|
this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
|
176
|
+
//TODO: substituir pelo metodo nativo closest
|
259
177
|
let parent = this._element.parentElement;
|
260
178
|
while (parent) {
|
261
179
|
if (parent.tagName.toUpperCase() === "SNK-DATA-UNIT") {
|
@@ -285,6 +203,7 @@ export class SnkGrid {
|
|
285
203
|
}
|
286
204
|
parent = parent.parentElement;
|
287
205
|
}
|
206
|
+
this.addGridLegacyConfigName();
|
288
207
|
this.loadConfig();
|
289
208
|
}
|
290
209
|
getHeaderDisabledButtons() {
|
@@ -399,7 +318,7 @@ export class SnkGrid {
|
|
399
318
|
return undefined;
|
400
319
|
}
|
401
320
|
return (h("div", { class: "snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large" }, h("div", { class: "snk-grid__header ez-margin-bottom--medium" }, this._showSnkFilterBar &&
|
402
|
-
h(Fragment, null, h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, dataUnit: this._dataUnit, "data-element-id": "gridFilter", class: "snk-grid__filter-bar ez-align--top", configName: this.configName, messagesBuilder: this.messagesBuilder, resourceID: this.resourceID, onConfigUpdated: evt => this.handleFilterConfigUpdated(evt.detail) }), h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" })), h("snk-taskbar", { class: "ez-padding-left--medium", "data-element-id": "grid_top", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.topTaskbarCustomSlotId }, h("slot", { name: this.topTaskbarCustomSlotId }))), h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === PresentationMode.SECONDARY ? "snk-grid-container__without-shadow " : "") + "snk-grid__table", "data-element-id": "embedded", dataUnit: this._dataUnit, key: "grid-" + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => { this.gridConfigChangeHandler(evt); }, onEzDoubleClick: (evt) => this.gridDoubleClick.emit(evt.detail), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, columnfilterDataSource: this.columnFilterDataSource, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, recordsValidator: this.recordsValidator, canEdit: this.canEdit }, h("snk-taskbar", { dataUnit: this._dataUnit, configName: this.configName, messagesBuilder: this.messagesBuilder, "data-element-id": "grid_left", buttons: this._headerTaskbarProcessor.buttons, presentationMode: this.presentationMode, disabledButtons: this._headerTaskbarProcessor.disabledButtons, customButtons: this._headerTaskbarProcessor.customButtons, slot: "leftButtons", actionsList: this.getActionsList(), primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.gridHeaderCustomSlotId }, h("slot", { name: this.gridHeaderCustomSlotId }))), h("div", { class: "ez-col ez-col--sd-12" }, h("slot", { name: "SnkGridFooter" })), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._popUpGridConfig, onEzCloseModal: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME),
|
321
|
+
h(Fragment, null, h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, title: this.filterBarTitle, dataUnit: this._dataUnit, "data-element-id": "gridFilter", class: "snk-grid__filter-bar ez-align--top", configName: this.configName, messagesBuilder: this.messagesBuilder, resourceID: this.resourceID, onConfigUpdated: evt => this.handleFilterConfigUpdated(evt.detail), disablePersonalizedFilter: this.disablePersonalizedFilter, filterBarLegacyConfigName: this.filterBarLegacyConfigName }), h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" })), h("snk-taskbar", { class: "ez-padding-left--medium", "data-element-id": "grid_top", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.topTaskbarCustomSlotId, overflowStrategy: 'none' }, h("slot", { name: this.topTaskbarCustomSlotId }))), h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === PresentationMode.SECONDARY ? "snk-grid-container__without-shadow " : "") + "snk-grid__table", "data-element-id": "embedded", dataUnit: this._dataUnit, key: "grid-" + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => { this.gridConfigChangeHandler(evt); }, onEzDoubleClick: (evt) => this.gridDoubleClick.emit(evt.detail), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, columnfilterDataSource: this.columnFilterDataSource, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, recordsValidator: this.recordsValidator, canEdit: this.canEdit }, h("snk-taskbar", { id: 'teste', dataUnit: this._dataUnit, configName: this.configName, messagesBuilder: this.messagesBuilder, "data-element-id": "grid_left", buttons: this._headerTaskbarProcessor.buttons, presentationMode: this.presentationMode, disabledButtons: this._headerTaskbarProcessor.disabledButtons, customButtons: this._headerTaskbarProcessor.customButtons, slot: "leftButtons", actionsList: this.getActionsList(), primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.gridHeaderCustomSlotId }, h("slot", { name: this.gridHeaderCustomSlotId }))), h("div", { class: "ez-col ez-col--sd-12" }, h("slot", { name: "SnkGridFooter" })), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._popUpGridConfig, onEzCloseModal: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), selectedIndex: 0, configName: this.configName, onConfigChange: (evt) => this.modalConfigChangeHandler(evt), onConfigCancel: () => this.closeGridConfig(), resourceID: this.resourceID }))));
|
403
322
|
}
|
404
323
|
static get is() { return "snk-grid"; }
|
405
324
|
static get encapsulation() { return "scoped"; }
|
@@ -453,6 +372,23 @@ export class SnkGrid {
|
|
453
372
|
"attribute": "config-name",
|
454
373
|
"reflect": false
|
455
374
|
},
|
375
|
+
"filterBarTitle": {
|
376
|
+
"type": "string",
|
377
|
+
"mutable": false,
|
378
|
+
"complexType": {
|
379
|
+
"original": "string",
|
380
|
+
"resolved": "string",
|
381
|
+
"references": {}
|
382
|
+
},
|
383
|
+
"required": false,
|
384
|
+
"optional": false,
|
385
|
+
"docs": {
|
386
|
+
"tags": [],
|
387
|
+
"text": "T\u00EDtulo que ser\u00E1 apresentado na barra de filtros"
|
388
|
+
},
|
389
|
+
"attribute": "filter-bar-title",
|
390
|
+
"reflect": false
|
391
|
+
},
|
456
392
|
"resourceID": {
|
457
393
|
"type": "string",
|
458
394
|
"mutable": false,
|
@@ -742,6 +678,57 @@ export class SnkGrid {
|
|
742
678
|
"attribute": "top-taskbar-custom-slot-id",
|
743
679
|
"reflect": false,
|
744
680
|
"defaultValue": "'GRID_TASKBAR_CUSTOM_ELEMENTS'"
|
681
|
+
},
|
682
|
+
"disablePersonalizedFilter": {
|
683
|
+
"type": "boolean",
|
684
|
+
"mutable": false,
|
685
|
+
"complexType": {
|
686
|
+
"original": "boolean",
|
687
|
+
"resolved": "boolean",
|
688
|
+
"references": {}
|
689
|
+
},
|
690
|
+
"required": false,
|
691
|
+
"optional": false,
|
692
|
+
"docs": {
|
693
|
+
"tags": [],
|
694
|
+
"text": "Desabilita a apresenta\u00E7\u00E3o da op\u00E7\u00E3o de filtros personalizados na filter bar (chip de filtros)\ne no modal lateral de filtros (container de filtros personalizados)."
|
695
|
+
},
|
696
|
+
"attribute": "disable-personalized-filter",
|
697
|
+
"reflect": false
|
698
|
+
},
|
699
|
+
"gridLegacyConfigName": {
|
700
|
+
"type": "string",
|
701
|
+
"mutable": false,
|
702
|
+
"complexType": {
|
703
|
+
"original": "string",
|
704
|
+
"resolved": "string",
|
705
|
+
"references": {}
|
706
|
+
},
|
707
|
+
"required": false,
|
708
|
+
"optional": false,
|
709
|
+
"docs": {
|
710
|
+
"tags": [],
|
711
|
+
"text": "Chave da configura\u00E7\u00E3o legado da grade."
|
712
|
+
},
|
713
|
+
"attribute": "grid-legacy-config-name",
|
714
|
+
"reflect": false
|
715
|
+
},
|
716
|
+
"filterBarLegacyConfigName": {
|
717
|
+
"type": "string",
|
718
|
+
"mutable": false,
|
719
|
+
"complexType": {
|
720
|
+
"original": "string",
|
721
|
+
"resolved": "string",
|
722
|
+
"references": {}
|
723
|
+
},
|
724
|
+
"required": false,
|
725
|
+
"optional": false,
|
726
|
+
"docs": {
|
727
|
+
"tags": [],
|
728
|
+
"text": "Chave da configura\u00E7\u00E3o legado da barra de filtros."
|
729
|
+
},
|
730
|
+
"attribute": "filter-bar-legacy-config-name",
|
731
|
+
"reflect": false
|
745
732
|
}
|
746
733
|
};
|
747
734
|
}
|
@@ -898,4 +885,10 @@ export class SnkGrid {
|
|
898
885
|
};
|
899
886
|
}
|
900
887
|
static get elementRef() { return "_element"; }
|
888
|
+
static get watchers() {
|
889
|
+
return [{
|
890
|
+
"propName": "gridLegacyConfigName",
|
891
|
+
"methodName": "handleGridLegacyConfigName"
|
892
|
+
}];
|
893
|
+
}
|
901
894
|
}
|
@@ -1,9 +1,9 @@
|
|
1
|
-
import { StringUtils, ElementIDUtils } from '@sankhyalabs/core';
|
1
|
+
import { StringUtils, ElementIDUtils, ApplicationContext } from '@sankhyalabs/core';
|
2
2
|
import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
|
3
3
|
import { CheckMode } from '@sankhyalabs/ezui/dist/collection/components/ez-check/CheckMode';
|
4
4
|
import { h, Host } from '@stencil/core';
|
5
|
-
import { ConfigStorage } from '
|
6
|
-
import { ORDER_VALUES } from '
|
5
|
+
import { ConfigStorage } from '../../lib/configs/ConfigStorage';
|
6
|
+
import { ORDER_VALUES } from '../../lib/utils/constants';
|
7
7
|
export class SnkGridConfig {
|
8
8
|
constructor() {
|
9
9
|
this._orderListItems = [];
|
@@ -13,7 +13,6 @@ export class SnkGridConfig {
|
|
13
13
|
this._dataChanged = false;
|
14
14
|
this._componenteInternalKey = Date.now();
|
15
15
|
this.selectedIndex = 0;
|
16
|
-
this.application = undefined;
|
17
16
|
this.columns = undefined;
|
18
17
|
this.config = undefined;
|
19
18
|
this.configName = undefined;
|
@@ -27,9 +26,10 @@ export class SnkGridConfig {
|
|
27
26
|
* Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-grid.msg.ts"
|
28
27
|
*/
|
29
28
|
getMessage(key, params) {
|
30
|
-
|
29
|
+
const application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
|
30
|
+
return application.messagesBuilder.getMessage(key, params);
|
31
31
|
}
|
32
|
-
|
32
|
+
getSortableColumns() {
|
33
33
|
let newList = [];
|
34
34
|
this.columns.filter(col => { var _a; return StringUtils.getBooleanValue((_a = col === null || col === void 0 ? void 0 : col.props) === null || _a === void 0 ? void 0 : _a.get("sortable"), true); }).forEach((column) => {
|
35
35
|
var _a;
|
@@ -43,7 +43,11 @@ export class SnkGridConfig {
|
|
43
43
|
newList.push(item);
|
44
44
|
}
|
45
45
|
});
|
46
|
-
newList
|
46
|
+
return newList;
|
47
|
+
}
|
48
|
+
createOrderList() {
|
49
|
+
let newSortableList = this.getSortableColumns();
|
50
|
+
newSortableList.sort((a, b) => {
|
47
51
|
//OS dois tem order index 0 e pelo menos um deles tem orientação de ordenação.
|
48
52
|
if (a.orderIndex == 0 && b.orderIndex == 0 && (a.ascending != undefined || b.ascending != undefined)) {
|
49
53
|
if (a.ascending != undefined)
|
@@ -66,7 +70,7 @@ export class SnkGridConfig {
|
|
66
70
|
}
|
67
71
|
return (a.orderIndex - b.orderIndex);
|
68
72
|
});
|
69
|
-
this._orderListItems =
|
73
|
+
this._orderListItems = newSortableList;
|
70
74
|
}
|
71
75
|
createColumnList() {
|
72
76
|
let visibleGroup = {
|
@@ -89,12 +93,18 @@ export class SnkGridConfig {
|
|
89
93
|
});
|
90
94
|
this._columListItems = [visibleGroup, hiddenGroup];
|
91
95
|
}
|
96
|
+
createColumnListSlotDataElementId(item) {
|
97
|
+
return `configItem_${StringUtils.replaceAccentuatedChars(StringUtils.toCamelCase(item.label))}`;
|
98
|
+
}
|
92
99
|
buildColumnListSlot(item, group) {
|
93
|
-
const dataElementId =
|
100
|
+
const dataElementId = this.createColumnListSlotDataElementId(item);
|
94
101
|
return (h("div", null, h("ez-check", { mode: CheckMode.SWITCH, id: CheckMode.SWITCH + ((item === null || item === void 0 ? void 0 : item.label) || '') + ((group === null || group === void 0 ? void 0 : group.group) || ''), value: group.group === this.getMessage("snkGridConfig.group.visible"), "data-element-id": dataElementId, onEzChange: (evt) => { this.switchColumnGroup(evt, item); } })));
|
95
102
|
}
|
103
|
+
createOrderListSlotDataElementId(item) {
|
104
|
+
return `${this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME)}_configItem_${StringUtils.toCamelCase(item.label)}`;
|
105
|
+
}
|
96
106
|
buildOrderListSlot(item) {
|
97
|
-
const dataElementId =
|
107
|
+
const dataElementId = this.createOrderListSlotDataElementId(item);
|
98
108
|
let selectedOption = ORDER_VALUES.none.value;
|
99
109
|
if ((item === null || item === void 0 ? void 0 : item.ascending) != undefined) {
|
100
110
|
selectedOption = item.ascending == true ? ORDER_VALUES.asc.value : ORDER_VALUES.desc.value;
|
@@ -112,7 +122,7 @@ export class SnkGridConfig {
|
|
112
122
|
let orderArray;
|
113
123
|
if (((_a = this._orderPriorityList) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
114
124
|
this._orderPriorityList.find((item) => item.label === newItem.label).sort = sortOrder;
|
115
|
-
this._orderPriorityList.filter((item) => item.sort).
|
125
|
+
this._orderPriorityList.filter((item) => item.sort).forEach((item, index) => {
|
116
126
|
if (item.label === newItem.label) {
|
117
127
|
newItem.sortIndex = index;
|
118
128
|
}
|
@@ -181,6 +191,35 @@ export class SnkGridConfig {
|
|
181
191
|
this.closeConfig();
|
182
192
|
this.save();
|
183
193
|
}
|
194
|
+
saveGridConfigOnStorage(_newConfig) {
|
195
|
+
ConfigStorage.saveGridConfig(_newConfig, this.configName, this.resourceID)
|
196
|
+
.then((savedConfig) => {
|
197
|
+
this.configChange.emit(savedConfig);
|
198
|
+
this._orderList.clearHistory();
|
199
|
+
ApplicationUtils.info(this.getMessage("snkGridConfig.info.successfullyConfigSaved"), { iconName: "check" });
|
200
|
+
});
|
201
|
+
}
|
202
|
+
reOrderPriorityColumns(columns, orderPriorityList) {
|
203
|
+
let orderArray = [];
|
204
|
+
orderArray = columns.filter((item) => item.sort && item.hidden !== true)
|
205
|
+
.map((item) => {
|
206
|
+
return { label: item.label, orderIndex: 0 };
|
207
|
+
});
|
208
|
+
let indexCount = 0;
|
209
|
+
let newOrderArray = [];
|
210
|
+
orderPriorityList.forEach((orderPriorityItem) => {
|
211
|
+
let item = orderArray.find((column) => column.label === orderPriorityItem.label);
|
212
|
+
if (item) {
|
213
|
+
item.orderIndex = indexCount;
|
214
|
+
newOrderArray.push(item);
|
215
|
+
indexCount++;
|
216
|
+
}
|
217
|
+
});
|
218
|
+
if (newOrderArray.length > 0) {
|
219
|
+
orderArray = newOrderArray;
|
220
|
+
}
|
221
|
+
return orderArray;
|
222
|
+
}
|
184
223
|
save() {
|
185
224
|
var _a;
|
186
225
|
let _newConfig;
|
@@ -193,30 +232,12 @@ export class SnkGridConfig {
|
|
193
232
|
let _newColumnConfigList = [];
|
194
233
|
let orderArray;
|
195
234
|
if (((_a = this._orderPriorityList) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
196
|
-
orderArray = this.
|
197
|
-
.map((item) => {
|
198
|
-
return { label: item.label, orderIndex: 0 };
|
199
|
-
});
|
200
|
-
let indexCount = 0;
|
201
|
-
let newOrderArray = [];
|
202
|
-
this._orderPriorityList.forEach((orderPriorityItem) => {
|
203
|
-
let item = orderArray.find((column) => column.label === orderPriorityItem.label);
|
204
|
-
if (item) {
|
205
|
-
item.orderIndex = indexCount;
|
206
|
-
newOrderArray.push(item);
|
207
|
-
indexCount++;
|
208
|
-
}
|
209
|
-
});
|
210
|
-
if (newOrderArray.length > 0) {
|
211
|
-
orderArray = newOrderArray;
|
212
|
-
}
|
235
|
+
orderArray = this.reOrderPriorityColumns(this.columns, this._orderPriorityList);
|
213
236
|
}
|
214
|
-
|
215
|
-
const column = this.columns[i];
|
237
|
+
this.columns.forEach((column) => {
|
216
238
|
let _newColumnConfig = _newConfig.columns.find((_newColumnConfig) => column.name === _newColumnConfig.name);
|
217
|
-
if (column.hidden === true && _newColumnConfig)
|
218
|
-
|
219
|
-
}
|
239
|
+
if (column.hidden === true && _newColumnConfig)
|
240
|
+
return;
|
220
241
|
if (_newColumnConfig) {
|
221
242
|
_newColumnConfig.width = column.width;
|
222
243
|
}
|
@@ -239,14 +260,9 @@ export class SnkGridConfig {
|
|
239
260
|
}
|
240
261
|
_newColumnConfigList.push(_newColumnConfig);
|
241
262
|
}
|
242
|
-
}
|
243
|
-
_newConfig.columns = _newColumnConfigList;
|
244
|
-
ConfigStorage.saveGridConfig(_newConfig, this.configName, this.resourceID)
|
245
|
-
.then((savedConfig) => {
|
246
|
-
this.configChange.emit(savedConfig);
|
247
|
-
this._orderList.clearHistory();
|
248
|
-
ApplicationUtils.info(this.getMessage("snkGridConfig.info.successfullyConfigSaved"), { iconName: "check" });
|
249
263
|
});
|
264
|
+
_newConfig.columns = _newColumnConfigList;
|
265
|
+
this.saveGridConfigOnStorage(_newConfig);
|
250
266
|
function adjustPriorityOrder(column, _newColumnConfig) {
|
251
267
|
if (orderArray) {
|
252
268
|
let orderItem = orderArray.find((item) => item.label === column.label);
|
@@ -281,85 +297,96 @@ export class SnkGridConfig {
|
|
281
297
|
async locateColumn(evt, searchingText) {
|
282
298
|
var _a;
|
283
299
|
const hitEnter = evt.key === "Enter";
|
300
|
+
searchingText = searchingText || ((_a = evt.currentTarget) === null || _a === void 0 ? void 0 : _a.value);
|
284
301
|
if (!searchingText) {
|
285
|
-
|
302
|
+
this.removeSelection();
|
303
|
+
return;
|
286
304
|
}
|
287
|
-
|
305
|
+
const matchedIndexes = await this.getMatchedIndexes(searchingText);
|
306
|
+
const newSelected = this.getNewSelectedIndex(matchedIndexes, hitEnter);
|
307
|
+
this._selectedIndex = newSelected;
|
288
308
|
if (this.selectedIndex === 1) {
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
if (
|
301
|
-
|
302
|
-
for (let j = 0; j < matchedIndexes.length; j++) {
|
303
|
-
if (matchedIndexes[j] > this._selectedIndex) {
|
304
|
-
newSelected = matchedIndexes[j];
|
305
|
-
break;
|
306
|
-
}
|
307
|
-
}
|
308
|
-
}
|
309
|
-
if (newSelected === -1) {
|
310
|
-
newSelected = matchedIndexes[0];
|
311
|
-
}
|
309
|
+
this.updateOrderListSelection(newSelected);
|
310
|
+
}
|
311
|
+
else {
|
312
|
+
this.updateColumnListSelection(newSelected);
|
313
|
+
}
|
314
|
+
}
|
315
|
+
async getMatchedIndexes(searchingText) {
|
316
|
+
const matchedIndexes = [];
|
317
|
+
if (this.selectedIndex === 1) {
|
318
|
+
const orderListDatasource = await this._orderList.getList();
|
319
|
+
orderListDatasource.forEach((column, index) => {
|
320
|
+
if (this.compareWords(column, searchingText)) {
|
321
|
+
matchedIndexes.push(index);
|
312
322
|
}
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
323
|
+
});
|
324
|
+
}
|
325
|
+
else {
|
326
|
+
this.columns.forEach((column, index) => {
|
327
|
+
if (this.compareWords(column, searchingText)) {
|
328
|
+
matchedIndexes.push(index);
|
318
329
|
}
|
319
|
-
|
320
|
-
|
330
|
+
});
|
331
|
+
}
|
332
|
+
return matchedIndexes;
|
333
|
+
}
|
334
|
+
getNewSelectedIndex(matchedIndexes, hitEnter) {
|
335
|
+
if (matchedIndexes.length === 0)
|
336
|
+
return -1;
|
337
|
+
if (hitEnter) {
|
338
|
+
for (const index of matchedIndexes) {
|
339
|
+
if (index > this._selectedIndex) {
|
340
|
+
return index;
|
321
341
|
}
|
322
342
|
}
|
343
|
+
}
|
344
|
+
return matchedIndexes[0];
|
345
|
+
}
|
346
|
+
updateOrderListSelection(newSelected) {
|
347
|
+
if (newSelected === -1) {
|
348
|
+
this._orderList.removeSelection();
|
349
|
+
return;
|
350
|
+
}
|
351
|
+
this._orderList.getList().then((orderListDatasource) => {
|
352
|
+
const selectedColumn = orderListDatasource[newSelected];
|
353
|
+
if (selectedColumn) {
|
354
|
+
this._orderList.setSelection(selectedColumn, true);
|
355
|
+
}
|
323
356
|
else {
|
324
357
|
this._orderList.removeSelection();
|
325
358
|
}
|
359
|
+
});
|
360
|
+
}
|
361
|
+
updateColumnListSelection(newSelected) {
|
362
|
+
if (newSelected === -1) {
|
363
|
+
this._columnList.removeSelection();
|
364
|
+
return;
|
326
365
|
}
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
if (matchedIndexes.length > 0) {
|
336
|
-
if (hitEnter) {
|
337
|
-
for (let j = 0; j < matchedIndexes.length; j++) {
|
338
|
-
if (matchedIndexes[j] > this._selectedIndex) {
|
339
|
-
newSelected = matchedIndexes[j];
|
340
|
-
break;
|
341
|
-
}
|
342
|
-
}
|
343
|
-
}
|
344
|
-
if (newSelected === -1) {
|
345
|
-
newSelected = matchedIndexes[0];
|
346
|
-
}
|
347
|
-
}
|
348
|
-
this._selectedIndex = newSelected;
|
349
|
-
let selectedColumn = this.columns[newSelected];
|
350
|
-
if (selectedColumn) {
|
351
|
-
const listItem = this._columListItems.map(group => group.items).flat().find(item => item.label === selectedColumn.label);
|
352
|
-
if (listItem)
|
353
|
-
this._columnList.setSelection(listItem, true);
|
354
|
-
}
|
355
|
-
else {
|
356
|
-
this._columnList.removeSelection();
|
357
|
-
}
|
366
|
+
const selectedColumn = this.columns[newSelected];
|
367
|
+
if (selectedColumn) {
|
368
|
+
const listItem = this._columListItems
|
369
|
+
.map(group => group.items)
|
370
|
+
.flat()
|
371
|
+
.find(item => item.label === selectedColumn.label);
|
372
|
+
if (listItem) {
|
373
|
+
this._columnList.setSelection(listItem, true);
|
358
374
|
}
|
359
375
|
else {
|
360
376
|
this._columnList.removeSelection();
|
361
377
|
}
|
362
378
|
}
|
379
|
+
else {
|
380
|
+
this._columnList.removeSelection();
|
381
|
+
}
|
382
|
+
}
|
383
|
+
removeSelection() {
|
384
|
+
if (this.selectedIndex === 1) {
|
385
|
+
this._orderList.removeSelection();
|
386
|
+
}
|
387
|
+
else {
|
388
|
+
this._columnList.removeSelection();
|
389
|
+
}
|
363
390
|
}
|
364
391
|
compareWords(column, searchingText) {
|
365
392
|
var _a, _b;
|
@@ -493,26 +520,6 @@ export class SnkGridConfig {
|
|
493
520
|
"reflect": false,
|
494
521
|
"defaultValue": "0"
|
495
522
|
},
|
496
|
-
"application": {
|
497
|
-
"type": "unknown",
|
498
|
-
"mutable": false,
|
499
|
-
"complexType": {
|
500
|
-
"original": "SnkApplication",
|
501
|
-
"resolved": "SnkApplication",
|
502
|
-
"references": {
|
503
|
-
"SnkApplication": {
|
504
|
-
"location": "import",
|
505
|
-
"path": "../../../snk-application/snk-application"
|
506
|
-
}
|
507
|
-
}
|
508
|
-
},
|
509
|
-
"required": false,
|
510
|
-
"optional": false,
|
511
|
-
"docs": {
|
512
|
-
"tags": [],
|
513
|
-
"text": "Refer\u00EAncia para o SnkApplication"
|
514
|
-
}
|
515
|
-
},
|
516
523
|
"columns": {
|
517
524
|
"type": "unknown",
|
518
525
|
"mutable": true,
|