@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
@@ -2,12 +2,13 @@ import { EventEmitter } from '../../stencil-public-runtime';
2
2
  import { DataUnit } from '@sankhyalabs/core';
3
3
  import { IRecordValidator } from '@sankhyalabs/ezui/dist/types/utils/form/interfaces';
4
4
  import { IStatusResolver, StatusResolverFunction } from '@sankhyalabs/ezui/dist/types/components/ez-grid/controller/EzGridController';
5
- import { ISelectionToastConfig } from '@sankhyalabs/ezui/dist/types/components/ez-grid/interfaces';
5
+ import { ICustomFormatter, ISelectionToastConfig } from '@sankhyalabs/ezui/dist/types/components/ez-grid/interfaces';
6
6
  import { DataState } from '../snk-data-unit/snk-data-unit';
7
7
  import { Action, TaskbarManager } from '../snk-taskbar/snk-taskbar';
8
8
  import { PresentationMode } from '../../lib';
9
9
  import { VIEW_MODE } from '../../lib/utils/constants';
10
10
  import { SnkMessageBuilder } from '../../lib/message/SnkMessageBuilder';
11
+ import { ICustomRender, ICustomEditor } from '@sankhyalabs/ezui/dist/types/utils';
11
12
  export declare class SnkCrud {
12
13
  _keyDownHandler: (event: KeyboardEvent) => Promise<void>;
13
14
  _viewStack: HTMLEzViewStackElement;
@@ -19,6 +20,8 @@ export declare class SnkCrud {
19
20
  _backToGrid: boolean;
20
21
  private _application;
21
22
  private _viewHistory;
23
+ private _customEditors;
24
+ private _customRenders;
22
25
  _element: HTMLElement;
23
26
  _dataUnit: DataUnit;
24
27
  _dataState: DataState;
@@ -93,6 +96,22 @@ export declare class SnkCrud {
93
96
  * e no modal lateral de filtros (container de filtros personalizados).
94
97
  */
95
98
  disablePersonalizedFilter: boolean;
99
+ /**
100
+ * Define se a carga dos dados será feita assim que o componente for carregado.
101
+ */
102
+ autoLoad?: boolean;
103
+ /**
104
+ * Define se a grid será focada ao ser carregada.
105
+ */
106
+ autoFocus?: boolean;
107
+ /**
108
+ * Define a chave customizada para sobrescrever as mensagens (Não pegando pela entidade)
109
+ */
110
+ domainMessagesBuilder: string;
111
+ /**
112
+ * Define uma função para configurar um título cusotmizado no modo formulário.
113
+ */
114
+ setCustomFormTitle: () => string;
96
115
  customContainerId: string;
97
116
  /**
98
117
  * Emitido pela taskbar sempre que houver click de botão ou ação.
@@ -110,6 +129,7 @@ export declare class SnkCrud {
110
129
  * Responsável por notificar quando ocorrer a renderização de itens do formulário.
111
130
  */
112
131
  formItemsReady: EventEmitter<Array<HTMLElement>>;
132
+ viewModeChanged: EventEmitter<VIEW_MODE>;
113
133
  /**
114
134
  * Usado para alternar a visão entre GRID e FORM externamente.
115
135
  */
@@ -130,6 +150,26 @@ export declare class SnkCrud {
130
150
  * Retorna o elemento da filter-bar da grade.
131
151
  */
132
152
  getFilterBar(): Promise<HTMLSnkFilterBarElement>;
153
+ /**
154
+ * Registra um editor customizado para campos da grade e formulário.
155
+ */
156
+ addCustomEditor(fieldName: string, customEditor: ICustomEditor): Promise<void>;
157
+ /**
158
+ * Registra um render customizado para colunas da grid.
159
+ */
160
+ addGridCustomRender(fieldName: string, customRender: ICustomRender): Promise<void>;
161
+ /**
162
+ * Registra um formatador de valores para uma coluna da grid.
163
+ */
164
+ addCustomValueFormatter(columnName: string, customFormatter: ICustomFormatter): Promise<void>;
165
+ /**
166
+ * Remove o formatador de valores de uma coluna da grid.
167
+ */
168
+ removeCustomValueFormatter(columnName: string): Promise<void>;
169
+ /**
170
+ * Altera/adiciona uma propriedade nos metadados do campo.
171
+ */
172
+ setFieldProp(fieldName: string, propName: string, value: any): Promise<void>;
133
173
  currentViewModeWatcher(currentView: VIEW_MODE): void;
134
174
  gridToForm(keepFormMode?: boolean): Promise<void>;
135
175
  executeAction(act: string): Promise<void>;
@@ -140,9 +180,13 @@ export declare class SnkCrud {
140
180
  insertionModeHandler(): void;
141
181
  cancelHandler(): void;
142
182
  private getAttachmentRegisterKey;
183
+ private setCustomRenders;
184
+ private setCustomEditors;
185
+ componentDidRender(): void;
143
186
  componentWillLoad(): void;
144
187
  componentDidLoad(): void;
145
188
  disconnectedCallback(): void;
189
+ private handleDataStateChange;
146
190
  private initKeyboardManager;
147
191
  private removeShortcuts;
148
192
  private toggleView;
@@ -7,6 +7,9 @@ import { IGuideItem } from '@sankhyalabs/ezui/dist/types/components/ez-guide-nav
7
7
  import { VIEW_MODE } from '../../../../lib/utils/constants';
8
8
  import { SnkMessageBuilder } from '../../../../lib/message/SnkMessageBuilder';
9
9
  import { GuideBuilder } from '../GuideBuilder';
10
+ import { PropsCustomEditor } from '../../interfaces/PropsCustomEditor';
11
+ import { ICustomRender, ICustomEditor } from '@sankhyalabs/ezui/dist/types/utils';
12
+ import { PropsCustomRender } from '../../interfaces/PropsCustomRender';
10
13
  export declare class SnkDetailView {
11
14
  private static REGEX_FORM_ID;
12
15
  private _formMetadata;
@@ -65,6 +68,14 @@ export declare class SnkDetailView {
65
68
  * Define o identificador do container de elementos customizados da Taskbar.
66
69
  */
67
70
  taskbarCustomContainerId: string;
71
+ /**
72
+ * Registra um editor customizado para campos da grade e formulário.
73
+ */
74
+ customEditors: PropsCustomEditor;
75
+ /**
76
+ * Render customizados da grade.
77
+ */
78
+ customRenders: PropsCustomRender;
68
79
  observeDataUnit(newDataUnit: DataUnit, oldDataUnit: DataUnit): void;
69
80
  observerDataState(newValue: DataState, oldValue: DataState): void;
70
81
  /**
@@ -77,6 +88,15 @@ export declare class SnkDetailView {
77
88
  */
78
89
  configGrid(): Promise<void>;
79
90
  showUp(): Promise<void>;
91
+ /**
92
+ * Registra um editor customizado para campos da grade e formulário.
93
+ */
94
+ addCustomEditor(fieldName: string, customEditor: ICustomEditor): Promise<void>;
95
+ observerPropsCustomEditor(newValue: PropsCustomEditor): Promise<void>;
96
+ /**
97
+ * Registra um render customizado para colunas da grid.
98
+ */
99
+ addGridCustomRender(fieldName: string, customRender: ICustomRender): Promise<void>;
80
100
  /**
81
101
  * Emitido quando há necessidade de atualizar a estrutura de guias.
82
102
  */
@@ -94,6 +114,7 @@ export declare class SnkDetailView {
94
114
  cardConfig: IFormCardConfig;
95
115
  propertyChanged: string;
96
116
  }>): void;
117
+ observeCustomRenders(newValue: object): Promise<void>;
97
118
  private updateLabel;
98
119
  private getFormGuideId;
99
120
  private stripFormPattern;
@@ -107,7 +128,9 @@ export declare class SnkDetailView {
107
128
  private getAttachmentRegisterKey;
108
129
  private handleDataStateChange;
109
130
  componentWillLoad(): void;
131
+ componentDidLoad(): Promise<void>;
110
132
  private dataUnitActionHandler;
111
133
  private addErrorBadgeToBranchGuide;
134
+ private normalizeBranchGuideId;
112
135
  render(): any;
113
136
  }
@@ -3,9 +3,13 @@ import { IFormViewField } from "@sankhyalabs/ezui/dist/types/components/ez-form-
3
3
  import { EventEmitter } from "../../../stencil-public-runtime";
4
4
  import { FormMetadata } from "@sankhyalabs/ezui/dist/collection/utils/form";
5
5
  import { IFormCardConfig, IRecordValidator, ISummaryField } from "@sankhyalabs/ezui/dist/types/utils/form/interfaces";
6
+ import { ICustomEditor } from "@sankhyalabs/ezui/dist/types/utils/customEditor/interfaces/ICustomEditor";
7
+ import { PropsCustomEditor } from "../interfaces/PropsCustomEditor";
6
8
  export declare class SnkFormView {
7
9
  private _dataBinder;
8
10
  private _formView;
11
+ private _customEditors;
12
+ private _fieldProps;
9
13
  /**
10
14
  * Caminho amigável para se chegar a este detalhe.
11
15
  */
@@ -45,8 +49,8 @@ export declare class SnkFormView {
45
49
  fixed: boolean;
46
50
  summaryFields: Array<ISummaryField>;
47
51
  /**
48
- * Define se o botão de expandir deve ser apresentado.
49
- */
52
+ * Define se o botão de expandir deve ser apresentado.
53
+ */
50
54
  canExpand: boolean;
51
55
  /**
52
56
  * Define se o botão de fixar deve ser apresentado.
@@ -58,8 +62,16 @@ export declare class SnkFormView {
58
62
  recordsValidator: IRecordValidator;
59
63
  /**
60
64
  * Determina o campo que deve ficar em evidência.
61
- */
65
+ */
62
66
  fieldToFocus: string;
67
+ /**
68
+ * Registra um editor customizado para campos da grade e formulário.
69
+ */
70
+ customEditors: PropsCustomEditor;
71
+ /**
72
+ * Lista de propriedades que serão alteradas/adicionadas por coluna.
73
+ */
74
+ fieldsProps: object;
63
75
  /**
64
76
  * Emitido quando a configuração do card é alterada.
65
77
  */
@@ -77,6 +89,16 @@ export declare class SnkFormView {
77
89
  */
78
90
  formItemsReady: EventEmitter<Array<HTMLElement>>;
79
91
  showUp(): Promise<void>;
92
+ /**
93
+ * Registra um editor customizado para campos da grade e formulário
94
+ */
95
+ addCustomEditor(fieldName: string, customEditor: ICustomEditor, detailContext?: string): Promise<void>;
96
+ observePropsCustomEditor(newValue: PropsCustomEditor): void;
97
+ /**
98
+ * Altera/adiciona uma propriedade nos metadados do campo.
99
+ */
100
+ setFieldProp(fieldName: string, propName: string, value: any): Promise<void>;
101
+ observeFieldsProps(newValue: object): Promise<void>;
80
102
  private changeFix;
81
103
  private changeContracted;
82
104
  private emitEvent;
@@ -85,6 +107,9 @@ export declare class SnkFormView {
85
107
  private bindFields;
86
108
  private handleFormItemsReady;
87
109
  disconnectedCallback(): void;
110
+ componentDidLoad(): void;
88
111
  componentDidRender(): void;
112
+ private setCustomEditors;
113
+ private setFieldProps;
89
114
  render(): any;
90
115
  }
@@ -9,6 +9,8 @@ import { IGuideItem } from '@sankhyalabs/ezui/dist/types/components/ez-guide-nav
9
9
  import { Action, TaskbarManager } from '../../snk-taskbar/snk-taskbar';
10
10
  import { PresentationMode } from '../../../lib';
11
11
  import { SnkMessageBuilder } from '../../../lib/message/SnkMessageBuilder';
12
+ import { PropsCustomEditor } from '../interfaces/PropsCustomEditor';
13
+ import { ICustomEditor, ICustomRender } from '@sankhyalabs/ezui/dist/types/utils';
12
14
  export declare class SnkGuidesViewer {
13
15
  private _configManager;
14
16
  private _masterFormMetadata;
@@ -83,12 +85,19 @@ export declare class SnkGuidesViewer {
83
85
  * Chave da configuração legado do formulário.
84
86
  */
85
87
  formLegacyConfigName: string;
88
+ /**
89
+ * Fornece uma função para obter um título customizado do formulário.
90
+ */
91
+ getCustomTitle: () => string;
86
92
  _hasToCreateFieldSearch: boolean;
87
93
  _breadcrumbItems: Array<IBreadcrumbItem>;
88
94
  _guides: Array<IGuideItem>;
89
95
  _formEditorConfigManager: SnkFormConfigManager;
90
96
  _formEditorDataUnit: DataUnit;
91
97
  private _fieldToGetFocus;
98
+ private _customEditors;
99
+ private _customRenders;
100
+ private _fieldsProps;
92
101
  observeDataUnit(): void;
93
102
  observeDataState(newValue: DataState, oldValue: DataState): void;
94
103
  observeMasterFormConfig(): void;
@@ -102,6 +111,18 @@ export declare class SnkGuidesViewer {
102
111
  * Abre o localizador de campos
103
112
  */
104
113
  findField(): Promise<void>;
114
+ /**
115
+ * Registra um editor customizado para campos da grade e formulário
116
+ */
117
+ addCustomEditor(fieldName: string, customEditor: ICustomEditor): Promise<void>;
118
+ /**
119
+ * Registra um render customizado para colunas da grid.
120
+ */
121
+ addGridCustomRender(fieldName: string, customRender: ICustomRender): Promise<void>;
122
+ /**
123
+ * Altera/adiciona uma propriedade nos metadados do campo.
124
+ */
125
+ setFieldProp(fieldName: string, propName: string, value: any): Promise<void>;
105
126
  /**
106
127
  * Atribui o foco para o componente.
107
128
  */
@@ -169,6 +190,7 @@ export declare class SnkGuidesViewer {
169
190
  private openGuideNavigator;
170
191
  private getBadge;
171
192
  private getGuideName;
193
+ private getTitle;
172
194
  componentDidLoad(): void;
173
195
  render(): any;
174
196
  }
@@ -181,5 +203,7 @@ interface BuildFixedFormParams {
181
203
  levelPath?: string;
182
204
  fieldToFocus?: string;
183
205
  onRequestClearFieldToFocus?: Function;
206
+ propsCustomEditor: PropsCustomEditor;
207
+ fieldsProps: object;
184
208
  }
185
209
  export {};
@@ -0,0 +1,14 @@
1
+ import { IResolveExporterParams } from "../../../lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams";
2
+ import IFetchDataExporterResponse from "../../../lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterResponse";
3
+ import { IExporterProvider } from "../interfaces/IExporterProvider";
4
+ import IExporterStrategy from "../interfaces/IExporterStrategy";
5
+ export default class ClientSideExporterStrategy implements IExporterStrategy {
6
+ private _provider;
7
+ constructor(provider: IExporterProvider);
8
+ private getParsedColumns;
9
+ executeExport(resolveProps: IResolveExporterParams): Promise<IFetchDataExporterResponse | Error>;
10
+ private getExecutor;
11
+ private buildColumnsObject;
12
+ private buildRowsObject;
13
+ private formatValue;
14
+ }
@@ -0,0 +1,12 @@
1
+ import { IResolveExporterParams } from "../../../lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams";
2
+ import IFetchDataExporterResponse from "../../../lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterResponse";
3
+ import IExporterStrategy from "../interfaces/IExporterStrategy";
4
+ import { IExporterProvider } from "../interfaces/IExporterProvider";
5
+ export default class ServerSideExporterStrategy implements IExporterStrategy {
6
+ private _provider;
7
+ constructor(provider: IExporterProvider);
8
+ private getParsedColumns;
9
+ private getParams;
10
+ executeExport(resolveProps: IResolveExporterParams): Promise<IFetchDataExporterResponse | Error>;
11
+ private getFormatResponse;
12
+ }
@@ -1,15 +1,35 @@
1
1
  import { Filter, Sort } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
2
2
  import { IRecordID } from './IRecordID';
3
3
  import IExporterColumnMetadata from "../../../lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IExporterColumnMetadata";
4
+ import { DataExporterOption } from '../../../lib/@types';
5
+ import { DataUnit } from '@sankhyalabs/core';
6
+ import { EzGridColumn } from '@sankhyalabs/ezui/dist/types/components/ez-grid/controller/EzGridController';
4
7
  export interface IExporterProvider {
5
- getFilters(): Array<Filter>;
8
+ getFilters?(): Array<Filter>;
6
9
  getColumnsMetadata(): Array<IExporterColumnMetadata> | Promise<Array<IExporterColumnMetadata>>;
7
- getOrders(): Array<Sort>;
8
- getResourceURI(): string;
10
+ getOrders?(): Array<Sort>;
11
+ getResourceURI?(): string;
9
12
  getSelectedNumber(): number;
10
13
  getTotalRecords(): number;
11
14
  getOffset?(): number;
12
- getLimit?(): number;
15
+ getPageSize?(): number;
16
+ getExportLimit?(): number;
13
17
  getSelectedIDs?(): Array<IRecordID>;
14
18
  getRecordID?(): string;
19
+ getRecords?(): Promise<Array<{
20
+ [key: string]: any;
21
+ }>>;
22
+ getHiddenOptions?(): Array<DataExporterOption>;
23
+ formatValue?(record: {
24
+ [key: string]: any;
25
+ }, column: IExporterColumnMetadata): string;
26
+ }
27
+ export declare class CommonsExporter {
28
+ dataUnit: DataUnit;
29
+ grid: HTMLEzGridElement;
30
+ private columnsState;
31
+ constructor(dataUnit: DataUnit, grid: HTMLEzGridElement);
32
+ getColumnsMetadata(): Promise<Array<IExporterColumnMetadata>>;
33
+ getColumnsState(): EzGridColumn[];
34
+ private buildColumnsMetadata;
15
35
  }
@@ -0,0 +1,5 @@
1
+ import { IResolveExporterParams } from "../../../lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams";
2
+ import IFetchDataExporterResponse from "../../../lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterResponse";
3
+ export default interface IExporterStrategy {
4
+ executeExport(resolveProps: IResolveExporterParams): Promise<IFetchDataExporterResponse | Error>;
5
+ }
@@ -0,0 +1,17 @@
1
+ import { CommonsExporter, IExporterProvider } from "../interfaces/IExporterProvider";
2
+ import { IRecordID } from "../interfaces/IRecordID";
3
+ import { DataExporterOption } from "../../../lib/@types";
4
+ import IExporterColumnMetadata from "../../../lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IExporterColumnMetadata";
5
+ export default class ClientSideExporterProvider extends CommonsExporter implements IExporterProvider {
6
+ getSelectedNumber(): number;
7
+ getTotalRecords(): number;
8
+ getSelectedIDs(): Array<IRecordID>;
9
+ getRecordID(): string;
10
+ getRecords(): Promise<{
11
+ [key: string]: any;
12
+ }[]>;
13
+ getHiddenOptions(): Array<DataExporterOption>;
14
+ formatValue(record: {
15
+ [key: string]: any;
16
+ }, column: IExporterColumnMetadata): string;
17
+ }
@@ -0,0 +1,17 @@
1
+ import { Filter, Sort } from "@sankhyalabs/core";
2
+ import { CommonsExporter, IExporterProvider } from "../interfaces/IExporterProvider";
3
+ import { IRecordID } from "../interfaces/IRecordID";
4
+ export default class ServerSideExporterProvider extends CommonsExporter implements IExporterProvider {
5
+ getFilters(): Array<Filter>;
6
+ getOrders(): Array<Sort>;
7
+ getResourceURI(): string;
8
+ getSelectedNumber(): number;
9
+ getTotalRecords(): number;
10
+ getSelectedIDs(): Array<IRecordID>;
11
+ getOffset(): number;
12
+ getPageSize(): number;
13
+ getExportLimit(): number;
14
+ getRecordID(): string;
15
+ private getPaginationInfo;
16
+ private getExporterOffset;
17
+ }
@@ -15,7 +15,7 @@ export declare class SnkDataExporter {
15
15
  private _releasedToExport;
16
16
  /**
17
17
  * Provedor das informações para exportação dos dados.
18
- */
18
+ */
19
19
  provider: IExporterProvider;
20
20
  /**
21
21
  * Responsável por flexibilizar e padronizar o uso de mensagens nos blocos de construção.
@@ -34,9 +34,12 @@ export declare class SnkDataExporter {
34
34
  private setEvents;
35
35
  private controlDropdown;
36
36
  private resolveExporter;
37
+ private getExporterStrategy;
37
38
  private getOptionKey;
39
+ private getExportType;
38
40
  private dispatchExporter;
39
41
  private processExporter;
42
+ private getFilteredReleasedToExport;
40
43
  private loadItems;
41
44
  private loadPersonalizedItems;
42
45
  private openPersonalizedReports;
@@ -15,6 +15,12 @@ export declare class ItemBuilder {
15
15
  * @param items - Array que será alimentado com as opções permitidas.
16
16
  */
17
17
  private setExportCurrentPage;
18
+ /**
19
+ * Método responsável por inserir os itens de exportação para todos os registros.
20
+ * @param option - Nome da opção que será inserida no array.
21
+ * @param items - Array que será alimentado com as opções permitidas.
22
+ */
23
+ private setExportAllRecords;
18
24
  /**
19
25
  * Método responsável por inserir os itens de exportação por e-mail.
20
26
  * @param option - Nome da opção que será inserida no array.
@@ -38,6 +44,11 @@ export declare class ItemBuilder {
38
44
  * @returns Retorna o objeto com os dados de exportação personalizada.
39
45
  */
40
46
  private getCurrentPage;
47
+ /**
48
+ * Método responsável por capturar o objeto com todos os dados de exportação.
49
+ * @returns Retorna o objeto com todos os dados de exportação.
50
+ */
51
+ private getAllRecords;
41
52
  /**
42
53
  * Método responsável por capturar o objeto com os dados de exportação personalizada em PDF.
43
54
  * @returns Retorna o objeto com os dados de exportação personalizada em PDF.
@@ -48,6 +59,16 @@ export declare class ItemBuilder {
48
59
  * @returns Retorna o objeto com os dados de exportação personalizada em XLS.
49
60
  */
50
61
  private getExportPageToXLS;
62
+ /**
63
+ * Método responsável por capturar o objeto com todos os dados de exportação em PDF.
64
+ * @returns Retorna o objeto com todos os dados de exportação em PDF.
65
+ */
66
+ private getExportAllRecordsToPDF;
67
+ /**
68
+ * Método responsável por capturar o objeto com todos os dados de exportação em XLS.
69
+ * @returns Retorna o objeto com todos os dados de exportação em XLS.
70
+ */
71
+ private getExportAllRecordsToXLS;
51
72
  /**
52
73
  * Método responsável por capturar o objeto com os dados de exportação por e-mail.
53
74
  * @returns Retorna o objeto com os dados de exportação por e-mail.
@@ -0,0 +1,77 @@
1
+ import { DataType } from "@sankhyalabs/core";
2
+ import { IResolveExporterParams } from "../../../../lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams";
3
+ export declare const testMetadata: {
4
+ name: string;
5
+ label: string;
6
+ fields: {
7
+ name: string;
8
+ label: string;
9
+ dataType: DataType;
10
+ }[];
11
+ };
12
+ export declare const recordId1: string;
13
+ export declare const recordId2: string;
14
+ export declare const testRecords: {
15
+ __record__id__: string;
16
+ TESTFIELD: string;
17
+ }[];
18
+ export declare const dataFetcherPDFResponse: {
19
+ chavePDF: {
20
+ valor: string;
21
+ };
22
+ permiteImprimir: {
23
+ valor: string;
24
+ };
25
+ permiteExportar: {
26
+ valor: string;
27
+ };
28
+ canSendEmail: {
29
+ valor: string;
30
+ };
31
+ };
32
+ export declare const dataFetcherXLSResponse: {
33
+ chaveXLS: {
34
+ valor: string;
35
+ };
36
+ };
37
+ export declare const exportPDFParams: IResolveExporterParams;
38
+ export declare const exportXLSParams: IResolveExporterParams;
39
+ export declare const serviceNamePDF = "GridPDFBuilderSP.buildPDFFromJson";
40
+ export declare const serviceNameXLS = "GridXLSBuilderSP.buildXLSFromJson";
41
+ interface ExpectedPayload {
42
+ serviceName: string;
43
+ titleGrid: string;
44
+ value: any;
45
+ align?: string;
46
+ type?: string;
47
+ }
48
+ export declare function buildExpectedResponse({ serviceName, titleGrid, value, align, type }: ExpectedPayload): {
49
+ serviceName: string;
50
+ requestBody: {
51
+ grid: {
52
+ titleGrid: string;
53
+ columns: {
54
+ column: {
55
+ align: string;
56
+ id: string;
57
+ index: number;
58
+ label: string;
59
+ presentationType: string;
60
+ type: string;
61
+ width: any;
62
+ }[];
63
+ };
64
+ customOptions: {
65
+ xlsxExtension: boolean;
66
+ };
67
+ rows: {
68
+ row: {
69
+ c1: {
70
+ $: any;
71
+ };
72
+ }[];
73
+ };
74
+ };
75
+ };
76
+ };
77
+ export {};
@@ -0,0 +1,4 @@
1
+ import { DataExporterOption } from "../../../lib/@types";
2
+ import IExporterColumnMetadata from "../../../lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IExporterColumnMetadata";
3
+ export declare function getVisibleColumns(columns: IExporterColumnMetadata[]): IExporterColumnMetadata[];
4
+ export declare function getOptionKey(option: DataExporterOption): string;
@@ -0,0 +1,3 @@
1
+ import { DataUnit } from "@sankhyalabs/core";
2
+ import { IRecordID } from "../interfaces/IRecordID";
3
+ export declare const getSelectedIDs: (dataUnit: DataUnit) => Array<IRecordID>;
@@ -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:
@@ -116,10 +170,14 @@ export declare class SnkDataUnit implements DUActionInterceptor {
116
170
  loadDataUnit(): 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;