@sankhyalabs/sankhyablocks 8.16.0-dev.3 → 8.16.0-dev.31

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 (210) hide show
  1. package/dist/cjs/{ConfigStorage-942ce74b.js → ConfigStorage-ecc0ed20.js} +3 -2
  2. package/dist/cjs/{IExporterProvider-597949f9.js → ContinuousInsertUtils-807730a8.js} +39 -6
  3. package/dist/cjs/{DataFetcher-313debd8.js → DataFetcher-cadeef8e.js} +21 -15
  4. package/dist/cjs/{RecordIDUtils-3735135c.js → GetSelectedRecordsIDsInfo-bd50caf1.js} +10 -10
  5. package/dist/cjs/{SnkFormConfigManager-1b13bacd.js → SnkFormConfigManager-f1c92f79.js} +74 -20
  6. package/dist/cjs/{SnkMessageBuilder-722b104e.js → SnkMessageBuilder-bae64d0d.js} +7 -3
  7. package/dist/cjs/{auth-fetcher-54f5ff9d.js → auth-fetcher-d68841bc.js} +1 -1
  8. package/dist/cjs/{dataunit-fetcher-688d3f05.js → dataunit-fetcher-f89461c1.js} +46 -18
  9. package/dist/cjs/{field-search-f56aa7d6.js → field-search-68e34bf4.js} +5 -1
  10. package/dist/cjs/{form-config-fetcher-2dd00e5b.js → form-config-fetcher-ed497282.js} +5 -2
  11. package/dist/cjs/loader.cjs.js +1 -1
  12. package/dist/cjs/{pesquisa-fetcher-680e198f.js → pesquisa-fetcher-ca89181c.js} +1 -1
  13. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  14. package/dist/cjs/snk-actions-button_4.cjs.entry.js +17 -14
  15. package/dist/cjs/snk-application.cjs.entry.js +7 -7
  16. package/dist/cjs/snk-attach.cjs.entry.js +37 -28
  17. package/dist/cjs/snk-crud.cjs.entry.js +14 -6
  18. package/dist/cjs/snk-data-exporter.cjs.entry.js +19 -18
  19. package/dist/cjs/{snk-data-unit-685272e7.js → snk-data-unit-668dc5e8.js} +42 -22
  20. package/dist/cjs/snk-data-unit.cjs.entry.js +5 -5
  21. package/dist/cjs/snk-detail-view.cjs.entry.js +12 -13
  22. package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +1 -1
  23. package/dist/cjs/snk-filter-bar.cjs.entry.js +37 -25
  24. package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +1 -1
  25. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
  26. package/dist/cjs/snk-form-config.cjs.entry.js +17 -6
  27. package/dist/cjs/snk-form.cjs.entry.js +7 -6
  28. package/dist/cjs/snk-grid.cjs.entry.js +61 -21
  29. package/dist/cjs/{snk-guides-viewer-67605336.js → snk-guides-viewer-68777d37.js} +24 -12
  30. package/dist/cjs/snk-guides-viewer.cjs.entry.js +9 -9
  31. package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
  32. package/dist/cjs/snk-simple-bar.cjs.entry.js +1 -1
  33. package/dist/cjs/snk-simple-crud.cjs.entry.js +64 -26
  34. package/dist/cjs/snk-taskbar.cjs.entry.js +23 -1
  35. package/dist/collection/components/snk-actions-button/actions/index.js +12 -9
  36. package/dist/collection/components/snk-attach/snk-attach.js +24 -15
  37. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +2 -4
  38. package/dist/collection/components/snk-crud/snk-crud.js +78 -1
  39. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +3 -4
  40. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +51 -6
  41. package/dist/collection/components/snk-data-exporter/exporter-email-sender/options-step.js +1 -1
  42. package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +4 -4
  43. package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +5 -5
  44. package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +1 -1
  45. package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +1 -1
  46. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +2 -2
  47. package/dist/collection/components/snk-data-exporter/structure/ItemBuilder.js +2 -2
  48. package/dist/collection/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.js +4 -4
  49. package/dist/collection/components/snk-data-unit/snk-data-unit.js +57 -20
  50. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.js +1 -1
  51. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +1 -1
  52. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +59 -21
  53. package/dist/collection/components/snk-form/snk-form.js +2 -2
  54. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +72 -18
  55. package/dist/collection/components/snk-form-config/snk-form-config.css +8 -3
  56. package/dist/collection/components/snk-form-config/snk-form-config.js +14 -3
  57. package/dist/collection/components/snk-grid/snk-grid.css +2 -0
  58. package/dist/collection/components/snk-grid/snk-grid.js +68 -8
  59. package/dist/collection/components/snk-simple-bar/snk-simple-bar.js +1 -1
  60. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +0 -1
  61. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +89 -15
  62. package/dist/collection/components/snk-taskbar/processor/taskbar-processor.js +5 -1
  63. package/dist/collection/components/snk-taskbar/snk-taskbar.js +64 -0
  64. package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +3 -3
  65. package/dist/collection/lib/configs/ConfigStorage.js +1 -0
  66. package/dist/collection/lib/dataUnit/InMemoryLoader.js +2 -4
  67. package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +34 -9
  68. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +22 -16
  69. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.js +7 -5
  70. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +9 -2
  71. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +4 -1
  72. package/dist/collection/lib/message/resources/snk-data-unit.msg.js +1 -1
  73. package/dist/collection/lib/message/resources/snk-exporter.msg.js +1 -1
  74. package/dist/collection/lib/message/resources/snk-grid.msg.js +5 -1
  75. package/dist/collection/lib/utils/ContinuousInsertUtils.js +31 -0
  76. package/dist/collection/{components/snk-data-exporter/utils/RecordIDUtils.js → lib/utils/GetSelectedRecordsIDsInfo.js} +9 -9
  77. package/dist/components/ConfigStorage.js +1 -0
  78. package/dist/components/{IExporterProvider.js → ContinuousInsertUtils.js} +40 -5
  79. package/dist/components/DataFetcher.js +22 -16
  80. package/dist/{esm/RecordIDUtils-87d02110.js → components/GetSelectedRecordsIDsInfo.js} +10 -10
  81. package/dist/components/SnkFormConfigManager.js +72 -18
  82. package/dist/components/SnkMessageBuilder.js +7 -3
  83. package/dist/components/dataunit-fetcher.js +45 -15
  84. package/dist/components/form-config-fetcher.js +4 -1
  85. package/dist/components/snk-actions-button2.js +12 -9
  86. package/dist/components/snk-attach2.js +33 -24
  87. package/dist/components/snk-crud.js +12 -1
  88. package/dist/components/snk-data-exporter2.js +12 -11
  89. package/dist/components/snk-data-unit2.js +44 -60
  90. package/dist/components/snk-detail-view2.js +24 -11
  91. package/dist/components/snk-exporter-email-sender2.js +1 -1
  92. package/dist/components/snk-filter-bar2.js +35 -22
  93. package/dist/components/snk-filter-checkbox-list.js +1 -1
  94. package/dist/components/snk-form-config2.js +15 -4
  95. package/dist/components/snk-form.js +2 -2
  96. package/dist/components/snk-grid2.js +53 -11
  97. package/dist/components/snk-simple-bar2.js +1 -1
  98. package/dist/components/snk-simple-crud2.js +57 -15
  99. package/dist/components/snk-taskbar2.js +24 -2
  100. package/dist/esm/{ConfigStorage-86187da3.js → ConfigStorage-7b36d041.js} +3 -2
  101. package/dist/esm/{IExporterProvider-63a188b6.js → ContinuousInsertUtils-1a82a768.js} +40 -8
  102. package/dist/esm/{DataFetcher-c1baf61d.js → DataFetcher-a9c598f2.js} +22 -16
  103. package/dist/esm/GetSelectedRecordsIDsInfo-9fa41508.js +41 -0
  104. package/dist/esm/{SnkFormConfigManager-d4554df9.js → SnkFormConfigManager-139f09fa.js} +74 -20
  105. package/dist/esm/{SnkMessageBuilder-89925609.js → SnkMessageBuilder-6fff4a4c.js} +7 -3
  106. package/dist/esm/{auth-fetcher-039abba3.js → auth-fetcher-749d880f.js} +1 -1
  107. package/dist/esm/{dataunit-fetcher-264191b2.js → dataunit-fetcher-c24c76c6.js} +46 -16
  108. package/dist/esm/{field-search-efbe307f.js → field-search-f8b1d91e.js} +5 -1
  109. package/dist/esm/{form-config-fetcher-30fb808f.js → form-config-fetcher-adbe5d34.js} +5 -2
  110. package/dist/esm/loader.js +1 -1
  111. package/dist/esm/{pesquisa-fetcher-03c8f919.js → pesquisa-fetcher-8edaa8cd.js} +1 -1
  112. package/dist/esm/sankhyablocks.js +1 -1
  113. package/dist/esm/snk-actions-button_4.entry.js +17 -14
  114. package/dist/esm/snk-application.entry.js +7 -7
  115. package/dist/esm/snk-attach.entry.js +37 -28
  116. package/dist/esm/snk-crud.entry.js +14 -6
  117. package/dist/esm/snk-data-exporter.entry.js +19 -18
  118. package/dist/esm/{snk-data-unit-63f83504.js → snk-data-unit-0fdfb6c2.js} +42 -22
  119. package/dist/esm/snk-data-unit.entry.js +5 -5
  120. package/dist/esm/snk-detail-view.entry.js +12 -13
  121. package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
  122. package/dist/esm/snk-filter-bar.entry.js +37 -25
  123. package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
  124. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  125. package/dist/esm/snk-form-config.entry.js +17 -6
  126. package/dist/esm/snk-form.entry.js +7 -6
  127. package/dist/esm/snk-grid.entry.js +56 -16
  128. package/dist/esm/{snk-guides-viewer-151f6091.js → snk-guides-viewer-b5dd30e6.js} +24 -12
  129. package/dist/esm/snk-guides-viewer.entry.js +9 -9
  130. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  131. package/dist/esm/snk-simple-bar.entry.js +1 -1
  132. package/dist/esm/snk-simple-crud.entry.js +60 -22
  133. package/dist/esm/snk-taskbar.entry.js +23 -1
  134. package/dist/sankhyablocks/p-0035ad6e.entry.js +1 -0
  135. package/dist/sankhyablocks/{p-df5451c7.js → p-06421fdb.js} +2 -2
  136. package/dist/sankhyablocks/p-16a1dd18.entry.js +1 -0
  137. package/dist/sankhyablocks/p-17425c72.js +1 -0
  138. package/dist/sankhyablocks/p-18ed15f4.entry.js +1 -0
  139. package/dist/sankhyablocks/{p-af8efd95.js → p-1bf06cd3.js} +2 -2
  140. package/dist/sankhyablocks/{p-a1d72395.entry.js → p-212213d9.entry.js} +1 -1
  141. package/dist/sankhyablocks/p-23736d75.js +1 -0
  142. package/dist/sankhyablocks/p-3ae9d08a.js +1 -0
  143. package/dist/sankhyablocks/p-3e3cc017.js +1 -0
  144. package/dist/sankhyablocks/p-430e4d3c.entry.js +1 -0
  145. package/dist/sankhyablocks/{p-aff76a53.js → p-4d9549cf.js} +2 -2
  146. package/dist/sankhyablocks/p-50779ad3.entry.js +1 -0
  147. package/dist/sankhyablocks/p-5dd8cf4f.js +1 -0
  148. package/dist/sankhyablocks/{p-aaa3ee68.entry.js → p-5f157b09.entry.js} +1 -1
  149. package/dist/sankhyablocks/p-60b29483.entry.js +1 -0
  150. package/dist/sankhyablocks/p-694e1c4a.entry.js +1 -0
  151. package/dist/sankhyablocks/p-7ac7932c.js +60 -0
  152. package/dist/sankhyablocks/p-7dd49d15.js +1 -0
  153. package/dist/sankhyablocks/p-7eef0898.entry.js +1 -0
  154. package/dist/sankhyablocks/{p-82a0bfb0.entry.js → p-a42e7a1e.entry.js} +2 -2
  155. package/dist/sankhyablocks/p-afbb070d.js +1 -0
  156. package/dist/sankhyablocks/p-b9679243.entry.js +1 -0
  157. package/dist/sankhyablocks/p-b9c67e45.entry.js +1 -0
  158. package/dist/sankhyablocks/p-c2e468c9.entry.js +1 -0
  159. package/dist/sankhyablocks/{p-913a9979.js → p-ca5ec380.js} +1 -1
  160. package/dist/sankhyablocks/p-d80a84fd.entry.js +1 -0
  161. package/dist/sankhyablocks/p-d836f72b.entry.js +1 -0
  162. package/dist/sankhyablocks/p-e16e87fc.entry.js +1 -0
  163. package/dist/sankhyablocks/p-eb9f0407.entry.js +1 -0
  164. package/dist/sankhyablocks/p-f3434fc4.js +1 -0
  165. package/dist/sankhyablocks/{p-eae7a817.entry.js → p-fb34e0cf.entry.js} +1 -1
  166. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  167. package/dist/types/components/snk-actions-button/actions/index.d.ts +1 -0
  168. package/dist/types/components/snk-attach/snk-attach.d.ts +1 -0
  169. package/dist/types/components/snk-crud/snk-crud.d.ts +13 -0
  170. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +11 -0
  171. package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +3 -3
  172. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +7 -0
  173. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +5 -0
  174. package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +9 -4
  175. package/dist/types/components/snk-grid/snk-grid.d.ts +12 -0
  176. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +14 -0
  177. package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +1 -0
  178. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +11 -0
  179. package/dist/types/components.d.ts +89 -0
  180. package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +12 -2
  181. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.d.ts +3 -2
  182. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +1 -1
  183. package/dist/types/lib/utils/ContinuousInsertUtils.d.ts +10 -0
  184. package/dist/types/lib/utils/GetSelectedRecordsIDsInfo.d.ts +3 -0
  185. package/package.json +2 -2
  186. package/dist/sankhyablocks/p-14a08904.entry.js +0 -1
  187. package/dist/sankhyablocks/p-14b9f964.entry.js +0 -1
  188. package/dist/sankhyablocks/p-219f888d.entry.js +0 -1
  189. package/dist/sankhyablocks/p-3a212712.js +0 -1
  190. package/dist/sankhyablocks/p-3a216b81.entry.js +0 -1
  191. package/dist/sankhyablocks/p-47b60deb.entry.js +0 -1
  192. package/dist/sankhyablocks/p-7505da04.entry.js +0 -1
  193. package/dist/sankhyablocks/p-75f83d1d.entry.js +0 -1
  194. package/dist/sankhyablocks/p-7a337364.js +0 -1
  195. package/dist/sankhyablocks/p-829d4045.js +0 -1
  196. package/dist/sankhyablocks/p-88aa931b.entry.js +0 -1
  197. package/dist/sankhyablocks/p-8fc470e5.entry.js +0 -1
  198. package/dist/sankhyablocks/p-941bf3ef.entry.js +0 -1
  199. package/dist/sankhyablocks/p-9863d682.js +0 -1
  200. package/dist/sankhyablocks/p-b4b21558.entry.js +0 -1
  201. package/dist/sankhyablocks/p-bad55caa.entry.js +0 -1
  202. package/dist/sankhyablocks/p-c053256c.entry.js +0 -1
  203. package/dist/sankhyablocks/p-c2495304.js +0 -1
  204. package/dist/sankhyablocks/p-c5268346.entry.js +0 -1
  205. package/dist/sankhyablocks/p-cefba299.js +0 -1
  206. package/dist/sankhyablocks/p-dc7c9047.js +0 -1
  207. package/dist/sankhyablocks/p-f2809746.entry.js +0 -1
  208. package/dist/sankhyablocks/p-fcac4dfc.js +0 -1
  209. package/dist/sankhyablocks/p-fe79f83a.js +0 -60
  210. package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +0 -3
