@sankhyalabs/sankhyablocks 0.0.0-bugfix-dev-kb-67792.0 → 0.0.0-bugfix-dev-kb-67792.2

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 (235) hide show
  1. package/dist/cjs/{ConfigStorage-0a690675.js → ConfigStorage-e49214c6.js} +1 -0
  2. package/dist/cjs/{SnkMultiSelectionListDataSource-f79d220c.js → IExporterProvider-10b7fed5.js} +94 -4
  3. package/dist/cjs/RecordIDUtils-3735135c.js +43 -0
  4. package/dist/cjs/{SnkFormConfigManager-d6d5db6d.js → SnkFormConfigManager-beebf47a.js} +8 -7
  5. package/dist/cjs/{SnkMessageBuilder-96b0f549.js → SnkMessageBuilder-cceebbae.js} +9 -13
  6. package/dist/cjs/{pesquisa-fetcher-cba1b3d0.js → dataunit-fetcher-d4873076.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-a1d0353f.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-f0221097.js +690 -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 +168 -111
  25. package/dist/cjs/{snk-guides-viewer-bfcad2d6.js → snk-guides-viewer-aafc3073.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 +269 -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 +540 -219
  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.css +2 -0
  59. package/dist/collection/components/snk-grid/snk-grid.js +242 -103
  60. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +407 -20
  61. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +2 -2
  62. package/dist/collection/components/snk-taskbar/snk-taskbar.js +2 -1
  63. package/dist/collection/lib/@types/index.js +5 -0
  64. package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +35 -0
  65. package/dist/collection/lib/configs/ConfigStorage.js +1 -0
  66. package/dist/collection/lib/dataUnit/InMemoryLoader.js +7 -3
  67. package/dist/collection/lib/dataUnit/ValueFormatter.js +4 -0
  68. package/dist/collection/lib/dataUnit/interfaces/InMemoryLoaderConfig.js +1 -0
  69. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +3 -0
  70. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +4 -0
  71. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +11 -13
  72. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.js +1 -0
  73. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/IBuildRequestBodyLoadRowMetadata.js +1 -0
  74. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/IRowMetadata.js +1 -0
  75. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +53 -4
  76. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/test/resources/metadataMock.js +22 -0
  77. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +4 -4
  78. package/dist/collection/lib/message/SnkMessageBuilder.js +5 -12
  79. package/dist/collection/lib/message/resources/snk-data-exporter.msg.js +2 -0
  80. package/dist/collection/lib/message/resources/snk-data-unit.msg.js +2 -1
  81. package/dist/components/ConfigStorage.js +1 -0
  82. package/dist/components/{field-search.js → IExporterProvider.js} +93 -6
  83. package/dist/components/ISave.js +47 -0
  84. package/dist/components/SnkFormConfigManager.js +7 -6
  85. package/dist/components/SnkMessageBuilder.js +9 -13
  86. package/dist/components/dataunit-fetcher.js +84 -182
  87. package/dist/components/index2.js +198 -33
  88. package/dist/components/pesquisa-fetcher.js +164 -0
  89. package/dist/components/snk-actions-button2.js +4 -11
  90. package/dist/components/snk-application2.js +31 -9
  91. package/dist/components/snk-attach2.js +65 -41
  92. package/dist/components/snk-crud.js +110 -11
  93. package/dist/components/snk-data-exporter2.js +309 -85
  94. package/dist/components/snk-data-unit2.js +487 -217
  95. package/dist/components/snk-detail-view2.js +96 -14
  96. package/dist/components/snk-expression-item2.js +1 -1
  97. package/dist/components/snk-filter-bar2.js +6 -1
  98. package/dist/components/snk-form-config2.js +1 -1
  99. package/dist/components/snk-form-view2.js +72 -1
  100. package/dist/components/snk-form.js +53 -6
  101. package/dist/components/snk-grid2.js +171 -109
  102. package/dist/components/snk-personalized-filter2.js +1 -1
  103. package/dist/components/snk-simple-crud2.js +264 -25
  104. package/dist/components/snk-taskbar2.js +6 -5
  105. package/dist/esm/{ConfigStorage-8c2ddac8.js → ConfigStorage-e476378d.js} +1 -0
  106. package/dist/esm/{SnkMultiSelectionListDataSource-a4805051.js → IExporterProvider-d597f27d.js} +93 -5
  107. package/dist/esm/RecordIDUtils-87d02110.js +41 -0
  108. package/dist/esm/{SnkFormConfigManager-c01b9d9d.js → SnkFormConfigManager-298cd647.js} +8 -7
  109. package/dist/esm/{SnkMessageBuilder-72423074.js → SnkMessageBuilder-ae87b754.js} +9 -13
  110. package/dist/esm/{pesquisa-fetcher-34a8b8be.js → dataunit-fetcher-3d2ec959.js} +83 -181
  111. package/dist/esm/{index-0ece87a6.js → index-3aa4977a.js} +6 -1
  112. package/dist/esm/loader.js +1 -1
  113. package/dist/esm/pesquisa-fetcher-a87445a0.js +164 -0
  114. package/dist/esm/sankhyablocks.js +1 -1
  115. package/dist/esm/snk-actions-button_4.entry.js +5 -3
  116. package/dist/esm/snk-application.entry.js +34 -11
  117. package/dist/esm/snk-attach.entry.js +66 -41
  118. package/dist/esm/snk-crud.entry.js +101 -10
  119. package/dist/esm/snk-data-exporter.entry.js +316 -86
  120. package/dist/esm/snk-data-unit-1ef94aef.js +688 -0
  121. package/dist/esm/snk-data-unit.entry.js +12 -2
  122. package/dist/esm/snk-detail-view.entry.js +50 -10
  123. package/dist/esm/snk-filter-bar.entry.js +6 -2
  124. package/dist/esm/snk-filter-modal-item.entry.js +1 -1
  125. package/dist/esm/snk-form-config.entry.js +1 -1
  126. package/dist/esm/snk-form-view.entry.js +67 -0
  127. package/dist/esm/snk-form.entry.js +52 -7
  128. package/dist/esm/snk-grid.entry.js +166 -109
  129. package/dist/esm/{snk-guides-viewer-edeac29f.js → snk-guides-viewer-62124f3d.js} +43 -10
  130. package/dist/esm/snk-guides-viewer.entry.js +9 -7
  131. package/dist/esm/snk-personalized-filter.entry.js +1 -1
  132. package/dist/esm/snk-simple-crud.entry.js +257 -28
  133. package/dist/esm/snk-taskbar.entry.js +4 -3
  134. package/dist/esm/{taskbar-elements-2473c8ac.js → taskbar-elements-d59867f1.js} +3 -3
  135. package/dist/sankhyablocks/p-08c28ddd.entry.js +1 -0
  136. package/dist/sankhyablocks/p-091ce761.js +60 -0
  137. package/dist/sankhyablocks/p-094eebf6.entry.js +1 -0
  138. package/dist/sankhyablocks/p-0c68f40f.entry.js +1 -0
  139. package/dist/sankhyablocks/p-162b9a59.entry.js +11 -0
  140. package/dist/sankhyablocks/p-1db45d26.entry.js +1 -0
  141. package/dist/sankhyablocks/p-25f1fc39.js +6 -0
  142. package/dist/sankhyablocks/p-2e9c764c.entry.js +1 -0
  143. package/dist/sankhyablocks/p-30cf616e.js +1 -0
  144. package/dist/sankhyablocks/{p-96621231.js → p-3287a6cc.js} +1 -1
  145. package/dist/sankhyablocks/p-421bec84.entry.js +1 -0
  146. package/dist/sankhyablocks/p-42f7b05d.entry.js +1 -0
  147. package/dist/sankhyablocks/p-51999ab5.entry.js +1 -0
  148. package/dist/sankhyablocks/p-5f016aed.js +1 -0
  149. package/dist/sankhyablocks/p-6c364d25.entry.js +1 -0
  150. package/dist/sankhyablocks/p-70001ac1.js +1 -0
  151. package/dist/sankhyablocks/p-74c665d5.entry.js +1 -0
  152. package/dist/sankhyablocks/p-76a65660.js +1 -0
  153. package/dist/sankhyablocks/p-7c4aabe2.js +1 -0
  154. package/dist/sankhyablocks/{p-ae4fc9a9.js → p-7e7a7473.js} +1 -1
  155. package/dist/sankhyablocks/p-8c1ff936.entry.js +1 -0
  156. package/dist/sankhyablocks/p-939e15d3.entry.js +1 -0
  157. package/dist/sankhyablocks/p-9863d682.js +1 -0
  158. package/dist/sankhyablocks/{p-41c2c191.entry.js → p-9dfda04a.entry.js} +1 -1
  159. package/dist/sankhyablocks/{p-c2ae0fab.entry.js → p-bd008859.entry.js} +1 -1
  160. package/dist/sankhyablocks/p-c273d6ee.js +1 -0
  161. package/dist/sankhyablocks/p-d65d98ed.entry.js +1 -0
  162. package/dist/sankhyablocks/p-f2809746.entry.js +1 -0
  163. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  164. package/dist/types/components/snk-application/snk-application.d.ts +7 -3
  165. package/dist/types/components/snk-attach/snk-attach.d.ts +11 -9
  166. package/dist/types/components/snk-crud/interfaces/PropsCustomEditor.d.ts +4 -0
  167. package/dist/types/components/snk-crud/interfaces/PropsCustomRender.d.ts +4 -0
  168. package/dist/types/components/snk-crud/snk-crud.d.ts +45 -1
  169. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +23 -0
  170. package/dist/types/components/snk-crud/subcomponents/snk-form-view.d.ts +28 -3
  171. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +24 -0
  172. package/dist/types/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.d.ts +14 -0
  173. package/dist/types/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.d.ts +12 -0
  174. package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +24 -4
  175. package/dist/types/components/snk-data-exporter/interfaces/IExporterStrategy.d.ts +5 -0
  176. package/dist/types/components/snk-data-exporter/providers/ClientSideExporterProvider.d.ts +17 -0
  177. package/dist/types/components/snk-data-exporter/providers/ServerSideExporterProvider.d.ts +17 -0
  178. package/dist/types/components/snk-data-exporter/snk-data-exporter.d.ts +4 -1
  179. package/dist/types/components/snk-data-exporter/structure/ItemBuilder.d.ts +21 -0
  180. package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +77 -0
  181. package/dist/types/components/snk-data-exporter/utils/ParserExport.d.ts +4 -0
  182. package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +3 -0
  183. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +67 -3
  184. package/dist/types/components/snk-data-unit/test/resources/metadataMock.d.ts +3 -0
  185. package/dist/types/components/snk-data-unit/test/resources/parentMetadataMock.d.ts +3 -0
  186. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +4 -0
  187. package/dist/types/components/snk-form/snk-form.d.ts +14 -0
  188. package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +2 -2
  189. package/dist/types/components/snk-grid/snk-grid.d.ts +46 -6
  190. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +62 -4
  191. package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +1 -1
  192. package/dist/types/components.d.ts +261 -4
  193. package/dist/types/lib/@types/index.d.ts +5 -0
  194. package/dist/types/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.d.ts +11 -0
  195. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +2 -1
  196. package/dist/types/lib/dataUnit/ValueFormatter.d.ts +2 -0
  197. package/dist/types/lib/dataUnit/interfaces/InMemoryLoaderConfig.d.ts +3 -0
  198. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.d.ts +2 -1
  199. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +1 -0
  200. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.d.ts +1 -0
  201. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/IBuildRequestBodyLoadRowMetadata.d.ts +10 -0
  202. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/IRowMetadata.d.ts +7 -0
  203. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +6 -0
  204. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/test/resources/metadataMock.d.ts +20 -0
  205. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IExporterColumnMetadata.d.ts +3 -0
  206. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +2 -1
  207. package/dist/types/lib/http/data-fetcher/fetchers/pesquisa-fetcher.d.ts +1 -0
  208. package/package.json +1 -1
  209. package/dist/cjs/snk-data-unit-559ac55c.js +0 -462
  210. package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/index.js +0 -34
  211. package/dist/components/index3.js +0 -199
  212. package/dist/esm/snk-data-unit-44215df7.js +0 -460
  213. package/dist/sankhyablocks/p-03dcc5ff.entry.js +0 -1
  214. package/dist/sankhyablocks/p-176c3491.entry.js +0 -1
  215. package/dist/sankhyablocks/p-37e5d563.js +0 -65
  216. package/dist/sankhyablocks/p-38289a55.js +0 -1
  217. package/dist/sankhyablocks/p-46e55a95.entry.js +0 -1
  218. package/dist/sankhyablocks/p-4e728357.entry.js +0 -1
  219. package/dist/sankhyablocks/p-5571bdfe.js +0 -1
  220. package/dist/sankhyablocks/p-5630574e.js +0 -1
  221. package/dist/sankhyablocks/p-5f8c0426.entry.js +0 -1
  222. package/dist/sankhyablocks/p-80c64add.entry.js +0 -1
  223. package/dist/sankhyablocks/p-86af4cc2.js +0 -1
  224. package/dist/sankhyablocks/p-8b690717.js +0 -1
  225. package/dist/sankhyablocks/p-a1832166.entry.js +0 -1
  226. package/dist/sankhyablocks/p-a809d944.entry.js +0 -1
  227. package/dist/sankhyablocks/p-a97226f6.entry.js +0 -1
  228. package/dist/sankhyablocks/p-add17f6a.entry.js +0 -1
  229. package/dist/sankhyablocks/p-c5a9a5d9.entry.js +0 -1
  230. package/dist/sankhyablocks/p-c5aa7d70.entry.js +0 -11
  231. package/dist/sankhyablocks/p-cb0147ab.entry.js +0 -1
  232. package/dist/sankhyablocks/p-f0145e3b.js +0 -1
  233. package/dist/sankhyablocks/p-f03e4199.entry.js +0 -1
  234. package/dist/sankhyablocks/p-f607db63.entry.js +0 -1
  235. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/index.d.ts +0 -3
@@ -10,7 +10,13 @@ export declare class SnkDataUnit implements DUActionInterceptor {
10
10
  _parentSnkDataUnit: HTMLSnkDataUnitElement;
11
11
  _parentDataUnit: DataUnit;
12
12
  _openedAlert: boolean;
13
+ _fieldsWithRmp: string[];
14
+ _fieldsWithRmPrecision: string[];
15
+ _metadataByRow: Map<string, any>;
16
+ _rowMetadataCache: Map<string, any>;
17
+ REGEX_DATAUNIT_NAME: RegExp;
13
18
  element: HTMLSnkDataUnitElement;
19
+ fieldsToLink: Array<string>;
14
20
  /**
15
21
  * Controla o estado atual dos dados.
16
22
  */
@@ -62,6 +68,10 @@ export declare class SnkDataUnit implements DUActionInterceptor {
62
68
  * Identificador de recursos como configurações e acesso.
63
69
  */
64
70
  resourceID: string;
71
+ /**
72
+ * Define a chave customizada para sobrescrever as mensagens (Não pegando pela entidade)
73
+ */
74
+ domainMessagesBuilder: string;
65
75
  observePageSize(): void;
66
76
  observeDataUnitName(newValue: string, oldValue: string): void;
67
77
  observeEntityName(newValue: string, oldValue: string): void;
@@ -80,6 +90,10 @@ export declare class SnkDataUnit implements DUActionInterceptor {
80
90
  * Emitido quando o DataUnit está pronto.
81
91
  */
82
92
  messagesBuilderUpdated: EventEmitter<SnkMessageBuilder>;
93
+ /**
94
+ * Emitido quando há campos no DataUnit que devem ser ocultados.
95
+ */
96
+ dataUnitFieldsHidded: EventEmitter<void>;
83
97
  /**
84
98
  * Emitido quando um registro é adicionado ou copiado.
85
99
  */
@@ -97,12 +111,52 @@ export declare class SnkDataUnit implements DUActionInterceptor {
97
111
  * @returns Retorna a lista de IDs dos registros selecionados.
98
112
  */
99
113
  getSelectedRecordsIDsInfo(): Promise<Array<IRecordID>>;
114
+ /**
115
+ * Retorna os campos que possuem a propriedade "rmp" (Row Metadata Provider).
116
+ */
117
+ getFieldsWithRmp(): Promise<string[]>;
118
+ /**
119
+ * Retorna os campos que possuem a propriedade "rm_precision" (Row Metadata Precision).
120
+ */
121
+ getFieldsWithRmPrecision(): Promise<string[]>;
122
+ /**
123
+ * Busca os metadados da linha selecionada.
124
+ */
125
+ getRowMetadata(record?: Record | string): Promise<RowMetadata>;
126
+ private doGetRowMetadata;
127
+ private buildGetPropRowMetadata;
128
+ private resolvePrecisionFromMetadata;
100
129
  getCleanOnCopyFields(): Array<string>;
130
+ private fillFieldsWithRmp;
131
+ private fillFieldsWithRmPrecision;
132
+ private getCacheName;
133
+ private updateDataStateRmp;
134
+ private saveCacheRmd;
135
+ private getMetadataByRow;
136
+ private interceptRecordsAdded;
137
+ private interceptRecordsCopied;
138
+ private interceptDataChange;
139
+ private interceptSavingData;
140
+ private interceptDataSaved;
141
+ private interceptEditionCanceled;
142
+ private interceptRemovingRecords;
143
+ private interceptDataLoaded;
144
+ private interceptMetadataLoaded;
101
145
  interceptAction(action: DataUnitAction): Promise<DataUnitAction>;
146
+ private handleLoadRowMetadata;
147
+ private updateRowMetadata;
148
+ private handleDULinksOnMetadataLoaded;
149
+ private handleRecordsCopied;
150
+ private handleLinksWithParent;
151
+ private buildRecordWithLinkedFields;
152
+ private handleCleanOnCopy;
153
+ private buildCopyWithCleanedFields;
102
154
  private showSuccessMessage;
103
155
  private isAllowed;
104
156
  private buildDataState;
105
- _dataUnitObserver: (action: DataUnitAction) => void;
157
+ private handleDataSaved;
158
+ private handleRecordsRemoved;
159
+ _dataUnitObserver: (action: DataUnitAction) => Promise<void>;
106
160
  /**
107
161
  * Conforme mecanismo de mensagens, é possível customizar as mensagens dos blocos de construção
108
162
  * através de um pequeno modulo na estrutura da aplicação:
@@ -113,13 +167,17 @@ export declare class SnkDataUnit implements DUActionInterceptor {
113
167
  private getMessageParams;
114
168
  private getMessageOperation;
115
169
  private getDataUnitParentOrChild;
116
- loadDataUnit(): Promise<void>;
170
+ loadDataUnit(forceMetadataLoad?: boolean): Promise<void>;
117
171
  private getParentSnkDataUnit;
118
172
  private handlerLinkFields;
173
+ private handleDUWithLinks;
174
+ private processLinks;
175
+ private getCleanDataUnitName;
119
176
  static getNearestInstance(element: HTMLElement): HTMLSnkDataUnitElement;
177
+ private instanceMessagesBuilder;
120
178
  componentWillLoad(): void;
121
179
  disconnectedCallback(): void;
122
- componentDidLoad(): void;
180
+ componentDidLoad(): Promise<void>;
123
181
  render(): any;
124
182
  }
125
183
  export interface DataState {
@@ -133,6 +191,8 @@ export interface DataState {
133
191
  selectionInfo?: SelectionInfo;
134
192
  selectedRecord: Record;
135
193
  recordsIsEmpty?: boolean;
194
+ metadataByRow?: Map<string, any>;
195
+ rowMetadata?: RowMetadata;
136
196
  /**
137
197
  * @deprecated - Utilize o atributo `selectionInfo` para obter os registros selecionados.
138
198
  * Devido a seleção virtual baseada em critérios e ordenação (ALL_RECORDS), esse
@@ -140,3 +200,7 @@ export interface DataState {
140
200
  */
141
201
  selectedRecords: Array<Record>;
142
202
  }
203
+ export interface RowMetadata {
204
+ [key: string]: any;
205
+ getProp: (propPath: string, fieldName?: string) => any;
206
+ }
@@ -0,0 +1,3 @@
1
+ import { UnitMetadata } from "@sankhyalabs/core";
2
+ declare const metadataMock: UnitMetadata;
3
+ export default metadataMock;
@@ -0,0 +1,3 @@
1
+ import { UnitMetadata } from "@sankhyalabs/core";
2
+ declare const parentMetadataMock: UnitMetadata;
3
+ export default parentMetadataMock;
@@ -59,6 +59,10 @@ export declare class SnkFilterBar implements FilterProvider {
59
59
  * Chave da configuração legado da barra de filtros.
60
60
  */
61
61
  filterBarLegacyConfigName: string;
62
+ /**
63
+ * Define se a carga dos dados será feita assim que o componente for carregado.
64
+ */
65
+ autoLoad?: boolean;
62
66
  configUpdated: EventEmitter<SnkFilterItemConfig[]>;
63
67
  allowDefault: boolean;
64
68
  scrollerLocked: boolean;
@@ -4,8 +4,11 @@ import { EventEmitter } from '../../stencil-public-runtime';
4
4
  import { DataState } from '../snk-data-unit/snk-data-unit';
5
5
  import { SnkFormConfigManager } from '../snk-form-config/SnkFormConfigManager';
6
6
  import { SnkMessageBuilder } from '../../lib/message/SnkMessageBuilder';
7
+ import { ICustomEditor } from '@sankhyalabs/ezui/dist/types/utils';
7
8
  export declare class SnkForm {
8
9
  private _snkDataUnit;
10
+ private _customEditors;
11
+ private _form;
9
12
  _element: HTMLElement;
10
13
  _dataUnit: DataUnit;
11
14
  _dataState: DataState;
@@ -51,9 +54,20 @@ export declare class SnkForm {
51
54
  * Fecha a janela de configurações do formulário.
52
55
  */
53
56
  hideConfig(): Promise<void>;
57
+ /**
58
+ * Registra um editor customizado para campos da grade e formulário.
59
+ */
60
+ addCustomEditor(fieldName: string, customEditor: ICustomEditor): Promise<void>;
61
+ /**
62
+ * Altera/adiciona uma propriedade nos metadados do campo.
63
+ */
64
+ setFieldProp(fieldName: string, propName: string, value: any): Promise<void>;
54
65
  private closeConfig;
55
66
  private dataunitReady;
67
+ private setCustomEditors;
68
+ componentDidRender(): Promise<void>;
56
69
  componentWillLoad(): Promise<void>;
70
+ private handleDataStateChange;
57
71
  private addFormLegacyConfig;
58
72
  render(): any;
59
73
  }
@@ -20,9 +20,9 @@ export declare class SnkFormConfigManager {
20
20
  readOnly?: boolean;
21
21
  }>;
22
22
  private isFieldVisible;
23
- private getInsertionConfig;
23
+ private getFormConfig;
24
24
  setConfig(config: IFormConfig): void;
25
- getConfig(insertionMode: boolean, dataUnit: DataUnit, ignoreReadOnlyFormFields?: boolean): IFormConfig;
25
+ getConfig(dataUnit: DataUnit, ignoreReadOnlyFormFields?: boolean): IFormConfig;
26
26
  private getFormConfigFetcher;
27
27
  fetchUserAvailableConfigs(): Promise<Array<IUserConfig>>;
28
28
  fetchLegacyConfig(): Promise<IFormConfig>;
@@ -1,15 +1,17 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
2
  import { DataUnit } from '@sankhyalabs/core';
3
3
  import { IGridConfig, IStatusResolver, StatusResolverFunction } from '@sankhyalabs/ezui/dist/types/components/ez-grid/controller/EzGridController';
4
- import { DataState } from '../snk-data-unit/snk-data-unit';
4
+ import { DataState, SnkDataUnit } from '../snk-data-unit/snk-data-unit';
5
5
  import { Action, TaskbarManager } from '../snk-taskbar/snk-taskbar';
6
6
  import { SnkApplication } from '../snk-application/snk-application';
7
7
  import { PresentationMode } from '../../lib/@types';
8
8
  import TaskbarProcessor from '../snk-taskbar/processor/taskbar-processor';
9
9
  import { SnkMessageBuilder } from '../../lib/message/SnkMessageBuilder';
10
- import { ISelectionToastConfig } from '@sankhyalabs/ezui/dist/types/components/ez-grid/interfaces';
10
+ import { ICustomFormatter, ISelectionToastConfig } from '@sankhyalabs/ezui/dist/types/components/ez-grid/interfaces';
11
11
  import { IRecordValidator } from '@sankhyalabs/ezui/dist/types/utils/form/interfaces';
12
12
  import { IMultiSelectionListDataSource } from '@sankhyalabs/ezui/dist/types/components/ez-multi-selection-list/interfaces/IMultiSelectionListDataSource';
13
+ import { ICustomEditor, ICustomRender } from '@sankhyalabs/ezui/dist/types/utils';
14
+ import RmPrecisionCustomValueFormatter from '../../lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter';
13
15
  export declare class SnkGrid {
14
16
  _grid: HTMLEzGridElement;
15
17
  _snkDataUnit: HTMLSnkDataUnitElement;
@@ -18,6 +20,16 @@ export declare class SnkGrid {
18
20
  _snkFilterBar: HTMLSnkFilterBarElement;
19
21
  _columnSearch: HTMLEzSearchElement;
20
22
  _moreOptions: HTMLEzActionsButtonElement;
23
+ _customEditors: Map<string, {
24
+ customEditor: ICustomEditor;
25
+ detailContext: string;
26
+ }>;
27
+ _customRenders: Map<string, {
28
+ customRender: ICustomRender;
29
+ detailContext: string;
30
+ }>;
31
+ _snkDataUnitInstance: SnkDataUnit;
32
+ _rmPrecisionCustomValueFormatter: RmPrecisionCustomValueFormatter;
21
33
  _topTaskbarProcessor: TaskbarProcessor;
22
34
  _headerTaskbarProcessor: TaskbarProcessor;
23
35
  _element: HTMLElement;
@@ -111,6 +123,14 @@ export declare class SnkGrid {
111
123
  * Chave da configuração legado da barra de filtros.
112
124
  */
113
125
  filterBarLegacyConfigName: string;
126
+ /**
127
+ * Define se a carga dos dados será feita assim que o componente for carregado.
128
+ */
129
+ autoLoad?: boolean;
130
+ /**
131
+ * Define se a grid será focada ao ser carregada.
132
+ */
133
+ autoFocus?: boolean;
114
134
  /**
115
135
  * Emitido sempre que houver click de botão ou ação.
116
136
  */
@@ -143,6 +163,22 @@ export declare class SnkGrid {
143
163
  * Abre o localizador de colunas
144
164
  */
145
165
  findColumn(): Promise<void>;
166
+ /**
167
+ * Registra um editor customizado para campos da grade e formulário
168
+ */
169
+ addCustomEditor(fieldName: string, customEditor: ICustomEditor, detailContext?: string): Promise<void>;
170
+ /**
171
+ * Registra um render customizado para colunas da grid.
172
+ */
173
+ addGridCustomRender(fieldName: string, customRender: ICustomRender, detailContext?: string): Promise<void>;
174
+ /**
175
+ * Registra um formatador de valores para uma coluna da grid.
176
+ */
177
+ addCustomValueFormatter(columnName: string, customFormatter: ICustomFormatter): Promise<void>;
178
+ /**
179
+ * Remove o formatador de valores de uma coluna da grid.
180
+ */
181
+ removeCustomValueFormatter(columnName: string): Promise<void>;
146
182
  /**
147
183
  * Atribui o foco para a grade.
148
184
  */
@@ -155,13 +191,17 @@ export declare class SnkGrid {
155
191
  private addGridLegacyConfigName;
156
192
  private gridConfigChangeHandler;
157
193
  private modalConfigChangeHandler;
158
- private buildColumnsMetadata;
159
- private getPaginationInfo;
160
- private getExporterOffset;
161
194
  private dataExporterProviderStore;
162
195
  private addElementID;
163
- private finshLoading;
196
+ private loadGridCustomFormatters;
197
+ private interceptMetadataLoaded;
198
+ private dataUnitInterceptor;
199
+ private finishLoading;
200
+ private setCustomRenders;
201
+ private setCustomEditors;
164
202
  componentWillLoad(): void;
203
+ componentDidRender(): void;
204
+ private handleDataStateChange;
165
205
  getHeaderDisabledButtons(): Array<string>;
166
206
  private getInvisibleButtons;
167
207
  componentWillRender(): void;
@@ -10,12 +10,12 @@ import { IFieldConfig, IFormConfig } from '@sankhyalabs/ezui/dist/types/utils/fo
10
10
  import { SnkMessageBuilder } from '../../lib/message/SnkMessageBuilder';
11
11
  import { IGridConfig } from '@sankhyalabs/ezui/dist/types/components/ez-grid/controller/EzGridController';
12
12
  import SnkMultiSelectionListDataSource from '../snk-grid/filtercolumn/SnkMultiSelectionListDataSource';
13
- import { IAction } from '@sankhyalabs/ezui/dist/types/utils';
13
+ import { IAction, ICustomEditor, ICustomRender } from '@sankhyalabs/ezui/dist/types/utils';
14
14
  import { SnkFormConfigManager } from '../snk-form-config/SnkFormConfigManager';
15
+ import { ICustomFormatter } from '@sankhyalabs/ezui/dist/types/components/ez-grid/interfaces';
15
16
  export declare class SnkSimpleCrud {
16
17
  _viewStack: HTMLEzViewStackElement;
17
18
  _snkConfigurator: HTMLSnkConfiguratorElement;
18
- _snkGrid: HTMLSnkGridElement;
19
19
  _inMemoryLoader: InMemoryLoader;
20
20
  _metadata: UnitMetadata;
21
21
  _multiSelectionListDataSource: SnkMultiSelectionListDataSource;
@@ -30,6 +30,11 @@ export declare class SnkSimpleCrud {
30
30
  _gridConfigAlreadyLoaded: boolean;
31
31
  _formConfigAlreadyLoaded: boolean;
32
32
  _formConfigFetcher: FormConfigFetcher;
33
+ _customEditors: Map<string, ICustomEditor>;
34
+ _customRenders: Map<string, ICustomRender>;
35
+ private _form;
36
+ private _rmPrecisionCustomValueFormatter;
37
+ private _snkDataUnit;
33
38
  private _element;
34
39
  _showPopUpGridConfig: boolean;
35
40
  _showFormConfig: boolean;
@@ -39,18 +44,27 @@ export declare class SnkSimpleCrud {
39
44
  _customContainerId: string;
40
45
  dataState: DataState;
41
46
  dataUnit: DataUnit;
47
+ /**
48
+ * Define o nome da entidade que o componente vai utilizar para fazer as operações de CRUD
49
+ */
50
+ entityName: string;
42
51
  mode: SIMPLE_CRUD_MODE;
43
52
  gridConfig: IGridConfig;
44
53
  formConfig: IFormConfig;
45
54
  _formFields: IFieldConfig[];
55
+ private _fieldsProps;
46
56
  /**
47
57
  * Determina se pode haver mais de uma linha selecionada na grade.
48
58
  */
49
59
  multipleSelection: boolean;
50
60
  useCancelConfirm: boolean;
51
61
  /**
52
- * Identificador de recursos como configurações e acesso.
53
- */
62
+ * Determina quantas linhas são retornadas por página.
63
+ */
64
+ pageSize: number;
65
+ /**
66
+ * Identificador de recursos como configurações e acesso.
67
+ */
54
68
  resourceID: string;
55
69
  /**
56
70
  * Emitido quando há qualquer mudança de estado no DataUnit.
@@ -113,7 +127,39 @@ export declare class SnkSimpleCrud {
113
127
  * Ignora os campos "somente leitura" no modo de inserção.
114
128
  */
115
129
  ignoreReadOnlyFormFields: boolean;
130
+ /**
131
+ * Define se a grid será focada ao ser carregada.
132
+ */
133
+ autoFocus?: boolean;
134
+ /**
135
+ * Define a chave customizada para sobrescrever as mensagens (Não pegando pela entidade)
136
+ */
137
+ domainMessagesBuilder: string;
138
+ /**
139
+ * Registra um editor customizado para campos da grade e formulário.
140
+ */
141
+ addCustomEditor(fieldName: string, customEditor: ICustomEditor): Promise<void>;
142
+ /**
143
+ * Registra um render customizado para colunas da grid.
144
+ */
145
+ addGridCustomRender(fieldName: string, customRender: ICustomRender): Promise<void>;
146
+ /**
147
+ * Define se a carga dos dados será feita assim que o componente for carregado.
148
+ */
149
+ autoLoad?: boolean;
116
150
  handleResourceIDChanged(newValue: string, oldValue: string): void;
151
+ /**
152
+ * Registra um formatador de valores para uma coluna da grid.
153
+ */
154
+ addCustomValueFormatter(columnName: string, customFormatter: ICustomFormatter): Promise<void>;
155
+ /**
156
+ * Remove o formatador de valores de uma coluna da grid.
157
+ */
158
+ removeCustomValueFormatter(columnName: string): Promise<void>;
159
+ /**
160
+ * Altera/adiciona uma propriedade nos metadados do campo.
161
+ */
162
+ setFieldProp(fieldName: string, propName: string, value: any): Promise<void>;
117
163
  _taskbarProcessor: TaskbarProcessor;
118
164
  private getButtons;
119
165
  private addConfigButton;
@@ -124,10 +170,13 @@ export declare class SnkSimpleCrud {
124
170
  */
125
171
  goToView(view: VIEW_MODE): Promise<void>;
126
172
  actionClickListener(evt: CustomEvent): void;
173
+ onChangeEntityName(newValue: string): Promise<void>;
127
174
  onModeChange(): void;
128
175
  observeDataState(newValue: DataState, oldValue: DataState): void;
129
176
  observeFormLegacy(newValue: string, oldValue: string): Promise<void>;
130
177
  observeGridLegacy(newValue: string, oldValue: string): Promise<void>;
178
+ private handleDataStateChange;
179
+ private processRmPrecision;
131
180
  private handleUpdateGridLegacyConfig;
132
181
  private handleUpdateFormLegacyConfig;
133
182
  private openConfig;
@@ -138,9 +187,13 @@ export declare class SnkSimpleCrud {
138
187
  private formConfigIsLoaded;
139
188
  private loadFormConfig;
140
189
  componentWillRender(): Promise<void>;
190
+ componentDidRender(): void;
141
191
  componentWillLoad(): void;
142
192
  componentDidLoad(): void;
193
+ private setCustomRenders;
194
+ private setCustomEditors;
143
195
  configDatasource(): void;
196
+ private setFieldsProps;
144
197
  getTaskBarId(): string;
145
198
  initInMemoryDataUnit(): void;
146
199
  setMetadata(metadata: UnitMetadata): Promise<void>;
@@ -156,6 +209,7 @@ export declare class SnkSimpleCrud {
156
209
  closeConfigurator(): Promise<void>;
157
210
  updateConfig(): Promise<void>;
158
211
  processMetadata(): void;
212
+ private addGridCustomValueFormattters;
159
213
  onDataStateChange(evt: any): void;
160
214
  getTaskBarDisabledButtons(): Array<string>;
161
215
  handleCancelEdit(): void;
@@ -177,12 +231,16 @@ export declare class SnkSimpleCrud {
177
231
  disconnectedCallback(): void;
178
232
  private gridConfigChangeHandler;
179
233
  private modalConfigChangeHandler;
234
+ private dataExporterProviderStore;
235
+ private getDataExporterStoreKey;
180
236
  private setGridConfig;
181
237
  private setFormConfig;
182
238
  private closeGridConfig;
183
239
  private closeFormConfig;
240
+ private getPageSize;
184
241
  private handleShowFormConfig;
185
242
  private resolveResourceID;
186
243
  private getFormConfig;
244
+ private updateFormConfig;
187
245
  render(): any;
188
246
  }
@@ -30,4 +30,4 @@ export declare enum VisibleWhenForbidden {
30
30
  CONFIGURATOR = "CONFIGURATOR"
31
31
  }
32
32
  export declare const buildCustomButton: (def: CustomButton, className: string, dataElementId: string, action: (name: string) => void, isEnabled: (name: string) => boolean) => HTMLElement;
33
- export declare const buildElem: (element: TaskbarElement, className: string, dataElementId: string, getTitle: (name: string) => string, action: (name: string) => void, isEnabled: (name: string) => boolean, actions: Array<Action>, configName: string, presentationMode: PresentationMode) => HTMLElement;
33
+ export declare const buildElem: (element: TaskbarElement, className: string, dataElementId: string, getTitle: (name: string) => string, action: (name: string) => void, isEnabled: (name: string) => boolean, actions: Array<Action>, dataExporterStoreKey: string, presentationMode: PresentationMode) => HTMLElement;