@sankhyalabs/sankhyablocks 0.0.0-bugfix-dev-KB-33766.1 → 0.0.0-bugfix-dev-KB-39469.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (221) hide show
  1. package/dist/cjs/{ConfigStorage-302bbbd4.js → ConfigStorage-d4c99a5e.js} +2 -2
  2. package/dist/cjs/{DataFetcher-ba94ed5b.js → DataFetcher-99f0f6ed.js} +5 -3
  3. package/dist/cjs/{ISave-d68ce3cd.js → ISave-e91b70a7.js} +1 -0
  4. package/dist/cjs/{SnkFormConfigManager-71c4768e.js → SnkFormConfigManager-3621bfc4.js} +2 -2
  5. package/dist/cjs/{SnkMessageBuilder-7293d0ad.js → SnkMessageBuilder-e7dcf408.js} +13 -0
  6. package/dist/cjs/{auth-fetcher-c8467c07.js → auth-fetcher-5161d082.js} +1 -1
  7. package/dist/cjs/{form-config-fetcher-df043d3d.js → form-config-fetcher-9f1a13ca.js} +1 -1
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/cjs/{dataunit-fetcher-bd4c52da.js → pesquisa-fetcher-c416a6b7.js} +238 -28
  10. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  11. package/dist/cjs/snk-actions-button_2.cjs.entry.js +21 -6
  12. package/dist/cjs/snk-application.cjs.entry.js +37 -8
  13. package/dist/cjs/snk-attach.cjs.entry.js +389 -58
  14. package/dist/cjs/snk-crud.cjs.entry.js +11 -9
  15. package/dist/cjs/snk-data-exporter.cjs.entry.js +4 -4
  16. package/dist/cjs/{snk-data-unit-1bc69073.js → snk-data-unit-82c08a8c.js} +1 -1
  17. package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
  18. package/dist/cjs/snk-detail-view.cjs.entry.js +8 -9
  19. package/dist/cjs/snk-entity-list.cjs.entry.js +5 -3
  20. package/dist/cjs/snk-filter-bar.cjs.entry.js +28 -6
  21. package/dist/cjs/snk-filter-item.cjs.entry.js +3 -0
  22. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
  23. package/dist/cjs/snk-filter-modal.cjs.entry.js +2 -1
  24. package/dist/cjs/snk-filter-multi-select.cjs.entry.js +2 -1
  25. package/dist/cjs/snk-form-config.cjs.entry.js +2 -2
  26. package/dist/cjs/snk-form.cjs.entry.js +4 -4
  27. package/dist/cjs/snk-grid-config.cjs.entry.js +3 -3
  28. package/dist/cjs/snk-grid.cjs.entry.js +5 -4
  29. package/dist/cjs/{snk-guides-viewer-dce60912.js → snk-guides-viewer-3ab9623e.js} +8 -9
  30. package/dist/cjs/snk-guides-viewer.cjs.entry.js +7 -8
  31. package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
  32. package/dist/cjs/snk-pesquisa.cjs.entry.js +1 -1
  33. package/dist/cjs/snk-simple-crud.cjs.entry.js +19 -8
  34. package/dist/cjs/snk-taskbar.cjs.entry.js +51 -3
  35. package/dist/collection/collection-manifest.json +1 -1
  36. package/dist/collection/components/snk-application/__mocks__/snk-application.js +7 -0
  37. package/dist/collection/components/snk-application/snk-application.js +43 -0
  38. package/dist/collection/components/snk-attach/snk-attach.js +188 -39
  39. package/dist/collection/components/snk-attach/structure/{crud-config-builder.js → builder/anexo-sistema-crud-config.builder.js} +1 -1
  40. package/dist/collection/components/snk-attach/structure/builder/attach-crud-config.builder.js +62 -0
  41. package/dist/collection/components/snk-attach/structure/{taskbar-builder.js → builder/taskbar-builder.js} +1 -1
  42. package/dist/collection/components/snk-attach/structure/fetcher/facade/fetcher.facade.js +1 -0
  43. package/dist/collection/components/snk-attach/structure/{data-unit-builder.js → fetcher/factory/anexo-sistema-data-unit.factory.js} +14 -11
  44. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +111 -0
  45. package/dist/collection/components/snk-attach/structure/index.js +6 -3
  46. package/dist/collection/components/snk-crud/snk-crud.js +23 -3
  47. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +11 -2
  48. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +2 -2
  49. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +1 -1
  50. package/dist/collection/components/snk-entity-list/snk-entity-list.js +5 -3
  51. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-multi-select.js +2 -1
  52. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +3 -0
  53. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +19 -1
  54. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +39 -2
  55. package/dist/collection/components/snk-filter-bar/utils/SnkFilterModalFactory.js +3 -1
  56. package/dist/collection/components/snk-grid/snk-grid.js +19 -1
  57. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +2 -4
  58. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +53 -1
  59. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +17 -1
  60. package/dist/collection/components/snk-taskbar/snk-taskbar.css +17 -0
  61. package/dist/collection/components/snk-taskbar/snk-taskbar.js +88 -3
  62. package/dist/collection/lib/dataUnit/InMemoryLoader.js +1 -1
  63. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +5 -3
  64. package/dist/collection/lib/http/data-fetcher/fetchers/{attach-fetcher.js → AttachFetcher/anexo-sistema-fetcher.js} +16 -15
  65. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/attach-fetcher.js +90 -0
  66. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/facade/attach-fetcher.facade.js +1 -0
  67. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/index.js +2 -0
  68. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/interfaces/IDelete.js +1 -0
  69. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/interfaces/IDownloadKey.js +1 -0
  70. package/dist/collection/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/ISave.js +1 -0
  71. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.js +31 -3
  72. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +37 -23
  73. package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +21 -0
  74. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +10 -4
  75. package/dist/collection/lib/index.js +1 -1
  76. package/dist/collection/lib/message/resources/snk-attach.msg.js +13 -0
  77. package/dist/components/DataFetcher.js +5 -3
  78. package/dist/components/SnkMessageBuilder.js +13 -0
  79. package/dist/components/dataunit-fetcher.js +79 -31
  80. package/dist/components/snk-actions-button2.js +1 -0
  81. package/dist/components/snk-application2.js +32 -1
  82. package/dist/components/snk-attach2.js +394 -57
  83. package/dist/components/snk-crud.js +7 -3
  84. package/dist/components/snk-data-exporter2.js +1 -1
  85. package/dist/components/snk-detail-view2.js +3 -3
  86. package/dist/components/snk-entity-list.js +5 -3
  87. package/dist/components/snk-filter-bar2.js +26 -3
  88. package/dist/components/snk-filter-item2.js +3 -0
  89. package/dist/components/snk-filter-modal.js +4 -2
  90. package/dist/components/snk-filter-multi-select.js +2 -1
  91. package/dist/components/snk-grid2.js +3 -1
  92. package/dist/components/snk-pesquisa2.js +1 -1
  93. package/dist/components/snk-simple-crud2.js +15 -1
  94. package/dist/components/snk-taskbar2.js +55 -4
  95. package/dist/components/taskbar-actions-button2.js +17 -1
  96. package/dist/esm/{ConfigStorage-4151acc8.js → ConfigStorage-39ed8aeb.js} +2 -2
  97. package/dist/esm/{DataFetcher-aa159c5a.js → DataFetcher-a650ae58.js} +5 -3
  98. package/dist/esm/{ISave-4412b20c.js → ISave-d8c8bc59.js} +1 -0
  99. package/dist/esm/{SnkFormConfigManager-5c7d3771.js → SnkFormConfigManager-692e20c7.js} +2 -2
  100. package/dist/esm/{SnkMessageBuilder-ca843d1b.js → SnkMessageBuilder-0fb796b9.js} +13 -0
  101. package/dist/esm/{auth-fetcher-c05dc474.js → auth-fetcher-17dc5b5e.js} +1 -1
  102. package/dist/esm/{form-config-fetcher-36219cd3.js → form-config-fetcher-f121f880.js} +1 -1
  103. package/dist/esm/loader.js +1 -1
  104. package/dist/esm/{dataunit-fetcher-65714f21.js → pesquisa-fetcher-ab16a2e8.js} +238 -29
  105. package/dist/esm/sankhyablocks.js +1 -1
  106. package/dist/esm/snk-actions-button_2.entry.js +21 -6
  107. package/dist/esm/snk-application.entry.js +36 -7
  108. package/dist/esm/snk-attach.entry.js +390 -59
  109. package/dist/esm/snk-crud.entry.js +11 -9
  110. package/dist/esm/snk-data-exporter.entry.js +4 -4
  111. package/dist/esm/{snk-data-unit-6208ebf0.js → snk-data-unit-5d201fb3.js} +1 -1
  112. package/dist/esm/snk-data-unit.entry.js +2 -2
  113. package/dist/esm/snk-detail-view.entry.js +8 -9
  114. package/dist/esm/snk-entity-list.entry.js +5 -3
  115. package/dist/esm/snk-filter-bar.entry.js +28 -6
  116. package/dist/esm/snk-filter-item.entry.js +3 -0
  117. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  118. package/dist/esm/snk-filter-modal.entry.js +2 -1
  119. package/dist/esm/snk-filter-multi-select.entry.js +2 -1
  120. package/dist/esm/snk-form-config.entry.js +2 -2
  121. package/dist/esm/snk-form.entry.js +4 -4
  122. package/dist/esm/snk-grid-config.entry.js +3 -3
  123. package/dist/esm/snk-grid.entry.js +5 -4
  124. package/dist/esm/{snk-guides-viewer-8b9564bd.js → snk-guides-viewer-462b4c9e.js} +8 -9
  125. package/dist/esm/snk-guides-viewer.entry.js +7 -8
  126. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  127. package/dist/esm/snk-pesquisa.entry.js +1 -1
  128. package/dist/esm/snk-simple-crud.entry.js +17 -6
  129. package/dist/esm/snk-taskbar.entry.js +52 -4
  130. package/dist/sankhyablocks/p-007f1026.entry.js +1 -0
  131. package/dist/sankhyablocks/p-0264dba5.entry.js +1 -0
  132. package/dist/sankhyablocks/{p-ff6064e7.js → p-05243555.js} +1 -1
  133. package/dist/sankhyablocks/p-0ae89faa.entry.js +1 -0
  134. package/dist/sankhyablocks/{p-cb7419e0.entry.js → p-0b0b36ac.entry.js} +1 -1
  135. package/dist/sankhyablocks/{p-9e7d65a4.js → p-21749402.js} +1 -1
  136. package/dist/sankhyablocks/p-33718dfc.entry.js +1 -0
  137. package/dist/sankhyablocks/p-33bc44a6.entry.js +1 -0
  138. package/dist/sankhyablocks/p-48afb1d3.entry.js +1 -0
  139. package/dist/sankhyablocks/p-50783a8b.js +1 -0
  140. package/dist/sankhyablocks/{p-aa95fb2c.js → p-67aedbe0.js} +1 -1
  141. package/dist/sankhyablocks/p-70a4af56.entry.js +1 -0
  142. package/dist/sankhyablocks/{p-573a07c5.js → p-725d04ba.js} +1 -1
  143. package/dist/sankhyablocks/{p-e0fd9555.entry.js → p-827e4b01.entry.js} +1 -1
  144. package/dist/sankhyablocks/{p-6977a26c.entry.js → p-86801b08.entry.js} +1 -1
  145. package/dist/sankhyablocks/p-88c7dd9a.entry.js +1 -0
  146. package/dist/sankhyablocks/p-93d7e848.entry.js +1 -0
  147. package/dist/sankhyablocks/{p-7f3c7b09.entry.js → p-9d608b62.entry.js} +1 -1
  148. package/dist/sankhyablocks/{p-0d7863ed.js → p-a13ccb86.js} +1 -1
  149. package/dist/sankhyablocks/p-a3a9d37d.js +1 -0
  150. package/dist/sankhyablocks/{p-9695f78b.js → p-be75153c.js} +1 -1
  151. package/dist/sankhyablocks/p-bf2acf72.entry.js +1 -0
  152. package/dist/sankhyablocks/p-c093edc7.entry.js +1 -0
  153. package/dist/sankhyablocks/p-c4874327.entry.js +1 -0
  154. package/dist/sankhyablocks/p-c6247955.js +65 -0
  155. package/dist/sankhyablocks/{p-247a8b36.entry.js → p-d1791da2.entry.js} +1 -1
  156. package/dist/sankhyablocks/{p-761ed32f.entry.js → p-e3bd000e.entry.js} +1 -1
  157. package/dist/sankhyablocks/p-ed2dce4b.entry.js +1 -0
  158. package/dist/sankhyablocks/{p-32f0935f.js → p-f3d1c48e.js} +1 -1
  159. package/dist/sankhyablocks/{p-1d75d9f9.entry.js → p-fcdcb0e2.entry.js} +1 -1
  160. package/dist/sankhyablocks/{p-c223b7b2.entry.js → p-fd0a8d68.entry.js} +3 -3
  161. package/dist/sankhyablocks/{p-0874adb5.entry.js → p-fdc4cb9b.entry.js} +1 -1
  162. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  163. package/dist/types/components/snk-application/__mocks__/snk-application.d.ts +3 -0
  164. package/dist/types/components/snk-application/snk-application.d.ts +7 -0
  165. package/dist/types/components/snk-attach/{structure/crud-config-builder.d.ts → interfaces/ICrudConfig.d.ts} +1 -2
  166. package/dist/types/components/snk-attach/interfaces/TFetcherType.d.ts +1 -0
  167. package/dist/types/components/snk-attach/snk-attach.d.ts +27 -6
  168. package/dist/types/components/snk-attach/structure/builder/anexo-sistema-crud-config.builder.d.ts +2 -0
  169. package/dist/types/components/snk-attach/structure/builder/attach-crud-config.builder.d.ts +31 -0
  170. package/dist/types/components/snk-attach/structure/{taskbar-builder.d.ts → builder/taskbar-builder.d.ts} +1 -1
  171. package/dist/types/components/snk-attach/structure/fetcher/facade/fetcher.facade.d.ts +11 -0
  172. package/dist/types/components/snk-attach/structure/fetcher/factory/anexo-sistema-data-unit.factory.d.ts +17 -0
  173. package/dist/types/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.d.ts +15 -0
  174. package/dist/types/components/snk-attach/structure/index.d.ts +6 -3
  175. package/dist/types/components/snk-crud/snk-crud.d.ts +5 -0
  176. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +1 -1
  177. package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +5 -0
  178. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +7 -0
  179. package/dist/types/components/snk-filter-bar/utils/SnkFilterModalFactory.d.ts +3 -1
  180. package/dist/types/components/snk-grid/snk-grid.d.ts +5 -0
  181. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +10 -1
  182. package/dist/types/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.d.ts +1 -0
  183. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +20 -1
  184. package/dist/types/components.d.ts +106 -2
  185. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -1
  186. package/dist/types/lib/http/data-fetcher/fetchers/{attach-fetcher.d.ts → AttachFetcher/anexo-sistema-fetcher.d.ts} +3 -2
  187. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/attach-fetcher.d.ts +11 -0
  188. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/facade/attach-fetcher.facade.d.ts +8 -0
  189. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/index.d.ts +3 -0
  190. package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/ISave.d.ts +2 -1
  191. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.d.ts +2 -0
  192. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +1 -0
  193. package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
  194. package/dist/types/lib/index.d.ts +1 -1
  195. package/package.json +15 -6
  196. package/dist/cjs/pesquisa-fetcher-ef050a47.js +0 -167
  197. package/dist/esm/pesquisa-fetcher-dd3ca0a5.js +0 -165
  198. package/dist/sankhyablocks/p-20726710.entry.js +0 -1
  199. package/dist/sankhyablocks/p-28564b5e.entry.js +0 -1
  200. package/dist/sankhyablocks/p-29804fc5.js +0 -60
  201. package/dist/sankhyablocks/p-4775a293.entry.js +0 -1
  202. package/dist/sankhyablocks/p-55930465.entry.js +0 -1
  203. package/dist/sankhyablocks/p-69efa80d.entry.js +0 -1
  204. package/dist/sankhyablocks/p-7d8d7fe9.entry.js +0 -1
  205. package/dist/sankhyablocks/p-95a3778f.entry.js +0 -1
  206. package/dist/sankhyablocks/p-a9e5b094.entry.js +0 -1
  207. package/dist/sankhyablocks/p-b05ab13d.entry.js +0 -1
  208. package/dist/sankhyablocks/p-b146a9f0.entry.js +0 -1
  209. package/dist/sankhyablocks/p-bedb8ad6.entry.js +0 -1
  210. package/dist/sankhyablocks/p-cdd66657.entry.js +0 -1
  211. package/dist/sankhyablocks/p-d4f9ee17.entry.js +0 -1
  212. package/dist/sankhyablocks/p-d9bb09b3.js +0 -6
  213. package/dist/sankhyablocks/p-e6380c60.js +0 -1
  214. package/dist/sankhyablocks/p-ebbc17c6.js +0 -1
  215. package/dist/types/components/snk-attach/structure/data-unit-builder.d.ts +0 -15
  216. /package/dist/collection/{lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDelete.js → components/snk-attach/interfaces/ICrudConfig.js} +0 -0
  217. /package/dist/collection/{lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDownloadKey.js → components/snk-attach/interfaces/TFetcherType.js} +0 -0
  218. /package/dist/collection/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/index.js +0 -0
  219. /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/IDelete.d.ts +0 -0
  220. /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/IDownloadKey.d.ts +0 -0
  221. /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/index.d.ts +0 -0
