@sankhyalabs/sankhyablocks 6.10.0 → 7.0.1

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 (156) hide show
  1. package/dist/cjs/{ConfigStorage-da2bf3bf.js → ConfigStorage-97468a0f.js} +28 -22
  2. package/dist/cjs/{PersonalizedFilterUtils-cfcd9af2.js → PersonalizedFilterUtils-9848e09b.js} +18 -64
  3. package/dist/cjs/{SnkFormConfigManager-d7cc9118.js → SnkFormConfigManager-bef6e022.js} +1 -1
  4. package/dist/cjs/{SnkMessageBuilder-a5a9b437.js → SnkMessageBuilder-f40df6d4.js} +18 -2
  5. package/dist/cjs/{filter-bar-config-fetcher-58cfc12e.js → filter-bar-config-fetcher-a7747f69.js} +22 -5
  6. package/dist/cjs/index-8d94b7e0.js +7 -0
  7. package/dist/cjs/index-c5771aba.js +44 -0
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  10. package/dist/cjs/snk-application.cjs.entry.js +3 -3
  11. package/dist/cjs/snk-data-exporter.cjs.entry.js +2 -2
  12. package/dist/cjs/{snk-data-unit-9d03800c.js → snk-data-unit-b14563fc.js} +4 -2
  13. package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
  14. package/dist/cjs/snk-detail-view.cjs.entry.js +5 -5
  15. package/dist/cjs/snk-expression-group_2.cjs.entry.js +542 -0
  16. package/dist/cjs/snk-filter-advanced-mode_2.cjs.entry.js +66 -0
  17. package/dist/cjs/snk-filter-bar.cjs.entry.js +14 -14
  18. package/dist/cjs/snk-filter-detail.cjs.entry.js +3 -3
  19. package/dist/cjs/{snk-expression-item_3.cjs.entry.js → snk-filter-field-search_2.cjs.entry.js} +23 -315
  20. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +2 -2
  21. package/dist/cjs/snk-filter-modal.cjs.entry.js +2 -2
  22. package/dist/cjs/snk-form.cjs.entry.js +3 -3
  23. package/dist/cjs/snk-grid-config.cjs.entry.js +2 -2
  24. package/dist/cjs/snk-grid.cjs.entry.js +8 -2
  25. package/dist/cjs/{snk-guides-viewer-36766466.js → snk-guides-viewer-897368ea.js} +1 -1
  26. package/dist/cjs/snk-guides-viewer.cjs.entry.js +4 -4
  27. package/dist/cjs/snk-personalized-filter.cjs.entry.js +122 -31
  28. package/dist/cjs/snk-simple-crud.cjs.entry.js +12 -2
  29. package/dist/collection/collection-manifest.json +2 -0
  30. package/dist/collection/components/snk-data-unit/snk-data-unit.js +3 -1
  31. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +1 -1
  32. package/dist/collection/components/snk-grid/snk-grid.js +6 -0
  33. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.css +5 -1
  34. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +114 -23
  35. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-group/snk-expression-group.js +4 -6
  36. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-item/snk-expression-item.js +2 -1
  37. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-advanced-mode/snk-filter-advanced-mode.css +10 -0
  38. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-advanced-mode/snk-filter-advanced-mode.js +95 -0
  39. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-assistent-mode/snk-filter-assistent-mode.css +66 -0
  40. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-assistent-mode/snk-filter-assistent-mode.js +158 -0
  41. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/snk-filter-param-config.js +8 -2
  42. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/utils/PersonalizedFilterUtils.js +14 -23
  43. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +14 -4
  44. package/dist/collection/lib/configs/ConfigStorage.js +5 -3
  45. package/dist/collection/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.js +22 -5
  46. package/dist/collection/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.js +22 -18
  47. package/dist/collection/lib/message/resources/snk-personalized-filter.msg.js +18 -2
  48. package/dist/components/ConfigStorage.js +27 -21
  49. package/dist/components/PersonalizedFilterUtils.js +14 -23
  50. package/dist/components/SnkMessageBuilder.js +18 -2
  51. package/dist/components/filter-bar-config-fetcher.js +22 -5
  52. package/dist/components/index.d.ts +2 -0
  53. package/dist/components/index.js +2 -0
  54. package/dist/components/snk-crud.js +34 -22
  55. package/dist/components/snk-data-unit2.js +3 -1
  56. package/dist/components/snk-detail-view2.js +49 -27
  57. package/dist/components/snk-expression-group2.js +4 -6
  58. package/dist/components/snk-expression-item2.js +2 -1
  59. package/dist/components/snk-filter-advanced-mode.d.ts +11 -0
  60. package/dist/components/snk-filter-advanced-mode.js +6 -0
  61. package/dist/components/snk-filter-advanced-mode2.js +46 -0
  62. package/dist/components/snk-filter-assistent-mode.d.ts +11 -0
  63. package/dist/components/snk-filter-assistent-mode.js +6 -0
  64. package/dist/components/snk-filter-assistent-mode2.js +77 -0
  65. package/dist/components/snk-filter-bar2.js +17 -5
  66. package/dist/components/snk-filter-param-config2.js +6 -0
  67. package/dist/components/snk-grid2.js +28 -10
  68. package/dist/components/snk-personalized-filter2.js +131 -28
  69. package/dist/components/snk-simple-crud2.js +12 -2
  70. package/dist/esm/{ConfigStorage-f1e805a0.js → ConfigStorage-02f17a26.js} +28 -22
  71. package/dist/esm/{PersonalizedFilterUtils-1a167d89.js → PersonalizedFilterUtils-731cae01.js} +16 -62
  72. package/dist/esm/{SnkFormConfigManager-324f6dc7.js → SnkFormConfigManager-cd9e6cab.js} +1 -1
  73. package/dist/esm/{SnkMessageBuilder-76f62087.js → SnkMessageBuilder-5be56185.js} +18 -2
  74. package/dist/esm/{filter-bar-config-fetcher-a358b8e0.js → filter-bar-config-fetcher-790283d8.js} +22 -5
  75. package/dist/esm/index-620ac460.js +7 -0
  76. package/dist/esm/index-ae591a44.js +44 -0
  77. package/dist/esm/loader.js +1 -1
  78. package/dist/esm/sankhyablocks.js +1 -1
  79. package/dist/esm/snk-application.entry.js +3 -3
  80. package/dist/esm/snk-data-exporter.entry.js +2 -2
  81. package/dist/esm/{snk-data-unit-0ff2d644.js → snk-data-unit-d44b6bc0.js} +4 -2
  82. package/dist/esm/snk-data-unit.entry.js +2 -2
  83. package/dist/esm/snk-detail-view.entry.js +5 -5
  84. package/dist/esm/snk-expression-group_2.entry.js +537 -0
  85. package/dist/esm/snk-filter-advanced-mode_2.entry.js +61 -0
  86. package/dist/esm/snk-filter-bar.entry.js +5 -5
  87. package/dist/esm/snk-filter-detail.entry.js +3 -3
  88. package/dist/esm/{snk-expression-item_3.entry.js → snk-filter-field-search_2.entry.js} +12 -303
  89. package/dist/esm/snk-filter-modal-item.entry.js +2 -2
  90. package/dist/esm/snk-filter-modal.entry.js +2 -2
  91. package/dist/esm/snk-form.entry.js +3 -3
  92. package/dist/esm/snk-grid-config.entry.js +2 -2
  93. package/dist/esm/snk-grid.entry.js +8 -2
  94. package/dist/esm/{snk-guides-viewer-e7209909.js → snk-guides-viewer-579c70cc.js} +1 -1
  95. package/dist/esm/snk-guides-viewer.entry.js +4 -4
  96. package/dist/esm/snk-personalized-filter.entry.js +119 -28
  97. package/dist/esm/snk-simple-crud.entry.js +12 -2
  98. package/dist/sankhyablocks/{p-522172e1.entry.js → p-1005cf8e.entry.js} +1 -1
  99. package/dist/sankhyablocks/{p-8f6575c8.entry.js → p-19fdcf88.entry.js} +1 -1
  100. package/dist/sankhyablocks/{p-18b74675.entry.js → p-1fe2976e.entry.js} +1 -1
  101. package/dist/sankhyablocks/p-2227bb94.js +1 -0
  102. package/dist/sankhyablocks/p-386102a7.entry.js +1 -0
  103. package/dist/sankhyablocks/{p-7a075ae6.js → p-3b059f4e.js} +1 -1
  104. package/dist/sankhyablocks/p-48156672.entry.js +1 -0
  105. package/dist/sankhyablocks/p-4af6cbef.entry.js +1 -0
  106. package/dist/sankhyablocks/p-4bbc7aac.entry.js +1 -0
  107. package/dist/sankhyablocks/{p-3251999f.entry.js → p-4f687570.entry.js} +1 -1
  108. package/dist/sankhyablocks/p-5098f618.js +1 -0
  109. package/dist/sankhyablocks/{p-652b9081.js → p-7e486ac9.js} +1 -1
  110. package/dist/sankhyablocks/p-7e636457.entry.js +1 -0
  111. package/dist/sankhyablocks/p-7f1c4687.js +56 -0
  112. package/dist/sankhyablocks/{p-ed9e1e52.entry.js → p-88f4ef73.entry.js} +1 -1
  113. package/dist/sankhyablocks/{p-4f3df9b6.js → p-90a926c7.js} +1 -1
  114. package/dist/sankhyablocks/{p-eef26a01.entry.js → p-90e7c3a2.entry.js} +1 -1
  115. package/dist/sankhyablocks/p-933c0c0b.js +1 -0
  116. package/dist/sankhyablocks/p-97720467.entry.js +1 -0
  117. package/dist/sankhyablocks/{p-bd840081.entry.js → p-9fa9331b.entry.js} +1 -1
  118. package/dist/sankhyablocks/{p-40a5d35e.entry.js → p-ad6673fb.entry.js} +1 -1
  119. package/dist/sankhyablocks/p-bd86c9d3.entry.js +1 -0
  120. package/dist/sankhyablocks/{p-8d583a79.entry.js → p-c39b27a3.entry.js} +1 -1
  121. package/dist/sankhyablocks/p-f4184ce7.js +1 -0
  122. package/dist/sankhyablocks/{p-56378a3b.js → p-fb1e5b6d.js} +1 -1
  123. package/dist/sankhyablocks/p-fcc487ea.entry.js +1 -0
  124. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  125. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +1 -0
  126. package/dist/types/components/snk-personalized-filter/interfaces/IPersonalizedFilter.d.ts +4 -0
  127. package/dist/types/components/snk-personalized-filter/snk-personalized-filter.d.ts +17 -6
  128. package/dist/types/components/snk-personalized-filter/subcomponents/snk-expression-group/snk-expression-group.d.ts +2 -2
  129. package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-advanced-mode/snk-filter-advanced-mode.d.ts +20 -0
  130. package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-assistent-mode/snk-filter-assistent-mode.d.ts +31 -0
  131. package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-param-config/snk-filter-param-config.d.ts +6 -0
  132. package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-param-config/utils/PersonalizedFilterUtils.d.ts +2 -2
  133. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +2 -1
  134. package/dist/types/components.d.ts +103 -2
  135. package/dist/types/lib/configs/ConfigStorage.d.ts +3 -2
  136. package/dist/types/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.d.ts +2 -1
  137. package/dist/types/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.d.ts +2 -1
  138. package/package.json +1 -1
  139. package/react/components.d.ts +2 -0
  140. package/react/components.js +2 -0
  141. package/react/components.js.map +1 -1
  142. package/dist/cjs/IExpressionItem-0e32ebb7.js +0 -7
  143. package/dist/cjs/snk-expression-group.cjs.entry.js +0 -250
  144. package/dist/esm/IExpressionItem-21f225bf.js +0 -7
  145. package/dist/esm/snk-expression-group.entry.js +0 -246
  146. package/dist/sankhyablocks/p-432a73a8.js +0 -1
  147. package/dist/sankhyablocks/p-63bff2a8.js +0 -1
  148. package/dist/sankhyablocks/p-6490021d.entry.js +0 -1
  149. package/dist/sankhyablocks/p-7d68a43a.js +0 -1
  150. package/dist/sankhyablocks/p-7fd8a0ab.entry.js +0 -1
  151. package/dist/sankhyablocks/p-9f34a127.entry.js +0 -1
  152. package/dist/sankhyablocks/p-a357d13c.entry.js +0 -1
  153. package/dist/sankhyablocks/p-d4adf773.js +0 -68
  154. package/dist/sankhyablocks/p-d9586ead.entry.js +0 -1
  155. package/dist/sankhyablocks/p-eb30a52a.entry.js +0 -1
  156. package/dist/sankhyablocks/p-f8ce17d3.entry.js +0 -1
