@sankhyalabs/sankhyablocks 8.15.0-dev.30 → 8.15.0-dev.32

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 (152) hide show
  1. package/dist/cjs/{SnkMessageBuilder-e7dcf408.js → SnkMessageBuilder-141aa18d.js} +2 -1
  2. package/dist/cjs/SnkMultiSelectionListDataSource-5213120b.js +140 -0
  3. package/dist/cjs/index-f9e81701.js +2 -10
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/{pesquisa-fetcher-c416a6b7.js → pesquisa-fetcher-94f6b316.js} +231 -20
  6. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  7. package/dist/cjs/{snk-actions-button_2.cjs.entry.js → snk-actions-button_4.cjs.entry.js} +517 -2
  8. package/dist/cjs/snk-application.cjs.entry.js +2 -3
  9. package/dist/cjs/snk-attach.cjs.entry.js +4 -5
  10. package/dist/cjs/snk-crud.cjs.entry.js +3 -4
  11. package/dist/cjs/snk-data-exporter.cjs.entry.js +7 -3
  12. package/dist/cjs/{snk-data-unit-82c08a8c.js → snk-data-unit-6026a9f7.js} +1 -1
  13. package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
  14. package/dist/cjs/snk-detail-view.cjs.entry.js +6 -7
  15. package/dist/cjs/snk-form-config.cjs.entry.js +45 -25
  16. package/dist/cjs/snk-form.cjs.entry.js +1 -1
  17. package/dist/cjs/snk-grid.cjs.entry.js +11 -20
  18. package/dist/cjs/{snk-guides-viewer-bd69fce4.js → snk-guides-viewer-75047f22.js} +3 -4
  19. package/dist/cjs/snk-guides-viewer.cjs.entry.js +4 -5
  20. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +3 -1
  21. package/dist/cjs/snk-simple-crud.cjs.entry.js +148 -17
  22. package/dist/cjs/snk-taskbar.cjs.entry.js +6 -9
  23. package/dist/cjs/{taskbar-elements-1e4fb2e0.js → taskbar-elements-3ecd1278.js} +1 -1
  24. package/dist/collection/collection-manifest.json +6 -6
  25. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +2 -2
  26. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +1 -1
  27. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +5 -1
  28. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js +3 -1
  29. package/dist/collection/components/snk-form/snk-form.js +1 -1
  30. package/dist/collection/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.js +50 -30
  31. package/dist/collection/components/snk-grid/snk-grid.js +5 -16
  32. package/dist/collection/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.js +130 -123
  33. package/dist/collection/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.js +1 -1
  34. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +5 -0
  35. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +226 -14
  36. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +1 -1
  37. package/dist/collection/components/snk-taskbar/snk-taskbar.js +5 -8
  38. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +1 -8
  39. package/dist/collection/lib/message/resources/snk-data-exporter.msg.js +2 -1
  40. package/dist/collection/lib/utils/CrudUtils.js +13 -1
  41. package/dist/components/SnkMessageBuilder.js +2 -1
  42. package/dist/components/dataunit-fetcher.js +1 -8
  43. package/dist/components/field-search.js +93 -3
  44. package/dist/components/index.d.ts +6 -6
  45. package/dist/components/snk-attach2.js +54 -12
  46. package/dist/components/snk-data-exporter2.js +5 -1
  47. package/dist/components/snk-detail-view2.js +29 -4
  48. package/dist/components/snk-form-config2.js +46 -26
  49. package/dist/components/snk-grid-config2.js +128 -102
  50. package/dist/components/snk-grid2.js +10 -17
  51. package/dist/components/snk-personalized-filter-editor.js +3 -1
  52. package/dist/components/snk-simple-crud2.js +204 -24
  53. package/dist/components/snk-taskbar2.js +6 -9
  54. package/dist/esm/{SnkMessageBuilder-0fb796b9.js → SnkMessageBuilder-9747ddd2.js} +2 -1
  55. package/dist/esm/SnkMultiSelectionListDataSource-7e7eada5.js +133 -0
  56. package/dist/esm/index-a7d3d3f1.js +2 -10
  57. package/dist/esm/loader.js +1 -1
  58. package/dist/esm/{pesquisa-fetcher-ab16a2e8.js → pesquisa-fetcher-f05a12ca.js} +222 -12
  59. package/dist/esm/sankhyablocks.js +1 -1
  60. package/dist/esm/{snk-actions-button_2.entry.js → snk-actions-button_4.entry.js} +516 -3
  61. package/dist/esm/snk-application.entry.js +2 -3
  62. package/dist/esm/snk-attach.entry.js +3 -4
  63. package/dist/esm/snk-crud.entry.js +3 -4
  64. package/dist/esm/snk-data-exporter.entry.js +7 -3
  65. package/dist/esm/{snk-data-unit-5d201fb3.js → snk-data-unit-4c343635.js} +1 -1
  66. package/dist/esm/snk-data-unit.entry.js +2 -2
  67. package/dist/esm/snk-detail-view.entry.js +6 -7
  68. package/dist/esm/snk-form-config.entry.js +46 -26
  69. package/dist/esm/snk-form.entry.js +1 -1
  70. package/dist/esm/snk-grid.entry.js +12 -21
  71. package/dist/esm/{snk-guides-viewer-fde82cc1.js → snk-guides-viewer-8b679ee6.js} +3 -4
  72. package/dist/esm/snk-guides-viewer.entry.js +4 -5
  73. package/dist/esm/snk-personalized-filter-editor.entry.js +3 -1
  74. package/dist/esm/snk-simple-crud.entry.js +149 -18
  75. package/dist/esm/snk-taskbar.entry.js +6 -9
  76. package/dist/esm/{taskbar-elements-846c027c.js → taskbar-elements-2473c8ac.js} +1 -1
  77. package/dist/sankhyablocks/p-20b46647.entry.js +1 -0
  78. package/dist/sankhyablocks/p-230f5148.entry.js +1 -0
  79. package/dist/sankhyablocks/p-2897fb8c.js +1 -0
  80. package/dist/sankhyablocks/{p-05243555.js → p-2936303b.js} +1 -1
  81. package/dist/sankhyablocks/p-2e493bef.entry.js +1 -0
  82. package/dist/sankhyablocks/p-4b0c5921.entry.js +1 -0
  83. package/dist/sankhyablocks/p-5eaecd30.entry.js +1 -0
  84. package/dist/sankhyablocks/{p-fcdcb0e2.entry.js → p-746fc99e.entry.js} +1 -1
  85. package/dist/sankhyablocks/p-7e05bd83.entry.js +1 -0
  86. package/dist/sankhyablocks/p-8a00836e.js +1 -0
  87. package/dist/sankhyablocks/{p-f3d1c48e.js → p-9a5d1b39.js} +1 -1
  88. package/dist/sankhyablocks/p-9fb97691.entry.js +1 -0
  89. package/dist/sankhyablocks/p-a1c630fb.entry.js +1 -0
  90. package/dist/sankhyablocks/p-ae4fc9a9.js +1 -0
  91. package/dist/sankhyablocks/p-b11aa1e0.entry.js +1 -0
  92. package/dist/sankhyablocks/p-ba4871b5.entry.js +1 -0
  93. package/dist/sankhyablocks/{p-fd0a8d68.entry.js → p-c4bcdd4b.entry.js} +3 -3
  94. package/dist/sankhyablocks/p-d0bc5ef3.entry.js +1 -0
  95. package/dist/sankhyablocks/p-d78d4062.js +65 -0
  96. package/dist/sankhyablocks/p-e7dbe53a.entry.js +1 -0
  97. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  98. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +1 -1
  99. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +1 -1
  100. package/dist/types/components/snk-form/snk-form.d.ts +1 -1
  101. package/dist/types/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.d.ts +5 -3
  102. package/dist/types/components/snk-grid/snk-grid.d.ts +0 -1
  103. package/dist/types/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.d.ts +11 -6
  104. package/dist/types/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.d.ts +1 -1
  105. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +46 -1
  106. package/dist/types/components.d.ts +26 -10
  107. package/dist/types/lib/utils/CrudUtils.d.ts +3 -0
  108. package/package.json +1 -1
  109. package/dist/cjs/PreloadManager-84466da6.js +0 -224
  110. package/dist/cjs/SnkMultiSelectionListDataSource-ba5838c2.js +0 -49
  111. package/dist/cjs/snk-grid-config.cjs.entry.js +0 -483
  112. package/dist/cjs/snk-select-box.cjs.entry.js +0 -25
  113. package/dist/esm/PreloadManager-c1c2f2b4.js +0 -222
  114. package/dist/esm/SnkMultiSelectionListDataSource-44494b0e.js +0 -43
  115. package/dist/esm/snk-grid-config.entry.js +0 -479
  116. package/dist/esm/snk-select-box.entry.js +0 -21
  117. package/dist/sankhyablocks/p-094c30cb.js +0 -1
  118. package/dist/sankhyablocks/p-0b0b36ac.entry.js +0 -1
  119. package/dist/sankhyablocks/p-11ad137d.entry.js +0 -1
  120. package/dist/sankhyablocks/p-57212bb5.js +0 -1
  121. package/dist/sankhyablocks/p-5f5b58b6.entry.js +0 -1
  122. package/dist/sankhyablocks/p-84bb8f47.entry.js +0 -1
  123. package/dist/sankhyablocks/p-8c13d8d6.entry.js +0 -1
  124. package/dist/sankhyablocks/p-8c49760e.js +0 -1
  125. package/dist/sankhyablocks/p-91b7f78a.entry.js +0 -1
  126. package/dist/sankhyablocks/p-98674137.entry.js +0 -1
  127. package/dist/sankhyablocks/p-b7004423.entry.js +0 -1
  128. package/dist/sankhyablocks/p-c22c1d8e.js +0 -1
  129. package/dist/sankhyablocks/p-c4874327.entry.js +0 -1
  130. package/dist/sankhyablocks/p-c6247955.js +0 -65
  131. package/dist/sankhyablocks/p-c758265f.entry.js +0 -1
  132. package/dist/sankhyablocks/p-d4802f81.entry.js +0 -1
  133. package/dist/sankhyablocks/p-e3bd000e.entry.js +0 -1
  134. package/dist/sankhyablocks/p-fb842329.entry.js +0 -1
  135. package/dist/sankhyablocks/p-fdc4cb9b.entry.js +0 -1
  136. /package/dist/cjs/{SnkFormConfigManager-3621bfc4.js → SnkFormConfigManager-0ffd098d.js} +0 -0
  137. /package/dist/collection/components/{snk-form → snk-form-config}/SnkFormConfigManager.js +0 -0
  138. /package/dist/collection/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.css +0 -0
  139. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.css +0 -0
  140. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.js +0 -0
  141. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.css +0 -0
  142. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.js +0 -0
  143. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.css +0 -0
  144. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.js +0 -0
  145. /package/dist/collection/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.css +0 -0
  146. /package/dist/collection/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.css +0 -0
  147. /package/dist/esm/{SnkFormConfigManager-692e20c7.js → SnkFormConfigManager-dd450734.js} +0 -0
  148. /package/dist/sankhyablocks/{p-725d04ba.js → p-9ea14b61.js} +0 -0
  149. /package/dist/types/components/{snk-form → snk-form-config}/SnkFormConfigManager.d.ts +0 -0
  150. /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.d.ts +0 -0
  151. /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.d.ts +0 -0
  152. /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.d.ts +0 -0