@@ -69,6 +69,7 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
69
69
  this.presentationMode = PresentationMode.PRIMARY;
70
70
  this.messagesBuilder = undefined;
71
71
  this.useEnterLikeTab = false;
72
+ this.disablePersonalizedFilter = undefined;
72
73
  this.customContainerId = `SNK-CRUD-CUSTOM-CONTAINER-${StringUtils.generateUUID()}`;
73
74
  }
74
75
  /**
@@ -201,7 +202,8 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
201
202
  window.removeEventListener("keydown", this._keyDownHandler);
202
203
  }
203
204
  async initKeyboardManager() {
204
- const keyboardManager = await this._application.getKeyboardManager();
205
+ var _a;
206
+ const keyboardManager = await ((_a = this._application) === null || _a === void 0 ? void 0 : _a.getKeyboardManager());
205
207
  if (keyboardManager) {
206
208
  const dataUnit = this._dataUnit || await this._snkDataUnit.getDataUnit();
207
209
  async function saveDataUnitHandlingFocus() {
@@ -250,7 +252,8 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
250
252
  }
251
253
  }
252
254
  async removeShortcuts() {
253
- const keyboardManager = await this._application.getKeyboardManager();
255
+ var _a;
256
+ const keyboardManager = await ((_a = this._application) === null || _a === void 0 ? void 0 : _a.getKeyboardManager());
254
257
  if (keyboardManager) {
255
258
  keyboardManager
256
259
  .unbind("F6")
@@ -317,7 +320,7 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
317
320
  return;
318
321
  }
319
322
  this._snkDataUnit.ignoreSaveMessage = this._currentViewMode === VIEW_MODE.GRID;
320
- return (h(Host, null, h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": "crud" }, h("stack-item", null, h("snk-grid", { ref: (ref) => this._snkGrid = ref, "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, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, canEdit: this._canEdit, resourceID: this._resourceID }, h("slot", { name: "GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkGridHeader" }), h("slot", { name: "SnkGridFooter" }), h("slot", { name: "SnkGridTaskBar" }))), h("stack-item", null, h("snk-guides-viewer", { ref: ref => this._guidesViewer = ref, entityPath: this._snkDataUnit.entityName, messagesBuilder: this.messagesBuilder, onExit: () => this.setViewMode(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, resourceID: this._resourceID, detailTaskbarCustomContainerId: this.customContainerId }, h("slot", { name: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkFormTaskBar" }))), h("stack-item", null, h("snk-attach", { registerKey: this.attachmentRegisterKey, messagesBuilder: this.messagesBuilder, entityName: this._snkDataUnit.entityName, onBack: this.backView.bind(this) })), 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 })), h("div", { id: `${this.customContainerId}` }, h("slot", { name: "SnkConfigContainerSlot" }), h("slot", { name: "DETAIL_GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" }))));
323
+ return (h(Host, null, h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": "crud" }, h("stack-item", null, h("snk-grid", { ref: (ref) => this._snkGrid = ref, "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 }, h("slot", { name: "GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkGridHeader" }), h("slot", { name: "SnkGridFooter" }), h("slot", { name: "SnkGridTaskBar" }))), h("stack-item", null, h("snk-guides-viewer", { ref: ref => this._guidesViewer = ref, entityPath: this._snkDataUnit.entityName, messagesBuilder: this.messagesBuilder, onExit: () => this.setViewMode(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 }, h("slot", { name: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkFormTaskBar" }))), h("stack-item", null, h("snk-attach", { registerKey: this.attachmentRegisterKey, messagesBuilder: this.messagesBuilder, entityName: this._snkDataUnit.entityName, onBack: this.backView.bind(this) })), 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 })), h("div", { id: `${this.customContainerId}` }, h("slot", { name: "SnkConfigContainerSlot" }), h("slot", { name: "DETAIL_GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" }))));
321
324
  }
322
325
  get _element() { return this; }
323
326
  static get watchers() { return {
@@ -336,6 +339,7 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
336
339
  "presentationMode": [1, "presentation-mode"],
337
340
  "messagesBuilder": [1040],
338
341
  "useEnterLikeTab": [4, "use-enter-like-tab"],
342
+ "disablePersonalizedFilter": [4, "disable-personalized-filter"],
339
343
  "_dataUnit": [32],
340
344
  "_dataState": [32],
341
345
  "attachmentRegisterKey": [32],
@@ -442,7 +442,7 @@ const SnkDataExporter = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
442
442
  pkObject[`PK_${name}`] = { type: this.parseDataType(type), value };
443
443
  pkObject['pks'] = [];
444
444
  }
445
- const dataFields = { nome: name, tipo: type, valor: value };
445
+ const dataFields = { nome: name, tipo: this.parseDataType(type), valor: value };
446
446
  fields['fields'].push(dataFields);
447
447
  pkObject['pks'].push(fields);
448
448
  });
@@ -43,7 +43,7 @@ import { d as defineCustomElement$l } from './snk-field-config2.js';
43
43
  import { d as defineCustomElement$d } from './snk-form-config2.js';
44
44
  import { d as defineCustomElement$4 } from './snk-tab-config2.js';
45
45
 
46
- const snkGuidesViewerCss = ".sc-snk-guides-viewer-h{--snk-guides-viewer--space-large:var(--space--large, 24px);--snk-guides-viewer--space-medium:var(--space--medium, 12px);--snk-guides-viewer__header--min-height:94px;--snk-guides-viewer__header--z-index:var(--more-visible, 2);--snk-guides-viewer__header--background-color:var(--background--body, #fafcff);--snk-guides-viewer__guide-navigator--width:340px;display:block}snk-form-view.sc-snk-guides-viewer{width:100%}.snk-guides-viewer.sc-snk-guides-viewer{position:relative;padding-left:0px;padding-top:0px;padding-right:var(--snk-guides-viewer--space-large);padding-bottom:var(--snk-guides-viewer--space-large)}.snk-guides-viewer__detail-container.sc-snk-guides-viewer{display:flex;row-gap:24px;flex-direction:column}.snk-guides-viewer__header.sc-snk-guides-viewer{position:sticky;align-items:center;top:0;z-index:var(--snk-guides-viewer__header--z-index);background-color:var(--snk-guides-viewer__header--background-color);min-height:var(--snk-guides-viewer__header--min-height);width:calc(100% + (var(--snk-guides-viewer--space-large) * 2));padding-left:var(--snk-guides-viewer--space-large);padding-right:var(--snk-guides-viewer--space-large);padding-top:var(--snk-guides-viewer--space-large);padding-bottom:var(--snk-guides-viewer--space-medium);margin-left:calc(var(--snk-guides-viewer--space-large) * -1);margin-right:calc(var(--snk-guides-viewer--space-large) * -1);margin-bottom:var(--snk-guides-viewer--space-medium)}.snk-guides-viewer__container.sc-snk-guides-viewer{display:grid;grid-template-columns:minmax(0, auto) minmax(0, 100%);height:100%;column-gap:var(--snk-guides-viewer--space-large)}.snk-guides-viewer__guide-navigator.sc-snk-guides-viewer{position:sticky;top:calc(var(--snk-guides-viewer__header--min-height) + var(--snk-guides-viewer--space-medium));height:calc(100vh - var(--snk-guides-viewer__header--min-height) - var(--snk-guides-viewer--space-large) - var(--snk-guides-viewer--space-medium))}.snk-guides-viewer__guide-navigator[open].sc-snk-guides-viewer{width:var(--snk-guides-viewer__guide-navigator--width);max-width:var(--snk-guides-viewer__guide-navigator--width);min-width:var(--snk-guides-viewer__guide-navigator--width)}.snk-guides-viewer__detail-content.sc-snk-guides-viewer{min-height:100%;align-items:flex-start;align-content:flex-start}";
46
+ const snkGuidesViewerCss = ".sc-snk-guides-viewer-h{--snk-guides-viewer--space-large:var(--space--large, 24px);--snk-guides-viewer--space-medium:var(--space--medium, 12px);--snk-guides-viewer__header--min-height:94px;--snk-guides-viewer__header--z-index:var(--more-visible, 2);--snk-guides-viewer__header--background-color:var(--background--body, #fafcff);--snk-guides-viewer__guide-navigator--width:340px;display:block}snk-form-view.sc-snk-guides-viewer{width:100%}.snk-guides-viewer.sc-snk-guides-viewer{position:relative;padding-left:0px;padding-top:0px;padding-right:var(--snk-guides-viewer--space-large);padding-bottom:var(--snk-guides-viewer--space-large)}.snk-guides-viewer__detail-container.sc-snk-guides-viewer{display:flex;row-gap:24px;flex-direction:column}.snk-guides-viewer__header.sc-snk-guides-viewer{position:sticky;align-items:center;top:0;z-index:var(--snk-guides-viewer__header--z-index);background-color:var(--snk-guides-viewer__header--background-color);min-height:var(--snk-guides-viewer__header--min-height);width:calc(100% + (var(--snk-guides-viewer--space-large) * 2));padding-left:var(--snk-guides-viewer--space-large);padding-right:var(--snk-guides-viewer--space-large);padding-top:var(--snk-guides-viewer--space-large);padding-bottom:var(--snk-guides-viewer--space-medium);margin-left:calc(var(--snk-guides-viewer--space-large) * -1);margin-right:calc(var(--snk-guides-viewer--space-large) * -1);margin-bottom:var(--snk-guides-viewer--space-medium)}.snk-guides-viewer__header-breadcrumb.sc-snk-guides-viewer{width:25%;display:flex}.snk-guides-viewer__header-taskbar.sc-snk-guides-viewer{width:75%}.snk-guides-viewer__container.sc-snk-guides-viewer{display:grid;grid-template-columns:minmax(0, auto) minmax(0, 100%);height:100%;column-gap:var(--snk-guides-viewer--space-large)}.snk-guides-viewer__guide-navigator.sc-snk-guides-viewer{position:sticky;top:calc(var(--snk-guides-viewer__header--min-height) + var(--snk-guides-viewer--space-medium));height:calc(100vh - var(--snk-guides-viewer__header--min-height) - var(--snk-guides-viewer--space-large) - var(--snk-guides-viewer--space-medium))}.snk-guides-viewer__guide-navigator[open].sc-snk-guides-viewer{width:var(--snk-guides-viewer__guide-navigator--width);max-width:var(--snk-guides-viewer__guide-navigator--width);min-width:var(--snk-guides-viewer__guide-navigator--width)}.snk-guides-viewer__detail-content.sc-snk-guides-viewer{min-height:100%;align-items:flex-start;align-content:flex-start}";
47
47
 
48
48
  const FORM_NAME_PREFIX = "__FORM:";
49
49
  const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
@@ -425,7 +425,7 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
425
425
  }
426
426
  buildTaskBar() {
427
427
  var _a;
428
- return h("div", { class: `ez-col ez-flex-item--align-center ez-col--sd-6 ez-col--tb-6 ${this.presentationMode != PresentationMode.SECONDARY ? 'ez-align--right' : 'ez-padding-bottom--medium'}` }, h("snk-taskbar", { key: "guideViewerTaskbar", "data-element-id": "guideViewer", configName: this.configName, buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, actionsList: this.getActionsList(), messagesBuilder: this.messagesBuilder, presentationMode: this.presentationMode, primaryButton: ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? "SAVE" : "INSERT", "data-taskbar-owner": "master", dataUnit: this.dataUnit, resourceID: this.resourceID, customSlotId: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" }, h("slot", { name: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" })));
428
+ return h("div", { class: `snk-guides-viewer__header-taskbar ${this.presentationMode != PresentationMode.SECONDARY ? 'ez-align--right' : 'ez-padding-bottom--medium'}` }, h("snk-taskbar", { key: "guideViewerTaskbar", "data-element-id": "guideViewer", configName: this.configName, buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, actionsList: this.getActionsList(), messagesBuilder: this.messagesBuilder, presentationMode: this.presentationMode, primaryButton: ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? "SAVE" : "INSERT", "data-taskbar-owner": "master", dataUnit: this.dataUnit, resourceID: this.resourceID, customSlotId: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS", alignRigth: true }, h("slot", { name: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" })));
429
429
  }
430
430
  async dataUnitActionHandler(action) {
431
431
  var _a;
@@ -484,7 +484,7 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
484
484
  }
485
485
  this.loadTaskbarProcessor();
486
486
  const showGuides = this._guides && (this._guides.length > 1);
487
- return (h("section", { class: "snk-guides-viewer" }, h("div", { class: "ez-row snk-guides-viewer__header" }, h("div", { class: "ez-col ez-col--sd-6 ez-col--tb-6 ez-flex--align-items-center ez-flex-item--align-center ez-padding-left--large", key: "header" }, h("ez-button", { onClick: () => this.exitViewer(), title: this.getMessage("snkCrud.goBackTitle"), mode: "icon", iconName: "arrow_back", class: "ez-padding-right--medium", size: "small" }), h("div", { class: "ez-flex ez-flex--column ez-flex-item--auto" }, h("h1", { class: "ez-title ez-title--primary ez-title--xlarge" }, this.getMessage("snkCrud.title")), ((_a = this._breadcrumbItems) === null || _a === void 0 ? void 0 : _a.length) > 1 &&
487
+ return (h("section", { class: "snk-guides-viewer" }, h("div", { class: "ez-row snk-guides-viewer__header" }, h("div", { class: "snk-guides-viewer__header-breadcrumb ez-flex--align-items-center ez-flex-item--align-center ez-padding-left--large", key: "header" }, h("ez-button", { onClick: () => this.exitViewer(), title: this.getMessage("snkCrud.goBackTitle"), mode: "icon", iconName: "arrow_back", class: "ez-padding-right--medium", size: "small" }), h("div", { class: "ez-flex ez-flex--column ez-flex-item--auto" }, h("h1", { class: "ez-title ez-title--primary ez-title--xlarge" }, this.getMessage("snkCrud.title")), ((_a = this._breadcrumbItems) === null || _a === void 0 ? void 0 : _a.length) > 1 &&
488
488
  h("div", { class: "ez-margin-top--extra-small" }, h("ez-breadcrumb", Object.assign({ items: this._breadcrumbItems, onSelectedItem: (evt) => this.onBreadcrumbClickHandler(evt === null || evt === void 0 ? void 0 : evt.detail) }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `${ElementIDUtils.getInternalIDInfo("breadcrumb")}` }))))), this.presentationMode != PresentationMode.SECONDARY && this.buildTaskBar()), h("div", { class: "snk-guides-viewer__container" }, showGuides ?
489
489
  h("ez-guide-navigator", { ref: (ref) => this._guideNavigator = ref, class: "snk-guides-viewer__guide-navigator", items: this._guides, selectedId: this.selectedGuide ? this.selectedGuide.id : undefined, onEzSelectionChange: evt => this.updateSelectedGuideHandler(evt.detail) })
490
490
  :
@@ -62,16 +62,18 @@ const SnkEntityList$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
62
62
  this.loadListSource();
63
63
  }
64
64
  optionLoader(searchArgument) {
65
- var _a, _b, _c, _d;
65
+ var _a, _b, _c, _d, _e, _f;
66
66
  const { mode, argument } = searchArgument;
67
67
  if (this._application === undefined) {
68
68
  return;
69
69
  }
70
70
  const searchOptions = (_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.props) === null || _b === void 0 ? void 0 : _b.searchContext) === null || _c === void 0 ? void 0 : _c.searchOptions;
71
+ const criteria = (_e = (_d = this.config) === null || _d === void 0 ? void 0 : _d.props) === null || _e === void 0 ? void 0 : _e.criteria;
71
72
  const options = {
72
- entityDescription: (_d = this.config) === null || _d === void 0 ? void 0 : _d.label,
73
+ entityDescription: (_f = this.config) === null || _f === void 0 ? void 0 : _f.label,
73
74
  entity: this._entityName,
74
- searchOptions: searchOptions
75
+ searchOptions: searchOptions,
76
+ criteria,
75
77
  };
76
78
  return this._application.executePreparedSearch(mode, argument, options);
77
79
  }
@@ -209,11 +209,12 @@ function buildPersonalized(item) {
209
209
  }
210
210
 
211
211
  class SnkFilterModalFactory {
212
- constructor({ filterConfig, configName, onComplete, getMessage, onAddPersonalizedFilter, onEditPersonalizedFilter, onDeletePersonalizedFilter }) {
212
+ constructor({ filterConfig, configName, onComplete, getMessage, disablePersonalizedFilter, onAddPersonalizedFilter, onEditPersonalizedFilter, onDeletePersonalizedFilter }) {
213
213
  this._filterConfig = filterConfig;
214
214
  this._configName = configName;
215
215
  this._onComplete = onComplete;
216
216
  this._getMessage = getMessage;
217
+ this._disablePersonalizedFilter = disablePersonalizedFilter;
217
218
  this._addPersonalizedFilterFn = onAddPersonalizedFilter;
218
219
  this._editPersonalizedFilterFn = onEditPersonalizedFilter;
219
220
  this._onDeletePersonalizedFilter = onDeletePersonalizedFilter;
@@ -227,6 +228,7 @@ class SnkFilterModalFactory {
227
228
  filterModal.className = "ez-size-height--full";
228
229
  filterModal.filters = this._filterConfig;
229
230
  filterModal.configName = this._configName;
231
+ filterModal.disablePersonalizedFilter = this._disablePersonalizedFilter;
230
232
  filterModal.getMessage = this._getMessage.bind(this);
231
233
  filterModal.applyFilters = this.applyFilters.bind(this);
232
234
  filterModal.closeModal = () => this._closeModal();
@@ -261,6 +263,7 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
261
263
  this._updateSequence = [];
262
264
  this._loadingPending = false;
263
265
  this._configUpdated = false;
266
+ this._firstLoad = true;
264
267
  this._pendingVariables = false;
265
268
  this._customfiltersToBeUpdated = [];
266
269
  this._calculateSortIndex = (item) => {
@@ -281,6 +284,7 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
281
284
  this.resourceID = undefined;
282
285
  this.filterConfig = undefined;
283
286
  this.messagesBuilder = undefined;
287
+ this.disablePersonalizedFilter = undefined;
284
288
  this.allowDefault = undefined;
285
289
  this.scrollerLocked = false;
286
290
  this.showPersonalizedFilter = false;
@@ -413,13 +417,27 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
413
417
  return;
414
418
  }
415
419
  this._loadingPending = false;
416
- this.dataUnit.loadData(undefined, undefined, true);
420
+ this.doLoadData(this.dataUnit.getLastLoadRequest() != undefined);
417
421
  }
418
422
  if (this._configUpdated) {
419
423
  this._configUpdated = false;
420
424
  ConfigStorage.saveFilterBarConfig(this.filterConfig, this.configName, this.resourceID);
421
425
  }
422
426
  }
427
+ async doLoadData(forceReload = false) {
428
+ try {
429
+ if (this._firstLoad && !forceReload) {
430
+ let autoLoad = await this._application.getBooleanParam("global.carregar.registros.iniciar.tela");
431
+ if (!autoLoad) {
432
+ return;
433
+ }
434
+ }
435
+ this.dataUnit.loadData(undefined, undefined, true);
436
+ }
437
+ finally {
438
+ this._firstLoad = false;
439
+ }
440
+ }
423
441
  /**
424
442
  * Conforme mecanismo de mensagens, é possível customizar as mensagens dos blocos de construção
425
443
  * através de um pequeno modulo na estrutura da aplicação:
@@ -428,6 +446,9 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
428
446
  */
