@sankhyalabs/sankhyablocks 8.15.3 → 8.16.0-dev.10

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 (234) hide show
  1. package/dist/cjs/{ConfigStorage-942ce74b.js → ConfigStorage-a343e418.js} +1 -0
  2. package/dist/cjs/{SnkMultiSelectionListDataSource-3c08d25c.js → IExporterProvider-597949f9.js} +94 -4
  3. package/dist/cjs/RecordIDUtils-3735135c.js +43 -0
  4. package/dist/cjs/{SnkFormConfigManager-f9dc0d28.js → SnkFormConfigManager-166cbd1f.js} +8 -7
  5. package/dist/cjs/{SnkMessageBuilder-66aa2557.js → SnkMessageBuilder-897ffd08.js} +9 -13
  6. package/dist/cjs/{pesquisa-fetcher-562d281f.js → dataunit-fetcher-688d3f05.js} +87 -180
  7. package/dist/cjs/{index-0922807b.js → index-1dfc7a6e.js} +5 -0
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/cjs/pesquisa-fetcher-680e198f.js +166 -0
  10. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  11. package/dist/cjs/snk-actions-button_4.cjs.entry.js +5 -3
  12. package/dist/cjs/snk-application.cjs.entry.js +35 -12
  13. package/dist/cjs/snk-attach.cjs.entry.js +71 -46
  14. package/dist/cjs/snk-crud.cjs.entry.js +101 -10
  15. package/dist/cjs/snk-data-exporter.cjs.entry.js +315 -85
  16. package/dist/cjs/snk-data-unit-8fa7917a.js +689 -0
  17. package/dist/cjs/snk-data-unit.cjs.entry.js +12 -2
  18. package/dist/cjs/snk-detail-view.cjs.entry.js +50 -10
  19. package/dist/cjs/snk-filter-bar.cjs.entry.js +6 -2
  20. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +1 -1
  21. package/dist/cjs/snk-form-config.cjs.entry.js +1 -1
  22. package/dist/cjs/snk-form-view.cjs.entry.js +67 -0
  23. package/dist/cjs/snk-form.cjs.entry.js +52 -7
  24. package/dist/cjs/snk-grid.cjs.entry.js +165 -108
  25. package/dist/cjs/{snk-guides-viewer-bb6087cd.js → snk-guides-viewer-9c682034.js} +43 -10
  26. package/dist/cjs/snk-guides-viewer.cjs.entry.js +9 -7
  27. package/dist/cjs/snk-personalized-filter.cjs.entry.js +1 -1
  28. package/dist/cjs/snk-simple-crud.cjs.entry.js +268 -40
  29. package/dist/cjs/snk-taskbar.cjs.entry.js +4 -3
  30. package/dist/cjs/{taskbar-elements-3ecd1278.js → taskbar-elements-9ad1f9c0.js} +3 -3
  31. package/dist/collection/collection-manifest.json +1 -1
  32. package/dist/collection/components/snk-application/snk-application.js +35 -11
  33. package/dist/collection/components/snk-attach/snk-attach.js +67 -44
  34. package/dist/collection/components/snk-crud/interfaces/PropsCustomEditor.js +1 -0
  35. package/dist/collection/components/snk-crud/interfaces/PropsCustomRender.js +1 -0
  36. package/dist/collection/components/snk-crud/snk-crud.js +305 -7
  37. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +136 -2
  38. package/dist/collection/components/snk-crud/subcomponents/snk-form-view.js +161 -0
  39. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +134 -7
  40. package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +97 -0
  41. package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +74 -0
  42. package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +54 -1
  43. package/dist/collection/components/snk-data-exporter/interfaces/IExporterStrategy.js +1 -0
  44. package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +58 -0
  45. package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +55 -0
  46. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +59 -52
  47. package/dist/collection/components/snk-data-exporter/structure/ItemBuilder.js +62 -0
  48. package/dist/collection/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.js +88 -0
  49. package/dist/collection/components/snk-data-exporter/utils/ParserExport.js +20 -0
  50. package/dist/collection/components/snk-data-exporter/utils/RecordIDUtils.js +38 -0
  51. package/dist/collection/components/snk-data-unit/snk-data-unit.js +538 -218
  52. package/dist/collection/components/snk-data-unit/test/resources/metadataMock.js +24 -0
  53. package/dist/collection/components/snk-data-unit/test/resources/parentMetadataMock.js +18 -0
  54. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +22 -1
  55. package/dist/collection/components/snk-form/snk-form.js +102 -5
  56. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +7 -6
  57. package/dist/collection/components/snk-form-config/snk-form-config.js +1 -1
  58. package/dist/collection/components/snk-grid/snk-grid.js +240 -101
  59. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +406 -20
  60. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +2 -2
  61. package/dist/collection/components/snk-taskbar/snk-taskbar.js +2 -1
  62. package/dist/collection/lib/@types/index.js +5 -0
  63. package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +35 -0
  64. package/dist/collection/lib/configs/ConfigStorage.js +1 -0
  65. package/dist/collection/lib/dataUnit/InMemoryLoader.js +7 -3
  66. package/dist/collection/lib/dataUnit/ValueFormatter.js +4 -0
  67. package/dist/collection/lib/dataUnit/interfaces/InMemoryLoaderConfig.js +1 -0
  68. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +3 -0
  69. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +4 -0
  70. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +11 -13
  71. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.js +1 -0
  72. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/IBuildRequestBodyLoadRowMetadata.js +1 -0
  73. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/IRowMetadata.js +1 -0
  74. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +53 -4
  75. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/test/resources/metadataMock.js +22 -0
  76. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +4 -4
  77. package/dist/collection/lib/message/SnkMessageBuilder.js +5 -12
  78. package/dist/collection/lib/message/resources/snk-data-exporter.msg.js +2 -0
  79. package/dist/collection/lib/message/resources/snk-data-unit.msg.js +2 -1
  80. package/dist/components/ConfigStorage.js +1 -0
  81. package/dist/components/{field-search.js → IExporterProvider.js} +93 -6
  82. package/dist/components/ISave.js +47 -0
  83. package/dist/components/SnkFormConfigManager.js +7 -6
  84. package/dist/components/SnkMessageBuilder.js +9 -13
  85. package/dist/components/dataunit-fetcher.js +84 -182
  86. package/dist/components/index2.js +198 -33
  87. package/dist/components/pesquisa-fetcher.js +164 -0
  88. package/dist/components/snk-actions-button2.js +4 -11
  89. package/dist/components/snk-application2.js +31 -9
  90. package/dist/components/snk-attach2.js +65 -41
  91. package/dist/components/snk-crud.js +110 -11
  92. package/dist/components/snk-data-exporter2.js +309 -85
  93. package/dist/components/snk-data-unit2.js +485 -216
  94. package/dist/components/snk-detail-view2.js +96 -14
  95. package/dist/components/snk-expression-item2.js +1 -1
  96. package/dist/components/snk-filter-bar2.js +6 -1
  97. package/dist/components/snk-form-config2.js +1 -1
  98. package/dist/components/snk-form-view2.js +72 -1
  99. package/dist/components/snk-form.js +53 -6
  100. package/dist/components/snk-grid2.js +168 -106
  101. package/dist/components/snk-personalized-filter2.js +1 -1
  102. package/dist/components/snk-simple-crud2.js +263 -25
  103. package/dist/components/snk-taskbar2.js +6 -5
  104. package/dist/esm/{ConfigStorage-86187da3.js → ConfigStorage-3806514e.js} +1 -0
  105. package/dist/esm/{SnkMultiSelectionListDataSource-6a879955.js → IExporterProvider-63a188b6.js} +93 -5
  106. package/dist/esm/RecordIDUtils-87d02110.js +41 -0
  107. package/dist/esm/{SnkFormConfigManager-f53f9f87.js → SnkFormConfigManager-31b24066.js} +8 -7
  108. package/dist/esm/{SnkMessageBuilder-0a4becdd.js → SnkMessageBuilder-571462fb.js} +9 -13
  109. package/dist/esm/{pesquisa-fetcher-c7ce8ee7.js → dataunit-fetcher-264191b2.js} +83 -181
  110. package/dist/esm/{index-0ece87a6.js → index-3aa4977a.js} +6 -1
  111. package/dist/esm/loader.js +1 -1
  112. package/dist/esm/pesquisa-fetcher-03c8f919.js +164 -0
  113. package/dist/esm/sankhyablocks.js +1 -1
  114. package/dist/esm/snk-actions-button_4.entry.js +5 -3
  115. package/dist/esm/snk-application.entry.js +34 -11
  116. package/dist/esm/snk-attach.entry.js +66 -41
  117. package/dist/esm/snk-crud.entry.js +101 -10
  118. package/dist/esm/snk-data-exporter.entry.js +316 -86
  119. package/dist/esm/snk-data-unit-f5cbe64b.js +687 -0
  120. package/dist/esm/snk-data-unit.entry.js +12 -2
  121. package/dist/esm/snk-detail-view.entry.js +50 -10
  122. package/dist/esm/snk-filter-bar.entry.js +6 -2
  123. package/dist/esm/snk-filter-modal-item.entry.js +1 -1
  124. package/dist/esm/snk-form-config.entry.js +1 -1
  125. package/dist/esm/snk-form-view.entry.js +67 -0
  126. package/dist/esm/snk-form.entry.js +52 -7
  127. package/dist/esm/snk-grid.entry.js +163 -106
  128. package/dist/esm/{snk-guides-viewer-1d95ebf2.js → snk-guides-viewer-8f6960a2.js} +43 -10
  129. package/dist/esm/snk-guides-viewer.entry.js +9 -7
  130. package/dist/esm/snk-personalized-filter.entry.js +1 -1
  131. package/dist/esm/snk-simple-crud.entry.js +256 -28
  132. package/dist/esm/snk-taskbar.entry.js +4 -3
  133. package/dist/esm/{taskbar-elements-2473c8ac.js → taskbar-elements-d59867f1.js} +3 -3
  134. package/dist/sankhyablocks/p-17def7cd.js +1 -0
  135. package/dist/sankhyablocks/p-1db45d26.entry.js +1 -0
  136. package/dist/sankhyablocks/p-28ee0972.js +1 -0
  137. package/dist/sankhyablocks/p-2a408684.js +1 -0
  138. package/dist/sankhyablocks/{p-eae7a817.entry.js → p-2c68b3ae.entry.js} +1 -1
  139. package/dist/sankhyablocks/p-30cf616e.js +1 -0
  140. package/dist/sankhyablocks/p-3a212712.js +1 -0
  141. package/dist/sankhyablocks/p-450c60e4.entry.js +1 -0
  142. package/dist/sankhyablocks/{p-a1d72395.entry.js → p-47db7e88.entry.js} +1 -1
  143. package/dist/sankhyablocks/p-4e5e1313.entry.js +1 -0
  144. package/dist/sankhyablocks/{p-aff76a53.js → p-52920496.js} +1 -1
  145. package/dist/sankhyablocks/p-62ba211a.entry.js +1 -0
  146. package/dist/sankhyablocks/p-6bb2f3e9.entry.js +1 -0
  147. package/dist/sankhyablocks/p-7505da04.entry.js +1 -0
  148. package/dist/sankhyablocks/p-7619bdb1.entry.js +11 -0
  149. package/dist/sankhyablocks/p-7a85fd49.entry.js +1 -0
  150. package/dist/sankhyablocks/{p-ae4fc9a9.js → p-7e7a7473.js} +1 -1
  151. package/dist/sankhyablocks/p-7ef9c55c.js +1 -0
  152. package/dist/sankhyablocks/p-80042dc6.entry.js +1 -0
  153. package/dist/sankhyablocks/p-8c59edd7.entry.js +1 -0
  154. package/dist/sankhyablocks/p-9606509c.entry.js +1 -0
  155. package/dist/sankhyablocks/p-9863d682.js +1 -0
  156. package/dist/sankhyablocks/p-ae93d46a.entry.js +1 -0
  157. package/dist/sankhyablocks/p-af8efd95.js +6 -0
  158. package/dist/sankhyablocks/p-d6e26ea8.entry.js +1 -0
  159. package/dist/sankhyablocks/p-f2809746.entry.js +1 -0
  160. package/dist/sankhyablocks/p-f4450320.entry.js +1 -0
  161. package/dist/sankhyablocks/p-fe79f83a.js +60 -0
  162. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  163. package/dist/types/components/snk-application/snk-application.d.ts +7 -3
  164. package/dist/types/components/snk-attach/snk-attach.d.ts +11 -9
  165. package/dist/types/components/snk-crud/interfaces/PropsCustomEditor.d.ts +4 -0
  166. package/dist/types/components/snk-crud/interfaces/PropsCustomRender.d.ts +4 -0
  167. package/dist/types/components/snk-crud/snk-crud.d.ts +45 -1
  168. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +23 -0
  169. package/dist/types/components/snk-crud/subcomponents/snk-form-view.d.ts +28 -3
  170. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +24 -0
  171. package/dist/types/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.d.ts +14 -0
  172. package/dist/types/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.d.ts +12 -0
  173. package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +24 -4
  174. package/dist/types/components/snk-data-exporter/interfaces/IExporterStrategy.d.ts +5 -0
  175. package/dist/types/components/snk-data-exporter/providers/ClientSideExporterProvider.d.ts +17 -0
  176. package/dist/types/components/snk-data-exporter/providers/ServerSideExporterProvider.d.ts +17 -0
  177. package/dist/types/components/snk-data-exporter/snk-data-exporter.d.ts +4 -1
  178. package/dist/types/components/snk-data-exporter/structure/ItemBuilder.d.ts +21 -0
  179. package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +77 -0
  180. package/dist/types/components/snk-data-exporter/utils/ParserExport.d.ts +4 -0
  181. package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +3 -0
  182. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +66 -2
  183. package/dist/types/components/snk-data-unit/test/resources/metadataMock.d.ts +3 -0
  184. package/dist/types/components/snk-data-unit/test/resources/parentMetadataMock.d.ts +3 -0
  185. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +4 -0
  186. package/dist/types/components/snk-form/snk-form.d.ts +14 -0
  187. package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +2 -2
  188. package/dist/types/components/snk-grid/snk-grid.d.ts +46 -6
  189. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +62 -4
  190. package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +1 -1
  191. package/dist/types/components.d.ts +261 -4
  192. package/dist/types/lib/@types/index.d.ts +5 -0
  193. package/dist/types/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.d.ts +11 -0
  194. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +2 -1
  195. package/dist/types/lib/dataUnit/ValueFormatter.d.ts +2 -0
  196. package/dist/types/lib/dataUnit/interfaces/InMemoryLoaderConfig.d.ts +3 -0
  197. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.d.ts +2 -1
  198. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +1 -0
  199. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.d.ts +1 -0
  200. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/IBuildRequestBodyLoadRowMetadata.d.ts +10 -0
  201. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/IRowMetadata.d.ts +7 -0
  202. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +6 -0
  203. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/test/resources/metadataMock.d.ts +20 -0
  204. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IExporterColumnMetadata.d.ts +3 -0
  205. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +2 -1
  206. package/dist/types/lib/http/data-fetcher/fetchers/pesquisa-fetcher.d.ts +1 -0
  207. package/package.json +1 -1
  208. package/dist/cjs/snk-data-unit-41c29713.js +0 -462
  209. package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/index.js +0 -34
  210. package/dist/components/index3.js +0 -199
  211. package/dist/esm/snk-data-unit-de1d140d.js +0 -460
  212. package/dist/sankhyablocks/p-032fe52e.js +0 -1
  213. package/dist/sankhyablocks/p-03dcc5ff.entry.js +0 -1
  214. package/dist/sankhyablocks/p-0594db5a.entry.js +0 -1
  215. package/dist/sankhyablocks/p-06e13db2.js +0 -1
  216. package/dist/sankhyablocks/p-07a61550.entry.js +0 -1
  217. package/dist/sankhyablocks/p-1403a4b6.entry.js +0 -1
  218. package/dist/sankhyablocks/p-14a08904.entry.js +0 -1
  219. package/dist/sankhyablocks/p-15802c59.entry.js +0 -1
  220. package/dist/sankhyablocks/p-235dc7b1.js +0 -65
  221. package/dist/sankhyablocks/p-32556aa6.js +0 -1
  222. package/dist/sankhyablocks/p-38289a55.js +0 -1
  223. package/dist/sankhyablocks/p-3c632d48.js +0 -1
  224. package/dist/sankhyablocks/p-3f833983.entry.js +0 -1
  225. package/dist/sankhyablocks/p-52c8e589.js +0 -1
  226. package/dist/sankhyablocks/p-5e1502b6.entry.js +0 -11
  227. package/dist/sankhyablocks/p-74d349c3.entry.js +0 -1
  228. package/dist/sankhyablocks/p-93167e28.entry.js +0 -1
  229. package/dist/sankhyablocks/p-add17f6a.entry.js +0 -1
  230. package/dist/sankhyablocks/p-bd47dd16.entry.js +0 -1
  231. package/dist/sankhyablocks/p-c1f88236.entry.js +0 -1
  232. package/dist/sankhyablocks/p-ccdd5332.entry.js +0 -1
  233. package/dist/sankhyablocks/p-ee9536bc.entry.js +0 -1
  234. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/index.d.ts +0 -3
