@sankhyalabs/sankhyablocks 8.15.0-dev.6 → 8.15.0-dev.60

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 (352) hide show
  1. package/dist/cjs/{ConfigStorage-8009ecb2.js → ConfigStorage-7df9d3bb.js} +102 -30
  2. package/dist/cjs/IExporterProvider-1ed8e92a.js +187 -0
  3. package/dist/cjs/{ISave-d68ce3cd.js → ISave-e91b70a7.js} +1 -0
  4. package/dist/cjs/RecordIDUtils-3735135c.js +43 -0
  5. package/dist/cjs/{SnkFormConfigManager-7d850fbc.js → SnkFormConfigManager-4259edbe.js} +21 -13
  6. package/dist/cjs/{SnkMessageBuilder-7293d0ad.js → SnkMessageBuilder-66aa2557.js} +19 -1
  7. package/dist/cjs/{auth-fetcher-c8467c07.js → auth-fetcher-e6112be7.js} +1 -1
  8. package/dist/cjs/{DataFetcher-ba94ed5b.js → form-config-fetcher-3c4daeb5.js} +258 -4
  9. package/dist/cjs/index-f9e81701.js +2 -10
  10. package/dist/cjs/loader.cjs.js +1 -1
  11. package/dist/cjs/{dataunit-fetcher-bd4c52da.js → pesquisa-fetcher-cb768be1.js} +520 -86
  12. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  13. package/dist/cjs/{snk-actions-button_2.cjs.entry.js → snk-actions-button_4.cjs.entry.js} +529 -13
  14. package/dist/cjs/snk-application.cjs.entry.js +62 -28
  15. package/dist/cjs/snk-attach.cjs.entry.js +422 -62
  16. package/dist/cjs/snk-crud.cjs.entry.js +17 -12
  17. package/dist/cjs/snk-data-exporter.cjs.entry.js +204 -82
  18. package/dist/cjs/{snk-data-unit-1bc69073.js → snk-data-unit-abd2113f.js} +3 -38
  19. package/dist/cjs/snk-data-unit.cjs.entry.js +3 -2
  20. package/dist/cjs/snk-detail-view.cjs.entry.js +10 -12
  21. package/dist/cjs/snk-entity-list.cjs.entry.js +5 -3
  22. package/dist/cjs/snk-filter-bar.cjs.entry.js +65 -10
  23. package/dist/cjs/snk-filter-detail.cjs.entry.js +4 -1
  24. package/dist/cjs/snk-filter-item.cjs.entry.js +13 -6
  25. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +2 -3
  26. package/dist/cjs/snk-filter-modal.cjs.entry.js +2 -1
  27. package/dist/cjs/snk-filter-multi-select.cjs.entry.js +2 -1
  28. package/dist/cjs/snk-form-config.cjs.entry.js +46 -27
  29. package/dist/cjs/snk-form.cjs.entry.js +10 -4
  30. package/dist/cjs/snk-grid.cjs.entry.js +95 -116
  31. package/dist/cjs/{snk-guides-viewer-cb176c4d.js → snk-guides-viewer-bec9c1a5.js} +15 -11
  32. package/dist/cjs/snk-guides-viewer.cjs.entry.js +8 -10
  33. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +3 -1
  34. package/dist/cjs/snk-personalized-filter.cjs.entry.js +2 -3
  35. package/dist/cjs/snk-pesquisa.cjs.entry.js +1 -1
  36. package/dist/cjs/snk-simple-crud.cjs.entry.js +367 -38
  37. package/dist/cjs/snk-taskbar.cjs.entry.js +124 -15
  38. package/dist/cjs/{taskbar-elements-01b85b99.js → taskbar-elements-d9392685.js} +11 -11
  39. package/dist/collection/collection-manifest.json +7 -7
  40. package/dist/collection/components/snk-application/__mocks__/snk-application.js +7 -0
  41. package/dist/collection/components/snk-application/snk-application.js +85 -2
  42. package/dist/collection/components/snk-attach/snk-attach.js +212 -39
  43. package/dist/collection/components/snk-attach/structure/{crud-config-builder.js → builder/anexo-sistema-crud-config.builder.js} +1 -1
  44. package/dist/collection/components/snk-attach/structure/builder/attach-crud-config.builder.js +62 -0
  45. package/dist/collection/components/snk-attach/structure/{taskbar-builder.js → builder/taskbar-builder.js} +1 -1
  46. package/dist/collection/components/snk-attach/structure/fetcher/facade/fetcher.facade.js +1 -0
  47. package/dist/collection/components/snk-attach/structure/{data-unit-builder.js → fetcher/factory/anexo-sistema-data-unit.factory.js} +14 -11
  48. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +118 -0
  49. package/dist/collection/components/snk-attach/structure/index.js +6 -3
  50. package/dist/collection/components/snk-crud/snk-crud.js +95 -3
  51. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +2 -2
  52. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +11 -2
  53. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +27 -3
  54. package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +90 -0
  55. package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +68 -0
  56. package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +48 -1
  57. package/dist/collection/components/snk-data-exporter/interfaces/IExporterStrategy.js +1 -0
  58. package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +53 -0
  59. package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +55 -0
  60. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +42 -48
  61. package/dist/collection/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.js +88 -0
  62. package/dist/collection/components/snk-data-exporter/utils/RecordIDUtils.js +38 -0
  63. package/dist/collection/components/snk-data-unit/snk-data-unit.js +3 -42
  64. package/dist/collection/components/snk-entity-list/snk-entity-list.js +5 -3
  65. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-multi-select.js +2 -1
  66. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js +3 -1
  67. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +22 -1
  68. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +31 -6
  69. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +19 -1
  70. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +24 -1
  71. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +159 -5
  72. package/dist/collection/components/snk-filter-bar/utils/SnkFilterModalFactory.js +3 -1
  73. package/dist/collection/components/snk-form/snk-form.js +25 -1
  74. package/dist/collection/components/{snk-form → snk-form-config}/SnkFormConfigManager.js +20 -12
  75. package/dist/collection/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.js +50 -30
  76. package/dist/collection/components/snk-grid/snk-grid.js +102 -109
  77. package/dist/collection/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.js +130 -123
  78. package/dist/collection/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.js +1 -1
  79. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +2 -4
  80. package/dist/collection/components/snk-simple-crud/regular-buttons.js +3 -0
  81. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +10 -2
  82. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +548 -20
  83. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +4 -2
  84. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +11 -11
  85. package/dist/collection/components/snk-taskbar/snk-taskbar.css +17 -0
  86. package/dist/collection/components/snk-taskbar/snk-taskbar.js +167 -14
  87. package/dist/collection/lib/configs/ConfigStorage.js +86 -16
  88. package/dist/collection/lib/dataUnit/InMemoryLoader.js +9 -40
  89. package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +33 -0
  90. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +7 -4
  91. package/dist/collection/lib/http/data-fetcher/fetchers/{attach-fetcher.js → AttachFetcher/anexo-sistema-fetcher.js} +16 -15
  92. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/attach-fetcher.js +90 -0
  93. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/facade/attach-fetcher.facade.js +1 -0
  94. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/index.js +2 -0
  95. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/interfaces/IDelete.js +1 -0
  96. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/interfaces/IDownloadKey.js +1 -0
  97. package/dist/collection/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/ISave.js +1 -0
  98. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +3 -0
  99. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +4 -0
  100. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +11 -13
  101. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.js +32 -3
  102. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +36 -23
  103. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +12 -0
  104. package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +21 -0
  105. package/dist/collection/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.js +6 -3
  106. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +12 -13
  107. package/dist/collection/lib/index.js +1 -1
  108. package/dist/collection/lib/message/resources/snk-attach.msg.js +13 -0
  109. package/dist/collection/lib/message/resources/snk-data-exporter.msg.js +2 -1
  110. package/dist/collection/lib/message/resources/snk-simple-crud.msg.js +4 -0
  111. package/dist/collection/lib/utils/CrudUtils.js +13 -1
  112. package/dist/components/ConfigStorage.js +93 -21
  113. package/dist/components/IExporterProvider.js +256 -0
  114. package/dist/components/ISave.js +42 -0
  115. package/dist/components/SnkFormConfigManager.js +19 -11
  116. package/dist/components/SnkMessageBuilder.js +19 -1
  117. package/dist/components/dataunit-fetcher.js +138 -91
  118. package/dist/components/form-config-fetcher.js +7035 -3
  119. package/dist/components/index.d.ts +6 -6
  120. package/dist/components/index2.js +198 -33
  121. package/dist/components/snk-actions-button2.js +3 -11
  122. package/dist/components/snk-application2.js +42 -3
  123. package/dist/components/snk-attach2.js +478 -70
  124. package/dist/components/snk-crud.js +18 -7
  125. package/dist/components/snk-data-exporter2.js +199 -82
  126. package/dist/components/snk-data-unit2.js +41 -39
  127. package/dist/components/snk-detail-view2.js +44 -12
  128. package/dist/components/snk-entity-list.js +5 -3
  129. package/dist/components/snk-expression-item2.js +1 -1
  130. package/dist/components/snk-filter-bar2.js +69 -8
  131. package/dist/components/snk-filter-detail2.js +5 -1
  132. package/dist/components/snk-filter-item2.js +14 -6
  133. package/dist/components/snk-filter-modal.js +4 -2
  134. package/dist/components/snk-filter-multi-select.js +2 -1
  135. package/dist/components/snk-form-config2.js +47 -27
  136. package/dist/components/snk-form.js +8 -0
  137. package/dist/components/snk-grid-config2.js +128 -102
  138. package/dist/components/snk-grid2.js +96 -112
  139. package/dist/components/snk-personalized-filter-editor.js +3 -1
  140. package/dist/components/snk-personalized-filter2.js +1 -1
  141. package/dist/components/snk-pesquisa2.js +1 -1
  142. package/dist/components/snk-simple-crud2.js +421 -34
  143. package/dist/components/snk-taskbar2.js +144 -29
  144. package/dist/components/taskbar-actions-button2.js +4 -2
  145. package/dist/esm/{ConfigStorage-1244b8b0.js → ConfigStorage-928c3bf4.js} +93 -21
  146. package/dist/esm/IExporterProvider-ceabfb7e.js +179 -0
  147. package/dist/esm/{ISave-4412b20c.js → ISave-d8c8bc59.js} +1 -0
  148. package/dist/esm/RecordIDUtils-87d02110.js +41 -0
  149. package/dist/esm/{SnkFormConfigManager-9be0e7d4.js → SnkFormConfigManager-a87ade7a.js} +21 -13
  150. package/dist/esm/{SnkMessageBuilder-ca843d1b.js → SnkMessageBuilder-0a4becdd.js} +19 -1
  151. package/dist/esm/{auth-fetcher-c05dc474.js → auth-fetcher-e1cb288f.js} +1 -1
  152. package/dist/esm/{DataFetcher-aa159c5a.js → form-config-fetcher-e3094014.js} +257 -5
  153. package/dist/esm/index-a7d3d3f1.js +2 -10
  154. package/dist/esm/loader.js +1 -1
  155. package/dist/esm/{dataunit-fetcher-65714f21.js → pesquisa-fetcher-72125b13.js} +494 -69
  156. package/dist/esm/sankhyablocks.js +1 -1
  157. package/dist/esm/{snk-actions-button_2.entry.js → snk-actions-button_4.entry.js} +523 -9
  158. package/dist/esm/snk-application.entry.js +43 -9
  159. package/dist/esm/snk-attach.entry.js +422 -62
  160. package/dist/esm/snk-crud.entry.js +17 -12
  161. package/dist/esm/snk-data-exporter.entry.js +204 -82
  162. package/dist/esm/{snk-data-unit-6208ebf0.js → snk-data-unit-29eba11a.js} +4 -39
  163. package/dist/esm/snk-data-unit.entry.js +3 -2
  164. package/dist/esm/snk-detail-view.entry.js +10 -12
  165. package/dist/esm/snk-entity-list.entry.js +5 -3
  166. package/dist/esm/snk-filter-bar.entry.js +65 -10
  167. package/dist/esm/snk-filter-detail.entry.js +4 -1
  168. package/dist/esm/snk-filter-item.entry.js +13 -6
  169. package/dist/esm/snk-filter-modal-item.entry.js +2 -3
  170. package/dist/esm/snk-filter-modal.entry.js +2 -1
  171. package/dist/esm/snk-filter-multi-select.entry.js +2 -1
  172. package/dist/esm/snk-form-config.entry.js +47 -28
  173. package/dist/esm/snk-form.entry.js +10 -4
  174. package/dist/esm/snk-grid.entry.js +95 -116
  175. package/dist/esm/{snk-guides-viewer-eeb8f354.js → snk-guides-viewer-303aafb4.js} +15 -11
  176. package/dist/esm/snk-guides-viewer.entry.js +8 -10
  177. package/dist/esm/snk-personalized-filter-editor.entry.js +3 -1
  178. package/dist/esm/snk-personalized-filter.entry.js +2 -3
  179. package/dist/esm/snk-pesquisa.entry.js +1 -1
  180. package/dist/esm/snk-simple-crud.entry.js +359 -30
  181. package/dist/esm/snk-taskbar.entry.js +125 -16
  182. package/dist/esm/{taskbar-elements-d4d0b424.js → taskbar-elements-ad766858.js} +11 -11
  183. package/dist/sankhyablocks/p-029bfc09.js +1 -0
  184. package/dist/sankhyablocks/p-07825198.js +1 -0
  185. package/dist/sankhyablocks/p-0e8702f0.js +1 -0
  186. package/dist/sankhyablocks/p-13ea113d.entry.js +1 -0
  187. package/dist/sankhyablocks/p-1fa244c0.entry.js +1 -0
  188. package/dist/sankhyablocks/{p-9e7d65a4.js → p-21749402.js} +1 -1
  189. package/dist/sankhyablocks/p-2d972c2e.entry.js +1 -0
  190. package/dist/sankhyablocks/p-314e2d1a.entry.js +1 -0
  191. package/dist/sankhyablocks/p-32556aa6.js +1 -0
  192. package/dist/sankhyablocks/p-33718dfc.entry.js +1 -0
  193. package/dist/sankhyablocks/p-3494a28e.entry.js +1 -0
  194. package/dist/sankhyablocks/p-35bd4df7.entry.js +1 -0
  195. package/dist/sankhyablocks/p-536eeb16.js +26 -0
  196. package/dist/sankhyablocks/p-54a5d52a.entry.js +1 -0
  197. package/dist/sankhyablocks/p-563701f3.js +1 -0
  198. package/dist/sankhyablocks/p-61984566.entry.js +1 -0
  199. package/dist/sankhyablocks/p-61dd89eb.js +1 -0
  200. package/dist/sankhyablocks/p-64977b22.entry.js +1 -0
  201. package/dist/sankhyablocks/p-65b6dba3.entry.js +1 -0
  202. package/dist/sankhyablocks/p-6bc64fb0.entry.js +1 -0
  203. package/dist/sankhyablocks/p-70a4af56.entry.js +1 -0
  204. package/dist/sankhyablocks/p-9863d682.js +1 -0
  205. package/dist/sankhyablocks/p-aedf37fb.js +65 -0
  206. package/dist/sankhyablocks/p-b11aa1e0.entry.js +1 -0
  207. package/dist/sankhyablocks/p-b233f5aa.entry.js +1 -0
  208. package/dist/sankhyablocks/p-b86ea293.entry.js +1 -0
  209. package/dist/sankhyablocks/p-bf2acf72.entry.js +1 -0
  210. package/dist/sankhyablocks/p-c73482cf.js +1 -0
  211. package/dist/sankhyablocks/p-cb3c7b4a.entry.js +11 -0
  212. package/dist/sankhyablocks/p-cfb98f51.entry.js +1 -0
  213. package/dist/sankhyablocks/{p-247a8b36.entry.js → p-d1791da2.entry.js} +1 -1
  214. package/dist/sankhyablocks/p-d911a023.entry.js +1 -0
  215. package/dist/sankhyablocks/p-e27496ed.js +56 -0
  216. package/dist/sankhyablocks/p-e8763234.entry.js +1 -0
  217. package/dist/sankhyablocks/p-fa84e72f.entry.js +1 -0
  218. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  219. package/dist/types/components/snk-application/__mocks__/snk-application.d.ts +3 -0
  220. package/dist/types/components/snk-application/snk-application.d.ts +15 -0
  221. package/dist/types/components/snk-attach/{structure/crud-config-builder.d.ts → interfaces/ICrudConfig.d.ts} +1 -2
  222. package/dist/types/components/snk-attach/interfaces/TFetcherType.d.ts +1 -0
  223. package/dist/types/components/snk-attach/snk-attach.d.ts +29 -6
  224. package/dist/types/components/snk-attach/structure/builder/anexo-sistema-crud-config.builder.d.ts +2 -0
  225. package/dist/types/components/snk-attach/structure/builder/attach-crud-config.builder.d.ts +40 -0
  226. package/dist/types/components/snk-attach/structure/{taskbar-builder.d.ts → builder/taskbar-builder.d.ts} +1 -1
  227. package/dist/types/components/snk-attach/structure/fetcher/facade/fetcher.facade.d.ts +11 -0
  228. package/dist/types/components/snk-attach/structure/fetcher/factory/anexo-sistema-data-unit.factory.d.ts +17 -0
  229. package/dist/types/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.d.ts +16 -0
  230. package/dist/types/components/snk-attach/structure/index.d.ts +6 -3
  231. package/dist/types/components/snk-crud/snk-crud.d.ts +21 -0
  232. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +1 -1
  233. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +6 -1
  234. package/dist/types/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.d.ts +13 -0
  235. package/dist/types/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.d.ts +11 -0
  236. package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +21 -4
  237. package/dist/types/components/snk-data-exporter/interfaces/IExporterStrategy.d.ts +5 -0
  238. package/dist/types/components/snk-data-exporter/providers/ClientSideExporterProvider.d.ts +17 -0
  239. package/dist/types/components/snk-data-exporter/providers/ServerSideExporterProvider.d.ts +17 -0
  240. package/dist/types/components/snk-data-exporter/snk-data-exporter.d.ts +3 -1
  241. package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +77 -0
  242. package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +3 -0
  243. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +4 -0
  244. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +7 -3
  245. package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +5 -0
  246. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +27 -1
  247. package/dist/types/components/snk-filter-bar/utils/SnkFilterModalFactory.d.ts +3 -1
  248. package/dist/types/components/snk-form/snk-form.d.ts +6 -1
  249. package/dist/types/components/{snk-form → snk-form-config}/SnkFormConfigManager.d.ts +2 -1
  250. package/dist/types/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.d.ts +5 -3
  251. package/dist/types/components/snk-grid/snk-grid.d.ts +19 -4
  252. package/dist/types/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.d.ts +11 -6
  253. package/dist/types/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.d.ts +1 -1
  254. package/dist/types/components/snk-simple-crud/regular-buttons.d.ts +3 -0
  255. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +98 -4
  256. package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +1 -1
  257. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +34 -1
  258. package/dist/types/components.d.ts +314 -12
  259. package/dist/types/lib/configs/ConfigStorage.d.ts +25 -1
  260. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +0 -2
  261. package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +4 -0
  262. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -1
  263. package/dist/types/lib/http/data-fetcher/fetchers/{attach-fetcher.d.ts → AttachFetcher/anexo-sistema-fetcher.d.ts} +3 -2
  264. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/attach-fetcher.d.ts +11 -0
  265. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/facade/attach-fetcher.facade.d.ts +8 -0
  266. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/index.d.ts +3 -0
  267. package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/ISave.d.ts +2 -1
  268. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.d.ts +2 -1
  269. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +1 -0
  270. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.d.ts +1 -0
  271. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.d.ts +2 -0
  272. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +1 -0
  273. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IExporterColumnMetadata.d.ts +1 -0
  274. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +2 -0
  275. package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
  276. package/dist/types/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.d.ts +2 -1
  277. package/dist/types/lib/index.d.ts +1 -1
  278. package/dist/types/lib/utils/CrudUtils.d.ts +3 -0
  279. package/package.json +15 -6
  280. package/dist/cjs/PreloadManager-84466da6.js +0 -224
  281. package/dist/cjs/SnkMultiSelectionListDataSource-ba5838c2.js +0 -49
  282. package/dist/cjs/form-config-fetcher-df043d3d.js +0 -244
  283. package/dist/cjs/pesquisa-fetcher-ef050a47.js +0 -167
  284. package/dist/cjs/snk-grid-config.cjs.entry.js +0 -483
  285. package/dist/cjs/snk-select-box.cjs.entry.js +0 -25
  286. package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/index.js +0 -34
  287. package/dist/components/DataFetcher.js +0 -7021
  288. package/dist/components/field-search.js +0 -121
  289. package/dist/components/index3.js +0 -199
  290. package/dist/esm/PreloadManager-c1c2f2b4.js +0 -222
  291. package/dist/esm/SnkMultiSelectionListDataSource-44494b0e.js +0 -43
  292. package/dist/esm/form-config-fetcher-36219cd3.js +0 -241
  293. package/dist/esm/pesquisa-fetcher-dd3ca0a5.js +0 -165
  294. package/dist/esm/snk-grid-config.entry.js +0 -479
  295. package/dist/esm/snk-select-box.entry.js +0 -21
  296. package/dist/sankhyablocks/p-0874adb5.entry.js +0 -1
  297. package/dist/sankhyablocks/p-094c30cb.js +0 -1
  298. package/dist/sankhyablocks/p-0d7863ed.js +0 -26
  299. package/dist/sankhyablocks/p-0dca29cb.entry.js +0 -1
  300. package/dist/sankhyablocks/p-11081798.entry.js +0 -1
  301. package/dist/sankhyablocks/p-20726710.entry.js +0 -1
  302. package/dist/sankhyablocks/p-29804fc5.js +0 -60
  303. package/dist/sankhyablocks/p-32f0935f.js +0 -1
  304. package/dist/sankhyablocks/p-3520c088.entry.js +0 -1
  305. package/dist/sankhyablocks/p-374d03f6.js +0 -1
  306. package/dist/sankhyablocks/p-4775a293.entry.js +0 -1
  307. package/dist/sankhyablocks/p-585294ee.js +0 -56
  308. package/dist/sankhyablocks/p-6977a26c.entry.js +0 -1
  309. package/dist/sankhyablocks/p-69efa80d.entry.js +0 -1
  310. package/dist/sankhyablocks/p-6d20d38c.entry.js +0 -1
  311. package/dist/sankhyablocks/p-776ee8e3.js +0 -1
  312. package/dist/sankhyablocks/p-7d51d949.entry.js +0 -11
  313. package/dist/sankhyablocks/p-809f367d.entry.js +0 -1
  314. package/dist/sankhyablocks/p-95a3778f.entry.js +0 -1
  315. package/dist/sankhyablocks/p-9695f78b.js +0 -1
  316. package/dist/sankhyablocks/p-98674137.entry.js +0 -1
  317. package/dist/sankhyablocks/p-a9e5b094.entry.js +0 -1
  318. package/dist/sankhyablocks/p-b146a9f0.entry.js +0 -1
  319. package/dist/sankhyablocks/p-bedb8ad6.entry.js +0 -1
  320. package/dist/sankhyablocks/p-c22c1d8e.js +0 -1
  321. package/dist/sankhyablocks/p-c758265f.entry.js +0 -1
  322. package/dist/sankhyablocks/p-ca4d337a.entry.js +0 -1
  323. package/dist/sankhyablocks/p-cb7419e0.entry.js +0 -1
  324. package/dist/sankhyablocks/p-d1f5bc50.js +0 -1
  325. package/dist/sankhyablocks/p-d4f9ee17.entry.js +0 -1
  326. package/dist/sankhyablocks/p-d6317851.entry.js +0 -1
  327. package/dist/sankhyablocks/p-d9bb09b3.js +0 -6
  328. package/dist/sankhyablocks/p-e6380c60.js +0 -1
  329. package/dist/sankhyablocks/p-f2056f66.entry.js +0 -1
  330. package/dist/sankhyablocks/p-f514913b.entry.js +0 -1
  331. package/dist/sankhyablocks/p-fd8814b9.entry.js +0 -1
  332. package/dist/sankhyablocks/p-ff6064e7.js +0 -1
  333. package/dist/types/components/snk-attach/structure/data-unit-builder.d.ts +0 -15
  334. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/index.d.ts +0 -3
  335. /package/dist/collection/{lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDelete.js → components/snk-attach/interfaces/ICrudConfig.js} +0 -0
  336. /package/dist/collection/{lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDownloadKey.js → components/snk-attach/interfaces/TFetcherType.js} +0 -0
  337. /package/dist/collection/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.css +0 -0
  338. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.css +0 -0
  339. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.js +0 -0
  340. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.css +0 -0
  341. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.js +0 -0
  342. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.css +0 -0
  343. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.js +0 -0
  344. /package/dist/collection/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.css +0 -0
  345. /package/dist/collection/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.css +0 -0
  346. /package/dist/collection/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/index.js +0 -0
  347. /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.d.ts +0 -0
  348. /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.d.ts +0 -0
  349. /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.d.ts +0 -0
  350. /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/IDelete.d.ts +0 -0
  351. /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/IDownloadKey.d.ts +0 -0
  352. /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/index.d.ts +0 -0
