@sankhyalabs/sankhyablocks 10.1.0-dev.5 → 10.1.0-dev.50
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/LICENSE +4 -1
- package/dist/cjs/{ConfigStorage-72f34bd4.js → ConfigStorage-a1fab5ca.js} +19 -2
- package/dist/cjs/ContinuousInsertUtils-1ae0c6ac.js +41 -0
- package/dist/cjs/{DataFetcher-991b0349.js → DataFetcher-384d2ce8.js} +2 -2751
- package/dist/cjs/{FormConfigHelper-e253a418.js → FormConfigHelper-28fe4668.js} +3 -1
- package/dist/cjs/{ISave-ebf6b4ed.js → ISave-ecbe9336.js} +1 -1
- package/dist/cjs/ImageUtils-d6139911.js +144 -0
- package/dist/cjs/{PersonalizedFilterUtils-7259cf65.js → PersonalizedFilterUtils-eccb267a.js} +13 -0
- package/dist/cjs/{SnkFormConfigManager-cdbb29d4.js → SnkFormConfigManager-44386305.js} +5 -5
- package/dist/cjs/SnkMessageBuilder-a9300ebe.js +2833 -0
- package/dist/cjs/{SnkMultiSelectionListDataSource-011bec79.js → SnkMultiSelectionListDataSource-293bc3d2.js} +61 -47
- package/dist/cjs/{auth-fetcher-c3cac878.js → auth-fetcher-6b134ec4.js} +1 -1
- package/dist/cjs/config-header.cjs.entry.js +1 -1
- package/dist/cjs/configs-button.cjs.entry.js +1 -1
- package/dist/cjs/css-shim-a27d231b.js +6 -0
- package/dist/cjs/{dataunit-fetcher-8bf469e7.js → dataunit-fetcher-b9822794.js} +66 -6
- package/dist/cjs/dom-ff96a4bc.js +75 -0
- package/dist/cjs/field-config_2.cjs.entry.js +3 -3
- package/dist/cjs/fields-layout.cjs.entry.js +6 -6
- package/dist/cjs/fields-selector.cjs.entry.js +3 -3
- package/dist/cjs/{form-config-fetcher-c7af90d8.js → form-config-fetcher-45d1964c.js} +19 -1
- package/dist/cjs/guides-configurator.cjs.entry.js +3 -3
- package/dist/cjs/{index-1cf293c1.js → index-1894343a.js} +1529 -177
- package/dist/cjs/{index-13d05f03.js → index-f0fe7e6e.js} +90 -21
- package/dist/cjs/loader.cjs.js +16 -2
- package/dist/cjs/pesquisa-grid_2.cjs.entry.js +6 -5
- package/dist/cjs/sankhyablocks.cjs.js +132 -4
- package/dist/cjs/shadow-css-7e3e0ab1.js +389 -0
- package/dist/cjs/snk-actions-button_9.cjs.entry.js +166 -116
- package/dist/cjs/snk-actions-form.cjs.entry.js +1 -1
- package/dist/cjs/snk-application.cjs.entry.js +29 -9
- package/dist/cjs/snk-attach.cjs.entry.js +63 -25
- package/dist/cjs/snk-client-confirm.cjs.entry.js +1 -1
- package/dist/cjs/snk-configurator.cjs.entry.js +3 -1
- package/dist/cjs/snk-crud.cjs.entry.js +350 -109
- package/dist/cjs/snk-custom-slot-elements.cjs.entry.js +1 -1
- package/dist/cjs/snk-custom-slot-guide.cjs.entry.js +40 -0
- package/dist/cjs/snk-data-exporter.cjs.entry.js +9 -7
- package/dist/cjs/{snk-data-unit-7d587ad5.js → snk-data-unit-4b6dc396.js} +21 -12
- package/dist/cjs/snk-data-unit.cjs.entry.js +5 -4
- package/dist/cjs/snk-default-filter.cjs.entry.js +1 -1
- package/dist/cjs/snk-detail-view.cjs.entry.js +19 -20
- package/dist/cjs/snk-entity-list.cjs.entry.js +1 -1
- package/dist/cjs/snk-entity-search.cjs.entry.js +211 -0
- package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +2 -2
- package/dist/cjs/snk-expression-group_2.cjs.entry.js +2 -2
- package/dist/cjs/{snk-filter-advanced-mode_2.cjs.entry.js → snk-filter-advanced-mode_3.cjs.entry.js} +41 -3
- package/dist/cjs/snk-filter-bar_4.cjs.entry.js +147 -94
- package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
- package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +1 -1
- package/dist/cjs/snk-filter-detail.cjs.entry.js +3 -3
- package/dist/cjs/snk-filter-field-search_2.cjs.entry.js +2 -2
- package/dist/cjs/snk-filter-modal-item.cjs.entry.js +5 -4
- package/dist/cjs/snk-filter-multi-select.cjs.entry.js +1 -1
- package/dist/cjs/snk-filter-number.cjs.entry.js +11 -7
- package/dist/cjs/snk-filter-period.cjs.entry.js +14 -7
- package/dist/cjs/snk-filter-search.cjs.entry.js +1 -1
- package/dist/cjs/snk-filter-text.cjs.entry.js +2 -2
- package/dist/cjs/snk-form-summary.cjs.entry.js +1 -1
- package/dist/cjs/snk-form-view.cjs.entry.js +70 -8
- package/dist/cjs/snk-form_2.cjs.entry.js +22 -11
- package/dist/cjs/snk-grid.cjs.entry.js +67 -34
- package/dist/cjs/{snk-guides-viewer-366d5c32.js → snk-guides-viewer-b4ca3437.js} +78 -214
- package/dist/cjs/snk-guides-viewer.cjs.entry.js +11 -18
- package/dist/cjs/snk-image-input.cjs.entry.js +160 -0
- package/dist/cjs/snk-layout-form-config.cjs.entry.js +72 -0
- package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +1 -1
- package/dist/cjs/snk-personalized-filter.cjs.entry.js +8 -7
- package/dist/cjs/snk-pesquisa.cjs.entry.js +6 -6
- package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
- package/dist/cjs/snk-simple-crud.cjs.entry.js +30 -35
- package/dist/cjs/snk-taskbar.cjs.entry.js +183 -126
- package/dist/cjs/{sortable.esm-9a110bb7.js → sortable.esm-b87669ab.js} +76 -90
- package/dist/cjs/taskbar-elements-80eddec8.js +152 -0
- package/dist/cjs/teste-pesquisa.cjs.entry.js +1 -1
- package/dist/collection/collection-manifest.json +9 -0
- package/dist/collection/components/snk-actions-button/actions/executor/launch-screen.executor.js +6 -3
- package/dist/collection/components/snk-actions-button/snk-actions-button.js +27 -3
- package/dist/collection/components/snk-application/errorhandler/snk-error-handler.js +1 -0
- package/dist/collection/components/snk-application/snk-application.js +20 -2
- package/dist/collection/components/snk-attach/snk-attach.css +29 -7
- package/dist/collection/components/snk-attach/snk-attach.js +94 -19
- package/dist/collection/components/snk-configurator/snk-configurator.js +2 -0
- package/dist/collection/components/snk-crud/snk-crud.css +50 -0
- package/dist/collection/components/snk-crud/snk-crud.js +165 -98
- package/dist/collection/components/snk-crud/subcomponents/GuideBuilder.js +1 -1
- package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +5 -5
- package/dist/collection/components/snk-crud/subcomponents/snk-entity-search.css +17 -0
- package/dist/collection/components/snk-crud/subcomponents/snk-entity-search.js +330 -0
- package/dist/collection/components/snk-crud/subcomponents/snk-form-view.js +90 -8
- package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +22 -8
- package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +90 -205
- package/dist/collection/components/snk-crud/utils/taskbarUtils.js +144 -0
- package/dist/collection/components/snk-custom-slot-guide/snk-custom-slot-guide.css +3 -0
- package/dist/collection/components/snk-custom-slot-guide/snk-custom-slot-guide.js +95 -0
- package/dist/collection/components/snk-data-exporter/exporter-email-sender/snk-exporter-email-sender.js +1 -1
- package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +20 -1
- package/dist/collection/components/snk-data-unit/snk-data-unit.js +9 -0
- package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-number.js +13 -9
- package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-period.js +14 -7
- package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-text.js +1 -1
- package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +1 -1
- package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.css +5 -1
- package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +28 -2
- package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +7 -1
- package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +22 -8
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +1 -6
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +166 -78
- package/dist/collection/components/snk-form-config/FormConfigHelper.js +3 -1
- package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +3 -3
- package/dist/collection/components/snk-form-config/field-item/field-config/field-config.css +1 -0
- package/dist/collection/components/snk-form-config/fields-layout/fields-layout.css +16 -0
- package/dist/collection/components/snk-form-config/fields-layout/fields-layout.js +4 -4
- package/dist/collection/components/snk-form-config/guides-configurator/guides-configurator.css +3 -4
- package/dist/collection/components/snk-form-config/guides-configurator/guides-configurator.js +2 -2
- package/dist/collection/components/snk-form-config/snk-form-config.js +15 -5
- package/dist/collection/components/snk-grid/snk-grid.css +24 -3
- package/dist/collection/components/snk-grid/snk-grid.js +174 -22
- package/dist/collection/components/snk-grid-config/snk-grid-config.js +153 -51
- package/dist/collection/components/snk-image-input/snk-image-input.css +3 -0
- package/dist/collection/components/snk-image-input/snk-image-input.js +338 -0
- package/dist/collection/components/snk-image-input/utils/ImageUtils.js +135 -0
- package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.js +1 -1
- package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.js +1 -1
- package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +1 -1
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/utils/PersonalizedFilterUtils.js +13 -0
- package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +0 -4
- package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +35 -23
- package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.css +8 -0
- package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +38 -2
- package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +54 -37
- package/dist/collection/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.js +27 -1
- package/dist/collection/components/snk-taskbar/processor/simple-taskbar-processor.js +55 -0
- package/dist/collection/components/snk-taskbar/snk-taskbar.css +44 -1
- package/dist/collection/components/snk-taskbar/snk-taskbar.js +248 -132
- package/dist/collection/components/snk-taskbar/subcomponents/snk-taskbar-skeleton.css +12 -0
- package/dist/collection/components/snk-taskbar/subcomponents/snk-taskbar-skeleton.js +19 -0
- package/dist/collection/lib/configs/ConfigStorage.js +5 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +40 -3
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.js +24 -2
- package/dist/collection/lib/http/data-fetcher/fetchers/grid-config-fetcher.js +12 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/resource-fetcher.js +18 -0
- package/dist/collection/lib/message/SnkMessageBuilder.js +11 -2
- package/dist/collection/lib/message/messageResourceEnUSUtils.js +2 -0
- package/dist/collection/lib/message/messageResourceEsESUtils.js +2 -0
- package/dist/collection/lib/message/messageResourcePtBRUtils.js +2 -0
- package/dist/collection/lib/message/resources/en-us/snk-crud.msg.js +9 -1
- package/dist/collection/lib/message/resources/en-us/snk-form.msg.js +1 -0
- package/dist/collection/lib/message/resources/en-us/snk-image-input.msg.js +11 -0
- package/dist/collection/lib/message/resources/en-us/snk-layout-form-config.msg.js +10 -2
- package/dist/collection/lib/message/resources/es-es/snk-crud.msg.js +9 -1
- package/dist/collection/lib/message/resources/es-es/snk-form.msg.js +1 -0
- package/dist/collection/lib/message/resources/es-es/snk-image-input.msg.js +11 -0
- package/dist/collection/lib/message/resources/es-es/snk-layout-form-config.msg.js +8 -0
- package/dist/collection/lib/message/resources/pt-br/snk-configurator.msg.js +1 -1
- package/dist/collection/lib/message/resources/pt-br/snk-crud.msg.js +9 -1
- package/dist/collection/lib/message/resources/pt-br/snk-form.msg.js +1 -0
- package/dist/collection/lib/message/resources/pt-br/snk-image-input.msg.js +11 -0
- package/dist/collection/lib/message/resources/pt-br/snk-layout-form-config.msg.js +10 -2
- package/dist/components/ConfigStorage.js +17 -0
- package/dist/components/ContinuousInsertUtils.js +1 -1
- package/dist/components/DataFetcher.js +3 -2731
- package/dist/components/PersonalizedFilterUtils.js +13 -0
- package/dist/components/SnkFormConfigManager.js +3 -3
- package/dist/components/SnkMessageBuilder.js +2831 -0
- package/dist/components/dataunit-fetcher.js +65 -5
- package/dist/components/field-config2.js +4 -2
- package/dist/components/fields-layout2.js +4 -4
- package/dist/components/form-config-fetcher.js +18 -0
- package/dist/components/guides-configurator2.js +2 -2
- package/dist/components/index.d.ts +4 -0
- package/dist/components/index.js +4 -0
- package/dist/components/index2.js +90 -21
- package/dist/components/snk-actions-button2.js +12 -6
- package/dist/components/snk-application2.js +22 -2
- package/dist/components/snk-attach2.js +70 -28
- package/dist/components/snk-configurator2.js +2 -0
- package/dist/components/snk-crud.js +433 -176
- package/dist/components/snk-custom-slot-guide.d.ts +11 -0
- package/dist/components/snk-custom-slot-guide.js +55 -0
- package/dist/components/snk-data-exporter2.js +3 -1
- package/dist/components/snk-data-unit2.js +10 -1
- package/dist/components/snk-detail-view2.js +213 -318
- package/dist/components/snk-entity-search.d.ts +11 -0
- package/dist/components/snk-entity-search.js +6 -0
- package/dist/components/snk-entity-search2.js +231 -0
- package/dist/components/snk-exporter-email-sender2.js +1 -1
- package/dist/components/snk-filter-bar2.js +116 -80
- package/dist/components/snk-filter-detail2.js +1 -1
- package/dist/components/snk-filter-item2.js +9 -3
- package/dist/components/snk-filter-modal2.js +22 -9
- package/dist/components/snk-filter-number.js +12 -8
- package/dist/components/snk-filter-period.js +13 -6
- package/dist/components/snk-filter-text.js +1 -1
- package/dist/components/snk-form-config2.js +15 -5
- package/dist/components/snk-form-view2.js +79 -10
- package/dist/components/snk-grid-config2.js +109 -50
- package/dist/components/snk-grid2.js +107 -63
- package/dist/components/snk-image-input.d.ts +11 -0
- package/dist/components/snk-image-input.js +6 -0
- package/dist/components/snk-image-input2.js +316 -0
- package/dist/components/snk-layout-form-config2.js +1 -1
- package/dist/components/snk-personalized-filter2.js +1 -1
- package/dist/components/snk-pesquisa2.js +0 -1
- package/dist/components/snk-simple-crud2.js +47 -46
- package/dist/components/snk-taskbar-skeleton.d.ts +11 -0
- package/dist/components/snk-taskbar-skeleton.js +6 -0
- package/dist/components/snk-taskbar-skeleton2.js +29 -0
- package/dist/components/snk-taskbar2.js +256 -176
- package/dist/components/snk-view-representation2.js +1 -1
- package/dist/components/sortable.esm.js +76 -90
- package/dist/components/taskbar-actions-button2.js +21 -2
- package/dist/components/taskbar-split-button2.js +10 -1
- package/dist/esm/{ConfigStorage-22324b6b.js → ConfigStorage-76872695.js} +19 -2
- package/dist/esm/ContinuousInsertUtils-bce77dc1.js +39 -0
- package/dist/esm/{DataFetcher-450828a0.js → DataFetcher-e60f8d53.js} +3 -2731
- package/dist/esm/{FormConfigHelper-e89ca25c.js → FormConfigHelper-d09669f3.js} +3 -1
- package/dist/esm/{ISave-61153166.js → ISave-4929c071.js} +1 -1
- package/dist/esm/ImageUtils-efbea0e4.js +138 -0
- package/dist/esm/{PersonalizedFilterUtils-2db38ff2.js → PersonalizedFilterUtils-d2439a9a.js} +13 -0
- package/dist/esm/{SnkFormConfigManager-b5a92e12.js → SnkFormConfigManager-83f6b22f.js} +5 -5
- package/dist/esm/SnkMessageBuilder-1eb7a1af.js +2831 -0
- package/dist/esm/{SnkMultiSelectionListDataSource-d7ce2e54.js → SnkMultiSelectionListDataSource-f6cabd15.js} +55 -41
- package/dist/esm/{auth-fetcher-eef9d01e.js → auth-fetcher-1a31c1e4.js} +1 -1
- package/dist/esm/config-header.entry.js +1 -1
- package/dist/esm/configs-button.entry.js +1 -1
- package/dist/esm/css-shim-9f2d321e.js +4 -0
- package/dist/esm/{dataunit-fetcher-da9596f6.js → dataunit-fetcher-c176e002.js} +65 -5
- package/dist/esm/dom-64053c71.js +73 -0
- package/dist/esm/field-config_2.entry.js +3 -3
- package/dist/esm/fields-layout.entry.js +6 -6
- package/dist/esm/fields-selector.entry.js +3 -3
- package/dist/esm/{form-config-fetcher-8d0a5e1c.js → form-config-fetcher-b44b2727.js} +19 -1
- package/dist/esm/guides-configurator.entry.js +3 -3
- package/dist/esm/{index-479e1293.js → index-04f73a26.js} +1521 -177
- package/dist/esm/{index-446f9341.js → index-ea250be6.js} +90 -21
- package/dist/esm/loader.js +17 -3
- package/dist/esm/pesquisa-grid_2.entry.js +6 -5
- package/dist/esm/sankhyablocks.js +133 -5
- package/dist/esm/shadow-css-98135883.js +387 -0
- package/dist/esm/snk-actions-button_9.entry.js +167 -117
- package/dist/esm/snk-actions-form.entry.js +1 -1
- package/dist/esm/snk-application.entry.js +28 -8
- package/dist/esm/snk-attach.entry.js +62 -24
- package/dist/esm/snk-client-confirm.entry.js +1 -1
- package/dist/esm/snk-configurator.entry.js +3 -1
- package/dist/esm/snk-crud.entry.js +342 -101
- package/dist/esm/snk-custom-slot-elements.entry.js +1 -1
- package/dist/esm/snk-custom-slot-guide.entry.js +36 -0
- package/dist/esm/snk-data-exporter.entry.js +9 -7
- package/dist/esm/{snk-data-unit-99616a07.js → snk-data-unit-d8cfa950.js} +12 -3
- package/dist/esm/snk-data-unit.entry.js +5 -4
- package/dist/esm/snk-default-filter.entry.js +1 -1
- package/dist/esm/snk-detail-view.entry.js +17 -18
- package/dist/esm/snk-entity-list.entry.js +1 -1
- package/dist/esm/snk-entity-search.entry.js +207 -0
- package/dist/esm/snk-exporter-email-sender.entry.js +2 -2
- package/dist/esm/snk-expression-group_2.entry.js +2 -2
- package/dist/esm/{snk-filter-advanced-mode_2.entry.js → snk-filter-advanced-mode_3.entry.js} +41 -4
- package/dist/esm/snk-filter-bar_4.entry.js +148 -95
- package/dist/esm/snk-filter-binary-select.entry.js +1 -1
- package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
- package/dist/esm/snk-filter-detail.entry.js +3 -3
- package/dist/esm/snk-filter-field-search_2.entry.js +2 -2
- package/dist/esm/snk-filter-modal-item.entry.js +5 -4
- package/dist/esm/snk-filter-multi-select.entry.js +1 -1
- package/dist/esm/snk-filter-number.entry.js +11 -7
- package/dist/esm/snk-filter-period.entry.js +14 -7
- package/dist/esm/snk-filter-search.entry.js +1 -1
- package/dist/esm/snk-filter-text.entry.js +2 -2
- package/dist/esm/snk-form-summary.entry.js +1 -1
- package/dist/esm/snk-form-view.entry.js +71 -9
- package/dist/esm/snk-form_2.entry.js +22 -11
- package/dist/esm/snk-grid.entry.js +64 -31
- package/dist/esm/{snk-guides-viewer-240de636.js → snk-guides-viewer-cc37535b.js} +79 -215
- package/dist/esm/snk-guides-viewer.entry.js +11 -18
- package/dist/esm/snk-image-input.entry.js +156 -0
- package/dist/esm/snk-layout-form-config.entry.js +68 -0
- package/dist/esm/snk-personalized-filter-editor.entry.js +1 -1
- package/dist/esm/snk-personalized-filter.entry.js +8 -7
- package/dist/esm/snk-pesquisa.entry.js +6 -6
- package/dist/esm/snk-print-selector.entry.js +1 -1
- package/dist/esm/snk-simple-crud.entry.js +28 -33
- package/dist/esm/snk-taskbar.entry.js +184 -127
- package/dist/esm/{sortable.esm-842f85a3.js → sortable.esm-bc277c12.js} +76 -90
- package/dist/esm/taskbar-elements-63651ca7.js +149 -0
- package/dist/esm/teste-pesquisa.entry.js +1 -1
- package/dist/sankhyablocks/{p-7f7fe6c4.entry.js → p-0a160fb5.entry.js} +1 -1
- package/dist/sankhyablocks/p-0afc64df.entry.js +1 -0
- package/dist/sankhyablocks/p-10f27dc6.entry.js +1 -0
- package/dist/sankhyablocks/p-134702f6.entry.js +1 -0
- package/dist/sankhyablocks/{p-162bddae.entry.js → p-175c9576.entry.js} +1 -1
- package/dist/sankhyablocks/p-20f03230.entry.js +1 -0
- package/dist/sankhyablocks/p-26f1919e.entry.js +1 -0
- package/dist/sankhyablocks/p-2af8aca3.js +1 -0
- package/dist/sankhyablocks/p-2c9d0870.js +2 -0
- package/dist/sankhyablocks/{p-cb4343c4.entry.js → p-2cc2526e.entry.js} +1 -1
- package/dist/sankhyablocks/{p-75af335e.entry.js → p-2ebda226.entry.js} +1 -1
- package/dist/sankhyablocks/p-3072136e.js +1 -0
- package/dist/sankhyablocks/p-33492640.entry.js +1 -0
- package/dist/sankhyablocks/{p-002d4d2b.js → p-3704bf1b.js} +1 -1
- package/dist/sankhyablocks/p-3870748a.js +28 -0
- package/dist/sankhyablocks/p-3a35917e.entry.js +1 -0
- package/dist/sankhyablocks/{p-7d6f1285.js → p-3c990841.js} +2 -2
- package/dist/sankhyablocks/{p-49ddc27a.entry.js → p-438a225f.entry.js} +1 -1
- package/dist/sankhyablocks/p-4d04bc75.entry.js +1 -0
- package/dist/sankhyablocks/{p-840fb68c.js → p-4f7adf97.js} +2 -2
- package/dist/sankhyablocks/p-554c0e54.js +1 -0
- package/dist/sankhyablocks/{p-27482793.entry.js → p-5aae5c74.entry.js} +1 -1
- package/dist/sankhyablocks/p-68c1a093.js +1 -0
- package/dist/sankhyablocks/p-6ae7543b.entry.js +1 -0
- package/dist/sankhyablocks/p-6e278003.js +60 -0
- package/dist/sankhyablocks/{p-825098c1.entry.js → p-752c57f4.entry.js} +1 -1
- package/dist/sankhyablocks/{p-e258de96.entry.js → p-76729994.entry.js} +1 -1
- package/dist/sankhyablocks/p-771b137e.js +1 -0
- package/dist/sankhyablocks/p-77f608bc.entry.js +1 -0
- package/dist/sankhyablocks/p-7ad91135.entry.js +1 -0
- package/dist/sankhyablocks/p-82bcb4cf.entry.js +1 -0
- package/dist/sankhyablocks/p-855ccf64.entry.js +1 -0
- package/dist/sankhyablocks/{p-118c221e.js → p-8b4d6719.js} +1 -1
- package/dist/sankhyablocks/{p-3d41f5a8.entry.js → p-8d946600.entry.js} +1 -1
- package/dist/sankhyablocks/p-8fe740b7.entry.js +11 -0
- package/dist/sankhyablocks/{p-96d45943.entry.js → p-90ae6c2e.entry.js} +1 -1
- package/dist/sankhyablocks/p-95af0bb1.entry.js +1 -0
- package/dist/sankhyablocks/{p-0b9a42ad.entry.js → p-9742ea0e.entry.js} +1 -1
- package/dist/sankhyablocks/{p-2fdac5e6.entry.js → p-9e109f5e.entry.js} +1 -1
- package/dist/sankhyablocks/p-9e77e136.js +1 -0
- package/dist/sankhyablocks/p-9e7dc97d.entry.js +1 -0
- package/dist/sankhyablocks/p-a2a9f520.entry.js +1 -0
- package/dist/sankhyablocks/p-a46ac091.js +1 -0
- package/dist/sankhyablocks/p-a73b6b00.js +1 -0
- package/dist/sankhyablocks/p-a905712a.entry.js +1 -0
- package/dist/sankhyablocks/{p-92cfc028.js → p-ab5e12fa.js} +1 -1
- package/dist/sankhyablocks/{p-180716b2.entry.js → p-ae326d06.entry.js} +1 -1
- package/dist/sankhyablocks/p-af673291.js +1 -0
- package/dist/sankhyablocks/p-aff2d081.entry.js +1 -0
- package/dist/sankhyablocks/p-b0a357b4.entry.js +1 -0
- package/dist/sankhyablocks/p-b555ce38.entry.js +1 -0
- package/dist/sankhyablocks/p-bab4cde4.entry.js +1 -0
- package/dist/sankhyablocks/p-c0d6a821.entry.js +1 -0
- package/dist/sankhyablocks/p-c3ec6642.js +19 -0
- package/dist/sankhyablocks/p-ca3728c0.entry.js +1 -0
- package/dist/sankhyablocks/p-cbb8e351.js +7 -0
- package/dist/sankhyablocks/{p-c3dbf441.entry.js → p-cc64239c.entry.js} +1 -1
- package/dist/sankhyablocks/{p-471b34f4.entry.js → p-cd00a3d1.entry.js} +1 -1
- package/dist/sankhyablocks/p-ce8ccd72.entry.js +1 -0
- package/dist/sankhyablocks/{p-4c763b10.entry.js → p-d657f71f.entry.js} +1 -1
- package/dist/sankhyablocks/p-d9ec8c4b.entry.js +1 -0
- package/dist/sankhyablocks/p-da455c82.js +12 -0
- package/dist/sankhyablocks/p-e5a3711f.js +1 -0
- package/dist/sankhyablocks/{p-9a63f3f7.entry.js → p-e737fd5a.entry.js} +1 -1
- package/dist/sankhyablocks/p-e8df1dea.entry.js +1 -0
- package/dist/sankhyablocks/p-ee56dda6.entry.js +1 -0
- package/dist/sankhyablocks/p-ef9343c3.entry.js +1 -0
- package/dist/sankhyablocks/{p-667cab42.entry.js → p-f152ef98.entry.js} +1 -1
- package/dist/sankhyablocks/p-f5ad0720.js +1 -0
- package/dist/sankhyablocks/{p-7e250432.entry.js → p-f7170e10.entry.js} +1 -1
- package/dist/sankhyablocks/{p-7345782c.entry.js → p-f921270b.entry.js} +1 -1
- package/dist/sankhyablocks/p-fec88660.entry.js +1 -0
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-actions-button/snk-actions-button.d.ts +4 -0
- package/dist/types/components/snk-application/snk-application.d.ts +1 -1
- package/dist/types/components/snk-attach/snk-attach.d.ts +22 -4
- package/dist/types/components/snk-crud/snk-crud.d.ts +33 -11
- 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-entity-search.d.ts +62 -0
- package/dist/types/components/snk-crud/subcomponents/snk-form-view.d.ts +12 -0
- package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +13 -25
- package/dist/types/components/snk-crud/utils/taskbarUtils.d.ts +13 -0
- package/dist/types/components/snk-custom-slot-guide/snk-custom-slot-guide.d.ts +16 -0
- package/dist/types/components/snk-data-exporter/snk-data-exporter.d.ts +4 -0
- package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +1 -0
- package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-number.d.ts +1 -1
- package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-period.d.ts +1 -0
- package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +5 -1
- package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +2 -1
- package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +33 -16
- package/dist/types/components/snk-form-config/FormConfigHelper.d.ts +1 -1
- package/dist/types/components/snk-form-config/fields-layout/fields-layout.d.ts +2 -2
- package/dist/types/components/snk-form-config/guides-configurator/guides-configurator.d.ts +1 -1
- package/dist/types/components/snk-form-config/snk-form-config.d.ts +2 -1
- package/dist/types/components/snk-grid/snk-grid.d.ts +29 -1
- package/dist/types/components/snk-grid-config/snk-grid-config.d.ts +11 -0
- package/dist/types/components/snk-image-input/snk-image-input.d.ts +57 -0
- package/dist/types/components/snk-image-input/utils/ImageUtils.d.ts +15 -0
- package/dist/types/components/snk-personalized-filter/interfaces/IParameter.d.ts +1 -0
- package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +0 -1
- package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +4 -1
- package/dist/types/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.d.ts +6 -0
- package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +29 -2
- package/dist/types/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.d.ts +5 -0
- package/dist/types/components/snk-taskbar/processor/simple-taskbar-processor.d.ts +31 -0
- package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +32 -21
- package/dist/types/components/snk-taskbar/subcomponents/snk-taskbar-skeleton.d.ts +3 -0
- package/dist/types/components.d.ts +347 -5
- package/dist/types/lib/configs/ConfigStorage.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 -1
- package/dist/types/lib/http/data-fetcher/fetchers/grid-config-fetcher.d.ts +1 -0
- package/dist/types/lib/http/data-fetcher/fetchers/resource-fetcher.d.ts +1 -0
- package/dist/types/lib/message/resources/en-us/snk-image-input.msg.d.ts +1 -0
- package/dist/types/lib/message/resources/es-es/snk-image-input.msg.d.ts +1 -0
- package/dist/types/lib/message/resources/pt-br/snk-image-input.msg.d.ts +1 -0
- package/package.json +7 -8
- package/react/components.d.ts +4 -0
- package/react/components.js +4 -0
- package/react/components.js.map +1 -1
- package/dist/cjs/snk-simple-bar.cjs.entry.js +0 -45
- package/dist/cjs/taskbar-elements-fb5d1e08.js +0 -132
- package/dist/cjs/taskbar-processor-2fba34a8.js +0 -53
- package/dist/esm/snk-simple-bar.entry.js +0 -41
- package/dist/esm/taskbar-elements-faaf5d8f.js +0 -129
- package/dist/esm/taskbar-processor-3436124c.js +0 -51
- package/dist/sankhyablocks/p-093f58fa.entry.js +0 -1
- package/dist/sankhyablocks/p-0948dc0a.entry.js +0 -11
- package/dist/sankhyablocks/p-1a0caadb.js +0 -1
- package/dist/sankhyablocks/p-1a9c5684.entry.js +0 -1
- package/dist/sankhyablocks/p-1d589380.entry.js +0 -1
- package/dist/sankhyablocks/p-21107f0d.entry.js +0 -1
- package/dist/sankhyablocks/p-28f50632.js +0 -1
- package/dist/sankhyablocks/p-39be771c.js +0 -1
- package/dist/sankhyablocks/p-3ed04f0d.entry.js +0 -1
- package/dist/sankhyablocks/p-4963dd2a.entry.js +0 -1
- package/dist/sankhyablocks/p-51833248.js +0 -7
- package/dist/sankhyablocks/p-55798617.js +0 -1
- package/dist/sankhyablocks/p-55f6fef2.entry.js +0 -1
- package/dist/sankhyablocks/p-56f16390.entry.js +0 -1
- package/dist/sankhyablocks/p-58683e28.js +0 -60
- package/dist/sankhyablocks/p-5ea893c5.entry.js +0 -1
- package/dist/sankhyablocks/p-60dd1d27.entry.js +0 -1
- package/dist/sankhyablocks/p-62aef37a.js +0 -1
- package/dist/sankhyablocks/p-62e9b9b8.entry.js +0 -1
- package/dist/sankhyablocks/p-669bb869.entry.js +0 -1
- package/dist/sankhyablocks/p-6ee2ca7a.entry.js +0 -1
- package/dist/sankhyablocks/p-7cac3870.entry.js +0 -1
- package/dist/sankhyablocks/p-86e54841.entry.js +0 -1
- package/dist/sankhyablocks/p-88b337fe.entry.js +0 -1
- package/dist/sankhyablocks/p-91005a00.entry.js +0 -1
- package/dist/sankhyablocks/p-91a9abb6.entry.js +0 -1
- package/dist/sankhyablocks/p-988afe78.js +0 -1
- package/dist/sankhyablocks/p-ada013c0.entry.js +0 -1
- package/dist/sankhyablocks/p-b7e891cc.entry.js +0 -1
- package/dist/sankhyablocks/p-b987e15d.js +0 -1
- package/dist/sankhyablocks/p-c35fc941.js +0 -26
- package/dist/sankhyablocks/p-c4fcf1fb.entry.js +0 -1
- package/dist/sankhyablocks/p-c98c79c3.entry.js +0 -1
- package/dist/sankhyablocks/p-cadf4846.entry.js +0 -1
- package/dist/sankhyablocks/p-d8d8169b.js +0 -2
- package/dist/sankhyablocks/p-e91c3c57.entry.js +0 -1
- package/dist/sankhyablocks/p-ea729922.entry.js +0 -1
- package/dist/sankhyablocks/p-ec5fbad8.js +0 -1
- package/dist/sankhyablocks/p-f5e942b7.entry.js +0 -1
|
@@ -12,6 +12,10 @@ export class SnkTaskbar {
|
|
|
12
12
|
this.TASKBAR_ADDITIONAL_SLOT_CONTAINER_CLASS_NAME = 'taskbar-additional-slot-container';
|
|
13
13
|
this.TASKBAR_ADDITIONAL_SLOT = 'taskbar-additional-slot-container';
|
|
14
14
|
this._dataUnitInitialized = false;
|
|
15
|
+
this._permissions = {};
|
|
16
|
+
this._customElements = new Map();
|
|
17
|
+
this._customElementsId = [];
|
|
18
|
+
this._overFlowedElements = [];
|
|
15
19
|
this._titleKeyByElement = {
|
|
16
20
|
[TaskbarElement.UPDATE_MULTIPLE]: "snkTaskbar.titleUpdateMultiple",
|
|
17
21
|
[TaskbarElement.UPDATE]: "snkTaskbar.titleUpdate",
|
|
@@ -43,15 +47,9 @@ export class SnkTaskbar {
|
|
|
43
47
|
break;
|
|
44
48
|
}
|
|
45
49
|
};
|
|
46
|
-
this._permissions = undefined;
|
|
47
|
-
this._overFlowedElements = [];
|
|
48
|
-
this._customElements = undefined;
|
|
49
|
-
this._customElementsId = undefined;
|
|
50
|
-
this._slotContainer = undefined;
|
|
51
50
|
this._hiddenActionsList = [];
|
|
52
|
-
this._lastWidth = undefined;
|
|
53
|
-
this._hasToUpdateOverFlow = false;
|
|
54
51
|
this._isWaitingForSave = false;
|
|
52
|
+
this._isLoading = true;
|
|
55
53
|
this.alignRigth = false;
|
|
56
54
|
this.customSlotId = "TASKBAR_CUSTOM_ELEMENTS";
|
|
57
55
|
this.additionalSlotId = "TASKBAR_ADDITIONAL_SLOT";
|
|
@@ -63,11 +61,14 @@ export class SnkTaskbar {
|
|
|
63
61
|
this.customButtons = undefined;
|
|
64
62
|
this.actionsList = undefined;
|
|
65
63
|
this.actionsSettingsList = undefined;
|
|
64
|
+
this.customActionsList = undefined;
|
|
66
65
|
this.primaryButton = undefined;
|
|
67
66
|
this.disabledButtons = undefined;
|
|
68
67
|
this.dataUnit = undefined;
|
|
69
68
|
this.presentationMode = PresentationMode.PRIMARY;
|
|
70
69
|
this.messagesBuilder = undefined;
|
|
70
|
+
this.disableSkeleton = false;
|
|
71
|
+
this.sizeButtons = 'small';
|
|
71
72
|
}
|
|
72
73
|
handleCustomSlotElementsLoaded(event) {
|
|
73
74
|
if (this.hasToSearchCustomElements(event)) {
|
|
@@ -88,19 +89,10 @@ export class SnkTaskbar {
|
|
|
88
89
|
return this.customSlotId === event.detail && !this._slotContainer;
|
|
89
90
|
}
|
|
90
91
|
observeButtons() {
|
|
91
|
-
this.
|
|
92
|
-
requestAnimationFrame(() => {
|
|
93
|
-
requestAnimationFrame(() => { var _a; return (_a = this._overFlowWatcher) === null || _a === void 0 ? void 0 : _a.forceUpdate(); });
|
|
94
|
-
});
|
|
92
|
+
this.handleDefinitions();
|
|
95
93
|
}
|
|
96
94
|
observeDisabledButtons() {
|
|
97
|
-
|
|
98
|
-
(_a = this._overFlowWatcher) === null || _a === void 0 ? void 0 : _a.forceUpdate();
|
|
99
|
-
}
|
|
100
|
-
observeLastWidth(newValue, oldValue) {
|
|
101
|
-
if (oldValue === 0 && newValue !== 0) {
|
|
102
|
-
this._hasToUpdateOverFlow = true;
|
|
103
|
-
}
|
|
95
|
+
this.handleDefinitions();
|
|
104
96
|
}
|
|
105
97
|
observeIsWaitingForSave(newValue, oldValue) {
|
|
106
98
|
if (newValue == true && oldValue == false) {
|
|
@@ -113,7 +105,7 @@ export class SnkTaskbar {
|
|
|
113
105
|
observeDataUnit(newValue) {
|
|
114
106
|
this.initializeDataUnit(newValue);
|
|
115
107
|
}
|
|
116
|
-
initializeDataUnit(dataUnit) {
|
|
108
|
+
initializeDataUnit(dataUnit = this.dataUnit) {
|
|
117
109
|
if (!!dataUnit && !this._dataUnitInitialized) {
|
|
118
110
|
this._dataUnitInitialized = true;
|
|
119
111
|
const dataInfo = { dataUnit: this.dataUnit };
|
|
@@ -121,7 +113,6 @@ export class SnkTaskbar {
|
|
|
121
113
|
this.dataUnit.subscribe(this.onSaveEvent);
|
|
122
114
|
}
|
|
123
115
|
}
|
|
124
|
-
// Internal methods
|
|
125
116
|
elementsFromString(strButtons) {
|
|
126
117
|
const elements = [];
|
|
127
118
|
if (strButtons == null)
|
|
@@ -135,15 +126,17 @@ export class SnkTaskbar {
|
|
|
135
126
|
return elements;
|
|
136
127
|
}
|
|
137
128
|
isAllowed(buttonName) {
|
|
129
|
+
if (!this._permissions) {
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
if (this._permissions.isSup) {
|
|
133
|
+
return true;
|
|
134
|
+
}
|
|
138
135
|
if (buttonName === AuthorizationElements.CONFIGURATOR) {
|
|
139
|
-
return this._permissions
|
|
140
|
-
? this._permissions.isSup
|
|
141
|
-
|| this._permissions[AuthorizationConfig.CONFIG_GRID]
|
|
142
|
-
|| this._permissions[AuthorizationConfig.CONFIG]
|
|
143
|
-
: false;
|
|
136
|
+
return this._permissions[AuthorizationConfig.CONFIG_GRID] || this._permissions[AuthorizationConfig.CONFIG];
|
|
144
137
|
}
|
|
145
138
|
if (AuthorizationElements[buttonName]) {
|
|
146
|
-
return this._permissions
|
|
139
|
+
return this._permissions[buttonName];
|
|
147
140
|
}
|
|
148
141
|
return true;
|
|
149
142
|
}
|
|
@@ -217,32 +210,54 @@ export class SnkTaskbar {
|
|
|
217
210
|
}
|
|
218
211
|
return !(this.disabledButtons && this.disabledButtons.includes(elem));
|
|
219
212
|
}
|
|
220
|
-
validatePresentationMode() {
|
|
221
|
-
if (Object.values(PresentationMode).includes(this.presentationMode)) {
|
|
222
|
-
return;
|
|
223
|
-
}
|
|
224
|
-
this.presentationMode = PresentationMode.PRIMARY;
|
|
225
|
-
}
|
|
226
213
|
getElement(index, def) {
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
}
|
|
214
|
+
const className = {
|
|
215
|
+
"taskbar-element": true,
|
|
216
|
+
"space-between-item": index > 0
|
|
217
|
+
};
|
|
231
218
|
const taskbarElement = TaskbarElement[def.toString()];
|
|
232
219
|
const dataExporterStoreKey = this._element.dataset.exporterStoreKey || this.configName;
|
|
233
220
|
if (taskbarElement) {
|
|
234
|
-
return buildElem(
|
|
221
|
+
return buildElem({
|
|
222
|
+
element: def,
|
|
223
|
+
className,
|
|
224
|
+
dataElementId: this.getIdElemBtnNative(def),
|
|
225
|
+
getTitle: elem => this.getTitle(elem),
|
|
226
|
+
action: elem => this.elementClick(elem),
|
|
227
|
+
isEnabled: elem => this.isEnabled(elem),
|
|
228
|
+
actions: def !== TaskbarElement.CONFIGURATOR ? this.buildDynamicActionsList() : this.buildActionsSettingsList(),
|
|
229
|
+
dataExporterStoreKey,
|
|
230
|
+
presentationMode: this.presentationMode,
|
|
231
|
+
variant: def === this.primaryButton ? "primary" : "secondary",
|
|
232
|
+
size: this.sizeButtons,
|
|
233
|
+
});
|
|
235
234
|
}
|
|
236
235
|
else {
|
|
237
|
-
return buildCustomButton(
|
|
236
|
+
return buildCustomButton({
|
|
237
|
+
def: def,
|
|
238
|
+
className,
|
|
239
|
+
dataElementId: this.getIdElemBtnCustom(def),
|
|
240
|
+
action: elem => this.elementClick(elem),
|
|
241
|
+
isEnabled: elem => this.isEnabled(elem),
|
|
242
|
+
size: this.sizeButtons
|
|
243
|
+
});
|
|
238
244
|
}
|
|
239
245
|
}
|
|
246
|
+
buildDivider() {
|
|
247
|
+
return { value: '', label: '', type: 'divider' };
|
|
248
|
+
}
|
|
240
249
|
buildDynamicActionsList() {
|
|
241
|
-
var _a;
|
|
250
|
+
var _a, _b;
|
|
251
|
+
const customActions = [...((_a = this.customActionsList) !== null && _a !== void 0 ? _a : [])].filter(a => a !== undefined);
|
|
252
|
+
const defaultActionsList = [...((_b = this.actionsList) !== null && _b !== void 0 ? _b : [])].filter(a => a !== undefined);
|
|
253
|
+
if (customActions.length > 0 && defaultActionsList.length > 0) {
|
|
254
|
+
customActions.push(this.buildDivider());
|
|
255
|
+
}
|
|
256
|
+
const combinedList = [...customActions, ...defaultActionsList];
|
|
242
257
|
if (this._hiddenActionsList.length) {
|
|
243
|
-
return [...
|
|
258
|
+
return [...combinedList, ...this._hiddenActionsList];
|
|
244
259
|
}
|
|
245
|
-
return
|
|
260
|
+
return combinedList;
|
|
246
261
|
}
|
|
247
262
|
buildActionsSettingsList() {
|
|
248
263
|
return this.actionsSettingsList;
|
|
@@ -312,38 +327,12 @@ export class SnkTaskbar {
|
|
|
312
327
|
else {
|
|
313
328
|
slotContainer = this._element.querySelector(`#${this.customSlotId}`);
|
|
314
329
|
}
|
|
315
|
-
// Caso
|
|
330
|
+
// Caso não encontre o slot container dentro do próprio elemento, tenta buscar na DOM do document.
|
|
316
331
|
if (searchOnDocument && !slotContainer) {
|
|
317
332
|
slotContainer = document.querySelector(`#${this.customSlotId}`);
|
|
318
333
|
}
|
|
319
334
|
return slotContainer;
|
|
320
335
|
}
|
|
321
|
-
componentWillLoad() {
|
|
322
|
-
this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
|
|
323
|
-
if (this._application) {
|
|
324
|
-
this._application.getAllAccess(this.resourceID).then(access => this._permissions = access);
|
|
325
|
-
}
|
|
326
|
-
else {
|
|
327
|
-
this._permissions = {};
|
|
328
|
-
}
|
|
329
|
-
this.getCustomElements();
|
|
330
|
-
}
|
|
331
|
-
componentWillRender() {
|
|
332
|
-
this.handleDefinitions();
|
|
333
|
-
this.validatePresentationMode();
|
|
334
|
-
this.updateOverFlowIfNeeded();
|
|
335
|
-
}
|
|
336
|
-
handleDefinitions() {
|
|
337
|
-
if (this._definitions == undefined && this._permissions) {
|
|
338
|
-
this._definitions = this.elementsFromString(this.buttons);
|
|
339
|
-
}
|
|
340
|
-
}
|
|
341
|
-
updateOverFlowIfNeeded() {
|
|
342
|
-
if (this._hasToUpdateOverFlow) {
|
|
343
|
-
requestAnimationFrame(() => { var _a; return (_a = this._overFlowWatcher) === null || _a === void 0 ? void 0 : _a.forceUpdate(); });
|
|
344
|
-
this._hasToUpdateOverFlow = false;
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
336
|
handleOverFlow(overFlowingElements) {
|
|
348
337
|
const elementsToHandle = overFlowingElements.filter(element => !this.hasToIgnoreOverFlow(element));
|
|
349
338
|
this.resetOverFlowedElements();
|
|
@@ -363,28 +352,38 @@ export class SnkTaskbar {
|
|
|
363
352
|
this.addItemToActionList(element);
|
|
364
353
|
});
|
|
365
354
|
}
|
|
355
|
+
getAttributeFromName(element, attributeName) {
|
|
356
|
+
var _a;
|
|
357
|
+
if (!element) {
|
|
358
|
+
console.warn(`[snk-taskbar] Tentativa de acessar atributo "${attributeName}" em elemento nulo.`);
|
|
359
|
+
return "";
|
|
360
|
+
}
|
|
361
|
+
let attributeValue = element.getAttribute(attributeName);
|
|
362
|
+
if (!attributeValue && ((_a = element.tagName) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === 'ez-tooltip') {
|
|
363
|
+
const innerButton = element.querySelector('ez-button');
|
|
364
|
+
if (innerButton) {
|
|
365
|
+
attributeValue = innerButton.getAttribute(attributeName);
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
return attributeValue !== null && attributeValue !== void 0 ? attributeValue : "";
|
|
369
|
+
}
|
|
366
370
|
addItemToActionList(element) {
|
|
367
|
-
const taskbarElement = this.
|
|
371
|
+
const taskbarElement = this.getAttributeFromName(element, 'data-taskbar-element');
|
|
368
372
|
if (taskbarElement && this.isEnabled(taskbarElement) && this.isAllowed(taskbarElement)) {
|
|
369
373
|
const optionItem = {
|
|
370
374
|
value: taskbarElement,
|
|
371
|
-
label: this.
|
|
372
|
-
iconName: this.
|
|
375
|
+
label: this.getAttributeFromName(element, 'data-taskbar-label'),
|
|
376
|
+
iconName: this.getIconName(element)
|
|
373
377
|
};
|
|
374
378
|
this._hiddenActionsList.push(optionItem);
|
|
375
379
|
}
|
|
376
380
|
}
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
return (_a = element.getAttribute('data-taskbar-icon')) !== null && _a !== void 0 ? _a : "";
|
|
384
|
-
}
|
|
385
|
-
getTaskbarElementLabel(element) {
|
|
386
|
-
var _a;
|
|
387
|
-
return (_a = element.getAttribute('data-taskbar-label')) !== null && _a !== void 0 ? _a : "";
|
|
381
|
+
getIconName(element) {
|
|
382
|
+
const taskbarElement = this.getAttributeFromName(element, 'data-taskbar-element');
|
|
383
|
+
if (taskbarElement === TaskbarElement.INSERT) {
|
|
384
|
+
return "plus";
|
|
385
|
+
}
|
|
386
|
+
return this.getAttributeFromName(element, 'data-taskbar-icon');
|
|
388
387
|
}
|
|
389
388
|
hasToIgnoreOverFlow(element) {
|
|
390
389
|
return element.classList.contains(this.TASKBAR_CUSTOM_ELEMENTS_CONTAINER_CLASS_NAME) ||
|
|
@@ -403,22 +402,34 @@ export class SnkTaskbar {
|
|
|
403
402
|
notOverFlow: this.NOT_OVERFLOW_ELEMENTS
|
|
404
403
|
};
|
|
405
404
|
}
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
405
|
+
handleDefinitions() {
|
|
406
|
+
if (!this._permissions) {
|
|
407
|
+
return;
|
|
408
|
+
}
|
|
409
|
+
this._definitions = this.elementsFromString(this.buttons);
|
|
410
|
+
requestAnimationFrame(() => {
|
|
411
|
+
requestAnimationFrame(() => {
|
|
412
|
+
var _a;
|
|
413
|
+
(_a = this._overFlowWatcher) === null || _a === void 0 ? void 0 : _a.forceUpdate();
|
|
414
|
+
});
|
|
415
|
+
});
|
|
416
416
|
}
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
(
|
|
417
|
+
async getAccess() {
|
|
418
|
+
if (!this._application) {
|
|
419
|
+
this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
|
|
420
|
+
}
|
|
421
|
+
if (!this._application) {
|
|
422
|
+
console.warn('[snk-taskbar] Application context não encontrado. Permissões serão vazias.');
|
|
423
|
+
this._permissions = {};
|
|
424
|
+
return;
|
|
425
|
+
}
|
|
426
|
+
try {
|
|
427
|
+
this._permissions = await this._application.getAllAccess(this.resourceID);
|
|
428
|
+
}
|
|
429
|
+
catch (error) {
|
|
430
|
+
console.error('[snk-taskbar] Erro ao obter permissões:', error);
|
|
431
|
+
this._permissions = {};
|
|
432
|
+
}
|
|
422
433
|
}
|
|
423
434
|
unlinkAllCustomElements() {
|
|
424
435
|
var _a;
|
|
@@ -431,35 +442,82 @@ export class SnkTaskbar {
|
|
|
431
442
|
unlinkCustomElementFromTaskbar(customElement) {
|
|
432
443
|
this._slotContainer.appendChild(customElement);
|
|
433
444
|
}
|
|
434
|
-
render() {
|
|
435
|
-
var _a, _b;
|
|
436
|
-
if (this._definitions === undefined) {
|
|
437
|
-
return undefined;
|
|
438
|
-
}
|
|
439
|
-
let index = 0;
|
|
440
|
-
return (h(Host, { class: this.getHostClasses() }, this.removeEmpty(this._definitions.map((elem) => {
|
|
441
|
-
var _a, _b;
|
|
442
|
-
index++;
|
|
443
|
-
if (TaskbarElement[elem]) {
|
|
444
|
-
return this.getElement(index, TaskbarElement[elem]);
|
|
445
|
-
}
|
|
446
|
-
if ((_a = this.customButtons) === null || _a === void 0 ? void 0 : _a.has(elem)) {
|
|
447
|
-
return this.getElement(index, this.customButtons.get(elem));
|
|
448
|
-
}
|
|
449
|
-
if (this._customElements.has(elem)) {
|
|
450
|
-
return this.addCustomElementContainer(elem);
|
|
451
|
-
}
|
|
452
|
-
(_b = this._overFlowWatcher) === null || _b === void 0 ? void 0 : _b.addNotOverFlowElement(elem);
|
|
453
|
-
return h("slot", { name: elem });
|
|
454
|
-
})), h("div", { id: this.TASKBAR_CUSTOM_ELEMENTS, class: this.TASKBAR_CUSTOM_ELEMENTS_CONTAINER_CLASS_NAME }, h("slot", { name: this.customSlotId }), (_a = this._overFlowWatcher) === null || _a === void 0 ? void 0 :
|
|
455
|
-
_a.addNotOverFlowElement(this.TASKBAR_CUSTOM_ELEMENTS)), h("div", { id: this.TASKBAR_ADDITIONAL_SLOT, class: this.TASKBAR_ADDITIONAL_SLOT_CONTAINER_CLASS_NAME }, h("slot", { name: this.additionalSlotId }), (_b = this._overFlowWatcher) === null || _b === void 0 ? void 0 :
|
|
456
|
-
_b.addNotOverFlowElement(this.TASKBAR_ADDITIONAL_SLOT))));
|
|
457
|
-
}
|
|
458
445
|
getHostClasses() {
|
|
459
446
|
if (this.overflowStrategy !== 'hiddenItems')
|
|
460
447
|
return 'no-wrap';
|
|
461
448
|
return `full-width ${this.alignRigth ? 'align-right' : ""}`;
|
|
462
449
|
}
|
|
450
|
+
connectedCallback() {
|
|
451
|
+
this.initializeDataUnit();
|
|
452
|
+
this.handleOverFlowStrategy();
|
|
453
|
+
this.getCustomElements();
|
|
454
|
+
}
|
|
455
|
+
async componentWillLoad() {
|
|
456
|
+
this._isLoading = true;
|
|
457
|
+
try {
|
|
458
|
+
await this.getAccess();
|
|
459
|
+
this.handleDefinitions();
|
|
460
|
+
}
|
|
461
|
+
catch (error) {
|
|
462
|
+
console.error('[snk-taskbar] Erro ao obter permissões de acesso:', error);
|
|
463
|
+
}
|
|
464
|
+
finally {
|
|
465
|
+
this._isLoading = false;
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
componentDidRender() {
|
|
469
|
+
this.appendCustomElementsInTaskbar();
|
|
470
|
+
}
|
|
471
|
+
disconnectedCallback() {
|
|
472
|
+
var _a, _b;
|
|
473
|
+
(_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.unsubscribe(this.onSaveEvent);
|
|
474
|
+
this.unlinkAllCustomElements();
|
|
475
|
+
(_b = this._overFlowWatcher) === null || _b === void 0 ? void 0 : _b.destroy();
|
|
476
|
+
}
|
|
477
|
+
renderTaskbarElement(elem, index) {
|
|
478
|
+
var _a, _b;
|
|
479
|
+
if (TaskbarElement[elem]) {
|
|
480
|
+
return this.getElement(index, TaskbarElement[elem]);
|
|
481
|
+
}
|
|
482
|
+
if ((_a = this.customButtons) === null || _a === void 0 ? void 0 : _a.has(elem)) {
|
|
483
|
+
return this.getElement(index, this.customButtons.get(elem));
|
|
484
|
+
}
|
|
485
|
+
if (this._customElements.has(elem)) {
|
|
486
|
+
return this.addCustomElementContainer(elem);
|
|
487
|
+
}
|
|
488
|
+
(_b = this._overFlowWatcher) === null || _b === void 0 ? void 0 : _b.addNotOverFlowElement(elem);
|
|
489
|
+
return h("slot", { name: elem });
|
|
490
|
+
}
|
|
491
|
+
renderElements() {
|
|
492
|
+
var _a, _b;
|
|
493
|
+
const spacerIndex = (_a = this._definitions) === null || _a === void 0 ? void 0 : _a.indexOf(TaskbarElement.SPACER);
|
|
494
|
+
const hasSpacerElement = spacerIndex !== undefined && spacerIndex !== -1;
|
|
495
|
+
if (!hasSpacerElement) {
|
|
496
|
+
const arrayOfElements = (_b = this._definitions) === null || _b === void 0 ? void 0 : _b.map((elem, index) => this.renderTaskbarElement(elem, index));
|
|
497
|
+
return this.removeEmpty(arrayOfElements);
|
|
498
|
+
}
|
|
499
|
+
// Split elements into before and after spacer
|
|
500
|
+
const elementsBeforeSpacer = this._definitions.slice(0, spacerIndex);
|
|
501
|
+
const elementsAfterSpacer = this._definitions.slice(spacerIndex + 1);
|
|
502
|
+
const beforeElements = elementsBeforeSpacer.map((elem, index) => this.renderTaskbarElement(elem, index));
|
|
503
|
+
const afterElements = elementsAfterSpacer.map((elem, index) => this.renderTaskbarElement(elem, index + spacerIndex + 1));
|
|
504
|
+
return [
|
|
505
|
+
h("div", { class: "taskbar-group taskbar-group--start" }, this.removeEmpty(beforeElements)),
|
|
506
|
+
h("div", { class: "taskbar-group taskbar-group--end" }, this.removeEmpty(afterElements))
|
|
507
|
+
];
|
|
508
|
+
}
|
|
509
|
+
render() {
|
|
510
|
+
var _a, _b;
|
|
511
|
+
if (!this._definitions) {
|
|
512
|
+
return;
|
|
513
|
+
}
|
|
514
|
+
if (this._isLoading && !this.disableSkeleton) {
|
|
515
|
+
return (h(Host, { class: this.getHostClasses() }, h("snk-taskbar-skeleton", null)));
|
|
516
|
+
}
|
|
517
|
+
return (h(Host, { class: this.getHostClasses() }, this.renderElements(), h("div", { id: this.TASKBAR_CUSTOM_ELEMENTS, class: this.TASKBAR_CUSTOM_ELEMENTS_CONTAINER_CLASS_NAME }, h("slot", { name: this.customSlotId }), (_a = this._overFlowWatcher) === null || _a === void 0 ? void 0 :
|
|
518
|
+
_a.addNotOverFlowElement(this.TASKBAR_CUSTOM_ELEMENTS)), h("div", { id: this.TASKBAR_ADDITIONAL_SLOT, class: this.TASKBAR_ADDITIONAL_SLOT_CONTAINER_CLASS_NAME }, h("slot", { name: this.additionalSlotId }), (_b = this._overFlowWatcher) === null || _b === void 0 ? void 0 :
|
|
519
|
+
_b.addNotOverFlowElement(this.TASKBAR_ADDITIONAL_SLOT))));
|
|
520
|
+
}
|
|
463
521
|
static get is() { return "snk-taskbar"; }
|
|
464
522
|
static get encapsulation() { return "scoped"; }
|
|
465
523
|
static get originalStyleUrls() {
|
|
@@ -716,6 +774,31 @@ export class SnkTaskbar {
|
|
|
716
774
|
"text": ""
|
|
717
775
|
}
|
|
718
776
|
},
|
|
777
|
+
"customActionsList": {
|
|
778
|
+
"type": "unknown",
|
|
779
|
+
"mutable": false,
|
|
780
|
+
"complexType": {
|
|
781
|
+
"original": "Array<Action>",
|
|
782
|
+
"resolved": "Action[]",
|
|
783
|
+
"references": {
|
|
784
|
+
"Array": {
|
|
785
|
+
"location": "global"
|
|
786
|
+
},
|
|
787
|
+
"Action": {
|
|
788
|
+
"location": "local"
|
|
789
|
+
}
|
|
790
|
+
}
|
|
791
|
+
},
|
|
792
|
+
"required": false,
|
|
793
|
+
"optional": false,
|
|
794
|
+
"docs": {
|
|
795
|
+
"tags": [{
|
|
796
|
+
"name": "description",
|
|
797
|
+
"text": "Lista de a\u00E7\u00F5es personalizadas que devem ser usadas no bot\u00E3o \"Mais op\u00E7\u00F5es\"."
|
|
798
|
+
}],
|
|
799
|
+
"text": ""
|
|
800
|
+
}
|
|
801
|
+
},
|
|
719
802
|
"primaryButton": {
|
|
720
803
|
"type": "string",
|
|
721
804
|
"mutable": false,
|
|
@@ -829,20 +912,56 @@ export class SnkTaskbar {
|
|
|
829
912
|
}],
|
|
830
913
|
"text": ""
|
|
831
914
|
}
|
|
915
|
+
},
|
|
916
|
+
"disableSkeleton": {
|
|
917
|
+
"type": "boolean",
|
|
918
|
+
"mutable": false,
|
|
919
|
+
"complexType": {
|
|
920
|
+
"original": "boolean",
|
|
921
|
+
"resolved": "boolean",
|
|
922
|
+
"references": {}
|
|
923
|
+
},
|
|
924
|
+
"required": false,
|
|
925
|
+
"optional": false,
|
|
926
|
+
"docs": {
|
|
927
|
+
"tags": [{
|
|
928
|
+
"name": "description",
|
|
929
|
+
"text": "Se verdadeiro, desabilita a exibi\u00E7\u00E3o do esqueleto de carregamento da barra de tarefas."
|
|
930
|
+
}],
|
|
931
|
+
"text": ""
|
|
932
|
+
},
|
|
933
|
+
"attribute": "disable-skeleton",
|
|
934
|
+
"reflect": false,
|
|
935
|
+
"defaultValue": "false"
|
|
936
|
+
},
|
|
937
|
+
"sizeButtons": {
|
|
938
|
+
"type": "string",
|
|
939
|
+
"mutable": false,
|
|
940
|
+
"complexType": {
|
|
941
|
+
"original": "'small' | 'medium' | 'large'",
|
|
942
|
+
"resolved": "\"large\" | \"medium\" | \"small\"",
|
|
943
|
+
"references": {}
|
|
944
|
+
},
|
|
945
|
+
"required": false,
|
|
946
|
+
"optional": false,
|
|
947
|
+
"docs": {
|
|
948
|
+
"tags": [{
|
|
949
|
+
"name": "description",
|
|
950
|
+
"text": "Define o tamanho dos bot\u00F5es da barra de tarefas, podendo ser 'small', 'medium' ou 'large'."
|
|
951
|
+
}],
|
|
952
|
+
"text": ""
|
|
953
|
+
},
|
|
954
|
+
"attribute": "size-buttons",
|
|
955
|
+
"reflect": false,
|
|
956
|
+
"defaultValue": "'small'"
|
|
832
957
|
}
|
|
833
958
|
};
|
|
834
959
|
}
|
|
835
960
|
static get states() {
|
|
836
961
|
return {
|
|
837
|
-
"_permissions": {},
|
|
838
|
-
"_overFlowedElements": {},
|
|
839
|
-
"_customElements": {},
|
|
840
|
-
"_customElementsId": {},
|
|
841
|
-
"_slotContainer": {},
|
|
842
962
|
"_hiddenActionsList": {},
|
|
843
|
-
"
|
|
844
|
-
"
|
|
845
|
-
"_isWaitingForSave": {}
|
|
963
|
+
"_isWaitingForSave": {},
|
|
964
|
+
"_isLoading": {}
|
|
846
965
|
};
|
|
847
966
|
}
|
|
848
967
|
static get events() {
|
|
@@ -919,9 +1038,6 @@ export class SnkTaskbar {
|
|
|
919
1038
|
}, {
|
|
920
1039
|
"propName": "disabledButtons",
|
|
921
1040
|
"methodName": "observeDisabledButtons"
|
|
922
|
-
}, {
|
|
923
|
-
"propName": "_lastWidth",
|
|
924
|
-
"methodName": "observeLastWidth"
|
|
925
1041
|
}, {
|
|
926
1042
|
"propName": "_isWaitingForSave",
|
|
927
1043
|
"methodName": "observeIsWaitingForSave"
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Host, h } from "@stencil/core";
|
|
2
|
+
export class SnkTaskbarSkeleton {
|
|
3
|
+
render() {
|
|
4
|
+
return (h(Host, null, h("ez-skeleton", { variant: "circle", count: 12 }), h("ez-skeleton", { width: "100px" })));
|
|
5
|
+
}
|
|
6
|
+
static get is() { return "snk-taskbar-skeleton"; }
|
|
7
|
+
static get encapsulation() { return "scoped"; }
|
|
8
|
+
static get originalStyleUrls() {
|
|
9
|
+
return {
|
|
10
|
+
"$": ["snk-taskbar-skeleton.css"]
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
static get styleUrls() {
|
|
14
|
+
return {
|
|
15
|
+
"$": ["snk-taskbar-skeleton.css"]
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
;
|
|
@@ -78,6 +78,11 @@ export class ConfigStorage {
|
|
|
78
78
|
await this.deleteGridConfigCache(name, resourceID);
|
|
79
79
|
return this.gridConfigFetcher.saveConfig(config, name, resourceID);
|
|
80
80
|
}
|
|
81
|
+
static async deleteGridConfig(name, resourceID) {
|
|
82
|
+
name = this.handleLegacyConfigAsString(name, CONFIG_SOURCE.grid);
|
|
83
|
+
await this.deleteGridConfigCache(name, resourceID);
|
|
84
|
+
return this.gridConfigFetcher.deleteConfig(name, resourceID);
|
|
85
|
+
}
|
|
81
86
|
static async loadDefaultFilter(filterId, resourceID, configName) {
|
|
82
87
|
const legacyConfigName = this.filterBarLegacyConfig.get(configName);
|
|
83
88
|
return this.personalizedFilterFetcher.loadDefaultFilter(resourceID, filterId, configName, legacyConfigName);
|
|
@@ -33,6 +33,9 @@ export default class PreloadManager {
|
|
|
33
33
|
const columnFilters = ColumnFilterManager.getColumnFilters(request.filters, fieldName);
|
|
34
34
|
filterFunction = ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
|
|
35
35
|
}
|
|
36
|
+
if (onlyLabel) {
|
|
37
|
+
return Promise.resolve(this.compileDistinctByLabel(dataUnit, fieldName, filterFunction));
|
|
38
|
+
}
|
|
36
39
|
return new Promise((accept, reject) => {
|
|
37
40
|
PreloadManager.getRepository(dataUnit).distict(record => {
|
|
38
41
|
if (filterFunction != undefined && !filterFunction(record)) {
|
|
@@ -43,9 +46,6 @@ export default class PreloadManager {
|
|
|
43
46
|
return { key: null, value: null };
|
|
44
47
|
}
|
|
45
48
|
let value = fieldValue.value != undefined ? fieldValue.value : fieldValue;
|
|
46
|
-
if ((fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.label) && onlyLabel) {
|
|
47
|
-
return { key: fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.label, value: dataUnit.getFormattedValue(fieldName, value) };
|
|
48
|
-
}
|
|
49
49
|
return { key: dataUnit.getFormattedValue(fieldName, fieldValue), value };
|
|
50
50
|
})
|
|
51
51
|
.then(result => {
|
|
@@ -58,6 +58,43 @@ export default class PreloadManager {
|
|
|
58
58
|
.catch(reason => reject(reason));
|
|
59
59
|
});
|
|
60
60
|
}
|
|
61
|
+
static compileDistinctByLabel(dataUnit, fieldName, filterFunction) {
|
|
62
|
+
const groupedOptions = new Map();
|
|
63
|
+
const cachedRecords = PreloadManager.getRepository(dataUnit).getFromCache();
|
|
64
|
+
cachedRecords.forEach(record => {
|
|
65
|
+
if (filterFunction != undefined && !filterFunction(record)) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const fieldValue = record[fieldName];
|
|
69
|
+
if (fieldValue == undefined) {
|
|
70
|
+
const nullKey = '';
|
|
71
|
+
if (!groupedOptions.has(nullKey)) {
|
|
72
|
+
groupedOptions.set(nullKey, {
|
|
73
|
+
values: new Set([null]),
|
|
74
|
+
option: { label: null, value: null, check: true },
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
const value = fieldValue.value != undefined ? fieldValue.value : fieldValue;
|
|
80
|
+
const label = (fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.label) ? fieldValue.label : dataUnit.getFormattedValue(fieldName, fieldValue);
|
|
81
|
+
const key = String(label !== null && label !== void 0 ? label : '');
|
|
82
|
+
let grouped = groupedOptions.get(key);
|
|
83
|
+
if (!grouped) {
|
|
84
|
+
grouped = {
|
|
85
|
+
values: new Set(),
|
|
86
|
+
option: { label, value, check: true },
|
|
87
|
+
};
|
|
88
|
+
groupedOptions.set(key, grouped);
|
|
89
|
+
}
|
|
90
|
+
grouped.values.add(value);
|
|
91
|
+
});
|
|
92
|
+
return Array.from(groupedOptions.values()).map(grouped => {
|
|
93
|
+
const option = grouped.option;
|
|
94
|
+
option.__multiValues = Array.from(grouped.values.values());
|
|
95
|
+
return grouped.option;
|
|
96
|
+
});
|
|
97
|
+
}
|
|
61
98
|
static async loadData(dataUnit, request, loadFromServer) {
|
|
62
99
|
try {
|
|
63
100
|
if (PreloadManager.isCacheEnabled(dataUnit)) {
|
|
@@ -10,7 +10,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
10
10
|
}
|
|
11
11
|
return t;
|
|
12
12
|
};
|
|
13
|
-
import { ChangeOperation, DataType, DataUnit, DataUnitStorage } from
|
|
13
|
+
import { ChangeOperation, DataType, DataUnit, DataUnitStorage, } from '@sankhyalabs/core';
|
|
14
14
|
import { gql } from "graphql-request";
|
|
15
15
|
import { DataFetcher } from "../../DataFetcher";
|
|
16
16
|
import { DISTINCT_FILTER_NAME_PREFIX } from "@sankhyalabs/ezui/dist/collection/utils/constants";
|
|
@@ -140,7 +140,7 @@ export default class DataUnitFetcher {
|
|
|
140
140
|
}
|
|
141
141
|
metadata.fields.push(Object.assign(Object.assign({}, source), { properties }));
|
|
142
142
|
});
|
|
143
|
-
metadata.fields.sort((a, b) => a
|
|
143
|
+
metadata.fields.sort((a, b) => this.sortFieldsByGroup(a, b));
|
|
144
144
|
resolve(metadata);
|
|
145
145
|
})
|
|
146
146
|
.catch((error) => {
|
|
@@ -148,6 +148,28 @@ export default class DataUnitFetcher {
|
|
|
148
148
|
});
|
|
149
149
|
});
|
|
150
150
|
}
|
|
151
|
+
// Os campos devem ser separados em dois grupos: campos da própria entidade e campos que representam ligação com outra entidade.
|
|
152
|
+
// Além do grupo, a ordenação deve respeitar o atributo "order" de cada campo.
|
|
153
|
+
// Para saber se é um campo de relação, verificamos se o nome contém '.' (ex: 'Parceiro.CODPAR').
|
|
154
|
+
sortFieldsByGroup(a, b) {
|
|
155
|
+
const aIsRelation = a.name.includes('.');
|
|
156
|
+
const bIsRelation = b.name.includes('.');
|
|
157
|
+
// Se um é relação e outro não, campos próprios vêm primeiro
|
|
158
|
+
if (aIsRelation !== bIsRelation) {
|
|
159
|
+
return aIsRelation ? 1 : -1;
|
|
160
|
+
}
|
|
161
|
+
// Se ambos são relações, ordena por nome da entidade primeiro
|
|
162
|
+
if (aIsRelation && bIsRelation) {
|
|
163
|
+
const aEntity = a.name.split('.')[0];
|
|
164
|
+
const bEntity = b.name.split('.')[0];
|
|
165
|
+
if (aEntity !== bEntity) {
|
|
166
|
+
return aEntity.localeCompare(bEntity);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
// Dentro do mesmo grupo (próprios ou mesma entidade de relação), ordena por order
|
|
170
|
+
return a.order - b.order;
|
|
171
|
+
}
|
|
172
|
+
;
|
|
151
173
|
loadSelectDistinct(dataUnit, fieldName, argument) {
|
|
152
174
|
const { parentRecordId, filters } = dataUnit.getLastLoadRequest() || {};
|
|
153
175
|
const filteredFilters = filters.filter(f => f.name !== `${DISTINCT_FILTER_NAME_PREFIX}${fieldName}`);
|