@sankhyalabs/sankhyablocks 10.1.0-dev.2 → 10.1.0-dev.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{ConfigStorage-5a73e979.js → ConfigStorage-a4e1e518.js} +2 -2
- package/dist/cjs/{DataFetcher-eeb3b0b7.js → DataFetcher-0b6aa084.js} +34 -24
- package/dist/cjs/{FormConfigHelper-ebb77625.js → FormConfigHelper-28fe4668.js} +44 -0
- package/dist/cjs/{ISave-861e9d6d.js → ISave-2c455a77.js} +4 -4
- package/dist/cjs/{PersonalizedFilterUtils-7259cf65.js → PersonalizedFilterUtils-eccb267a.js} +13 -0
- package/dist/cjs/{SnkFormConfigManager-8d4fded8.js → SnkFormConfigManager-b8c81493.js} +7 -7
- package/dist/cjs/{SnkMultiSelectionListDataSource-3b93f6a6.js → SnkMultiSelectionListDataSource-03b58f5a.js} +5 -5
- package/dist/cjs/{auth-fetcher-8d8acd69.js → auth-fetcher-7e7796c9.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-1cea0695.js → dataunit-fetcher-8dffbcdf.js} +1 -1
- 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 +7 -4
- package/dist/cjs/fields-selector.cjs.entry.js +2 -2
- package/dist/cjs/{form-config-fetcher-f347f884.js → form-config-fetcher-5516d68a.js} +1 -1
- package/dist/cjs/guides-configurator.cjs.entry.js +6 -4
- package/dist/cjs/{index-1cf293c1.js → index-1894343a.js} +1515 -171
- 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 +5 -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 +6 -6
- package/dist/cjs/snk-actions-form.cjs.entry.js +1 -1
- package/dist/cjs/snk-application.cjs.entry.js +99 -70
- package/dist/cjs/snk-attach.cjs.entry.js +8 -8
- package/dist/cjs/snk-client-confirm.cjs.entry.js +1 -1
- package/dist/cjs/snk-configurator.cjs.entry.js +1 -1
- package/dist/cjs/snk-crud.cjs.entry.js +100 -9
- 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 +6 -6
- package/dist/cjs/{snk-data-unit-de248308.js → snk-data-unit-036ce58c.js} +12 -3
- package/dist/cjs/snk-data-unit.cjs.entry.js +4 -4
- package/dist/cjs/snk-default-filter.cjs.entry.js +1 -1
- package/dist/cjs/snk-detail-view.cjs.entry.js +10 -10
- package/dist/cjs/snk-entity-list.cjs.entry.js +1 -1
- package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +1 -1
- package/dist/cjs/snk-expression-group_2.cjs.entry.js +2 -2
- package/dist/cjs/snk-filter-advanced-mode_2.cjs.entry.js +2 -2
- package/dist/cjs/snk-filter-bar_4.cjs.entry.js +58 -25
- 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 +2 -2
- package/dist/cjs/snk-filter-field-search_2.cjs.entry.js +2 -2
- package/dist/cjs/snk-filter-modal-item.cjs.entry.js +4 -4
- package/dist/cjs/snk-filter-multi-select.cjs.entry.js +1 -1
- package/dist/cjs/snk-filter-number.cjs.entry.js +2 -2
- package/dist/cjs/snk-filter-period.cjs.entry.js +11 -6
- 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 +1 -1
- package/dist/cjs/snk-form_2.cjs.entry.js +33 -10
- package/dist/cjs/snk-grid.cjs.entry.js +28 -19
- package/dist/cjs/{snk-guides-viewer-4ec3e7e1.js → snk-guides-viewer-164c063e.js} +86 -40
- package/dist/cjs/snk-guides-viewer.cjs.entry.js +10 -10
- package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +1 -1
- package/dist/cjs/snk-personalized-filter.cjs.entry.js +6 -6
- package/dist/cjs/snk-pesquisa.cjs.entry.js +17 -6
- package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
- package/dist/cjs/snk-simple-bar.cjs.entry.js +1 -1
- package/dist/cjs/snk-simple-crud.cjs.entry.js +12 -20
- package/dist/cjs/snk-taskbar.cjs.entry.js +67 -51
- package/dist/cjs/{taskbar-elements-fb5d1e08.js → taskbar-elements-8a80420e.js} +2 -2
- package/dist/cjs/teste-pesquisa.cjs.entry.js +1 -1
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/components/snk-application/search-strategy/exec-prepared-search-advaced-mode.js +27 -0
- package/dist/collection/components/snk-application/search-strategy/exec-prepared-search-plus.js +5 -25
- package/dist/collection/components/snk-application/snk-application.js +104 -44
- package/dist/collection/components/snk-attach/snk-attach.js +1 -1
- package/dist/collection/components/snk-crud/snk-crud.js +151 -2
- package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +133 -34
- 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-unit/snk-data-unit.js +9 -0
- package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-number.js +2 -2
- package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-period.js +11 -6
- 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-item.css +4 -0
- package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +7 -1
- package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +1 -0
- package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +15 -4
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +30 -13
- package/dist/collection/components/snk-form-config/FormConfigHelper.js +42 -0
- package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +6 -6
- 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 +6 -3
- package/dist/collection/components/snk-form-config/guides-configurator/guides-configurator.css +3 -3
- package/dist/collection/components/snk-form-config/guides-configurator/guides-configurator.js +5 -3
- package/dist/collection/components/snk-form-config/snk-form-config.js +53 -6
- package/dist/collection/components/snk-grid/snk-grid.css +12 -0
- package/dist/collection/components/snk-grid/snk-grid.js +39 -12
- 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.css +5 -1
- package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +43 -0
- package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +3 -11
- package/dist/collection/components/snk-taskbar/snk-taskbar.js +87 -48
- package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +3 -3
- package/dist/collection/lib/message/SnkMessageBuilder.js +11 -2
- package/dist/collection/lib/message/resources/en-us/snk-form.msg.js +7 -0
- package/dist/collection/lib/message/resources/es-es/snk-form.msg.js +7 -0
- package/dist/collection/lib/message/resources/pt-br/snk-form.msg.js +8 -1
- package/dist/collection/lib/message/resources/pt-br/snk-pesquisa.msg.js +1 -1
- package/dist/components/DataFetcher.js +34 -4
- package/dist/components/ISave.js +3 -3
- package/dist/components/PersonalizedFilterUtils.js +13 -0
- package/dist/components/SnkFormConfigManager.js +6 -6
- package/dist/components/field-config2.js +44 -2
- package/dist/components/fields-layout2.js +6 -3
- package/dist/components/guides-configurator2.js +5 -3
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.js +1 -0
- package/dist/components/index2.js +90 -21
- package/dist/components/snk-application2.js +93 -63
- package/dist/components/snk-attach2.js +1 -1
- package/dist/components/snk-crud.js +96 -1
- 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-unit2.js +9 -0
- package/dist/components/snk-detail-view2.js +81 -34
- package/dist/components/snk-filter-bar2.js +30 -13
- package/dist/components/snk-filter-item2.js +8 -2
- package/dist/components/snk-filter-modal2.js +16 -6
- package/dist/components/snk-filter-number.js +2 -2
- package/dist/components/snk-filter-period.js +10 -5
- package/dist/components/snk-filter-text.js +1 -1
- package/dist/components/snk-form-config2.js +29 -5
- package/dist/components/snk-grid2.js +22 -11
- package/dist/components/snk-pesquisa2.js +14 -2
- package/dist/components/snk-simple-crud2.js +3 -11
- package/dist/components/snk-taskbar2.js +66 -49
- package/dist/esm/{ConfigStorage-568dc227.js → ConfigStorage-39ac8fef.js} +2 -2
- package/dist/esm/{DataFetcher-743feb3b.js → DataFetcher-0b9da57d.js} +34 -4
- package/dist/esm/{FormConfigHelper-4e42f0b6.js → FormConfigHelper-d09669f3.js} +43 -1
- package/dist/esm/{ISave-345481c1.js → ISave-f1c9269b.js} +4 -4
- package/dist/esm/{PersonalizedFilterUtils-2db38ff2.js → PersonalizedFilterUtils-d2439a9a.js} +13 -0
- package/dist/esm/{SnkFormConfigManager-d61df0c8.js → SnkFormConfigManager-a87566c8.js} +7 -7
- package/dist/esm/{SnkMultiSelectionListDataSource-ca8d7a09.js → SnkMultiSelectionListDataSource-01b3744b.js} +5 -5
- package/dist/esm/{auth-fetcher-c353127d.js → auth-fetcher-acdc1cb4.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-7f2c61ca.js → dataunit-fetcher-4c312b43.js} +1 -1
- 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 +7 -4
- package/dist/esm/fields-selector.entry.js +2 -2
- package/dist/esm/{form-config-fetcher-898d2dd1.js → form-config-fetcher-7cda6254.js} +1 -1
- package/dist/esm/guides-configurator.entry.js +6 -4
- package/dist/esm/{index-479e1293.js → index-04f73a26.js} +1507 -171
- 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 +5 -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 +6 -6
- package/dist/esm/snk-actions-form.entry.js +1 -1
- package/dist/esm/snk-application.entry.js +99 -70
- package/dist/esm/snk-attach.entry.js +8 -8
- package/dist/esm/snk-client-confirm.entry.js +1 -1
- package/dist/esm/snk-configurator.entry.js +1 -1
- package/dist/esm/snk-crud.entry.js +100 -9
- 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 +6 -6
- package/dist/esm/{snk-data-unit-60b338c5.js → snk-data-unit-130021b3.js} +12 -3
- package/dist/esm/snk-data-unit.entry.js +4 -4
- package/dist/esm/snk-default-filter.entry.js +1 -1
- package/dist/esm/snk-detail-view.entry.js +10 -10
- package/dist/esm/snk-entity-list.entry.js +1 -1
- package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
- package/dist/esm/snk-expression-group_2.entry.js +2 -2
- package/dist/esm/snk-filter-advanced-mode_2.entry.js +2 -2
- package/dist/esm/snk-filter-bar_4.entry.js +58 -25
- 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 +2 -2
- package/dist/esm/snk-filter-field-search_2.entry.js +2 -2
- package/dist/esm/snk-filter-modal-item.entry.js +4 -4
- package/dist/esm/snk-filter-multi-select.entry.js +1 -1
- package/dist/esm/snk-filter-number.entry.js +2 -2
- package/dist/esm/snk-filter-period.entry.js +11 -6
- 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 +1 -1
- package/dist/esm/snk-form_2.entry.js +33 -10
- package/dist/esm/snk-grid.entry.js +28 -19
- package/dist/esm/{snk-guides-viewer-339e10b3.js → snk-guides-viewer-3fd18298.js} +86 -40
- package/dist/esm/snk-guides-viewer.entry.js +10 -10
- package/dist/esm/snk-personalized-filter-editor.entry.js +1 -1
- package/dist/esm/snk-personalized-filter.entry.js +6 -6
- package/dist/esm/snk-pesquisa.entry.js +17 -6
- package/dist/esm/snk-print-selector.entry.js +1 -1
- package/dist/esm/snk-simple-bar.entry.js +1 -1
- package/dist/esm/snk-simple-crud.entry.js +12 -20
- package/dist/esm/snk-taskbar.entry.js +68 -52
- package/dist/esm/{taskbar-elements-faaf5d8f.js → taskbar-elements-d1e63fb2.js} +2 -2
- 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-144da1d1.entry.js → p-12f595a6.entry.js} +1 -1
- package/dist/sankhyablocks/{p-162bddae.entry.js → p-175c9576.entry.js} +1 -1
- package/dist/sankhyablocks/p-18d66638.entry.js +1 -0
- package/dist/sankhyablocks/{p-1788d191.js → p-1f310bc6.js} +1 -1
- package/dist/sankhyablocks/{p-c4fcf1fb.entry.js → p-27e0cd68.entry.js} +1 -1
- package/dist/sankhyablocks/p-2ac55a5d.js +1 -0
- package/dist/sankhyablocks/{p-9a63f3f7.entry.js → p-2b882835.entry.js} +1 -1
- package/dist/sankhyablocks/{p-1f8cb438.entry.js → p-2c6be187.entry.js} +1 -1
- 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-093f58fa.entry.js → p-2f94cf87.entry.js} +1 -1
- package/dist/sankhyablocks/p-3a35917e.entry.js +1 -0
- package/dist/sankhyablocks/p-3a443150.entry.js +1 -0
- package/dist/sankhyablocks/{p-c90f337a.entry.js → p-3b6d8d33.entry.js} +1 -1
- package/dist/sankhyablocks/p-3db72758.entry.js +1 -0
- package/dist/sankhyablocks/{p-e8c49c12.js → p-48a5c311.js} +2 -2
- package/dist/sankhyablocks/p-52691b42.js +1 -0
- package/dist/sankhyablocks/{p-27482793.entry.js → p-5aae5c74.entry.js} +1 -1
- package/dist/sankhyablocks/p-6564180d.entry.js +1 -0
- package/dist/sankhyablocks/{p-6d241415.js → p-6768f176.js} +1 -1
- package/dist/sankhyablocks/p-68c1a093.js +1 -0
- package/dist/sankhyablocks/p-6d322b0a.js +1 -0
- package/dist/sankhyablocks/{p-7b3ca294.entry.js → p-7150eacf.entry.js} +1 -1
- package/dist/sankhyablocks/{p-825098c1.entry.js → p-752c57f4.entry.js} +1 -1
- package/dist/sankhyablocks/{p-49ddc27a.entry.js → p-752f4e29.entry.js} +1 -1
- package/dist/sankhyablocks/{p-e258de96.entry.js → p-76729994.entry.js} +1 -1
- package/dist/sankhyablocks/{p-7fc46290.js → p-7ee6b1bf.js} +1 -1
- package/dist/sankhyablocks/{p-27005fac.entry.js → p-877d9614.entry.js} +1 -1
- package/dist/sankhyablocks/p-8b4d6719.js +1 -0
- package/dist/sankhyablocks/{p-3d41f5a8.entry.js → p-8d946600.entry.js} +1 -1
- package/dist/sankhyablocks/{p-96d45943.entry.js → p-90ae6c2e.entry.js} +1 -1
- package/dist/sankhyablocks/p-94267a30.entry.js +1 -0
- package/dist/sankhyablocks/{p-59b8f277.js → p-998a9d6f.js} +1 -1
- package/dist/sankhyablocks/{p-21107f0d.entry.js → p-9c1ff75e.entry.js} +1 -1
- package/dist/sankhyablocks/{p-2fdac5e6.entry.js → p-9e109f5e.entry.js} +1 -1
- package/dist/sankhyablocks/{p-88ed2793.js → p-9e4555ab.js} +1 -1
- package/dist/sankhyablocks/p-a46ac091.js +1 -0
- package/dist/sankhyablocks/p-a73b6b00.js +1 -0
- package/dist/sankhyablocks/{p-164c822d.entry.js → p-acd2ba28.entry.js} +1 -1
- package/dist/sankhyablocks/{p-180716b2.entry.js → p-ae326d06.entry.js} +1 -1
- package/dist/sankhyablocks/p-b471bfab.entry.js +1 -0
- package/dist/sankhyablocks/p-b533edab.entry.js +1 -0
- package/dist/sankhyablocks/p-b555ce38.entry.js +1 -0
- package/dist/sankhyablocks/p-c2d33fc8.entry.js +1 -0
- package/dist/sankhyablocks/p-c3ec6642.js +19 -0
- package/dist/sankhyablocks/{p-91a9abb6.entry.js → p-c8043a53.entry.js} +1 -1
- package/dist/sankhyablocks/{p-c3dbf441.entry.js → p-cc64239c.entry.js} +1 -1
- package/dist/sankhyablocks/{p-b987e15d.js → p-cc9935af.js} +1 -1
- package/dist/sankhyablocks/{p-471b34f4.entry.js → p-cd00a3d1.entry.js} +1 -1
- package/dist/sankhyablocks/{p-b7e891cc.entry.js → p-cd40c8cf.entry.js} +1 -1
- package/dist/sankhyablocks/{p-bd203e8d.entry.js → p-cd412add.entry.js} +1 -1
- package/dist/sankhyablocks/{p-4c763b10.entry.js → p-d657f71f.entry.js} +1 -1
- package/dist/sankhyablocks/{p-e6b1c769.entry.js → p-d6dad5e4.entry.js} +1 -1
- package/dist/sankhyablocks/p-d714b6ca.js +1 -0
- package/dist/sankhyablocks/p-da455c82.js +12 -0
- package/dist/sankhyablocks/p-dea58642.entry.js +11 -0
- package/dist/sankhyablocks/p-e30acdca.entry.js +1 -0
- package/dist/sankhyablocks/p-ec9027a7.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-7e250432.entry.js → p-f7170e10.entry.js} +1 -1
- package/dist/sankhyablocks/p-f8c5395a.entry.js +1 -0
- package/dist/sankhyablocks/p-f8da8569.entry.js +1 -0
- package/dist/sankhyablocks/{p-7345782c.entry.js → p-f921270b.entry.js} +1 -1
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-application/search-strategy/exec-prepared-search-advaced-mode.d.ts +5 -0
- package/dist/types/components/snk-application/snk-application.d.ts +9 -0
- package/dist/types/components/snk-crud/snk-crud.d.ts +22 -0
- package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +23 -0
- package/dist/types/components/snk-custom-slot-guide/snk-custom-slot-guide.d.ts +16 -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-period.d.ts +1 -0
- package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +1 -1
- package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +2 -1
- package/dist/types/components/snk-form-config/FormConfigHelper.d.ts +6 -1
- package/dist/types/components/snk-form-config/SnkFormConfigManager.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 +9 -2
- package/dist/types/components/snk-grid/snk-grid.d.ts +6 -0
- package/dist/types/components/snk-personalized-filter/interfaces/IParameter.d.ts +1 -0
- package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +8 -0
- package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +0 -1
- package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +12 -4
- package/dist/types/components.d.ts +105 -0
- package/dist/types/lib/http/data-fetcher/fetchers/pesquisa-fetcher.d.ts +1 -0
- package/package.json +1 -1
- package/react/components.d.ts +1 -0
- package/react/components.js +1 -0
- package/react/components.js.map +1 -1
- package/dist/sankhyablocks/p-0cf9aa38.js +0 -1
- package/dist/sankhyablocks/p-11346b8d.entry.js +0 -1
- package/dist/sankhyablocks/p-1649f51e.entry.js +0 -1
- package/dist/sankhyablocks/p-1d585081.js +0 -1
- package/dist/sankhyablocks/p-3ed04f0d.entry.js +0 -1
- package/dist/sankhyablocks/p-4759912d.entry.js +0 -1
- package/dist/sankhyablocks/p-55798617.js +0 -1
- package/dist/sankhyablocks/p-56948f00.entry.js +0 -11
- package/dist/sankhyablocks/p-60dd1d27.entry.js +0 -1
- package/dist/sankhyablocks/p-626b7a17.js +0 -1
- package/dist/sankhyablocks/p-8f73da95.js +0 -1
- package/dist/sankhyablocks/p-95c71f5e.entry.js +0 -1
- package/dist/sankhyablocks/p-988afe78.js +0 -1
- package/dist/sankhyablocks/p-9f2cdaab.entry.js +0 -1
- package/dist/sankhyablocks/p-9fe91526.js +0 -1
- package/dist/sankhyablocks/p-a5108625.entry.js +0 -1
- package/dist/sankhyablocks/p-aae4258d.entry.js +0 -1
- package/dist/sankhyablocks/p-af9d79e0.entry.js +0 -1
- package/dist/sankhyablocks/p-bb0de89c.entry.js +0 -1
- package/dist/sankhyablocks/p-d8d8169b.js +0 -2
- package/dist/sankhyablocks/p-e64958ba.entry.js +0 -1
- package/dist/sankhyablocks/p-f25c50f7.entry.js +0 -1
- package/dist/sankhyablocks/p-f8f29e1a.entry.js +0 -1
|
@@ -55,7 +55,8 @@ export class SnkGrid {
|
|
|
55
55
|
this._popUpGridConfig = false;
|
|
56
56
|
this._showSnkFilterBar = true;
|
|
57
57
|
this._enableContinuousInsert = false;
|
|
58
|
-
this.
|
|
58
|
+
this._filterMode = 'regular';
|
|
59
|
+
this.columnFilterDataSource = undefined;
|
|
59
60
|
this.enableLockManagerLoadingComp = false;
|
|
60
61
|
this.enableLockManagerTaskbarClick = false;
|
|
61
62
|
this.configName = undefined;
|
|
@@ -74,6 +75,7 @@ export class SnkGrid {
|
|
|
74
75
|
this.canEdit = true;
|
|
75
76
|
this.taskbarCustomContainerId = undefined;
|
|
76
77
|
this.gridHeaderCustomSlotId = 'GRID_HEADER_CUSTOM_ELEMENTS';
|
|
78
|
+
this.gridHeaderDynamicSearchSlotId = 'GRID_HEADER_DYNAMIC_SEARCH';
|
|
77
79
|
this.topTaskbarCustomSlotId = 'GRID_TASKBAR_CUSTOM_ELEMENTS';
|
|
78
80
|
this.disablePersonalizedFilter = undefined;
|
|
79
81
|
this.gridLegacyConfigName = undefined;
|
|
@@ -381,14 +383,20 @@ export class SnkGrid {
|
|
|
381
383
|
}
|
|
382
384
|
return action;
|
|
383
385
|
}
|
|
386
|
+
initializeColumnFilterDataSource() {
|
|
387
|
+
var _a, _b, _c;
|
|
388
|
+
const isInMemoryDataUnit = (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.name.includes("InMemoryDataUnit");
|
|
389
|
+
if (!this.columnFilterDataSource && !isInMemoryDataUnit) {
|
|
390
|
+
this.columnFilterDataSource = new SnkMultiSelectionListDataSource();
|
|
391
|
+
}
|
|
392
|
+
(_b = this.columnFilterDataSource) === null || _b === void 0 ? void 0 : _b.setApplication(this._application);
|
|
393
|
+
(_c = this.columnFilterDataSource) === null || _c === void 0 ? void 0 : _c.setDataUnit(this._dataUnit);
|
|
394
|
+
}
|
|
384
395
|
finishLoading() {
|
|
385
396
|
this._dataUnit.addInterceptor(this.dataUnitInterceptor);
|
|
386
397
|
CrudUtils.assertDefaultSorting(this._gridConfig, this._dataUnit);
|
|
387
398
|
this.addElementID();
|
|
388
|
-
|
|
389
|
-
this.columnFilterDataSource.setApplication(this._application);
|
|
390
|
-
this.columnFilterDataSource.setDataUnit(this._dataUnit);
|
|
391
|
-
}
|
|
399
|
+
this.initializeColumnFilterDataSource();
|
|
392
400
|
}
|
|
393
401
|
setCustomRenders() {
|
|
394
402
|
if (!this._grid) {
|
|
@@ -572,7 +580,8 @@ export class SnkGrid {
|
|
|
572
580
|
return;
|
|
573
581
|
}
|
|
574
582
|
if (filterConfig.length === 1 && filterConfig[0].id === 'PERSONALIZED_FILTER_GROUP') {
|
|
575
|
-
this._showSnkFilterBar =
|
|
583
|
+
this._showSnkFilterBar = true;
|
|
584
|
+
this._filterMode = filterConfig[0].groupedItems.length > 0 ? 'regular' : 'button';
|
|
576
585
|
return;
|
|
577
586
|
}
|
|
578
587
|
this._showSnkFilterBar = true;
|
|
@@ -589,10 +598,10 @@ export class SnkGrid {
|
|
|
589
598
|
if (!this._dataUnit) {
|
|
590
599
|
return undefined;
|
|
591
600
|
}
|
|
592
|
-
return (h("div", { class: "snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large ez-box--no-outline", tabindex: "0" }, h("div", { class: "snk-grid__header
|
|
593
|
-
h(Fragment, null, h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, title: this.filterBarTitle, dataUnit: this._dataUnit, "data-element-id": "gridFilter", class: "snk-grid__filter-bar ez-align--top", configName: this.configName, messagesBuilder: this.messagesBuilder, resourceID: this.resourceID, onConfigUpdated: evt => this.handleFilterConfigUpdated(evt.detail), disablePersonalizedFilter: this.disablePersonalizedFilter, filterBarLegacyConfigName: this.filterBarLegacyConfigName, autoLoad: this.autoLoad, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp, filterCustomConfig: this.filterCustomConfig, filterCustomConfigInterceptor: this.filterCustomConfigInterceptor }), h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" })), h("snk-taskbar", { class: "ez-padding-left--medium ez-padding-top--extra-small", "data-element-id": "grid_top", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.topTaskbarCustomSlotId, overflowStrategy: 'none', actionsSettingsList: this.getActionsSettingsList() }, h("slot", { name: this.topTaskbarCustomSlotId }))), h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === PresentationMode.SECONDARY ? 'snk-grid-container__without-shadow ' : '') + 'snk-grid__table', "data-element-id": "embedded", dataUnit: this._dataUnit, key: 'grid-' + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => {
|
|
601
|
+
return (h("div", { class: "snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large ez-box--no-outline", tabindex: "0" }, h("div", { class: "snk-grid__header" }, this._showSnkFilterBar &&
|
|
602
|
+
h(Fragment, null, h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, title: this.filterBarTitle, dataUnit: this._dataUnit, "data-element-id": "gridFilter", class: "snk-grid__filter-bar ez-align--top", configName: this.configName, messagesBuilder: this.messagesBuilder, resourceID: this.resourceID, onConfigUpdated: evt => this.handleFilterConfigUpdated(evt.detail), disablePersonalizedFilter: this.disablePersonalizedFilter, filterBarLegacyConfigName: this.filterBarLegacyConfigName, autoLoad: this.autoLoad, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp, filterCustomConfig: this.filterCustomConfig, filterCustomConfigInterceptor: this.filterCustomConfigInterceptor, mode: this._filterMode }), h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" })), h("snk-taskbar", { class: "ez-padding-left--medium ez-padding-top--extra-small", "data-element-id": "grid_top", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.topTaskbarCustomSlotId, overflowStrategy: 'none', actionsSettingsList: this.getActionsSettingsList() }, h("slot", { name: this.topTaskbarCustomSlotId }))), h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === PresentationMode.SECONDARY ? 'snk-grid-container__without-shadow ' : '') + 'snk-grid__table', "data-element-id": "embedded", dataUnit: this._dataUnit, key: 'grid-' + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => {
|
|
594
603
|
this.gridConfigChangeHandler(evt);
|
|
595
|
-
}, onEzColumnFilterChanged: async () => await this.dataExporterProviderStore(), onEzDoubleClick: (evt) => this.gridDoubleClick.emit(evt.detail), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, columnfilterDataSource: this.columnFilterDataSource, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, recordsValidator: this.recordsValidator, canEdit: this.canEdit, autoFocus: this.autoFocus, enableGridInsert: this.enableGridInsert, enableContinuousInsert: this._enableContinuousInsert, enableLockManagerTaskbarClick: this.enableLockManagerTaskbarClick, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp, outlineMode: this.outlineMode, useSearchColumn: this.useSearchColumn, suppressHorizontalScroll: this.suppressHorizontalScroll, paginationCounterMode: this.paginationCounterMode, suppressCheckboxColumn: this.suppressCheckboxColumn, suppressFilterColumn: this.suppressFilterColumn, compact: this.compact }, h("snk-taskbar", { id: 'teste', dataUnit: this._dataUnit, configName: this.configName, messagesBuilder: this.messagesBuilder, "data-element-id": "grid_left", buttons: this.getGridHeaderButtons(), presentationMode: this.presentationMode, disabledButtons: this._headerTaskbarProcessor.disabledButtons, customButtons: this._headerTaskbarProcessor.customButtons, slot: "leftButtons", actionsList: this.getActionsList(), primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.gridHeaderCustomSlotId, actionsSettingsList: this.getActionsSettingsList() }, h("slot", { name: this.gridHeaderCustomSlotId }))), h("div", { class: "ez-col ez-col--sd-12 snk-grid-container__footer" }, h("slot", { name: "SnkGridFooter" })), h("ez-popup", { size: "medium", heightMode: "auto", useHeader: false, opened: this._popUpGridConfig, onEzClosePopup: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), selectedIndex: 0, configName: this.configName, onConfigChange: (evt) => this.modalConfigChangeHandler(evt), onConfigCancel: () => this.closeGridConfig(), resourceID: this.resourceID }))));
|
|
604
|
+
}, onEzColumnFilterChanged: async () => await this.dataExporterProviderStore(), onEzDoubleClick: (evt) => this.gridDoubleClick.emit(evt.detail), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, columnfilterDataSource: this.columnFilterDataSource, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, recordsValidator: this.recordsValidator, canEdit: this.canEdit, autoFocus: this.autoFocus, enableGridInsert: this.enableGridInsert, enableContinuousInsert: this._enableContinuousInsert, enableLockManagerTaskbarClick: this.enableLockManagerTaskbarClick, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp, outlineMode: this.outlineMode, useSearchColumn: this.useSearchColumn, suppressHorizontalScroll: this.suppressHorizontalScroll, paginationCounterMode: this.paginationCounterMode, suppressCheckboxColumn: this.suppressCheckboxColumn, suppressFilterColumn: this.suppressFilterColumn, compact: this.compact }, h("snk-taskbar", { id: 'teste', dataUnit: this._dataUnit, configName: this.configName, messagesBuilder: this.messagesBuilder, "data-element-id": "grid_left", buttons: this.getGridHeaderButtons(), presentationMode: this.presentationMode, disabledButtons: this._headerTaskbarProcessor.disabledButtons, customButtons: this._headerTaskbarProcessor.customButtons, slot: "leftButtons", actionsList: this.getActionsList(), primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.gridHeaderCustomSlotId, additionalSlotId: this.gridHeaderDynamicSearchSlotId, actionsSettingsList: this.getActionsSettingsList() }, h("slot", { name: this.gridHeaderCustomSlotId }), h("slot", { name: this.gridHeaderDynamicSearchSlotId }))), h("div", { class: "ez-col ez-col--sd-12 snk-grid-container__footer" }, h("slot", { name: "SnkGridFooter" })), h("ez-popup", { size: "medium", heightMode: "auto", useHeader: false, opened: this._popUpGridConfig, onEzClosePopup: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), selectedIndex: 0, configName: this.configName, onConfigChange: (evt) => this.modalConfigChangeHandler(evt), onConfigCancel: () => this.closeGridConfig(), resourceID: this.resourceID }))));
|
|
596
605
|
}
|
|
597
606
|
static get is() { return "snk-grid"; }
|
|
598
607
|
static get encapsulation() { return "scoped"; }
|
|
@@ -626,8 +635,7 @@ export class SnkGrid {
|
|
|
626
635
|
"docs": {
|
|
627
636
|
"tags": [],
|
|
628
637
|
"text": "Define o data source para o filtro de colunas."
|
|
629
|
-
}
|
|
630
|
-
"defaultValue": "new SnkMultiSelectionListDataSource()"
|
|
638
|
+
}
|
|
631
639
|
},
|
|
632
640
|
"enableLockManagerLoadingComp": {
|
|
633
641
|
"type": "boolean",
|
|
@@ -974,6 +982,24 @@ export class SnkGrid {
|
|
|
974
982
|
"reflect": false,
|
|
975
983
|
"defaultValue": "'GRID_HEADER_CUSTOM_ELEMENTS'"
|
|
976
984
|
},
|
|
985
|
+
"gridHeaderDynamicSearchSlotId": {
|
|
986
|
+
"type": "string",
|
|
987
|
+
"mutable": false,
|
|
988
|
+
"complexType": {
|
|
989
|
+
"original": "string",
|
|
990
|
+
"resolved": "string",
|
|
991
|
+
"references": {}
|
|
992
|
+
},
|
|
993
|
+
"required": false,
|
|
994
|
+
"optional": false,
|
|
995
|
+
"docs": {
|
|
996
|
+
"tags": [],
|
|
997
|
+
"text": "Define o nome do slot para a aba de pesquisa no cabe\u00E7alho da grade."
|
|
998
|
+
},
|
|
999
|
+
"attribute": "grid-header-dynamic-search-slot-id",
|
|
1000
|
+
"reflect": false,
|
|
1001
|
+
"defaultValue": "'GRID_HEADER_DYNAMIC_SEARCH'"
|
|
1002
|
+
},
|
|
977
1003
|
"topTaskbarCustomSlotId": {
|
|
978
1004
|
"type": "string",
|
|
979
1005
|
"mutable": false,
|
|
@@ -1331,7 +1357,8 @@ export class SnkGrid {
|
|
|
1331
1357
|
"_gridConfig": {},
|
|
1332
1358
|
"_popUpGridConfig": {},
|
|
1333
1359
|
"_showSnkFilterBar": {},
|
|
1334
|
-
"_enableContinuousInsert": {}
|
|
1360
|
+
"_enableContinuousInsert": {},
|
|
1361
|
+
"_filterMode": {}
|
|
1335
1362
|
};
|
|
1336
1363
|
}
|
|
1337
1364
|
static get events() {
|
|
@@ -75,6 +75,9 @@ export class PersonalizedFilterUtils {
|
|
|
75
75
|
}
|
|
76
76
|
else if (DataType.DATE == type) {
|
|
77
77
|
value = this.convertDataValue(value);
|
|
78
|
+
if (value === undefined) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
78
81
|
}
|
|
79
82
|
else if (DataType.BOOLEAN == type) {
|
|
80
83
|
value = value ? "S" : "N";
|
|
@@ -100,9 +103,19 @@ export class PersonalizedFilterUtils {
|
|
|
100
103
|
return `?:{entidade=${expressionItem.entityName || ""};campo=${expressionItem.fieldName || ""}}`;
|
|
101
104
|
}
|
|
102
105
|
static convertDataValue(value) {
|
|
106
|
+
if (value == null || value === '' || value === undefined) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
103
109
|
if (typeof value == 'string') {
|
|
110
|
+
const trimmedValue = value.trim();
|
|
111
|
+
if (trimmedValue === '' || trimmedValue === '/' || trimmedValue === ' / /') {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
104
114
|
value = new Date(value);
|
|
105
115
|
}
|
|
116
|
+
if (value instanceof Date && isNaN(value.getTime())) {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
106
119
|
return DateUtils.formatDate(value);
|
|
107
120
|
}
|
|
108
121
|
/*
|
|
@@ -43,6 +43,10 @@
|
|
|
43
43
|
/*@doc Define a largura da barra de rolagem do componente.*/
|
|
44
44
|
--snk-pesquisa__scrollbar--width: var(--space--small, 6px);
|
|
45
45
|
|
|
46
|
+
/*@doc Define o tamanho do conteúdo scrollável do popup */
|
|
47
|
+
--snk-pesquisa__scrollable-content--height: calc(100vh - 300px);
|
|
48
|
+
|
|
49
|
+
|
|
46
50
|
height: 100%;
|
|
47
51
|
display: flex;
|
|
48
52
|
flex-direction: column;
|
|
@@ -79,7 +83,7 @@
|
|
|
79
83
|
/*public*/
|
|
80
84
|
scrollbar-color: var(--snk-pesquisa__scrollbar--color-clicked) var(--snk-pesquisa__scrollbar--color-background);
|
|
81
85
|
padding-right: var(--snk-pesquisa__content--padding-right);
|
|
82
|
-
height:
|
|
86
|
+
height: var(--snk-pesquisa__scrollable-content--height);
|
|
83
87
|
}
|
|
84
88
|
|
|
85
89
|
.snk-pesquisa__content::-webkit-scrollbar {
|
|
@@ -33,6 +33,17 @@ export class SnkPesquisa {
|
|
|
33
33
|
this._textInput.value = this.argument;
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
+
/** * Executa uma pesquisa programaticamente.
|
|
37
|
+
* Útil para cenários onde a pesquisa precisa ser disparada sem interação do usuário.
|
|
38
|
+
*
|
|
39
|
+
* @param text Texto utilizado como argumento de pesquisa.
|
|
40
|
+
* @example
|
|
41
|
+
* await pesquisaRef.executeSearch("Texto para pesquisa");
|
|
42
|
+
*/
|
|
43
|
+
async executeSearch(text) {
|
|
44
|
+
this.argument = text;
|
|
45
|
+
this.onChangeValue({ detail: text });
|
|
46
|
+
}
|
|
36
47
|
clearSearch() {
|
|
37
48
|
this.argument = "";
|
|
38
49
|
this._itemList = undefined;
|
|
@@ -606,6 +617,38 @@ export class SnkPesquisa {
|
|
|
606
617
|
"_valideDataSource": {}
|
|
607
618
|
};
|
|
608
619
|
}
|
|
620
|
+
static get methods() {
|
|
621
|
+
return {
|
|
622
|
+
"executeSearch": {
|
|
623
|
+
"complexType": {
|
|
624
|
+
"signature": "(text: string) => Promise<void>",
|
|
625
|
+
"parameters": [{
|
|
626
|
+
"tags": [{
|
|
627
|
+
"name": "param",
|
|
628
|
+
"text": "text Texto utilizado como argumento de pesquisa."
|
|
629
|
+
}],
|
|
630
|
+
"text": "Texto utilizado como argumento de pesquisa."
|
|
631
|
+
}],
|
|
632
|
+
"references": {
|
|
633
|
+
"Promise": {
|
|
634
|
+
"location": "global"
|
|
635
|
+
}
|
|
636
|
+
},
|
|
637
|
+
"return": "Promise<void>"
|
|
638
|
+
},
|
|
639
|
+
"docs": {
|
|
640
|
+
"text": "* Executa uma pesquisa programaticamente.\n\u00DAtil para cen\u00E1rios onde a pesquisa precisa ser disparada sem intera\u00E7\u00E3o do usu\u00E1rio.",
|
|
641
|
+
"tags": [{
|
|
642
|
+
"name": "param",
|
|
643
|
+
"text": "text Texto utilizado como argumento de pesquisa."
|
|
644
|
+
}, {
|
|
645
|
+
"name": "example",
|
|
646
|
+
"text": "await pesquisaRef.executeSearch(\"Texto para pesquisa\");"
|
|
647
|
+
}]
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
};
|
|
651
|
+
}
|
|
609
652
|
static get elementRef() { return "_element"; }
|
|
610
653
|
static get watchers() {
|
|
611
654
|
return [{
|
|
@@ -157,11 +157,10 @@ export class SnkSimpleCrud {
|
|
|
157
157
|
}
|
|
158
158
|
getButtons(selected, extraButtons, removeRefresh) {
|
|
159
159
|
let btnList = selected ? REGULAR_SELECTED_BTNS : REGULAR_DEFAULT_BTNS;
|
|
160
|
-
if (removeRefresh) {
|
|
160
|
+
if (removeRefresh || this.mode === SIMPLE_CRUD_MODE.IN_MEMORY) {
|
|
161
161
|
btnList = btnList.filter(item => item !== TaskbarElement.REFRESH);
|
|
162
162
|
}
|
|
163
|
-
return this.addConfigButton(
|
|
164
|
-
.concat(extraButtons));
|
|
163
|
+
return this.addConfigButton(btnList.concat(extraButtons));
|
|
165
164
|
}
|
|
166
165
|
addConfigButton(buttons) {
|
|
167
166
|
if (this.configName === undefined || (this.configName && this.gridLegacyConfigName)) {
|
|
@@ -172,13 +171,6 @@ export class SnkSimpleCrud {
|
|
|
172
171
|
get application() {
|
|
173
172
|
return ApplicationContext.getContextValue("__SNK__APPLICATION__");
|
|
174
173
|
}
|
|
175
|
-
resolveInMemoryBtns(taskbarButtons) {
|
|
176
|
-
const newTaskBarConfig = [...taskbarButtons];
|
|
177
|
-
if (this.mode === SIMPLE_CRUD_MODE.IN_MEMORY) {
|
|
178
|
-
newTaskBarConfig.splice(1, 1);
|
|
179
|
-
}
|
|
180
|
-
return newTaskBarConfig;
|
|
181
|
-
}
|
|
182
174
|
/**
|
|
183
175
|
* @description Usado para alternar a visão entre GRID e FORM externamente.
|
|
184
176
|
* @param {VIEW_MODE} view - A visão para a qual navegar.
|
|
@@ -879,7 +871,7 @@ export class SnkSimpleCrud {
|
|
|
879
871
|
},
|
|
880
872
|
"dataState": {
|
|
881
873
|
"type": "unknown",
|
|
882
|
-
"mutable":
|
|
874
|
+
"mutable": true,
|
|
883
875
|
"complexType": {
|
|
884
876
|
"original": "DataState",
|
|
885
877
|
"resolved": "DataState",
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import { Action as DUAction,
|
|
1
|
+
import { ApplicationContext, Action as DUAction, ElementIDUtils, LockManager, LockManagerOperation, OverflowDirection, OVERFLOWED_CLASS_NAME, OverflowWatcher, SilentException, StringUtils, } from '@sankhyalabs/core';
|
|
2
2
|
import { h, Host } from '@stencil/core';
|
|
3
|
+
import { PresentationMode } from '../../lib/@types';
|
|
3
4
|
import { AuthorizationConfig } from '../snk-configurator/AuthorizationConfig';
|
|
4
5
|
import { AuthorizationElements, buildCustomButton, buildElem, TaskbarElement, VisibleWhenForbidden, } from './elements/taskbar-elements';
|
|
5
|
-
import { PresentationMode } from '../../lib/@types';
|
|
6
6
|
export class SnkTaskbar {
|
|
7
7
|
constructor() {
|
|
8
8
|
this.TASKBAR_ITEM_ID_PREFIX = 'TASKBAR_ITEM_';
|
|
9
9
|
this.TASKBAR_CUSTOM_ELEMENTS_CONTAINER_CLASS_NAME = 'taskbar-custom-elements-container';
|
|
10
|
-
this.ACTIONS_BUTTON_TAG = 'TASKBAR-ACTIONS-BUTTON';
|
|
11
10
|
this.NOT_OVERFLOW_ELEMENTS = ["moreOptions", "dataExporter_snkDataExporter", "actionsButton_snkActionsButton"];
|
|
12
11
|
this.TASKBAR_CUSTOM_ELEMENTS = 'taskbar-custom-elements-container';
|
|
12
|
+
this.TASKBAR_ADDITIONAL_SLOT_CONTAINER_CLASS_NAME = 'taskbar-additional-slot-container';
|
|
13
|
+
this.TASKBAR_ADDITIONAL_SLOT = 'taskbar-additional-slot-container';
|
|
14
|
+
this._dataUnitInitialized = false;
|
|
13
15
|
this._titleKeyByElement = {
|
|
14
16
|
[TaskbarElement.UPDATE_MULTIPLE]: "snkTaskbar.titleUpdateMultiple",
|
|
15
17
|
[TaskbarElement.UPDATE]: "snkTaskbar.titleUpdate",
|
|
@@ -52,6 +54,7 @@ export class SnkTaskbar {
|
|
|
52
54
|
this._isWaitingForSave = false;
|
|
53
55
|
this.alignRigth = false;
|
|
54
56
|
this.customSlotId = "TASKBAR_CUSTOM_ELEMENTS";
|
|
57
|
+
this.additionalSlotId = "TASKBAR_ADDITIONAL_SLOT";
|
|
55
58
|
this.customContainerId = undefined;
|
|
56
59
|
this.overflowStrategy = 'hiddenItems';
|
|
57
60
|
this.configName = undefined;
|
|
@@ -107,6 +110,17 @@ export class SnkTaskbar {
|
|
|
107
110
|
this.taskbarSaveUnlocker.emit();
|
|
108
111
|
}
|
|
109
112
|
}
|
|
113
|
+
observeDataUnit(newValue) {
|
|
114
|
+
this.initializeDataUnit(newValue);
|
|
115
|
+
}
|
|
116
|
+
initializeDataUnit(dataUnit) {
|
|
117
|
+
if (!!dataUnit && !this._dataUnitInitialized) {
|
|
118
|
+
this._dataUnitInitialized = true;
|
|
119
|
+
const dataInfo = { dataUnit: this.dataUnit };
|
|
120
|
+
ElementIDUtils.addIDInfo(this._element, null, dataInfo);
|
|
121
|
+
this.dataUnit.subscribe(this.onSaveEvent);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
110
124
|
// Internal methods
|
|
111
125
|
elementsFromString(strButtons) {
|
|
112
126
|
const elements = [];
|
|
@@ -152,45 +166,46 @@ export class SnkTaskbar {
|
|
|
152
166
|
}
|
|
153
167
|
elementClick(elem) {
|
|
154
168
|
LockManager.whenResolve(this._element, LockManagerOperation.TASKBAR_CLICK).then(() => {
|
|
155
|
-
if (this.dataUnit) {
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
169
|
+
if (!this.dataUnit) {
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
switch (elem) {
|
|
173
|
+
case TaskbarElement.PREVIOUS:
|
|
174
|
+
this.dataUnit.previousRecord();
|
|
175
|
+
break;
|
|
176
|
+
case TaskbarElement.NEXT:
|
|
177
|
+
this.dataUnit.nextRecord();
|
|
178
|
+
break;
|
|
179
|
+
case TaskbarElement.REFRESH:
|
|
180
|
+
this.dataUnit.loadData();
|
|
181
|
+
break;
|
|
182
|
+
case TaskbarElement.CLONE:
|
|
183
|
+
this.dataUnit.copySelected();
|
|
184
|
+
break;
|
|
185
|
+
case TaskbarElement.REMOVE:
|
|
186
|
+
this.dataUnit.removeSelectedRecords();
|
|
187
|
+
break;
|
|
188
|
+
case TaskbarElement.INSERT:
|
|
189
|
+
this.dataUnit.addRecord();
|
|
190
|
+
break;
|
|
191
|
+
case TaskbarElement.CANCEL:
|
|
192
|
+
this.dataUnit.cancelEdition();
|
|
193
|
+
break;
|
|
194
|
+
case TaskbarElement.SAVE:
|
|
195
|
+
if (!this._isWaitingForSave) {
|
|
196
|
+
this._isWaitingForSave = true;
|
|
197
|
+
this.dataUnit.saveData().catch((err) => {
|
|
198
|
+
if (err instanceof SilentException) {
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
throw err;
|
|
203
|
+
}
|
|
204
|
+
}).finally(() => {
|
|
205
|
+
this._isWaitingForSave = false;
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
break;
|
|
194
209
|
}
|
|
195
210
|
if (this.isEnabled(elem))
|
|
196
211
|
this.actionClick.emit(elem);
|
|
@@ -372,7 +387,8 @@ export class SnkTaskbar {
|
|
|
372
387
|
return (_a = element.getAttribute('data-taskbar-label')) !== null && _a !== void 0 ? _a : "";
|
|
373
388
|
}
|
|
374
389
|
hasToIgnoreOverFlow(element) {
|
|
375
|
-
return element.classList.contains(this.TASKBAR_CUSTOM_ELEMENTS_CONTAINER_CLASS_NAME)
|
|
390
|
+
return element.classList.contains(this.TASKBAR_CUSTOM_ELEMENTS_CONTAINER_CLASS_NAME) ||
|
|
391
|
+
element.classList.contains(this.TASKBAR_ADDITIONAL_SLOT_CONTAINER_CLASS_NAME);
|
|
376
392
|
}
|
|
377
393
|
handleOverFlowStrategy() {
|
|
378
394
|
if (this.overflowStrategy === 'hiddenItems') {
|
|
@@ -388,10 +404,8 @@ export class SnkTaskbar {
|
|
|
388
404
|
};
|
|
389
405
|
}
|
|
390
406
|
componentDidLoad() {
|
|
391
|
-
|
|
392
|
-
ElementIDUtils.addIDInfo(this._element, null, dataInfo);
|
|
407
|
+
this.initializeDataUnit(this.dataUnit);
|
|
393
408
|
this.handleOverFlowStrategy();
|
|
394
|
-
this.dataUnit.subscribe(this.onSaveEvent);
|
|
395
409
|
}
|
|
396
410
|
componentDidRender() {
|
|
397
411
|
this.appendCustomElementsInTaskbar();
|
|
@@ -418,7 +432,7 @@ export class SnkTaskbar {
|
|
|
418
432
|
this._slotContainer.appendChild(customElement);
|
|
419
433
|
}
|
|
420
434
|
render() {
|
|
421
|
-
var _a;
|
|
435
|
+
var _a, _b;
|
|
422
436
|
if (this._definitions === undefined) {
|
|
423
437
|
return undefined;
|
|
424
438
|
}
|
|
@@ -438,7 +452,8 @@ export class SnkTaskbar {
|
|
|
438
452
|
(_b = this._overFlowWatcher) === null || _b === void 0 ? void 0 : _b.addNotOverFlowElement(elem);
|
|
439
453
|
return h("slot", { name: elem });
|
|
440
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 :
|
|
441
|
-
_a.addNotOverFlowElement(this.TASKBAR_CUSTOM_ELEMENTS))))
|
|
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))));
|
|
442
457
|
}
|
|
443
458
|
getHostClasses() {
|
|
444
459
|
if (this.overflowStrategy !== 'hiddenItems')
|
|
@@ -501,6 +516,27 @@ export class SnkTaskbar {
|
|
|
501
516
|
"reflect": false,
|
|
502
517
|
"defaultValue": "\"TASKBAR_CUSTOM_ELEMENTS\""
|
|
503
518
|
},
|
|
519
|
+
"additionalSlotId": {
|
|
520
|
+
"type": "string",
|
|
521
|
+
"mutable": false,
|
|
522
|
+
"complexType": {
|
|
523
|
+
"original": "string",
|
|
524
|
+
"resolved": "string",
|
|
525
|
+
"references": {}
|
|
526
|
+
},
|
|
527
|
+
"required": false,
|
|
528
|
+
"optional": false,
|
|
529
|
+
"docs": {
|
|
530
|
+
"tags": [{
|
|
531
|
+
"name": "description",
|
|
532
|
+
"text": "Define o identificador do slot adicional."
|
|
533
|
+
}],
|
|
534
|
+
"text": ""
|
|
535
|
+
},
|
|
536
|
+
"attribute": "additional-slot-id",
|
|
537
|
+
"reflect": false,
|
|
538
|
+
"defaultValue": "\"TASKBAR_ADDITIONAL_SLOT\""
|
|
539
|
+
},
|
|
504
540
|
"customContainerId": {
|
|
505
541
|
"type": "string",
|
|
506
542
|
"mutable": false,
|
|
@@ -889,6 +925,9 @@ export class SnkTaskbar {
|
|
|
889
925
|
}, {
|
|
890
926
|
"propName": "_isWaitingForSave",
|
|
891
927
|
"methodName": "observeIsWaitingForSave"
|
|
928
|
+
}, {
|
|
929
|
+
"propName": "dataUnit",
|
|
930
|
+
"methodName": "observeDataUnit"
|
|
892
931
|
}];
|
|
893
932
|
}
|
|
894
933
|
static get listeners() {
|
|
@@ -64,7 +64,7 @@ export class PesquisaFetcher {
|
|
|
64
64
|
return result;
|
|
65
65
|
}
|
|
66
66
|
loadAdvancedSearch(entityName, argument, criteria, searchOptions, codeValue) {
|
|
67
|
-
var _a, _b, _c, _d, _e;
|
|
67
|
+
var _a, _b, _c, _d, _e, _f;
|
|
68
68
|
const listenerResult = this.applySearchListener(SearchListenerType.beforeSearch, entityName, argument, criteria, searchOptions);
|
|
69
69
|
const values = {
|
|
70
70
|
argument: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.argument) || argument,
|
|
@@ -103,11 +103,11 @@ export class PesquisaFetcher {
|
|
|
103
103
|
};
|
|
104
104
|
}
|
|
105
105
|
const options = searchOptions != undefined
|
|
106
|
-
? Object.assign(Object.assign({}, values === null || values === void 0 ? void 0 : values.searchOptions), { "pkFieldName": searchOptions.codeFieldName, "label": searchOptions.descriptionFieldName, "fieldName": searchOptions.codeFieldName, "useDescriptionOptions": false, "enableRowsCounter": true }) : undefined;
|
|
106
|
+
? Object.assign(Object.assign({}, values === null || values === void 0 ? void 0 : values.searchOptions), { "pkFieldName": searchOptions.codeFieldName, "label": searchOptions.descriptionFieldName, "fieldName": searchOptions.codeFieldName, "useDescriptionOptions": false, "enableRowsCounter": true, "limit": searchOptions.limit }) : undefined;
|
|
107
107
|
const reqBody = {
|
|
108
108
|
"serviceName": serviceName,
|
|
109
109
|
"requestBody": {
|
|
110
|
-
"criteria": Object.assign({ "entityName": entityName, "compacted": false, "ignoreEntityCriteria": (_d = options === null || options === void 0 ? void 0 : options.ignoreEntityCriteria) !== null && _d !== void 0 ? _d : false, "limit": this._defaultPageSize, "orderByDesc": false, "externalCriteria": externalCriteria, "localEntityName": (
|
|
110
|
+
"criteria": Object.assign({ "entityName": entityName, "compacted": false, "ignoreEntityCriteria": (_d = options === null || options === void 0 ? void 0 : options.ignoreEntityCriteria) !== null && _d !== void 0 ? _d : false, "limit": (_e = options === null || options === void 0 ? void 0 : options.limit) !== null && _e !== void 0 ? _e : this._defaultPageSize, "orderByDesc": false, "externalCriteria": externalCriteria, "localEntityName": (_f = values.searchOptions) === null || _f === void 0 ? void 0 : _f.rootEntity }, { options }),
|
|
111
111
|
"clientEventList": {
|
|
112
112
|
"clientEvent": []
|
|
113
113
|
}
|
|
@@ -127,8 +127,17 @@ export class SnkMessageBuilder {
|
|
|
127
127
|
const messagesUrl = await this._application.getApplicationPath();
|
|
128
128
|
const langSuffix = (this._lang !== LangUtils.ELanguages.PT_BR) ? `-${this._lang}` : "";
|
|
129
129
|
const fileUrl = `${messagesUrl}/messages/appmessages${langSuffix}.js`;
|
|
130
|
-
const
|
|
131
|
-
|
|
130
|
+
const response = await fetch(fileUrl);
|
|
131
|
+
if (!response.ok) {
|
|
132
|
+
throw new Error(`Não foi possível carregar as mensagens: ${response.status} ${response.statusText}`);
|
|
133
|
+
}
|
|
134
|
+
let scriptContent = await response.text();
|
|
135
|
+
if (scriptContent.trim().startsWith('<!DOCTYPE') || scriptContent.trim().startsWith('<html')) {
|
|
136
|
+
throw new Error('Não foi encontrado um arquivo de mensagens válido.');
|
|
137
|
+
}
|
|
138
|
+
scriptContent = scriptContent.replace(/export\s+default\s+/g, 'return ');
|
|
139
|
+
const func = new Function(scriptContent);
|
|
140
|
+
return func();
|
|
132
141
|
}
|
|
133
142
|
}
|
|
134
143
|
export var OperationMap;
|
|
@@ -39,6 +39,8 @@ export const snkFormConfigMessages = {
|
|
|
39
39
|
labelNewGroup: "Add new group",
|
|
40
40
|
mainArea: "Main area",
|
|
41
41
|
tabGeneral: "General",
|
|
42
|
+
canNotEditCustomGuide: "It is not possible to edit detail tabs and custom tabs",
|
|
43
|
+
canNotEditDetailGuide: "To configure a detail screen, you must access its tab",
|
|
42
44
|
createNewGroup: "Create new group",
|
|
43
45
|
newGroup: "New group",
|
|
44
46
|
noGuideSelected: "Select a tab and start configuring",
|
|
@@ -66,6 +68,10 @@ export const snkFormConfigMessages = {
|
|
|
66
68
|
title: "Attention",
|
|
67
69
|
message: "Select a guide to start configuration!"
|
|
68
70
|
},
|
|
71
|
+
canNotAddFieldToGuide: {
|
|
72
|
+
title: "Attention",
|
|
73
|
+
message: "It is not possible to add fields to detail tabs or custom tabs!"
|
|
74
|
+
},
|
|
69
75
|
alert: {
|
|
70
76
|
titleGroupExists: "A group with this title already exists",
|
|
71
77
|
titleGroupEditing: "There is a <b>group<b/> being edited. <br/> Finish editing to save the settings.",
|
|
@@ -96,6 +102,7 @@ export const snkFormConfigMessages = {
|
|
|
96
102
|
createNewGuide: "Create new tab",
|
|
97
103
|
noHiddenGuides: "No hidden tabs",
|
|
98
104
|
noVisibleGuides: "No visible tabs",
|
|
105
|
+
canNotDeleteCustomGuide: "Is not possible to detail detail tabs os a custom tabs",
|
|
99
106
|
actions: {
|
|
100
107
|
hide: "Hide",
|
|
101
108
|
show: "Make visible",
|
|
@@ -39,6 +39,8 @@ export const snkFormConfigMessages = {
|
|
|
39
39
|
labelNewGroup: "Añadir nuevo grupo",
|
|
40
40
|
mainArea: "Área principal",
|
|
41
41
|
tabGeneral: "General",
|
|
42
|
+
canNotEditCustomGuide: "No es posible editar pestañas de detalles y pestañas personalizadas",
|
|
43
|
+
canNotEditDetailGuide: "Para realizar la configuración de una pantalla de detalles es necesario acceder a su pestaña",
|
|
42
44
|
createNewGroup: "Crear nuevo grupo",
|
|
43
45
|
newGroup: "Nuevo grupo",
|
|
44
46
|
noGuideSelected: "Seleccione una pestaña y comience a configurar",
|
|
@@ -66,6 +68,10 @@ export const snkFormConfigMessages = {
|
|
|
66
68
|
title: "Atención",
|
|
67
69
|
message: "¡Seleccione una guía para iniciar la configuración!"
|
|
68
70
|
},
|
|
71
|
+
canNotAddFieldToGuide: {
|
|
72
|
+
title: "Atención",
|
|
73
|
+
message: "¡No es posible agregar campos a pestañas de detalles o pestañas personalizadas!"
|
|
74
|
+
},
|
|
69
75
|
alert: {
|
|
70
76
|
titleGroupExists: "Ya existe un grupo con título",
|
|
71
77
|
titleGroupEditing: "Hay un <b>grupo<b/> en edición. <br/> Finalice la edición para guardar las configuraciones.",
|
|
@@ -96,6 +102,7 @@ export const snkFormConfigMessages = {
|
|
|
96
102
|
createNewGuide: "Crear nueva pestaña",
|
|
97
103
|
noHiddenGuides: "No hay pestañas ocultas",
|
|
98
104
|
noVisibleGuides: "No hay pestañas visibles",
|
|
105
|
+
canNotDeleteCustomGuide: "No es posible eliminar pestañas de detalles o pestañas personalizadas",
|
|
99
106
|
actions: {
|
|
100
107
|
hide: "Ocultar",
|
|
101
108
|
show: "Hacer visible",
|
|
@@ -39,6 +39,8 @@ export const snkFormConfigMessages = {
|
|
|
39
39
|
labelNewGroup: "Adicionar novo grupo",
|
|
40
40
|
mainArea: "Área principal",
|
|
41
41
|
tabGeneral: "Geral",
|
|
42
|
+
canNotEditCustomGuide: "Não é possível editar guias detalhe e guias personalizadas",
|
|
43
|
+
canNotEditDetailGuide: "Para realizar a configuração de uma tela de detalhes é necessário acessar a sua aba",
|
|
42
44
|
createNewGroup: "Criar novo grupo",
|
|
43
45
|
newGroup: "Criar novo grupo",
|
|
44
46
|
noGuideSelected: "Selecione uma guia e comece a configurar",
|
|
@@ -66,6 +68,10 @@ export const snkFormConfigMessages = {
|
|
|
66
68
|
title: "Atenção",
|
|
67
69
|
message: "Selecione uma guia para iniciar a configuração!"
|
|
68
70
|
},
|
|
71
|
+
canNotAddFieldToGuide: {
|
|
72
|
+
title: "Atenção",
|
|
73
|
+
message: "Não é possível adicionar campos à guias customizadas ou guias detalhe!"
|
|
74
|
+
},
|
|
69
75
|
alert: {
|
|
70
76
|
titleGroupExists: "Já existe um grupo com título",
|
|
71
77
|
titleGroupEditing: "Há um <b>grupo<b/> em edição. <br/> Finalize a edição para salvar as configurações.",
|
|
@@ -96,10 +102,11 @@ export const snkFormConfigMessages = {
|
|
|
96
102
|
createNewGuide: "Criar nova guia",
|
|
97
103
|
noHiddenGuides: "Nenhuma guia oculta",
|
|
98
104
|
noVisibleGuides: "Nenhuma guia visível",
|
|
105
|
+
canNotDeleteCustomGuide: "Não é possível excluir guias detalhe e guias personalizadas",
|
|
99
106
|
actions: {
|
|
100
107
|
hide: "Ocultar",
|
|
101
108
|
show: "Tornar visível",
|
|
102
|
-
delete: "Excluir"
|
|
109
|
+
delete: "Excluir",
|
|
103
110
|
}
|
|
104
111
|
}
|
|
105
112
|
};
|
|
@@ -8,7 +8,7 @@ export const snkPesquisaMessages = {
|
|
|
8
8
|
initialMessage: "Os resultados de sua pesquisa aparecerão aqui...",
|
|
9
9
|
resultsFoundSingular: "1 registro encontrado",
|
|
10
10
|
resultsFoundPlural: "{{COUNT}} registros encontrados",
|
|
11
|
-
limitMessage: "
|
|
11
|
+
limitMessage: "Esta pesquisa foi limitada, existem mais resultados."
|
|
12
12
|
},
|
|
13
13
|
viewMode: {
|
|
14
14
|
tableMode: "Modo grade",
|