@@ -1,308 +1,11 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-a7d3d3f1.js';
2
- import { UserInterface, ApplicationContext, ElementIDUtils, JSUtils, StringUtils, DataType } from '@sankhyalabs/core';
3
- import { ApplicationUtils, CheckMode } from '@sankhyalabs/ezui/dist/collection/utils';
4
- import { fieldBuilder } from '@sankhyalabs/ezui/dist/collection/components/ez-form-view/fieldbuilder/FieldBuilder';
5
- import { F as FilterOperand, a as FilterConfigType, P as PersonalizedFilterUtils, b as FilterEntities, c as FilterUserConfigTypes } from './PersonalizedFilterUtils-1a167d89.js';
6
- import { s as store } from './index-bdf75557.js';
7
- import { convertType } from '@sankhyalabs/core/dist/dataunit/metadata/DataType';
1
+ import { h, r as registerInstance, c as createEvent, g as getElement } from './index-a7d3d3f1.js';
2
+ import { S as SelectedItemType } from './index-620ac460.js';
3
+ import { UserInterface, JSUtils, ElementIDUtils, ApplicationContext, StringUtils, DataType } from '@sankhyalabs/core';
8
4
  import { ModalAction } from '@sankhyalabs/ezui/dist/collection/components/ez-modal-container';
