@sankhyalabs/sankhyablocks 6.9.2 → 7.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.
Files changed (188) hide show
  1. package/dist/cjs/{ConfigStorage-3aaa8a9f.js → ConfigStorage-97468a0f.js} +31 -25
  2. package/dist/cjs/{DataFetcher-093c47ae.js → DataFetcher-04c70ba9.js} +88 -24
  3. package/dist/cjs/{PersonalizedFilterUtils-cfcd9af2.js → PersonalizedFilterUtils-9848e09b.js} +18 -64
  4. package/dist/cjs/{SnkFormConfigManager-ddad3cbb.js → SnkFormConfigManager-bef6e022.js} +2 -2
  5. package/dist/cjs/{SnkMessageBuilder-e55c7afa.js → SnkMessageBuilder-f40df6d4.js} +20 -3
  6. package/dist/cjs/{dataunit-fetcher-2f67ac79.js → dataunit-fetcher-4102080d.js} +1 -1
  7. package/dist/cjs/{filter-bar-config-fetcher-81868495.js → filter-bar-config-fetcher-a7747f69.js} +23 -6
  8. package/dist/cjs/{form-config-fetcher-affb0b28.js → form-config-fetcher-56442594.js} +2 -2
  9. package/dist/cjs/index-8d94b7e0.js +7 -0
  10. package/dist/cjs/index-c5771aba.js +44 -0
  11. package/dist/cjs/loader.cjs.js +1 -1
  12. package/dist/cjs/{pesquisa-fetcher-21c3afc9.js → pesquisa-fetcher-cab451b6.js} +1 -1
  13. package/dist/cjs/{resource-fetcher-e71a11b8.js → resource-fetcher-260e98a4.js} +1 -1
  14. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  15. package/dist/cjs/snk-actions-button.cjs.entry.js +2 -2
  16. package/dist/cjs/snk-application.cjs.entry.js +8 -8
  17. package/dist/cjs/snk-attach.cjs.entry.js +2 -2
  18. package/dist/cjs/snk-crud.cjs.entry.js +2 -2
  19. package/dist/cjs/snk-data-exporter.cjs.entry.js +3 -3
  20. package/dist/cjs/{snk-data-unit-26cf970c.js → snk-data-unit-b0cc2d42.js} +1 -1
  21. package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
  22. package/dist/cjs/snk-detail-view.cjs.entry.js +9 -9
  23. package/dist/cjs/snk-expression-group_2.cjs.entry.js +542 -0
  24. package/dist/cjs/snk-filter-advanced-mode_2.cjs.entry.js +66 -0
  25. package/dist/cjs/snk-filter-bar.cjs.entry.js +17 -17
  26. package/dist/cjs/snk-filter-detail.cjs.entry.js +5 -5
  27. package/dist/cjs/{snk-expression-item_3.cjs.entry.js → snk-filter-field-search_2.cjs.entry.js} +23 -315
  28. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +5 -5
  29. package/dist/cjs/snk-filter-modal.cjs.entry.js +2 -2
  30. package/dist/cjs/snk-form-config.cjs.entry.js +3 -3
  31. package/dist/cjs/snk-form.cjs.entry.js +6 -6
  32. package/dist/cjs/snk-grid-config.cjs.entry.js +5 -5
  33. package/dist/cjs/snk-grid.cjs.entry.js +5 -5
  34. package/dist/cjs/{snk-guides-viewer-b0f98cf4.js → snk-guides-viewer-897368ea.js} +3 -3
  35. package/dist/cjs/snk-guides-viewer.cjs.entry.js +8 -8
  36. package/dist/cjs/snk-personalized-filter.cjs.entry.js +125 -34
  37. package/dist/cjs/snk-print-selector.cjs.entry.js +15 -11
  38. package/dist/cjs/snk-simple-crud.cjs.entry.js +2 -2
  39. package/dist/collection/collection-manifest.json +2 -0
  40. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +1 -1
  41. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.css +5 -1
  42. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +114 -23
  43. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-group/snk-expression-group.js +4 -6
  44. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-item/snk-expression-item.js +2 -1
  45. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-advanced-mode/snk-filter-advanced-mode.css +10 -0
  46. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-advanced-mode/snk-filter-advanced-mode.js +95 -0
  47. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-assistent-mode/snk-filter-assistent-mode.css +66 -0
  48. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-assistent-mode/snk-filter-assistent-mode.js +158 -0
  49. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/snk-filter-param-config.js +8 -2
  50. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/utils/PersonalizedFilterUtils.js +14 -23
  51. package/dist/collection/components/snk-print-selector/snk-print-selector.css +9 -1
  52. package/dist/collection/components/snk-print-selector/snk-print-selector.js +17 -14
  53. package/dist/collection/lib/configs/ConfigStorage.js +5 -3
  54. package/dist/collection/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.js +22 -5
  55. package/dist/collection/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.js +22 -18
  56. package/dist/collection/lib/message/resources/snk-personalized-filter.msg.js +18 -2
  57. package/dist/collection/lib/message/resources/snk-print-selector.msg.js +2 -1
  58. package/dist/collection/lib/utils/PrintUtils.js +88 -24
  59. package/dist/components/ConfigStorage.js +27 -21
  60. package/dist/components/DataFetcher.js +88 -24
  61. package/dist/components/PersonalizedFilterUtils.js +14 -23
  62. package/dist/components/SnkMessageBuilder.js +20 -3
  63. package/dist/components/filter-bar-config-fetcher.js +22 -5
  64. package/dist/components/index.d.ts +2 -0
  65. package/dist/components/index.js +2 -0
  66. package/dist/components/snk-crud.js +34 -22
  67. package/dist/components/snk-detail-view2.js +49 -27
  68. package/dist/components/snk-expression-group2.js +4 -6
  69. package/dist/components/snk-expression-item2.js +2 -1
  70. package/dist/components/snk-filter-advanced-mode.d.ts +11 -0
  71. package/dist/components/snk-filter-advanced-mode.js +6 -0
  72. package/dist/components/snk-filter-advanced-mode2.js +46 -0
  73. package/dist/components/snk-filter-assistent-mode.d.ts +11 -0
  74. package/dist/components/snk-filter-assistent-mode.js +6 -0
  75. package/dist/components/snk-filter-assistent-mode2.js +77 -0
  76. package/dist/components/snk-filter-bar2.js +17 -5
  77. package/dist/components/snk-filter-param-config2.js +6 -0
  78. package/dist/components/snk-grid2.js +22 -10
  79. package/dist/components/snk-personalized-filter2.js +131 -28
  80. package/dist/components/snk-print-selector.js +14 -10
  81. package/dist/esm/{ConfigStorage-24b221ba.js → ConfigStorage-02f17a26.js} +31 -25
  82. package/dist/esm/{DataFetcher-6153ff3e.js → DataFetcher-fddeb917.js} +88 -24
  83. package/dist/esm/{PersonalizedFilterUtils-1a167d89.js → PersonalizedFilterUtils-731cae01.js} +16 -62
  84. package/dist/esm/{SnkFormConfigManager-fcbefc1a.js → SnkFormConfigManager-cd9e6cab.js} +2 -2
  85. package/dist/esm/{SnkMessageBuilder-96e66d9c.js → SnkMessageBuilder-5be56185.js} +20 -3
  86. package/dist/esm/{dataunit-fetcher-09586248.js → dataunit-fetcher-66f42154.js} +1 -1
  87. package/dist/esm/{filter-bar-config-fetcher-73ebc12f.js → filter-bar-config-fetcher-790283d8.js} +23 -6
  88. package/dist/esm/{form-config-fetcher-01e9985d.js → form-config-fetcher-533b895e.js} +2 -2
  89. package/dist/esm/index-620ac460.js +7 -0
  90. package/dist/esm/index-ae591a44.js +44 -0
  91. package/dist/esm/loader.js +1 -1
  92. package/dist/esm/{pesquisa-fetcher-829ec5a9.js → pesquisa-fetcher-4a702655.js} +1 -1
  93. package/dist/esm/{resource-fetcher-d053e214.js → resource-fetcher-0f20a072.js} +1 -1
  94. package/dist/esm/sankhyablocks.js +1 -1
  95. package/dist/esm/snk-actions-button.entry.js +2 -2
  96. package/dist/esm/snk-application.entry.js +8 -8
  97. package/dist/esm/snk-attach.entry.js +2 -2
  98. package/dist/esm/snk-crud.entry.js +2 -2
  99. package/dist/esm/snk-data-exporter.entry.js +3 -3
  100. package/dist/esm/{snk-data-unit-0f2d3c74.js → snk-data-unit-b9b4bb5f.js} +1 -1
  101. package/dist/esm/snk-data-unit.entry.js +2 -2
  102. package/dist/esm/snk-detail-view.entry.js +9 -9
  103. package/dist/esm/snk-expression-group_2.entry.js +537 -0
  104. package/dist/esm/snk-filter-advanced-mode_2.entry.js +61 -0
  105. package/dist/esm/snk-filter-bar.entry.js +8 -8
  106. package/dist/esm/snk-filter-detail.entry.js +5 -5
  107. package/dist/esm/{snk-expression-item_3.entry.js → snk-filter-field-search_2.entry.js} +12 -303
  108. package/dist/esm/snk-filter-modal-item.entry.js +5 -5
  109. package/dist/esm/snk-filter-modal.entry.js +2 -2
  110. package/dist/esm/snk-form-config.entry.js +3 -3
  111. package/dist/esm/snk-form.entry.js +6 -6
  112. package/dist/esm/snk-grid-config.entry.js +5 -5
  113. package/dist/esm/snk-grid.entry.js +5 -5
  114. package/dist/esm/{snk-guides-viewer-ab5c376c.js → snk-guides-viewer-579c70cc.js} +3 -3
  115. package/dist/esm/snk-guides-viewer.entry.js +8 -8
  116. package/dist/esm/snk-personalized-filter.entry.js +122 -31
  117. package/dist/esm/snk-print-selector.entry.js +15 -11
  118. package/dist/esm/snk-simple-crud.entry.js +2 -2
  119. package/dist/sankhyablocks/{p-e665c93f.entry.js → p-19fdcf88.entry.js} +1 -1
  120. package/dist/sankhyablocks/{p-4ab8d0ee.entry.js → p-1fe2976e.entry.js} +1 -1
  121. package/dist/sankhyablocks/p-2227bb94.js +1 -0
  122. package/dist/sankhyablocks/{p-85e6068d.entry.js → p-2ddf3e87.entry.js} +1 -1
  123. package/dist/sankhyablocks/p-386102a7.entry.js +1 -0
  124. package/dist/sankhyablocks/{p-eaec700d.js → p-3b059f4e.js} +1 -1
  125. package/dist/sankhyablocks/p-4af6cbef.entry.js +1 -0
  126. package/dist/sankhyablocks/p-4bbc7aac.entry.js +1 -0
  127. package/dist/sankhyablocks/p-4f550a1a.js +1 -0
  128. package/dist/sankhyablocks/{p-7dd92fb8.entry.js → p-4f687570.entry.js} +1 -1
  129. package/dist/sankhyablocks/p-5098f618.js +1 -0
  130. package/dist/sankhyablocks/{p-16ad23d5.entry.js → p-5596a2dd.entry.js} +1 -1
  131. package/dist/sankhyablocks/p-7e636457.entry.js +1 -0
  132. package/dist/sankhyablocks/p-7f1c4687.js +56 -0
  133. package/dist/sankhyablocks/p-82800006.entry.js +1 -0
  134. package/dist/sankhyablocks/{p-05d82333.entry.js → p-88f4ef73.entry.js} +1 -1
  135. package/dist/sankhyablocks/{p-d20e2ce3.js → p-8f484733.js} +1 -1
  136. package/dist/sankhyablocks/{p-eb0c9f4c.js → p-90a926c7.js} +1 -1
  137. package/dist/sankhyablocks/{p-432dd007.entry.js → p-90e7c3a2.entry.js} +1 -1
  138. package/dist/sankhyablocks/p-933c0c0b.js +1 -0
  139. package/dist/sankhyablocks/p-9666c0d0.entry.js +1 -0
  140. package/dist/sankhyablocks/p-97720467.entry.js +1 -0
  141. package/dist/sankhyablocks/{p-a4cd60bf.entry.js → p-97c586ab.entry.js} +1 -1
  142. package/dist/sankhyablocks/{p-814f9247.js → p-982107dc.js} +1 -1
  143. package/dist/sankhyablocks/{p-354ce206.entry.js → p-9fa9331b.entry.js} +1 -1
  144. package/dist/sankhyablocks/{p-07cb8a03.entry.js → p-a357d13c.entry.js} +1 -1
  145. package/dist/sankhyablocks/{p-bfe8b96d.js → p-acd8b97b.js} +1 -1
  146. package/dist/sankhyablocks/{p-40a5d35e.entry.js → p-ad6673fb.entry.js} +1 -1
  147. package/dist/sankhyablocks/{p-3e8748b1.entry.js → p-af8ed6d5.entry.js} +1 -1
  148. package/dist/sankhyablocks/{p-bd1f8640.entry.js → p-bc19b890.entry.js} +1 -1
  149. package/dist/sankhyablocks/p-bd86c9d3.entry.js +1 -0
  150. package/dist/sankhyablocks/{p-1b596ea1.entry.js → p-cdbdcf13.entry.js} +1 -1
  151. package/dist/sankhyablocks/{p-89fb7531.js → p-d97eb781.js} +2 -2
  152. package/dist/sankhyablocks/{p-60ad0dea.js → p-f034254e.js} +1 -1
  153. package/dist/sankhyablocks/p-f4184ce7.js +1 -0
  154. package/dist/sankhyablocks/{p-9a7aafe4.js → p-fb1e5b6d.js} +1 -1
  155. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  156. package/dist/types/components/snk-personalized-filter/interfaces/IPersonalizedFilter.d.ts +4 -0
  157. package/dist/types/components/snk-personalized-filter/snk-personalized-filter.d.ts +17 -6
  158. package/dist/types/components/snk-personalized-filter/subcomponents/snk-expression-group/snk-expression-group.d.ts +2 -2
  159. package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-advanced-mode/snk-filter-advanced-mode.d.ts +20 -0
  160. package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-assistent-mode/snk-filter-assistent-mode.d.ts +31 -0
  161. package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-param-config/snk-filter-param-config.d.ts +6 -0
  162. package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-param-config/utils/PersonalizedFilterUtils.d.ts +2 -2
  163. package/dist/types/components/snk-print-selector/snk-print-selector.d.ts +7 -1
  164. package/dist/types/components.d.ts +106 -4
  165. package/dist/types/lib/configs/ConfigStorage.d.ts +3 -2
  166. package/dist/types/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.d.ts +2 -1
  167. package/dist/types/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.d.ts +2 -1
  168. package/dist/types/lib/utils/PrintUtils.d.ts +5 -2
  169. package/package.json +1 -1
  170. package/react/components.d.ts +2 -0
  171. package/react/components.js +2 -0
  172. package/react/components.js.map +1 -1
  173. package/dist/cjs/IExpressionItem-0e32ebb7.js +0 -7
  174. package/dist/cjs/snk-expression-group.cjs.entry.js +0 -250
  175. package/dist/esm/IExpressionItem-21f225bf.js +0 -7
  176. package/dist/esm/snk-expression-group.entry.js +0 -246
  177. package/dist/sankhyablocks/p-13f0ed88.entry.js +0 -1
  178. package/dist/sankhyablocks/p-2b449454.js +0 -1
  179. package/dist/sankhyablocks/p-63bff2a8.js +0 -1
  180. package/dist/sankhyablocks/p-6f49f5d4.entry.js +0 -1
  181. package/dist/sankhyablocks/p-744d0fd2.js +0 -1
  182. package/dist/sankhyablocks/p-7d68a43a.js +0 -1
  183. package/dist/sankhyablocks/p-9404ad4d.entry.js +0 -1
  184. package/dist/sankhyablocks/p-ad4bb9d2.entry.js +0 -1
  185. package/dist/sankhyablocks/p-d9586ead.entry.js +0 -1
  186. package/dist/sankhyablocks/p-e789eb2d.js +0 -68
  187. package/dist/sankhyablocks/p-f8ce17d3.entry.js +0 -1
  188. package/dist/sankhyablocks/p-feb6963e.entry.js +0 -1
