@sankhyalabs/sankhyablocks 9.2.0-dev.17 → 9.2.0-dev.19

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 (189) hide show
  1. package/dist/cjs/{ConfigStorage-0ebc800f.js → ConfigStorage-52c38bb9.js} +2 -2
  2. package/dist/cjs/{DataFetcher-602cdc72.js → DataFetcher-9af55840.js} +15 -0
  3. package/dist/cjs/{ISave-18205d86.js → ISave-c4918000.js} +1 -1
  4. package/dist/cjs/{SnkFormConfigManager-4b651537.js → SnkFormConfigManager-cef663d1.js} +2 -2
  5. package/dist/cjs/{ClientSideExporterProvider-bb0b2273.js → SnkMultiSelectionListDataSource-58ded10c.js} +78 -78
  6. package/dist/cjs/{auth-fetcher-82317d4d.js → auth-fetcher-a3a3bb16.js} +1 -1
  7. package/dist/cjs/{dataunit-fetcher-93077a2f.js → dataunit-fetcher-ae454648.js} +1 -1
  8. package/dist/cjs/filter-validate-6993f6f2.js +30 -0
  9. package/dist/cjs/{form-config-fetcher-05d210e7.js → form-config-fetcher-d7bb4f41.js} +1 -1
  10. package/dist/cjs/index-1cf293c1.js +8 -8
  11. package/dist/cjs/loader.cjs.js +1 -1
  12. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +4 -4
  13. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  14. package/dist/cjs/snk-actions-button_8.cjs.entry.js +5 -5
  15. package/dist/cjs/snk-application.cjs.entry.js +6 -6
  16. package/dist/cjs/snk-attach.cjs.entry.js +5 -5
  17. package/dist/cjs/snk-crud.cjs.entry.js +5 -5
  18. package/dist/cjs/snk-data-exporter.cjs.entry.js +5 -5
  19. package/dist/cjs/{snk-data-unit-28d629e4.js → snk-data-unit-a59a7ade.js} +2 -2
  20. package/dist/cjs/snk-data-unit.cjs.entry.js +3 -3
  21. package/dist/cjs/snk-detail-view.cjs.entry.js +7 -7
  22. package/dist/cjs/snk-entity-list.cjs.entry.js +10 -3
  23. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +164 -100
  24. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +23 -2
  25. package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +20 -2
  26. package/dist/cjs/snk-filter-detail.cjs.entry.js +25 -8
  27. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +9 -14
  28. package/dist/cjs/snk-filter-multi-select.cjs.entry.js +16 -3
  29. package/dist/cjs/snk-filter-number.cjs.entry.js +34 -3
  30. package/dist/cjs/snk-filter-period.cjs.entry.js +59 -14
  31. package/dist/cjs/snk-filter-search.cjs.entry.js +14 -3
  32. package/dist/cjs/snk-filter-text.cjs.entry.js +18 -1
  33. package/dist/cjs/snk-form_2.cjs.entry.js +4 -4
  34. package/dist/cjs/snk-grid.cjs.entry.js +38 -21
  35. package/dist/cjs/{snk-guides-viewer-73d40f42.js → snk-guides-viewer-e7c08c71.js} +5 -5
  36. package/dist/cjs/snk-guides-viewer.cjs.entry.js +7 -7
  37. package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
  38. package/dist/cjs/snk-pesquisa.cjs.entry.js +4 -4
  39. package/dist/cjs/snk-simple-crud.cjs.entry.js +13 -13
  40. package/dist/collection/components/snk-entity-list/snk-entity-list.js +28 -4
  41. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.js +72 -2
  42. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.js +73 -2
  43. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-multi-select.js +51 -5
  44. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-number.js +83 -3
  45. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-period.js +118 -27
  46. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-search.js +49 -5
  47. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-text.js +71 -1
  48. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +62 -11
  49. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +70 -8
  50. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +0 -4
  51. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +112 -16
  52. package/dist/collection/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.js +8 -16
  53. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +106 -52
  54. package/dist/collection/components/snk-filter-bar/utils/SnkFilterModalFactory.js +3 -1
  55. package/dist/collection/components/snk-filter-bar/utils/filter-validate.js +24 -0
  56. package/dist/collection/components/snk-grid/snk-grid.js +89 -11
  57. package/dist/collection/lib/message/resources/en-us/snk-filter-bar.msg.js +1 -0
  58. package/dist/collection/lib/message/resources/en-us/snk-grid.msg.js +4 -0
  59. package/dist/collection/lib/message/resources/es-es/snk-filter-bar.msg.js +1 -0
  60. package/dist/collection/lib/message/resources/es-es/snk-grid.msg.js +4 -0
  61. package/dist/collection/lib/message/resources/pt-br/snk-filter-bar.msg.js +1 -0
  62. package/dist/collection/lib/message/resources/pt-br/snk-grid.msg.js +4 -0
  63. package/dist/components/DataFetcher.js +15 -0
  64. package/dist/components/snk-crud.js +62 -44
  65. package/dist/components/snk-detail-view2.js +89 -56
  66. package/dist/components/snk-entity-list.js +11 -3
  67. package/dist/components/snk-filter-bar2.js +77 -93
  68. package/dist/components/snk-filter-binary-select.js +27 -3
  69. package/dist/components/snk-filter-checkbox-list.js +24 -3
  70. package/dist/components/snk-filter-detail2.js +28 -9
  71. package/dist/components/snk-filter-item2.js +70 -8
  72. package/dist/components/snk-filter-modal-item2.js +7 -12
  73. package/dist/components/snk-filter-modal.js +1 -325
  74. package/dist/components/snk-filter-modal2.js +391 -0
  75. package/dist/components/snk-filter-multi-select.js +19 -4
  76. package/dist/components/snk-filter-number.js +38 -4
  77. package/dist/components/snk-filter-period.js +64 -16
  78. package/dist/components/snk-filter-search.js +17 -4
  79. package/dist/components/snk-filter-text.js +22 -2
  80. package/dist/components/snk-grid2.js +65 -29
  81. package/dist/esm/{ConfigStorage-fc4e3a42.js → ConfigStorage-1e758486.js} +2 -2
  82. package/dist/esm/{DataFetcher-01ce1a4f.js → DataFetcher-2f7ba7ae.js} +15 -0
  83. package/dist/esm/{ISave-d36bade4.js → ISave-4c9742c1.js} +1 -1
  84. package/dist/esm/{SnkFormConfigManager-71dae34e.js → SnkFormConfigManager-d7031fcb.js} +2 -2
  85. package/dist/esm/{ClientSideExporterProvider-21a99af1.js → SnkMultiSelectionListDataSource-eace25fd.js} +83 -83
  86. package/dist/esm/{auth-fetcher-2e565c35.js → auth-fetcher-d8169b9c.js} +1 -1
  87. package/dist/esm/{dataunit-fetcher-14ba162b.js → dataunit-fetcher-1f7a73df.js} +1 -1
  88. package/dist/esm/filter-validate-d765d450.js +27 -0
  89. package/dist/esm/{form-config-fetcher-a1ccc944.js → form-config-fetcher-eb03ac08.js} +1 -1
  90. package/dist/esm/index-479e1293.js +8 -8
  91. package/dist/esm/loader.js +1 -1
  92. package/dist/esm/pesquisa-grid_2.entry.js +4 -4
  93. package/dist/esm/sankhyablocks.js +1 -1
  94. package/dist/esm/snk-actions-button_8.entry.js +5 -5
  95. package/dist/esm/snk-application.entry.js +6 -6
  96. package/dist/esm/snk-attach.entry.js +5 -5
  97. package/dist/esm/snk-crud.entry.js +5 -5
  98. package/dist/esm/snk-data-exporter.entry.js +5 -5
  99. package/dist/esm/{snk-data-unit-3977725e.js → snk-data-unit-a94dd52a.js} +2 -2
  100. package/dist/esm/snk-data-unit.entry.js +3 -3
  101. package/dist/esm/snk-detail-view.entry.js +7 -7
  102. package/dist/esm/snk-entity-list.entry.js +10 -3
  103. package/dist/esm/snk-filter-bar_4.entry.js +165 -101
  104. package/dist/esm/snk-filter-binary-select.entry.js +23 -2
  105. package/dist/esm/snk-filter-checkbox-list.entry.js +20 -2
  106. package/dist/esm/snk-filter-detail.entry.js +25 -8
  107. package/dist/esm/snk-filter-modal-item.entry.js +9 -14
  108. package/dist/esm/snk-filter-multi-select.entry.js +16 -3
  109. package/dist/esm/snk-filter-number.entry.js +34 -3
  110. package/dist/esm/snk-filter-period.entry.js +59 -14
  111. package/dist/esm/snk-filter-search.entry.js +14 -3
  112. package/dist/esm/snk-filter-text.entry.js +18 -1
  113. package/dist/esm/snk-form_2.entry.js +4 -4
  114. package/dist/esm/snk-grid.entry.js +31 -14
  115. package/dist/esm/{snk-guides-viewer-f800c9aa.js → snk-guides-viewer-e716659f.js} +5 -5
  116. package/dist/esm/snk-guides-viewer.entry.js +7 -7
  117. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  118. package/dist/esm/snk-pesquisa.entry.js +4 -4
  119. package/dist/esm/snk-simple-crud.entry.js +8 -8
  120. package/dist/sankhyablocks/p-093f58fa.entry.js +1 -0
  121. package/dist/sankhyablocks/{p-e63cc25f.js → p-0dc071de.js} +1 -1
  122. package/dist/sankhyablocks/{p-f4bf0517.entry.js → p-0f6f2a84.entry.js} +1 -1
  123. package/dist/sankhyablocks/{p-2b2c2718.js → p-1129ded7.js} +1 -1
  124. package/dist/sankhyablocks/p-12cba660.entry.js +1 -0
  125. package/dist/sankhyablocks/{p-51209229.js → p-12db5588.js} +1 -1
  126. package/dist/sankhyablocks/{p-65517fcf.js → p-3d4a3965.js} +1 -1
  127. package/dist/sankhyablocks/p-3ed04f0d.entry.js +1 -0
  128. package/dist/sankhyablocks/{p-b6b42620.entry.js → p-4033a6e3.entry.js} +1 -1
  129. package/dist/sankhyablocks/p-49ddc27a.entry.js +1 -0
  130. package/dist/sankhyablocks/{p-c3eea705.entry.js → p-4a42d004.entry.js} +1 -1
  131. package/dist/sankhyablocks/p-4c763b10.entry.js +1 -0
  132. package/dist/sankhyablocks/p-4eeb06fc.js +1 -0
  133. package/dist/sankhyablocks/{p-dc8bb41f.js → p-552bdfdc.js} +1 -1
  134. package/dist/sankhyablocks/{p-3cdfd7fb.js → p-66e6569e.js} +1 -1
  135. package/dist/sankhyablocks/p-6909c146.entry.js +1 -0
  136. package/dist/sankhyablocks/p-69d0afa4.js +1 -0
  137. package/dist/sankhyablocks/{p-c3bab5f4.js → p-75b80a92.js} +1 -1
  138. package/dist/sankhyablocks/p-7f7fe6c4.entry.js +1 -0
  139. package/dist/sankhyablocks/{p-e5571279.entry.js → p-86009ea5.entry.js} +1 -1
  140. package/dist/sankhyablocks/{p-7b97f9af.entry.js → p-864066bb.entry.js} +1 -1
  141. package/dist/sankhyablocks/p-96d45943.entry.js +1 -0
  142. package/dist/sankhyablocks/{p-34222890.entry.js → p-a0b4c940.entry.js} +1 -1
  143. package/dist/sankhyablocks/{p-a60028f1.entry.js → p-a4be272f.entry.js} +1 -1
  144. package/dist/sankhyablocks/p-ab2ba522.entry.js +1 -0
  145. package/dist/sankhyablocks/p-ac9488fd.entry.js +1 -0
  146. package/dist/sankhyablocks/{p-7a1d3cb6.entry.js → p-b1d8cbf7.entry.js} +1 -1
  147. package/dist/sankhyablocks/{p-7535d592.js → p-b393f1df.js} +1 -1
  148. package/dist/sankhyablocks/{p-dfbe4d7f.entry.js → p-c5d281ad.entry.js} +1 -1
  149. package/dist/sankhyablocks/{p-41e5a485.entry.js → p-c6d8c86b.entry.js} +1 -1
  150. package/dist/sankhyablocks/p-cb4343c4.entry.js +1 -0
  151. package/dist/sankhyablocks/p-d235314c.entry.js +1 -0
  152. package/dist/sankhyablocks/{p-dde9da7a.entry.js → p-d76f1aa5.entry.js} +1 -1
  153. package/dist/sankhyablocks/{p-aba06047.entry.js → p-de58a26f.entry.js} +1 -1
  154. package/dist/sankhyablocks/p-e258de96.entry.js +1 -0
  155. package/dist/sankhyablocks/p-fd8047b8.js +1 -0
  156. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  157. package/dist/types/components/snk-entity-list/snk-entity-list.d.ts +8 -4
  158. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.d.ts +12 -0
  159. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.d.ts +12 -0
  160. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-multi-select.d.ts +12 -4
  161. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-number.d.ts +16 -4
  162. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-period.d.ts +17 -3
  163. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-search.d.ts +10 -2
  164. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-text.d.ts +12 -0
  165. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +8 -3
  166. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +27 -4
  167. package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +17 -3
  168. package/dist/types/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.d.ts +2 -3
  169. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +15 -2
  170. package/dist/types/components/snk-filter-bar/utils/SnkFilterModalFactory.d.ts +4 -2
  171. package/dist/types/components/snk-filter-bar/utils/filter-validate.d.ts +11 -0
  172. package/dist/types/components/snk-grid/snk-grid.d.ts +21 -8
  173. package/dist/types/components.d.ts +202 -17
  174. package/package.json +1 -1
  175. package/dist/sankhyablocks/p-07b14811.entry.js +0 -1
  176. package/dist/sankhyablocks/p-082e7ba8.entry.js +0 -1
  177. package/dist/sankhyablocks/p-25209340.entry.js +0 -1
  178. package/dist/sankhyablocks/p-295b83ae.entry.js +0 -1
  179. package/dist/sankhyablocks/p-3143bb44.entry.js +0 -1
  180. package/dist/sankhyablocks/p-353b4a74.js +0 -1
  181. package/dist/sankhyablocks/p-398cdd67.entry.js +0 -1
  182. package/dist/sankhyablocks/p-5bab470d.entry.js +0 -1
  183. package/dist/sankhyablocks/p-9fd87bfd.entry.js +0 -1
  184. package/dist/sankhyablocks/p-a76e6d51.entry.js +0 -1
  185. package/dist/sankhyablocks/p-ae2ebab7.js +0 -1
  186. package/dist/sankhyablocks/p-b21aa190.entry.js +0 -1
  187. package/dist/sankhyablocks/p-c6a8a8bc.entry.js +0 -1
  188. package/dist/sankhyablocks/p-c8932b14.entry.js +0 -1
  189. package/dist/sankhyablocks/p-dff65083.entry.js +0 -1