9
- import './IExpressionItem-21f225bf.js';
5
+ import { b as FilterConfigType, c as FilterEntities, d as FilterUserConfigTypes } from './index-ae591a44.js';
6
+ import { P as PersonalizedFilterUtils } from './PersonalizedFilterUtils-731cae01.js';
10
7
  import './filter-item-type.enum-5028ed3f.js';
11
8
 
12
- var SelectedItemType;
13
- (function (SelectedItemType) {
14
- SelectedItemType["LINK"] = "LINK";
15
- SelectedItemType["FIELD"] = "FIELD";
16
- })(SelectedItemType || (SelectedItemType = {}));
17
-
18
- const defaultsOperand = [
19
- { label: "Igual (=)", value: "EQUAL" },
20
- { label: "Diferente (<>)", value: "DIFFERENT" },
21
- { label: "Contendo (LIKE)", value: "LIKE" },
22
- { label: "Contido em (IN)", value: "IN" },
23
- { label: "Iniciado com (%?)", value: "START_WITH" },
24
- { label: "Terminado com (?%)", value: "FINISHED_WITH" },
25
- { label: "Vazio (NULL)", value: "NULL" },
26
- { label: "Não Vazio (NOT NULL)", value: "NOT_NULL" },
27
- ];
28
- const FilterOperandDefault = defaultsOperand.concat([
29
- { label: "Maior (>)", value: "LARGER" },
30
- { label: "Maior ou Igual (>=)", value: "LARGER_EQUAL" },
31
- { label: "Menor (<)", value: "SMALLER" },
32
- { label: "Menor ou Igual (<=)", value: "SMALLER_EQUAL" }
33
- ]);
34
- const FilterOperandTypeTextSearch = defaultsOperand;
35
- const FIELD_TYPE_SEARCH_AND_TEXT = [
36
- UserInterface.SEARCH,
37
- UserInterface.SHORTTEXT,
38
- UserInterface.PASSWORD,
39
- UserInterface.MASKEDTEXT,
40
- UserInterface.LONGTEXT,
41
- UserInterface.HTML
42
- ];
43
-
44
- const snkExpressionItemCss = ".sc-snk-expression-item-h{display:flex;width:100%;--snk-expression-item--background-color:var(--background--xlight, #fff);--snk-expression-item__itens--padding:var(--space--small, 6px);--snk-expression-item__width--input-operator:220px;--snk-expression-item__width--input-value:240px;--snk-expression-item__width--input-value-variable:176px;--snk-expression-item--border-radius:var(--border--radius-medium, 12px);--snk-expression-item--border-color:var(--color--strokes, #DCE0E8);--snk-expression-item--border-style:var(--border--small, 1px solid);--snk-expression-item__background-color-dashed:var(--background--body, #fafcff)}.box.sc-snk-expression-item{width:100%;height:56px;background:var(--snk-expression-item--background-color);border:var(--snk-expression-item--border-color) var(--snk-expression-item--border-style);border-radius:var(--snk-expression-item--border-radius)}.box__container.sc-snk-expression-item{display:flex;align-items:center;justify-content:space-between;white-space:nowrap;margin:var(--space--small, 6px)}.box__container--input-filter.sc-snk-expression-item{width:100%}.box__container--input-operator.sc-snk-expression-item{display:flex;width:var(--snk-expression-item__width--input-operator);min-width:var(--snk-expression-item__width--input-operator)}.box__container--input-value.sc-snk-expression-item{display:flex;width:var(--snk-expression-item__width--input-value);min-width:var(--snk-expression-item__width--input-value)}.box__container--input-value-variable.sc-snk-expression-item{display:flex;width:var(--snk-expression-item__width--input-value-variable);min-width:var(--snk-expression-item__width--input-value-variable)}.box__container--button-delete.sc-snk-expression-item{display:flex}.box__container.sc-snk-expression-item>div.sc-snk-expression-item{padding-left:var(--snk-expression-item__itens--padding);padding-right:var(--snk-expression-item__itens--padding)}.box__container--button-delete--icon.sc-snk-expression-item{width:42px;min-width:42px}.box__container--input-value-variable--icon.sc-snk-expression-item{cursor:pointer}.dashes.sc-snk-expression-item{z-index:var(--more-visible, 2);background:var(--snk-expression-item__background-color-dashed);border-bottom:2px dashed var(--text-secondary, #A2ABB9);border-left:2px dashed var(--text-secondary, #A2ABB9);position:absolute;width:15px;height:62px;margin-left:-15px;margin-top:-33.5px}";
45
-
46
- const SnkExpressionItem = class {
47
- constructor(hostRef) {
48
- registerInstance(this, hostRef);
49
- this.ezFilterItemChange = createEvent(this, "ezFilterItemChange", 7);
50
- this.ezFilterItemRemove = createEvent(this, "ezFilterItemRemove", 7);
51
- this.application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
52
- this.filterOperandDefault = FilterOperandDefault;
53
- this.filterOperandTypeTextSearch = FilterOperandTypeTextSearch;
54
- this.DEFAULT_FIELD_NAME = 'NOT_DEFINED';
55
- this._showValueVariable = false;
56
- this._fieldSelected = undefined;
57
- this._optionNotNull = false;
58
- this.expression = undefined;
59
- this.canRemove = true;
60
- this.messagesBuilder = undefined;
61
- this.entityURI = undefined;
62
- }
63
- expressionChanged(newValue, oldValue) {
64
- if (newValue !== oldValue) {
65
- this.ezFilterItemChange.emit(newValue);
66
- this.updateFieldSelected();
67
- }
68
- }
69
- componentWillLoad() {
70
- this._dataSourceFetcher = store.get(`filterFieldsDataSource.${this.entityURI}`);
71
- store.onChange(`filterFieldsDataSource.${this.entityURI}`, () => {
72
- this._dataSourceFetcher = store.get(`filterFieldsDataSource.${this.entityURI}`);
73
- });
74
- if (this.expression) {
75
- this.updateFieldSelected();
76
- this._optionNotNull = this.expression.operand === 'NULL' || this.expression.operand === 'NOT_NULL';
77
- }
78
- }
79
- componentDidRender() {
80
- this._showValueVariable = this._elValueVariable.value;
81
- }
82
- updateFieldSelected() {
83
- const field = {
84
- dataType: this.expression.type,
85
- description: this.expression.description,
86
- name: this.expression.fieldName,
87
- label: this.expression.fieldLabel,
88
- entityName: this.expression.entityName,
89
- onlyDate: false,
90
- path: this.expression.description,
91
- properties: this.expressionPropsToFieldProps(this.expression.props),
92
- type: SelectedItemType.FIELD,
93
- uri: "",
94
- userInterface: this.expression.userInterface
95
- };
96
- this._fieldSelected = field;
97
- }
98
- buildExpression(entityName, fieldName, entityPath) {
99
- if (entityPath.length > 0) {
100
- entityPath.shift();
101
- }
102
- return entityPath.length > 0 ? `${entityPath.join("->")}->${fieldName}` : `${entityName}.${fieldName}`;
103
- }
104
- setValueExpression(key, value) {
105
- if (key === "fieldName") {
106
- this.expression.description = value.path;
107
- this.expression.expression = this.buildExpression(value.entityName, value.name, value.entityPath);
108
- this.expression.fieldName = value.name;
109
- this.expression.fieldLabel = value.label;
110
- this.expression.type = value.dataType;
111
- this.expression.userInterface = value.userInterface;
112
- this.expression.entityName = value.entityName;
113
- this.expression.value = undefined;
114
- this.expression.props = this.fieldPropsToExpressionProps(value.properties);
115
- }
116
- else {
117
- this.expression[key] = value;
118
- }
119
- this.expressionChanged(this.expression);
120
- }
121
- fieldPropsToExpressionProps(properties) {
122
- const parsedProps = [];
123
- if (!properties) {
124
- return parsedProps;
125
- }
126
- for (const key in properties) {
127
- let propValue = properties[key];
128
- if (typeof propValue == "object") {
129
- propValue = JSON.stringify(propValue);
130
- }
131
- parsedProps.push({ name: key, value: propValue });
132
- }
133
- return parsedProps;
134
- }
135
- expressionPropsToFieldProps(properties) {
136
- const parsedProps = {};
137
- if (!properties) {
138
- return parsedProps;
139
- }
140
- properties.forEach(prop => {
141
- try {
142
- parsedProps[prop.name] = JSON.parse(prop.value);
143
- }
144
- catch (_a) {
145
- parsedProps[prop.name] = prop.value;
146
- }
147
- });
148
- return parsedProps;
149
- }
150
- getMessage(key, params) {
151
- return this.application.messagesBuilder.getMessage(key, params);
152
- }
153
- handleSelectItem(filterField) {
154
- if (this.hasNoChanges(filterField)) {
155
- this._elFilterInput.value = filterField.path;
156
- return;
157
- }
158
- if (filterField.type === SelectedItemType.FIELD) {
159
- const field = filterField;
160
- this._fieldSelected = field;
161
- this.setValueExpression("fieldName", field);
162
- }
163
- }
164
- hasNoChanges(filterField) {
165
- return filterField.name === this.expression.fieldName && filterField.path === this.expression.description;
166
- }
167
- handleFocus() {
168
- if (this._elFilterFieldSearch)
169
- this._elFilterFieldSearch.show();
170
- }
171
- handleChangeFilterInput(evt) {
172
- this._elFilterFieldSearch.applyFilter(evt.detail);
173
- }
174
- handleChangeValueVariable(showValueVariable) {
175
- this._showValueVariable = showValueVariable;
176
- if (this._elFieldDynamic) {
177
- this._elFieldDynamic.value = undefined;
178
- this._elFieldDynamic.enabled = !showValueVariable;
179
- }
180
- this.expression["paramVariable"] = showValueVariable;
181
- this.expressionChanged(this.expression);
182
- }
183
- openSnkFilterParamConfig() {
184
- var _a;
185
- (_a = this._elFilterParamConfigRef) === null || _a === void 0 ? void 0 : _a.open(this.expression).then(this.onOpenPromiseReady.bind(this)).catch(error => {
186
- console.error(error);
187
- });
188
- }
189
- onOpenPromiseReady(changes) {
190
- this.expression = changes;
191
- }
192
- buildOptionsOperator() {
193
- var _a;
194
- if (FIELD_TYPE_SEARCH_AND_TEXT.includes((_a = this._fieldSelected) === null || _a === void 0 ? void 0 : _a.userInterface)) {
195
- return this.filterOperandTypeTextSearch;
196
- }
197
- else {
198
- return this.filterOperandDefault;
199
- }
200
- }
201
- handleChangeOperator(optionSelected) {
202
- this.checkOptionIsNull(optionSelected);
203
- this.setValueExpression("operand", optionSelected);
204
- }
205
- checkOptionIsNull(optionSelected) {
206
- const filterOperandValue = FilterOperand[optionSelected];
207
- if ([FilterOperand.NULL, FilterOperand.NOT_NULL].includes(filterOperandValue)) {
208
- this._optionNotNull = true;
209
- if (this._elFieldDynamic) {
210
- this._elFieldDynamic.enabled = false;
211
- this._elFieldDynamic.value = undefined;
212
- }
213
- }
214
- else {
215
- this._optionNotNull = false;
216
- if (this._elFieldDynamic) {
217
- this._elFieldDynamic.enabled = this._showValueVariable ? false : true;
218
- }
219
- }
220
- }
221
- confirmRemove(evt) {
222
- evt.preventDefault();
223
- evt.stopPropagation();
224
- ApplicationUtils.confirm(this.getMessage("snkPersonalizedFilter.confirmExpression.title"), this.getMessage("snkPersonalizedFilter.confirmExpression.description"))
225
- .then((canRemove) => {
226
- if (canRemove) {
227
- this.ezFilterItemRemove.emit(this.expression);
228
- }
229
- });
230
- }
231
- buildFieldByType() {
232
- var _a, _b, _c;
233
- if (!this._fieldSelected)
234
- return;
235
- const inputFieldData = (_a = fieldBuilder(this.configureFieldByType())) === null || _a === void 0 ? void 0 : _a.$children$.shift();
236
- if (this._optionNotNull && inputFieldData || ((_b = this._elValueVariable) === null || _b === void 0 ? void 0 : _b.value) && inputFieldData || this.expression.paramVariable || this._showValueVariable || !((_c = this._fieldSelected) === null || _c === void 0 ? void 0 : _c.dataType)) {
237
- inputFieldData.$attrs$.enabled = false;
238
- }
239
- if (this.expression.value != undefined) {
240
- inputFieldData.$attrs$.value = this.getExpressiontValue(this.expression);
241
- }
242
- inputFieldData.$attrs$.onEzChange = (event) => {
243
- this.setValueExpression("value", event.target.value);
244
- };
245
- if (this.expression.userInterface === 'SWITCH' && this.expression.value == undefined) {
246
- this.setValueExpression("value", false);
247
- }
248
- return h(inputFieldData.$tag$, Object.assign(Object.assign({}, inputFieldData.$attrs$), { ref: (el) => {
249
- this._elFieldDynamic = el;
250
- }, label: this.expression.fieldLabel || this._fieldSelected.label }));
251
- }
252
- getExpressiontValue(expression) {
253
- return convertType(expression.type, expression.value);
254
- }
255
- configureFieldByType() {
256
- var _a, _b;
257
- const field = {
258
- userInterface: this._fieldSelected.userInterface,
259
- name: this._fieldSelected.name,
260
- label: this._fieldSelected.label,
261
- canShowError: false
262
- };
263
- switch (field.userInterface) {
264
- case UserInterface.OPTIONSELECTOR:
265
- field.props = {
266
- options: (_b = (_a = this._fieldSelected) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.options,
267
- };
268
- break;
269
- case UserInterface.LONGTEXT:
270
- field.rows = 1;
271
- break;
272
- case UserInterface.SEARCH:
273
- field.optionLoader = searchArgument => this.setCriteriaSearch(searchArgument, this.application);
274
- break;
275
- }
276
- return field;
277
- }
278
- setCriteriaSearch({ mode, argument }, application) {
279
- var _a, _b;
280
- if (application == undefined)
281
- return;
282
- const searchOptions = {
283
- showInactives: false
284
- };
285
- const options = {
286
- entity: (_b = (_a = this._fieldSelected) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.ENTITYNAME,
287
- searchOptions,
288
- entityDescription: this._fieldSelected.description
289
- };
290
- return application.executePreparedSearch(mode, argument, options);
291
- }
292
- render() {
293
- var _a;
294
- return (h(Host, null, h("div", { class: "dashes" }), h("div", { class: "box" }, h("div", { class: "box__container" }, h("div", { class: "box__container--input-filter" }, h("ez-filter-input", Object.assign({ ref: ref => this._elFilterInput = ref, value: (_a = this._fieldSelected) === null || _a === void 0 ? void 0 : _a.path, label: this.getMessage("snkPersonalizedFilter.info.labelSearchField"), canShowError: false, onEzChange: (evt) => this.handleChangeFilterInput(evt), onFocus: () => this.handleFocus() }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `expressionFilterInput_${this.expression.fieldName || this.DEFAULT_FIELD_NAME}` })), h("snk-filter-field-search", { ref: ref => this._elFilterFieldSearch = ref, searchable: false, onEzSelectFilterItem: (ev) => this.handleSelectItem(ev.detail), fieldsDataSource: this._dataSourceFetcher })), h("div", { class: "box__container--input-operator" }, h("ez-combo-box", Object.assign({ label: this.getMessage("snkPersonalizedFilter.info.labelOperator"), value: this.expression.operand, canShowError: false, options: this.buildOptionsOperator(), onEzChange: (evt) => { var _a; return this.handleChangeOperator((_a = evt.detail) === null || _a === void 0 ? void 0 : _a.value); }, suppressEmptyOption: true }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `comboBoxOperand_${this.expression.fieldName || this.DEFAULT_FIELD_NAME}` }))), h("div", { class: "box__container--input-value" }, !this._fieldSelected ?
295
- h("ez-number-input", { label: "Valor", canShowError: false, enabled: (!this._showValueVariable && !this._optionNotNull) }) :
296
- this.buildFieldByType()), h("div", { class: "box__container--input-value-variable" }, !this._optionNotNull &&
297
- h("ez-check", { ref: ref => this._elValueVariable = ref, value: this.expression.paramVariable, label: this.getMessage("snkPersonalizedFilter.info.labelValueVarible"), mode: CheckMode.SWITCH, onEzChange: (evt) => this.handleChangeValueVariable(evt.detail) }), (this._showValueVariable && !this._optionNotNull) &&
298
- h("ez-icon", Object.assign({ class: "box__container--input-value-variable--icon", size: "large", iconName: "settings-inverted" }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: 'iconConfig' }, { title: this.getMessage("snkPersonalizedFilter.info.titleTooltip"), onClick: () => this.openSnkFilterParamConfig() })), h("snk-filter-param-config", { ref: (el) => this._elFilterParamConfigRef = el, messagesBuilder: this.messagesBuilder })), h("div", { class: "box__container--button-delete" }, h("div", { class: "box__container--button-delete--icon" }, h("ez-button", { mode: "icon", iconName: "delete", enabled: this.canRemove, label: this.getMessage("snkPersonalizedFilter.info.labelDeleteItem"), onClick: (evt) => this.confirmRemove(evt) })))))));
299
- }
300
- static get watchers() { return {
301
- "expression": ["expressionChanged"]
302
- }; }
303
- };
304
- SnkExpressionItem.style = snkExpressionItemCss;
305
-
306
9
  const ICON_MODES = {
307
10
  [UserInterface.SHORTTEXT]: 'text',
308
11
  [UserInterface.LONGTEXT]: 'text',
@@ -509,6 +212,9 @@ const SnkFilterParamConfig = class {
509
212
  this._canSave = false;
510
213
  this.messagesBuilder = undefined;
511
214
  }
215
+ /**
216
+ * Abre o modal de configuração de valor variável
217
+ */
512
218
  open(expressionItem) {
513
219
  this._opened = true;
514
220
  this._expressionItem = expressionItem;
@@ -517,6 +223,9 @@ const SnkFilterParamConfig = class {
517
223
  this._promiseResolver = accept;
518
224
  });
519
225
  }