429
447
  getMessage(key, params, defaultValue) {
430
448
  var _a;
449
+ if (this.messagesBuilder == undefined && this._application) {
450
+ this.messagesBuilder = this._application.messagesBuilder;
451
+ }
431
452
  return ((_a = this.messagesBuilder) === null || _a === void 0 ? void 0 : _a.getMessage(key, params)) || defaultValue;
432
453
  }
433
454
  getFilter(_dataUnit) {
@@ -454,7 +475,7 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
454
475
  registryFilterProvider() {
455
476
  this.dataUnit.addFilterProvider(this);
456
477
  if (this.filterConfig) {
457
- this.dataUnit.loadData(undefined, undefined, true);
478
+ this.doLoadData();
458
479
  }
459
480
  }
460
481
  itemFocused(selectedItem) {
@@ -589,6 +610,7 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
589
610
  filterConfig: filtersConfigCopy,
590
611
  configName: this.configName,
591
612
  onComplete: callbackOnApplyFilter,
613
+ disablePersonalizedFilter: this.disablePersonalizedFilter,
592
614
  getMessage: (key, props) => this.getMessage(key, props),
593
615
  onAddPersonalizedFilter: () => this.addPersonalizedFilter(),
594
616
  onEditPersonalizedFilter: (id) => this.editPersonalizedFilter(id),
@@ -660,6 +682,7 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
660
682
  "resourceID": [1, "resource-i-d"],
661
683
  "filterConfig": [1040],
662
684
  "messagesBuilder": [1040],
685
+ "disablePersonalizedFilter": [4, "disable-personalized-filter"],
663
686
  "allowDefault": [32],
664
687
  "scrollerLocked": [32],
665
688
  "showPersonalizedFilter": [32],
@@ -260,6 +260,9 @@ const SnkFilterItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
260
260
  }
261
261
  canClearFilter() {
262
262
  const { value, groupedItems = [] } = this.config;
263
+ if (value != undefined && this.config.type === FilterItemType.MULTI_LIST) {
264
+ return value.some((item) => item.check);
265
+ }
263
266
  return value !== undefined || groupedItems.some(item => item.visible);
264
267
  }
265
268
  getRightIconName() {
@@ -22,6 +22,7 @@ const SnkFilterModal$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
22
22
  this.editPersonalizedFilter = undefined;
23
23
  this.deletePersonalizedFilter = undefined;
24
24
  this.filtersToDelete = [];
25
+ this.disablePersonalizedFilter = undefined;
25
26
  }
26
27
  /**
27
28
  * Emitido quando um filtro personalizado é deletado.
@@ -236,7 +237,7 @@ const SnkFilterModal$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
236
237
  const customFilters = this.filters.filter(filter => filter.filterType === FilterType.CUSTOM_FILTER);
237
238
  const quickFilters = this.filters.filter(filter => filter.filterType === FilterType.QUICK_FILTER);
238
239
  const otherFilters = this.filters.filter(filter => filter.filterType === FilterType.OTHER_FILTERS);
239
- return (h("ez-modal-container", { class: "snk-filter-modal__container", modalTitle: this._modalTitle, cancelButtonLabel: this._cancelButtonLabel, okButtonLabel: this._okButtonLabel, onEzModalAction: this.modalActionListener.bind(this) }, h("div", { class: "snk-filter-modal__content ez-col--sd-12" }, this.renderCollapsibleFilterBox(this.getCustomMessage('customFilters'), customFilters, false, false), this.renderCollapsibleFilterBox(this.getCustomMessage('quickFilters'), quickFilters, false), otherFilters.map(filter => this.renderCollapsibleFilterBox(filter.label, [filter], true)))));
240
+ return (h("ez-modal-container", { class: "snk-filter-modal__container", modalTitle: this._modalTitle, cancelButtonLabel: this._cancelButtonLabel, okButtonLabel: this._okButtonLabel, onEzModalAction: this.modalActionListener.bind(this) }, h("div", { class: "snk-filter-modal__content ez-col--sd-12" }, !this.disablePersonalizedFilter && this.renderCollapsibleFilterBox(this.getCustomMessage('customFilters'), customFilters, false, false), this.renderCollapsibleFilterBox(this.getCustomMessage('quickFilters'), quickFilters, false), otherFilters.map(filter => this.renderCollapsibleFilterBox(filter.label, [filter], true)))));
240
241
  }
241
242
  static get style() { return snkFilterModalCss; }
242
243
  }, [0, "snk-filter-modal", {
@@ -248,7 +249,8 @@ const SnkFilterModal$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
248
249
  "addPersonalizedFilter": [16],
249
250
  "editPersonalizedFilter": [16],
250
251
  "deletePersonalizedFilter": [16],
251
- "filtersToDelete": [16]
252
+ "filtersToDelete": [16],
253
+ "disablePersonalizedFilter": [4, "disable-personalized-filter"]
252
254
  }, [[0, "deleteFilter", "deletePersonalizedFilterListener"]]]);
253
255
  function defineCustomElement$1() {
254
256
  if (typeof customElements === "undefined") {
@@ -14,7 +14,8 @@ const SnkFilterMultiSelect$1 = /*@__PURE__*/ proxyCustomElement(class extends HT
14
14
  * Emitido quando acontece a alteração de valor do componente snk-filter-multi-select
15
15
  */
16
16
  ezChangeListener(evt) {
17
- this.value = evt.detail.value;
17
+ var _a;
18
+ this.value = (_a = evt.detail) === null || _a === void 0 ? void 0 : _a.value;
18
19
  this.valueChanged.emit(this.value);
19
20
  }
20
21
  /**
@@ -74,6 +74,7 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
74
74
  this.taskbarCustomContainerId = undefined;
75
75
  this.gridHeaderCustomSlotId = 'GRID_HEADER_CUSTOM_ELEMENTS';
76
76
  this.topTaskbarCustomSlotId = 'GRID_TASKBAR_CUSTOM_ELEMENTS';
77
+ this.disablePersonalizedFilter = undefined;
77
78
  }
78
79
  /**
79
80
  * Exibe a janela de configurações da grade.
@@ -421,7 +422,7 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
421
422
  return undefined;
422
423
  }
423
424
  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 &&
424
- h(Fragment, null, h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, 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) }), 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 }, 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", { 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 }))));
425
+ h(Fragment, null, h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, 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 }))));
425
426
  }
426
427
  get _element() { return this; }
427
428
  static get style() { return snkGridCss; }
@@ -443,6 +444,7 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
443
444
  "taskbarCustomContainerId": [1, "taskbar-custom-container-id"],
444
445
  "gridHeaderCustomSlotId": [1, "grid-header-custom-slot-id"],
445
446
  "topTaskbarCustomSlotId": [1, "top-taskbar-custom-slot-id"],
447
+ "disablePersonalizedFilter": [4, "disable-personalized-filter"],
446
448
  "_dataUnit": [32],
447
449
  "_dataState": [32],
448
450
  "_gridConfig": [32],
@@ -1,7 +1,7 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
2
  import { ObjectUtils, StringUtils, ElementIDUtils } from '@sankhyalabs/core';
3
3
 
4
- const snkPesquisaCss = ".sc-snk-pesquisa-h{--snk-pesquisa--font-size:var(--text--medium, 14px);--snk-pesquisa--font-family:var(--font-pattern, Arial);--snk-pesquisa--font-weight:var(--text-weight--medium, 400);--snk-pesquisa__records--color:var(--text--primary, #626e82);--snk-pesquisa__records--padding-vertical:var(--space--medium, 12px);--snk-pesquisa__content--padding-right:var(--space--small, 6px);--snk-pesquisa__btn--color:var(--title--primary, #2B3A54);--snk-pesquisa__btn-disabled--color:var(--text--disable, #AFB6C0);--snk-pesquisa__btn-hover--color:var(--color--primary, #4e4e4e);--snk-pesquisa__scrollbar--color-default:var(--scrollbar--default, #626e82);--snk-pesquisa__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--snk-pesquisa__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--snk-pesquisa__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--snk-pesquisa__scrollbar--border-radius:var(--border--radius-small, 6px);--snk-pesquisa__scrollbar--width:var(--space--medium, 12px);max-height:100%;height:100%;display:flex;flex-direction:column;overflow-y:auto}.snk-pesquisa.sc-snk-pesquisa{display:flex;flex-direction:column;height:100%}.snk-pesquisa__input.sc-snk-pesquisa{display:flex;width:100%;box-sizing:border-box;padding-top:4px;padding-right:4px}.snk-pesquisa__input.sc-snk-pesquisa ez-icon.sc-snk-pesquisa{--ez-icon--color:inherit;font-weight:var(--text-weight--large, 600)}.snk-pesquisa__content.sc-snk-pesquisa{display:flex;flex-direction:column;height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--snk-pesquisa__scrollbar--color-clicked) var(--snk-pesquisa__scrollbar--color-background);padding-right:var(--snk-pesquisa__content--padding-right)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar{background-color:var(--snk-pesquisa__scrollbar--color-background);width:var(--snk-pesquisa__scrollbar--width);max-width:var(--snk-pesquisa__scrollbar--width);min-width:var(--snk-pesquisa__scrollbar--width)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-track{background-color:var(--snk-pesquisa__scrollbar--color-background);border-radius:var(--snk-pesquisa__scrollbar--border-radius)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-thumb{background-color:var(--snk-pesquisa__scrollbar--color-default);border-radius:var(--snk-pesquisa__scrollbar--border-radius)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-thumb:vertical:hover,.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--snk-pesquisa__scrollbar--color-hover)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-thumb:vertical:active,.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--snk-pesquisa__scrollbar--color-clicked)}.snk-pesquisa__records.sc-snk-pesquisa{font-family:var(--snk-pesquisa--font-family);font-weight:var(--snk-pesquisa--font-weight);font-size:var(--snk-pesquisa--font-size);color:var(--snk-pesquisa__records--color);padding-bottom:var(--snk-pesquisa__records--padding-vertical);padding-top:var(--snk-pesquisa__records--padding-vertical)}.snk-pesquisa__btn.sc-snk-pesquisa{outline:none;border:none;background:none;cursor:pointer;color:var(--snk-pesquisa__btn--color)}.snk-pesquisa__btn.sc-snk-pesquisa:disabled{cursor:unset;color:var(--snk-pesquisa__btn-disabled--color)}.snk-pesquisa__btn.sc-snk-pesquisa:disabled:hover{cursor:unset;color:var(--snk-pesquisa__btn-disabled--color)}.snk-pesquisa__btn.sc-snk-pesquisa:hover{color:var(--snk-pesquisa__btn-hover--color)}";
4
+ const snkPesquisaCss = ".sc-snk-pesquisa-h{--snk-pesquisa--font-size:var(--text--medium, 14px);--snk-pesquisa--font-family:var(--font-pattern, Arial);--snk-pesquisa--font-weight:var(--text-weight--medium, 400);--snk-pesquisa__records--color:var(--text--primary, #626e82);--snk-pesquisa__records--padding-vertical:var(--space--medium, 12px);--snk-pesquisa__content--padding-right:var(--space--small, 6px);--snk-pesquisa__btn--color:var(--title--primary, #2B3A54);--snk-pesquisa__btn-disabled--color:var(--text--disable, #AFB6C0);--snk-pesquisa__btn-hover--color:var(--color--primary, #4e4e4e);--snk-pesquisa__scrollbar--color-default:var(--scrollbar--default, #626e82);--snk-pesquisa__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--snk-pesquisa__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--snk-pesquisa__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--snk-pesquisa__scrollbar--border-radius:var(--border--radius-small, 6px);--snk-pesquisa__scrollbar--width:var(--space--medium, 12px);height:100%;display:flex;flex-direction:column;overflow-y:auto}.snk-pesquisa.sc-snk-pesquisa{display:flex;flex-direction:column;height:100%}.snk-pesquisa__input.sc-snk-pesquisa{display:flex;width:100%;box-sizing:border-box;padding-top:4px;padding-right:4px}.snk-pesquisa__input.sc-snk-pesquisa ez-icon.sc-snk-pesquisa{--ez-icon--color:inherit;font-weight:var(--text-weight--large, 600)}.snk-pesquisa__content.sc-snk-pesquisa{display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--snk-pesquisa__scrollbar--color-clicked) var(--snk-pesquisa__scrollbar--color-background);padding-right:var(--snk-pesquisa__content--padding-right)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar{background-color:var(--snk-pesquisa__scrollbar--color-background);width:var(--snk-pesquisa__scrollbar--width);max-width:var(--snk-pesquisa__scrollbar--width);min-width:var(--snk-pesquisa__scrollbar--width)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-track{background-color:var(--snk-pesquisa__scrollbar--color-background);border-radius:var(--snk-pesquisa__scrollbar--border-radius)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-thumb{background-color:var(--snk-pesquisa__scrollbar--color-default);border-radius:var(--snk-pesquisa__scrollbar--border-radius)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-thumb:vertical:hover,.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--snk-pesquisa__scrollbar--color-hover)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-thumb:vertical:active,.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--snk-pesquisa__scrollbar--color-clicked)}.snk-pesquisa__records.sc-snk-pesquisa{font-family:var(--snk-pesquisa--font-family);font-weight:var(--snk-pesquisa--font-weight);font-size:var(--snk-pesquisa--font-size);color:var(--snk-pesquisa__records--color);padding-bottom:var(--snk-pesquisa__records--padding-vertical);padding-top:var(--snk-pesquisa__records--padding-vertical)}.snk-pesquisa__btn.sc-snk-pesquisa{outline:none;border:none;background:none;cursor:pointer;color:var(--snk-pesquisa__btn--color)}.snk-pesquisa__btn.sc-snk-pesquisa:disabled{cursor:unset;color:var(--snk-pesquisa__btn-disabled--color)}.snk-pesquisa__btn.sc-snk-pesquisa:disabled:hover{cursor:unset;color:var(--snk-pesquisa__btn-disabled--color)}.snk-pesquisa__btn.sc-snk-pesquisa:hover{color:var(--snk-pesquisa__btn-hover--color)}";
5
5
 
6
6
  const SnkPesquisa = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
7
7
  constructor() {
@@ -51,6 +51,8 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
51
51
  this.taskbarManager = undefined;
52
52
  this.messagesBuilder = undefined;
53
53
  this.useEnterLikeTab = false;
54
+ this.actionsList = undefined;
55
+ this.configName = undefined;
54
56
  }
55
57
  resolveInMemoryBtns(taskbarButtons) {
56
58
  const newTaskBarConfig = [...taskbarButtons];
@@ -249,7 +251,7 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
249
251
  }
250
252
  getActionsList() {
251
253
  var _a, _b;
252
- return [{
254
+ const hardList = [{
253
255
  value: StringUtils.generateUUID(),
254
256
  label: (_b = (_a = this.messagesBuilder) === null || _a === void 0 ? void 0 : _a.getMessage("snkSimpleCrud.findColumn", undefined)) !== null && _b !== void 0 ? _b : "Buscar",
255
257
  disableCloseOnSelect: true,
@@ -258,6 +260,16 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
258
260
  ? this.getColumnSearch(actionButton, item)
259
261
  : this.getFieldSearch(actionButton, item)
260
262
  }];
263
+ if (this.taskbarManager != undefined && this.taskbarManager.getMoreOptions != undefined) {
264
+ const taskbarID = this.getTopTaskBarId();
265
+ return hardList.concat(this.taskbarManager.getMoreOptions(taskbarID, this.configName, this.dataState, this.actionsList));
266
+ }
267
+ return hardList.concat(this.actionsList);
268
+ }
269
+ getTopTaskBarId() {
270
+ var _a;
271
+ return ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? `snkGridTopTaskbar.finish_edition${PresentationMode.PRIMARY}` :
272
+ `snkGridTopTaskbar.regular${PresentationMode.PRIMARY}`;
261
273
  }
262
274
  async keyDownListener(event) {
263
275
  if (!event.ctrlKey || event.key == undefined || event.key.toUpperCase() !== "F") {
@@ -319,6 +331,8 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
319
331
  "taskbarManager": [16],
320
332
  "messagesBuilder": [1040],
321
333
  "useEnterLikeTab": [4, "use-enter-like-tab"],
334
+ "actionsList": [16],
335
+ "configName": [1025, "config-name"],
322
336
  "_currentViewMode": [32],
323
337
  "_config": [32],
324
338
  "_fieldToGetFocus": [32],
@@ -1,5 +1,5 @@
1
1
  import { h, proxyCustomElement, HTMLElement, createEvent, Host } from '@stencil/core/internal/client';
2
- import { StringUtils, ApplicationContext, ElementIDUtils } from '@sankhyalabs/core';
2
+ import { StringUtils, ApplicationContext, OVERFLOWED_CLASS_NAME, OverflowWatcher, OverflowDirection, ElementIDUtils } from '@sankhyalabs/core';
3
3
  import { A as AuthorizationConfig } from './AuthorizationConfig.js';
4
4
  import { P as PresentationMode } from './index2.js';
5
5
  import { s as store } from './index3.js';
@@ -121,7 +121,7 @@ function actionButton(element, dataElementId, title, isEnabled, actions, action)
121
121
  : undefined;
122
122
  }
123
123
 
124
- const snkTaskbarCss = ".sc-snk-taskbar-h{display:flex}";
124
+ const snkTaskbarCss = ".sc-snk-taskbar-h{display:flex;flex-wrap:wrap}.no-wrap.sc-snk-taskbar-h{flex-wrap:nowrap}.full-width.sc-snk-taskbar-h{width:100%}.align-right.sc-snk-taskbar-h{justify-content:flex-end}.overflowed.sc-snk-taskbar{display:none}";
125
125
 
126
126
  const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
127
127
  constructor() {
@@ -129,6 +129,8 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
129
129
  this.__registerHost();
130
130
  this.actionClick = createEvent(this, "actionClick", 7);
131
131
  this.TASKBAR_ITEM_ID_PREFIX = 'TASKBAR_ITEM_';
132
+ this.TASKBAR_CUSTOM_ELEMENTS_CONTAINER_CLASS_NAME = 'taskbar-custom-elements-container';
133
+ this.ACTIONS_BUTTON_TAG = 'TASKBAR-ACTIONS-BUTTON';
132
134
  this._titleKeyByElement = {
133
135
  [TaskbarElement.UPDATE]: "snkTaskbar.titleUpdate",
134
136
  [TaskbarElement.PREVIOUS]: "snkTaskbar.titlePrevious",
@@ -146,11 +148,14 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
146
148
  [TaskbarElement.ATTACH]: "snkTaskbar.titleAttach",
147
149
  };
148
150
  this._permissions = undefined;
151
+ this._overFlowedElements = [];
149
152
  this._customElements = undefined;
150
153
  this._customElementsId = undefined;
151
154
  this._slotContainer = undefined;
155
+ this.alignRigth = false;
152
156
  this.customSlotId = "TASKBAR_CUSTOM_ELEMENTS";
153
157
  this.customContainerId = undefined;
158
+ this.overflowStrategy = 'hiddenItems';
154
159
  this.configName = undefined;
155
160
  this.resourceID = undefined;
156
161
  this.buttons = undefined;
@@ -164,6 +169,7 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
164
169
  }
165
170
  observeButtons() {
166
171
  this._definitions = undefined;
172
+ requestAnimationFrame(() => { var _a; return (_a = this._overFlowWatcher) === null || _a === void 0 ? void 0 : _a.forceUpdate(); });
167
173
  }
168
174
  // Internal methods
169
175
  elementsFromString(strButtons) {
@@ -344,15 +350,52 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
344
350
  }
345
351
  this.validatePresentationMode();
346
352
  }
353
+ handleOverFlow(overFlowingElements) {
354
+ const elementsToHandle = overFlowingElements.filter(element => !this.hasToIgnoreOverFlow(element));
355
+ this.resetOverFlowedElements();
356
+ this.doOverFlowElements(elementsToHandle);
357
+ }
358
+ resetOverFlowedElements() {
359
+ this._overFlowedElements.forEach(element => {
360
+ element.classList.remove(OVERFLOWED_CLASS_NAME);
361
+ });
362
+ this._overFlowedElements = [];
363
+ }
364
+ doOverFlowElements(overFlowedElements) {
365
+ overFlowedElements.forEach(element => {
366
+ element.classList.add(OVERFLOWED_CLASS_NAME);
367
+ this._overFlowedElements.push(element);
368
+ });
369
+ }
370
+ hasToIgnoreOverFlow(element) {
371
+ return element.classList.contains(this.TASKBAR_CUSTOM_ELEMENTS_CONTAINER_CLASS_NAME);
372
+ }
373
+ handleOverFlowStrategy() {
374
+ if (this.overflowStrategy === 'hiddenItems') {
375
+ this._overFlowWatcher = new OverflowWatcher(this.buildOverFlowWatcherParams());
376
+ }
377
+ }
378
+ buildOverFlowWatcherParams() {
379
+ return {
380
+ element: this._element,
381
+ callback: this.handleOverFlow.bind(this),
382
+ overFlowDirection: OverflowDirection.HORIZONTAL,
383
+ deltaSize: 1,
384
+ notOverFlow: ["moreOptions"]
385
+ };
386
+ }
347
387
  componentDidLoad() {
348
388
  const dataInfo = { dataUnit: this.dataUnit };
349
389
  ElementIDUtils.addIDInfo(this._element, null, dataInfo);
390
+ this.handleOverFlowStrategy();
350
391
  }
351
392
  componentDidRender() {
352
393
  this.appendCustomElementsInTaskbar();
353
394
  }
354
395
  disconnectedCallback() {
396
+ var _a;
355
397
  this.unlinkAllCustomElements();
398
+ (_a = this._overFlowWatcher) === null || _a === void 0 ? void 0 : _a.destroy();
356
399
  }
357
400
  unlinkAllCustomElements() {
358
401
  var _a;
@@ -370,7 +413,7 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
370
413
  return undefined;
371
414
  }
372
415
  let index = 0;
373
- return (h(Host, null, this.removeEmpty(this._definitions.map((elem) => {
416
+ return (h(Host, { class: this.getHostClasses() }, this.removeEmpty(this._definitions.map((elem) => {
374
417
  var _a;
375
418
  if (elem === TaskbarElement.DIVIDER) {
376
419
  index = 0;
@@ -388,7 +431,12 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
388
431
  return this.addCustomElementContainer(elem);
389
432
  }
390
433
  return h("slot", { name: elem });
391
- })), h("div", { class: "taskbar-custom-elements-container" }, h("slot", { name: this.customSlotId }))));
434
+ })), h("div", { class: this.TASKBAR_CUSTOM_ELEMENTS_CONTAINER_CLASS_NAME }, h("slot", { name: this.customSlotId }))));
435
+ }
436
+ getHostClasses() {
437
+ if (this.overflowStrategy !== 'hiddenItems')
438
+ return 'no-wrap';
439
+ return `full-width ${this.alignRigth ? 'align-right' : ""}`;
392
440
  }
393
441
  get _element() { return this; }
394
442
  static get watchers() { return {
@@ -396,8 +444,10 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
396
444
  }; }
397
445
  static get style() { return snkTaskbarCss; }
398
446
  }, [6, "snk-taskbar", {
447
+ "alignRigth": [4, "align-rigth"],
399
448
  "customSlotId": [1, "custom-slot-id"],
400
449
  "customContainerId": [1, "custom-container-id"],
450
+ "overflowStrategy": [1, "overflow-strategy"],
401
451
  "configName": [1, "config-name"],
402
452
  "resourceID": [1, "resource-i-d"],
403
453
  "buttons": [1],
@@ -409,6 +459,7 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
409
459
  "presentationMode": [1537, "presentation-mode"],
410
460
  "messagesBuilder": [1040],
411
461
  "_permissions": [32],
462
+ "_overFlowedElements": [32],
412
463
  "_customElements": [32],
413
464
  "_customElementsId": [32],
414
465
  "_slotContainer": [32]
@@ -67,12 +67,28 @@ const TaskbarActionsButton = /*@__PURE__*/ proxyCustomElement(class extends HTML
67
67
  return this._showDropdown && ((_a = this.actions) === null || _a === void 0 ? void 0 : _a.length) > 0;
68
68
  }
69
69
  onSelectAction(iAction) {
70
- const selectedAction = this.actions.find(action => action.value === iAction.id);
70
+ const actions = this.actions.map(action => (Object.assign(Object.assign({}, action), { id: action.value })));
71
+ const selectedAction = this.getSelectedAction(iAction.id, actions);
71
72
  this.taskbarActionSelected.emit(selectedAction);
72
73
  if (!selectedAction.disableCloseOnSelect) {
73
74
  this._showDropdown = false;
74
75
  }
75
76
  }
77
+ getSelectedAction(id, actions) {
78
+ let selectedItem = null;
79
+ for (const item of actions) {
80
+ if (item.id === id) {
81
+ selectedItem = item;
82
+ break;
83
+ }
84
+ if (!(item === null || item === void 0 ? void 0 : item.children))
85
+ continue;
86
+ selectedItem = this.getSelectedAction(id, item.children);
87
+ if (selectedItem)
88
+ break;
89
+ }
90
+ return selectedItem;
91
+ }
76
92
  dropdownItemBuilder(item, _level) {
77
93
  const itemAction = this.actions.find(action => action.value === item.id);
78
94
  if (!itemAction || !itemAction.itemBuilder) {
@@ -1,7 +1,7 @@
1
- import { R as ResourceFetcher, F as FormConfigFetcher } from './form-config-fetcher-36219cd3.js';
1
+ import { R as ResourceFetcher, F as FormConfigFetcher } from './form-config-fetcher-f121f880.js';
2
2
  import { F as FilterItemType } from './filter-item-type.enum-d45e026f.js';
3
3
  import { ObjectUtils } from '@sankhyalabs/core';
4
- import { d as dist, D as DataFetcher } from './DataFetcher-aa159c5a.js';
4
+ import { d as dist, D as DataFetcher } from './DataFetcher-a650ae58.js';
5
5
 
6
6
  class GridConfigFetcher extends ResourceFetcher {
7
7
  constructor() {
@@ -6786,7 +6786,6 @@ class DataFetcher {
6786
6786
  if (http.readyState == 4 && http.status == 200) {
6787
6787
  try {
6788
6788
  const jsonResp = JSON.parse(http.responseText);
6789
- await this.processServiceBrokerClientEvents({ clientEvents: jsonResp === null || jsonResp === void 0 ? void 0 : jsonResp.clientEvents, serviceName, payloadJson, accept, reject });
6790
6789
  /**
6791
6790
  * Este trecho difere do projeto HTML5 devido à decisão de adotar uma abordagem síncrona para esta chamada. Isso é justificado pelo fato de que, no cenário em questão, a abordagem assíncrona teria impactos negativos.
6792
6791
  *
@@ -6797,8 +6796,10 @@ class DataFetcher {
6797
6796
  if (this.isServiceBrokerError(jsonResp)) {
6798
6797
  reject(this.processServiceBrokerErrorInfo(jsonResp));
6799
6798
  }
6800
- else if (jsonResp.status == DataFetcher.SERVICE_BROKER_STATUS.SERVICE_CANCELED && jsonResp.statusMessage) {
6801
- console.debug(`[DataFetcher] ${jsonResp.statusMessage}`);
6799
+ else if (jsonResp.status == DataFetcher.SERVICE_BROKER_STATUS.SERVICE_CANCELED) {
6800
+ if (jsonResp.statusMessage) {
6801
+ console.debug(`[DataFetcher] ${jsonResp.statusMessage}`);
6802
+ }
6802
6803
  }
6803
6804
  else {
6804
6805
  accept(jsonResp.responseBody);
@@ -6806,6 +6807,7 @@ class DataFetcher {
6806
6807
  (_a = this.application) === null || _a === void 0 ? void 0 : _a.info(jsonResp.statusMessage);
6807
6808
  }
6808
6809
  }
6810
+ this.processServiceBrokerClientEvents({ clientEvents: jsonResp === null || jsonResp === void 0 ? void 0 : jsonResp.clientEvents, serviceName, payloadJson, accept, reject });
6809
6811
  }
6810
6812
  catch (err) {
6811
6813
  console.warn(`Erro ao executar serviço: ${err}`);
@@ -3,6 +3,7 @@ var SaveErrorsEnum;
3
3
  SaveErrorsEnum["LINK_AND_FILE_AT_THE_SAME_TIME"] = "LINK_AND_FILE_AT_THE_SAME_TIME";
4
4
  SaveErrorsEnum["ANY_LINK_OR_FILE_FILLED"] = "ANY_LINK_OR_FILE_FILLED";
5
5
  SaveErrorsEnum["UNKNOWN"] = "UNKNOWN";
6
+ SaveErrorsEnum["DESCRIPTION_CANNOT_BE_CHANGED"] = "DESCRIPTION_CANNOT_BE_CHANGED";
6
7
  })(SaveErrorsEnum || (SaveErrorsEnum = {}));
7
8
 
8
9
  export { SaveErrorsEnum as S };
@@ -1,6 +1,6 @@
1
- import { C as ConfigStorage } from './ConfigStorage-4151acc8.js';
1
+ import { C as ConfigStorage } from './ConfigStorage-39ed8aeb.js';
2
2
  import { ObjectUtils, StringUtils } from '@sankhyalabs/core';
3
- import { F as FormConfigFetcher } from './form-config-fetcher-36219cd3.js';
3
+ import { F as FormConfigFetcher } from './form-config-fetcher-f121f880.js';
4
4
 
5
5
  class SnkFormConfigManager {
6
6
  constructor(configName, resourceID, onConfigChange) {