@@ -11,6 +11,10 @@ export declare class SnkFilterText {
11
11
  * Define o valor do componente snk-filter-text.
12
12
  */
13
13
  value: string;
14
+ /**
15
+ * Usado para exibir mensagens de erro.
16
+ */
17
+ errorMessage: string;
14
18
  /**
15
19
  * Emitido quando acontece a alteração de valor do componente snk-filter-text.
16
20
  */
@@ -19,6 +23,14 @@ export declare class SnkFilterText {
19
23
  * Emitido quando o valor do filtro é alterado.
20
24
  */
21
25
  valueChanged: EventEmitter<any>;
26
+ /**
27
+ * Define o foco no componente snk-filter-text.
28
+ */
29
+ setFocus(): Promise<void>;
30
+ /**
31
+ * Limpa o valor do componente restaurando o valor original da configuração.
32
+ */
33
+ clearValue(): Promise<void>;
22
34
  componentDidLoad(): void;
23
35
  render(): any;
24
36
  }
@@ -1,6 +1,6 @@
1
1
  import { EventEmitter } from '../../../stencil-public-runtime';
2
- import { SnkFilterItemConfig } from './snk-filter-item';
3
2
  import { CustomElementFilterProps } from '../types/custom-element-filter';
3
+ import { SnkFilterItemConfig } from './snk-filter-item';
4
4
  export declare class SnkFilterDetail {
5
5
  _element: HTMLElement;
6
6
  _editor: HTMLElement;
@@ -20,14 +20,19 @@ export declare class SnkFilterDetail {
20
20
  * Controla a visibilidade do botão de fixar elemento
21
21
  */
22
22
  showHardFixed: boolean;
23
+ /**
24
+ * Define se o filtro pode ser removido.
25
+ */
26
+ removalBlocked: boolean;
23
27
  /**
24
28
  * Emitido quando há uma alteração nos filtros.
25
29
  */
26
30
  filterChange: EventEmitter<SnkFilterItemConfig>;
27
31
  /**
28
- * Exibe o componente snk-filter-detail.
32
+ * Define o foco no campo do editor.
29
33
  */
30
- show(): Promise<void>;
34
+ setFocusField(): Promise<void>;
35
+ clearValue(): Promise<void>;
31
36
  observeConfig(newValue: SnkFilterItemConfig): void;
32
37
  componentDidLoad(): void;
33
38
  changeConfig(newConfig: SnkFilterItemConfig): void;
@@ -1,14 +1,16 @@
1
- import { MaskFormatter } from '@sankhyalabs/core';
1
+ import { KeyboardManager, MaskFormatter } from '@sankhyalabs/core';
2
2
  import { EventEmitter } from '../../../stencil-public-runtime';
3
- import FilterItemType from './filter-item-type.enum';
4
3
  import FilterType from '../types/filter-type.enum';
4
+ import FilterItemType from './filter-item-type.enum';
5
5
  export declare class SnkFilterItem {
6
6
  _filterItemElement: HTMLElement;
7
7
  _chipElement: HTMLEzChipElement;
8
8
  _rightIconElement: HTMLElement;
9
9
  _leftIconElement: HTMLElement;
10
10
  _popover: HTMLEzPopoverCoreElement;
11
+ _filterDetail: HTMLSnkFilterDetailElement;
11
12
  _idSnkFilterDetail: string;
13
+ _keyboardManager: KeyboardManager | undefined;
12
14
  detailIsVisible: boolean;
13
15
  /**
14
16
  * Define as configurações do componente snk-filter-item.
@@ -53,12 +55,26 @@ export declare class SnkFilterItem {
53
55
  canClearFilter(): any;
54
56
  getRightIconName(): "close" | "chevron-up" | "chevron-down";
55
57
  getLeftIconName(): "calendar" | "tune";
56
- hasActiveElements(value: any): boolean;
57
- hasActiveValue(config: any): boolean;
58
+ hasActiveElements(value: {
59
+ elements?: Array<ItemMultiList>;
60
+ } | Array<ItemMultiList>): boolean;
61
+ hasActiveValue(config: SnkFilterItemConfig): boolean;
58
62
  getEnabledChip(): boolean;
59
63
  private handleVisibilityPopover;
64
+ private getCustomMessage;
65
+ private hasValue;
66
+ private getTooltipMessage;
67
+ private getTypeChip;
68
+ private initKeyboardManager;
69
+ connectedCallback(): void;
70
+ disconnectedCallback(): void;
60
71
  render(): any;
61
72
  }
73
+ interface ItemMultiList {
74
+ id: string;
75
+ label: string;
76
+ check: boolean;
77
+ }
62
78
  export interface SnkFilterItemConfig {
63
79
  id: string;
64
80
  label: string;
@@ -71,8 +87,15 @@ export interface SnkFilterItemConfig {
71
87
  value?: any;
72
88
  hardFixed?: boolean;
73
89
  fixed?: boolean;
90
+ enabled?: boolean;
74
91
  removalBlocked?: boolean;
75
92
  groupedItems: Array<SnkFilterItemConfig>;
76
93
  originOrder?: number;
77
94
  mask?: typeof MaskFormatter.DEFAULT_MASKS;
95
+ required?: boolean;
96
+ hasError?: boolean;
97
+ defaultMessage?: string;
98
+ requiredMessage?: string;
99
+ disabledMessage?: string;
78
100
  }
101
+ export {};
@@ -1,12 +1,14 @@
1
- import { SnkFilterItemConfig } from '../filter-item/snk-filter-item';
2
1
  import { IPersonalizedFilter } from '../../snk-personalized-filter/interfaces/IPersonalizedFilter';
2
+ import { SnkFilterItemConfig } from '../filter-item/snk-filter-item';
3
3
  export declare class SnkFilterModal {
4
4
  private _modalTitle;
5
5
  private _cancelButtonLabel;
6
6
  private _okButtonLabel;
7
- private _originalFilterConfig;
8
7
  private _defaultFilter;
9
8
  private _application;
9
+ private filters;
10
+ _element: HTMLElement;
11
+ filtersWithError: string[];
10
12
  /**
11
13
  * Usado pra flexibilizar os verbetes e mensagens de acordo com o SnkMessageBuilder.
12
14
  */
@@ -18,7 +20,11 @@ export declare class SnkFilterModal {
18
20
  /**
19
21
  * Filtros a serem apresentados
20
22
  */
21
- filters: Array<SnkFilterItemConfig>;
23
+ filterConfig: Array<SnkFilterItemConfig>;
24
+ /**
25
+ * Define se o modal está aberto ou não.
26
+ */
27
+ opened: boolean;
22
28
  /**
23
29
  * Ação executada ao aplicar os filtros
24
30
  */
@@ -52,6 +58,13 @@ export declare class SnkFilterModal {
52
58
  * e no modal lateral de filtros (container de filtros personalizados).
53
59
  */
54
60
  disablePersonalizedFilter: boolean;
61
+ /**
62
+ * @description Intercepta a configuração dos filtros antes de serem aplicadas.
63
+ * @param {Array<SnkFilterItemConfig>} config - Lista de configurações de filtros.
64
+ * @returns {Array<SnkFilterItemConfig>} Retorna a lista de configurações de filtros.
65
+ */
66
+ filterCustomConfigInterceptor?: (config: Array<SnkFilterItemConfig>) => Array<SnkFilterItemConfig>;
67
+ filterConfigChangeHandler(newValue: Array<SnkFilterItemConfig>): void;
55
68
  /**
56
69
  * Emitido quando um filtro personalizado é deletado.
57
70
  */
@@ -70,6 +83,7 @@ export declare class SnkFilterModal {
70
83
  private handleClearFilterList;
71
84
  private handleClearSigleFilter;
72
85
  private uncheckFilterValues;
86
+ private validateFilters;
73
87
  private renderFilterItem;
74
88
  private isDefaultFilterNumberVariation;
75
89
  private mountFiltersLines;
@@ -1,8 +1,8 @@
1
1
  import { EventEmitter } from '../../../../stencil-public-runtime';
2
+ import { IPersonalizedFilter } from '../../../snk-personalized-filter/interfaces/IPersonalizedFilter';
3
+ import { SnkFilterPersonalized } from '../../filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor';
2
4
  import FilterItemType from '../../filter-item/filter-item-type.enum';
3
5
  import { SnkFilterItemConfig } from '../../filter-item/snk-filter-item';
4
- import { SnkFilterPersonalized } from '../../filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor';
5
- import { IPersonalizedFilter } from '../../../snk-personalized-filter/interfaces/IPersonalizedFilter';
6
6
  import { CustomElementFilterProps } from '../../types/custom-element-filter';
7
7
  export declare class SnkFilterModalItem {
8
8
  private _idContentEditor;
@@ -20,7 +20,6 @@ export declare class SnkFilterModalItem {
20
20
  filterChange: EventEmitter<SnkFilterItemConfig>;
21
21
  editPersonalizedFilter: EventEmitter<string>;
22
22
  addPersonalizedFilter: EventEmitter<void>;
23
- observeFilterItem(newValue: SnkFilterItemConfig): void;
24
23
  getContentEditorConfig(): CustomElementFilterProps;
25
24
  buildSnkFilterPersonalizedProps(): CustomElementFilterProps<SnkFilterPersonalized>;
26
25
  isVisible(newValue: any): boolean;
@@ -3,11 +3,10 @@ import { Filter, FilterProvider } from '@sankhyalabs/core/dist/dataunit/metadata
3
3
  import { EventEmitter } from '../../stencil-public-runtime';
4
4
  import { SnkMessageBuilder } from '../../lib/message/SnkMessageBuilder';
5
5
  import { SnkApplication } from '../snk-application/snk-application';
6
+ import { IPersonalizedFilter } from '../snk-personalized-filter/interfaces/IPersonalizedFilter';
6
7
  import FilterItemType from './filter-item/filter-item-type.enum';
7
8
  import { SnkFilterItemConfig } from './filter-item/snk-filter-item';
8
- import { IPersonalizedFilter } from '../snk-personalized-filter/interfaces/IPersonalizedFilter';
9
9
  export declare class SnkFilterBar implements FilterProvider {
10
- private _filterModalFactory;
11
10
  private _elPersonalizedFilter;
12
11
  _element: HTMLElement;
13
12
  _application: SnkApplication;
@@ -81,6 +80,17 @@ export declare class SnkFilterBar implements FilterProvider {
81
80
  * @description Função chamada depois de aplicar os filtros.
82
81
  */
83
82
  afterApplyConfig?: () => void;
83
+ /**
84
+ * @description Configuração customizada dos filtros.
85
+ * @param {Array<SnkFilterItemConfig>} config - Lista de configurações de filtros.
86
+ */
87
+ filterCustomConfig?: Array<SnkFilterItemConfig>;
88
+ /**
89
+ * @description Intercepta a configuração dos filtros antes de serem aplicadas.
90
+ * @param {Array<SnkFilterItemConfig>} config - Lista de configurações de filtros.
91
+ * @returns {Array<SnkFilterItemConfig>} Retorna a lista de configurações de filtros.
92
+ */
93
+ filterCustomConfigInterceptor?: (config: Array<SnkFilterItemConfig>) => Array<SnkFilterItemConfig>;
84
94
  /**
85
95
  * @description Evento emitido quando a configuração dos filtros é atualizada.
86
96
  * @param {SnkFilterItemConfig[]} configs - Lista de configurações de filtros atualizadas.
@@ -91,6 +101,7 @@ export declare class SnkFilterBar implements FilterProvider {
91
101
  scrollerLocked: boolean;
92
102
  showPersonalizedFilter: boolean;
93
103
  personalizedFilterId: string;
104
+ isFilterModalOpen: boolean;
94
105
  observeFilterConfig(newValue: Array<SnkFilterItemConfig>, oldValue: Array<SnkFilterItemConfig>): void;
95
106
  private handleFilterConfigsChanged;
96
107
  /**
@@ -167,6 +178,8 @@ export declare class SnkFilterBar implements FilterProvider {
167
178
  addPersonalizedFilter(isDefault?: boolean): void;
168
179
  editPersonalizedFilter(id: string, isDefault?: boolean): void;
169
180
  deletePersonalizedFilter(filter: IPersonalizedFilter, filterItemType: FilterItemType, configName: string, isDefault?: boolean): void;
181
+ closeFilterModal(): void;
182
+ applyFiltersFromModal(filters: SnkFilterItemConfig[]): void;
170
183
  handleHidePersonalizedFilter(reloadFilterBar: boolean): void;
171
184
  hidePersonalizedFilter(): void;
172
185
  componentWillLoad(): Promise<void>;
@@ -1,5 +1,5 @@
1
- import { SnkFilterItemConfig } from "../filter-item/snk-filter-item";
2
1
  import { IPersonalizedFilter } from "../../snk-personalized-filter/interfaces/IPersonalizedFilter";
2
+ import { SnkFilterItemConfig } from "../filter-item/snk-filter-item";
3
3
  type OnCompleteCallback = (filter: SnkFilterItemConfig[]) => void;
4
4
  type GetMessageFn = (key: string, params?: any) => string;
5
5
  type AddPersonalizedFilterFn = (isDefault?: boolean) => void;
@@ -14,6 +14,7 @@ export type SnkFilterModalFactoryParams = {
14
14
  onAddPersonalizedFilter: AddPersonalizedFilterFn;
15
15
  onEditPersonalizedFilter: EditPersonalizedFilterFn;
16
16
  onDeletePersonalizedFilter: deletePersonalizedFilterFn;
17
+ filterCustomConfigInterceptor?: (config: Array<SnkFilterItemConfig>) => Array<SnkFilterItemConfig>;
17
18
  };
18
19
  declare class SnkFilterModalFactory {
19
20
  private _closeModal;
@@ -25,7 +26,8 @@ declare class SnkFilterModalFactory {
25
26
  private _addPersonalizedFilterFn;
26
27
  private _editPersonalizedFilterFn;
27
28
  private _onDeletePersonalizedFilter;
28
- constructor({ filterConfig, configName, onComplete, getMessage, disablePersonalizedFilter, onAddPersonalizedFilter, onEditPersonalizedFilter, onDeletePersonalizedFilter }: SnkFilterModalFactoryParams);
29
+ private _filterCustomConfigInterceptor?;
30
+ constructor({ filterConfig, configName, onComplete, getMessage, disablePersonalizedFilter, onAddPersonalizedFilter, onEditPersonalizedFilter, onDeletePersonalizedFilter, filterCustomConfigInterceptor }: SnkFilterModalFactoryParams);
29
31
  private applyFilters;
30
32
  private buildFilterModal;
31
33
  showModal(): Promise<void>;
@@ -0,0 +1,11 @@
1
+ import { SnkFilterItemConfig } from "../filter-item/snk-filter-item";
2
+ export declare function hasActiveElements(value: {
3
+ elements?: Array<ItemMultiList>;
4
+ } | Array<ItemMultiList>): boolean;
5
+ export declare function getInvalidFilters(filters: SnkFilterItemConfig[]): SnkFilterItemConfig[];
6
+ export declare function validateFilters(filters: SnkFilterItemConfig[]): boolean;
7
+ export interface ItemMultiList {
8
+ id: string;
9
+ label: string;
10
+ check: boolean;
11
+ }
@@ -1,18 +1,19 @@
1
- import { EventEmitter } from '../../stencil-public-runtime';
2
1
  import { DataUnit, KeyboardManager } from '@sankhyalabs/core';
3
2
  import { IGridConfig, IStatusResolver, StatusResolverFunction } from '@sankhyalabs/ezui/dist/types/components/ez-grid/controller/EzGridController';
4
- import { DataState, SnkDataUnit } from '../snk-data-unit/snk-data-unit';
5
- import { Action, TaskbarManager } from '../snk-taskbar/snk-taskbar';
6
- import { SnkApplication } from '../snk-application/snk-application';
7
- import { PresentationMode } from '../../lib/@types';
8
- import TaskbarProcessor from '../snk-taskbar/processor/taskbar-processor';
9
- import { SnkMessageBuilder } from '../../lib/message/SnkMessageBuilder';
10
3
  import { ICustomFormatter, ISelectionToastConfig } from '@sankhyalabs/ezui/dist/types/components/ez-grid/interfaces';
11
- import { IRecordValidator } from '@sankhyalabs/ezui/dist/types/utils/form/interfaces';
12
4
  import { IMultiSelectionListDataSource } from '@sankhyalabs/ezui/dist/types/components/ez-multi-selection-list/interfaces/IMultiSelectionListDataSource';
13
5
  import { ICustomEditor, ICustomRender } from '@sankhyalabs/ezui/dist/types/utils';
6
+ import { IRecordValidator } from '@sankhyalabs/ezui/dist/types/utils/form/interfaces';
7
+ import { EventEmitter } from '../../stencil-public-runtime';
8
+ import { PresentationMode } from '../../lib/@types';
14
9
  import RmPrecisionCustomValueFormatter from '../../lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter';
10
+ import { SnkMessageBuilder } from '../../lib/message/SnkMessageBuilder';
11
+ import { SnkApplication } from '../snk-application/snk-application';
15
12
  import { IExporterStrategyMode } from '../snk-data-exporter/interfaces/IRecordID';
13
+ import { DataState, SnkDataUnit } from '../snk-data-unit/snk-data-unit';
14
+ import { SnkFilterItemConfig } from '../snk-filter-bar/filter-item/snk-filter-item';
15
+ import TaskbarProcessor from '../snk-taskbar/processor/taskbar-processor';
16
+ import { Action, TaskbarManager } from '../snk-taskbar/snk-taskbar';
16
17
  export declare class SnkGrid {
17
18
  _grid: HTMLEzGridElement;
18
19
  _snkDataUnit: HTMLSnkDataUnitElement;
@@ -193,6 +194,17 @@ export declare class SnkGrid {
193
194
  * Define se a grade deve ser exibida em modo compacto.
194
195
  */
195
196
  compact: boolean;
197
+ /**
198
+ * @description Configuração customizada dos filtros.
199
+ * @param {Array<SnkFilterItemConfig>} config - Lista de configurações de filtros.
200
+ */
201
+ filterCustomConfig?: Array<SnkFilterItemConfig>;
202
+ /**
203
+ * @description Intercepta a configuração dos filtros antes de serem aplicadas.
204
+ * @param {Array<SnkFilterItemConfig>} config - Lista de configurações de filtros.
205
+ * @returns {Array<SnkFilterItemConfig>} Retorna a lista de configurações de filtros.
206
+ */
207
+ filterCustomConfigInterceptor?: (config: Array<SnkFilterItemConfig>) => Array<SnkFilterItemConfig>;
196
208
  /**
197
209
  * Emitido ao clicar em um botão de ação ou item de menu.
198
210
  * @description Este evento é acionado quando o usuário clica em um botão de ação ou item de menu na grade, permitindo a execução de ações específicas.
@@ -313,6 +325,7 @@ export declare class SnkGrid {
313
325
  private addElementID;
314
326
  private loadGridCustomFormatters;
315
327
  private interceptMetadataLoaded;
328
+ private interceptLoadData;
316
329
  private dataUnitInterceptor;
317
330
  private finishLoading;
318
331
  private setCustomRenders;