@@ -30,6 +30,7 @@ export class SnkApplication {
30
30
  this._duPromises = new Map();
31
31
  this._requestListener = new RequestListenerLoadingBar();
32
32
  this._pendingActions = new Map;
33
+ this._loadPkParameter = null;
33
34
  this._isLoadedByPk = false;
34
35
  this.messagesBuilder = undefined;
35
36
  this.configName = undefined;
@@ -87,6 +88,12 @@ export class SnkApplication {
87
88
  });
88
89
  }
89
90
  }
91
+ watchPropHandler(newValue, _) {
92
+ if (newValue && this._loadPkParameter) {
93
+ this.loadByPK(this._loadPkParameter.pk, this._loadPkParameter.redirect);
94
+ this._loadPkParameter = null;
95
+ }
96
+ }
90
97
  /**
91
98
  * Obtém o controlador de teclado.
92
99
  *
@@ -361,12 +368,7 @@ export class SnkApplication {
361
368
  if (!waitingDu) {
362
369
  const dataUnit = this.dataUnitFetcher.getDataUnit(entityName, resourceID, parentDataUnit, configName);
363
370
  dataUnit.loadMetadata().then(() => {
364
- if (dataUnitName) {
365
- this.updateDataunitCache(undefined, dataUnitName, dataUnit);
366
- }
367
- while (duPromisses.length > 0) {
368
- duPromisses.pop().resolve(dataUnit);
369
- }
371
+ this.processResolveDataUnit(dataUnit, dataUnitName, duPromisses);
370
372
  }).catch(reason => {
371
373
  while (duPromisses.length > 0) {
372
374
  duPromisses.pop().reject(reason);
@@ -375,6 +377,14 @@ export class SnkApplication {
375
377
  }
376
378
  });
377
379
  }
380
+ processResolveDataUnit(dataUnit, dataUnitName, duPromisses) {
381
+ if (dataUnitName) {
382
+ this.updateDataunitCache(undefined, dataUnitName, dataUnit);
383
+ }
384
+ while (duPromisses.length > 0) {
385
+ duPromisses.pop().resolve(dataUnit);
386
+ }
387
+ }
378
388
  /**
379
389
  * Atualiza o cache de dataunits da aplicação.
380
390
  * @param oldName - Nome do dataunit que está em cache.
@@ -790,15 +800,23 @@ export class SnkApplication {
790
800
  return;
791
801
  const resourceIDfromUrl = this.getResourceIdFromToken();
792
802
  const pkObject = UrlUtils.getPkObjectFromUrlToken(top.window.location.hash);
793
- if (pkObject == undefined || resourceIDfromUrl !== this.applicationResourceID)
803
+ const redirectFrom = window["redirectFrom"];
804
+ if (pkObject === undefined) {
794
805
  return;
806
+ }
807
+ if (!redirectFrom || redirectFrom.split("_")[0].indexOf(resourceIDfromUrl.split("_")[0]) === -1) {
808
+ if (resourceIDfromUrl !== this.applicationResourceID) {
809
+ return;
810
+ }
811
+ }
795
812
  const pkParam = { pk: pkObject };
796
813
  this._isLoadedByPk = true;
797
814
  if (this.loadByPK) {
798
- this.loadByPK(pkParam);
815
+ this.loadByPK(pkParam, redirectFrom);
799
816
  this._currentPkParameter = pkHash;
800
817
  return;
801
818
  }
819
+ this._loadPkParameter = { pk: pkParam, redirect: redirectFrom };
802
820
  this.defaultLoadByPK(pkParam, pkHash);
803
821
  }
804
822
  getResourceIdFromToken() {
@@ -1077,10 +1095,10 @@ export class SnkApplication {
1077
1095
  "type": "unknown",
1078
1096
  "mutable": false,
1079
1097
  "complexType": {
1080
- "original": "(objPK :{pk: Record<string, any>}) => void",
1081
- "resolved": "(objPK: { pk: Record<string, any>; }) => void",
1098
+ "original": "LoadByPkHandler",
1099
+ "resolved": "(objPK: { pk: Record<string, any>; }, redirectFrom?: string) => void",
1082
1100
  "references": {
1083
- "Record": {
1101
+ "LoadByPkHandler": {
1084
1102
  "location": "global"
1085
1103
  }
1086
1104
  }
@@ -2488,6 +2506,12 @@ export class SnkApplication {
2488
2506
  };
2489
2507
  }
2490
2508
  static get elementRef() { return "_element"; }
2509
+ static get watchers() {
2510
+ return [{
2511
+ "propName": "loadByPK",
2512
+ "methodName": "watchPropHandler"
2513
+ }];
2514
+ }
2491
2515
  }
2492
2516
  class RequestListenerLoadingBar {
2493
2517
  constructor() {
@@ -1,9 +1,9 @@
1
- import { h } from "@stencil/core";
2
- import { DataUnit, ApplicationContext, Action } from "@sankhyalabs/core";
3
- import { AnexoSistemaFetcher, AttachFetcher, DataUnitFetcher } from "../../lib";
4
- import { VIEW_MODE } from "../../lib/utils/constants";
5
- import { AnexoSistemaDataUnitFactory, AttachFetcherDataUnitFactory, buildTaskBarManager, anexoSistemaCrudConfig, attachCrudConfig } from "./structure";
6
- import InMemoryLoader from "../../lib/dataUnit/InMemoryLoader";
1
+ import { h } from '@stencil/core';
2
+ import { Action, ApplicationContext, DataUnit } from '@sankhyalabs/core';
3
+ import { AnexoSistemaFetcher, AttachFetcher, DataUnitFetcher } from '../../lib';
4
+ import { VIEW_MODE } from '../../lib/utils/constants';
5
+ import { anexoSistemaCrudConfig, AnexoSistemaDataUnitFactory, attachCrudConfig, AttachFetcherDataUnitFactory, buildTaskBarManager, } from './structure';
6
+ import InMemoryLoader from '../../lib/dataUnit/InMemoryLoader';
7
7
  const RESOURCE_ID = 'AnexoSistema';
8
8
  const DATA_UNIT_NAME = 'br.com.sankhya.core.v3.anexoSistema';
9
9
  export class SnkAttach {
@@ -40,26 +40,37 @@ export class SnkAttach {
40
40
  this._currentDataUnit = undefined;
41
41
  this.crudConfig = undefined;
42
42
  }
43
- registerKeyWatcher(newRegisterKey, oldRegisterKey) {
44
- var _a, _b, _c, _d, _e, _f;
45
- if (!this._currentDataUnit) {
43
+ async registerKeyWatcher(newRegisterKey, oldRegisterKey) {
44
+ var _a;
45
+ if (this._currentDataUnit == null) {
46
46
  this.loadAttachmentDataUnit();
47
47
  }
48
48
  if (oldRegisterKey !== newRegisterKey) {
49
- this.returnToGridMode();
50
- if (this.fetcherType === "AnexoSistema") {
51
- this._currentFetcher = new AnexoSistemaFetcher(this.entityName, this.registerKey, (_a = this._currentDataUnit) === null || _a === void 0 ? void 0 : _a.name);
52
- (_b = this._currentDataUnitBuilder) === null || _b === void 0 ? void 0 : _b.initLoaders(this._currentDataUnit, this._currentFetcher, this.returnToGridMode.bind(this));
53
- return (_c = this._currentDataUnit) === null || _c === void 0 ? void 0 : _c.loadData();
54
- }
55
- if (this.fetcherType === "Attach") {
56
- const hasMoreOneItem = ((_d = this.registerKey) === null || _d === void 0 ? void 0 : _d.split("_").length) > 1;
57
- if (hasMoreOneItem)
58
- return;
59
- }
60
- return (_f = (_e = this._currentDataUnit) === null || _e === void 0 ? void 0 : _e.loadMetadata()) === null || _f === void 0 ? void 0 : _f.then(this._currentDataUnit.loadData.bind(undefined, undefined, true, this.registerKey));
49
+ await ((_a = this._currentDataUnit) === null || _a === void 0 ? void 0 : _a.loadData());
61
50
  }
62
51
  }
52
+ async initAttach() {
53
+ var _a, _b, _c, _d, _e, _f;
54
+ if (!this.fetcherType && !this.registerKey)
55
+ return;
56
+ if (!this.fetcherType) {
57
+ this.fetcherType = "AnexoSistema";
58
+ }
59
+ this.returnToGridMode();
60
+ if (this.fetcherType === "AnexoSistema") {
61
+ this._currentFetcher = new AnexoSistemaFetcher(this.entityName, this.registerKey, (_a = this._currentDataUnit) === null || _a === void 0 ? void 0 : _a.name);
62
+ (_b = this._currentDataUnitBuilder) === null || _b === void 0 ? void 0 : _b.initLoaders(this._currentDataUnit, this._currentFetcher, this.returnToGridMode.bind(this));
63
+ await ((_c = this._currentDataUnit) === null || _c === void 0 ? void 0 : _c.loadData());
64
+ return;
65
+ }
66
+ if (this.fetcherType === "Attach") {
67
+ const hasMoreOneItem = ((_d = this.registerKey) === null || _d === void 0 ? void 0 : _d.split("_").length) > 1;
68
+ if (hasMoreOneItem)
69
+ return;
70
+ }
71
+ await ((_e = this._currentDataUnit) === null || _e === void 0 ? void 0 : _e.loadMetadata());
72
+ await ((_f = this._currentDataUnit) === null || _f === void 0 ? void 0 : _f.loadData(undefined, undefined, true, this.registerKey));
73
+ }
63
74
  /**
64
75
  * Conforme mecanismo de mensagens, é possível customizar as mensagens dos blocos de construção
65
76
  * através de um pequeno modulo na estrutura da aplicação:
@@ -97,14 +108,14 @@ export class SnkAttach {
97
108
  if (this._crudElement)
98
109
  this._crudElement.goToView(VIEW_MODE.GRID);
99
110
  }
100
- loadAttachmentDataUnit() {
111
+ async loadAttachmentDataUnit() {
101
112
  try {
102
113
  switch (this.fetcherType) {
103
114
  case "AnexoSistema":
104
- this.loadAnexoSistema();
115
+ await this.loadAnexoSistema();
105
116
  break;
106
117
  case "Attach":
107
- this.loadAttach();
118
+ await this.loadAttach();
108
119
  break;
109
120
  default:
110
121
  this._currentFetcher = this.fetcher;
@@ -116,28 +127,29 @@ export class SnkAttach {
116
127
  throw new Error('There was an error while creating the data unit');
117
128
  }
118
129
  }
119
- loadAnexoSistema() {
120
- var _a;
121
- this._currentDataUnit = this._currentDataUnit || new DataUnitFetcher().getDataUnit(RESOURCE_ID, DATA_UNIT_NAME);
130
+ async loadAnexoSistema() {
131
+ var _a, _b, _c;
132
+ this._currentDataUnit = new DataUnitFetcher().getDataUnit(RESOURCE_ID, DATA_UNIT_NAME);
122
133
  this._currentFetcher = new AnexoSistemaFetcher(this.entityName, this.registerKey, (_a = this._currentDataUnit) === null || _a === void 0 ? void 0 : _a.name);
123
134
  if (!this._currentDataUnit.metadata) {
124
- this._currentDataUnit
125
- .loadMetadata()
126
- .then(() => this.crudConfig = Object.assign({}, anexoSistemaCrudConfig));
135
+ await ((_b = this._currentDataUnit) === null || _b === void 0 ? void 0 : _b.loadMetadata());
136
+ this.crudConfig = Object.assign({}, anexoSistemaCrudConfig);
127
137
  }
128
- this._currentDataUnitBuilder = new AnexoSistemaDataUnitFactory(this.entityName, this.getMessage.bind(this));
138
+ this.initDataUnitLoaders();
129
139
  this._currentDataUnit.addFilterProvider({
130
140
  getFilter: () => this._currentDataUnitBuilder.getFilters(this.registerKey)
131
141
  });
132
142
  this._currentDataUnit.addInterceptor({
133
143
  interceptAction: (action) => this._currentDataUnitBuilder.getInterceptions(this._currentDataUnit, action, this._crudElement)
134
144
  });
135
- this._currentDataUnit.loadData().then(this.disableEditFieldsNotInForm.bind(this));
145
+ await ((_c = this._currentDataUnit) === null || _c === void 0 ? void 0 : _c.loadData());
146
+ this.disableEditFieldsNotInForm();
136
147
  }
137
- loadAttach() {
138
- var _a, _b, _c;
148
+ async loadAttach() {
149
+ var _a, _b;
139
150
  this._currentFetcher = new AttachFetcher();
140
151
  this._currentDataUnit = new DataUnit(InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME);
152
+ this.initDataUnitLoaders();
141
153
  this._currentDataUnit.addInterceptor({
142
154
  interceptAction: (action) => {
143
155
  var _a;
@@ -148,16 +160,26 @@ export class SnkAttach {
148
160
  return this._currentDataUnitBuilder.getInterceptions(this._currentDataUnit, action, this._crudElement);
149
161
  }
150
162
  });
151
- this._currentDataUnitBuilder = new AttachFetcherDataUnitFactory(this.getMessage.bind(this));
152
- (_a = this._currentDataUnitBuilder) === null || _a === void 0 ? void 0 : _a.initLoaders(this._currentDataUnit, this._currentFetcher, async () => {
153
- this.returnToGridMode();
154
- await this._currentDataUnit.loadData(undefined, undefined, true, this.registerKey);
155
- });
156
163
  if (!this._currentDataUnit.metadata) {
157
- (_c = (_b = this._currentDataUnit) === null || _b === void 0 ? void 0 : _b.loadMetadata()) === null || _c === void 0 ? void 0 : _c.then(() => {
158
- var _a, _b;
159
- this.crudConfig = Object.assign({}, attachCrudConfig);
160
- (_b = (_a = this._currentDataUnit) === null || _a === void 0 ? void 0 : _a.loadData(undefined, undefined, true, this.registerKey)) === null || _b === void 0 ? void 0 : _b.then(this.disableEditFieldsNotInForm.bind(this));
164
+ await ((_a = this._currentDataUnit) === null || _a === void 0 ? void 0 : _a.loadMetadata());
165
+ this.crudConfig = Object.assign({}, attachCrudConfig);
166
+ await ((_b = this._currentDataUnit) === null || _b === void 0 ? void 0 : _b.loadData(undefined, undefined, true, this.registerKey));
167
+ this.disableEditFieldsNotInForm();
168
+ }
169
+ }
170
+ initDataUnitLoaders() {
171
+ var _a, _b, _c;
172
+ if (this.fetcherType === "AnexoSistema") {
173
+ this._currentFetcher = new AnexoSistemaFetcher(this.entityName, this.registerKey, (_a = this._currentDataUnit) === null || _a === void 0 ? void 0 : _a.name);
174
+ this._currentDataUnitBuilder = new AnexoSistemaDataUnitFactory(this.entityName, this.getMessage.bind(this));
175
+ (_b = this._currentDataUnitBuilder) === null || _b === void 0 ? void 0 : _b.initLoaders(this._currentDataUnit, this._currentFetcher, this.returnToGridMode.bind(this));
176
+ }
177
+ if (this.fetcherType === "Attach") {
178
+ this._currentFetcher = new AttachFetcher();
179
+ this._currentDataUnitBuilder = new AttachFetcherDataUnitFactory(this.getMessage.bind(this));
180
+ (_c = this._currentDataUnitBuilder) === null || _c === void 0 ? void 0 : _c.initLoaders(this._currentDataUnit, this._currentFetcher, async () => {
181
+ this.returnToGridMode();
182
+ await this._currentDataUnit.loadData(undefined, undefined, true, this.registerKey);
161
183
  });
162
184
  }
163
185
  }
@@ -171,8 +193,9 @@ export class SnkAttach {
171
193
  }
172
194
  });
173
195
  }
174
- componentWillLoad() {
196
+ async componentWillLoad() {
175
197
  this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
198
+ await this.initAttach();
176
199
  }
177
200
  componentWillRender() {
178
201
  if (!this.fetcherType) {
@@ -13,6 +13,8 @@ export class SnkCrud {
13
13
  constructor() {
14
14
  this._keyDownHandler = async (event) => this.keyDownListener(event);
15
15
  this._viewHistory = [];
16
+ this._customEditors = new Map();
17
+ this._customRenders = new Map();
16
18
  this._dataUnit = undefined;
17
19
  this._dataState = undefined;
18
20
  this.attachmentRegisterKey = undefined;
@@ -35,6 +37,10 @@ export class SnkCrud {
35
37
  this.filterBarLegacyConfigName = undefined;
36
38
  this.formLegacyConfigName = undefined;
37
39
  this.disablePersonalizedFilter = undefined;
40
+ this.autoLoad = undefined;
41
+ this.autoFocus = true;
42
+ this.domainMessagesBuilder = undefined;
43
+ this.setCustomFormTitle = undefined;
38
44
  this.customContainerId = `SNK-CRUD-CUSTOM-CONTAINER-${StringUtils.generateUUID()}`;
39
45
  }
40
46
  /**
@@ -70,6 +76,49 @@ export class SnkCrud {
70
76
  async getFilterBar() {
71
77
  return await this._snkGrid.getFilterBar();
72
78
  }
79
+ /**
80
+ * Registra um editor customizado para campos da grade e formulário.
81
+ */
82
+ async addCustomEditor(fieldName, customEditor) {
83
+ if (this._guidesViewer && this._snkGrid) {
84
+ this._guidesViewer.addCustomEditor(fieldName, customEditor);
85
+ this._snkGrid.addCustomEditor(fieldName, customEditor);
86
+ return;
87
+ }
88
+ const newCustomEditors = new Map(this._customEditors);
89
+ newCustomEditors.set(fieldName, customEditor);
90
+ this._customEditors = newCustomEditors;
91
+ }
92
+ /**
93
+ * Registra um render customizado para colunas da grid.
94
+ */
95
+ async addGridCustomRender(fieldName, customRender) {
96
+ if (this._snkGrid) {
97
+ this._snkGrid.addGridCustomRender(fieldName, customRender);
98
+ return;
99
+ }
100
+ const newCustomRenders = new Map(this._customRenders);
101
+ newCustomRenders.set(fieldName, customRender);
102
+ this._customRenders = newCustomRenders;
103
+ }
104
+ /**
105
+ * Registra um formatador de valores para uma coluna da grid.
106
+ */
107
+ async addCustomValueFormatter(columnName, customFormatter) {
108
+ this._snkGrid.addCustomValueFormatter(columnName, customFormatter);
109
+ }
110
+ /**
111
+ * Remove o formatador de valores de uma coluna da grid.
112
+ */
113
+ async removeCustomValueFormatter(columnName) {
114
+ this._snkGrid.removeCustomValueFormatter(columnName);
115
+ }
116
+ /**
117
+ * Altera/adiciona uma propriedade nos metadados do campo.
118
+ */
119
+ async setFieldProp(fieldName, propName, value) {
120
+ await this._guidesViewer.setFieldProp(fieldName, propName, value);
121
+ }
73
122
  currentViewModeWatcher(currentView) {
74
123
  this._viewHistory = [...this._viewHistory.slice(-1), currentView];
75
124
  }
