@sankhyalabs/sankhyablocks 5.19.0 → 6.0.0
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-0a738cdc.js +304 -0
- package/dist/cjs/IExpressionItem-1090c3fd.js +7 -0
- package/dist/cjs/PersonalizedFilterUtils-7d959e91.js +229 -0
- package/dist/cjs/{SnkFormConfigManager-69df3f74.js → SnkFormConfigManager-a583f503.js} +1 -1
- package/dist/cjs/{SnkMessageBuilder-3b5b5614.js → SnkMessageBuilder-8a2d3f26.js} +65 -4
- package/dist/cjs/{filter-bar-config-fetcher-a14536bf.js → filter-bar-config-fetcher-75219599.js} +34 -11
- package/dist/cjs/{index-de79181a.js → index-59a3e2de.js} +1 -1
- package/dist/cjs/{index-f400b1d6.js → index-614af008.js} +2 -0
- package/dist/cjs/{index-21bd01e1.js → index-aaaa2af5.js} +6 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/sankhyablocks.cjs.js +2 -2
- package/dist/cjs/snk-actions-button.cjs.entry.js +2 -2
- package/dist/cjs/snk-actions-form.cjs.entry.js +1 -1
- package/dist/cjs/snk-application.cjs.entry.js +4 -4
- package/dist/cjs/snk-attach.cjs.entry.js +4 -4
- package/dist/cjs/snk-client-confirm.cjs.entry.js +2 -2
- package/dist/cjs/snk-config-options.cjs.entry.js +1 -1
- package/dist/cjs/snk-configurator.cjs.entry.js +1 -1
- package/dist/cjs/snk-crud.cjs.entry.js +4 -4
- package/dist/cjs/snk-data-exporter.cjs.entry.js +4 -4
- package/dist/cjs/{snk-data-unit-e9c20097.js → snk-data-unit-53fc9200.js} +2 -2
- package/dist/cjs/snk-data-unit.cjs.entry.js +3 -3
- package/dist/cjs/snk-detail-view.cjs.entry.js +10 -10
- package/dist/cjs/snk-entity-list.cjs.entry.js +6 -4
- package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +1 -1
- package/dist/cjs/snk-expression-group.cjs.entry.js +246 -0
- package/dist/cjs/{snk-filter-field-search_2.cjs.entry.js → snk-expression-item_3.cjs.entry.js} +327 -66
- package/dist/cjs/snk-field-config.cjs.entry.js +1 -1
- package/dist/cjs/snk-filter-bar.cjs.entry.js +161 -72
- package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
- package/dist/cjs/snk-filter-detail.cjs.entry.js +54 -69
- package/dist/cjs/snk-filter-item.cjs.entry.js +21 -7
- package/dist/cjs/snk-filter-list.cjs.entry.js +1 -1
- package/dist/cjs/snk-filter-modal-item.cjs.entry.js +57 -29
- package/dist/cjs/snk-filter-modal.cjs.entry.js +66 -12
- package/dist/cjs/snk-filter-multi-select.cjs.entry.js +1 -1
- package/dist/cjs/snk-filter-number.cjs.entry.js +1 -1
- package/dist/cjs/snk-filter-period.cjs.entry.js +5 -3
- package/dist/cjs/snk-filter-personalized.cjs.entry.js +135 -55
- package/dist/cjs/snk-filter-search.cjs.entry.js +1 -1
- package/dist/cjs/snk-filter-text.cjs.entry.js +1 -1
- package/dist/cjs/snk-form-config.cjs.entry.js +1 -1
- 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.cjs.entry.js +4 -4
- package/dist/cjs/snk-grid-config.cjs.entry.js +3 -3
- package/dist/cjs/snk-grid.cjs.entry.js +7 -7
- package/dist/cjs/{snk-guides-viewer-c8843478.js → snk-guides-viewer-10ffca10.js} +5 -5
- package/dist/cjs/snk-guides-viewer.cjs.entry.js +9 -9
- package/dist/cjs/snk-personalized-filter.cjs.entry.js +166 -94
- package/dist/cjs/snk-pesquisa.cjs.entry.js +1 -1
- package/dist/cjs/snk-select-box.cjs.entry.js +1 -1
- package/dist/cjs/snk-simple-bar.cjs.entry.js +45 -0
- package/dist/cjs/{snk-simple-bar_2.cjs.entry.js → snk-simple-crud.cjs.entry.js} +5 -43
- package/dist/cjs/snk-tab-config.cjs.entry.js +1 -1
- package/dist/cjs/snk-taskbar.cjs.entry.js +4 -4
- package/dist/cjs/{taskbar-elements-3be287d6.js → taskbar-elements-068aa945.js} +3 -3
- package/dist/cjs/{taskbar-processor-02f0fc84.js → taskbar-processor-6442c585.js} +1 -1
- package/dist/cjs/teste-pesquisa.cjs.entry.js +1 -1
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/components/snk-actions-button/subcomponents/snk-client-confirm.js +1 -1
- package/dist/collection/components/snk-entity-list/snk-entity-list.js +6 -4
- package/dist/collection/components/snk-filter-bar/filter-item/dataunitfilter/data-unit-filter-builder.js +34 -12
- package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-period.js +4 -2
- package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-personalized/snk-filter-personalized.css +66 -0
- package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-personalized/snk-filter-personalized.js +370 -0
- package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +52 -68
- package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +20 -6
- 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 +110 -10
- package/dist/collection/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.js +98 -27
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +21 -0
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +100 -49
- package/dist/collection/components/snk-filter-bar/types/custom-element-filter.js +1 -0
- package/dist/collection/components/snk-filter-bar/utils/SnkFilterModalFactory.js +22 -3
- package/dist/collection/components/snk-filter-bar/utils/filters-mock.js +96 -0
- package/dist/collection/components/snk-filter-field-search/snk-filter-field-search.css +1 -1
- package/dist/collection/components/snk-filter-field-search/snk-filter-field-search.js +27 -6
- package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.css +39 -2
- package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +276 -30
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-group/snk-expression-group.css +73 -0
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-group/snk-expression-group.js +443 -0
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-item/filter-operands/filter-operands.js +16 -24
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-item/snk-expression-item.css +18 -4
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-item/snk-expression-item.js +131 -21
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/interfaces/IExpressionGroup.js +0 -0
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/interfaces/IExpressionItem.js +5 -1
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/interfaces/IParameter.js +1 -0
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/interfaces/IPersonalizedFilter.js +1 -0
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/interfaces/index.js +3 -0
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/snk-filter-param-config.js +1 -1
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/utils/PersonalizedFilterUtils.js +184 -15
- package/dist/collection/lib/@types/index.js +2 -0
- package/dist/collection/lib/configs/ConfigStorage.js +15 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.js +36 -13
- package/dist/collection/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.js +106 -4
- package/dist/collection/lib/message/resources/snk-filter-bar.msg.js +15 -2
- package/dist/collection/lib/message/resources/snk-filter-field-search.msg.js +2 -0
- package/dist/collection/lib/message/resources/snk-personalized-filter.msg.js +48 -2
- package/dist/components/ConfigStorage.js +180 -1
- package/dist/components/PersonalizedFilterUtils.js +227 -0
- package/dist/components/SnkMessageBuilder.js +65 -4
- package/dist/components/filter-bar-config-fetcher.js +34 -11
- package/dist/components/index.d.ts +2 -1
- package/dist/components/index.js +1 -0
- package/dist/components/index2.js +3 -1
- package/dist/components/snk-client-confirm.js +1 -1
- package/dist/components/snk-crud.js +65 -35
- package/dist/components/snk-data-exporter2.js +1 -1
- package/dist/components/snk-detail-view2.js +99 -44
- package/dist/components/snk-entity-list.js +6 -4
- package/dist/components/snk-expression-group.d.ts +11 -0
- package/dist/components/snk-expression-group.js +6 -0
- package/dist/components/snk-expression-group2.js +296 -0
- package/dist/components/snk-expression-item2.js +133 -46
- package/dist/components/snk-filter-bar2.js +195 -68
- package/dist/components/snk-filter-detail2.js +52 -68
- package/dist/components/snk-filter-field-search2.js +26 -5
- package/dist/components/snk-filter-item2.js +20 -6
- package/dist/components/snk-filter-modal-item2.js +54 -27
- package/dist/components/snk-filter-modal.js +68 -12
- package/dist/components/snk-filter-param-config2.js +3 -57
- package/dist/components/snk-filter-period.js +4 -2
- package/dist/components/snk-filter-personalized.js +139 -58
- package/dist/components/snk-grid2.js +52 -16
- package/dist/components/snk-personalized-filter.js +1 -153
- package/dist/components/snk-personalized-filter2.js +238 -0
- package/dist/esm/ConfigStorage-9f4d2e67.js +300 -0
- package/dist/esm/IExpressionItem-2e922b2c.js +7 -0
- package/dist/esm/PersonalizedFilterUtils-202cd721.js +227 -0
- package/dist/esm/{SnkFormConfigManager-e60367a0.js → SnkFormConfigManager-def999fe.js} +1 -1
- package/dist/esm/{SnkMessageBuilder-188a38bb.js → SnkMessageBuilder-cc4d1599.js} +65 -4
- package/dist/esm/{filter-bar-config-fetcher-edc48f4b.js → filter-bar-config-fetcher-bd2070a3.js} +34 -11
- package/dist/esm/{index-cfd4bb13.js → index-8c3d76a6.js} +6 -1
- package/dist/esm/{index-507e19ec.js → index-a255b326.js} +3 -1
- package/dist/esm/{index-8efbf198.js → index-d60ca0ac.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/sankhyablocks.js +3 -3
- package/dist/esm/snk-actions-button.entry.js +2 -2
- package/dist/esm/snk-actions-form.entry.js +1 -1
- package/dist/esm/snk-application.entry.js +4 -4
- package/dist/esm/snk-attach.entry.js +4 -4
- package/dist/esm/snk-client-confirm.entry.js +2 -2
- package/dist/esm/snk-config-options.entry.js +1 -1
- package/dist/esm/snk-configurator.entry.js +1 -1
- package/dist/esm/snk-crud.entry.js +4 -4
- package/dist/esm/snk-data-exporter.entry.js +4 -4
- package/dist/esm/{snk-data-unit-79b1583a.js → snk-data-unit-97824457.js} +2 -2
- package/dist/esm/snk-data-unit.entry.js +3 -3
- package/dist/esm/snk-detail-view.entry.js +10 -10
- package/dist/esm/snk-entity-list.entry.js +7 -5
- package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
- package/dist/esm/snk-expression-group.entry.js +242 -0
- package/dist/esm/{snk-filter-field-search_2.entry.js → snk-expression-item_3.entry.js} +326 -66
- package/dist/esm/snk-field-config.entry.js +1 -1
- package/dist/esm/snk-filter-bar.entry.js +156 -67
- package/dist/esm/snk-filter-binary-select.entry.js +1 -1
- package/dist/esm/snk-filter-detail.entry.js +55 -70
- package/dist/esm/snk-filter-item.entry.js +21 -7
- package/dist/esm/snk-filter-list.entry.js +1 -1
- package/dist/esm/snk-filter-modal-item.entry.js +57 -29
- package/dist/esm/snk-filter-modal.entry.js +66 -12
- package/dist/esm/snk-filter-multi-select.entry.js +1 -1
- package/dist/esm/snk-filter-number.entry.js +1 -1
- package/dist/esm/snk-filter-period.entry.js +5 -3
- package/dist/esm/snk-filter-personalized.entry.js +135 -55
- package/dist/esm/snk-filter-search.entry.js +1 -1
- package/dist/esm/snk-filter-text.entry.js +1 -1
- package/dist/esm/snk-form-config.entry.js +1 -1
- 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.entry.js +4 -4
- package/dist/esm/snk-grid-config.entry.js +3 -3
- package/dist/esm/snk-grid.entry.js +7 -7
- package/dist/esm/{snk-guides-viewer-59d3a78c.js → snk-guides-viewer-0380f3df.js} +5 -5
- package/dist/esm/snk-guides-viewer.entry.js +9 -9
- package/dist/esm/snk-personalized-filter.entry.js +166 -94
- package/dist/esm/snk-pesquisa.entry.js +1 -1
- package/dist/esm/snk-select-box.entry.js +1 -1
- package/dist/esm/snk-simple-bar.entry.js +41 -0
- package/dist/esm/{snk-simple-bar_2.entry.js → snk-simple-crud.entry.js} +7 -44
- package/dist/esm/snk-tab-config.entry.js +1 -1
- package/dist/esm/snk-taskbar.entry.js +4 -4
- package/dist/esm/{taskbar-elements-8ff33c26.js → taskbar-elements-26d0fba3.js} +3 -3
- package/dist/esm/{taskbar-processor-20de6616.js → taskbar-processor-dfef41a8.js} +1 -1
- package/dist/esm/teste-pesquisa.entry.js +1 -1
- package/dist/sankhyablocks/{p-f27dc5e9.entry.js → p-00d1cac4.entry.js} +1 -1
- package/dist/sankhyablocks/{p-b9667fbe.js → p-066ee142.js} +2 -2
- package/dist/sankhyablocks/p-09a058ba.entry.js +1 -0
- package/dist/sankhyablocks/{p-82bc4666.entry.js → p-0dec4d29.entry.js} +1 -1
- package/dist/sankhyablocks/{p-1e6a95f5.entry.js → p-12632b8e.entry.js} +1 -1
- package/dist/sankhyablocks/{p-384c4a6b.js → p-18b34bb4.js} +1 -1
- package/dist/sankhyablocks/{p-538c057a.entry.js → p-2ad89e28.entry.js} +1 -1
- package/dist/sankhyablocks/p-2d5108b3.js +1 -0
- package/dist/sankhyablocks/{p-ff398057.entry.js → p-34cd4b39.entry.js} +1 -1
- package/dist/sankhyablocks/p-36ecb6ab.js +1 -0
- package/dist/sankhyablocks/p-372e0185.entry.js +1 -0
- package/dist/sankhyablocks/p-3be34bd1.entry.js +1 -0
- package/dist/sankhyablocks/p-3d45107f.js +1 -0
- package/dist/sankhyablocks/{p-28c12f65.js → p-463e0936.js} +1 -1
- package/dist/sankhyablocks/{p-e701646c.entry.js → p-49d628d1.entry.js} +1 -1
- package/dist/sankhyablocks/{p-e642bf7a.entry.js → p-50db4bc4.entry.js} +1 -1
- package/dist/sankhyablocks/{p-093febff.entry.js → p-5427566a.entry.js} +1 -1
- package/dist/sankhyablocks/{p-6a02e236.js → p-590d8900.js} +1 -1
- package/dist/sankhyablocks/p-5a6c090e.entry.js +1 -0
- package/dist/sankhyablocks/p-639be4aa.entry.js +1 -0
- package/dist/sankhyablocks/{p-e2bb9c9a.entry.js → p-67a19b48.entry.js} +1 -1
- package/dist/sankhyablocks/{p-19692f92.js → p-69770075.js} +1 -1
- package/dist/sankhyablocks/p-6d4169fc.entry.js +1 -0
- package/dist/sankhyablocks/{p-0b40c655.js → p-708ee8ee.js} +1 -1
- package/dist/sankhyablocks/{p-9af04fc7.entry.js → p-718cc24b.entry.js} +1 -1
- package/dist/sankhyablocks/{p-2d0fc912.entry.js → p-7946512f.entry.js} +1 -1
- package/dist/sankhyablocks/{p-900b2889.entry.js → p-7a5e1be7.entry.js} +1 -1
- package/dist/sankhyablocks/p-801b8858.js +68 -0
- package/dist/sankhyablocks/{p-80e52e85.entry.js → p-847b9506.entry.js} +1 -1
- package/dist/sankhyablocks/{p-56d70073.entry.js → p-8d541539.entry.js} +1 -1
- package/dist/sankhyablocks/{p-584a315a.entry.js → p-8e98a893.entry.js} +1 -1
- package/dist/sankhyablocks/p-9731180c.entry.js +1 -0
- package/dist/sankhyablocks/p-a6055eb9.entry.js +1 -0
- package/dist/sankhyablocks/{p-b680fa7a.entry.js → p-a655ea15.entry.js} +1 -1
- package/dist/sankhyablocks/{p-b75ce8b8.entry.js → p-a8b06801.entry.js} +1 -1
- package/dist/sankhyablocks/{p-b25450ab.js → p-a8e5ded0.js} +1 -1
- package/dist/sankhyablocks/{p-6ac29569.entry.js → p-b66b99d9.entry.js} +1 -1
- package/dist/sankhyablocks/p-b7efc49a.entry.js +1 -0
- package/dist/sankhyablocks/{p-9c7f7214.entry.js → p-b91ee370.entry.js} +1 -1
- package/dist/sankhyablocks/{p-e551b19a.entry.js → p-b940798f.entry.js} +1 -1
- package/dist/sankhyablocks/{p-72e78de0.entry.js → p-bbefb3b2.entry.js} +1 -1
- package/dist/sankhyablocks/p-bdd61fa8.entry.js +1 -0
- package/dist/sankhyablocks/{p-f8c66aa3.entry.js → p-c06973e7.entry.js} +1 -1
- package/dist/sankhyablocks/{p-257c71a7.entry.js → p-c17e19a2.entry.js} +1 -1
- package/dist/sankhyablocks/p-c6bf66e0.js +1 -0
- package/dist/sankhyablocks/p-cf90a195.entry.js +1 -0
- package/dist/sankhyablocks/{p-44c2ed16.entry.js → p-d11c5026.entry.js} +1 -1
- package/dist/sankhyablocks/p-d5145c3f.entry.js +1 -0
- package/dist/sankhyablocks/p-de328b00.entry.js +1 -0
- package/dist/sankhyablocks/{p-971abcc2.entry.js → p-e500863b.entry.js} +1 -1
- package/dist/sankhyablocks/{p-22e44b9d.entry.js → p-e824aef2.entry.js} +1 -1
- package/dist/sankhyablocks/{p-4ce96831.entry.js → p-eb24c092.entry.js} +1 -1
- package/dist/sankhyablocks/{p-4c2015a9.js → p-eb90de43.js} +1 -1
- package/dist/sankhyablocks/p-ebb8de34.entry.js +1 -0
- package/dist/sankhyablocks/{p-8652d177.entry.js → p-fc512cbe.entry.js} +1 -1
- package/dist/sankhyablocks/{p-786ae316.entry.js → p-fced1d89.entry.js} +1 -1
- package/dist/sankhyablocks/{p-e0b4aec3.entry.js → p-fdb43927.entry.js} +1 -1
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-personalized/snk-filter-personalized.d.ts +85 -0
- package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +6 -6
- package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +2 -0
- package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +18 -1
- package/dist/types/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.d.ts +14 -6
- package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +10 -3
- package/dist/types/components/snk-filter-bar/types/custom-element-filter.d.ts +6 -0
- package/dist/types/components/snk-filter-bar/utils/SnkFilterModalFactory.d.ts +10 -1
- package/dist/types/components/snk-filter-bar/utils/filters-mock.d.ts +92 -15
- package/dist/types/components/snk-filter-field-search/interfaces/index.d.ts +5 -11
- package/dist/types/components/snk-filter-field-search/snk-filter-field-search.d.ts +3 -0
- package/dist/types/components/snk-personalized-filter/snk-personalized-filter.d.ts +39 -6
- package/dist/types/components/snk-personalized-filter/subcomponents/snk-expression-group/snk-expression-group.d.ts +82 -0
- package/dist/types/components/snk-personalized-filter/subcomponents/snk-expression-item/filter-operands/filter-operands.d.ts +1 -1
- package/dist/types/components/snk-personalized-filter/subcomponents/snk-expression-item/snk-expression-item.d.ts +13 -1
- package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-param-config/interfaces/IExpressionGroup.d.ts +0 -0
- package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-param-config/interfaces/IExpressionItem.d.ts +23 -3
- package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-param-config/interfaces/IParameter.d.ts +21 -0
- package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-param-config/interfaces/IPersonalizedFilter.d.ts +11 -0
- package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-param-config/interfaces/index.d.ts +3 -0
- package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-param-config/utils/PersonalizedFilterUtils.d.ts +14 -2
- package/dist/types/components.d.ts +169 -10
- package/dist/types/lib/@types/index.d.ts +3 -1
- package/dist/types/lib/configs/ConfigStorage.d.ts +5 -0
- package/dist/types/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.d.ts +4 -2
- package/dist/types/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.d.ts +5 -0
- package/dist/types/lib/store/index.d.ts +1 -2
- package/package.json +5 -5
- package/react/components.d.ts +1 -0
- package/react/components.js +1 -0
- package/react/components.js.map +1 -1
- package/dist/cjs/ConfigStorage-f68c3607.js +0 -124
- package/dist/cjs/index-8d94b7e0.js +0 -7
- package/dist/cjs/snk-expression-item.cjs.entry.js +0 -213
- package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-personalized.js +0 -214
- package/dist/esm/ConfigStorage-e6c17998.js +0 -121
- package/dist/esm/index-620ac460.js +0 -7
- package/dist/esm/snk-expression-item.entry.js +0 -209
- package/dist/sankhyablocks/p-0b6ddb67.entry.js +0 -1
- package/dist/sankhyablocks/p-0c2afa63.entry.js +0 -1
- package/dist/sankhyablocks/p-343699ad.entry.js +0 -1
- package/dist/sankhyablocks/p-471568c7.entry.js +0 -1
- package/dist/sankhyablocks/p-6c2c71ca.js +0 -1
- package/dist/sankhyablocks/p-8ce9ea9f.entry.js +0 -1
- package/dist/sankhyablocks/p-8efb0f47.entry.js +0 -1
- package/dist/sankhyablocks/p-9a448ff9.entry.js +0 -1
- package/dist/sankhyablocks/p-9e50681c.entry.js +0 -1
- package/dist/sankhyablocks/p-9f66bc54.entry.js +0 -1
- package/dist/sankhyablocks/p-b1c02726.js +0 -1
- package/dist/sankhyablocks/p-b34d23fa.js +0 -1
- package/dist/sankhyablocks/p-c20dd153.entry.js +0 -1
- package/dist/sankhyablocks/p-cbb5c440.entry.js +0 -1
- package/dist/sankhyablocks/p-f3241ada.entry.js +0 -1
- package/dist/sankhyablocks/p-f4184ce7.js +0 -1
- package/dist/sankhyablocks/p-ff96b509.entry.js +0 -27
- package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-personalized.d.ts +0 -40
package/dist/cjs/{snk-filter-field-search_2.cjs.entry.js → snk-expression-item_3.cjs.entry.js}
RENAMED
@@ -2,11 +2,307 @@
|
|
2
2
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
4
4
|
|
5
|
-
const index = require('./index-
|
6
|
-
const index$1 = require('./index-8d94b7e0.js');
|
5
|
+
const index = require('./index-aaaa2af5.js');
|
7
6
|
const core = require('@sankhyalabs/core');
|
7
|
+
const utils = require('@sankhyalabs/ezui/dist/collection/utils');
|
8
|
+
const FieldBuilder = require('@sankhyalabs/ezui/dist/collection/components/ez-form-view/fieldbuilder/FieldBuilder');
|
9
|
+
const index$2 = require('./index-614af008.js');
|
10
|
+
const index$1 = require('./index-59a3e2de.js');
|
11
|
+
const DataType = require('@sankhyalabs/core/dist/dataunit/metadata/DataType');
|
8
12
|
const ezModalContainer = require('@sankhyalabs/ezui/dist/collection/components/ez-modal-container');
|
9
|
-
const
|
13
|
+
const PersonalizedFilterUtils = require('./PersonalizedFilterUtils-7d959e91.js');
|
14
|
+
require('./filter-item-type.enum-aa823a00.js');
|
15
|
+
|
16
|
+
var SelectedItemType;
|
17
|
+
(function (SelectedItemType) {
|
18
|
+
SelectedItemType["LINK"] = "LINK";
|
19
|
+
SelectedItemType["FIELD"] = "FIELD";
|
20
|
+
})(SelectedItemType || (SelectedItemType = {}));
|
21
|
+
|
22
|
+
const defaultsOperand = [
|
23
|
+
{ label: "Igual (=)", value: "EQUAL" },
|
24
|
+
{ label: "Diferente (<>)", value: "DIFFERENT" },
|
25
|
+
{ label: "Contendo (LIKE)", value: "LIKE" },
|
26
|
+
{ label: "Contido em (IN)", value: "IN" },
|
27
|
+
{ label: "Iniciado com (%?)", value: "START_WITH" },
|
28
|
+
{ label: "Terminado com (?%)", value: "FINISHED_WITH" },
|
29
|
+
{ label: "Vazio (NULL)", value: "NULL" },
|
30
|
+
{ label: "Não Vazio (NOT NULL)", value: "NOT_NULL" },
|
31
|
+
];
|
32
|
+
const FilterOperandDefault = defaultsOperand.concat([
|
33
|
+
{ label: "Maior (>)", value: "LARGER" },
|
34
|
+
{ label: "Maior ou Igual (>=)", value: "LARGER_EQUAL" },
|
35
|
+
{ label: "Menor (<)", value: "SMALLER" },
|
36
|
+
{ label: "Menor ou Igual (<=)", value: "SMALLER_EQUAL" }
|
37
|
+
]);
|
38
|
+
const FilterOperandTypeTextSearch = defaultsOperand;
|
39
|
+
const FIELD_TYPE_SEARCH_AND_TEXT = [
|
40
|
+
core.UserInterface.SEARCH,
|
41
|
+
core.UserInterface.SHORTTEXT,
|
42
|
+
core.UserInterface.PASSWORD,
|
43
|
+
core.UserInterface.MASKEDTEXT,
|
44
|
+
core.UserInterface.LONGTEXT,
|
45
|
+
core.UserInterface.HTML
|
46
|
+
];
|
47
|
+
|
48
|
+
const snkExpressionItemCss = ".sc-snk-expression-item-h{display:flex;width:100%;--snk-expression-item--background-color:var(--background--xlight, #fff);--snk-expression-item__itens--padding:var(--space--small, 6px);--snk-expression-item__width--input-operator:220px;--snk-expression-item__width--input-value:240px;--snk-expression-item__width--input-value-variable:176px;--snk-expression-item--border-radius:var(--border--radius-medium, 12px);--snk-expression-item--border-color:var(--color--strokes, #DCE0E8);--snk-expression-item--border-style:var(--border--small, 1px solid);--snk-expression-item__background-color-dashed:var(--background--body, #fafcff)}.box.sc-snk-expression-item{width:100%;height:56px;background:var(--snk-expression-item--background-color);border:var(--snk-expression-item--border-color) var(--snk-expression-item--border-style);border-radius:var(--snk-expression-item--border-radius)}.box__container.sc-snk-expression-item{display:flex;align-items:center;justify-content:space-between;white-space:nowrap;margin:var(--space--small, 6px)}.box__container--input-filter.sc-snk-expression-item{width:100%}.box__container--input-operator.sc-snk-expression-item{display:flex;width:var(--snk-expression-item__width--input-operator);min-width:var(--snk-expression-item__width--input-operator)}.box__container--input-value.sc-snk-expression-item{display:flex;width:var(--snk-expression-item__width--input-value);min-width:var(--snk-expression-item__width--input-value)}.box__container--input-value-variable.sc-snk-expression-item{display:flex;width:var(--snk-expression-item__width--input-value-variable);min-width:var(--snk-expression-item__width--input-value-variable)}.box__container--button-delete.sc-snk-expression-item{display:flex}.box__container.sc-snk-expression-item>div.sc-snk-expression-item{padding-left:var(--snk-expression-item__itens--padding);padding-right:var(--snk-expression-item__itens--padding)}.box__container--button-delete--icon.sc-snk-expression-item{width:42px;min-width:42px}.box__container--input-value-variable--icon.sc-snk-expression-item{cursor:pointer}.dashes.sc-snk-expression-item{z-index:var(--more-visible, 2);background:var(--snk-expression-item__background-color-dashed);border-bottom:2px dashed var(--text-secondary, #A2ABB9);border-left:2px dashed var(--text-secondary, #A2ABB9);position:absolute;width:15px;height:62px;margin-left:-15px;margin-top:-33.5px}";
|
49
|
+
|
50
|
+
const DEFAULT_FIELD_NAME = 'NOT_DEFINED';
|
51
|
+
const SnkExpressionItem = class {
|
52
|
+
constructor(hostRef) {
|
53
|
+
index.registerInstance(this, hostRef);
|
54
|
+
this.ezFilterItemChange = index.createEvent(this, "ezFilterItemChange", 7);
|
55
|
+
this.ezFilterItemRemove = index.createEvent(this, "ezFilterItemRemove", 7);
|
56
|
+
this.application = core.ApplicationContext.getContextValue("__SNK__APPLICATION__");
|
57
|
+
this.filterOperandDefault = FilterOperandDefault;
|
58
|
+
this.filterOperandTypeTextSearch = FilterOperandTypeTextSearch;
|
59
|
+
this._showValueVariable = false;
|
60
|
+
this._fieldSelected = undefined;
|
61
|
+
this._optionNotNull = false;
|
62
|
+
this.expression = undefined;
|
63
|
+
this.canRemove = true;
|
64
|
+
this.messagesBuilder = undefined;
|
65
|
+
this.entityURI = undefined;
|
66
|
+
}
|
67
|
+
expressionChanged(newValue, oldValue) {
|
68
|
+
if (newValue !== oldValue) {
|
69
|
+
this.ezFilterItemChange.emit(newValue);
|
70
|
+
this.updateFieldSelected();
|
71
|
+
}
|
72
|
+
}
|
73
|
+
componentWillLoad() {
|
74
|
+
this._dataSourceFetcher = index$1.store.get(`filterFieldsDataSource.${this.entityURI}`);
|
75
|
+
index$1.store.onChange(`filterFieldsDataSource.${this.entityURI}`, () => {
|
76
|
+
this._dataSourceFetcher = index$1.store.get(`filterFieldsDataSource.${this.entityURI}`);
|
77
|
+
});
|
78
|
+
if (this.expression) {
|
79
|
+
this.updateFieldSelected();
|
80
|
+
this._optionNotNull = this.expression.operand === 'NULL' || this.expression.operand === 'NOT_NULL';
|
81
|
+
}
|
82
|
+
}
|
83
|
+
componentDidRender() {
|
84
|
+
this._showValueVariable = this._elValueVariable.value;
|
85
|
+
}
|
86
|
+
updateFieldSelected() {
|
87
|
+
const field = {
|
88
|
+
dataType: this.expression.type,
|
89
|
+
description: this.expression.description,
|
90
|
+
name: this.expression.fieldName,
|
91
|
+
label: this.expression.fieldLabel,
|
92
|
+
entityName: this.expression.entityName,
|
93
|
+
onlyDate: false,
|
94
|
+
path: this.expression.description,
|
95
|
+
properties: this.expressionPropsToFieldProps(this.expression.props),
|
96
|
+
type: SelectedItemType.FIELD,
|
97
|
+
uri: "",
|
98
|
+
userInterface: this.expression.userInterface
|
99
|
+
};
|
100
|
+
this._fieldSelected = field;
|
101
|
+
}
|
102
|
+
buildExpression(entityName, fieldName, entityPath) {
|
103
|
+
if (entityPath.length > 0) {
|
104
|
+
entityPath.shift();
|
105
|
+
}
|
106
|
+
return entityPath.length > 0 ? `${entityPath.join("->")}->${fieldName}` : `${entityName}.${fieldName}`;
|
107
|
+
}
|
108
|
+
setValueExpression(key, value) {
|
109
|
+
if (key === "fieldName") {
|
110
|
+
this.expression.description = value.path;
|
111
|
+
this.expression.expression = this.buildExpression(value.entityName, value.name, value.entityPath);
|
112
|
+
this.expression.fieldName = value.name;
|
113
|
+
this.expression.fieldLabel = value.label;
|
114
|
+
this.expression.type = value.dataType;
|
115
|
+
this.expression.userInterface = value.userInterface;
|
116
|
+
this.expression.entityName = value.entityName;
|
117
|
+
this.expression.value = undefined;
|
118
|
+
this.expression.props = this.fieldPropsToExpressionProps(value.properties);
|
119
|
+
}
|
120
|
+
else {
|
121
|
+
this.expression[key] = value;
|
122
|
+
}
|
123
|
+
this.expressionChanged(this.expression);
|
124
|
+
}
|
125
|
+
fieldPropsToExpressionProps(properties) {
|
126
|
+
const parsedProps = [];
|
127
|
+
if (!properties) {
|
128
|
+
return parsedProps;
|
129
|
+
}
|
130
|
+
for (const key in properties) {
|
131
|
+
let propValue = properties[key];
|
132
|
+
if (typeof propValue == "object") {
|
133
|
+
propValue = JSON.stringify(propValue);
|
134
|
+
}
|
135
|
+
parsedProps.push({ name: key, value: propValue });
|
136
|
+
}
|
137
|
+
return parsedProps;
|
138
|
+
}
|
139
|
+
expressionPropsToFieldProps(properties) {
|
140
|
+
const parsedProps = {};
|
141
|
+
if (!properties) {
|
142
|
+
return parsedProps;
|
143
|
+
}
|
144
|
+
properties.forEach(prop => {
|
145
|
+
try {
|
146
|
+
parsedProps[prop.name] = JSON.parse(prop.value);
|
147
|
+
}
|
148
|
+
catch (_a) {
|
149
|
+
parsedProps[prop.name] = prop.value;
|
150
|
+
}
|
151
|
+
});
|
152
|
+
return parsedProps;
|
153
|
+
}
|
154
|
+
getMessage(key, params) {
|
155
|
+
return this.application.messagesBuilder.getMessage(key, params);
|
156
|
+
}
|
157
|
+
handleSelectItem(filterField) {
|
158
|
+
if (filterField.name === this.expression.fieldName) {
|
159
|
+
this._elFilterInput.value = filterField.path;
|
160
|
+
return;
|
161
|
+
}
|
162
|
+
if (filterField.type === SelectedItemType.FIELD) {
|
163
|
+
const field = filterField;
|
164
|
+
this._fieldSelected = field;
|
165
|
+
this.setValueExpression("fieldName", field);
|
166
|
+
}
|
167
|
+
}
|
168
|
+
handleFocus() {
|
169
|
+
if (this._elFilterFieldSearch)
|
170
|
+
this._elFilterFieldSearch.show();
|
171
|
+
}
|
172
|
+
handleChangeFilterInput(evt) {
|
173
|
+
this._elFilterFieldSearch.applyFilter(evt.detail);
|
174
|
+
}
|
175
|
+
handleChangeValueVariable(showValueVariable) {
|
176
|
+
this._showValueVariable = showValueVariable;
|
177
|
+
if (this._elFieldDynamic) {
|
178
|
+
this._elFieldDynamic.value = undefined;
|
179
|
+
this._elFieldDynamic.enabled = !showValueVariable;
|
180
|
+
}
|
181
|
+
this.expression["paramVariable"] = showValueVariable;
|
182
|
+
this.expressionChanged(this.expression);
|
183
|
+
}
|
184
|
+
openSnkFilterParamConfig() {
|
185
|
+
var _a;
|
186
|
+
(_a = this._elFilterParamConfigRef) === null || _a === void 0 ? void 0 : _a.open(this.expression).then(this.onOpenPromiseReady.bind(this)).catch(error => {
|
187
|
+
console.error(error);
|
188
|
+
});
|
189
|
+
}
|
190
|
+
onOpenPromiseReady(changes) {
|
191
|
+
this.expression = changes;
|
192
|
+
}
|
193
|
+
buildOptionsOperator() {
|
194
|
+
var _a;
|
195
|
+
if (FIELD_TYPE_SEARCH_AND_TEXT.includes((_a = this._fieldSelected) === null || _a === void 0 ? void 0 : _a.userInterface)) {
|
196
|
+
return this.filterOperandTypeTextSearch;
|
197
|
+
}
|
198
|
+
else {
|
199
|
+
return this.filterOperandDefault;
|
200
|
+
}
|
201
|
+
}
|
202
|
+
handleChangeOperator(optionSelected) {
|
203
|
+
this.checkOptionIsNull(optionSelected);
|
204
|
+
this.setValueExpression("operand", optionSelected);
|
205
|
+
}
|
206
|
+
checkOptionIsNull(optionSelected) {
|
207
|
+
const filterOperandValue = index$2.FilterOperand[optionSelected];
|
208
|
+
if ([index$2.FilterOperand.NULL, index$2.FilterOperand.NOT_NULL].includes(filterOperandValue)) {
|
209
|
+
this._optionNotNull = true;
|
210
|
+
if (this._elFieldDynamic) {
|
211
|
+
this._elFieldDynamic.enabled = false;
|
212
|
+
this._elFieldDynamic.value = undefined;
|
213
|
+
}
|
214
|
+
}
|
215
|
+
else {
|
216
|
+
this._optionNotNull = false;
|
217
|
+
if (this._elFieldDynamic) {
|
218
|
+
this._elFieldDynamic.enabled = this._showValueVariable ? false : true;
|
219
|
+
}
|
220
|
+
}
|
221
|
+
}
|
222
|
+
confirmRemove(evt) {
|
223
|
+
evt.preventDefault();
|
224
|
+
evt.stopPropagation();
|
225
|
+
utils.ApplicationUtils.confirm(this.getMessage("snkPersonalizedFilter.confirmExpression.title"), this.getMessage("snkPersonalizedFilter.confirmExpression.description"))
|
226
|
+
.then((canRemove) => {
|
227
|
+
if (canRemove) {
|
228
|
+
this.ezFilterItemRemove.emit(this.expression);
|
229
|
+
}
|
230
|
+
});
|
231
|
+
}
|
232
|
+
buildFieldByType() {
|
233
|
+
var _a, _b, _c;
|
234
|
+
if (!this._fieldSelected)
|
235
|
+
return;
|
236
|
+
const inputFieldData = (_a = FieldBuilder.fieldBuilder(this.configureFieldByType())) === null || _a === void 0 ? void 0 : _a.$children$.shift();
|
237
|
+
if (this._optionNotNull && inputFieldData || ((_b = this._elValueVariable) === null || _b === void 0 ? void 0 : _b.value) && inputFieldData || this.expression.paramVariable || this._showValueVariable || !((_c = this._fieldSelected) === null || _c === void 0 ? void 0 : _c.dataType)) {
|
238
|
+
inputFieldData.$attrs$.enabled = false;
|
239
|
+
}
|
240
|
+
if (this.expression.value) {
|
241
|
+
inputFieldData.$attrs$.value = this.getExpressiontValue(this.expression);
|
242
|
+
}
|
243
|
+
inputFieldData.$attrs$.onEzChange = (event) => {
|
244
|
+
this.setValueExpression("value", event.target.value);
|
245
|
+
};
|
246
|
+
if (this.expression.userInterface === 'SWITCH' && this.expression.value == undefined) {
|
247
|
+
this.setValueExpression("value", false);
|
248
|
+
}
|
249
|
+
return index.h(inputFieldData.$tag$, Object.assign(Object.assign({}, inputFieldData.$attrs$), { ref: (el) => {
|
250
|
+
this._elFieldDynamic = el;
|
251
|
+
}, label: this.expression.fieldLabel || this._fieldSelected.label }));
|
252
|
+
}
|
253
|
+
getExpressiontValue(expression) {
|
254
|
+
return DataType.convertType(expression.type, expression.value);
|
255
|
+
}
|
256
|
+
configureFieldByType() {
|
257
|
+
var _a, _b;
|
258
|
+
const field = {
|
259
|
+
userInterface: this._fieldSelected.userInterface,
|
260
|
+
name: this._fieldSelected.name,
|
261
|
+
label: this._fieldSelected.label,
|
262
|
+
canShowError: false
|
263
|
+
};
|
264
|
+
switch (field.userInterface) {
|
265
|
+
case core.UserInterface.OPTIONSELECTOR:
|
266
|
+
field.props = {
|
267
|
+
options: (_b = (_a = this._fieldSelected) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.options,
|
268
|
+
};
|
269
|
+
break;
|
270
|
+
case core.UserInterface.LONGTEXT:
|
271
|
+
field.rows = 1;
|
272
|
+
break;
|
273
|
+
case core.UserInterface.SEARCH:
|
274
|
+
field.optionLoader = searchArgument => this.setCriteriaSearch(searchArgument, this.application);
|
275
|
+
break;
|
276
|
+
}
|
277
|
+
return field;
|
278
|
+
}
|
279
|
+
setCriteriaSearch({ mode, argument }, application) {
|
280
|
+
var _a, _b;
|
281
|
+
if (application == undefined)
|
282
|
+
return;
|
283
|
+
const searchOptions = {
|
284
|
+
showInactives: false
|
285
|
+
};
|
286
|
+
const options = {
|
287
|
+
entity: (_b = (_a = this._fieldSelected) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.ENTITYNAME,
|
288
|
+
searchOptions,
|
289
|
+
entityDescription: this._fieldSelected.description
|
290
|
+
};
|
291
|
+
return application.executePreparedSearch(mode, argument, options);
|
292
|
+
}
|
293
|
+
render() {
|
294
|
+
var _a;
|
295
|
+
return (index.h(index.Host, null, index.h("div", { class: "dashes" }), index.h("div", { class: "box" }, index.h("div", { class: "box__container" }, index.h("div", { class: "box__container--input-filter" }, index.h("ez-filter-input", Object.assign({ ref: ref => this._elFilterInput = ref, value: (_a = this._fieldSelected) === null || _a === void 0 ? void 0 : _a.path, label: this.getMessage("snkPersonalizedFilter.info.labelSearchField"), canShowError: false, onEzChange: (evt) => this.handleChangeFilterInput(evt), onFocus: () => this.handleFocus() }, { [core.ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `expressionFilterInput_${this.expression.fieldName || DEFAULT_FIELD_NAME}` })), index.h("snk-filter-field-search", { ref: ref => this._elFilterFieldSearch = ref, searchable: false, onEzSelectFilterItem: (ev) => this.handleSelectItem(ev.detail), fieldsDataSource: this._dataSourceFetcher })), index.h("div", { class: "box__container--input-operator" }, index.h("ez-combo-box", Object.assign({ label: this.getMessage("snkPersonalizedFilter.info.labelOperator"), value: this.expression.operand, canShowError: false, options: this.buildOptionsOperator(), onEzChange: (evt) => { var _a; return this.handleChangeOperator((_a = evt.detail) === null || _a === void 0 ? void 0 : _a.value); }, suppressEmptyOption: true }, { [core.ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `comboBoxOperand_${this.expression.fieldName || DEFAULT_FIELD_NAME}` }))), index.h("div", { class: "box__container--input-value" }, !this._fieldSelected ?
|
296
|
+
index.h("ez-number-input", { label: "Valor", canShowError: false, enabled: (!this._showValueVariable && !this._optionNotNull) }) :
|
297
|
+
this.buildFieldByType()), index.h("div", { class: "box__container--input-value-variable", title: this.getMessage("snkPersonalizedFilter.info.titleTooltip") }, !this._optionNotNull &&
|
298
|
+
index.h("ez-check", { ref: ref => this._elValueVariable = ref, value: this.expression.paramVariable, label: this.getMessage("snkPersonalizedFilter.info.labelValueVarible"), mode: utils.CheckMode.SWITCH, onEzChange: (evt) => this.handleChangeValueVariable(evt.detail) }), (this._showValueVariable && !this._optionNotNull) &&
|
299
|
+
index.h("ez-icon", Object.assign({ class: "box__container--input-value-variable--icon", size: "large", iconName: "settings-inverted" }, { [core.ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: 'iconConfig' }, { onClick: () => this.openSnkFilterParamConfig() })), index.h("snk-filter-param-config", { ref: (el) => this._elFilterParamConfigRef = el, messagesBuilder: this.messagesBuilder })), index.h("div", { class: "box__container--button-delete" }, index.h("div", { class: "box__container--button-delete--icon" }, index.h("ez-button", { mode: "icon", iconName: "delete", enabled: this.canRemove, label: this.getMessage("snkPersonalizedFilter.info.labelDeleteItem"), onClick: (evt) => this.confirmRemove(evt) })))))));
|
300
|
+
}
|
301
|
+
static get watchers() { return {
|
302
|
+
"expression": ["expressionChanged"]
|
303
|
+
}; }
|
304
|
+
};
|
305
|
+
SnkExpressionItem.style = snkExpressionItemCss;
|
10
306
|
|
11
307
|
const ICON_MODES = {
|
12
308
|
[core.UserInterface.SHORTTEXT]: 'text',
|
@@ -34,6 +330,7 @@ const ListItem = ({ userInterface, description }) => {
|
|
34
330
|
const snkFilterFieldSearchCss = ".sc-snk-filter-field-search-h{--snk-filter-field-search--container-width:468px;--snk-filter-field-search--container-height:322px}.snk-filter-field-search__container.sc-snk-filter-field-search{display:flex;flex-direction:column;padding:var(--space--medium);width:var(--snk-filter-field-search--container-width);height:var(--snk-filter-field-search--container-height)}.snk-filter-field-search__section.sc-snk-filter-field-search{display:grid;grid-template-columns:1fr 1fr;place-items:flex-start;overflow:hidden;gap:var(--space--small)}.snk-filter-field-search__input.sc-snk-filter-field-search{margin-bottom:var(--space--medium)}.snk-filter-field-search__list_container.sc-snk-filter-field-search{display:flex;flex-direction:column}.snk-filter-field-search__list.sc-snk-filter-field-search{overflow-y:auto}";
|
35
331
|
|
36
332
|
const SNK_CONTEXT_KEY = "__SNK__APPLICATION__";
|
333
|
+
const ENTITY_NAME_PATTERN = /\w+:\/\/(\w+)/;
|
37
334
|
const SnkFilterFieldSearch = class {
|
38
335
|
constructor(hostRef) {
|
39
336
|
index.registerInstance(this, hostRef);
|
@@ -47,6 +344,8 @@ const SnkFilterFieldSearch = class {
|
|
47
344
|
this.breadcrumbItems = [];
|
48
345
|
this.linkItems = [];
|
49
346
|
this.fieldItems = [];
|
347
|
+
this.searchEmpty = false;
|
348
|
+
this.groupEmpty = false;
|
50
349
|
}
|
51
350
|
/**
|
52
351
|
* Realiza a abertura do componente e faz a primeira carga
|
@@ -68,6 +367,7 @@ const SnkFilterFieldSearch = class {
|
|
68
367
|
this.handleFilterChange(filterText);
|
69
368
|
}
|
70
369
|
async loadData() {
|
370
|
+
var _a, _b;
|
71
371
|
this._isLoading = true;
|
72
372
|
let metadata;
|
73
373
|
if (this._currentLink != undefined) {
|
@@ -85,14 +385,15 @@ const SnkFilterFieldSearch = class {
|
|
85
385
|
this.mapDataSourceToLinkItems();
|
86
386
|
this.mapDataSourceToFieldItems();
|
87
387
|
this._isLoading = false;
|
88
|
-
this._ezFieldList.scrollToTop();
|
89
|
-
this._ezLinkList.scrollToTop();
|
388
|
+
(_a = this._ezFieldList) === null || _a === void 0 ? void 0 : _a.scrollToTop();
|
389
|
+
(_b = this._ezLinkList) === null || _b === void 0 ? void 0 : _b.scrollToTop();
|
90
390
|
}
|
91
391
|
mapDataSourceToLinkItems() {
|
92
392
|
var _a;
|
93
393
|
const { links } = this._currentMetadata;
|
94
394
|
const filterLinkLabelMessage = this.getMessage('snkFilterFieldSearch.linkLabel', { link: (_a = this._currentLink) === null || _a === void 0 ? void 0 : _a.description });
|
95
395
|
const items = links.map(link => (Object.assign({ label: link.description }, link)));
|
396
|
+
this.groupEmpty = Boolean(items.length === 0);
|
96
397
|
this.linkItems = [{
|
97
398
|
group: filterLinkLabelMessage,
|
98
399
|
items,
|
@@ -103,7 +404,7 @@ const SnkFilterFieldSearch = class {
|
|
103
404
|
}
|
104
405
|
mapDataSourceToFieldItems() {
|
105
406
|
var _a;
|
106
|
-
const
|
407
|
+
const fields = this._currentMetadata.fields;
|
107
408
|
const filterFieldLabelMessage = this.getMessage('snkFilterFieldSearch.fieldLabel', { link: (_a = this._currentLink) === null || _a === void 0 ? void 0 : _a.description });
|
108
409
|
const filteredFields = fields.filter(field => {
|
109
410
|
if (!this._currentLink)
|
@@ -113,6 +414,7 @@ const SnkFilterFieldSearch = class {
|
|
113
414
|
return searchableByDescription || searchableByName;
|
114
415
|
});
|
115
416
|
const items = filteredFields.map(field => (Object.assign({ label: field.description }, field)));
|
417
|
+
this.searchEmpty = Boolean(this._filterText && items.length === 0);
|
116
418
|
this.fieldItems = [{
|
117
419
|
group: filterFieldLabelMessage,
|
118
420
|
items
|
@@ -135,15 +437,22 @@ const SnkFilterFieldSearch = class {
|
|
135
437
|
else {
|
136
438
|
this.breadcrumbItems = [...this.breadcrumbItems, Object.assign({ id: core.JSUtils.generateUUID(), label: item.description }, item)];
|
137
439
|
}
|
138
|
-
const selectedItem = Object.assign(Object.assign({}, item), { type:
|
440
|
+
const selectedItem = Object.assign(Object.assign({}, item), { type: SelectedItemType.LINK });
|
139
441
|
this._currentLink = selectedItem;
|
140
442
|
this.ezSelectFilterItem.emit(selectedItem);
|
141
443
|
this.loadData();
|
142
444
|
}
|
445
|
+
getEntityFromBreadCrumbItem(item) {
|
446
|
+
const result = ENTITY_NAME_PATTERN.exec(item.uri);
|
447
|
+
if (!result) {
|
448
|
+
return undefined;
|
449
|
+
}
|
450
|
+
return result[1];
|
451
|
+
}
|
143
452
|
handleSelectField({ detail: item }) {
|
144
453
|
var _a;
|
145
454
|
const breadcrumbPath = this.breadcrumbItems.map(breadcrumbItem => breadcrumbItem.label).join('>>');
|
146
|
-
const selectedField = Object.assign(Object.assign({}, item), { type:
|
455
|
+
const selectedField = Object.assign(Object.assign({}, item), { type: SelectedItemType.FIELD, entityPath: this.breadcrumbItems.map(item => this.getEntityFromBreadCrumbItem(item)).filter(item => item != undefined), path: `${breadcrumbPath} >> ${item.description}` });
|
147
456
|
this.ezSelectFilterItem.emit(selectedField);
|
148
457
|
(_a = this._ezPopover) === null || _a === void 0 ? void 0 : _a.hide();
|
149
458
|
}
|
@@ -179,66 +488,17 @@ const SnkFilterFieldSearch = class {
|
|
179
488
|
render() {
|
180
489
|
var _a;
|
181
490
|
const searchLabelMessage = this.getMessage('snkFilterFieldSearch.searchLabel');
|
182
|
-
return (index.h("ez-popover", Object.assign({ ref: (el) => this._ezPopover = el, role: "dialog", overlayType: "none", "aria-hidden": !((_a = this._ezPopover) === null || _a === void 0 ? void 0 : _a.opened) }, this.getElementID('EzPopover')), index.h("div", { class: "snk-filter-field-search__container" }, index.h("header", { class: "snk-filter-field-search__header" }, this.searchable && !!searchLabelMessage && (index.h("ez-filter-input", Object.assign({ class: "snk-filter-field-search__input", label: searchLabelMessage, asyncSearch: true, canShowError: false, onEzSearching: (event) => this.handleFilterChange.bind(this)(event.detail), "aria-label": searchLabelMessage, "aria-required": "false", "aria-invalid": "false" }, this.getElementID('EzFilterInput')))), this.breadcrumbItems.length > 0 && (index.h("ez-breadcrumb", Object.assign({ items: this.breadcrumbItems, onSelectedItem: this.handleSelectLink.bind(this), role: "navigation", "aria-current": "step" }, this.getElementID('EzBreadcrumb')))), index.h("hr", { class: "ez-divider-horizontal ez-margin-vertical--medium" })), index.h("section", { class:
|
491
|
+
return (index.h("ez-popover", Object.assign({ ref: (el) => this._ezPopover = el, role: "dialog", overlayType: "none", "aria-hidden": !((_a = this._ezPopover) === null || _a === void 0 ? void 0 : _a.opened) }, this.getElementID('EzPopover')), index.h("div", { class: "snk-filter-field-search__container" }, index.h("header", { class: "snk-filter-field-search__header" }, this.searchable && !!searchLabelMessage && (index.h("ez-filter-input", Object.assign({ class: "snk-filter-field-search__input", label: searchLabelMessage, asyncSearch: true, canShowError: false, onEzSearching: (event) => this.handleFilterChange.bind(this)(event.detail), "aria-label": searchLabelMessage, "aria-required": "false", "aria-invalid": "false" }, this.getElementID('EzFilterInput')))), this.breadcrumbItems.length > 0 && (index.h("ez-breadcrumb", Object.assign({ items: this.breadcrumbItems, onSelectedItem: this.handleSelectLink.bind(this), role: "navigation", "aria-current": "step" }, this.getElementID('EzBreadcrumb')))), index.h("hr", { class: "ez-divider-horizontal ez-margin-vertical--medium" })), index.h("section", { class: `snk-filter-field-search__section ${(this.groupEmpty && this.searchEmpty) && " ez-margin--auto"}` }, this.groupEmpty ?
|
492
|
+
index.h("div", { class: "ez-margin--auto" }, index.h("span", { class: "ez-text ez-text--secondary ez-text--medium" }, this.getMessage('snkFilterFieldSearch.groupEmpty')))
|
493
|
+
:
|
494
|
+
index.h("ez-list", Object.assign({ ref: (el) => this._ezLinkList = el, class: "snk-filter-field-search__list", id: "filterLinkList", useGroups: true, dataSource: this.linkItems, onEzSelectItem: this.handleSelectLink.bind(this), hoverFeedback: true, ezSelectable: true, itemSlotBuilder: listItem => index.h("ez-badge", { label: listItem.fieldCount }), "aria-describedby": "filterLinkLabel" }, this.getElementID('EzListLinks'))), this.searchEmpty ?
|
495
|
+
index.h("div", { class: "ez-margin--auto" }, index.h("span", { class: "ez-text ez-text--secondary ez-text--medium" }, this.getMessage('snkFilterFieldSearch.searchEmpty')))
|
496
|
+
:
|
497
|
+
index.h("ez-list", Object.assign({ ref: (el) => this._ezFieldList = el, class: "snk-filter-field-search__list", id: "filterFieldList", useGroups: true, dataSource: this.fieldItems, onEzSelectItem: this.handleSelectField.bind(this), hoverFeedback: true, ezSelectable: true, itemSlotBuilder: ListItem, "aria-describedby": "filterFieldLabel" }, this.getElementID('EzListFields')))))));
|
183
498
|
}
|
184
499
|
};
|
185
500
|
SnkFilterFieldSearch.style = snkFilterFieldSearchCss;
|
186
501
|
|
187
|
-
class PersonalizedFilterUtils {
|
188
|
-
/**
|
189
|
-
* Cria uma expressão de filtro a partir de um IExpressionItem.
|
190
|
-
* @param expressionItem - Objeto com os parâmetros necessários para montar a expressão.
|
191
|
-
* @returns Retorna a expressão de filtro.
|
192
|
-
*/
|
193
|
-
static buildFilterExpression(expressionItem) {
|
194
|
-
if (expressionItem == undefined) {
|
195
|
-
return;
|
196
|
-
}
|
197
|
-
const value = this.buildVariableParameterValue(expressionItem);
|
198
|
-
let expression = expressionItem.expression || "";
|
199
|
-
switch (expressionItem.operand) {
|
200
|
-
case index$2.FilterOperand.IN:
|
201
|
-
expression += ` ${expressionItem.operand} (${value})`;
|
202
|
-
break;
|
203
|
-
case index$2.FilterOperand.NULL:
|
204
|
-
case index$2.FilterOperand.NOT_NULL:
|
205
|
-
expression += ` IS ${value}`;
|
206
|
-
break;
|
207
|
-
case index$2.FilterOperand.LIKE:
|
208
|
-
expression += ` LIKE '%${value}%'`;
|
209
|
-
break;
|
210
|
-
case index$2.FilterOperand.START_WITH:
|
211
|
-
expression += ` LIKE '${value}%'`;
|
212
|
-
break;
|
213
|
-
case index$2.FilterOperand.FINISHED_WITH:
|
214
|
-
expression += ` LIKE '%${value}'`;
|
215
|
-
break;
|
216
|
-
default:
|
217
|
-
expression += ` ${expressionItem.operand} ${value}`;
|
218
|
-
}
|
219
|
-
return expression;
|
220
|
-
}
|
221
|
-
/**
|
222
|
-
* Obtém o valor do parâmetro a partir de um IExpressionItem.
|
223
|
-
* @param expressionItem - Objeto com os parâmetros necessários para montar a expressão.
|
224
|
-
* @returns Retorna o valor do parâmetro.
|
225
|
-
*/
|
226
|
-
static buildVariableParameterValue(expressionItem) {
|
227
|
-
if (expressionItem == undefined) {
|
228
|
-
return;
|
229
|
-
}
|
230
|
-
if (expressionItem.systemConfig != undefined) {
|
231
|
-
const systemConfig = expressionItem.systemConfig;
|
232
|
-
return `?:{entidade=${systemConfig.entity || ""};campo=${systemConfig.fieldName || ""}}`;
|
233
|
-
}
|
234
|
-
if (expressionItem.userConfig != undefined) {
|
235
|
-
const userConfig = expressionItem.userConfig;
|
236
|
-
return `?:{desc=${userConfig.description || ""};tipo=${userConfig.type || ""}}`;
|
237
|
-
}
|
238
|
-
return `?:{entidade=${expressionItem.entityName || ""};campo=${expressionItem.fieldName || ""}}`;
|
239
|
-
}
|
240
|
-
}
|
241
|
-
|
242
502
|
const snkFilterParamConfigCss = ":host{--snk-filter-param-config__expression--color:var(--title--primary, #2b3a54);display:flex;position:relative}.snk-filter-param-config__expression{--text-area__input--disabled--color:var(--snk-filter-param-config__expression--color)}";
|
243
503
|
|
244
504
|
const SnkFilterParamConfig = class {
|
@@ -355,7 +615,7 @@ const SnkFilterParamConfig = class {
|
|
355
615
|
buildFilterExpression() {
|
356
616
|
var _a;
|
357
617
|
this._informedInstance = this.isInformedInstance();
|
358
|
-
const expression = PersonalizedFilterUtils.buildFilterExpression(this.getExpressionValues());
|
618
|
+
const expression = PersonalizedFilterUtils.PersonalizedFilterUtils.buildFilterExpression(this.getExpressionValues());
|
359
619
|
this._expressionElement.value = expression || ((_a = this._expressionItem) === null || _a === void 0 ? void 0 : _a.expression);
|
360
620
|
this._canSave = this.getCanSave();
|
361
621
|
}
|
@@ -381,7 +641,7 @@ const SnkFilterParamConfig = class {
|
|
381
641
|
};
|
382
642
|
}
|
383
643
|
onSearch({ mode, argument }, entity) {
|
384
|
-
if (this._application == undefined) {
|
644
|
+
if (this._application == undefined || !this._opened) {
|
385
645
|
return;
|
386
646
|
}
|
387
647
|
const isField = entity === index$2.FilterEntities.FIELD;
|
@@ -433,5 +693,6 @@ const SnkFilterParamConfig = class {
|
|
433
693
|
};
|
434
694
|
SnkFilterParamConfig.style = snkFilterParamConfigCss;
|
435
695
|
|
696
|
+
exports.snk_expression_item = SnkExpressionItem;
|
436
697
|
exports.snk_filter_field_search = SnkFilterFieldSearch;
|
437
698
|
exports.snk_filter_param_config = SnkFilterParamConfig;
|