@@ -17,11 +17,24 @@ export const snkAttachMessages = {
17
17
  anyLinkOrFileFilled: {
18
18
  title: "Atenção",
19
19
  message: `É necessário preencher o campo "Link" ou anexar um arquivo.`
20
+ },
21
+ descriptionCannotBeChanged: {
22
+ title: "Atenção",
23
+ message: "O campo 'Descrição' não pode ser alterado."
20
24
  }
21
25
  },
22
26
  taskbar: {
23
27
  titleDownload: "Fazer download",
24
28
  titleLink: "Abrir link",
29
+ },
30
+ attachMetadata: {
31
+ lblCode: "Código",
32
+ lblDescription: "Descrição",
33
+ lblFileOrLink: "Arquivo / Link",
34
+ lblUser: "Usuário",
35
+ lblDate: "Data de alteração",
36
+ lblFile: "Arquivo",
37
+ lblSubTitle: "Clique para selecionar um arquivo",
25
38
  }
26
39
  };
27
40
  export default snkAttachMessages;
@@ -16,7 +16,8 @@ export const snkDataExporterMessages = {
16
16
  },
17
17
  message: {
18
18
  emailSuccess: "E-mail enviado com sucesso",
19
- exportError: "Usuário sem permissão",
19
+ exportError: "Falha ao exportar dados",
20
+ unknownFailure: "O motivo da falha não pode ser identificado.",
20
21
  exportPermission: "O usuário não possui permissão para exportar o arquivo.",
21
22
  },