@@ -100,6 +149,7 @@ export class SnkCrud {
100
149
  else if (viewMode === VIEW_MODE.FORM) {
101
150
  this._guidesViewer.setFocus();
102
151
  }
152
+ this.viewModeChanged.emit(viewMode);
103
153
  }
104
154
  openConfig(viewMode) {
105
155
  this._snkConfigurator.close();
@@ -129,6 +179,29 @@ export class SnkCrud {
129
179
  const joinedPrimaryKeys = recordCriteria.map(({ value }) => value).join('_');
130
180
  return joinedPrimaryKeys;
131
181
  }
182
+ setCustomRenders() {
183
+ if (!this._snkGrid) {
184
+ return;
185
+ }
186
+ for (const [fieldName, customRender] of this._customRenders) {
187
+ this._snkGrid.addGridCustomRender(fieldName, customRender);
188
+ this._customRenders.delete(fieldName);
189
+ }
190
+ }
191
+ setCustomEditors() {
192
+ if (!this._snkGrid || !this._guidesViewer) {
193
+ return;
194
+ }
195
+ for (const [fieldName, customEditor] of this._customEditors) {
196
+ this._guidesViewer.addCustomEditor(fieldName, customEditor);
197
+ this._snkGrid.addCustomEditor(fieldName, customEditor);
198
+ this._customEditors.delete(fieldName);
199
+ }
200
+ }
201
+ componentDidRender() {
202
+ this.setCustomRenders();
203
+ this.setCustomEditors();
204
+ }
132
205
  componentWillLoad() {
133
206
  this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
134
207
  let parent = this._element.parentElement;
@@ -140,6 +213,7 @@ export class SnkCrud {
140
213
  this._snkDataUnit = parent;
141
214
  this._snkDataUnit.addEventListener("insertionMode", () => this.insertionModeHandler());
142
215
  this._snkDataUnit.addEventListener("cancelEdition", () => this.cancelHandler());
216
+ this._snkDataUnit.domainMessagesBuilder = this.domainMessagesBuilder;
143
217
  this._dataUnit = this._snkDataUnit.dataUnit;
144
218
  this._dataState = this._snkDataUnit.dataState;
145
219
  if (!this._dataUnit) {
@@ -151,12 +225,7 @@ export class SnkCrud {
151
225
  else {
152
226
  this.initDataUnit();
153
227
  }
154
- this._snkDataUnit.addEventListener("dataStateChange", async ({ detail: dataState }) => {
155
- this._dataState = dataState;
156
- if (dataState.selectedRecord !== undefined) {
157
- this.attachmentRegisterKey = await this.getAttachmentRegisterKey();
158
- }
159
- });
228
+ this._snkDataUnit.addEventListener("dataStateChange", this.handleDataStateChange.bind(this));
160
229
  break;
161
230
  }
162
231
  parent = parent.parentElement;
@@ -172,6 +241,26 @@ export class SnkCrud {
172
241
  this.removeShortcuts();
173
242
  window.removeEventListener("keydown", this._keyDownHandler);
174
243
  }
244
+ async handleDataStateChange(evt) {
245
+ var _a;
246
+ this._dataState = evt.detail;
247
+ if (this._dataState.selectedRecord !== undefined) {
248
+ this.attachmentRegisterKey = await this.getAttachmentRegisterKey();
249
+ }
250
+ const fieldsWithRmPrecision = await this._snkDataUnit.getFieldsWithRmPrecision();
251
+ for (const field of fieldsWithRmPrecision || []) {
252
+ if (!field) {
253
+ continue;
254
+ }
255
+ const rmPrecision = (_a = this._dataState.rowMetadata) === null || _a === void 0 ? void 0 : _a.getProp('rm_precision', field);
256
+ if (!rmPrecision && rmPrecision !== 0) {
257
+ continue;
258
+ }
259
+ await this.setFieldProp(field, 'precision', rmPrecision);
260
+ await this.setFieldProp(field, 'prettyPrecision', rmPrecision);
261
+ }
262
+ ;
263
+ }
175
264
  async initKeyboardManager() {
176
265
  var _a;
177
266
  const keyboardManager = await ((_a = this._application) === null || _a === void 0 ? void 0 : _a.getKeyboardManager());
@@ -291,7 +380,7 @@ export class SnkCrud {
291
380
  return;
292
381
  }
293
382
  this._snkDataUnit.ignoreSaveMessage = this._currentViewMode === VIEW_MODE.GRID;
294
- 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, 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 }, 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, formLegacyConfigName: this.formLegacyConfigName }, 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" }))));
383
+ 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, 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 }, 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, formLegacyConfigName: this.formLegacyConfigName, getCustomTitle: this.setCustomFormTitle }, 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" }))));
295
384
  }