226
+ /**
227
+ * Fecha o modal de configuração de valor variável
228
+ */
520
229
  close() {
521
230
  this._opened = false;
522
231
  return new Promise(accept => {
@@ -691,4 +400,4 @@ const SnkFilterParamConfig = class {
691
400
  };
692
401
  SnkFilterParamConfig.style = snkFilterParamConfigCss;
693
402
 
694
- export { SnkExpressionItem as snk_expression_item, SnkFilterFieldSearch as snk_filter_field_search, SnkFilterParamConfig as snk_filter_param_config };
403
+ export { SnkFilterFieldSearch as snk_filter_field_search, SnkFilterParamConfig as snk_filter_param_config };
@@ -2,13 +2,13 @@ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement
2
2
  import { ElementIDUtils, ApplicationContext, ObjectUtils } from '@sankhyalabs/core';
3
3
  import { F as FilterItemType } from './filter-item-type.enum-5028ed3f.js';
4
4
  import { E as EPresentationMode } from './presentationMode-783bbf9d.js';
5
- import { C as ConfigStorage } from './ConfigStorage-f1e805a0.js';
5
+ import { C as ConfigStorage } from './ConfigStorage-02f17a26.js';
6
6
  import { F as FilterType } from './filter-type.enum-a80c1b6b.js';
7
7
  import './form-config-fetcher-533b895e.js';
8
8
  import './DataFetcher-fddeb917.js';
9
9
  import './_commonjsHelpers-9943807e.js';
10
10
  import './resource-fetcher-0f20a072.js';
11
- import './filter-bar-config-fetcher-a358b8e0.js';
11
+ import './filter-bar-config-fetcher-790283d8.js';
12
12
 
13
13
  const snkFilterModalItemCss = ".grow{flex-grow:1}.gap{gap:4px}";
14
14
 
@@ -4,8 +4,8 @@ import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
4
4
  import { F as FilterType } from './filter-type.enum-a80c1b6b.js';
5
5
  import { F as FilterItemType } from './filter-item-type.enum-5028ed3f.js';
6
6
  import { ObjectUtils } from '@sankhyalabs/core';
7
- import { P as PersonalizedFilterUtils } from './PersonalizedFilterUtils-1a167d89.js';
8
- import './IExpressionItem-21f225bf.js';
7
+ import { P as PersonalizedFilterUtils } from './PersonalizedFilterUtils-731cae01.js';
8
+ import './index-ae591a44.js';
9
9
 
10
10
  const snkFilterModalCss = "ez-modal{--ez-modal-content-padding:24px 12px}.snk-filter-modal__container{width:344px;max-width:344px;min-width:344px;overflow:hidden}.snk-filter-modal__content{display:flex;flex-direction:column;gap:var(--space--medium, 12px);padding-right:var(--space--3xs, 4px)}.snk-filter-modal__collapsible-box{border:var(--border--small, 1px solid) var(--color--strokes, #DCE0E8);border-radius:var(--border--radius-medium);padding:var(--space--medium, 12px) var(--space--small, 6px)}.snk-filter-modal__rendered-items{max-height:760px;overflow-x:clip;overflow-y:auto}.snk-filter-modal__rendered-items::-webkit-scrollbar{width:var(--space--small);min-width:var(--space--small);max-width:var(--space--small)}";
11
11
 
@@ -1,12 +1,12 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-a7d3d3f1.js';
2
2
  import { ElementIDUtils } from '@sankhyalabs/core';
3
- import { S as SnkFormConfigManager } from './SnkFormConfigManager-324f6dc7.js';
4
- import './ConfigStorage-f1e805a0.js';
3
+ import { S as SnkFormConfigManager } from './SnkFormConfigManager-cd9e6cab.js';
4
+ import './ConfigStorage-02f17a26.js';
5
5
  import './form-config-fetcher-533b895e.js';
6
6
  import './DataFetcher-fddeb917.js';
7
7
  import './_commonjsHelpers-9943807e.js';
8
8
  import './resource-fetcher-0f20a072.js';
9
- import './filter-bar-config-fetcher-a358b8e0.js';
9
+ import './filter-bar-config-fetcher-790283d8.js';
10
10
  import './filter-item-type.enum-5028ed3f.js';
11
11
 
12
12
  const snkFormCss = ".sc-snk-form-h{--snk-form__header--min-height:94px;display:block}.snk-form__form--hidden.sc-snk-form{display:none}";
@@ -2,13 +2,13 @@ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement
2
2
  import { StringUtils, ElementIDUtils } from '@sankhyalabs/core';
3
3
  import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
4
4
  import { CheckMode } from '@sankhyalabs/ezui/dist/collection/components/ez-check/CheckMode';
5
- import { C as ConfigStorage } from './ConfigStorage-f1e805a0.js';
5
+ import { C as ConfigStorage } from './ConfigStorage-02f17a26.js';
6
6
  import { O as ORDER_VALUES } from './constants-3644f1b6.js';
7
7
  import './form-config-fetcher-533b895e.js';
8
8
  import './DataFetcher-fddeb917.js';
9
9
  import './_commonjsHelpers-9943807e.js';
10
10
  import './resource-fetcher-0f20a072.js';
11
- import './filter-bar-config-fetcher-a358b8e0.js';
11
+ import './filter-bar-config-fetcher-790283d8.js';
12
12
  import './filter-item-type.enum-5028ed3f.js';
13
13
 
14
14
  const snkGridConfigCss = ".sc-snk-grid-config-h{--snk-grid-config__footer--padding-top:var(--space--medium, 12px);--snk-grid-config__main--padding-right:var(--space--medium, 12px);--snk-grid-config__tabselector-container--padding:var(--space--medium, 12px);--snk-grid-config__button-close--padding-left:var(--space--medium, 12px);--snk-grid-config__title--color:var(--title--primary, #2B3A54);--snk-grid-config__title--font-family:var(--font-pattern, \"Roboto\");--snk-grid-config__title--font-size:var(--title--large, 20px);--snk-grid-config__title--font-weight:var(--text-weight--extra-large, 700);--snk-grid-config__subtitle--font-family:var(--font-pattern, \"Roboto\");--snk-grid-config__subtitle--font-size:var(--text--medium, 14px);--snk-grid-config__group--font-family:var(--font-pattern, \"Roboto\");--snk-grid-config__group--font-size:var(--text--medium, 14px);--snk-grid-config__group--font-weight:var(--text-weight--large, 600);--snk-grid-config__group--padding-bottom:var(--space-small, 6px);--snk-grid-config__scrollbar--color-default:var(--scrollbar--default, #626e82);--snk-grid-config__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--snk-grid-config__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--snk-grid-config__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--snk-grid-config__scrollbar--border-radius:var(--border--radius-small, 6px);--snk-grid-config__scrollbar--width:var(--space--medium, 12px);display:grid;grid-template-rows:auto 1fr auto;max-height:100%;width:100%}@media screen and (min-width: 480px){.sc-snk-grid-config-h{width:359px;max-width:359px}}.padding-right--medium.sc-snk-grid-config{padding-right:var(--space--medium)}ez-list.sc-snk-grid-config{height:100%}.height-calc.sc-snk-grid-config{max-height:calc(100% - 24px)}.grid-config__footer.sc-snk-grid-config{display:flex;justify-content:flex-end;width:100%;padding-top:var(--snk-grid-config__footer--padding-top)}.hidden.sc-snk-grid-config{display:none}.tabselector-container.sc-snk-grid-config{padding:var(--snk-grid-config__tabselector-container--padding) 0}.button-close.sc-snk-grid-config{padding-left:var(--snk-grid-config__button-close--padding-left)}.title-container.sc-snk-grid-config{display:flex;justify-content:space-between;align-items:center;width:100%}.title.sc-snk-grid-config{display:flex;margin:0;line-height:normal;letter-spacing:0em;text-align:left;color:var(--snk-grid-config__title--color);font-size:var(--snk-grid-config__title--font-size);font-family:var(--snk-grid-config__title--font-family);font-weight:var(--snk-grid-config__title--font-weight)}.subtitle.sc-snk-grid-config{color:var(--text--primary);font-size:var(--snk-grid-config__subtitle--font-size);font-family:var(--snk-grid-config__subtitle--font-family)}.grid-config__main.sc-snk-grid-config{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--snk-grid-config__scrollbar--color-clicked) var(--snk-grid-config__scrollbar--color-background);padding-right:var(--snk-grid-config__main--padding-right)}.grid-config__main.sc-snk-grid-config::-webkit-scrollbar{width:var(--snk-grid-config__scrollbar--width);max-width:var(--snk-grid-config__scrollbar--width);min-width:var(--snk-grid-config__scrollbar--width);background-color:var(--snk-grid-config__scrollbar--color-background)}.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-track{background-color:var(--snk-grid-config__scrollbar--color-background);border-radius:var(--snk-grid-config__scrollbar--border-radius)}.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-thumb{background-color:var(--snk-grid-config__scrollbar--color-default);border-radius:var(--snk-grid-config__scrollbar--border-radius)}.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-thumb:vertical:hover,.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--snk-grid-config__scrollbar--color-hover)}.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-thumb:vertical:active,.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--snk-grid-config__scrollbar--color-clicked)}.group-name.sc-snk-grid-config{font-family:var(--snk-grid-config__group--font-family);font-size:var(--snk-grid-config__group--font-size);font-weight:var(--snk-grid-config__group--font-weight);padding-bottom:var(--snk-grid-config__group--padding-bottom)}";
@@ -2,7 +2,7 @@ import { r as registerInstance, c as createEvent, h, g as getElement } from './i
2
2
  import { ElementIDUtils, ApplicationContext, DataType } from '@sankhyalabs/core';
3
3
  import { UserInterface } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
4
4
  import { T as TaskbarElement } from './taskbar-elements-2c761819.js';
5
- import { C as ConfigStorage } from './ConfigStorage-f1e805a0.js';
5
+ import { C as ConfigStorage } from './ConfigStorage-02f17a26.js';
6
6
  import { P as PresentationMode } from './index-1564817d.js';
7
7
  import { T as TaskbarProcessor } from './taskbar-processor-94402e6e.js';
8
8
  import { s as store } from './index-bdf75557.js';
@@ -12,7 +12,7 @@ import './form-config-fetcher-533b895e.js';
12
12
  import './DataFetcher-fddeb917.js';
13
13
  import './_commonjsHelpers-9943807e.js';
14
14
  import './resource-fetcher-0f20a072.js';
15
- import './filter-bar-config-fetcher-a358b8e0.js';
15
+ import './filter-bar-config-fetcher-790283d8.js';
16
16
  import './filter-item-type.enum-5028ed3f.js';
17
17
 
18
18
  const snkGridCss = ".snk-grid__container.sc-snk-grid{display:flex;height:100%;width:100%}.snk-grid__header.sc-snk-grid{display:flex;flex-wrap:nowrap;width:100%}.snk-grid__filter-bar.sc-snk-grid{width:100%}.snk-grid__header-divider.sc-snk-grid{margin-bottom:var(--space--medium)}.snk-grid__table.sc-snk-grid{min-height:300px}.snk-grid-container__without-shadow.sc-snk-grid{--ezgrid__container--shadow:unset}";
@@ -247,6 +247,12 @@ const SnkGrid = class {
247
247
  this._snkDataUnit.addEventListener("dataStateChange", (evt) => {
248
248
  this._dataState = evt.detail;
249
249
  });
250
+ this._snkDataUnit.addEventListener("cancelEdition", () => {
251
+ var _a;
252
+ if ((_a = this._dataState) === null || _a === void 0 ? void 0 : _a.recordsIsEmpty) {
253
+ this._dataUnit.clearSelection();
254
+ }
255
+ });
250
256
  break;
251
257
  }
252
258
  parent = parent.parentElement;
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, h, F as Fragment } from './index-a7d3d3f1.js';
2
2
  import { ElementIDUtils } from '@sankhyalabs/core';
3
- import { S as SnkFormConfigManager } from './SnkFormConfigManager-324f6dc7.js';
3
+ import { S as SnkFormConfigManager } from './SnkFormConfigManager-cd9e6cab.js';
4
4
  import { buildFormMetadata, FormMetadata } from '@sankhyalabs/ezui/dist/collection/utils/form';
5
5
  import { T as TaskbarProcessor } from './taskbar-processor-94402e6e.js';
6
6
  import { T as TaskbarElement } from './taskbar-elements-2c761819.js';
@@ -1,13 +1,13 @@
1
- export { S as snk_guides_viewer } from './snk-guides-viewer-e7209909.js';
1
+ export { S as snk_guides_viewer } from './snk-guides-viewer-579c70cc.js';
2
2
  import './index-a7d3d3f1.js';
3
3
  import '@sankhyalabs/core';
4
- import './SnkFormConfigManager-324f6dc7.js';
5
- import './ConfigStorage-f1e805a0.js';
4
+ import './SnkFormConfigManager-cd9e6cab.js';
5
+ import './ConfigStorage-02f17a26.js';
6
6
  import './form-config-fetcher-533b895e.js';
7
7
  import './DataFetcher-fddeb917.js';
8
8
  import './_commonjsHelpers-9943807e.js';
9
9
  import './resource-fetcher-0f20a072.js';
10
- import './filter-bar-config-fetcher-a358b8e0.js';
10
+ import './filter-bar-config-fetcher-790283d8.js';
11
11
  import './filter-item-type.enum-5028ed3f.js';
12
12
  import '@sankhyalabs/ezui/dist/collection/utils/form';
13
13
  import './taskbar-processor-94402e6e.js';