@@ -1,5 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
- import { StringUtils, ElementIDUtils } from '@sankhyalabs/core';
2
+ import { ApplicationContext, 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
5
  import { C as ConfigStorage } from './ConfigStorage.js';
@@ -21,7 +21,6 @@ const SnkGridConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
21
21
  this._dataChanged = false;
22
22
  this._componenteInternalKey = Date.now();
23
23
  this.selectedIndex = 0;
24
- this.application = undefined;
25
24
  this.columns = undefined;
26
25
  this.config = undefined;
27
26
  this.configName = undefined;
@@ -35,9 +34,10 @@ const SnkGridConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
35
34
  * Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-grid.msg.ts"
36
35
  */
37
36
  getMessage(key, params) {
38
- return this.application.messagesBuilder.getMessage(key, params);
37
+ const application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
38
+ return application.messagesBuilder.getMessage(key, params);
39
39
  }
40
- createOrderList() {
40
+ getSortableColumns() {
41
41
  let newList = [];
42
42
  this.columns.filter(col => { var _a; return StringUtils.getBooleanValue((_a = col === null || col === void 0 ? void 0 : col.props) === null || _a === void 0 ? void 0 : _a.get("sortable"), true); }).forEach((column) => {
43
43
  var _a;
@@ -51,7 +51,11 @@ const SnkGridConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
51
51
  newList.push(item);
52
52
  }
53
53
  });
54
- newList.sort((a, b) => {
54
+ return newList;
55
+ }
56
+ createOrderList() {
57
+ let newSortableList = this.getSortableColumns();
58
+ newSortableList.sort((a, b) => {
55
59
  //OS dois tem order index 0 e pelo menos um deles tem orientação de ordenação.
56
60
  if (a.orderIndex == 0 && b.orderIndex == 0 && (a.ascending != undefined || b.ascending != undefined)) {
57
61
  if (a.ascending != undefined)
@@ -74,7 +78,7 @@ const SnkGridConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
74
78
  }
75
79
  return (a.orderIndex - b.orderIndex);
76
80
  });
77
- this._orderListItems = newList;
81
+ this._orderListItems = newSortableList;
78
82
  }
79
83
  createColumnList() {
80
84
  let visibleGroup = {
@@ -97,12 +101,18 @@ const SnkGridConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
97
101
  });
98
102
  this._columListItems = [visibleGroup, hiddenGroup];
99
103
  }
104
+ createColumnListSlotDataElementId(item) {
105
+ return `configItem_${StringUtils.replaceAccentuatedChars(StringUtils.toCamelCase(item.label))}`;
106
+ }
100
107
  buildColumnListSlot(item, group) {
101
- const dataElementId = `configItem_${StringUtils.replaceAccentuatedChars(StringUtils.toCamelCase(item.label))}`;
108
+ const dataElementId = this.createColumnListSlotDataElementId(item);
102
109
  return (h("div", null, h("ez-check", { mode: CheckMode.SWITCH, id: CheckMode.SWITCH + ((item === null || item === void 0 ? void 0 : item.label) || '') + ((group === null || group === void 0 ? void 0 : group.group) || ''), value: group.group === this.getMessage("snkGridConfig.group.visible"), "data-element-id": dataElementId, onEzChange: (evt) => { this.switchColumnGroup(evt, item); } })));
103
110
  }
111
+ createOrderListSlotDataElementId(item) {
112
+ return `${this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME)}_configItem_${StringUtils.toCamelCase(item.label)}`;
113
+ }
104
114
  buildOrderListSlot(item) {
105
- const dataElementId = `${this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME)}_configItem_${StringUtils.toCamelCase(item.label)}`;
115
+ const dataElementId = this.createOrderListSlotDataElementId(item);
106
116
  let selectedOption = ORDER_VALUES.none.value;
107
117
  if ((item === null || item === void 0 ? void 0 : item.ascending) != undefined) {
108
118
  selectedOption = item.ascending == true ? ORDER_VALUES.asc.value : ORDER_VALUES.desc.value;
@@ -120,7 +130,7 @@ const SnkGridConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
120
130
  let orderArray;
121
131
  if (((_a = this._orderPriorityList) === null || _a === void 0 ? void 0 : _a.length) > 0) {
122
132
  this._orderPriorityList.find((item) => item.label === newItem.label).sort = sortOrder;
123
- this._orderPriorityList.filter((item) => item.sort).map((item, index) => {
133
+ this._orderPriorityList.filter((item) => item.sort).forEach((item, index) => {
124
134
  if (item.label === newItem.label) {
125
135
  newItem.sortIndex = index;
126
136
  }
@@ -189,6 +199,35 @@ const SnkGridConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
189
199
  this.closeConfig();
190
200
  this.save();
191
201
  }
202
+ saveGridConfigOnStorage(_newConfig) {
203
+ ConfigStorage.saveGridConfig(_newConfig, this.configName, this.resourceID)
204
+ .then((savedConfig) => {
205
+ this.configChange.emit(savedConfig);
206
+ this._orderList.clearHistory();
207
+ ApplicationUtils.info(this.getMessage("snkGridConfig.info.successfullyConfigSaved"), { iconName: "check" });
208
+ });
209
+ }
210
+ reOrderPriorityColumns(columns, orderPriorityList) {
211
+ let orderArray = [];
212
+ orderArray = columns.filter((item) => item.sort && item.hidden !== true)
213
+ .map((item) => {
214
+ return { label: item.label, orderIndex: 0 };
215
+ });
216
+ let indexCount = 0;
217
+ let newOrderArray = [];
218
+ orderPriorityList.forEach((orderPriorityItem) => {
219
+ let item = orderArray.find((column) => column.label === orderPriorityItem.label);
220
+ if (item) {
221
+ item.orderIndex = indexCount;
222
+ newOrderArray.push(item);
223
+ indexCount++;
224
+ }
225
+ });
226
+ if (newOrderArray.length > 0) {
227
+ orderArray = newOrderArray;
228
+ }
229
+ return orderArray;
230
+ }
192
231
  save() {
193
232
  var _a;
194
233
  let _newConfig;
@@ -201,30 +240,12 @@ const SnkGridConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
201
240
  let _newColumnConfigList = [];
202
241
  let orderArray;
203
242
  if (((_a = this._orderPriorityList) === null || _a === void 0 ? void 0 : _a.length) > 0) {
204
- orderArray = this.columns.filter((item) => item.sort && item.hidden !== true)
205
- .map((item) => {
206
- return { label: item.label, orderIndex: 0 };
207
- });
208
- let indexCount = 0;
209
- let newOrderArray = [];
210
- this._orderPriorityList.forEach((orderPriorityItem) => {
211
- let item = orderArray.find((column) => column.label === orderPriorityItem.label);
212
- if (item) {
213
- item.orderIndex = indexCount;
214
- newOrderArray.push(item);
215
- indexCount++;
216
- }
217
- });
218
- if (newOrderArray.length > 0) {
219
- orderArray = newOrderArray;
220
- }
243
+ orderArray = this.reOrderPriorityColumns(this.columns, this._orderPriorityList);
221
244
  }
222
- for (let i = 0; i < this.columns.length; i++) {
223
- const column = this.columns[i];
245
+ this.columns.forEach((column) => {
224
246
  let _newColumnConfig = _newConfig.columns.find((_newColumnConfig) => column.name === _newColumnConfig.name);
225
- if (column.hidden === true && _newColumnConfig) {
226
- continue;
227
- }
247
+ if (column.hidden === true && _newColumnConfig)
248
+ return;
228
249
  if (_newColumnConfig) {
229
250
  _newColumnConfig.width = column.width;
230
251
  }
@@ -247,14 +268,9 @@ const SnkGridConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
247
268
  }
248
269
  _newColumnConfigList.push(_newColumnConfig);
249
270
  }
250
- }
251
- _newConfig.columns = _newColumnConfigList;
252
- ConfigStorage.saveGridConfig(_newConfig, this.configName, this.resourceID)
253
- .then((savedConfig) => {
254
- this.configChange.emit(savedConfig);
255
- this._orderList.clearHistory();
256
- ApplicationUtils.info(this.getMessage("snkGridConfig.info.successfullyConfigSaved"), { iconName: "check" });
257
271
  });
272
+ _newConfig.columns = _newColumnConfigList;
273
+ this.saveGridConfigOnStorage(_newConfig);
258
274
  function adjustPriorityOrder(column, _newColumnConfig) {
259
275
  if (orderArray) {
260
276
  let orderItem = orderArray.find((item) => item.label === column.label);
@@ -289,85 +305,96 @@ const SnkGridConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
289
305
  async locateColumn(evt, searchingText) {
290
306
  var _a;
291
307
  const hitEnter = evt.key === "Enter";
308
+ searchingText = searchingText || ((_a = evt.currentTarget) === null || _a === void 0 ? void 0 : _a.value);
292
309
  if (!searchingText) {
293
- searchingText = (_a = evt.currentTarget) === null || _a === void 0 ? void 0 : _a.value;
310
+ this.removeSelection();
311
+ return;
294
312
  }
295
- let newSelected = -1;
313
+ const matchedIndexes = await this.getMatchedIndexes(searchingText);
314
+ const newSelected = this.getNewSelectedIndex(matchedIndexes, hitEnter);
315
+ this._selectedIndex = newSelected;
296
316
  if (this.selectedIndex === 1) {
297
- if (searchingText) {
298
- const matchedIndexes = [];
299
- let orderListDatasource;
300
- await this._orderList.getList().then((listGroup) => {
301
- orderListDatasource = listGroup;
302
- orderListDatasource.forEach((column, index) => {
303
- if (this.compareWords(column, searchingText)) {
304
- matchedIndexes.push(index);
305
- }
306
- });
307
- });
308
- if (matchedIndexes.length > 0) {
309
- if (hitEnter) {
310
- for (let j = 0; j < matchedIndexes.length; j++) {
311
- if (matchedIndexes[j] > this._selectedIndex) {
312
- newSelected = matchedIndexes[j];
313
- break;
314
- }
315
- }
316
- }
317
- if (newSelected === -1) {
318
- newSelected = matchedIndexes[0];
319
- }
317
+ this.updateOrderListSelection(newSelected);
318
+ }
319
+ else {
320
+ this.updateColumnListSelection(newSelected);
321
+ }
322
+ }
323
+ async getMatchedIndexes(searchingText) {
324
+ const matchedIndexes = [];
325
+ if (this.selectedIndex === 1) {
326
+ const orderListDatasource = await this._orderList.getList();
327
+ orderListDatasource.forEach((column, index) => {
328
+ if (this.compareWords(column, searchingText)) {
329
+ matchedIndexes.push(index);
320
330
  }
321
- this._selectedIndex = newSelected;
322
- let selectedColumn;
323
- selectedColumn = orderListDatasource[newSelected];
324
- if (selectedColumn) {
325
- this._orderList.setSelection(selectedColumn, true);
331
+ });
332
+ }
333
+ else {
334
+ this.columns.forEach((column, index) => {
335
+ if (this.compareWords(column, searchingText)) {
336
+ matchedIndexes.push(index);
326
337
  }
327
- else {
328
- this._orderList.removeSelection();
338
+ });
339
+ }
340
+ return matchedIndexes;
341
+ }
342
+ getNewSelectedIndex(matchedIndexes, hitEnter) {
343
+ if (matchedIndexes.length === 0)
344
+ return -1;
345
+ if (hitEnter) {
346
+ for (const index of matchedIndexes) {
347
+ if (index > this._selectedIndex) {
348
+ return index;
329
349
  }
330
350
  }
351
+ }
352
+ return matchedIndexes[0];
353
+ }
354
+ updateOrderListSelection(newSelected) {
355
+ if (newSelected === -1) {
356
+ this._orderList.removeSelection();
357
+ return;
358
+ }
359
+ this._orderList.getList().then((orderListDatasource) => {
360
+ const selectedColumn = orderListDatasource[newSelected];
361
+ if (selectedColumn) {
362
+ this._orderList.setSelection(selectedColumn, true);
363
+ }
331
364
  else {
332
365
  this._orderList.removeSelection();
333
366
  }
367
+ });
368
+ }
369
+ updateColumnListSelection(newSelected) {
370
+ if (newSelected === -1) {
371
+ this._columnList.removeSelection();
372
+ return;
334
373
  }
335
- else {
336
- if (searchingText) {
337
- const matchedIndexes = [];
338
- this.columns.forEach((column, index) => {
339
- if (this.compareWords(column, searchingText)) {
340
- matchedIndexes.push(index);
341
- }
342
- });
343
- if (matchedIndexes.length > 0) {
344
- if (hitEnter) {
345
- for (let j = 0; j < matchedIndexes.length; j++) {
346
- if (matchedIndexes[j] > this._selectedIndex) {
347
- newSelected = matchedIndexes[j];
348
- break;
349
- }
350
- }
351
- }
352
- if (newSelected === -1) {
353
- newSelected = matchedIndexes[0];
354
- }
355
- }
356
- this._selectedIndex = newSelected;
357
- let selectedColumn = this.columns[newSelected];
358
- if (selectedColumn) {
359
- const listItem = this._columListItems.map(group => group.items).flat().find(item => item.label === selectedColumn.label);
360
- if (listItem)
361
- this._columnList.setSelection(listItem, true);
362
- }
363
- else {
364
- this._columnList.removeSelection();
365
- }
374
+ const selectedColumn = this.columns[newSelected];
375
+ if (selectedColumn) {
376
+ const listItem = this._columListItems
377
+ .map(group => group.items)
378
+ .flat()
379
+ .find(item => item.label === selectedColumn.label);
380
+ if (listItem) {
381
+ this._columnList.setSelection(listItem, true);
366
382
  }
367
383
  else {
368
384
  this._columnList.removeSelection();
369
385
  }
370
386
  }
387
+ else {
388
+ this._columnList.removeSelection();
389
+ }
390
+ }
391
+ removeSelection() {
392
+ if (this.selectedIndex === 1) {
393
+ this._orderList.removeSelection();
394
+ }
395
+ else {
396
+ this._columnList.removeSelection();
397
+ }
371
398
  }
372
399
  compareWords(column, searchingText) {
373
400
  var _a, _b;
@@ -473,7 +500,6 @@ const SnkGridConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
473
500
  static get style() { return snkGridConfigCss; }
474
501
  }, [2, "snk-grid-config", {
475
502
  "selectedIndex": [1026, "selected-index"],
476
- "application": [16],
477
503
  "columns": [1040],
478
504
  "config": [1040],
479
505
  "configName": [1, "config-name"],
@@ -1,13 +1,18 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Fragment } from '@stencil/core/internal/client';
2
2
  import { ElementIDUtils, ApplicationContext, StringUtils, DataType } from '@sankhyalabs/core';
3
- import { SortMode, UserInterface } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
3
+ import { UserInterface } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
4
4
  import { d as defineCustomElement$2, T as TaskbarElement } from './snk-taskbar2.js';
5
5
  import { C as ConfigStorage } from './ConfigStorage.js';
6
6
  import { P as PresentationMode } from './index2.js';
7
- import { T as TaskbarProcessor, S as SnkMultiSelectionListDataSource, o as openFieldSearch, b as buildFieldSearch } from './field-search.js';
7
+ import { T as TaskbarProcessor, S as SnkMultiSelectionListDataSource, o as openFieldSearch, C as CrudUtils, b as buildFieldSearch } from './field-search.js';
8
8
  import { s as store } from './index3.js';
9
9
  import { SelectionMode } from '@sankhyalabs/core/dist/dataunit/DataUnit';
10
+ import './DataFetcher.js';
11
+ import './dataunit-fetcher.js';
10
12
  import { d as defineCustomElement$i } from './snk-actions-button2.js';
13
+ import '@sankhyalabs/ezui/dist/collection/utils/constants';
14
+ import './filter-item-type.enum.js';
15
+ import './form-config-fetcher.js';
11
16
  import { d as defineCustomElement$h } from './snk-data-exporter2.js';
12
17
  import { d as defineCustomElement$g } from './snk-exporter-email-sender2.js';
13
18
  import { d as defineCustomElement$f } from './snk-expression-group2.js';
@@ -133,19 +138,7 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
133
138
  }
134
139
  setGridConfig(config) {
135
140
  this._gridConfig = config;
136
- this.assertDefaultSorting();
137
- }
138
- assertDefaultSorting() {
139
- if (this._gridConfig && this._dataUnit) {
140
- this._dataUnit.defaultSorting = this._gridConfig
141
- .columns
142
- .filter(col => col.ascending != undefined)
143
- .sort((colA, colB) => colA.orderIndex - colB.orderIndex)
144
- .map(({ name: field, ascending }) => {
145
- const { dataType } = this._dataUnit.getField(field);
146
- return { field, dataType, mode: ascending ? SortMode.ASC : SortMode.DESC };
147
- });
148
- }
141
+ CrudUtils.assertDefaultSorting(this._gridConfig, this._dataUnit);
149
142
  }
150
143
  loadConfig() {
151
144
  ConfigStorage.loadGridConfig(this.configName, this.resourceID)
@@ -271,7 +264,7 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
271
264
  ElementIDUtils.addIDInfo(this._element, null, dataInfo);
272
265
  }
273
266
  finshLoading() {
274
- this.assertDefaultSorting();
267
+ CrudUtils.assertDefaultSorting(this._gridConfig, this._dataUnit);
275
268
  this.addElementID();
276
269
  if (this.columnFilterDataSource != undefined) {
277
270
  this.columnFilterDataSource.setApplication(this._application);
@@ -423,7 +416,7 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
423
416
  return undefined;
424
417
  }
425
418
  return (h("div", { class: "snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large" }, h("div", { class: "snk-grid__header ez-margin-bottom--medium" }, this._showSnkFilterBar &&
426
- h(Fragment, null, h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, title: this.filterBarTitle, dataUnit: this._dataUnit, "data-element-id": "gridFilter", class: "snk-grid__filter-bar ez-align--top", configName: this.configName, messagesBuilder: this.messagesBuilder, resourceID: this.resourceID, onConfigUpdated: evt => this.handleFilterConfigUpdated(evt.detail), disablePersonalizedFilter: this.disablePersonalizedFilter }), h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" })), h("snk-taskbar", { class: "ez-padding-left--medium", "data-element-id": "grid_top", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.topTaskbarCustomSlotId, overflowStrategy: 'none' }, h("slot", { name: this.topTaskbarCustomSlotId }))), h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === PresentationMode.SECONDARY ? "snk-grid-container__without-shadow " : "") + "snk-grid__table", "data-element-id": "embedded", dataUnit: this._dataUnit, key: "grid-" + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => { this.gridConfigChangeHandler(evt); }, onEzDoubleClick: (evt) => this.gridDoubleClick.emit(evt.detail), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, columnfilterDataSource: this.columnFilterDataSource, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, recordsValidator: this.recordsValidator, canEdit: this.canEdit }, h("snk-taskbar", { id: 'teste', dataUnit: this._dataUnit, configName: this.configName, messagesBuilder: this.messagesBuilder, "data-element-id": "grid_left", buttons: this._headerTaskbarProcessor.buttons, presentationMode: this.presentationMode, disabledButtons: this._headerTaskbarProcessor.disabledButtons, customButtons: this._headerTaskbarProcessor.customButtons, slot: "leftButtons", actionsList: this.getActionsList(), primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.gridHeaderCustomSlotId }, h("slot", { name: this.gridHeaderCustomSlotId }))), h("div", { class: "ez-col ez-col--sd-12" }, h("slot", { name: "SnkGridFooter" })), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._popUpGridConfig, onEzCloseModal: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), application: this._application, selectedIndex: 0, configName: this.configName, onConfigChange: (evt) => this.modalConfigChangeHandler(evt), onConfigCancel: () => this.closeGridConfig(), resourceID: this.resourceID }))));
419
+ h(Fragment, null, h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, title: this.filterBarTitle, dataUnit: this._dataUnit, "data-element-id": "gridFilter", class: "snk-grid__filter-bar ez-align--top", configName: this.configName, messagesBuilder: this.messagesBuilder, resourceID: this.resourceID, onConfigUpdated: evt => this.handleFilterConfigUpdated(evt.detail), disablePersonalizedFilter: this.disablePersonalizedFilter }), h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" })), h("snk-taskbar", { class: "ez-padding-left--medium", "data-element-id": "grid_top", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.topTaskbarCustomSlotId, overflowStrategy: 'none' }, h("slot", { name: this.topTaskbarCustomSlotId }))), h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === PresentationMode.SECONDARY ? "snk-grid-container__without-shadow " : "") + "snk-grid__table", "data-element-id": "embedded", dataUnit: this._dataUnit, key: "grid-" + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => { this.gridConfigChangeHandler(evt); }, onEzDoubleClick: (evt) => this.gridDoubleClick.emit(evt.detail), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, columnfilterDataSource: this.columnFilterDataSource, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, recordsValidator: this.recordsValidator, canEdit: this.canEdit }, h("snk-taskbar", { id: 'teste', dataUnit: this._dataUnit, configName: this.configName, messagesBuilder: this.messagesBuilder, "data-element-id": "grid_left", buttons: this._headerTaskbarProcessor.buttons, presentationMode: this.presentationMode, disabledButtons: this._headerTaskbarProcessor.disabledButtons, customButtons: this._headerTaskbarProcessor.customButtons, slot: "leftButtons", actionsList: this.getActionsList(), primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.gridHeaderCustomSlotId }, h("slot", { name: this.gridHeaderCustomSlotId }))), h("div", { class: "ez-col ez-col--sd-12" }, h("slot", { name: "SnkGridFooter" })), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._popUpGridConfig, onEzCloseModal: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), selectedIndex: 0, configName: this.configName, onConfigChange: (evt) => this.modalConfigChangeHandler(evt), onConfigCancel: () => this.closeGridConfig(), resourceID: this.resourceID }))));
427
420
  }
428
421
  get _element() { return this; }
429
422
  static get style() { return snkGridCss; }
@@ -64,8 +64,10 @@ const SnkFilterPersonalized = /*@__PURE__*/ proxyCustomElement(class extends HTM
64
64
  return this.presentationMode === EPresentationMode.MODAL;
65
65
  }
66
66
  doSearch(mode, argument, param) {
67
+ const context = Object.assign({}, param.searchContext);
68
+ context.searchOptions = Object.assign(Object.assign({}, context.searchOptions), { showInactives: "true" });
67
69
  return new Promise((resolve, reject) => {
68
- this._application.executePreparedSearch(mode, argument, param.searchContext)
70
+ this._application.executePreparedSearch(mode, argument, context)
69
71
  .then(result => {
70
72
  resolve(result);
71
73
  }).catch(reason => {