@@ -5,17 +5,17 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-f9e81701.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
  const taskbarElements = require('./taskbar-elements-9ad1f9c0.js');
8
- require('./DataFetcher-313debd8.js');
9
- require('./pesquisa-fetcher-680e198f.js');
8
+ require('./DataFetcher-cadeef8e.js');
9
+ require('./pesquisa-fetcher-ca89181c.js');
10
10
  const index$1 = require('./index-1dfc7a6e.js');
11
11
  require('./ISave-e91b70a7.js');
12
12
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
13
13
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
14
- require('./dataunit-fetcher-688d3f05.js');
14
+ require('./dataunit-fetcher-f89461c1.js');
15
15
  require('./filter-item-type.enum-a7ffdaa6.js');
16
- require('./form-config-fetcher-2dd00e5b.js');
16
+ require('./form-config-fetcher-ed497282.js');
17
17
  const constants = require('./constants-35ddd366.js');
18
- const authFetcher = require('./auth-fetcher-54f5ff9d.js');
18
+ const authFetcher = require('./auth-fetcher-d68841bc.js');
19
19
  require('./index-102ba62d.js');
20
20
  require('./PrintUtils-bcaeb82f.js');
21
21
  require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
@@ -31,6 +31,7 @@ const SnkCrud = class {
31
31
  this.configuratorSave = index.createEvent(this, "configuratorSave", 7);
32
32
  this.configuratorCancel = index.createEvent(this, "configuratorCancel", 7);
33
33
  this.formItemsReady = index.createEvent(this, "formItemsReady", 7);
34
+ this.viewModeChanged = index.createEvent(this, "viewModeChanged", 7);
34
35
  this._keyDownHandler = async (event) => this.keyDownListener(event);
35
36
  this._viewHistory = [];
36
37
  this._customEditors = new Map();
@@ -59,6 +60,9 @@ const SnkCrud = class {
59
60
  this.disablePersonalizedFilter = undefined;
60
61
  this.autoLoad = undefined;
61
62
  this.autoFocus = true;
63
+ this.enableGridInsert = false;
64
+ this.domainMessagesBuilder = undefined;
65
+ this.setCustomFormTitle = undefined;
62
66
  this.customContainerId = `SNK-CRUD-CUSTOM-CONTAINER-${core.StringUtils.generateUUID()}`;
63
67
  }
64
68
  /**
@@ -167,6 +171,7 @@ const SnkCrud = class {
167
171
  else if (viewMode === constants.VIEW_MODE.FORM) {
168
172
  this._guidesViewer.setFocus();
169
173
  }
174
+ this.viewModeChanged.emit(viewMode);
170
175
  }
171
176
  openConfig(viewMode) {
172
177
  this._snkConfigurator.close();
@@ -182,6 +187,8 @@ const SnkCrud = class {
182
187
  core.ElementIDUtils.addIDInfo(this._element, null, dataInfo);
183
188
  }
184
189
  insertionModeHandler() {
190
+ if (this.enableGridInsert)
191
+ return;
185
192
  this.gridToForm();
186
193
  }
187
194
  cancelHandler() {
@@ -230,6 +237,7 @@ const SnkCrud = class {
230
237
  this._snkDataUnit = parent;
231
238
  this._snkDataUnit.addEventListener("insertionMode", () => this.insertionModeHandler());
232
239
  this._snkDataUnit.addEventListener("cancelEdition", () => this.cancelHandler());
240
+ this._snkDataUnit.domainMessagesBuilder = this.domainMessagesBuilder;
233
241
  this._dataUnit = this._snkDataUnit.dataUnit;
234
242
  this._dataState = this._snkDataUnit.dataState;
235
243
  if (!this._dataUnit) {
@@ -395,7 +403,7 @@ const SnkCrud = class {
395
403
  return;
396
404
  }
397
405
  this._snkDataUnit.ignoreSaveMessage = this._currentViewMode === constants.VIEW_MODE.GRID;
398
- return (index.h(index.Host, null, index.h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": "crud" }, index.h("stack-item", null, index.h("snk-grid", { ref: (ref) => this._snkGrid = ref, filterBarTitle: this.filterBarTitle, "data-element-id": "crud_grid", configName: this.configName, onGridDoubleClick: () => this.gridToForm(true), taskbarManager: this.taskbarManager, onActionClick: evt => this.executeAction(evt.detail), messagesBuilder: this.messagesBuilder, actionsList: this.actionsList, statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, presentationMode: this.presentationMode, recordsValidator: this.recordsValidator, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, canEdit: this._canEdit, resourceID: this._resourceID, disablePersonalizedFilter: this.disablePersonalizedFilter, gridLegacyConfigName: this.gridLegacyConfigName, filterBarLegacyConfigName: this.filterBarLegacyConfigName, autoLoad: this.autoLoad, autoFocus: this.autoFocus }, index.h("slot", { name: "GRID_TASKBAR_CUSTOM_ELEMENTS" }), index.h("slot", { name: "GRID_HEADER_CUSTOM_ELEMENTS" }), index.h("slot", { name: "SnkGridHeader" }), index.h("slot", { name: "SnkGridFooter" }), index.h("slot", { name: "SnkGridTaskBar" }))), index.h("stack-item", null, index.h("snk-guides-viewer", { ref: ref => this._guidesViewer = ref, entityPath: this._snkDataUnit.entityName, messagesBuilder: this.messagesBuilder, onExit: () => this.setViewMode(constants.VIEW_MODE.GRID), dataState: this._dataState, dataUnit: this._dataUnit, actionsList: this.actionsList, taskbarManager: this.taskbarManager, configName: this.configName, onActionClick: evt => this.executeAction(evt.detail), presentationMode: this.presentationMode, "data-element-id": "crud_form", canEdit: this._canEdit, recordsValidator: this.recordsValidator, resourceID: this._resourceID, detailTaskbarCustomContainerId: this.customContainerId, formLegacyConfigName: this.formLegacyConfigName }, index.h("slot", { name: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" }), index.h("slot", { name: "SnkFormTaskBar" }))), index.h("stack-item", null, index.h("snk-attach", { registerKey: this.attachmentRegisterKey, messagesBuilder: this.messagesBuilder, entityName: this._snkDataUnit.entityName, onBack: this.backView.bind(this) })), index.h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this._currentViewMode, messagesBuilder: this.messagesBuilder, onConfigSelected: (evt) => this.setViewMode(evt.detail), onOpenConfig: (evt) => this.openConfig(evt.detail), showActionButtons: this.showActionButtons, onSave: evt => this.handleConfiguratorEvent(evt, 'SAVE'), onCancel: evt => this.handleConfiguratorEvent(evt, 'CANCEL'), resourceID: this._resourceID, customContainerId: this.customContainerId })), index.h("div", { id: `${this.customContainerId}` }, index.h("slot", { name: "SnkConfigContainerSlot" }), index.h("slot", { name: "DETAIL_GRID_HEADER_CUSTOM_ELEMENTS" }), index.h("slot", { name: "DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS" }), index.h("slot", { name: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" }))));
406
+ return (index.h(index.Host, null, index.h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": "crud" }, index.h("stack-item", null, index.h("snk-grid", { ref: (ref) => this._snkGrid = ref, filterBarTitle: this.filterBarTitle, "data-element-id": "crud_grid", configName: this.configName, onGridDoubleClick: () => this.gridToForm(true), taskbarManager: this.taskbarManager, onActionClick: evt => this.executeAction(evt.detail), messagesBuilder: this.messagesBuilder, actionsList: this.actionsList, statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, presentationMode: this.presentationMode, recordsValidator: this.recordsValidator, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, canEdit: this._canEdit, resourceID: this._resourceID, disablePersonalizedFilter: this.disablePersonalizedFilter, gridLegacyConfigName: this.gridLegacyConfigName, filterBarLegacyConfigName: this.filterBarLegacyConfigName, autoLoad: this.autoLoad, autoFocus: this.autoFocus, enableGridInsert: this.enableGridInsert }, index.h("slot", { name: "GRID_TASKBAR_CUSTOM_ELEMENTS" }), index.h("slot", { name: "GRID_HEADER_CUSTOM_ELEMENTS" }), index.h("slot", { name: "SnkGridHeader" }), index.h("slot", { name: "SnkGridFooter" }), index.h("slot", { name: "SnkGridTaskBar" }))), index.h("stack-item", null, index.h("snk-guides-viewer", { ref: ref => this._guidesViewer = ref, entityPath: this._snkDataUnit.entityName, messagesBuilder: this.messagesBuilder, onExit: () => this.setViewMode(constants.VIEW_MODE.GRID), dataState: this._dataState, dataUnit: this._dataUnit, actionsList: this.actionsList, taskbarManager: this.taskbarManager, configName: this.configName, onActionClick: evt => this.executeAction(evt.detail), presentationMode: this.presentationMode, "data-element-id": "crud_form", canEdit: this._canEdit, recordsValidator: this.recordsValidator, resourceID: this._resourceID, detailTaskbarCustomContainerId: this.customContainerId, formLegacyConfigName: this.formLegacyConfigName, enableGridInsert: this.enableGridInsert, getCustomTitle: this.setCustomFormTitle }, index.h("slot", { name: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" }), index.h("slot", { name: "SnkFormTaskBar" }))), index.h("stack-item", null, index.h("snk-attach", { registerKey: this.attachmentRegisterKey, messagesBuilder: this.messagesBuilder, entityName: this._snkDataUnit.entityName, onBack: this.backView.bind(this) })), index.h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this._currentViewMode, messagesBuilder: this.messagesBuilder, onConfigSelected: (evt) => this.setViewMode(evt.detail), onOpenConfig: (evt) => this.openConfig(evt.detail), showActionButtons: this.showActionButtons, onSave: evt => this.handleConfiguratorEvent(evt, 'SAVE'), onCancel: evt => this.handleConfiguratorEvent(evt, 'CANCEL'), resourceID: this._resourceID, customContainerId: this.customContainerId })), index.h("div", { id: `${this.customContainerId}` }, index.h("slot", { name: "SnkConfigContainerSlot" }), index.h("slot", { name: "DETAIL_GRID_HEADER_CUSTOM_ELEMENTS" }), index.h("slot", { name: "DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS" }), index.h("slot", { name: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" }))));
399
407
  }
400
408
  get _element() { return index.getElement(this); }
401
409
  static get watchers() { return {
@@ -7,19 +7,19 @@ const core = require('@sankhyalabs/core');
7
7
  const utils = require('@sankhyalabs/ezui/dist/collection/utils');
8
8
  const index = require('./index-1dfc7a6e.js');
9
9
  const constants = require('./constants-35ddd366.js');
10
- const DataFetcher = require('./DataFetcher-313debd8.js');
11
- const snkDataUnit = require('./snk-data-unit-685272e7.js');
12
- require('./pesquisa-fetcher-680e198f.js');
10
+ const DataFetcher = require('./DataFetcher-cadeef8e.js');
11
+ const snkDataUnit = require('./snk-data-unit-668dc5e8.js');
12
+ require('./pesquisa-fetcher-ca89181c.js');
13
13
  require('./ISave-e91b70a7.js');
14
14
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
15
15
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
16
- require('./dataunit-fetcher-688d3f05.js');
16
+ require('./dataunit-fetcher-f89461c1.js');
17
17
  require('./filter-item-type.enum-a7ffdaa6.js');
18
- require('./form-config-fetcher-2dd00e5b.js');
18
+ require('./form-config-fetcher-ed497282.js');
19
19
  require('./PrintUtils-bcaeb82f.js');
20
- require('./SnkMessageBuilder-722b104e.js');
21
- require('./RecordIDUtils-3735135c.js');
20
+ require('./SnkMessageBuilder-bae64d0d.js');
22
21
  require('@sankhyalabs/core/dist/dataunit/metadata/DataType');
22
+ require('./GetSelectedRecordsIDsInfo-bd50caf1.js');
23
23
  require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
24
24
  require('@sankhyalabs/core/dist/utils/SortingUtils');
25
25
  require('./ResourceIDUtils-5ff86aa7.js');
@@ -135,7 +135,7 @@ class ItemBuilder {
135
135
  getExportToXLS(groupName) {
136
136
  return {
137
137
  id: index.DataExporterOption.EXPORT_TO_XLS,
138
- label: `${this._getMessage("snkDataExporter.label.spreadsheet")} (.xlsx)`,
138
+ label: `${this._getMessage("snkDataExporter.label.spreadsheet")} (.xls)`,
139
139
  group: groupName
140
140
  };
141
141
  }
@@ -178,7 +178,7 @@ class ItemBuilder {
178
178
  getExportPageToXLS() {
179
179
  return {
180
180
  id: index.DataExporterOption.EXPORT_PAGE_TO_XLS,
181
- label: `${this._getMessage("snkDataExporter.label.spreadsheet")} (.xlsx)`
181
+ label: `${this._getMessage("snkDataExporter.label.spreadsheet")} (.xls)`
182
182
  };
183
183
  }
184
184
  /**
@@ -295,11 +295,11 @@ class ServerSideExporterStrategy {
295
295
  return visibleColumns;
296
296
  }
297
297
  async getParams(resolveProps) {
298
- var _a, _b, _c, _d, _e, _f;
298
+ var _a, _b, _c, _d, _e, _f, _g;
299
299
  const filters = (_b = (_a = this._provider).getFilters) === null || _b === void 0 ? void 0 : _b.call(_a);
300
- const columns = [index.DataExporterType.EXPORT_TO_PDF, index.DataExporterType.EXPORT_PAGE_TO_PDF, index.DataExporterType.EXPORT_PDF_TO_EMAIL, index.DataExporterType.EXPORT_ALL_RECORDS_TO_PDF].includes(getOptionKey(resolveProps === null || resolveProps === void 0 ? void 0 : resolveProps.exportOption)) ? await this.getParsedColumns() : await this._provider.getColumnsMetadata();
301
- const sort = (_d = (_c = this._provider).getOrders) === null || _d === void 0 ? void 0 : _d.call(_c);
302
- const resourceURI = (_f = (_e = this._provider).getResourceURI) === null || _f === void 0 ? void 0 : _f.call(_e);
300
+ const columns = ((_c = getOptionKey(resolveProps === null || resolveProps === void 0 ? void 0 : resolveProps.exportOption)) === null || _c === void 0 ? void 0 : _c.includes("PDF")) ? await this.getParsedColumns() : await this._provider.getColumnsMetadata();
301
+ const sort = (_e = (_d = this._provider).getOrders) === null || _e === void 0 ? void 0 : _e.call(_d);
302
+ const resourceURI = (_g = (_f = this._provider).getResourceURI) === null || _g === void 0 ? void 0 : _g.call(_f);
303
303
  const selectedIDs = this._provider.getSelectedIDs();
304
304
  const option = resolveProps.exportOption;
305
305
  const currentPageOptions = [
@@ -354,15 +354,16 @@ class ClientSideExporterStrategy {
354
354
  return visibleColumns;
355
355
  }
356
356
  async executeExport(resolveProps) {
357
- const { methodName, titleGrid } = resolveProps;
357
+ var _a;
358
+ const { methodName, gridTitle } = resolveProps;
358
359
  const records = await this._provider.getRecords();
359
- const columns = [index.DataExporterType.EXPORT_TO_PDF, index.DataExporterType.EXPORT_PAGE_TO_PDF, index.DataExporterType.EXPORT_PDF_TO_EMAIL, index.DataExporterType.EXPORT_ALL_RECORDS_TO_PDF].includes(getOptionKey(resolveProps === null || resolveProps === void 0 ? void 0 : resolveProps.exportOption)) ? await this.getParsedColumns() : await this._provider.getColumnsMetadata();
360
+ const columns = ((_a = getOptionKey(resolveProps === null || resolveProps === void 0 ? void 0 : resolveProps.exportOption)) === null || _a === void 0 ? void 0 : _a.includes("PDF")) ? await this.getParsedColumns() : await this._provider.getColumnsMetadata();
360
361
  const [serviceName, processor] = this.getExecutor(methodName);
361
362
  const payload = {
362
363
  serviceName,
363
364
  requestBody: {
364
365
  grid: {
365
- titleGrid,
366
+ gridTitle,
366
367
  columns: this.buildColumnsObject(columns),
367
368
  rows: this.buildRowsObject(columns, records),
368
369
  customOptions: { xlsxExtension: false }
@@ -472,7 +473,7 @@ const SnkDataExporter = class {
472
473
  resolver: ({ type, format, email: { to, subject, message } }) => {
473
474
  var _a;
474
475
  const methodName = (_a = index.DataExporterFormat[format === null || format === void 0 ? void 0 : format.toUpperCase()]) !== null && _a !== void 0 ? _a : index.DataExporterFormat.PDF;
475
- this.resolveExporter({ type, methodName, to, subject, message, fileName: this._appLabel, titleGrid: this._appLabel }, () => {
476
+ this.resolveExporter({ type, methodName, to, subject, message, fileName: this._appLabel, gridTitle: this._appLabel }, () => {
476
477
  this._snkEmailSender.close();
477
478
  utils.ApplicationUtils.info(this.getMessage("snkDataExporter.message.emailSuccess"), { iconName: "check" });
478
479
  });
@@ -560,7 +561,7 @@ const SnkDataExporter = class {
560
561
  const params = {
561
562
  methodName: index.DataExporterOption[`EXPORT_TO_${fileType}`],
562
563
  fileName: this._appLabel,
563
- titleGrid: this._appLabel,
564
+ gridTitle: this._appLabel,
564
565
  exportOption: option,
565
566
  limit: (_c = (_b = this.provider) === null || _b === void 0 ? void 0 : _b.getExportLimit) === null || _c === void 0 ? void 0 : _c.call(_b),
566
567
  type: this.getExportType(option),
@@ -3,10 +3,10 @@
3
3
  const index = require('./index-f9e81701.js');
4
4
  const core = require('@sankhyalabs/core');
5
5
  const utils = require('@sankhyalabs/ezui/dist/collection/utils');
6
- const SnkMessageBuilder = require('./SnkMessageBuilder-722b104e.js');
7
- const dataunitFetcher = require('./dataunit-fetcher-688d3f05.js');
8
- const RecordIDUtils = require('./RecordIDUtils-3735135c.js');
6
+ const SnkMessageBuilder = require('./SnkMessageBuilder-bae64d0d.js');
7
+ const dataunitFetcher = require('./dataunit-fetcher-f89461c1.js');
9
8
  const DataType = require('@sankhyalabs/core/dist/dataunit/metadata/DataType');
9
+ const GetSelectedRecordsIDsInfo = require('./GetSelectedRecordsIDsInfo-bd50caf1.js');
10
10
 
11
11
  const SnkDataUnit = class {
12
12
  constructor(hostRef) {
@@ -61,6 +61,7 @@ const SnkDataUnit = class {
61
61
  this.ignoreSaveMessage = undefined;
62
62
  this.configName = undefined;
63
63
  this.resourceID = undefined;
64
+ this.domainMessagesBuilder = undefined;
64
65
  }
65
66
  observePageSize() {
66
67
  if (this.dataUnit) {
@@ -116,7 +117,7 @@ const SnkDataUnit = class {
116
117
  * @returns Retorna a lista de IDs dos registros selecionados.
117
118
  */
118
119
  async getSelectedRecordsIDsInfo() {
119
- return Promise.resolve(RecordIDUtils.getSelectedIDs(this.dataUnit));
120
+ return GetSelectedRecordsIDsInfo.getSelectedRecordsIDsInfo(this.dataUnit);
120
121
  }
121
122
  /**
122
123
  * Retorna os campos que possuem a propriedade "rmp" (Row Metadata Provider).
@@ -477,21 +478,15 @@ const SnkDataUnit = class {
477
478
  if (this.ignoreSaveMessage) {
478
479
  return;
479
480
  }
480
- const msg = this.getMessage("snkDataUnit.saveInfo", action.payload.records[0]);
481
+ const saveOperation = action.payload.changes[0]._operation.toLowerCase();
482
+ const msg = this.getMessage("snkDataUnit.saveInfo", action.payload.records[0], saveOperation);
481
483
  if (msg != undefined) {
482
484
  this.showSuccessMessage(msg);
483
485
  }
484
486
  }
485
487
  handleRecordsRemoved(action) {
486
488
  var _a, _b;
487
- const cachedRecords = action.payload.cachedRecords;
488
- let removeFinishMsg;
489
- if ((cachedRecords === null || cachedRecords === void 0 ? void 0 : cachedRecords.length) > 1) {
490
- removeFinishMsg = this.getMessage("snkDataUnit.removeAllInfo", { size: cachedRecords.length });
491
- }
492
- else {
493
- removeFinishMsg = this.getMessage("snkDataUnit.removeInfo", action.payload.cachedRecords[0]);
494
- }
489
+ let removeFinishMsg = this.buildRemoveFinishMessage(action);
495
490
  if (removeFinishMsg != undefined) {
496
491
  this.showSuccessMessage(removeFinishMsg);
497
492
  }
@@ -502,16 +497,27 @@ const SnkDataUnit = class {
502
497
  this.dataUnit.gotoPage(page);
503
498
  }
504
499
  }
500
+ buildRemoveFinishMessage(action) {
501
+ const records = action.payload.records;
502
+ if (!records || !records.length)
503
+ return undefined;
504
+ if ((records === null || records === void 0 ? void 0 : records.length) > 1)
505
+ return this.getMessage('snkDataUnit.removeAllInfo', { size: records.length });
506
+ return this.getMessage('snkDataUnit.removeInfo', records);
507
+ }
505
508
  /**
506
509
  * Conforme mecanismo de mensagens, é possível customizar as mensagens dos blocos de construção
507
510
  * através de um pequeno modulo na estrutura da aplicação:
508
511
  * - Criar um arquivo no seguinte caminho: /messages/appmessages.msg.js.
509
512
  * Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-data-unit.msg.ts"
510
513
  */
511
- getMessage(key, params = undefined) {
514
+ getMessage(key, params = undefined, customOperation) {
512
515
  if (!params) {
513
516
  params = this.getMessageParams();
514
517
  }
518
+ if (customOperation) {
519
+ this.messagesBuilder.currentOperation = customOperation;
520
+ }
515
521
  return this.messagesBuilder.getMessage(key, params);
516
522
  }
517
523
  getMessageParams() {
@@ -542,19 +548,28 @@ const SnkDataUnit = class {
542
548
  return await this._application.getDataUnit(this.entityName, cacheName, null, this.configName, this.resourceID);
543
549
  }
544
550
  }
551
+ updateMetadataWithRMP() {
552
+ this.fillFieldsWithRmp(this.dataUnit.metadata);
553
+ this.fillFieldsWithRmPrecision(this.dataUnit.metadata);
554
+ const dataUnitUpdatedMetadata = this.handleDULinksOnMetadataLoaded(this.dataUnit.metadata);
555
+ this.dataUnit.metadata = dataUnitUpdatedMetadata;
556
+ }
545
557
  async loadDataUnit() {
546
- var _a;
558
+ var _a, _b;
547
559
  if (this.dataUnit == null && this._application && this.entityName) {
548
560
  this.dataUnit = await this.getDataUnitParentOrChild();
549
561
  }
550
562
  if (this.dataUnit) {
551
563
  this.dataUnit.pageSize = this.pageSize;
552
564
  this.dataUnit.unsubscribe(this._dataUnitObserver);
553
- this.dataUnit.addInterceptor(this);
554
565
  this.dataUnit.subscribe(this._dataUnitObserver);
555
- await this.dataUnit.loadMetadata();
556
- if ((_a = this.dataUnit.records) === null || _a === void 0 ? void 0 : _a.length) {
557
- this.getMetadataByRow(this.dataUnit);
566
+ if ((_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.metadata) {
567
+ this.updateMetadataWithRMP();
568
+ }
569
+ this.dataUnit.addInterceptor(this);
570
+ if ((_b = this.dataUnit.records) === null || _b === void 0 ? void 0 : _b.length) {
571
+ const { records } = this.getMetadataByRow(this.dataUnit);
572
+ this.dataUnit.records = records;
558
573
  }
559
574
  this.dataState = this.buildDataState();
560
575
  let resolver;
@@ -618,6 +633,13 @@ const SnkDataUnit = class {
618
633
  parent = parent.parentElement;
619
634
  }
620
635
  }
636
+ instanceMessagesBuilder() {
637
+ var _a;
638
+ if (this.messagesBuilder) {
639
+ return;
640
+ }
641
+ this.messagesBuilder = new SnkMessageBuilder.SnkMessageBuilder((_a = this.domainMessagesBuilder) !== null && _a !== void 0 ? _a : this.entityName);
642
+ }
621
643
  //---------------------------------------------
622
644
  // Lifecycle web component
623
645
  //---------------------------------------------
@@ -625,9 +647,7 @@ const SnkDataUnit = class {
625
647
  this._application = core.ApplicationContext.getContextValue("__SNK__APPLICATION__");
626
648
  this._application.getAllAccess(this.resourceID).then(access => this._permissions = access);
627
649
  this._parentSnkDataUnit = this.getParentSnkDataUnit();
628
- if (this.messagesBuilder == undefined) {
629
- this.messagesBuilder = new SnkMessageBuilder.SnkMessageBuilder(this.entityName);
630
- }
650
+ this.instanceMessagesBuilder();
631
651
  }
632
652
  disconnectedCallback() {
633
653
  if (this.dataUnit) {
@@ -2,21 +2,21 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const snkDataUnit = require('./snk-data-unit-685272e7.js');
5
+ const snkDataUnit = require('./snk-data-unit-668dc5e8.js');
6
6
  require('./index-f9e81701.js');
7
7
  require('@sankhyalabs/core');
8
8
  require('@sankhyalabs/ezui/dist/collection/utils');
9
- require('./SnkMessageBuilder-722b104e.js');
10
- require('./dataunit-fetcher-688d3f05.js');
11
- require('./DataFetcher-313debd8.js');
9
+ require('./SnkMessageBuilder-bae64d0d.js');
10
+ require('./dataunit-fetcher-f89461c1.js');
11
+ require('./DataFetcher-cadeef8e.js');
12
12
  require('./PrintUtils-bcaeb82f.js');
13
13
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
14
14
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
15
15
  require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
16
16
  require('@sankhyalabs/core/dist/utils/SortingUtils');
17
17
  require('./ResourceIDUtils-5ff86aa7.js');
18
- require('./RecordIDUtils-3735135c.js');
19
18
  require('@sankhyalabs/core/dist/dataunit/metadata/DataType');
19
+ require('./GetSelectedRecordsIDsInfo-bd50caf1.js');
20
20
 
21
21
 
22
22
 
@@ -4,28 +4,28 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f9e81701.js');
6
6
  const core = require('@sankhyalabs/core');
7
- const SnkFormConfigManager = require('./SnkFormConfigManager-1b13bacd.js');
7
+ const SnkFormConfigManager = require('./SnkFormConfigManager-f1c92f79.js');
8
8
  const form = require('@sankhyalabs/ezui/dist/collection/utils/form');
9
- require('./DataFetcher-313debd8.js');
10
- require('./pesquisa-fetcher-680e198f.js');
9
+ require('./DataFetcher-cadeef8e.js');
10
+ require('./pesquisa-fetcher-ca89181c.js');
11
11
  const index$1 = require('./index-1dfc7a6e.js');
12
12
  require('./ISave-e91b70a7.js');
13
13
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
14
14
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
15
- require('./dataunit-fetcher-688d3f05.js');
15
+ require('./dataunit-fetcher-f89461c1.js');
16
16
  require('./filter-item-type.enum-a7ffdaa6.js');
17
- require('./form-config-fetcher-2dd00e5b.js');
17
+ require('./form-config-fetcher-ed497282.js');
18
18
  const taskbarElements = require('./taskbar-elements-9ad1f9c0.js');
19
19
  const constants = require('./constants-35ddd366.js');
20
- const snkGuidesViewer = require('./snk-guides-viewer-67605336.js');
21
- const SnkMessageBuilder = require('./SnkMessageBuilder-722b104e.js');
22
- require('./ConfigStorage-942ce74b.js');
20
+ const snkGuidesViewer = require('./snk-guides-viewer-68777d37.js');
21
+ const SnkMessageBuilder = require('./SnkMessageBuilder-bae64d0d.js');
22
+ require('./ConfigStorage-ecc0ed20.js');
23
23
  require('./PrintUtils-bcaeb82f.js');
24
24
  require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
25
25
  require('@sankhyalabs/core/dist/utils/SortingUtils');
26
26
  require('./ResourceIDUtils-5ff86aa7.js');
27
27
  require('./index-102ba62d.js');
28
- require('./field-search-f56aa7d6.js');
28
+ require('./field-search-68e34bf4.js');
29
29
  require('@sankhyalabs/core/dist/dataunit/DataUnit');
30
30
 
31
31
  class GuideBuilder {
@@ -227,14 +227,13 @@ const SnkDetailView = class {
227
227
  return guideId.replace(SnkDetailView.REGEX_FORM_ID, "");
228
228
  }
229
229
  loadMetadata() {
230
- var _a;
231
230
  if (!this.dataUnit) {
232
231
  return;
233
232
  }
234
233
  if (!this.formConfigManager.isLoaded) {
235
234
  return;
236
235
  }
237
- const formConfig = this.formConfigManager.getConfig((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.insertionMode, this.dataUnit);
236
+ const formConfig = this.formConfigManager.getConfig(this.dataUnit);
238
237
  //this._cardsState = formConfig?.cardsState;
239
238
  this._formMetadata = form.buildFormMetadata(formConfig == undefined || formConfig.fields.length === 0 ? undefined : formConfig, this.dataUnit, true);
240
239
  }
@@ -268,7 +267,7 @@ const SnkDetailView = class {
268
267
  this.emitSwitchEvent(constants.VIEW_MODE.GRID);
269
268
  evt.stopPropagation();
270
269
  }
271
- if (evt.detail === taskbarElements.TaskbarElement.FORM_MODE) {
270
+ if (evt.detail === taskbarElements.TaskbarElement.FORM_MODE || evt.detail === taskbarElements.TaskbarElement.UPDATE) {
272
271
  this.emitSwitchEvent(constants.VIEW_MODE.FORM);
273
272
  evt.stopPropagation();
274
273
  }
@@ -292,7 +291,7 @@ const SnkDetailView = class {
292
291
  }
293
292
  componentWillLoad() {
294
293
  this._configName = `dynaform.${this.entityName}`;
295
- this.formConfigManager = new SnkFormConfigManager.SnkFormConfigManager(this._configName, this.resourceID, () => this.loadMetadata());
294
+ this.formConfigManager = new SnkFormConfigManager.SnkFormConfigManager(this._configName, this.resourceID, () => this.loadMetadata(), this.dataUnit);
296
295
  this.formConfigManager.loadConfig();
297
296
  if (this.messagesBuilder == undefined) {
298
297
  this.messagesBuilder = new SnkMessageBuilder.SnkMessageBuilder(this.entityName);
@@ -20,7 +20,7 @@ const OptionsStep = ({ getMessage, changeInfo, data }) => {
20
20
  const selectionCount = (data === null || data === void 0 ? void 0 : data.selectedRows) || 0;
21
21
  const formatOptions = [
22
22
  { label: getMessage("snkExporter.emailSenderOptStep_formatPDF"), value: "pdf" },
23
- { label: getMessage("snkExporter.emailSenderOptStep_formatXLSX"), value: "xlsx" }
23
+ { label: getMessage("snkExporter.emailSenderOptStep_formatXLS"), value: "xls" }
24
24
  ];
25
25
  const typeOptions = [
26
26
  { label: getMessage("snkExporter.emailSenderOptStep_allData"), value: "all" },
@@ -5,15 +5,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index$1 = require('./index-f9e81701.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
  const EzScrollDirection = require('@sankhyalabs/ezui/dist/collection/components/ez-scroller/EzScrollDirection');
8
- const ConfigStorage = require('./ConfigStorage-942ce74b.js');
8
+ const ConfigStorage = require('./ConfigStorage-ecc0ed20.js');
9
9
  const DataType = require('@sankhyalabs/core/dist/dataunit/metadata/DataType');
10
10
  const filterItemType_enum = require('./filter-item-type.enum-a7ffdaa6.js');
11
11
  const index = require('./index-c5771aba.js');
12
12
  const filterNumberVariation = require('./filterNumberVariation-d65332da.js');
13
13
  const utils = require('@sankhyalabs/ezui/dist/collection/utils');
14
14
  const PersonalizedFilterUtils = require('./PersonalizedFilterUtils-0184ffbb.js');
15
- require('./form-config-fetcher-2dd00e5b.js');
16
- require('./DataFetcher-313debd8.js');
15
+ require('./form-config-fetcher-ed497282.js');
16
+ require('./DataFetcher-cadeef8e.js');
17
17
  require('./PrintUtils-bcaeb82f.js');
18
18
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
19
19
 
@@ -252,7 +252,7 @@ class SnkFilterModalFactory {
252
252
  }
253
253
  }
254
254
 
255
- const snkFilterBarCss = ".sc-snk-filter-bar-h{display:grid;grid-template-columns:1fr minmax(100px, 100%) 1fr 1fr;--snk-personalized-filter--z-index:var(--elevation--20, 20);--snk-personalized-filter--background-color:var(--background--xlight, #fff)}.snk-filter-bar__title.sc-snk-filter-bar{max-width:260px;display:inline-block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:16px;font-family:var(--font-pattern, Arial);font-weight:var(--text-weight--large, 600);color:var(--color--title-primary, #2B3A54);margin-top:8px}[data-mode=\"hidden\"].sc-snk-filter-bar-h{width:0px;height:0px}[data-mode=\"button\"].sc-snk-filter-bar-h{grid-template-columns:1fr;width:fit-content}.snk-filter__popover-container.sc-snk-filter-bar{display:flex;cursor:auto}.filter-bar__personalized-filter.sc-snk-filter-bar{display:flex;flex-direction:column;position:fixed;top:0;left:0;width:100%;height:100%;overflow:auto;z-index:var(--snk-personalized-filter--z-index);background-color:var(--snk-personalized-filter--background-color)}.snk-filter__popover.sc-snk-filter-bar{display:flex;flex-direction:column;position:absolute;width:fit-content;height:fit-content;min-width:265px;background-color:var(--background--xlight, #fff);border-radius:var(--border--radius-medium, 12px);box-shadow:var(--shadow, 0px 0px 16px 0px #000)}.snk-filter-item__editor-header.sc-snk-filter-bar{flex-grow:1;font-weight:var(--text-weight--medium, 400);color:var(--color--title-primary, #2B3A54)}.snk-filter__popover-rule.sc-snk-filter-bar{border-style:solid;border-color:var(--color--disable-secondary, #F2F5F8);border-radius:1px;border-width:1px;width:100%}.editor__ez-check.sc-snk-filter-bar{--ez-check__label--padding-left:0}.snk-filter-item__editor-header-button.sc-snk-filter-bar{cursor:pointer;background-color:transparent;border:none;padding:3px;outline-color:var(--color--primary)}.snk-filter-bar__divider.sc-snk-filter-bar{margin-bottom:var(--space--small)}.snk-filter-bar__scroller.sc-snk-filter-bar{height:calc(100% + var(--space-extra-small, 3px))}.snk-filter-bar__filter-item-container.sc-snk-filter-bar{display:flex;align-self:center}.snk-filter-bar__scroller.sc-snk-filter-bar .sc-snk-filter-bar:first-child{margin-left:var(--space-extra-small, 3px)}.snk-filter-bar__filter-list-items-container.sc-snk-filter-bar{overflow-y:auto;max-height:360px;margin-top:var(--space--small, 6px)}.snk-filter-bar__filter-list-item.sc-snk-filter-bar{cursor:pointer;border-radius:var(--border--radius-small, 6px);border:none;background-color:transparent}.snk-filter-bar__filter-list-item__label.sc-snk-filter-bar{color:var(--title--primary)}.snk-filter-bar__filter-list-item__label--secondary.sc-snk-filter-bar{color:var(--text--primary)}.snk-filter-bar__filter-list-item__icon.sc-snk-filter-bar{--ez-icon--color:var(--title--primary)}.snk-filter-bar__filter-list-item__icon--secondary.sc-snk-filter-bar{--ez-icon--color:var(--text--secondary)}.snk-filter-bar__filter-list-item.sc-snk-filter-bar:focus-visible{outline:none;background-color:var(--background--medium)}.snk-filter-bar__filter-list-item.sc-snk-filter-bar:hover{background-color:var(--background--medium)}.snk-filter-bar__filter-list-items-container--empty.sc-snk-filter-bar{width:100%;height:100px;display:flex;justify-content:center;align-self:center;align-items:center}.snk-filter-bar__filter-list-items-button--active.sc-snk-filter-bar{position:relative}.snk-filter-bar__filter-list-items-button--active.sc-snk-filter-bar::after{display:flex;position:absolute;content:\"\";width:8px;height:8px;top:7px;left:17px;background-color:var(--icon--alert--color, #008561);border-radius:50%}.snk-filter-bar__filter-modal-item.sc-snk-filter-bar{--modal-item-border-width:2px;display:flex;flex-direction:row;margin-left:var(--modal-item-border-width);border-radius:var(--border--radius-medium, 12px);background-color:var(--background--medium, #f0f3f7);border:none;width:100%}.snk-filter-bar__filter-modal-item.sc-snk-filter-bar:focus-visible{outline:var(--color--primary) solid var(--modal-item-border-width)}.snk-filter-bar__filter-modal-item__check.sc-snk-filter-bar{width:auto}.snk-filter-bar__filter-modal-item__label.sc-snk-filter-bar{font-weight:var(--text-weight--medium)}.snk-filter-bar__filter-modal-content.sc-snk-filter-bar{display:grid;grid-template-rows:auto auto 1fr auto;width:99%;height:100%}";
255
+ const snkFilterBarCss = ".sc-snk-filter-bar-h{display:grid;grid-template-columns:1fr minmax(100px, 100%) 1fr 1fr;--snk-personalized-filter--z-index:var(--elevation--20, 20);--snk-personalized-filter--background-color:var(--background--xlight, #fff)}.snk-filter-bar__title.sc-snk-filter-bar{max-width:260px;display:inline-block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:16px;font-family:var(--font-pattern, Arial);font-weight:var(--text-weight--large, 600);color:var(--color--title-primary, #2B3A54);margin-top:8px}[data-mode=\"hidden\"].sc-snk-filter-bar-h{width:0px;height:0px}[data-mode=\"button\"].sc-snk-filter-bar-h{grid-template-columns:1fr;width:fit-content}.snk-filter__popover-container.sc-snk-filter-bar{display:flex;cursor:auto}.filter-bar__personalized-filter.sc-snk-filter-bar{display:flex;flex-direction:column;position:fixed;top:0;left:0;width:100%;height:100%;overflow:auto;z-index:var(--snk-personalized-filter--z-index);background-color:var(--snk-personalized-filter--background-color)}.snk-filter__popover.sc-snk-filter-bar{display:flex;flex-direction:column;position:absolute;width:fit-content;height:fit-content;min-width:265px;background-color:var(--background--xlight, #fff);border-radius:var(--border--radius-medium, 12px);box-shadow:var(--shadow, 0px 0px 16px 0px #000)}.snk-filter-item__editor-header.sc-snk-filter-bar{flex-grow:1;font-weight:var(--text-weight--medium, 400);color:var(--color--title-primary, #2B3A54)}.snk-filter__popover-rule.sc-snk-filter-bar{border-style:solid;border-color:var(--color--disable-secondary, #F2F5F8);border-radius:1px;border-width:1px;width:100%}.editor__ez-check.sc-snk-filter-bar{--ez-check__label--padding-left:0}.snk-filter-item__editor-header-button.sc-snk-filter-bar{cursor:pointer;background-color:transparent;border:none;padding:3px;outline-color:var(--color--primary)}.snk-filter-bar__divider.sc-snk-filter-bar{margin-bottom:var(--space--small)}.snk-filter-bar__scroller.sc-snk-filter-bar{height:calc(100% + var(--space-extra-small, 3px))}.snk-filter-bar__filter-item-container.sc-snk-filter-bar{display:flex;align-items:start}.snk-filter-bar__scroller.sc-snk-filter-bar .sc-snk-filter-bar:first-child{margin-left:var(--space-extra-small, 3px)}.snk-filter-bar__filter-list-items-container.sc-snk-filter-bar{overflow-y:auto;max-height:360px;margin-top:var(--space--small, 6px)}.snk-filter-bar__filter-list-item.sc-snk-filter-bar{cursor:pointer;border-radius:var(--border--radius-small, 6px);border:none;background-color:transparent}.snk-filter-bar__filter-list-item__label.sc-snk-filter-bar{color:var(--title--primary)}.snk-filter-bar__filter-list-item__label--secondary.sc-snk-filter-bar{color:var(--text--primary)}.snk-filter-bar__filter-list-item__icon.sc-snk-filter-bar{--ez-icon--color:var(--title--primary)}.snk-filter-bar__filter-list-item__icon--secondary.sc-snk-filter-bar{--ez-icon--color:var(--text--secondary)}.snk-filter-bar__filter-list-item.sc-snk-filter-bar:focus-visible{outline:none;background-color:var(--background--medium)}.snk-filter-bar__filter-list-item.sc-snk-filter-bar:hover{background-color:var(--background--medium)}.snk-filter-bar__filter-list-items-container--empty.sc-snk-filter-bar{width:100%;height:100px;display:flex;justify-content:center;align-self:center;align-items:center}.snk-filter-bar__filter-list-items-button--active.sc-snk-filter-bar{position:relative}.snk-filter-bar__filter-list-items-button--active.sc-snk-filter-bar::after{display:flex;position:absolute;content:\"\";width:8px;height:8px;top:7px;left:17px;background-color:var(--icon--alert--color, #008561);border-radius:50%}.snk-filter-bar__filter-modal-item.sc-snk-filter-bar{--modal-item-border-width:2px;display:flex;flex-direction:row;margin-left:var(--modal-item-border-width);border-radius:var(--border--radius-medium, 12px);background-color:var(--background--medium, #f0f3f7);border:none;width:100%}.snk-filter-bar__filter-modal-item.sc-snk-filter-bar:focus-visible{outline:var(--color--primary) solid var(--modal-item-border-width)}.snk-filter-bar__filter-modal-item__check.sc-snk-filter-bar{width:auto}.snk-filter-bar__filter-modal-item__label.sc-snk-filter-bar{font-weight:var(--text-weight--medium)}.snk-filter-bar__filter-modal-content.sc-snk-filter-bar{display:grid;grid-template-rows:auto auto 1fr auto;width:99%;height:100%}";
256
256
 
257
257
  const SnkFilterBar = class {
258
258
  constructor(hostRef) {
@@ -265,18 +265,19 @@ const SnkFilterBar = class {
265
265
  this._pendingVariables = false;
266
266
  this._customfiltersToBeUpdated = [];
267
267
  this._calculateSortIndex = (item) => {
268
- let index = item.hardFixed ? 1000000 : 0;
269
- //campos Hard Fixed não variam a ordem
270
- if (!item.hardFixed) {
271
- index += item.fixed ? 100000 : 0;
272
- index += item.value == undefined ? 0 : 10000;
273
- index += this._updateSequence.lastIndexOf(item.id) + 1;
274
- }
268
+ if (!item.visible)
269
+ return 0;
270
+ if (item.hardFixed)
271
+ return 1000000; //campos Hard Fixed não variam a ordem
272
+ let index = item.fixed ? 100000 : 0;
273
+ index += this.hasValidValue(item) ? 10000 : 0;
274
+ index += this._updateSequence.lastIndexOf(item.id) + 1;
275
275
  return index;
276
276
  };
277
277
  this._filtersComparator = (a, b) => {
278
278
  return this._calculateSortIndex(b) - this._calculateSortIndex(a);
279
279
  };
280
+ this.customFilterBarConfig = undefined;
280
281
  this.dataUnit = undefined;
281
282
  this.title = undefined;
282
283
  this.configName = undefined;
@@ -292,6 +293,13 @@ const SnkFilterBar = class {
292
293
  this.showPersonalizedFilter = false;
293
294
  this.personalizedFilterId = undefined;
294
295
  }
296
+ hasValidValue(item) {
297
+ if (item.value === undefined || item.value === null)
298
+ return false;
299
+ if (!Array.isArray(item.value))
300
+ return true;
301
+ return item.value.some(filterItem => filterItem.check === true);
302
+ }
295
303
  observeFilterConfig(newValue, oldValue) {
296
304
  if (core.ObjectUtils.equals(newValue, oldValue))
297
305
  return;
@@ -517,7 +525,7 @@ const SnkFilterBar = class {
517
525
  getFilterItems() {
518
526
  const pinnedItems = [];
519
527
  const unpinnedItems = [];
520
- this.filterConfig
528
+ this.filterConfig.sort((a, b) => this._filtersComparator(a, b))
521
529
  .filter(this.filterActiveFilter)
522
530
  .forEach((item, index) => {
523
531
  item = core.ObjectUtils.copy(item);
@@ -579,19 +587,23 @@ const SnkFilterBar = class {
579
587
  }
580
588
  }
581
589
  async loadConfigFromStorage(clearCache) {
582
- if (clearCache) {
583
- await ConfigStorage.ConfigStorage.deleteFilterBarConfigCache(this.configName, this.resourceID);
584
- }
585
- return new Promise(accept => {
586
- ConfigStorage.ConfigStorage.loadFilterBarConfig(this.configName, this.resourceID, { contextURI: this.dataUnit.name })
587
- .then((filters) => {
588
- accept();
589
- this.filterConfig = filters.map(item => this.normalizeItem(item));
590
- })
591
- .catch(reason => {
592
- throw new core.ErrorException(this.getMessage("snkFilterBar.failToLoadConfig"), reason);
593
- });
594
- });
590
+ try {
591
+ if (clearCache) {
592
+ await ConfigStorage.ConfigStorage.deleteFilterBarConfigCache(this.configName, this.resourceID);
593
+ }
594
+ let config;
595
+ if (this.customFilterBarConfig) {
596
+ config = await this.customFilterBarConfig(this.configName, this.resourceID, { contextURI: this.dataUnit.name });
597
+ }
598
+ else {
599
+ config = await ConfigStorage.ConfigStorage.loadFilterBarConfig(this.configName, this.resourceID, { contextURI: this.dataUnit.name });
600
+ }
601
+ this.filterConfig = config.map(item => this.normalizeItem(item));
602
+ this.filterConfig.sort((a, b) => this._filtersComparator(a, b));
603
+ }
604
+ catch (e) {
605
+ throw new core.ErrorException(this.getMessage("snkFilterBar.failToLoadConfig"), e);
606
+ }
595
607
  }
596
608
  attachDataUnit() {
597
609
  if (this.dataUnit == undefined) {
@@ -26,7 +26,7 @@ const SnkFilterCheckboxList = class {
26
26
  this.valueChanged.emit((_b = this.config) === null || _b === void 0 ? void 0 : _b.value);
27
27
  }
28
28
  renderOptions() {
29
- return this.optionsList.map(option => (index.h("ez-check", { label: option.label, compact: true, onEzChange: (event) => this.handleToggleCheck(option, event.detail), value: !!this.isChecked(option.name) })));
29
+ return this.optionsList.map(option => (index.h("ez-check", { label: option.label, onEzChange: (event) => this.handleToggleCheck(option, event.detail), value: !!this.isChecked(option.name) })));
30
30
  }
31
31
  isChecked(itemName) {
32
32
  var _a;
@@ -6,10 +6,10 @@ const index = require('./index-f9e81701.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
  const filterItemType_enum = require('./filter-item-type.enum-a7ffdaa6.js');
8
8
  const presentationMode = require('./presentationMode-52ec3bdd.js');
9
- const ConfigStorage = require('./ConfigStorage-942ce74b.js');
9
+ const ConfigStorage = require('./ConfigStorage-ecc0ed20.js');
10
10
  const filterType_enum = require('./filter-type.enum-b14ce507.js');
11
- require('./form-config-fetcher-2dd00e5b.js');
12
- require('./DataFetcher-313debd8.js');
11
+ require('./form-config-fetcher-ed497282.js');
12
+ require('./DataFetcher-cadeef8e.js');
13
13
  require('./PrintUtils-bcaeb82f.js');
14
14
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
15
15