@@ -4,20 +4,22 @@ export declare class PrintUtils {
4
4
  private static readonly LOCAL_SERVER_URI;
5
5
  private static readonly ENCODED_PROPERTIES;
6
6
  private static instance;
7
+ private appletImpressao;
7
8
  private constructor();
8
9
  static getInstance(): PrintUtils;
9
10
  processPendingPrinting(transactionId: string): Promise<void>;
10
11
  private findPendingPrints;
11
- private findLocalPrinters;
12
12
  getLocalPrinters(): Array<DataPrinter>;
13
13
  private parsePrintData;
14
14
  private normalize;
15
15
  processLocalPrinting(localPrintings: Array<{
16
16
  transactionId: string;
17
17
  }>): void;
18
- private doLocalPrinting;
19
18
  private openSnkPrintSelector;
20
19
  private saveSubstitutePrinter;
20
+ private processDirectPrint;
21
+ private getDefaultPrinterName;
22
+ private isPrinterNameAFile;
21
23
  }
22
24
  export interface PendingPrintJobData {
23
25
  transactionId: string;
@@ -48,4 +50,5 @@ export interface PendingPrinter {
48
50
  originalPrinterName: string;
49
51
  printJobCount: number;
50
52
  docTypeDescription: string;
53
+ printerUri?: string;
51
54
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sankhyalabs/sankhyablocks",
3
- "version": "6.9.2",
3
+ "version": "7.0.0",
4
4
  "description": "Stencil Component Starter",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -16,6 +16,8 @@ export declare const SnkExporterEmailSender: import("react").ForwardRefExoticCom
16
16
  export declare const SnkExpressionGroup: import("react").ForwardRefExoticComponent<JSX.SnkExpressionGroup & Omit<import("react").HTMLAttributes<HTMLSnkExpressionGroupElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkExpressionGroupElement>>;
17
17
  export declare const SnkExpressionItem: import("react").ForwardRefExoticComponent<JSX.SnkExpressionItem & Omit<import("react").HTMLAttributes<HTMLSnkExpressionItemElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkExpressionItemElement>>;
18
18
  export declare const SnkFieldConfig: import("react").ForwardRefExoticComponent<JSX.SnkFieldConfig & Omit<import("react").HTMLAttributes<HTMLSnkFieldConfigElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkFieldConfigElement>>;
19
+ export declare const SnkFilterAdvancedMode: import("react").ForwardRefExoticComponent<JSX.SnkFilterAdvancedMode & Omit<import("react").HTMLAttributes<HTMLSnkFilterAdvancedModeElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkFilterAdvancedModeElement>>;
20
+ export declare const SnkFilterAssistentMode: import("react").ForwardRefExoticComponent<JSX.SnkFilterAssistentMode & Omit<import("react").HTMLAttributes<HTMLSnkFilterAssistentModeElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkFilterAssistentModeElement>>;
19
21
  export declare const SnkFilterBar: import("react").ForwardRefExoticComponent<JSX.SnkFilterBar & Omit<import("react").HTMLAttributes<HTMLSnkFilterBarElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkFilterBarElement>>;
20
22
  export declare const SnkFilterBinarySelect: import("react").ForwardRefExoticComponent<JSX.SnkFilterBinarySelect & Omit<import("react").HTMLAttributes<HTMLSnkFilterBinarySelectElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkFilterBinarySelectElement>>;
21
23
  export declare const SnkFilterDetail: import("react").ForwardRefExoticComponent<JSX.SnkFilterDetail & Omit<import("react").HTMLAttributes<HTMLSnkFilterDetailElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkFilterDetailElement>>;
@@ -18,6 +18,8 @@ export const SnkExporterEmailSender = /*@__PURE__*/ createReactComponent('snk-ex
18
18
  export const SnkExpressionGroup = /*@__PURE__*/ createReactComponent('snk-expression-group');
19
19
  export const SnkExpressionItem = /*@__PURE__*/ createReactComponent('snk-expression-item');
20
20
  export const SnkFieldConfig = /*@__PURE__*/ createReactComponent('snk-field-config');
21
+ export const SnkFilterAdvancedMode = /*@__PURE__*/ createReactComponent('snk-filter-advanced-mode');
22
+ export const SnkFilterAssistentMode = /*@__PURE__*/ createReactComponent('snk-filter-assistent-mode');
21
23
  export const SnkFilterBar = /*@__PURE__*/ createReactComponent('snk-filter-bar');
22
24
  export const SnkFilterBinarySelect = /*@__PURE__*/ createReactComponent('snk-filter-binary-select');
23
25
  export const SnkFilterDetail = /*@__PURE__*/ createReactComponent('snk-filter-detail');
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- 'use strict';
2
-
3
- exports.FilterGroupCondition = void 0;
4
- (function (FilterGroupCondition) {
5
- FilterGroupCondition["AND"] = "AND";
6
- FilterGroupCondition["OR"] = "OR";
7
- })(exports.FilterGroupCondition || (exports.FilterGroupCondition = {}));
@@ -1,250 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const index = require('./index-f9e81701.js');
6
- const IExpressionItem = require('./IExpressionItem-0e32ebb7.js');
7
- const utils = require('@sankhyalabs/ezui/dist/collection/utils');
8
- const core = require('@sankhyalabs/core');
9
-
10
- const snkExpressionGroupCss = ".sc-snk-expression-group-h{display:block;--snk-expression-group--container-condition--width:184px;--snk-expression-group--container-condition--height:38px;--snk-expression-group--container-condition--border-radius:var(--border--radius-medium, 12px);--snk-expression-group--container-option--width:85px;--snk-expression-group__container-condition--background-and:#66B6A0;--snk-expression-group__container-condition--background-or:#EBC65E;--snk-expression-group__container-expression--padding-left:26px;--snk-expression-group__background-color-dashed:var(--background--body, #fafcff)}.snk-expression-group__container-condition.sc-snk-expression-group{width:var(--snk-expression-group--container-condition--width);height:var(--snk-expression-group--container-condition--height);border-radius:var(--snk-expression-group--container-condition--border-radius);z-index:var(--more-visible--2x, 3)}.snk-expression-group__container-option.sc-snk-expression-group{width:var(--snk-expression-group--container-option--width)}.snk-expression-group__container-condition[data-condition=\"AND\"].sc-snk-expression-group{background-color:var(--snk-expression-group__container-condition--background-and)}.snk-expression-group__container-condition[data-condition=\"OR\"].sc-snk-expression-group{background-color:var(--snk-expression-group__container-condition--background-or)}.snk-expression-group__container-expression.sc-snk-expression-group{padding-left:var(--snk-expression-group__container-expression--padding-left)}.dashes.sc-snk-expression-group{z-index:var(--visible, 1);background:var(--snk-expression-group__background-color-dashed);border-left:2px dashed var(--text-secondary, #A2ABB9);position:absolute;width:15px;height:58px;margin-left:-15px;margin-top:-36.5px}.horizontal-dashes.sc-snk-expression-group{z-index:var(--more-visible, 2);border-bottom:2px dashed var(--text-secondary, #A2ABB9);position:absolute;width:15px;height:54px;margin-left:-15px;margin-top:-33.5px}.hidden.sc-snk-expression-group{display:none}";
11
-
12
- const SnkExpressionGroup = class {
13
- constructor(hostRef) {
14
- index.registerInstance(this, hostRef);
15
- this.ezFilterGroupChange = index.createEvent(this, "ezFilterGroupChange", 7);
16
- this.ezFilterGroupRemove = index.createEvent(this, "ezFilterGroupRemove", 7);
17
- this.ezExpressionGroupLayoutChanged = index.createEvent(this, "ezExpressionLayoutChanged", 7);
18
- this.FIRST_LEVEL = "0";
19
- this.LIMIT_GROUP_LEVEL = 4;
20
- this.application = core.ApplicationContext.getContextValue("__SNK__APPLICATION__");
21
- this._conditionOperator = IExpressionItem.FilterGroupCondition.AND;
22
- this._group = undefined;
23
- this._selfTop = 0;
24
- this.canAddExpression = true;
25
- this._showDashes = true;
26
- this.parentTop = 0;
27
- this.group = undefined;
28
- this.messagesBuilder = undefined;
29
- this.filterId = undefined;
30
- this.entityURI = undefined;
31
- }
32
- /**
33
- * Listener para capturar adição e remoção de grupos e items de expressão.
34
- */
35
- todoCompletedHandler(_) {
36
- this.updateDashes();
37
- }
38
- /*
39
- * Retorna o grupo da expressão.
40
- */
41
- async getExpressionGroup() {
42
- return this._group;
43
- }
44
- watchGroup(newValue) {
45
- this._group = newValue;
46
- this._conditionOperator = this.getOperand();
47
- }
48
- componentWillLoad() {
49
- this._group = this.group;
50
- this._conditionOperator = this.getOperand();
51
- if (!this.getDataGroupLevel()) {
52
- this._element.setAttribute('data-group-level', this.FIRST_LEVEL);
53
- }
54
- if (!this.filterId) {
55
- this.canAddExpression = false;
56
- }
57
- }
58
- componentDidRender() {
59
- this.setSelfTop();
60
- }
61
- changeHandler() {
62
- this.ezExpressionGroupLayoutChanged.emit();
63
- }
64
- /**
65
- * Função que define o valor atualizado da propriedade top do elemento em tela para calcular o tamanho do tracejado.
66
- */
67
- setSelfTop() {
68
- this._selfTop = this._element.getBoundingClientRect().top;
69
- }
70
- /**
71
- * Função que calcula o tamanho que deve ter o tracejado.
72
- */
73
- getDashedHeight() {
74
- return this._selfTop - this.parentTop;
75
- }
76
- getOperand() {
77
- return !this._group.operand ? IExpressionItem.FilterGroupCondition.AND : this._group.operand;
78
- }
79
- getMessage(key, params) {
80
- return this.application.messagesBuilder.getMessage(key, params);
81
- }
82
- updateDashes() {
83
- this._showDashes = false;
84
- this.setSelfTop();
85
- this._showDashes = true;
86
- }
87
- renderExpressionItems() {
88
- var _a;
89
- return (_a = this._group.items) === null || _a === void 0 ? void 0 : _a.map((item) => (index.h("snk-expression-item", { key: item.id, class: "ez-padding-top--small snk-expression-group__item", expression: item, canRemove: this._group.items.length > 1, onEzFilterItemChange: () => this.handleFilterItemChange(), onEzFilterItemRemove: (evt) => this.handleFilterItemRemove(evt, item.id), messagesBuilder: this.messagesBuilder, entityURI: this.entityURI })));
90
- }
91
- renderGroups() {
92
- var _a;
93
- const currentLevel = parseInt(this.getDataGroupLevel() || '0');
94
- const newLevel = currentLevel + 1;
95
- return (_a = this._group.childrenGroups) === null || _a === void 0 ? void 0 : _a.map((group) => (index.h("snk-expression-group", { key: group.id, group: group, messagesBuilder: this.messagesBuilder, parentTop: this._selfTop, "data-group-level": newLevel, onEzFilterGroupRemove: (evt) => this.handleFilterGroupRemove(evt, group.id), entityURI: this.entityURI })));
96
- }
97
- handleFilterGroupRemove(evt, groupId) {
98
- this.onStopPropagation(evt);
99
- this._group.childrenGroups = this._group.childrenGroups.filter(group => group.id !== groupId);
100
- index.forceUpdate(this);
101
- this.ezFilterGroupChange.emit(this._group);
102
- this.changeHandler();
103
- }
104
- handleFilterItemRemove(evt, itemId) {
105
- this.onStopPropagation(evt);
106
- this._group.items = this._group.items.filter(item => item.id !== itemId);
107
- index.forceUpdate(this);
108
- this.ezFilterGroupChange.emit(this._group);
109
- this.changeHandler();
110
- this.canAddExpression = true;
111
- }
112
- isFilledItem(item) {
113
- if (!item.fieldName || !item.operand)
114
- return false;
115
- if (item.operand === 'NULL' || item.operand === 'NOT_NULL') {
116
- return true;
117
- }
118
- else {
119
- return item.paramVariable || (item.userInterface === 'SWITCH') ? true : !!item.value;
120
- }
121
- }
122
- handleFilterItemChange() {
123
- this.ezFilterGroupChange.emit(this._group);
124
- this.canAddExpression = this.group.items.every(this.isFilledItem);
125
- }
126
- handleAddExpression() {
127
- const newItem = {
128
- id: core.StringUtils.generateUUID(),
129
- entityName: "",
130
- fieldName: "",
131
- description: "",
132
- label: "Valor",
133
- type: undefined,
134
- expression: undefined,
135
- operand: undefined,
136
- paramVariable: false,
137
- value: undefined,
138
- systemConfig: null,
139
- userConfig: null
140
- };
141
- this._group.items.push(newItem);
142
- index.forceUpdate(this);
143
- this.ezFilterGroupChange.emit(this.group);
144
- this.changeHandler();
145
- this.canAddExpression = false;
146
- }
147
- handleAddGroup() {
148
- var _a;
149
- const newGroup = {
150
- id: core.StringUtils.generateUUID(),
151
- items: [
152
- {
153
- id: core.StringUtils.generateUUID(),
154
- entityName: "",
155
- fieldName: "",
156
- description: "",
157
- label: "Valor",
158
- type: undefined,
159
- expression: undefined,
160
- operand: undefined,
161
- paramVariable: false,
162
- value: undefined,
163
- systemConfig: null,
164
- userConfig: null
165
- }
166
- ],
167
- childrenGroups: [],
168
- operand: IExpressionItem.FilterGroupCondition.AND
169
- };
170
- this._group.childrenGroups = (_a = this._group.childrenGroups) !== null && _a !== void 0 ? _a : [];
171
- this._group.childrenGroups.push(newGroup);
172
- index.forceUpdate(this);
173
- this.ezFilterGroupChange.emit(this.group);
174
- this.changeHandler();
175
- }
176
- buildGroupStyle() {
177
- return {
178
- height: `${this.getDashedHeight()}px`,
179
- marginTop: `${-(this.getDashedHeight()) + 20}px`,
180
- };
181
- }
182
- handleConditionOperatorChange(newOperator) {
183
- this._conditionOperator = newOperator;
184
- this._group.operand = IExpressionItem.FilterGroupCondition[newOperator];
185
- this.ezFilterGroupChange.emit(this._group);
186
- }
187
- confirmRemoveGroup(evt) {
188
- this.onStopPropagation(evt);
189
- utils.ApplicationUtils.confirm(this.getMessage("snkPersonalizedFilter.confirmGroup.title"), this.getMessage("snkPersonalizedFilter.confirmGroup.description"))
190
- .then((canRemove) => {
191
- if (canRemove) {
192
- this.ezFilterGroupRemove.emit(this._group);
193
- }
194
- });
195
- }
196
- getTooltipMessageForOperator() {
197
- const groupLevel = this.getDataGroupLevel();
198
- if (groupLevel === this.FIRST_LEVEL && this._group.items.length === 1) {
199
- return this.getMessage("snkPersonalizedFilter.operador.firstLevel");
200
- }
201
- if (this._conditionOperator === IExpressionItem.FilterGroupCondition.AND) {
202
- return this.getMessage("snkPersonalizedFilter.operador.and");
203
- }
204
- else if (this._conditionOperator === IExpressionItem.FilterGroupCondition.OR) {
205
- return this.getMessage("snkPersonalizedFilter.operador.or");
206
- }
207
- }
208
- getDataGroupLevel() {
209
- return this._element.getAttribute('data-group-level');
210
- }
211
- canAddGroup() {
212
- const dataGroupLevel = Number(this.getDataGroupLevel() || this.FIRST_LEVEL);
213
- return dataGroupLevel < this.LIMIT_GROUP_LEVEL;
214
- }
215
- isFirstLevel() {
216
- return Boolean(this.getDataGroupLevel() === this.FIRST_LEVEL);
217
- }
218
- onStopPropagation(evt) {
219
- evt.preventDefault();
220
- evt.stopPropagation();
221
- }
222
- getMessageAddTooltip() {
223
- if (this.isFirstLevel()) {
224
- const allValidItems = this.group.items.every(item => {
225
- if (!item.fieldName || !item.operand)
226
- return false;
227
- return item.paramVariable || !!item.value;
228
- });
229
- return allValidItems ? this.getMessage("snkPersonalizedFilter.info.labelAddNewExpression") : this.getMessage("snkPersonalizedFilter.info.labelDisabledAddExpressionButton");
230
- }
231
- else {
232
- return this.canAddExpression ? this.getMessage("snkPersonalizedFilter.info.labelAddNewExpression") : this.getMessage("snkPersonalizedFilter.info.labelDisabledAddExpressionButton");
233
- }
234
- }
235
- canChangeGroupCondition() {
236
- const membersCount = this._group.items.length + this._group.childrenGroups.length;
237
- return membersCount > 1;
238
- }
239
- render() {
240
- const canAddGroup = this.canAddGroup();
241
- return (index.h(index.Host, null, index.h("div", { class: !this.isFirstLevel() && this._showDashes ? 'dashes' : 'hidden', style: this.buildGroupStyle() }), index.h("div", { class: !this.isFirstLevel() && this._showDashes ? 'horizontal-dashes' : 'hidden' }), index.h("div", { class: 'ez-flex ez-flex--align-items-center' }, index.h("div", { class: 'snk-expression-group__container-condition ez-flex ez-flex-item--align-center ez-flex--align-items-center', "data-condition": this._conditionOperator, title: this.getTooltipMessageForOperator() }, index.h("label", { class: "ez-label ez-padding-right--medium ez-padding-left--medium ez-title--primary" }, this.getMessage("snkPersonalizedFilter.info.condition")), index.h("div", null, index.h("ez-combo-box", Object.assign({ class: "snk-expression-group__container-option", canShowError: false, mode: "slim", suppressEmptyOption: true, enabled: this.canChangeGroupCondition(), value: this._conditionOperator, onEzChange: (evt) => this.handleConditionOperatorChange(evt.detail.value) }, { [core.ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `comboBoxConditions_level_${this.getDataGroupLevel()}` }), index.h("option", { value: IExpressionItem.FilterGroupCondition.AND }, "E"), index.h("option", { value: IExpressionItem.FilterGroupCondition.OR }, "OU")))), index.h("ez-button", { class: "ez-padding-right--medium ez-padding-left--medium", mode: "icon", iconName: "plus", size: "small", enabled: this.canAddExpression, title: this.getMessageAddTooltip(), onClick: () => this.handleAddExpression() }), index.h("ez-button", { label: this.getMessage("snkPersonalizedFilter.info.addGroup"), size: "small", enabled: canAddGroup, title: !canAddGroup ? this.getMessage('snkPersonalizedFilter.info.labelDisabledAddGroupButton', { LIMIT_GROUP_LEVEL: this.LIMIT_GROUP_LEVEL + 1 }) : '', onClick: () => this.handleAddGroup() }, index.h("ez-icon", { slot: "leftIcon", iconName: "plus" })), !this.isFirstLevel() && index.h("ez-button", { title: this.getMessage("snkPersonalizedFilter.info.labelDeleteExpression"), class: "ez-padding-left--medium", mode: "icon", iconName: "delete", size: "small", onClick: (evt) => this.confirmRemoveGroup(evt) })), index.h("div", { class: "ez-padding-top--small snk-expression-group__container-expression" }, index.h("div", { class: "ez-padding-top--small" }, this.renderExpressionItems())), index.h("div", { class: "ez-padding-top--small snk-expression-group__container-expression" }, index.h("div", { class: "ez-padding-top--small" }, this.renderGroups()))));
242
- }
243
- get _element() { return index.getElement(this); }
244
- static get watchers() { return {
245
- "group": ["watchGroup"]
246
- }; }
247
- };
248
- SnkExpressionGroup.style = snkExpressionGroupCss;
249
-
250
- exports.snk_expression_group = SnkExpressionGroup;
@@ -1,7 +0,0 @@
1
- var FilterGroupCondition;
2
- (function (FilterGroupCondition) {
3
- FilterGroupCondition["AND"] = "AND";
4
- FilterGroupCondition["OR"] = "OR";
5
- })(FilterGroupCondition || (FilterGroupCondition = {}));
6
-
7
- export { FilterGroupCondition as F };
@@ -1,246 +0,0 @@
1
- import { r as registerInstance, c as createEvent, h, f as forceUpdate, H as Host, g as getElement } from './index-a7d3d3f1.js';
2
- import { F as FilterGroupCondition } from './IExpressionItem-21f225bf.js';
3
- import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
4
- import { ApplicationContext, StringUtils, ElementIDUtils } from '@sankhyalabs/core';
5
-
6
- const snkExpressionGroupCss = ".sc-snk-expression-group-h{display:block;--snk-expression-group--container-condition--width:184px;--snk-expression-group--container-condition--height:38px;--snk-expression-group--container-condition--border-radius:var(--border--radius-medium, 12px);--snk-expression-group--container-option--width:85px;--snk-expression-group__container-condition--background-and:#66B6A0;--snk-expression-group__container-condition--background-or:#EBC65E;--snk-expression-group__container-expression--padding-left:26px;--snk-expression-group__background-color-dashed:var(--background--body, #fafcff)}.snk-expression-group__container-condition.sc-snk-expression-group{width:var(--snk-expression-group--container-condition--width);height:var(--snk-expression-group--container-condition--height);border-radius:var(--snk-expression-group--container-condition--border-radius);z-index:var(--more-visible--2x, 3)}.snk-expression-group__container-option.sc-snk-expression-group{width:var(--snk-expression-group--container-option--width)}.snk-expression-group__container-condition[data-condition=\"AND\"].sc-snk-expression-group{background-color:var(--snk-expression-group__container-condition--background-and)}.snk-expression-group__container-condition[data-condition=\"OR\"].sc-snk-expression-group{background-color:var(--snk-expression-group__container-condition--background-or)}.snk-expression-group__container-expression.sc-snk-expression-group{padding-left:var(--snk-expression-group__container-expression--padding-left)}.dashes.sc-snk-expression-group{z-index:var(--visible, 1);background:var(--snk-expression-group__background-color-dashed);border-left:2px dashed var(--text-secondary, #A2ABB9);position:absolute;width:15px;height:58px;margin-left:-15px;margin-top:-36.5px}.horizontal-dashes.sc-snk-expression-group{z-index:var(--more-visible, 2);border-bottom:2px dashed var(--text-secondary, #A2ABB9);position:absolute;width:15px;height:54px;margin-left:-15px;margin-top:-33.5px}.hidden.sc-snk-expression-group{display:none}";
7
-
8
- const SnkExpressionGroup = class {
9
- constructor(hostRef) {
10
- registerInstance(this, hostRef);
11
- this.ezFilterGroupChange = createEvent(this, "ezFilterGroupChange", 7);
12
- this.ezFilterGroupRemove = createEvent(this, "ezFilterGroupRemove", 7);
13
- this.ezExpressionGroupLayoutChanged = createEvent(this, "ezExpressionLayoutChanged", 7);
14
- this.FIRST_LEVEL = "0";
15
- this.LIMIT_GROUP_LEVEL = 4;
16
- this.application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
17
- this._conditionOperator = FilterGroupCondition.AND;
18
- this._group = undefined;
19
- this._selfTop = 0;
20
- this.canAddExpression = true;
21
- this._showDashes = true;
22
- this.parentTop = 0;
23
- this.group = undefined;
24
- this.messagesBuilder = undefined;
25
- this.filterId = undefined;
26
- this.entityURI = undefined;
27
- }
28
- /**
29
- * Listener para capturar adição e remoção de grupos e items de expressão.
30
- */
31
- todoCompletedHandler(_) {
32
- this.updateDashes();
33
- }
34
- /*
35
- * Retorna o grupo da expressão.
36
- */
37
- async getExpressionGroup() {
38
- return this._group;
39
- }
40
- watchGroup(newValue) {
41
- this._group = newValue;
42
- this._conditionOperator = this.getOperand();
43
- }
44
- componentWillLoad() {
45
- this._group = this.group;
46
- this._conditionOperator = this.getOperand();
47
- if (!this.getDataGroupLevel()) {
48
- this._element.setAttribute('data-group-level', this.FIRST_LEVEL);
49
- }
50
- if (!this.filterId) {
51
- this.canAddExpression = false;
52
- }
53
- }
54
- componentDidRender() {
55
- this.setSelfTop();
56
- }
57
- changeHandler() {
58
- this.ezExpressionGroupLayoutChanged.emit();
59
- }
60
- /**
61
- * Função que define o valor atualizado da propriedade top do elemento em tela para calcular o tamanho do tracejado.
62
- */
63
- setSelfTop() {
64
- this._selfTop = this._element.getBoundingClientRect().top;
65
- }
66
- /**
67
- * Função que calcula o tamanho que deve ter o tracejado.
68
- */
69
- getDashedHeight() {
70
- return this._selfTop - this.parentTop;
71
- }
72
- getOperand() {
73
- return !this._group.operand ? FilterGroupCondition.AND : this._group.operand;
74
- }
75
- getMessage(key, params) {
76
- return this.application.messagesBuilder.getMessage(key, params);
77
- }
78
- updateDashes() {
79
- this._showDashes = false;
80
- this.setSelfTop();
81
- this._showDashes = true;
82
- }
83
- renderExpressionItems() {
84
- var _a;
85
- return (_a = this._group.items) === null || _a === void 0 ? void 0 : _a.map((item) => (h("snk-expression-item", { key: item.id, class: "ez-padding-top--small snk-expression-group__item", expression: item, canRemove: this._group.items.length > 1, onEzFilterItemChange: () => this.handleFilterItemChange(), onEzFilterItemRemove: (evt) => this.handleFilterItemRemove(evt, item.id), messagesBuilder: this.messagesBuilder, entityURI: this.entityURI })));
86
- }
87
- renderGroups() {
88
- var _a;
89
- const currentLevel = parseInt(this.getDataGroupLevel() || '0');
90
- const newLevel = currentLevel + 1;
91
- return (_a = this._group.childrenGroups) === null || _a === void 0 ? void 0 : _a.map((group) => (h("snk-expression-group", { key: group.id, group: group, messagesBuilder: this.messagesBuilder, parentTop: this._selfTop, "data-group-level": newLevel, onEzFilterGroupRemove: (evt) => this.handleFilterGroupRemove(evt, group.id), entityURI: this.entityURI })));
92
- }
93
- handleFilterGroupRemove(evt, groupId) {
94
- this.onStopPropagation(evt);
95
- this._group.childrenGroups = this._group.childrenGroups.filter(group => group.id !== groupId);
96
- forceUpdate(this);
97
- this.ezFilterGroupChange.emit(this._group);
98
- this.changeHandler();
99
- }
100
- handleFilterItemRemove(evt, itemId) {
101
- this.onStopPropagation(evt);
102
- this._group.items = this._group.items.filter(item => item.id !== itemId);
103
- forceUpdate(this);
104
- this.ezFilterGroupChange.emit(this._group);
105
- this.changeHandler();
106
- this.canAddExpression = true;
107
- }
108
- isFilledItem(item) {
109
- if (!item.fieldName || !item.operand)
110
- return false;
111
- if (item.operand === 'NULL' || item.operand === 'NOT_NULL') {
112
- return true;
113
- }
114
- else {
115
- return item.paramVariable || (item.userInterface === 'SWITCH') ? true : !!item.value;
116
- }
117
- }
118
- handleFilterItemChange() {
119
- this.ezFilterGroupChange.emit(this._group);
120
- this.canAddExpression = this.group.items.every(this.isFilledItem);
121
- }
122
- handleAddExpression() {
123
- const newItem = {
124
- id: StringUtils.generateUUID(),
125
- entityName: "",
126
- fieldName: "",
127
- description: "",
128
- label: "Valor",
129
- type: undefined,
130
- expression: undefined,
131
- operand: undefined,
132
- paramVariable: false,
133
- value: undefined,
134
- systemConfig: null,
135
- userConfig: null
136
- };
137
- this._group.items.push(newItem);
138
- forceUpdate(this);
139
- this.ezFilterGroupChange.emit(this.group);
140
- this.changeHandler();
141
- this.canAddExpression = false;
142
- }
143
- handleAddGroup() {
144
- var _a;
145
- const newGroup = {
146
- id: StringUtils.generateUUID(),
147
- items: [
148
- {
149
- id: StringUtils.generateUUID(),
150
- entityName: "",
151
- fieldName: "",
152
- description: "",
153
- label: "Valor",
154
- type: undefined,
155
- expression: undefined,
156
- operand: undefined,
157
- paramVariable: false,
158
- value: undefined,
159
- systemConfig: null,
160
- userConfig: null
161
- }
162
- ],
163
- childrenGroups: [],
164
- operand: FilterGroupCondition.AND
165
- };
166
- this._group.childrenGroups = (_a = this._group.childrenGroups) !== null && _a !== void 0 ? _a : [];
167
- this._group.childrenGroups.push(newGroup);
168
- forceUpdate(this);
169
- this.ezFilterGroupChange.emit(this.group);
170
- this.changeHandler();
171
- }
172
- buildGroupStyle() {
173
- return {
174
- height: `${this.getDashedHeight()}px`,
175
- marginTop: `${-(this.getDashedHeight()) + 20}px`,
176
- };
177
- }
178
- handleConditionOperatorChange(newOperator) {
179
- this._conditionOperator = newOperator;
180
- this._group.operand = FilterGroupCondition[newOperator];
181
- this.ezFilterGroupChange.emit(this._group);
182
- }
183
- confirmRemoveGroup(evt) {
184
- this.onStopPropagation(evt);
185
- ApplicationUtils.confirm(this.getMessage("snkPersonalizedFilter.confirmGroup.title"), this.getMessage("snkPersonalizedFilter.confirmGroup.description"))
186
- .then((canRemove) => {
187
- if (canRemove) {
188
- this.ezFilterGroupRemove.emit(this._group);
189
- }
190
- });
191
- }
192
- getTooltipMessageForOperator() {
193
- const groupLevel = this.getDataGroupLevel();
194
- if (groupLevel === this.FIRST_LEVEL && this._group.items.length === 1) {
195
- return this.getMessage("snkPersonalizedFilter.operador.firstLevel");
196
- }
197
- if (this._conditionOperator === FilterGroupCondition.AND) {
198
- return this.getMessage("snkPersonalizedFilter.operador.and");
199
- }
200
- else if (this._conditionOperator === FilterGroupCondition.OR) {
201
- return this.getMessage("snkPersonalizedFilter.operador.or");
202
- }
203
- }
204
- getDataGroupLevel() {
205
- return this._element.getAttribute('data-group-level');
206
- }
207
- canAddGroup() {
208
- const dataGroupLevel = Number(this.getDataGroupLevel() || this.FIRST_LEVEL);
209
- return dataGroupLevel < this.LIMIT_GROUP_LEVEL;
210
- }
211
- isFirstLevel() {
212
- return Boolean(this.getDataGroupLevel() === this.FIRST_LEVEL);
213
- }
214
- onStopPropagation(evt) {
215
- evt.preventDefault();
216
- evt.stopPropagation();
217
- }
218
- getMessageAddTooltip() {
219
- if (this.isFirstLevel()) {
220
- const allValidItems = this.group.items.every(item => {
221
- if (!item.fieldName || !item.operand)
222
- return false;
223
- return item.paramVariable || !!item.value;
224
- });
225
- return allValidItems ? this.getMessage("snkPersonalizedFilter.info.labelAddNewExpression") : this.getMessage("snkPersonalizedFilter.info.labelDisabledAddExpressionButton");
226
- }
227
- else {
228
- return this.canAddExpression ? this.getMessage("snkPersonalizedFilter.info.labelAddNewExpression") : this.getMessage("snkPersonalizedFilter.info.labelDisabledAddExpressionButton");
229
- }
230
- }
231
- canChangeGroupCondition() {
232
- const membersCount = this._group.items.length + this._group.childrenGroups.length;
233
- return membersCount > 1;
234
- }
235
- render() {
236
- const canAddGroup = this.canAddGroup();
237
- return (h(Host, null, h("div", { class: !this.isFirstLevel() && this._showDashes ? 'dashes' : 'hidden', style: this.buildGroupStyle() }), h("div", { class: !this.isFirstLevel() && this._showDashes ? 'horizontal-dashes' : 'hidden' }), h("div", { class: 'ez-flex ez-flex--align-items-center' }, h("div", { class: 'snk-expression-group__container-condition ez-flex ez-flex-item--align-center ez-flex--align-items-center', "data-condition": this._conditionOperator, title: this.getTooltipMessageForOperator() }, h("label", { class: "ez-label ez-padding-right--medium ez-padding-left--medium ez-title--primary" }, this.getMessage("snkPersonalizedFilter.info.condition")), h("div", null, h("ez-combo-box", Object.assign({ class: "snk-expression-group__container-option", canShowError: false, mode: "slim", suppressEmptyOption: true, enabled: this.canChangeGroupCondition(), value: this._conditionOperator, onEzChange: (evt) => this.handleConditionOperatorChange(evt.detail.value) }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `comboBoxConditions_level_${this.getDataGroupLevel()}` }), h("option", { value: FilterGroupCondition.AND }, "E"), h("option", { value: FilterGroupCondition.OR }, "OU")))), h("ez-button", { class: "ez-padding-right--medium ez-padding-left--medium", mode: "icon", iconName: "plus", size: "small", enabled: this.canAddExpression, title: this.getMessageAddTooltip(), onClick: () => this.handleAddExpression() }), h("ez-button", { label: this.getMessage("snkPersonalizedFilter.info.addGroup"), size: "small", enabled: canAddGroup, title: !canAddGroup ? this.getMessage('snkPersonalizedFilter.info.labelDisabledAddGroupButton', { LIMIT_GROUP_LEVEL: this.LIMIT_GROUP_LEVEL + 1 }) : '', onClick: () => this.handleAddGroup() }, h("ez-icon", { slot: "leftIcon", iconName: "plus" })), !this.isFirstLevel() && h("ez-button", { title: this.getMessage("snkPersonalizedFilter.info.labelDeleteExpression"), class: "ez-padding-left--medium", mode: "icon", iconName: "delete", size: "small", onClick: (evt) => this.confirmRemoveGroup(evt) })), h("div", { class: "ez-padding-top--small snk-expression-group__container-expression" }, h("div", { class: "ez-padding-top--small" }, this.renderExpressionItems())), h("div", { class: "ez-padding-top--small snk-expression-group__container-expression" }, h("div", { class: "ez-padding-top--small" }, this.renderGroups()))));
238
- }
239
- get _element() { return getElement(this); }
240
- static get watchers() { return {
241
- "group": ["watchGroup"]
242
- }; }
243
- };
244
- SnkExpressionGroup.style = snkExpressionGroupCss;
245
-
246
- export { SnkExpressionGroup as snk_expression_group };
@@ -1 +0,0 @@
1
- import{r as t,h as i,H as e,g as r}from"./p-d2d301a6.js";import{DataType as s,ObjectUtils as a,ElementIDUtils as l,ErrorException as n,ApplicationContext as o}from"@sankhyalabs/core";import{EzScrollDirection as d}from"@sankhyalabs/ezui/dist/collection/components/ez-scroller/EzScrollDirection";import{C as c}from"./p-e789eb2d.js";import{toString as h}from"@sankhyalabs/core/dist/dataunit/metadata/DataType";import{F as f}from"./p-584d7212.js";import{F as u,P as p}from"./p-7d68a43a.js";import{ApplicationUtils as m}from"@sankhyalabs/ezui/dist/collection/utils";import"./p-814f9247.js";import"./p-2b449454.js";import"./p-112455b1.js";import"./p-60ad0dea.js";import"./p-744d0fd2.js";import"./p-63bff2a8.js";class b{constructor({filterConfig:t,configName:i,onComplete:e,getMessage:r,onAddPersonalizedFilter:s,onEditPersonalizedFilter:a}){this._filterConfig=t,this._configName=i,this._onComplete=e,this._getMessage=r,this._addPersonalizedFilterFn=s,this._editPersonalizedFilterFn=a}applyFilters(t){this._onComplete(t),this._closeModal()}buildFilterModal(){const t=document.createElement("snk-filter-modal");return t.className="ez-size-height--full",t.filters=this._filterConfig,t.configName=this._configName,t.getMessage=this._getMessage.bind(this),t.applyFilters=this.applyFilters.bind(this),t.closeModal=()=>this._closeModal(),t.addPersonalizedFilter=()=>this._addPersonalizedFilterFn(),t.editPersonalizedFilter=t=>this._editPersonalizedFilterFn(t),t}async showModal(){const t={content:this.buildFilterModal(),position:"left",heightMode:"full",closeOutsideClick:!1,useScrimLight:!0};this._closeModal=await m.showModal(t)}async closeModal(){this._closeModal()}}const k=class{constructor(i){t(this,i),this._updateSequence=[],this._loadingPending=!1,this._configUpdated=!1,this._pendingVariables=!1,this._customfiltersToBeUpdated=[],this._calculateSortIndex=t=>{let i=t.hardFixed?1e6:0;return t.hardFixed||(i+=t.fixed?1e5:0,i+=null==t.value?0:1e4,i+=this._updateSequence.lastIndexOf(t.id)+1),i},this._filtersComparator=(t,i)=>this._calculateSortIndex(i)-this._calculateSortIndex(t),this.dataUnit=void 0,this.configName=void 0,this.filterConfig=void 0,this.messagesBuilder=void 0,this.allowDefault=void 0,this.scrollerLocked=!1,this.showPersonalizedFilter=!1,this.personalizedFilterId=void 0}observeFilterConfig(t,i){if(null!=i&&null==t)this._loadingPending=!0,this._configUpdated=!0;else{const e=new Map(i?i.map((t=>[t.id,t])):void 0);0===e.size&&t.length>0?(this._loadingPending=!0,this._configUpdated=!1):t.forEach((t=>{const i=e.get(t.id);if(null!=i){if(this._configUpdated=this._configUpdated||a.objectToString(i)!=a.objectToString(t),this._loadingPending=this._loadingPending||a.objectToString(i.value)!==a.objectToString(t.value),!this._loadingPending){const e=a.objectToString(i.groupedItems)!=a.objectToString(t.groupedItems);this._configUpdated=this._configUpdated||e,this._loadingPending=this._loadingPending||e}}else this._configUpdated=!0,this._loadingPending=this._loadingPending||null!=t.value}))}this.processAfterUpdateConfig()}async reload(){this.loadConfigFromStorage()}componentDidLoad(){this._element&&l.addIDInfo(this._element,null,{dataUnit:this.dataUnit})}processPendingFilter(){if(this._pendingVariables){const t=this._element.querySelector("#filter-PERSONALIZED_FILTER_GROUP");t&&t.showUp(!0).then((()=>{this.processAfterUpdateConfig()}))}else this.processAfterUpdateConfig()}getPersonalizedFilterItem(){return this.filterConfig.find((t=>t.type===f.PERSONALIZED))}async processAfterUpdateConfig(){if(this._loadingPending){const t=this.getPersonalizedFilterItem();if(this._pendingVariables=!p.validateVariableValues(t),this._pendingVariables)return;this._loadingPending=!1,this.dataUnit.loadData()}this._configUpdated&&(this._configUpdated=!1,c.saveFilterBarConfig(this.filterConfig,this.configName))}getMessage(t,i,e){var r;return(null===(r=this.messagesBuilder)||void 0===r?void 0:r.getMessage(t,i))||e}getFilter(t){var i;const e=[];return null===(i=this.filterConfig)||void 0===i||i.filter((t=>this.isActiveFilter(t))).forEach((t=>{const i=(t=>{switch(t.type){case f.DEFAULT_FILTER:return function(t){return{name:t.id,expression:t.props.expression,params:[]}}(t);case f.BINARY_SELECT:return function(t){const{id:i,value:e,props:r}=t;return{name:i,expression:r.options.find((t=>t.name===e)).expression,params:[]}}(t);case f.MULTI_SELECT:return function(t){const{id:i,value:e,props:r}=t;return{name:i,expression:r.expression,params:[{name:i,dataType:s.TEXT,value:e}]}}(t);case f.MULTI_LIST:return function(t){const{id:i,value:e,props:r}=t,a=(null!==(o=null!==(n=null==(l=e)?void 0:l.elements)&&void 0!==n?n:null==l?void 0:l.members)&&void 0!==o?o:l).filter((t=>null==t?void 0:t.check)).map((({id:t})=>Number.isNaN(+t)?String(t):Number(t)));var l,n,o;if(a.length>0)return{name:i,expression:r.expression,params:[{name:i,dataType:s.TEXT,value:JSON.stringify(a)}]}}(t);case f.PERIOD:return function(t){const{id:i,value:e,props:r}=t;let{end:a,start:l}=e;"string"==typeof a&&(a=new Date(a)),"string"==typeof l&&(l=new Date(l));const n=[];let o;return a&&l?(o=r.expression.fullfill,n.push({name:`${i}.START`,dataType:s.DATE,value:h(s.DATE,l)},{name:`${i}.END`,dataType:s.DATE,value:h(s.DATE,a)})):l?(o=r.expression.onlystart,n.push({name:i,dataType:s.DATE,value:h(s.DATE,l)})):(o=r.expression.onlyend,n.push({name:i,dataType:s.DATE,value:h(s.DATE,a)})),{name:i,expression:o,params:n}}(t);case f.SEARCH:return function(t){const{id:i,value:e,props:r}=t;return{name:i,expression:r.expression,params:[{name:i,dataType:s.TEXT,value:h(s.TEXT,e.value)}]}}(t);case f.TEXT:return function(t){const{id:i,value:e,props:r}=t;return{name:i,expression:r.expression,params:[{name:i,dataType:s.TEXT,value:h(s.TEXT,e)}]}}(t);case f.NUMBER:return function(t){const{id:i,value:e,props:r}=t;return{name:i,expression:r.expression,params:[{name:i,dataType:s.NUMBER,value:h(s.NUMBER,e)}]}}(t);case f.PERSONALIZED:return function(t){const{id:i,groupedItems:e=[]}=t,r=e.filter((t=>!!t.visible)).map((t=>{var i;const e=t.props.expression,r=((null===(i=t.props.personalizedFilter)||void 0===i?void 0:i.parameters)||[]).map(((i,e)=>{const r=Array.from(t.value||0),a=i.dataType;let l=e>=0&&e<r.length?r[e]:null;return null!=l&&"object"==typeof l&&"value"in l&&(l=l.value),null==l&&a===s.BOOLEAN&&(l=!1),{name:i.name,dataType:a,value:"string"==typeof l?l:h(a,l)}}));return{expression:e,name:t.id,params:r}}));return{name:i,expression:r.map((t=>`(${t.expression})`)).join(` ${u.AND} `),params:r.flatMap((t=>t.params))}}(t);default:return}})(t);i&&e.push(i)})),e}isActiveFilter(t){return t.type===f.DEFAULT_FILTER||this.filterActiveFilter(t)&&(t.groupedItems||null!=t.value)}registryFilterProvider(){this.dataUnit.addFilterProvider(this),this.filterConfig&&this.dataUnit.loadData()}itemFocused(t){this._element.querySelectorAll("snk-filter-item,snk-filter-list").forEach((i=>{i.id===t?"snk-filter-item"===i.tagName.toLowerCase()&&i.getClientRects()[0].x<0&&i.scrollIntoView({behavior:"auto",inline:"nearest"}):i.hideDetail()}))}filterActiveFilter(t){return t.visible||t.removalBlocked}getFilterItems(){const t=[],e=[];this.filterConfig.filter(this.filterActiveFilter).forEach(((r,s)=>{const l=`filter-${(r=a.copy(r)).id}`,n=i("snk-filter-item",{onVisibleChanged:t=>this.scrollerLocked=t.detail,onFilterChange:t=>this.updateFilter(t.detail),onFocusin:()=>this.itemFocused(l),id:l,config:r,class:s>0?"ez-padding-left--medium":"",getMessage:(t,i)=>this.getMessage(t,i),key:r.id});return r.fixed||r.hardFixed?t.push(n):e.push(n),n}));const r=[];return r.push(...t),t.length>0&&e.length>0&&r.push(i("hr",{class:"ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-filter-bar__divider"})),r.push(...e),r}calculateUpdateSequence(t){t&&(this._updateSequence=this._updateSequence.filter((i=>t.id!==i)),this._updateSequence.push(t.id))}normalizeItem(t){const i=Object.assign({},t);return["props","value","hardFixed","fixed"].forEach((t=>{null==i[t]&&delete i[t]})),""===t.value&&delete t.value,i}updateFilter(t){this.filterConfig=this.filterConfig.map((i=>(t=this.normalizeItem(t),i.id===t.id?(a.objectToString(i)!=a.objectToString(t)&&this.calculateUpdateSequence(t),t):i))).sort(((t,i)=>this._filtersComparator(t,i)))}loadPermitions(){this._application.isUserSup().then((t=>this.allowDefault=t))}loadConfigFromStorage(){return new Promise((t=>{c.get().then((i=>{i.loadFilterBarConfig(this.configName).then((i=>{t(),this.filterConfig=i.map((t=>this.normalizeItem(t)))})).catch((t=>{throw new n(this.getMessage("snkFilterBar.failToLoadConfig"),t)}))}))}))}attachDataUnit(){if(null==this.dataUnit){let t=this._element.parentElement;for(;t;)if("SNK-DATA-UNIT"===t.tagName.toUpperCase()){const i=t;this.dataUnit=i.dataUnit,this.dataUnit?this.registryFilterProvider():i.addEventListener("dataUnitReady",(t=>{this.dataUnit=t.detail,this.registryFilterProvider()}));break}t=t.parentElement}else this.registryFilterProvider()}filterChangeListener(t){this.updateFilter(t.detail)}async showFilterModal(){const t={filterConfig:a.copy(this.filterConfig),configName:this.configName,onComplete:t=>{this.filterConfig=t.map(this.normalizeItem).sort(((t,i)=>this._filtersComparator(t,i)))},getMessage:(t,i)=>this.getMessage(t,i),onAddPersonalizedFilter:()=>this.addPersonalizedFilter(),onEditPersonalizedFilter:t=>this.editPersonalizedFilter(t)};this._filterModalFactory=new b(t),await this._filterModalFactory.showModal()}addPersonalizedFilter(){this._filterModalFactory.closeModal(),this.personalizedFilterId=void 0,this.showPersonalizedFilter=!0,window.requestAnimationFrame((()=>{this._elPersonalizedFilter.createPersonalizedFilter()}))}editPersonalizedFilter(t){this._filterModalFactory.closeModal(),this.showPersonalizedFilter=!0,this.personalizedFilterId=t}hidePersonalizedFilter(){this.loadConfigFromStorage().then((()=>{this.personalizedFilterId=void 0,this.showPersonalizedFilter=!1}))}componentWillLoad(){this._application=o.getContextValue("__SNK__APPLICATION__"),this._application&&(this.loadPermitions(),this.loadConfigFromStorage()),this.attachDataUnit()}componentDidRender(){this.processPendingFilter()}render(){if(this.dataUnit&&this.filterConfig&&0!==this.filterConfig.length)return this.showPersonalizedFilter?i("snk-personalized-filter",{class:"filter-bar__personalized-filter",filterId:this.personalizedFilterId,ref:t=>this._elPersonalizedFilter=t,onEzCancel:()=>this.hidePersonalizedFilter(),entityUri:this.dataUnit.name,configName:this.configName}):i(e,null,i("ez-scroller",{class:"snk-filter-bar__scroller",direction:d.HORIZONTAL,activeShadow:!0,locked:this.scrollerLocked},i("section",{class:"snk-filter-bar__filter-item-container"},this.getFilterItems())),i("ez-button",{class:"ez-padding-left--medium",size:"small",label:this.getMessage("snkFilterBar.filters",void 0,"Filtros"),onClick:this.showFilterModal.bind(this)},i("ez-icon",{slot:"leftIcon",iconName:"plus",class:"ez-padding-right--small"})))}get _element(){return r(this)}static get watchers(){return{filterConfig:["observeFilterConfig"]}}};k.style='.sc-snk-filter-bar-h{display:grid;grid-template-columns:minmax(100px, 100%) 1fr 1fr;--snk-personalized-filter--z-index:var(--more-visible, 2);--snk-personalized-filter--background-color:var(--background--xlight, #fff)}.snk-filter__popover-container.sc-snk-filter-bar{display:flex;cursor:auto}.filter-bar__personalized-filter.sc-snk-filter-bar{display:flex;flex-direction:column;position:fixed;top:0;left:0;width:100%;height:100%;overflow:auto;z-index:var(--snk-personalized-filter--z-index);background-color:var(--snk-personalized-filter--background-color)}.snk-filter__popover.sc-snk-filter-bar{display:flex;flex-direction:column;position:absolute;width:fit-content;height:fit-content;min-width:265px;z-index:var(--most-visible, 3);background-color:var(--background--xlight, #fff);border-radius:var(--border--radius-medium, 12px);box-shadow:var(--shadow, 0px 0px 16px 0px #000)}.snk-filter-item__editor-header.sc-snk-filter-bar{flex-grow:1;font-weight:var(--text-weight--medium, 400);color:var(--color--title-primary, #2B3A54)}.snk-filter__popover-rule.sc-snk-filter-bar{border-style:solid;border-color:var(--color--disable-secondary, #F2F5F8);border-radius:1px;border-width:1px;width:100%}.editor__ez-check.sc-snk-filter-bar{--ez-check__label--padding-left:0}.snk-filter-item__editor-header-button.sc-snk-filter-bar{cursor:pointer;background-color:transparent;border:none;padding:3px;outline-color:var(--color--primary)}.snk-filter-bar__divider.sc-snk-filter-bar{margin-bottom:var(--space--small)}.snk-filter-bar__scroller.sc-snk-filter-bar{height:calc(100% + var(--space-extra-small, 3px))}.snk-filter-bar__filter-item-container.sc-snk-filter-bar{display:flex;align-self:center}.snk-filter-bar__scroller.sc-snk-filter-bar .sc-snk-filter-bar:first-child{margin-left:var(--space-extra-small, 3px)}.snk-filter-bar__filter-list-items-container.sc-snk-filter-bar{overflow-y:auto;max-height:360px;margin-top:var(--space--small, 6px)}.snk-filter-bar__filter-list-item.sc-snk-filter-bar{cursor:pointer;border-radius:var(--border--radius-small, 6px);border:none;background-color:transparent}.snk-filter-bar__filter-list-item__label.sc-snk-filter-bar{color:var(--title--primary)}.snk-filter-bar__filter-list-item__label--secondary.sc-snk-filter-bar{color:var(--text--primary)}.snk-filter-bar__filter-list-item__icon.sc-snk-filter-bar{--ez-icon--color:var(--title--primary)}.snk-filter-bar__filter-list-item__icon--secondary.sc-snk-filter-bar{--ez-icon--color:var(--text--secondary)}.snk-filter-bar__filter-list-item.sc-snk-filter-bar:focus-visible{outline:none;background-color:var(--background--medium)}.snk-filter-bar__filter-list-item.sc-snk-filter-bar:hover{background-color:var(--background--medium)}.snk-filter-bar__filter-list-items-container--empty.sc-snk-filter-bar{width:100%;height:100px;display:flex;justify-content:center;align-self:center;align-items:center}.snk-filter-bar__filter-list-items-button--active.sc-snk-filter-bar{position:relative}.snk-filter-bar__filter-list-items-button--active.sc-snk-filter-bar::after{display:flex;position:absolute;content:"";width:8px;height:8px;top:7px;left:17px;background-color:var(--icon--alert--color, #008561);border-radius:50%}.snk-filter-bar__filter-modal-item.sc-snk-filter-bar{--modal-item-border-width:2px;display:flex;flex-direction:row;margin-left:var(--modal-item-border-width);border-radius:var(--border--radius-medium, 12px);background-color:var(--background--medium, #f0f3f7);border:none;width:100%}.snk-filter-bar__filter-modal-item.sc-snk-filter-bar:focus-visible{outline:var(--color--primary) solid var(--modal-item-border-width)}.snk-filter-bar__filter-modal-item__check.sc-snk-filter-bar{width:auto}.snk-filter-bar__filter-modal-item__label.sc-snk-filter-bar{font-weight:var(--text-weight--medium)}.snk-filter-bar__filter-modal-content.sc-snk-filter-bar{display:grid;grid-template-rows:auto auto 1fr auto;width:99%;height:100%}';export{k as snk_filter_bar}