@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
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { DataUnitInMemoryLoader, ObjectUtils, DataUnit, ApplicationContext, StringUtils, UserInterface, DataUnitStorage, DataType, ChangeOperation } from '@sankhyalabs/core';
|
|
2
|
-
import { D as DataFetcher,
|
|
2
|
+
import { D as DataFetcher, d as dist } from './DataFetcher.js';
|
|
3
3
|
import { DISTINCT_FILTER_NAME_PREFIX } from '@sankhyalabs/ezui/dist/collection/utils/constants';
|
|
4
4
|
import { DataUnitTransient } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
|
|
5
5
|
import { ColumnFilterManager } from '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils';
|
|
6
6
|
import SortingUtils from '@sankhyalabs/core/dist/utils/SortingUtils';
|
|
7
7
|
import { R as ResourceIDUtils } from './ResourceIDUtils.js';
|
|
8
|
+
import { S as SnkMessageBuilder } from './SnkMessageBuilder.js';
|
|
8
9
|
|
|
9
10
|
class InMemoryLoader {
|
|
10
11
|
constructor(metadata, records, config) {
|
|
@@ -163,6 +164,9 @@ class PreloadManager {
|
|
|
163
164
|
const columnFilters = ColumnFilterManager.getColumnFilters(request.filters, fieldName);
|
|
164
165
|
filterFunction = ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
|
|
165
166
|
}
|
|
167
|
+
if (onlyLabel) {
|
|
168
|
+
return Promise.resolve(this.compileDistinctByLabel(dataUnit, fieldName, filterFunction));
|
|
169
|
+
}
|
|
166
170
|
return new Promise((accept, reject) => {
|
|
167
171
|
PreloadManager.getRepository(dataUnit).distict(record => {
|
|
168
172
|
if (filterFunction != undefined && !filterFunction(record)) {
|
|
@@ -173,9 +177,6 @@ class PreloadManager {
|
|
|
173
177
|
return { key: null, value: null };
|
|
174
178
|
}
|
|
175
179
|
let value = fieldValue.value != undefined ? fieldValue.value : fieldValue;
|
|
176
|
-
if ((fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.label) && onlyLabel) {
|
|
177
|
-
return { key: fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.label, value: dataUnit.getFormattedValue(fieldName, value) };
|
|
178
|
-
}
|
|
179
180
|
return { key: dataUnit.getFormattedValue(fieldName, fieldValue), value };
|
|
180
181
|
})
|
|
181
182
|
.then(result => {
|
|
@@ -188,6 +189,43 @@ class PreloadManager {
|
|
|
188
189
|
.catch(reason => reject(reason));
|
|
189
190
|
});
|
|
190
191
|
}
|
|
192
|
+
static compileDistinctByLabel(dataUnit, fieldName, filterFunction) {
|
|
193
|
+
const groupedOptions = new Map();
|
|
194
|
+
const cachedRecords = PreloadManager.getRepository(dataUnit).getFromCache();
|
|
195
|
+
cachedRecords.forEach(record => {
|
|
196
|
+
if (filterFunction != undefined && !filterFunction(record)) {
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
const fieldValue = record[fieldName];
|
|
200
|
+
if (fieldValue == undefined) {
|
|
201
|
+
const nullKey = '';
|
|
202
|
+
if (!groupedOptions.has(nullKey)) {
|
|
203
|
+
groupedOptions.set(nullKey, {
|
|
204
|
+
values: new Set([null]),
|
|
205
|
+
option: { label: null, value: null, check: true },
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
const value = fieldValue.value != undefined ? fieldValue.value : fieldValue;
|
|
211
|
+
const label = (fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.label) ? fieldValue.label : dataUnit.getFormattedValue(fieldName, fieldValue);
|
|
212
|
+
const key = String(label !== null && label !== void 0 ? label : '');
|
|
213
|
+
let grouped = groupedOptions.get(key);
|
|
214
|
+
if (!grouped) {
|
|
215
|
+
grouped = {
|
|
216
|
+
values: new Set(),
|
|
217
|
+
option: { label, value, check: true },
|
|
218
|
+
};
|
|
219
|
+
groupedOptions.set(key, grouped);
|
|
220
|
+
}
|
|
221
|
+
grouped.values.add(value);
|
|
222
|
+
});
|
|
223
|
+
return Array.from(groupedOptions.values()).map(grouped => {
|
|
224
|
+
const option = grouped.option;
|
|
225
|
+
option.__multiValues = Array.from(grouped.values.values());
|
|
226
|
+
return grouped.option;
|
|
227
|
+
});
|
|
228
|
+
}
|
|
191
229
|
static async loadData(dataUnit, request, loadFromServer) {
|
|
192
230
|
try {
|
|
193
231
|
if (PreloadManager.isCacheEnabled(dataUnit)) {
|
|
@@ -919,7 +957,7 @@ class DataUnitFetcher {
|
|
|
919
957
|
}
|
|
920
958
|
metadata.fields.push(Object.assign(Object.assign({}, source), { properties }));
|
|
921
959
|
});
|
|
922
|
-
metadata.fields.sort((a, b) => a
|
|
960
|
+
metadata.fields.sort((a, b) => this.sortFieldsByGroup(a, b));
|
|
923
961
|
resolve(metadata);
|
|
924
962
|
})
|
|
925
963
|
.catch((error) => {
|
|
@@ -927,6 +965,28 @@ class DataUnitFetcher {
|
|
|
927
965
|
});
|
|
928
966
|
});
|
|
929
967
|
}
|
|
968
|
+
// Os campos devem ser separados em dois grupos: campos da própria entidade e campos que representam ligação com outra entidade.
|
|
969
|
+
// Além do grupo, a ordenação deve respeitar o atributo "order" de cada campo.
|
|
970
|
+
// Para saber se é um campo de relação, verificamos se o nome contém '.' (ex: 'Parceiro.CODPAR').
|
|
971
|
+
sortFieldsByGroup(a, b) {
|
|
972
|
+
const aIsRelation = a.name.includes('.');
|
|
973
|
+
const bIsRelation = b.name.includes('.');
|
|
974
|
+
// Se um é relação e outro não, campos próprios vêm primeiro
|
|
975
|
+
if (aIsRelation !== bIsRelation) {
|
|
976
|
+
return aIsRelation ? 1 : -1;
|
|
977
|
+
}
|
|
978
|
+
// Se ambos são relações, ordena por nome da entidade primeiro
|
|
979
|
+
if (aIsRelation && bIsRelation) {
|
|
980
|
+
const aEntity = a.name.split('.')[0];
|
|
981
|
+
const bEntity = b.name.split('.')[0];
|
|
982
|
+
if (aEntity !== bEntity) {
|
|
983
|
+
return aEntity.localeCompare(bEntity);
|
|
984
|
+
}
|
|
985
|
+
}
|
|
986
|
+
// Dentro do mesmo grupo (próprios ou mesma entidade de relação), ordena por order
|
|
987
|
+
return a.order - b.order;
|
|
988
|
+
}
|
|
989
|
+
;
|
|
930
990
|
loadSelectDistinct(dataUnit, fieldName, argument) {
|
|
931
991
|
const { parentRecordId, filters } = dataUnit.getLastLoadRequest() || {};
|
|
932
992
|
const filteredFilters = filters.filter(f => f.name !== `${DISTINCT_FILTER_NAME_PREFIX}${fieldName}`);
|
|
@@ -120,7 +120,9 @@ function buildChildrenGuides(dataUnit, initialOrderIndex = 0, guidesList) {
|
|
|
120
120
|
const children = ((_a = dataUnit.metadata) === null || _a === void 0 ? void 0 : _a.children) || [];
|
|
121
121
|
const childrenWithNoGuide = [];
|
|
122
122
|
for (const child of children) {
|
|
123
|
-
|
|
123
|
+
const guideOnConfig = guidesList.find(guide => child.label === guide.label);
|
|
124
|
+
if (guideOnConfig) {
|
|
125
|
+
guideOnConfig.isCustom = true;
|
|
124
126
|
continue;
|
|
125
127
|
}
|
|
126
128
|
childrenWithNoGuide.push({
|
|
@@ -287,7 +289,7 @@ function buildFieldToSave(fieldConfig) {
|
|
|
287
289
|
return fieldToSave;
|
|
288
290
|
}
|
|
289
291
|
|
|
290
|
-
const fieldConfigCss = ".field-config-container.sc-field-config{font-family:'Roboto';color:#2b3a54;display:flex;flex-direction:column;gap:10px;width:330px;justify-content:space-between}.header.sc-field-config{display:flex;font-weight:500;font-size:16px}.actions.sc-field-config{display:flex;align-items:flex-end;gap:12px}";
|
|
292
|
+
const fieldConfigCss = ".field-config-container.sc-field-config{font-family:'Roboto';color:#2b3a54;display:flex;flex-direction:column;gap:10px;width:330px;justify-content:space-between}.header.sc-field-config{display:flex;font-weight:500;font-size:16px}.actions.sc-field-config{display:flex;align-items:flex-end;justify-content:flex-end;gap:12px}";
|
|
291
293
|
|
|
292
294
|
const FieldConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
293
295
|
constructor() {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, forceUpdate, h, Host } from '@stencil/core/internal/client';
|
|
2
2
|
import { StringUtils, ObjectUtils } from '@sankhyalabs/core';
|
|
3
|
+
import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
|
|
3
4
|
import { S as Sortable } from './sortable.esm.js';
|
|
4
|
-
import { S as SORTABLE_PATH, a as getFieldsStructure, d as defineCustomElement$2, I as ID_AVAILABLE_FIELDS } from './field-config2.js';
|
|
5
5
|
import { T as TAB_NAMES, G as GROUP_NAMES } from './constants.js';
|
|
6
|
-
import {
|
|
6
|
+
import { S as SORTABLE_PATH, a as getFieldsStructure, d as defineCustomElement$2, I as ID_AVAILABLE_FIELDS } from './field-config2.js';
|
|
7
7
|
import { d as defineCustomElement$1 } from './field-item2.js';
|
|
8
8
|
|
|
9
|
-
const fieldsLayoutCss = ".sc-fields-layout-h{display:flex;padding:12px;box-shadow:var(--shadow--small, 0 0 16px rgba(0, 38, 111, 0.07));border-radius:var(--border--radius-medium, 6px);height:var(--snk-form-config-container-height);flex-direction:column}.layout-container.sc-fields-layout{container-type:inline-size;display:flex;flex-direction:column;overflow:auto;height:calc(100vh - 225px)}.guide-header.sc-fields-layout{display:flex;width:100%;font-size:20px;border-bottom:1px solid #dce0e8;margin-bottom:6px;align-items:center;height:45px}.guide-header.sc-fields-layout ez-button.sc-fields-layout{transition:all 0.2s ease-in-out;visibility:hidden;opacity:0}.guide-header.sc-fields-layout:hover ez-button.sc-fields-layout{visibility:visible;opacity:1}.guide-header-label.sc-fields-layout{display:block;padding:10px 0}.group-config.sc-fields-layout{padding:12px 0;display:flex;flex-direction:column;width:100%}.group-content.sc-fields-layout{display:grid;gap:12px;min-height:65px;width:100%;padding:6px 0;grid-template-columns:repeat(auto-fill, minmax(250px, 1fr))}.group-content.empty-content.sc-fields-layout{position:relative}.group-content.empty-content.sc-fields-layout::before{content:var(--empty-content-message, \"Arraste e solte um campo aqui\");color:#cbcfd7;font-size:16px;font-weight:500;text-align:center;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;transition:opacity 0.3s;height:100%;box-sizing:border-box;padding:10px;background:#f9f9f9;border:1px dashed #dce0e8;border-radius:6px}.no-group-container.sc-fields-layout{padding:12px 0;width:100%;border-bottom:1px solid #dce0e8}.no-group-container.sc-fields-layout::before{content:var(--no-group-message, \"Inclua estes campos nos grupos ou deixe-os separados no topo do formulário\");width:100%;display:block;font-size:16px;font-weight:400;color:#AFB6C0;padding-bottom:12px}.add-group-container.sc-fields-layout{display:flex;align-items:center;border-top:1px solid #dce0e8;padding-top:22px;padding-bottom:12px;gap:6px;cursor:pointer;justify-content:center;width:100%;height:55px}.no-guide-selected.sc-fields-layout{display:block;margin:auto;font-size:24px;color:#AFB6C0;font-weight:500}.ghost.sc-fields-layout{opacity:.5;background:#c8fbe2}";
|
|
9
|
+
const fieldsLayoutCss = ".sc-fields-layout-h{display:flex;padding:12px;box-shadow:var(--shadow--small, 0 0 16px rgba(0, 38, 111, 0.07));border-radius:var(--border--radius-medium, 6px);height:var(--snk-form-config-container-height);flex-direction:column}.layout-container.sc-fields-layout{container-type:inline-size;display:flex;flex-direction:column;overflow:auto;height:calc(100vh - 225px)}.guide-header.sc-fields-layout{display:flex;width:100%;font-size:20px;border-bottom:1px solid #dce0e8;margin-bottom:6px;align-items:center;height:45px}.guide-header.sc-fields-layout ez-button.sc-fields-layout{transition:all 0.2s ease-in-out;visibility:hidden;opacity:0}.guide-header.sc-fields-layout:hover ez-button.sc-fields-layout{visibility:visible;opacity:1}.guide-header-label.sc-fields-layout{display:block;padding:10px 0}.group-config.sc-fields-layout{padding:12px 0;display:flex;flex-direction:column;width:100%}.group-content.sc-fields-layout{display:grid;gap:12px;min-height:65px;width:100%;padding:6px 0;grid-template-columns:repeat(auto-fill, minmax(250px, 1fr))}.group-content.empty-content.sc-fields-layout{position:relative}.group-content.empty-content.sc-fields-layout::before{content:var(--empty-content-message, \"Arraste e solte um campo aqui\");color:#cbcfd7;font-size:16px;font-weight:500;text-align:center;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;transition:opacity 0.3s;height:100%;box-sizing:border-box;padding:10px;background:#f9f9f9;border:1px dashed #dce0e8;border-radius:6px}.no-group-container.sc-fields-layout{padding:12px 0;width:100%;border-bottom:1px solid #dce0e8}.no-group-container.sc-fields-layout::before{content:var(--no-group-message, \"Inclua estes campos nos grupos ou deixe-os separados no topo do formulário\");width:100%;display:block;font-size:16px;font-weight:400;color:#AFB6C0;padding-bottom:12px}.add-group-container.sc-fields-layout{display:flex;align-items:center;border-top:1px solid #dce0e8;padding-top:22px;padding-bottom:12px;gap:6px;cursor:pointer;justify-content:center;width:100%;height:55px}.no-guide-selected.sc-fields-layout{display:block;margin:auto;font-size:24px;color:#AFB6C0;font-weight:500}.message-container.sc-fields-layout{margin:auto;display:flex;flex-direction:column;justify-content:center;align-items:center}.message-config-detail.sc-fields-layout{display:block;margin:auto;font-size:var(--font-size--medium, 16px);color:#AFB6C0;font-weight:var(--font-weight--medium, 500)}.ghost.sc-fields-layout{opacity:.5;background:#c8fbe2}";
|
|
10
10
|
|
|
11
11
|
const FieldLayoutComponent = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
12
12
|
constructor() {
|
|
@@ -332,7 +332,7 @@ const FieldLayoutComponent = /*@__PURE__*/ proxyCustomElement(class extends HTML
|
|
|
332
332
|
return (h(Host, { class: 'ez-flex-item--auto ez-size-height--full ez-box ez-padding--medium content-container' }, h("span", { class: 'no-guide-selected' }, this.getMessage('snkFormConfig.form.noGuideSelected'))));
|
|
333
333
|
}
|
|
334
334
|
if (this.selectedGuide.isCustom || this.selectedGuide.isDetail) {
|
|
335
|
-
return (h(Host, { class: 'ez-flex-item--auto ez-size-height--full ez-box ez-padding--medium content-container' }, h("
|
|
335
|
+
return (h(Host, { class: 'ez-flex-item--auto ez-size-height--full ez-box ez-padding--medium content-container' }, h("div", { class: 'message-container' }, h("h1", { class: 'no-guide-selected' }, this.getMessage('snkFormConfig.form.canNotEditCustomGuide')), h("span", { class: 'message-config-detail' }, this.getMessage('snkFormConfig.form.canNotEditDetailGuide')))));
|
|
336
336
|
}
|
|
337
337
|
return (h(Host, { class: 'ez-flex-item--auto ez-size-height--full ez-box ez-padding--medium content-container' }, this.renderGuideName(), h("div", { class: 'layout-container' }, h("ez-scroller", { direction: 'vertical', activeShadow: true }, h("div", { class: 'no-group-container' }, h("div", { id: GROUP_NAMES.noGroup, class: 'group-content', "data-group-name": GROUP_NAMES.noGroup }, this.renderFixedFields())), h("hr", null), h("div", { id: this.ID_GROUPS, class: 'groups-container' }, this.renderDraggableGroups()))), h("div", { class: 'add-group-container', onClick: this.handleAddGroup.bind(this) }, h("ez-icon", { slot: "leftIcon", iconName: "plus" }), h("span", null, this.getMessage('snkFormConfig.form.createNewGroup')))));
|
|
338
338
|
}
|
|
@@ -18,6 +18,9 @@ class ResourceFetcher {
|
|
|
18
18
|
resource
|
|
19
19
|
}
|
|
20
20
|
}`);
|
|
21
|
+
this.templateByQuery.set("deleteResource", dist.gql `mutation($name: String!) {
|
|
22
|
+
$queryAlias$: deleteResource(name: $name)
|
|
23
|
+
}`);
|
|
21
24
|
}
|
|
22
25
|
loadResource(name) {
|
|
23
26
|
if (ResourceFetcher._loadingResource.has(name)) {
|
|
@@ -61,6 +64,21 @@ class ResourceFetcher {
|
|
|
61
64
|
});
|
|
62
65
|
});
|
|
63
66
|
}
|
|
67
|
+
deleteResource(name) {
|
|
68
|
+
return new Promise((resolve, reject) => {
|
|
69
|
+
DataFetcher.get()
|
|
70
|
+
.callGraphQL({
|
|
71
|
+
values: { name },
|
|
72
|
+
query: this.templateByQuery.get("deleteResource")
|
|
73
|
+
})
|
|
74
|
+
.then(() => {
|
|
75
|
+
resolve();
|
|
76
|
+
})
|
|
77
|
+
.catch((error) => {
|
|
78
|
+
reject(error);
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
}
|
|
64
82
|
}
|
|
65
83
|
ResourceFetcher._loadingResource = new Map();
|
|
66
84
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
|
|
2
|
-
import { S as Sortable } from './sortable.esm.js';
|
|
3
2
|
import { ObjectUtils, ArrayUtils } from '@sankhyalabs/core';
|
|
4
3
|
import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
|
|
4
|
+
import { S as Sortable } from './sortable.esm.js';
|
|
5
5
|
import { T as TAB_NAMES } from './constants.js';
|
|
6
6
|
|
|
7
|
-
const guidesConfiguratorCss = ".ezSidebarNavigator.sc-guides-configurator{--ez-sidebar-navigator--height:calc(100vh - 118px)}.navigator-container.sc-guides-configurator{height:calc(100vh - 175px);display:flex;flex-direction:column;justify-content:space-between}.collapsible-container.sc-guides-configurator{display:flex;flex-direction:column;gap:12px;flex-grow:1;max-height:calc(100vh - 240px);overflow:auto}.collapsible-item.sc-guides-configurator{padding:6px;border-radius:6px;border:1px solid #dce0e8}.add-button-container.sc-guides-configurator{display:flex;align-items:center;border-top:1px solid #dce0e8;padding-top:22px;gap:6px;cursor:pointer;justify-content:center}.add-button-container.sc-guides-configurator span.sc-guides-configurator{display:block}.guide-list.sc-guides-configurator{display:flex;flex-direction:column;width:100%;min-height:10px}.guide-list.hidden-empty-content.sc-guides-configurator::before{content:var(--no-hidden-guides-message, \"Nenhuma guia oculta\");display:block;font-size:16px;font-weight:400;color:#AFB6C0;margin:auto;padding:8px}.guide-list.visible-empty-content.sc-guides-configurator::before{content:var(--no-visible-guides-message, \"Nenhuma guia visível\");display:block;font-size:16px;font-weight:400;color:#AFB6C0;margin:auto;padding:8px}.item-label.sc-guides-configurator{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-grow:1}.guide-item.sc-guides-configurator{margin:0 3px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:5px 10px;border-radius:6px;transition:all 0.2s ease-in-out;height:32px}.guide-item.sc-guides-configurator .actions.sc-guides-configurator{
|
|
7
|
+
const guidesConfiguratorCss = ".ezSidebarNavigator.sc-guides-configurator{--ez-sidebar-navigator--height:calc(100vh - 118px)}.navigator-container.sc-guides-configurator{height:calc(100vh - 175px);display:flex;flex-direction:column;justify-content:space-between}.collapsible-container.sc-guides-configurator{display:flex;flex-direction:column;gap:12px;flex-grow:1;max-height:calc(100vh - 240px);overflow:auto}.collapsible-item.sc-guides-configurator{padding:6px;border-radius:6px;border:1px solid #dce0e8}.add-button-container.sc-guides-configurator{display:flex;align-items:center;border-top:1px solid #dce0e8;padding-top:22px;gap:6px;cursor:pointer;justify-content:center}.add-button-container.sc-guides-configurator span.sc-guides-configurator{display:block}.guide-list.sc-guides-configurator{display:flex;flex-direction:column;width:100%;min-height:10px}.guide-list.hidden-empty-content.sc-guides-configurator::before{content:var(--no-hidden-guides-message, \"Nenhuma guia oculta\");display:block;font-size:16px;font-weight:400;color:#AFB6C0;margin:auto;padding:8px}.guide-list.visible-empty-content.sc-guides-configurator::before{content:var(--no-visible-guides-message, \"Nenhuma guia visível\");display:block;font-size:16px;font-weight:400;color:#AFB6C0;margin:auto;padding:8px}.item-label.sc-guides-configurator{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-grow:1}.guide-item.sc-guides-configurator{margin:0 3px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:5px 10px;border-radius:6px;transition:all 0.2s ease-in-out;height:32px}.guide-item.sc-guides-configurator .actions.sc-guides-configurator{gap:8px;transition:opacity 0.2s ease-in-out;display:none;opacity:0}.guide-item.sc-guides-configurator:hover .actions.sc-guides-configurator{display:flex;opacity:1}ez-button.sc-guides-configurator{width:24px;align-items:center;justify-content:center;display:flex}.ghost.sc-guides-configurator{opacity:.5;background:#e2eaf4}.main-guide.sc-guides-configurator{padding:12px;margin:12px 0;border:1px solid #dce0e8;border-radius:6px;transition:all 0.2s ease-in-out}.guide-item.selected.sc-guides-configurator,.main-guide.selected.sc-guides-configurator{background:#E2F4EF}.guide-item.sc-guides-configurator:hover,.main-guide.sc-guides-configurator:hover{background:#f5fcfa}";
|
|
8
8
|
|
|
9
9
|
const GuidesConfigurator = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
10
10
|
constructor() {
|
|
@@ -16,11 +16,13 @@ export { SnkActionsForm as SnkClientConfirm } from '../types/components/snk-acti
|
|
|
16
16
|
export { SnkConfigurator as SnkConfigurator } from '../types/components/snk-configurator/snk-configurator';
|
|
17
17
|
export { SnkCrud as SnkCrud } from '../types/components/snk-crud/snk-crud';
|
|
18
18
|
export { SnkCustomSlotElements as SnkCustomSlotElements } from '../types/components/snk-custom-slot-elements/snk-custom-slot-elements';
|
|
19
|
+
export { SnkCustomSlotGuide as SnkCustomSlotGuide } from '../types/components/snk-custom-slot-guide/snk-custom-slot-guide';
|
|
19
20
|
export { SnkDataExporter as SnkDataExporter } from '../types/components/snk-data-exporter/snk-data-exporter';
|
|
20
21
|
export { SnkDataUnit as SnkDataUnit } from '../types/components/snk-data-unit/snk-data-unit';
|
|
21
22
|
export { SnkDefaultFilter as SnkDefaultFilter } from '../types/components/snk-filter-bar/filter-modal/subcomponents/snk-default-filter/snk-default-filter';
|
|
22
23
|
export { SnkDetailView as SnkDetailView } from '../types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view';
|
|
23
24
|
export { SnkEntityList as SnkEntityList } from '../types/components/snk-entity-list/snk-entity-list';
|
|
25
|
+
export { SnkEntitySearch as SnkEntitySearch } from '../types/components/snk-crud/subcomponents/snk-entity-search';
|
|
24
26
|
export { SnkExporterEmailSender as SnkExporterEmailSender } from '../types/components/snk-data-exporter/exporter-email-sender/snk-exporter-email-sender';
|
|
25
27
|
export { SnkExpressionGroup as SnkExpressionGroup } from '../types/components/snk-personalized-filter/subcomponents/snk-expression-group/snk-expression-group';
|
|
26
28
|
export { SnkExpressionItem as SnkExpressionItem } from '../types/components/snk-personalized-filter/subcomponents/snk-expression-item/snk-expression-item';
|
|
@@ -48,6 +50,7 @@ export { SnkFormView as SnkFormView } from '../types/components/snk-crud/subcomp
|
|
|
48
50
|
export { SnkGrid as SnkGrid } from '../types/components/snk-grid/snk-grid';
|
|
49
51
|
export { SnkGridConfig as SnkGridConfig } from '../types/components/snk-grid-config/snk-grid-config';
|
|
50
52
|
export { SnkGuidesViewer as SnkGuidesViewer } from '../types/components/snk-crud/subcomponents/snk-guides-viewer';
|
|
53
|
+
export { SnkImageInput as SnkImageInput } from '../types/components/snk-image-input/snk-image-input';
|
|
51
54
|
export { SnkLayoutFormConfig as SnkLayoutFormConfig } from '../types/components/snk-layout-form-config/snk-layout-form-config';
|
|
52
55
|
export { SnkNumberingConfig as SnkNumberingConfig } from '../types/components/snk-numbering-config/snk-numbering-config';
|
|
53
56
|
export { SnkPersonalizedFilter as SnkPersonalizedFilter } from '../types/components/snk-personalized-filter/snk-personalized-filter';
|
|
@@ -59,6 +62,7 @@ export { SnkSimpleBar as SnkSimpleBar } from '../types/components/snk-simple-bar
|
|
|
59
62
|
export { SnkSimpleCrud as SnkSimpleCrud } from '../types/components/snk-simple-crud/snk-simple-crud';
|
|
60
63
|
export { SnkSimpleFormConfig as SnkSimpleFormConfig } from '../types/components/snk-simple-form-config/snk-simple-form-config';
|
|
61
64
|
export { SnkTaskbar as SnkTaskbar } from '../types/components/snk-taskbar/snk-taskbar';
|
|
65
|
+
export { SnkTaskbarSkeleton as SnkTaskbarSkeleton } from '../types/components/snk-taskbar/subcomponents/snk-taskbar-skeleton';
|
|
62
66
|
export { SnkViewRepresentation as SnkViewRepresentation } from '../types/components/snk-layout-form-config/snk-view-representation/snk-view-representation';
|
|
63
67
|
export { TaskbarActionsButton as TaskbarActionsButton } from '../types/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button';
|
|
64
68
|
export { TaskbarSplitButton as TaskbarSplitButton } from '../types/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button';
|
package/dist/components/index.js
CHANGED
|
@@ -16,11 +16,13 @@ export { SnkClientConfirm, defineCustomElement as defineCustomElementSnkClientCo
|
|
|
16
16
|
export { SnkConfigurator, defineCustomElement as defineCustomElementSnkConfigurator } from './snk-configurator.js';
|
|
17
17
|
export { SnkCrud, defineCustomElement as defineCustomElementSnkCrud } from './snk-crud.js';
|
|
18
18
|
export { SnkCustomSlotElements, defineCustomElement as defineCustomElementSnkCustomSlotElements } from './snk-custom-slot-elements.js';
|
|
19
|
+
export { SnkCustomSlotGuide, defineCustomElement as defineCustomElementSnkCustomSlotGuide } from './snk-custom-slot-guide.js';
|
|
19
20
|
export { SnkDataExporter, defineCustomElement as defineCustomElementSnkDataExporter } from './snk-data-exporter.js';
|
|
20
21
|
export { SnkDataUnit, defineCustomElement as defineCustomElementSnkDataUnit } from './snk-data-unit.js';
|
|
21
22
|
export { SnkDefaultFilter, defineCustomElement as defineCustomElementSnkDefaultFilter } from './snk-default-filter.js';
|
|
22
23
|
export { SnkDetailView, defineCustomElement as defineCustomElementSnkDetailView } from './snk-detail-view.js';
|
|
23
24
|
export { SnkEntityList, defineCustomElement as defineCustomElementSnkEntityList } from './snk-entity-list.js';
|
|
25
|
+
export { SnkEntitySearch, defineCustomElement as defineCustomElementSnkEntitySearch } from './snk-entity-search.js';
|
|
24
26
|
export { SnkExporterEmailSender, defineCustomElement as defineCustomElementSnkExporterEmailSender } from './snk-exporter-email-sender.js';
|
|
25
27
|
export { SnkExpressionGroup, defineCustomElement as defineCustomElementSnkExpressionGroup } from './snk-expression-group.js';
|
|
26
28
|
export { SnkExpressionItem, defineCustomElement as defineCustomElementSnkExpressionItem } from './snk-expression-item.js';
|
|
@@ -48,6 +50,7 @@ export { SnkFormView, defineCustomElement as defineCustomElementSnkFormView } fr
|
|
|
48
50
|
export { SnkGrid, defineCustomElement as defineCustomElementSnkGrid } from './snk-grid.js';
|
|
49
51
|
export { SnkGridConfig, defineCustomElement as defineCustomElementSnkGridConfig } from './snk-grid-config.js';
|
|
50
52
|
export { SnkGuidesViewer, defineCustomElement as defineCustomElementSnkGuidesViewer } from './snk-guides-viewer.js';
|
|
53
|
+
export { SnkImageInput, defineCustomElement as defineCustomElementSnkImageInput } from './snk-image-input.js';
|
|
51
54
|
export { SnkLayoutFormConfig, defineCustomElement as defineCustomElementSnkLayoutFormConfig } from './snk-layout-form-config.js';
|
|
52
55
|
export { SnkNumberingConfig, defineCustomElement as defineCustomElementSnkNumberingConfig } from './snk-numbering-config.js';
|
|
53
56
|
export { SnkPersonalizedFilter, defineCustomElement as defineCustomElementSnkPersonalizedFilter } from './snk-personalized-filter.js';
|
|
@@ -59,6 +62,7 @@ export { SnkSimpleBar, defineCustomElement as defineCustomElementSnkSimpleBar }
|
|
|
59
62
|
export { SnkSimpleCrud, defineCustomElement as defineCustomElementSnkSimpleCrud } from './snk-simple-crud.js';
|
|
60
63
|
export { SnkSimpleFormConfig, defineCustomElement as defineCustomElementSnkSimpleFormConfig } from './snk-simple-form-config.js';
|
|
61
64
|
export { SnkTaskbar, defineCustomElement as defineCustomElementSnkTaskbar } from './snk-taskbar.js';
|
|
65
|
+
export { SnkTaskbarSkeleton, defineCustomElement as defineCustomElementSnkTaskbarSkeleton } from './snk-taskbar-skeleton.js';
|
|
62
66
|
export { SnkViewRepresentation, defineCustomElement as defineCustomElementSnkViewRepresentation } from './snk-view-representation.js';
|
|
63
67
|
export { TaskbarActionsButton, defineCustomElement as defineCustomElementTaskbarActionsButton } from './taskbar-actions-button.js';
|
|
64
68
|
export { TaskbarSplitButton, defineCustomElement as defineCustomElementTaskbarSplitButton } from './taskbar-split-button.js';
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as StencilCore from '@stencil/core/internal/client';
|
|
2
2
|
|
|
3
3
|
const appendToMap = (map, propName, value) => {
|
|
4
|
-
|
|
5
|
-
if (!
|
|
6
|
-
|
|
4
|
+
let refs = map.get(propName);
|
|
5
|
+
if (!refs) {
|
|
6
|
+
refs = [];
|
|
7
|
+
map.set(propName, refs);
|
|
7
8
|
}
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
if (!refs.some((ref) => ref.deref() === value)) {
|
|
10
|
+
refs.push(new WeakRef(value));
|
|
10
11
|
}
|
|
11
12
|
};
|
|
12
13
|
const debounce = (fn, ms) => {
|
|
@@ -34,33 +35,54 @@ const debounce = (fn, ms) => {
|
|
|
34
35
|
const isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;
|
|
35
36
|
const cleanupElements = debounce((map) => {
|
|
36
37
|
for (let key of map.keys()) {
|
|
37
|
-
|
|
38
|
+
const refs = map.get(key).filter((ref) => {
|
|
39
|
+
const elm = ref.deref();
|
|
40
|
+
return elm && isConnected(elm);
|
|
41
|
+
});
|
|
42
|
+
map.set(key, refs);
|
|
38
43
|
}
|
|
39
44
|
}, 2_000);
|
|
45
|
+
const core = StencilCore;
|
|
46
|
+
const forceUpdate = core.forceUpdate;
|
|
47
|
+
const getRenderingRef = core.getRenderingRef;
|
|
40
48
|
const stencilSubscription = () => {
|
|
41
|
-
if (typeof getRenderingRef !== 'function') {
|
|
49
|
+
if (typeof getRenderingRef !== 'function' || typeof forceUpdate !== 'function') {
|
|
42
50
|
// If we are not in a stencil project, we do nothing.
|
|
43
51
|
// This function is not really exported by @stencil/core.
|
|
44
52
|
return {};
|
|
45
53
|
}
|
|
54
|
+
const ensureForceUpdate = forceUpdate;
|
|
55
|
+
const ensureGetRenderingRef = getRenderingRef;
|
|
46
56
|
const elmsToUpdate = new Map();
|
|
47
57
|
return {
|
|
48
58
|
dispose: () => elmsToUpdate.clear(),
|
|
49
59
|
get: (propName) => {
|
|
50
|
-
const elm =
|
|
60
|
+
const elm = ensureGetRenderingRef();
|
|
51
61
|
if (elm) {
|
|
52
62
|
appendToMap(elmsToUpdate, propName, elm);
|
|
53
63
|
}
|
|
54
64
|
},
|
|
55
65
|
set: (propName) => {
|
|
56
|
-
const
|
|
57
|
-
if (
|
|
58
|
-
|
|
66
|
+
const refs = elmsToUpdate.get(propName);
|
|
67
|
+
if (refs) {
|
|
68
|
+
const nextRefs = refs.filter((ref) => {
|
|
69
|
+
const elm = ref.deref();
|
|
70
|
+
if (!elm)
|
|
71
|
+
return false;
|
|
72
|
+
return ensureForceUpdate(elm);
|
|
73
|
+
});
|
|
74
|
+
elmsToUpdate.set(propName, nextRefs);
|
|
59
75
|
}
|
|
60
76
|
cleanupElements(elmsToUpdate);
|
|
61
77
|
},
|
|
62
78
|
reset: () => {
|
|
63
|
-
elmsToUpdate.forEach((
|
|
79
|
+
elmsToUpdate.forEach((refs) => {
|
|
80
|
+
refs.forEach((ref) => {
|
|
81
|
+
const elm = ref.deref();
|
|
82
|
+
if (elm)
|
|
83
|
+
ensureForceUpdate(elm);
|
|
84
|
+
});
|
|
85
|
+
});
|
|
64
86
|
cleanupElements(elmsToUpdate);
|
|
65
87
|
},
|
|
66
88
|
};
|
|
@@ -68,8 +90,11 @@ const stencilSubscription = () => {
|
|
|
68
90
|
|
|
69
91
|
const unwrap = (val) => (typeof val === 'function' ? val() : val);
|
|
70
92
|
const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {
|
|
71
|
-
const
|
|
72
|
-
|
|
93
|
+
const resolveDefaultState = () => (unwrap(defaultState) ?? {});
|
|
94
|
+
const initialState = resolveDefaultState();
|
|
95
|
+
let states = new Map(Object.entries(initialState));
|
|
96
|
+
const proxyAvailable = typeof Proxy !== 'undefined';
|
|
97
|
+
const plainState = proxyAvailable ? null : {};
|
|
73
98
|
const handlers = {
|
|
74
99
|
dispose: [],
|
|
75
100
|
get: [],
|
|
@@ -81,7 +106,10 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
|
|
|
81
106
|
const reset = () => {
|
|
82
107
|
// When resetting the state, the default state may be a function - unwrap it to invoke it.
|
|
83
108
|
// otherwise, the state won't be properly reset
|
|
84
|
-
states = new Map(Object.entries(
|
|
109
|
+
states = new Map(Object.entries(resolveDefaultState()));
|
|
110
|
+
if (!proxyAvailable) {
|
|
111
|
+
syncPlainStateKeys();
|
|
112
|
+
}
|
|
85
113
|
handlers.reset.forEach((cb) => cb());
|
|
86
114
|
};
|
|
87
115
|
const dispose = () => {
|
|
@@ -98,12 +126,14 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
|
|
|
98
126
|
const oldValue = states.get(propName);
|
|
99
127
|
if (shouldUpdate(value, oldValue, propName)) {
|
|
100
128
|
states.set(propName, value);
|
|
129
|
+
if (!proxyAvailable) {
|
|
130
|
+
ensurePlainProperty(propName);
|
|
131
|
+
}
|
|
101
132
|
handlers.set.forEach((cb) => cb(propName, value, oldValue));
|
|
102
133
|
}
|
|
103
134
|
};
|
|
104
|
-
const state = (
|
|
105
|
-
? {
|
|
106
|
-
: new Proxy(unwrappedState, {
|
|
135
|
+
const state = (proxyAvailable
|
|
136
|
+
? new Proxy(initialState, {
|
|
107
137
|
get(_, propName) {
|
|
108
138
|
return get(propName);
|
|
109
139
|
},
|
|
@@ -123,7 +153,11 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
|
|
|
123
153
|
set(propName, value);
|
|
124
154
|
return true;
|
|
125
155
|
},
|
|
126
|
-
})
|
|
156
|
+
})
|
|
157
|
+
: (() => {
|
|
158
|
+
syncPlainStateKeys();
|
|
159
|
+
return plainState;
|
|
160
|
+
})());
|
|
127
161
|
const on = (eventName, callback) => {
|
|
128
162
|
handlers[eventName].push(callback);
|
|
129
163
|
return () => {
|
|
@@ -136,7 +170,10 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
|
|
|
136
170
|
cb(newValue);
|
|
137
171
|
}
|
|
138
172
|
};
|
|
139
|
-
const resetHandler = () =>
|
|
173
|
+
const resetHandler = () => {
|
|
174
|
+
const snapshot = resolveDefaultState();
|
|
175
|
+
cb(snapshot[propName]);
|
|
176
|
+
};
|
|
140
177
|
// Register the handlers
|
|
141
178
|
const unSet = on('set', setHandler);
|
|
142
179
|
const unReset = on('reset', resetHandler);
|
|
@@ -179,6 +216,38 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
|
|
|
179
216
|
changeListeners.delete(listener);
|
|
180
217
|
}
|
|
181
218
|
};
|
|
219
|
+
function ensurePlainProperty(key) {
|
|
220
|
+
if (proxyAvailable || !plainState) {
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
if (Object.prototype.hasOwnProperty.call(plainState, key)) {
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
Object.defineProperty(plainState, key, {
|
|
227
|
+
configurable: true,
|
|
228
|
+
enumerable: true,
|
|
229
|
+
get() {
|
|
230
|
+
return get(key);
|
|
231
|
+
},
|
|
232
|
+
set(value) {
|
|
233
|
+
set(key, value);
|
|
234
|
+
},
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
function syncPlainStateKeys() {
|
|
238
|
+
if (proxyAvailable || !plainState) {
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
const knownKeys = new Set(states.keys());
|
|
242
|
+
for (const key of Object.keys(plainState)) {
|
|
243
|
+
if (!knownKeys.has(key)) {
|
|
244
|
+
delete plainState[key];
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
for (const key of knownKeys) {
|
|
248
|
+
ensurePlainProperty(key);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
182
251
|
return {
|
|
183
252
|
state,
|
|
184
253
|
get,
|
|
@@ -80,11 +80,14 @@ class LaunchScreenExecutor {
|
|
|
80
80
|
localFieldLabel = StringUtils.isEmpty(dataUnit.getField(localField).label) ? localField : localFieldLabel;
|
|
81
81
|
throw new ErrorException(this._application.messagesBuilder.getMessage("snkActionsButton.title.error", undefined), this._application.messagesBuilder.getMessage("snkActionsButton.launchScreen.emptyField", { description: action.description, localFieldLabel: localFieldLabel }));
|
|
82
82
|
}
|
|
83
|
-
value
|
|
84
|
-
|
|
83
|
+
if (value !== null && typeof value === 'object' && 'value' in value) {
|
|
84
|
+
value = value.value;
|
|
85
|
+
}
|
|
86
|
+
const finalValue = StringUtils.isEmpty(value === null || value === void 0 ? void 0 : value.toString()) ? undefined : value.toString();
|
|
87
|
+
launchObject[param.targetField] = finalValue;
|
|
85
88
|
processedParams.push({
|
|
86
89
|
fieldName: param.targetField,
|
|
87
|
-
value:
|
|
90
|
+
value: finalValue
|
|
88
91
|
});
|
|
89
92
|
});
|
|
90
93
|
launchObject.ACTION_PARAMETERS = processedParams;
|
|
@@ -607,6 +610,7 @@ const SnkActionsButton = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
|
|
|
607
610
|
action.execute(Object.assign({}, selectedAction));
|
|
608
611
|
this._showDropdown = false;
|
|
609
612
|
};
|
|
613
|
+
this.size = 'medium';
|
|
610
614
|
this._items = [];
|
|
611
615
|
this._showDropdown = false;
|
|
612
616
|
}
|
|
@@ -656,12 +660,13 @@ const SnkActionsButton = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
|
|
|
656
660
|
document.addEventListener("scroll", this.positionDropdown.bind(this));
|
|
657
661
|
}
|
|
658
662
|
async componentWillLoad() {
|
|
663
|
+
var _a, _b;
|
|
659
664
|
this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
|
|
660
665
|
await this.loadParameters();
|
|
661
666
|
const snkDataUnit = this._element.parentElement;
|
|
662
667
|
this._dataUnit = snkDataUnit === null || snkDataUnit === void 0 ? void 0 : snkDataUnit.dataUnit;
|
|
663
668
|
this._resourceID = snkDataUnit === null || snkDataUnit === void 0 ? void 0 : snkDataUnit.resourceID;
|
|
664
|
-
this._entityName = this._dataUnit.name.split('/')[2];
|
|
669
|
+
this._entityName = (_b = (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.name) === null || _b === void 0 ? void 0 : _b.split('/')[2];
|
|
665
670
|
if (this._resourceID == undefined) {
|
|
666
671
|
this._resourceID = await ResourceIDUtils.getResourceID();
|
|
667
672
|
}
|
|
@@ -701,9 +706,9 @@ const SnkActionsButton = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
|
|
|
701
706
|
}
|
|
702
707
|
render() {
|
|
703
708
|
return (h(Host, null, (this._actions && this._actions.length > 0) &&
|
|
704
|
-
(h("div", { class: `
|
|
709
|
+
(h("div", { class: `snk-actions-button
|
|
705
710
|
${this.canShowDropdown() ? " ez-elevation--16" : ""}
|
|
706
|
-
` }, h("ez-button", Object.assign({ ref: (ref) => this._ezButton = ref, iconName: "acao",
|
|
711
|
+
` }, h("ez-tooltip", { message: this._application.messagesBuilder.getMessage("snkActionsButton.title.actions", undefined) }, h("ez-button", Object.assign({ ref: (ref) => this._ezButton = ref, iconName: "acao", mode: "icon", onClick: () => this.controlDropdown(), size: this.size }, this.getElementID("button")))), h("div", Object.assign({ ref: (ref) => this._dropdownParent = ref, class: `${this.canShowDropdown() ?
|
|
707
712
|
"snk-actions-button__dropdown--show" :
|
|
708
713
|
"snk-actions-button__dropdown"}
|
|
709
714
|
` }, this.getElementID("dropdown")), (this.canShowDropdown()) &&
|
|
@@ -713,6 +718,7 @@ const SnkActionsButton = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
|
|
|
713
718
|
get _element() { return this; }
|
|
714
719
|
static get style() { return snkActionsButtonCss; }
|
|
715
720
|
}, [2, "snk-actions-button", {
|
|
721
|
+
"size": [1],
|
|
716
722
|
"_items": [32],
|
|
717
723
|
"_showDropdown": [32]
|
|
718
724
|
}]);
|
|
@@ -2,10 +2,11 @@ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/
|
|
|
2
2
|
import { DateUtils, StringUtils, ObjectUtils, WaitingChangeException, SilentException, WarningException, ErrorException, ElementIDUtils, SearchUtils, ArrayUtils, KeyboardManager, OnboardingUtils, DependencyType, DataType, ApplicationContext, ErrorTracking, UserAgentUtils, LockManager, LockManagerOperation } from '@sankhyalabs/core';
|
|
3
3
|
import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
|
|
4
4
|
import { C as ConfigStorage } from './ConfigStorage.js';
|
|
5
|
-
import { d as dist, D as DataFetcher, U as UrlUtils
|
|
5
|
+
import { d as dist, D as DataFetcher, U as UrlUtils } from './DataFetcher.js';
|
|
6
6
|
import { A as AutorizationType, a as AuthFetcher } from './auth-fetcher.js';
|
|
7
7
|
import { P as PreloadManager, D as DataUnitFetcher } from './dataunit-fetcher.js';
|
|
8
8
|
import { a as PesquisaFetcher } from './ISave.js';
|
|
9
|
+
import { S as SnkMessageBuilder } from './SnkMessageBuilder.js';
|
|
9
10
|
import { c as TEMPLATES_SKELETON } from './constants.js';
|
|
10
11
|
import './filter-item-type.enum.js';
|
|
11
12
|
import { F as FormConfigFetcher } from './form-config-fetcher.js';
|
|
@@ -274,6 +275,7 @@ class SnkErrorHandler {
|
|
|
274
275
|
this._app.error(exception.title, exception.message);
|
|
275
276
|
}
|
|
276
277
|
else {
|
|
278
|
+
console.warn("Erro não tratado", exception);
|
|
277
279
|
this._app.isDebugMode().then(isDebug => {
|
|
278
280
|
if (isDebug) {
|
|
279
281
|
if (exception instanceof Error) {
|
|
@@ -787,6 +789,7 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
|
|
|
787
789
|
this._popUp.opened = true;
|
|
788
790
|
this._popUp.heightMode = size;
|
|
789
791
|
this._popUp.useHeader = useHeader;
|
|
792
|
+
this._popUp.autoClose = false;
|
|
790
793
|
if (content.tagName === 'EZ-MODAL-CONTAINER') {
|
|
791
794
|
this._popUp.useHeader = false;
|
|
792
795
|
}
|
|
@@ -1387,12 +1390,29 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
|
|
|
1387
1390
|
* @async
|
|
1388
1391
|
*/
|
|
1389
1392
|
async executePreparedSearch(mode, argument, options) {
|
|
1393
|
+
var _a;
|
|
1390
1394
|
const mdByName = {};
|
|
1391
1395
|
const { entity, criteria, searchOptions, useSearchPlus } = options;
|
|
1392
1396
|
if (useSearchPlus) {
|
|
1393
1397
|
return executePreparedSearchPlus(mode, argument, options, this, this.pesquisaFetcher);
|
|
1394
1398
|
}
|
|
1395
|
-
if (mode === "
|
|
1399
|
+
if (mode === "LOAD_DESCRIPTION") {
|
|
1400
|
+
let result = await this.pesquisaFetcher.loadByCode(entity, argument, criteria, searchOptions);
|
|
1401
|
+
result = ObjectUtils.stringToObject(result.json.$);
|
|
1402
|
+
let descriptionField = result.descriptionField;
|
|
1403
|
+
const option = (_a = result.data) === null || _a === void 0 ? void 0 : _a[0];
|
|
1404
|
+
if (!option) {
|
|
1405
|
+
return {
|
|
1406
|
+
value: argument,
|
|
1407
|
+
label: ""
|
|
1408
|
+
};
|
|
1409
|
+
}
|
|
1410
|
+
return {
|
|
1411
|
+
value: argument,
|
|
1412
|
+
label: option[descriptionField]
|
|
1413
|
+
};
|
|
1414
|
+
}
|
|
1415
|
+
else if (mode === "ADVANCED") {
|
|
1396
1416
|
return executeAdvancedModeSearch(argument, options, this, this.pesquisaFetcher);
|
|
1397
1417
|
}
|
|
1398
1418
|
return new Promise((resolve, reject) => {
|