22
23
  title: {
@@ -1,4 +1,8 @@
1
1
  export const snkSimpleCrudMessages = {
2
2
  findColumn: "Busca de colunas",
3
+ formConfigUnavaliable: {
4
+ title: "Aviso",
5
+ message: 'A opção "Configurar formulário" será disponibilizada em breve. Enquanto isso, acesse a configuração do fomulário através dos layouts anteriores, HTML5 ou Flex.'
6
+ }
3
7
  };
4
8
  export default snkSimpleCrudMessages;
@@ -1,6 +1,18 @@
1
1
  import { DataFetcher } from '../';
2
- import { ApplicationContext } from '@sankhyalabs/core';
2
+ import { ApplicationContext, SortMode } from '@sankhyalabs/core';
3
3
  export class CrudUtils {
4
+ static assertDefaultSorting(gridConfig, dataUnit) {
5
+ if (gridConfig && dataUnit) {
6
+ dataUnit.defaultSorting = gridConfig
7
+ .columns
8
+ .filter(col => col.ascending != undefined)
9
+ .sort((colA, colB) => colA.orderIndex - colB.orderIndex)
10
+ .map(({ name: field, ascending }) => {
11
+ const { dataType } = dataUnit.getField(field);
12
+ return { field, dataType, mode: ascending ? SortMode.ASC : SortMode.DESC };
13
+ });
14
+ }
15
+ }
4
16
  static find(entityName, fields, criteria, onlyFirst = true, criteriaExpression, orderBy) {
5
17
  const SERVICE_CRUD_FIND = "mge@crud.find";
6
18
  let parsedFields = [];
@@ -1,7 +1,6 @@
1
- import { R as ResourceFetcher, F as FormConfigFetcher } from './form-config-fetcher.js';
1
+ import { R as ResourceFetcher, d as dist, D as DataFetcher, F as FormConfigFetcher } from './form-config-fetcher.js';
2
2
  import { F as FilterItemType } from './filter-item-type.enum.js';
3
3
  import { ObjectUtils } from '@sankhyalabs/core';
4
- import { d as dist, D as DataFetcher } from './DataFetcher.js';
5
4
 
6
5
  var __rest = (undefined && undefined.__rest) || function (s, e) {
7
6
  var t = {};
@@ -232,7 +231,7 @@ class PersonalizedFilterFetcher {
232
231
  assistent
233
232
  }
234
233
  }`);
235
- this.templateByQuery.set("savePersonalizedFilter", dist.gql `
234
+ this.templateByQuery.set("savePersonalizedFilter", dist.gql `
236
235
  mutation($name: String!, $filterAssistent: InputFilterAssistent!) {
237
236
  $queryAlias$: savePersonalizedFilter(name: $name, filterAssistent: $filterAssistent) {
238
237
  id
@@ -254,11 +253,11 @@ class PersonalizedFilterFetcher {
254
253
  }
255
254
  }`);
256
255
  }
257
- async loadPersonalizedFilter(resourceID, filterID, configName) {
256
+ async loadPersonalizedFilter(resourceID, filterID, configName, legacyConfigName) {
258
257
  return new Promise((resolve, reject) => {
259
258
  DataFetcher.get()
260
259
  .callGraphQL({
261
- values: { name: this.resolveURI(resourceID, configName) + "/" + filterID },
260
+ values: { name: this.resolveURI(resourceID, configName) + "/" + filterID + this.resolveLegacyConfigName(legacyConfigName) },
262
261
  query: this.templateByQuery.get("fetchFilterAssistent"),
263
262
  })
264
263
  .then((resp) => {
@@ -270,6 +269,9 @@ class PersonalizedFilterFetcher {
270
269
  });
271
270
  });
272
271
  }
272
+ resolveLegacyConfigName(legacyConfigName) {
273
+ return legacyConfigName ? `?legacyResourceID=${legacyConfigName}` : '';
274
+ }
273
275
  async savePersonalizedFilter(personalizedFilter, resourceID, configName) {
274
276
  if (!personalizedFilter || Object.keys(personalizedFilter).length == 0) {
275
277
  return Promise.reject(new Error("personalizedFilter não pode ser vazio"));
@@ -351,17 +353,37 @@ class PersonalizedFilterFetcher {
351
353
  }
352
354
  }
353
355
 
354
- const CONFIG_SOURCE = {
355
- form: "form",
356
- grid: "grid",
357
- filterBar: "filterBar"
358
- };
356
+ var CONFIG_SOURCE;
357
+ (function (CONFIG_SOURCE) {
358
+ CONFIG_SOURCE["form"] = "form";
359
+ CONFIG_SOURCE["grid"] = "grid";
360
+ CONFIG_SOURCE["filterBar"] = "filterBar";
361
+ })(CONFIG_SOURCE || (CONFIG_SOURCE = {}));
359
362
  class ConfigStorage {
360
- static preload(resourceID, configName) {
363
+ static addFilterBarLegacyConfig(configName, legacyConfigName) {
364
+ this.validateConfigName(configName, legacyConfigName);
365
+ this.filterBarLegacyConfig.set(configName, legacyConfigName);
366
+ }
367
+ static addFormLegacyConfig(configName, legacyConfigName) {
368
+ this.validateConfigName(configName, legacyConfigName);
369
+ this.formLegacyConfig.set(configName, legacyConfigName);
370
+ }
371
+ static addGridLegacyConfig(configName, legacyConfigName) {
372
+ this.validateConfigName(configName, legacyConfigName);
373
+ this.gridLegacyConfig.set(configName, legacyConfigName);
374
+ }
375
+ static preload(resourceID, configName, legacyConfigs) {
376
+ if (configName && (legacyConfigs === null || legacyConfigs === void 0 ? void 0 : legacyConfigs.gridLegacyConfig)) {
377
+ ConfigStorage.addGridLegacyConfig(configName, legacyConfigs.gridLegacyConfig);
378
+ }
379
+ if (configName && (legacyConfigs === null || legacyConfigs === void 0 ? void 0 : legacyConfigs.formLegacyConfig)) {
380
+ ConfigStorage.addFormLegacyConfig(configName, legacyConfigs.formLegacyConfig);
381
+ }
361
382
  ConfigStorage.loadFormConfig(configName, resourceID);
362
383
  ConfigStorage.loadGridConfig(configName, resourceID);
363
384
  }
364
385
  static async loadFilterBarConfig(name, resourceID, urlParams) {
386
+ urlParams = this.handleLegacyConfig(name, CONFIG_SOURCE.filterBar, urlParams);
365
387
  const cacheID = ConfigStorage.buildCacheID(name, CONFIG_SOURCE.filterBar, resourceID);
366
388
  if (!ConfigStorage.configById.has(cacheID)) {
367
389
  ConfigStorage.configById.set(cacheID, ConfigStorage.filterBarConfigFetcher.getConfig(resourceID, name, urlParams));
@@ -369,6 +391,7 @@ class ConfigStorage {
369
391
  return ConfigStorage.configById.get(cacheID);
370
392
  }
371
393
  static async loadFormConfig(name, resourceID) {
394
+ name = this.handleLegacyConfigAsString(name, CONFIG_SOURCE.form);
372
395
  const cacheID = ConfigStorage.buildCacheID(name, CONFIG_SOURCE.form, resourceID);
373
396
  if (!ConfigStorage.configById.has(cacheID)) {
374
397
  ConfigStorage.configById.set(cacheID, ConfigStorage.formConfigFetcher.loadFormConfig(name, resourceID));
@@ -376,6 +399,7 @@ class ConfigStorage {
376
399
  return ConfigStorage.configById.get(cacheID);
377
400
  }
378
401
  static async loadGridConfig(name, resourceID) {
402
+ name = this.handleLegacyConfigAsString(name, CONFIG_SOURCE.grid);
379
403
  const cacheID = ConfigStorage.buildCacheID(name, CONFIG_SOURCE.grid, resourceID);
380
404
  if (!ConfigStorage.configById.has(cacheID)) {
381
405
  ConfigStorage.configById.set(cacheID, ConfigStorage.gridConfigFetcher.getConfig(name, resourceID));
@@ -383,13 +407,12 @@ class ConfigStorage {
383
407
  return ConfigStorage.configById.get(cacheID);
384
408
  }
385
409
  static async saveFilterBarConfig(config, name, resourceID) {
386
- const cacheID = this.buildCacheID(name, CONFIG_SOURCE.filterBar, resourceID);
387
- this.configById.delete(cacheID);
410
+ await this.deleteFilterBarConfigCache(name, resourceID);
388
411
  return this.filterBarConfigFetcher.saveConfig(config, resourceID, name);
389
412
  }
390
413
  static async saveFormConfig(config, name, resourceID) {
391
- const cacheID = this.buildCacheID(name, CONFIG_SOURCE.form, resourceID);
392
- this.configById.delete(cacheID);
414
+ name = this.handleLegacyConfigAsString(name, CONFIG_SOURCE.form);
415
+ await this.deleteFormConfigCache(name, resourceID);
393
416
  return this.formConfigFetcher.saveConfig(config, name, resourceID);
394
417
  }
395
418
  static async saveCardState(config, name, resourceID) {
@@ -399,18 +422,17 @@ class ConfigStorage {
399
422
  if (config == undefined) {
400
423
  return;
401
424
  }
402
- const cacheID = this.buildCacheID(name, CONFIG_SOURCE.grid, resourceID);
403
- this.configById.delete(cacheID);
425
+ await this.deleteGridConfigCache(name, resourceID);
404
426
  return this.gridConfigFetcher.saveConfig(config, name, resourceID);
405
427
  }
406
428
  static async loadPersonalizedFilter(filterId, resourceID, configName) {
407
- return this.personalizedFilterFetcher.loadPersonalizedFilter(resourceID, filterId, configName);
429
+ const legacyConfigName = this.filterBarLegacyConfig.get(configName);
430
+ return this.personalizedFilterFetcher.loadPersonalizedFilter(resourceID, filterId, configName, legacyConfigName);
408
431
  }
409
432
  static async savePersonalizedFilter(personalizedFilter, resourceID, configName) {
410
- //Ao criar ou alterar um filtro personalizado,
433
+ //Ao criar ou alterar um filtro personalizado,
411
434
  //precisamos remover o cache do status da filterbar.
412
- const cacheID = this.buildCacheID(configName, CONFIG_SOURCE.filterBar, resourceID);
413
- this.configById.delete(cacheID);
435
+ await this.deleteFilterBarConfigCache(configName, resourceID);
414
436
  return this.personalizedFilterFetcher.savePersonalizedFilter(personalizedFilter, resourceID, configName);
415
437
  }
416
438
  static async removePersonalizedFilter(personalizedFilter, resourceID, configName) {
@@ -419,6 +441,51 @@ class ConfigStorage {
419
441
  static async validatePersonalizedFilter(dataUnitName, expression) {
420
442
  return this.personalizedFilterFetcher.validatePersonalizedFilter(dataUnitName, expression);
421
443
  }
444
+ static async deleteGridConfigCache(name, resourceID) {
445
+ await this.deleteConfigCache(name, resourceID, CONFIG_SOURCE.grid);
446
+ }
447
+ static async deleteFormConfigCache(name, resourceID) {
448
+ await this.deleteConfigCache(name, resourceID, CONFIG_SOURCE.form);
449
+ }
450
+ static async deleteFilterBarConfigCache(name, resourceID) {
451
+ await this.deleteConfigCache(name, resourceID, CONFIG_SOURCE.filterBar);
452
+ }
453
+ static validateConfigName(configName, legacyConfigName) {
454
+ if (!configName)
455
+ throw Error(this.CONFIG_NAME_ERROR_MESSAGE);
456
+ if (!legacyConfigName)
457
+ throw Error(this.LEGACY_CONFIG_NAME_ERROR_MESSAGE);
458
+ }
459
+ static handleLegacyConfig(configName, configSource, urlParams) {
460
+ let legacyConfigName;
461
+ switch (configSource) {
462
+ case CONFIG_SOURCE.filterBar:
463
+ legacyConfigName = this.filterBarLegacyConfig.get(configName);
464
+ break;
465
+ case CONFIG_SOURCE.grid:
466
+ legacyConfigName = this.gridLegacyConfig.get(configName);
467
+ break;
468
+ case CONFIG_SOURCE.form:
469
+ legacyConfigName = this.formLegacyConfig.get(configName);
470
+ }
471
+ const params = urlParams ? Object.assign({}, urlParams) : {};
472
+ if (legacyConfigName) {
473
+ params['legacyResourceID'] = legacyConfigName;
474
+ }
475
+ return params;
476
+ }
477
+ static handleLegacyConfigAsString(name, source) {
478
+ const params = this.handleLegacyConfig(name, source);
479
+ const legacyResourceID = params['legacyResourceID'];
480
+ if (legacyResourceID) {
481
+ name = name + `?legacyResourceID=${legacyResourceID}`;
482
+ }
483
+ return name;
484
+ }
485
+ static async deleteConfigCache(name, resourceID, source) {
486
+ const cacheID = ConfigStorage.buildCacheID(name, source, resourceID);
487
+ this.configById.delete(cacheID);
488
+ }
422
489
  static buildCacheID(name, source, resourceID) {
423
490
  if (name == undefined) {
424
491
  return `req_${source}_${resourceID}`;
@@ -426,6 +493,11 @@ class ConfigStorage {
426
493
  return `req_${source}_${name}_${resourceID}`;
427
494
  }
428
495
  }
496
+ ConfigStorage.CONFIG_NAME_ERROR_MESSAGE = "ConfigName precisa ser informado.";
497
+ ConfigStorage.LEGACY_CONFIG_NAME_ERROR_MESSAGE = "LegacyConfigName precisa ser informado.";
498
+ ConfigStorage.filterBarLegacyConfig = new Map();
499
+ ConfigStorage.formLegacyConfig = new Map();
500
+ ConfigStorage.gridLegacyConfig = new Map();
429
501
  ConfigStorage.configById = new Map();
430
502
  ConfigStorage.filterBarConfigFetcher = new FilterBarConfigFetcher();
431
503
  ConfigStorage.formConfigFetcher = new FormConfigFetcher();
@@ -0,0 +1,256 @@
1
+ import { D as DataFetcher } from './form-config-fetcher.js';
2
+ import { a as PreloadManager } from './dataunit-fetcher.js';
3
+ import { SortMode, ApplicationContext, UserInterface, DateUtils, DataType } from '@sankhyalabs/core';
4
+ import './ISave.js';
5
+ import '@sankhyalabs/ezui/dist/collection/utils/constants';
6
+ import { UserInterface as UserInterface$1 } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
7
+ import './filter-item-type.enum.js';
8
+ import InMemoryFilterColumnDataSource from '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils/InMemoryFilterColumnDataSource';
9
+ import { h } from '@stencil/core/internal/client';
10
+
11
+ class CrudUtils {
12
+ static assertDefaultSorting(gridConfig, dataUnit) {
13
+ if (gridConfig && dataUnit) {
14
+ dataUnit.defaultSorting = gridConfig
15
+ .columns
16
+ .filter(col => col.ascending != undefined)
17
+ .sort((colA, colB) => colA.orderIndex - colB.orderIndex)
18
+ .map(({ name: field, ascending }) => {
19
+ const { dataType } = dataUnit.getField(field);
20
+ return { field, dataType, mode: ascending ? SortMode.ASC : SortMode.DESC };
21
+ });
22
+ }
23
+ }
24
+ static find(entityName, fields, criteria, onlyFirst = true, criteriaExpression, orderBy) {
25
+ const SERVICE_CRUD_FIND = "mge@crud.find";
26
+ let parsedFields = [];
27
+ let parsedCriteria = [];
28
+ let literalCriteria = {};
29
+ let application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
30
+ if (fields) {
31
+ if (!Array.isArray(fields)) {
32
+ throw new Error(application.messagesBuilder.getMessage("crudUtils.errorArray", null));
33
+ }
34
+ fields.forEach((fieldName) => {
35
+ parsedFields.push({
36
+ name: fieldName
37
+ });
38
+ });
39
+ }
40
+ if (criteria) {
41
+ for (const key in criteria) {
42
+ if (criteria.hasOwnProperty(key)) {
43
+ parsedCriteria.push({ nome: key, valor: criteria[key] });
44
+ }
45
+ }
46
+ }
47
+ if (criteriaExpression) {
48
+ literalCriteria = {
49
+ expression: {
50
+ $: criteriaExpression
51
+ }
52
+ };
53
+ }
54
+ let request = {
55
+ requestBody: {
56
+ entity: {
57
+ name: entityName,
58
+ criterio: parsedCriteria,
59
+ fields: {
60
+ field: parsedFields
61
+ },
62
+ literalCriteria: literalCriteria,
63
+ orderby: orderBy
64
+ }
65
+ }
66
+ };
67
+ return new Promise((resolve) => {
68
+ DataFetcher.get().callServiceBroker(SERVICE_CRUD_FIND, JSON.stringify(request)).then((result) => {
69
+ var _a;
70
+ let entities = (_a = result.entidades) === null || _a === void 0 ? void 0 : _a.entidade;
71
+ if (entities != undefined) {
72
+ let crudFindResult = {
73
+ fields: new Map()
74
+ };
75
+ for (let key in entities) {
76
+ let fieldValue = entities[key];
77
+ if (fieldValue.hasOwnProperty('$')) {
78
+ crudFindResult.fields.set(key, fieldValue.$);
79
+ }
80
+ if (onlyFirst) {
81
+ break;
82
+ }
83
+ }
84
+ resolve(crudFindResult);
85
+ }
86
+ else {
87
+ resolve(null);
88
+ }
89
+ });
90
+ });
91
+ }
92
+ }
93
+
94
+ class TaskbarProcessor {
95
+ constructor(defaultButtons) {
96
+ this._defaultButtons = defaultButtons;
97
+ }
98
+ process(taskbarId, taskbarManager, dataState, disabledButtons = [], invisibleButtons = []) {
99
+ var _a;
100
+ this.customButtons = new Map();
101
+ this.buttons = "";
102
+ this.disabledButtons = [].concat(disabledButtons);
103
+ (_a = this.getButtonsArray(taskbarId, taskbarManager, dataState)) === null || _a === void 0 ? void 0 : _a.forEach(btnDef => {
104
+ let buttonName;
105
+ if (typeof btnDef === "string") {
106
+ buttonName = btnDef;
107
+ }
108
+ else {
109
+ const customBtn = btnDef;
110
+ this.customButtons.set(customBtn.name, customBtn);
111
+ buttonName = customBtn.name;
112
+ }
113
+ if (!invisibleButtons.includes(buttonName)) {
114
+ if (!this.isEnabled(taskbarId, taskbarManager, buttonName, dataState, disabledButtons)) {
115
+ this.disabledButtons.push(buttonName);
116
+ }
117
+ if (this.buttons.length > 0) {
118
+ this.buttons += ",";
119
+ }
120
+ this.buttons += buttonName;
121
+ }
122
+ });
123
+ }
124
+ getButtonsArray(taskbarId, taskbarManager, dataState) {
125
+ const defaults = this._defaultButtons[taskbarId];
126
+ if (taskbarManager) {
127
+ return taskbarManager.getButtons(taskbarId, dataState, [...defaults]);
128
+ }
129
+ return defaults;
130
+ }
131
+ isEnabled(taskbarId, taskbarManager, buttonName, dataState, disabled) {
132
+ const originalValue = disabled.includes(buttonName) ? false : true;
133
+ if (taskbarManager && taskbarManager.isEnabled) {
134
+ return taskbarManager.isEnabled(taskbarId, dataState, buttonName, originalValue);
135
+ }
136
+ return originalValue;
137
+ }
138
+ }
139
+
140
+ class SnkMultiSelectionListDataSource {
141
+ setDataUnit(dataUnit) {
142
+ this._dataUnit = dataUnit;
143
+ }
144
+ setApplication(application) {
145
+ this._application = application;
146
+ }
147
+ formatLabel(fieldName, value) {
148
+ const { userInterface } = this._dataUnit.getField(fieldName);
149
+ if (userInterface === UserInterface.DATETIME) {
150
+ return DateUtils.formatDate(this._dataUnit.valueFromString(fieldName, value));
151
+ }
152
+ return String(this._dataUnit.getFormattedValue(fieldName, value));
153
+ }
154
+ async getStaticOptions(fieldName) {
155
+ if (fieldName == undefined) {
156
+ return Promise.resolve(undefined);
157
+ }
158
+ return Promise.resolve(await PreloadManager.getDistinct(this._dataUnit, fieldName));
159
+ }
160
+ fetchData(filterTerm, fieldName) {
161
+ return new Promise(resolve => {
162
+ this._application.executeSelectDistinct(this._dataUnit, fieldName, filterTerm).then(result => {
163
+ resolve(result.map(item => {
164
+ const field = this._dataUnit.getField(fieldName);
165
+ if (field.userInterface === UserInterface.SEARCH) {
166
+ return Object.assign(Object.assign({}, JSON.parse(item)), { check: true });
167
+ }
168
+ return { value: item, label: this.formatLabel(fieldName, item), check: true };
169
+ }));
170
+ });
171
+ });
172
+ }
173
+ sortItems(fieldName, items) {
174
+ return InMemoryFilterColumnDataSource.defaultSorterMultSelectionOption(this._dataUnit, fieldName, items);
175
+ }
176
+ }
177
+
178
+ const EVENT_NAME = 'taskbarActionsOpened';
179
+ const buildFieldSearch = (action, optionLoader, onSelectField) => {
180
+ return h("ez-search", { class: 'ez-actions-button--bottom-padding', canShowError: 'false', showSelectedValue: 'false', showOptionValue: 'false', suppressEmptyOption: 'true', label: action.label, value: '', optionLoader: optionLoader, onEzChange: (evt) => onSelectField(evt.detail), ignoreLimitCharsToSearch: true });
181
+ };
182
+ async function focusOnFieldSerch(field) {
183
+ requestAnimationFrame(async () => {
184
+ if (field) {
185
+ const realElement = field['$elm$'];
186
+ if (!realElement)
187
+ return;
188
+ realElement.value = null;
189
+ await realElement.setFocus();
190
+ }
191
+ });
192
+ }
193
+ const openFieldSearch = async (moreOptions, field) => {
194
+ if (!moreOptions) {
195
+ return;
196
+ }
197
+ if ((await moreOptions.isOpened())) {
198
+ await focusOnFieldSerch(field);
199
+ return;
200
+ }
201
+ const eventHandler = () => {
202
+ focusOnFieldSerch(field);
203
+ moreOptions.removeEventListener(EVENT_NAME, eventHandler);
204
+ };
205
+ moreOptions.addEventListener(EVENT_NAME, eventHandler);
206
+ await moreOptions.showActions();
207
+ };
208
+
209
+ class CommonsExporter {
210
+ constructor(dataUnit, grid) {
211
+ this.dataUnit = dataUnit;
212
+ this.grid = grid;
213
+ }
214
+ async getColumnsMetadata() {
215
+ var _a;
216
+ const columnsState = await ((_a = this.grid) === null || _a === void 0 ? void 0 : _a.getColumnsState());
217
+ return this.buildColumnsMetadata(columnsState);
218
+ }
219
+ buildColumnsMetadata(gridColumns) {
220
+ const columnsMetadata = [];
221
+ gridColumns === null || gridColumns === void 0 ? void 0 : gridColumns.forEach((column) => {
222
+ var _a, _b;
223
+ /**
224
+ * TODO: Analisar e criar uma melhor forma de tratar essa validação do "RECDESP".
225
+ */
226
+ if (column.hidden && column.name !== "RECDESP") {
227
+ return;
228
+ }
229
+ const fieldData = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getField(column.name);
230
+ const columnData = {
231
+ label: column.label,
232
+ id: column.name,
233
+ width: (fieldData === null || fieldData === void 0 ? void 0 : fieldData.userInterface) === UserInterface$1.SEARCH ? 30 : column.width,
234
+ type: fieldData === null || fieldData === void 0 ? void 0 : fieldData.dataType,
235
+ userInterface: fieldData === null || fieldData === void 0 ? void 0 : fieldData.userInterface
236
+ };
237
+ columnsMetadata.push(columnData);
238
+ if (((_b = fieldData === null || fieldData === void 0 ? void 0 : fieldData.properties) === null || _b === void 0 ? void 0 : _b.DESCRIPTIONFIELD) != undefined) {
239
+ const mergedFrom = fieldData.properties.mergedFrom;
240
+ const descriptionField = `${fieldData.properties.ENTITYNAME}.${fieldData.properties.DESCRIPTIONFIELD}`;
241
+ const descriptionColumn = {
242
+ label: fieldData.properties.DESCRIPTIONENTITY,
243
+ id: `${mergedFrom ? (mergedFrom + ".") : ""}${descriptionField}`,
244
+ width: 200,
245
+ type: DataType.TEXT,
246
+ userInterface: UserInterface$1.LONGTEXT,
247
+ descriptionFrom: fieldData.name
248
+ };
249
+ columnsMetadata.push(descriptionColumn);
250
+ }
251
+ });
252
+ return columnsMetadata || [];
253
+ }
254
+ }
255
+
256
+ export { CommonsExporter as C, SnkMultiSelectionListDataSource as S, TaskbarProcessor as T, CrudUtils as a, buildFieldSearch as b, openFieldSearch as o };
@@ -0,0 +1,42 @@
1
+ var PresentationMode;
2
+ (function (PresentationMode) {
3
+ PresentationMode["PRIMARY"] = "primary";
4
+ PresentationMode["SECONDARY"] = "secondary";
5
+ PresentationMode["SINGLE_TASKBAR"] = "singleTaskbar";
6
+ })(PresentationMode || (PresentationMode = {}));
7
+ var DataExporterOption;
8
+ (function (DataExporterOption) {
9
+ DataExporterOption["EXPORT_TO_PDF"] = "exportToPDF";
10
+ DataExporterOption["EXPORT_TO_XLS"] = "exportToXLS";
11
+ DataExporterOption["EXPORT_CURRENT_PAGE"] = "exportCurrentPage";
12
+ DataExporterOption["EXPORT_PAGE_TO_PDF"] = "exportPageToPDF";
13
+ DataExporterOption["EXPORT_PAGE_TO_XLS"] = "exportPageToXLS";
14
+ DataExporterOption["EXPORT_BY_EMAIL"] = "exportToEmail";
15
+ DataExporterOption["EXPORT_PDF_TO_EMAIL"] = "exportPDFToEmail";
16
+ DataExporterOption["EXPORT_XLS_TO_EMAIL"] = "exportXLSToEmail";
17
+ })(DataExporterOption || (DataExporterOption = {}));
18
+ var DataExporterFormat;
19
+ (function (DataExporterFormat) {
20
+ DataExporterFormat["PDF"] = "exportPDFToEmail";
21
+ DataExporterFormat["XLS"] = "exportXLSToEmail";
22
+ DataExporterFormat["XLSX"] = "exportXLSToEmail";
23
+ })(DataExporterFormat || (DataExporterFormat = {}));
24
+ var DataExporterType;
25
+ (function (DataExporterType) {
26
+ DataExporterType["EXPORT_TO_PDF"] = "PDF";
27
+ DataExporterType["EXPORT_TO_XLS"] = "XLS";
28
+ DataExporterType["EXPORT_PAGE_TO_PDF"] = "PDF";
29
+ DataExporterType["EXPORT_PAGE_TO_XLS"] = "XLS";
30
+ DataExporterType["EXPORT_PDF_TO_EMAIL"] = "PDF";
31
+ DataExporterType["EXPORT_XLS_TO_EMAIL"] = "XLS";
32
+ })(DataExporterType || (DataExporterType = {}));
33
+
34
+ var SaveErrorsEnum;
35
+ (function (SaveErrorsEnum) {
36
+ SaveErrorsEnum["LINK_AND_FILE_AT_THE_SAME_TIME"] = "LINK_AND_FILE_AT_THE_SAME_TIME";
37
+ SaveErrorsEnum["ANY_LINK_OR_FILE_FILLED"] = "ANY_LINK_OR_FILE_FILLED";
38
+ SaveErrorsEnum["UNKNOWN"] = "UNKNOWN";
39
+ SaveErrorsEnum["DESCRIPTION_CANNOT_BE_CHANGED"] = "DESCRIPTION_CANNOT_BE_CHANGED";
40
+ })(SaveErrorsEnum || (SaveErrorsEnum = {}));
41
+
42
+ export { DataExporterOption as D, PresentationMode as P, SaveErrorsEnum as S, DataExporterFormat as a, DataExporterType as b };
@@ -8,6 +8,11 @@ class SnkFormConfigManager {
8
8
  this._configName = configName;
9
9
  this._onConfigChange = onConfigChange;
10
10
  }
11
+ addFormLegacyConfig(legacyConfigName) {
12
+ if (this._configName) {
13
+ ConfigStorage.addFormLegacyConfig(this._configName, legacyConfigName);
14
+ }
15
+ }
11
16
  async loadConfig() {
12
17
  return new Promise(resolve => {
13
18
  ConfigStorage.loadFormConfig(this._configName, this._resourceID)
@@ -93,16 +98,19 @@ class SnkFormConfigManager {
93
98
  const normalizedFilter = StringUtils.replaceAccentuatedCharsLower(descriptionFilter.toLocaleLowerCase());
94
99
  return normalizedText.includes(normalizedFilter);
95
100
  }
96
- getInsertionConfig(dataUnit) {
97
- const fields = this.getFieldsList(dataUnit).filter(field => {
98
- if (dataUnit) {
99
- const def = dataUnit.getField(field.name);
100
- if (def && def.readOnly) {
101
- return false;
101
+ getInsertionConfig(dataUnit, ignoreReadOnlyFormFields) {
102
+ let fields = this.getFieldsList(dataUnit);
103
+ if (ignoreReadOnlyFormFields) {
104
+ fields = fields.filter(field => {
105
+ if (dataUnit) {
106
+ const def = dataUnit.getField(field.name);
107
+ if (def && def.readOnly) {
108
+ return false;
109
+ }
102
110
  }
103
- }
104
- return !field.readOnly;
105
- });
111
+ return !field.readOnly;
112
+ });
113
+ }
106
114
  return Object.assign(Object.assign({}, this._config), { fields });
107
115
  }
108
116
  setConfig(config) {
@@ -122,8 +130,8 @@ class SnkFormConfigManager {
122
130
  this._onConfigChange(Object.assign({}, this._config));
123
131
  }
124
132
  }
125
- getConfig(insertionMode, dataUnit) {
126
- return insertionMode ? this.getInsertionConfig(dataUnit) : Object.assign({}, this._config);
133
+ getConfig(insertionMode, dataUnit, ignoreReadOnlyFormFields) {
134
+ return insertionMode ? this.getInsertionConfig(dataUnit, ignoreReadOnlyFormFields !== null && ignoreReadOnlyFormFields !== void 0 ? ignoreReadOnlyFormFields : true) : Object.assign({}, this._config);
127
135
  }
128
136
  getFormConfigFetcher() {
129
137
  if (this._formConfigFetcher == undefined) {
@@ -146,6 +146,10 @@ const snkCrudMessages = {
146
146
 
147
147
  const snkSimpleCrudMessages = {
148
148
  findColumn: "Busca de colunas",
149
+ formConfigUnavaliable: {
150
+ title: "Aviso",
151
+ message: 'A opção "Configurar formulário" será disponibilizada em breve. Enquanto isso, acesse a configuração do fomulário através dos layouts anteriores, HTML5 ou Flex.'
152
+ }
149
153
  };
150
154
 
151
155
  const fileViewerMessages = {
@@ -286,7 +290,8 @@ const snkDataExporterMessages = {
286
290
  },
287
291
  message: {
288
292
  emailSuccess: "E-mail enviado com sucesso",
289
- exportError: "Usuário sem permissão",
293
+ exportError: "Falha ao exportar dados",
294
+ unknownFailure: "O motivo da falha não pode ser identificado.",
290
295
  exportPermission: "O usuário não possui permissão para exportar o arquivo.",
291
296
  },
292
297
  title: {
@@ -351,11 +356,24 @@ const snkAttachMessages = {
351
356
  anyLinkOrFileFilled: {
352
357
  title: "Atenção",
353
358
  message: `É necessário preencher o campo "Link" ou anexar um arquivo.`
359
+ },
360
+ descriptionCannotBeChanged: {
361
+ title: "Atenção",
362
+ message: "O campo 'Descrição' não pode ser alterado."
354
363
  }
355
364
  },
356
365
  taskbar: {
357
366
  titleDownload: "Fazer download",
358
367
  titleLink: "Abrir link",
368
+ },
369
+ attachMetadata: {
370
+ lblCode: "Código",
371
+ lblDescription: "Descrição",
372
+ lblFileOrLink: "Arquivo / Link",
373
+ lblUser: "Usuário",
374
+ lblDate: "Data de alteração",
375
+ lblFile: "Arquivo",
376
+ lblSubTitle: "Clique para selecionar um arquivo",
359
377
  }
360
378
  };
361
379