296
385
  static get is() { return "snk-crud"; }
297
386
  static get encapsulation() { return "scoped"; }
@@ -612,6 +701,73 @@ export class SnkCrud {
612
701
  },
613
702
  "attribute": "disable-personalized-filter",
614
703
  "reflect": false
704
+ },
705
+ "autoLoad": {
706
+ "type": "boolean",
707
+ "mutable": false,
708
+ "complexType": {
709
+ "original": "boolean",
710
+ "resolved": "boolean",
711
+ "references": {}
712
+ },
713
+ "required": false,
714
+ "optional": true,
715
+ "docs": {
716
+ "tags": [],
717
+ "text": "Define se a carga dos dados ser\u00E1 feita assim que o componente for carregado."
718
+ },
719
+ "attribute": "auto-load",
720
+ "reflect": false
721
+ },
722
+ "autoFocus": {
723
+ "type": "boolean",
724
+ "mutable": false,
725
+ "complexType": {
726
+ "original": "boolean",
727
+ "resolved": "boolean",
728
+ "references": {}
729
+ },
730
+ "required": false,
731
+ "optional": true,
732
+ "docs": {
733
+ "tags": [],
734
+ "text": "Define se a grid ser\u00E1 focada ao ser carregada."
735
+ },
736
+ "attribute": "auto-focus",
737
+ "reflect": false,
738
+ "defaultValue": "true"
739
+ },
740
+ "domainMessagesBuilder": {
741
+ "type": "string",
742
+ "mutable": false,
743
+ "complexType": {
744
+ "original": "string",
745
+ "resolved": "string",
746
+ "references": {}
747
+ },
748
+ "required": false,
749
+ "optional": false,
750
+ "docs": {
751
+ "tags": [],
752
+ "text": "Define a chave customizada para sobrescrever as mensagens (N\u00E3o pegando pela entidade)"
753
+ },
754
+ "attribute": "domain-messages-builder",
755
+ "reflect": false
756
+ },
757
+ "setCustomFormTitle": {
758
+ "type": "unknown",
759
+ "mutable": false,
760
+ "complexType": {
761
+ "original": "() => string",
762
+ "resolved": "() => string",
763
+ "references": {}
764
+ },
765
+ "required": false,
766
+ "optional": false,
767
+ "docs": {
768
+ "tags": [],
769
+ "text": "Define uma fun\u00E7\u00E3o para configurar um t\u00EDtulo cusotmizado no modo formul\u00E1rio."
770
+ }
615
771
  }
616
772
  };
617
773
  }
@@ -694,6 +850,26 @@ export class SnkCrud {
694
850
  }
695
851
  }
696
852
  }
853
+ }, {
854
+ "method": "viewModeChanged",
855
+ "name": "viewModeChanged",
856
+ "bubbles": true,
857
+ "cancelable": true,
858
+ "composed": true,
859
+ "docs": {
860
+ "tags": [],
861
+ "text": ""
862
+ },
863
+ "complexType": {
864
+ "original": "VIEW_MODE",
865
+ "resolved": "VIEW_MODE.ATTACHMENT | VIEW_MODE.FORM | VIEW_MODE.GRID",
866
+ "references": {
867
+ "VIEW_MODE": {
868
+ "location": "import",
869
+ "path": "../../lib/utils/constants"
870
+ }
871
+ }
872
+ }
697
873
  }];
698
874
  }
699
875
  static get methods() {
@@ -783,6 +959,128 @@ export class SnkCrud {
783
959
  "text": "Retorna o elemento da filter-bar da grade.",
784
960
  "tags": []
785
961
  }
962
+ },
963
+ "addCustomEditor": {
964
+ "complexType": {
965
+ "signature": "(fieldName: string, customEditor: ICustomEditor) => Promise<void>",
966
+ "parameters": [{
967
+ "tags": [],
968
+ "text": ""
969
+ }, {
970
+ "tags": [],
971
+ "text": ""
972
+ }],
973
+ "references": {
974
+ "Promise": {
975
+ "location": "global"
976
+ },
977
+ "ICustomEditor": {
978
+ "location": "import",
979
+ "path": "@sankhyalabs/ezui/dist/types/utils"
980
+ }
981
+ },
982
+ "return": "Promise<void>"
983
+ },
984
+ "docs": {
985
+ "text": "Registra um editor customizado para campos da grade e formul\u00E1rio.",
986
+ "tags": []
987
+ }
988
+ },
989
+ "addGridCustomRender": {
990
+ "complexType": {
991
+ "signature": "(fieldName: string, customRender: ICustomRender) => Promise<void>",
992
+ "parameters": [{
993
+ "tags": [],
994
+ "text": ""
995
+ }, {
996
+ "tags": [],
997
+ "text": ""
998
+ }],
999
+ "references": {
1000
+ "Promise": {
1001
+ "location": "global"
1002
+ },
1003
+ "ICustomRender": {
1004
+ "location": "import",
1005
+ "path": "@sankhyalabs/ezui/dist/types/utils"
1006
+ }
1007
+ },
1008
+ "return": "Promise<void>"
1009
+ },
1010
+ "docs": {
1011
+ "text": "Registra um render customizado para colunas da grid.",
1012
+ "tags": []
1013
+ }
1014
+ },
1015
+ "addCustomValueFormatter": {
1016
+ "complexType": {
1017
+ "signature": "(columnName: string, customFormatter: ICustomFormatter) => Promise<void>",
1018
+ "parameters": [{
1019
+ "tags": [],
1020
+ "text": ""
1021
+ }, {
1022
+ "tags": [],
1023
+ "text": ""
1024
+ }],
1025
+ "references": {
1026
+ "Promise": {
1027
+ "location": "global"
1028
+ },
1029
+ "ICustomFormatter": {
1030
+ "location": "import",
1031
+ "path": "@sankhyalabs/ezui/dist/types/components/ez-grid/interfaces"
1032
+ }
1033
+ },
1034
+ "return": "Promise<void>"
1035
+ },
1036
+ "docs": {
1037
+ "text": "Registra um formatador de valores para uma coluna da grid.",
1038
+ "tags": []
1039
+ }
1040
+ },
1041
+ "removeCustomValueFormatter": {
1042
+ "complexType": {
1043
+ "signature": "(columnName: string) => Promise<void>",
1044
+ "parameters": [{
1045
+ "tags": [],
1046
+ "text": ""
1047
+ }],
1048
+ "references": {
1049
+ "Promise": {
1050
+ "location": "global"
1051
+ }
1052
+ },
1053
+ "return": "Promise<void>"
1054
+ },
1055
+ "docs": {
1056
+ "text": "Remove o formatador de valores de uma coluna da grid.",
1057
+ "tags": []
1058
+ }
1059
+ },
1060
+ "setFieldProp": {
1061
+ "complexType": {
1062
+ "signature": "(fieldName: string, propName: string, value: any) => Promise<void>",
1063
+ "parameters": [{
1064
+ "tags": [],
1065
+ "text": ""
1066
+ }, {
1067
+ "tags": [],
1068
+ "text": ""
1069
+ }, {
1070
+ "tags": [],
1071
+ "text": ""
1072
+ }],
1073
+ "references": {
1074
+ "Promise": {
1075
+ "location": "global"
1076
+ }
1077
+ },
1078
+ "return": "Promise<void>"
1079
+ },
1080
+ "docs": {
1081
+ "text": "Altera/adiciona uma propriedade nos metadados do campo.",
1082
+ "tags": []
1083
+ }
786
1084
  }
787
1085
  };
788
1086
  }