@sankhyalabs/sankhyablocks 8.14.11 → 8.15.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 (201) hide show
  1. package/dist/cjs/{ConfigStorage-8009ecb2.js → ConfigStorage-302bbbd4.js} +24 -14
  2. package/dist/cjs/{ISave-d68ce3cd.js → ISave-e91b70a7.js} +1 -0
  3. package/dist/cjs/{SnkFormConfigManager-7d850fbc.js → SnkFormConfigManager-71c4768e.js} +1 -1
  4. package/dist/cjs/{SnkMessageBuilder-7293d0ad.js → SnkMessageBuilder-e7dcf408.js} +13 -0
  5. package/dist/cjs/{field-search-ca27041a.js → field-search-f56aa7d6.js} +29 -1
  6. package/dist/cjs/{index-0e663819.js → index-0922807b.js} +1 -0
  7. package/dist/cjs/index-f9e81701.js +2 -2
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/cjs/{dataunit-fetcher-d839c5d7.js → pesquisa-fetcher-7a08d110.js} +173 -6
  10. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  11. package/dist/cjs/{snk-actions-button.cjs.entry.js → snk-actions-button_2.cjs.entry.js} +133 -4
  12. package/dist/cjs/snk-application.cjs.entry.js +65 -6
  13. package/dist/cjs/snk-attach.cjs.entry.js +389 -58
  14. package/dist/cjs/snk-crud.cjs.entry.js +8 -9
  15. package/dist/cjs/snk-data-exporter.cjs.entry.js +3 -3
  16. package/dist/cjs/{snk-data-unit-1bc69073.js → snk-data-unit-82c08a8c.js} +1 -1
  17. package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
  18. package/dist/cjs/snk-detail-view.cjs.entry.js +9 -10
  19. package/dist/cjs/snk-filter-bar.cjs.entry.js +6 -3
  20. package/dist/cjs/snk-filter-item.cjs.entry.js +47 -1
  21. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +1 -1
  22. package/dist/cjs/snk-form.cjs.entry.js +2 -2
  23. package/dist/cjs/snk-grid-config.cjs.entry.js +1 -1
  24. package/dist/cjs/snk-grid.cjs.entry.js +51 -42
  25. package/dist/cjs/{snk-guides-viewer-88a7f880.js → snk-guides-viewer-546509df.js} +10 -21
  26. package/dist/cjs/snk-guides-viewer.cjs.entry.js +8 -9
  27. package/dist/cjs/snk-personalized-filter.cjs.entry.js +1 -1
  28. package/dist/cjs/snk-simple-crud.cjs.entry.js +20 -42
  29. package/dist/cjs/snk-taskbar.cjs.entry.js +2 -2
  30. package/dist/cjs/{taskbar-elements-39949c7a.js → taskbar-elements-01b85b99.js} +4 -4
  31. package/dist/collection/collection-manifest.json +2 -1
  32. package/dist/collection/components/snk-application/snk-application.js +65 -5
  33. package/dist/collection/components/snk-attach/snk-attach.js +188 -39
  34. package/dist/collection/components/snk-attach/structure/{crud-config-builder.js → builder/anexo-sistema-crud-config.builder.js} +1 -1
  35. package/dist/collection/components/snk-attach/structure/builder/attach-crud-config.builder.js +62 -0
  36. package/dist/collection/components/snk-attach/structure/{taskbar-builder.js → builder/taskbar-builder.js} +1 -1
  37. package/dist/collection/components/snk-attach/structure/fetcher/facade/fetcher.facade.js +1 -0
  38. package/dist/collection/components/snk-attach/structure/{data-unit-builder.js → fetcher/factory/anexo-sistema-data-unit.factory.js} +14 -11
  39. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +111 -0
  40. package/dist/collection/components/snk-attach/structure/index.js +6 -3
  41. package/dist/collection/components/snk-crud/snk-crud.js +5 -5
  42. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +6 -19
  43. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +47 -1
  44. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +5 -2
  45. package/dist/collection/components/snk-grid/snk-grid.js +59 -53
  46. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +15 -36
  47. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.css +6 -0
  48. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +324 -0
  49. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +3 -3
  50. package/dist/collection/components/snk-taskbar/snk-taskbar.js +1 -2
  51. package/dist/collection/components/snk-taskbar/subcomponents/field-search.js +28 -1
  52. package/dist/collection/lib/@types/index.js +1 -0
  53. package/dist/collection/lib/configs/ConfigStorage.js +24 -14
  54. package/dist/collection/lib/http/data-fetcher/fetchers/{attach-fetcher.js → AttachFetcher/anexo-sistema-fetcher.js} +16 -15
  55. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/attach-fetcher.js +90 -0
  56. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/facade/attach-fetcher.facade.js +1 -0
  57. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/index.js +2 -0
  58. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/interfaces/IDelete.js +1 -0
  59. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/interfaces/IDownloadKey.js +1 -0
  60. package/dist/collection/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/ISave.js +1 -0
  61. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +11 -6
  62. package/dist/collection/lib/index.js +1 -1
  63. package/dist/collection/lib/message/resources/snk-attach.msg.js +13 -0
  64. package/dist/components/ConfigStorage.js +24 -14
  65. package/dist/components/SnkMessageBuilder.js +13 -0
  66. package/dist/components/dataunit-fetcher.js +11 -6
  67. package/dist/components/field-search.js +29 -2
  68. package/dist/components/index.d.ts +1 -0
  69. package/dist/components/index.js +1 -0
  70. package/dist/components/index2.js +1 -0
  71. package/dist/components/snk-actions-button2.js +1 -0
  72. package/dist/components/snk-application2.js +62 -2
  73. package/dist/components/snk-attach2.js +414 -71
  74. package/dist/components/snk-crud.js +69 -63
  75. package/dist/components/snk-detail-view2.js +95 -94
  76. package/dist/components/snk-filter-bar2.js +5 -2
  77. package/dist/components/snk-filter-item2.js +47 -1
  78. package/dist/components/snk-grid2.js +91 -76
  79. package/dist/components/snk-simple-crud2.js +31 -46
  80. package/dist/components/snk-taskbar2.js +15 -9
  81. package/dist/components/taskbar-actions-button.d.ts +11 -0
  82. package/dist/components/taskbar-actions-button.js +6 -0
  83. package/dist/components/taskbar-actions-button2.js +154 -0
  84. package/dist/esm/{ConfigStorage-1244b8b0.js → ConfigStorage-4151acc8.js} +24 -14
  85. package/dist/esm/{ISave-4412b20c.js → ISave-d8c8bc59.js} +1 -0
  86. package/dist/esm/{SnkFormConfigManager-9be0e7d4.js → SnkFormConfigManager-5c7d3771.js} +1 -1
  87. package/dist/esm/{SnkMessageBuilder-ca843d1b.js → SnkMessageBuilder-0fb796b9.js} +13 -0
  88. package/dist/esm/{field-search-c6938ee4.js → field-search-efbe307f.js} +29 -2
  89. package/dist/esm/{index-1564817d.js → index-0ece87a6.js} +1 -0
  90. package/dist/esm/index-a7d3d3f1.js +2 -2
  91. package/dist/esm/loader.js +1 -1
  92. package/dist/esm/{dataunit-fetcher-cf01a8f4.js → pesquisa-fetcher-d6ff9386.js} +173 -7
  93. package/dist/esm/sankhyablocks.js +1 -1
  94. package/dist/esm/{snk-actions-button.entry.js → snk-actions-button_2.entry.js} +134 -6
  95. package/dist/esm/snk-application.entry.js +65 -6
  96. package/dist/esm/snk-attach.entry.js +390 -59
  97. package/dist/esm/snk-crud.entry.js +8 -9
  98. package/dist/esm/snk-data-exporter.entry.js +3 -3
  99. package/dist/esm/{snk-data-unit-6208ebf0.js → snk-data-unit-5d201fb3.js} +1 -1
  100. package/dist/esm/snk-data-unit.entry.js +2 -2
  101. package/dist/esm/snk-detail-view.entry.js +9 -10
  102. package/dist/esm/snk-filter-bar.entry.js +6 -3
  103. package/dist/esm/snk-filter-item.entry.js +47 -1
  104. package/dist/esm/snk-filter-modal-item.entry.js +1 -1
  105. package/dist/esm/snk-form.entry.js +2 -2
  106. package/dist/esm/snk-grid-config.entry.js +1 -1
  107. package/dist/esm/snk-grid.entry.js +52 -43
  108. package/dist/esm/{snk-guides-viewer-fde509bf.js → snk-guides-viewer-4e56a2e0.js} +10 -21
  109. package/dist/esm/snk-guides-viewer.entry.js +8 -9
  110. package/dist/esm/snk-personalized-filter.entry.js +1 -1
  111. package/dist/esm/snk-simple-crud.entry.js +19 -41
  112. package/dist/esm/snk-taskbar.entry.js +2 -2
  113. package/dist/esm/{taskbar-elements-0a6b8b95.js → taskbar-elements-d4d0b424.js} +4 -4
  114. package/dist/sankhyablocks/{p-ff6064e7.js → p-05243555.js} +1 -1
  115. package/dist/sankhyablocks/{p-fd8814b9.entry.js → p-1d75d9f9.entry.js} +1 -1
  116. package/dist/sankhyablocks/{p-9e7d65a4.js → p-21749402.js} +1 -1
  117. package/dist/sankhyablocks/p-32460e98.entry.js +11 -0
  118. package/dist/sankhyablocks/p-374d03f6.js +1 -0
  119. package/dist/sankhyablocks/p-38289a55.js +1 -0
  120. package/dist/sankhyablocks/{p-35fe6e61.entry.js → p-3963b9c1.entry.js} +1 -1
  121. package/dist/sankhyablocks/p-42af1bbf.js +65 -0
  122. package/dist/sankhyablocks/{p-776ee8e3.js → p-573a07c5.js} +1 -1
  123. package/dist/sankhyablocks/{p-d4fb9642.entry.js → p-69efa80d.entry.js} +1 -1
  124. package/dist/sankhyablocks/{p-6977a26c.entry.js → p-71439fd9.entry.js} +1 -1
  125. package/dist/sankhyablocks/{p-11081798.entry.js → p-761ed32f.entry.js} +1 -1
  126. package/dist/sankhyablocks/p-7d8d7fe9.entry.js +1 -0
  127. package/dist/sankhyablocks/{p-f514913b.entry.js → p-7f3c7b09.entry.js} +1 -1
  128. package/dist/sankhyablocks/p-8c74258e.entry.js +1 -0
  129. package/dist/sankhyablocks/p-8f0488b8.entry.js +1 -0
  130. package/dist/sankhyablocks/p-9ebcfeb6.entry.js +1 -0
  131. package/dist/sankhyablocks/p-aa95fb2c.js +56 -0
  132. package/dist/sankhyablocks/p-b05ab13d.entry.js +1 -0
  133. package/dist/sankhyablocks/p-c2137023.entry.js +1 -0
  134. package/dist/sankhyablocks/p-c2495304.js +1 -0
  135. package/dist/sankhyablocks/p-c4874327.entry.js +1 -0
  136. package/dist/sankhyablocks/p-d82f6eda.entry.js +1 -0
  137. package/dist/sankhyablocks/p-dcb6aad1.entry.js +1 -0
  138. package/dist/sankhyablocks/{p-3520c088.entry.js → p-e0fd9555.entry.js} +1 -1
  139. package/dist/sankhyablocks/p-e8812d8a.js +1 -0
  140. package/dist/sankhyablocks/{p-32f0935f.js → p-f3d1c48e.js} +1 -1
  141. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  142. package/dist/types/components/snk-actions-button/subcomponents/snk-actions-form.d.ts +1 -1
  143. package/dist/types/components/snk-application/snk-application.d.ts +4 -1
  144. package/dist/types/components/snk-attach/{structure/crud-config-builder.d.ts → interfaces/ICrudConfig.d.ts} +1 -2
  145. package/dist/types/components/snk-attach/interfaces/TFetcherType.d.ts +1 -0
  146. package/dist/types/components/snk-attach/snk-attach.d.ts +27 -6
  147. package/dist/types/components/snk-attach/structure/builder/anexo-sistema-crud-config.builder.d.ts +2 -0
  148. package/dist/types/components/snk-attach/structure/builder/attach-crud-config.builder.d.ts +31 -0
  149. package/dist/types/components/snk-attach/structure/{taskbar-builder.d.ts → builder/taskbar-builder.d.ts} +1 -1
  150. package/dist/types/components/snk-attach/structure/fetcher/facade/fetcher.facade.d.ts +11 -0
  151. package/dist/types/components/snk-attach/structure/fetcher/factory/anexo-sistema-data-unit.factory.d.ts +17 -0
  152. package/dist/types/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.d.ts +15 -0
  153. package/dist/types/components/snk-attach/structure/index.d.ts +6 -3
  154. package/dist/types/components/snk-crud/snk-crud.d.ts +1 -1
  155. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +1 -0
  156. package/dist/types/components/snk-grid/snk-grid.d.ts +5 -4
  157. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +6 -5
  158. package/dist/types/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.d.ts +60 -0
  159. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +16 -0
  160. package/dist/types/components/snk-taskbar/subcomponents/field-search.d.ts +2 -0
  161. package/dist/types/components.d.ts +111 -11
  162. package/dist/types/lib/@types/index.d.ts +2 -1
  163. package/dist/types/lib/configs/ConfigStorage.d.ts +4 -0
  164. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -1
  165. package/dist/types/lib/http/data-fetcher/fetchers/{attach-fetcher.d.ts → AttachFetcher/anexo-sistema-fetcher.d.ts} +3 -2
  166. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/attach-fetcher.d.ts +11 -0
  167. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/facade/attach-fetcher.facade.d.ts +8 -0
  168. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/index.d.ts +3 -0
  169. package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/ISave.d.ts +2 -1
  170. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +1 -0
  171. package/dist/types/lib/index.d.ts +1 -1
  172. package/package.json +8 -6
  173. package/react/components.d.ts +1 -0
  174. package/react/components.js +1 -0
  175. package/react/components.js.map +1 -1
  176. package/dist/cjs/pesquisa-fetcher-ef050a47.js +0 -167
  177. package/dist/esm/pesquisa-fetcher-dd3ca0a5.js +0 -165
  178. package/dist/sankhyablocks/p-08ced1fd.entry.js +0 -1
  179. package/dist/sankhyablocks/p-3160fa64.js +0 -60
  180. package/dist/sankhyablocks/p-34774923.entry.js +0 -1
  181. package/dist/sankhyablocks/p-38ab8a3b.entry.js +0 -1
  182. package/dist/sankhyablocks/p-3ab540cc.entry.js +0 -11
  183. package/dist/sankhyablocks/p-3ecd72a4.js +0 -1
  184. package/dist/sankhyablocks/p-4775a293.entry.js +0 -1
  185. package/dist/sankhyablocks/p-5534e08c.js +0 -1
  186. package/dist/sankhyablocks/p-585294ee.js +0 -56
  187. package/dist/sankhyablocks/p-6ea96bb1.entry.js +0 -1
  188. package/dist/sankhyablocks/p-936addf1.js +0 -1
  189. package/dist/sankhyablocks/p-c53926eb.entry.js +0 -1
  190. package/dist/sankhyablocks/p-c9841939.js +0 -1
  191. package/dist/sankhyablocks/p-cfbebb49.entry.js +0 -1
  192. package/dist/sankhyablocks/p-d2923a2a.entry.js +0 -1
  193. package/dist/sankhyablocks/p-d9bb09b3.js +0 -6
  194. package/dist/sankhyablocks/p-f2056f66.entry.js +0 -1
  195. package/dist/types/components/snk-attach/structure/data-unit-builder.d.ts +0 -15
  196. /package/dist/collection/{lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDelete.js → components/snk-attach/interfaces/ICrudConfig.js} +0 -0
  197. /package/dist/collection/{lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDownloadKey.js → components/snk-attach/interfaces/TFetcherType.js} +0 -0
  198. /package/dist/collection/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/index.js +0 -0
  199. /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/IDelete.d.ts +0 -0
  200. /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/IDownloadKey.d.ts +0 -0
  201. /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/index.d.ts +0 -0
@@ -1,17 +1,116 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
- import { ApplicationContext, DataType, Action } from '@sankhyalabs/core';
2
+ import { ApplicationContext, DataType, Action, UserInterface, StringUtils, DataUnit } from '@sankhyalabs/core';
3
3
  import { D as DataFetcher } from './DataFetcher.js';
4
- import { a as SaveErrorsEnum, d as defineCustomElement$7 } from './snk-actions-button2.js';
5
- import { V as VIEW_MODE } from './constants.js';
6
4
  import { a as PreloadManager, D as DataUnitFetcher } from './dataunit-fetcher.js';
7
- import { T as TaskbarElement, d as defineCustomElement$1 } from './snk-taskbar2.js';
8
- import { d as defineCustomElement$6 } from './snk-data-exporter2.js';
9
- import { d as defineCustomElement$5 } from './snk-data-unit2.js';
10
- import { d as defineCustomElement$4 } from './snk-exporter-email-sender2.js';
11
- import { d as defineCustomElement$3 } from './snk-simple-bar2.js';
12
- import { d as defineCustomElement$2 } from './snk-simple-crud2.js';
5
+ import './index2.js';
6
+ import { a as SaveErrorsEnum, d as defineCustomElement$8 } from './snk-actions-button2.js';
7
+ import './filter-item-type.enum.js';
8
+ import './form-config-fetcher.js';
9
+ import { V as VIEW_MODE } from './constants.js';
10
+ import { A as AutorizationType } from './auth-fetcher.js';
11
+ import { T as TaskbarElement, d as defineCustomElement$2 } from './snk-taskbar2.js';
12
+ import { d as defineCustomElement$7 } from './snk-data-exporter2.js';
13
+ import { d as defineCustomElement$6 } from './snk-data-unit2.js';
14
+ import { d as defineCustomElement$5 } from './snk-exporter-email-sender2.js';
15
+ import { d as defineCustomElement$4 } from './snk-simple-bar2.js';
16
+ import { d as defineCustomElement$3 } from './snk-simple-crud2.js';
17
+ import { d as defineCustomElement$1 } from './taskbar-actions-button2.js';
13
18
 
19
+ const SERVICE$1 = {
20
+ save: "Attach.save",
21
+ delete: "Attach.remove",
22
+ view: "Attach.view",
23
+ repository: "RepositorioArquivoSP.abreArquivo"
24
+ };
14
25
  class AttachFetcher {
26
+ constructor(dataUnitName) {
27
+ this.dataUnitName = dataUnitName;
28
+ }
29
+ async save({ dataUnit: dataUnitName, record, updatingFields: fields, operation }) {
30
+ var _a, _b;
31
+ const isInsert = operation == "INSERT";
32
+ const dataBody = isInsert ? fields : record;
33
+ if (!isInsert && (fields === null || fields === void 0 ? void 0 : fields.DESCRICAO) && (fields === null || fields === void 0 ? void 0 : fields.DESCRICAO) !== (record === null || record === void 0 ? void 0 : record.DESCRICAO)) {
34
+ throw new Error(SaveErrorsEnum.DESCRIPTION_CANNOT_BE_CHANGED);
35
+ }
36
+ const reqBody = {
37
+ "anexo": {
38
+ "codata": isInsert ? fields === null || fields === void 0 ? void 0 : fields.REGISTER_KEY : record === null || record === void 0 ? void 0 : record.CODATA,
39
+ "sequencia": (dataBody === null || dataBody === void 0 ? void 0 : dataBody.SEQUENCIA) || "0",
40
+ "tipo": (dataBody === null || dataBody === void 0 ? void 0 : dataBody.TIPO) || "N",
41
+ "descricao": dataBody === null || dataBody === void 0 ? void 0 : dataBody.DESCRICAO,
42
+ "arquivo": (_b = (_a = fields.CAMINHO_ARQUIVO) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.name,
43
+ "ehInclusao": isInsert ? "S" : "N",
44
+ "ehArquivoRepositorio": "N"
45
+ }
46
+ };
47
+ return new Promise((resolve, reject) => {
48
+ DataFetcher.get().callServiceBroker(SERVICE$1.save, JSON.stringify(reqBody))
49
+ .then(result => {
50
+ var _a;
51
+ return resolve([Object.assign(Object.assign(Object.assign({}, result), fields), { __owner__dataunit__name__: (_a = this.dataUnitName) !== null && _a !== void 0 ? _a : dataUnitName })]);
52
+ })
53
+ .catch(error => reject(error));
54
+ });
55
+ }
56
+ async edit(change) {
57
+ throw new Error("Method not implemented.");
58
+ }
59
+ async delete(record) {
60
+ var request = {
61
+ anexo: {
62
+ codata: record.CODATA,
63
+ tipo: record.TIPO,
64
+ descricao: record.DESCRICAO,
65
+ }
66
+ };
67
+ const result = await DataFetcher.get().callServiceBroker(SERVICE$1.delete, JSON.stringify(request));
68
+ return Promise.resolve(result);
69
+ }
70
+ async getDownloadKey(record) {
71
+ var _a, _b, _c;
72
+ if (record.EHARQUIVOREPOSITORIO == 'S') {
73
+ const request = {
74
+ config: {
75
+ path: record.ARQUIVO,
76
+ tipoconteudo: record.TIPOCONTEUDO
77
+ }
78
+ };
79
+ const result = await DataFetcher.get().callServiceBroker(SERVICE$1.repository, JSON.stringify(request));
80
+ return Promise.resolve({
81
+ chave: {
82
+ valor: (_b = (_a = result === null || result === void 0 ? void 0 : result.responseBody) === null || _a === void 0 ? void 0 : _a.chave) === null || _b === void 0 ? void 0 : _b.valor
83
+ }
84
+ });
85
+ }
86
+ const criteria = {
87
+ anexo: {
88
+ codata: record.CODATA,
89
+ codemp: record.CODEMP,
90
+ sequencia: record.SEQUENCIA,
91
+ tipo: record.TIPO,
92
+ descricao: record.DESCRICAO,
93
+ tipoConteudo: record.TIPOCONTEUDO
94
+ }
95
+ };
96
+ const result = await DataFetcher.get().callServiceBroker(SERVICE$1.view, JSON.stringify(criteria));
97
+ if (result === null || result === void 0 ? void 0 : result.chaveAnexo) {
98
+ return Promise.resolve({
99
+ chave: {
100
+ valor: (_c = result === null || result === void 0 ? void 0 : result.chaveAnexo) === null || _c === void 0 ? void 0 : _c.idChaveAnexo
101
+ }
102
+ });
103
+ }
104
+ return Promise.reject(new Error("File not found."));
105
+ }
106
+ }
107
+
108
+ const SERVICE = {
109
+ save: "AnexoSistemaSP.salvar",
110
+ delete: "AnexoSistemaSP.excluir",
111
+ download: "AnexoSistemaSP.baixar",
112
+ };
113
+ class AnexoSistemaFetcher {
15
114
  constructor(entityName, registerKey, dataUnitName) {
16
115
  var _a;
17
116
  this.entityName = entityName;
@@ -29,14 +128,13 @@ class AttachFetcher {
29
128
  }
30
129
  async save(change) {
31
130
  var _a, _b;
32
- const serviceName = "AnexoSistemaSP.salvar";
33
131
  let { updatingFields: fields } = change;
34
132
  fields = Object.assign(Object.assign({}, fields), { NOMEARQUIVO: (_a = fields.NOMEARQUIVO) === null || _a === void 0 ? void 0 : _a[0] });
35
133
  try {
36
134
  this.validateFields(fields);
37
135
  const fileInfo = !fields.LINK ? fields.NOMEARQUIVO : null;
38
136
  const reqBody = {
39
- serviceName,
137
+ serviceName: SERVICE.save,
40
138
  requestBody: {
41
139
  params: {
42
140
  resourceID: this.resourceID,
@@ -52,7 +150,7 @@ class AttachFetcher {
52
150
  }
53
151
  }
54
152
  };
55
- const result = await DataFetcher.get().callServiceBroker(serviceName, JSON.stringify(reqBody));
153
+ const result = await DataFetcher.get().callServiceBroker(SERVICE.save, JSON.stringify(reqBody));
56
154
  return Promise.resolve([Object.assign(Object.assign(Object.assign({}, result), fields), { ARQUIVOOULINK: !!fields.LINK ? fields.LINK : fileInfo === null || fileInfo === void 0 ? void 0 : fileInfo.name, __owner__dataunit__name__: this.dataUnitName })]);
57
155
  }
58
156
  catch (error) {
@@ -61,7 +159,6 @@ class AttachFetcher {
61
159
  }
62
160
  async edit(change) {
63
161
  var _a, _b, _c;
64
- const serviceName = "AnexoSistemaSP.salvar";
65
162
  let { updatingFields: fields, record } = change;
66
163
  const getFieldValue = (fieldValue) => {
67
164
  if (fields[fieldValue] !== undefined)
@@ -75,7 +172,7 @@ class AttachFetcher {
75
172
  try {
76
173
  this.validateFields(fields);
77
174
  const reqBody = {
78
- serviceName,
175
+ serviceName: SERVICE.save,
79
176
  requestBody: {
80
177
  params: {
81
178
  resourceID: this.resourceID,
@@ -93,7 +190,7 @@ class AttachFetcher {
93
190
  }
94
191
  }
95
192
  };
96
- const result = await DataFetcher.get().callServiceBroker(serviceName, JSON.stringify(reqBody));
193
+ const result = await DataFetcher.get().callServiceBroker(SERVICE.save, JSON.stringify(reqBody));
97
194
  return Promise.resolve([Object.assign(Object.assign(Object.assign({}, result), fields), { ARQUIVOOULINK: !!fields.LINK ? fields.LINK : fileInfo === null || fileInfo === void 0 ? void 0 : fileInfo.name, __owner__dataunit__name__: this.dataUnitName })]);
98
195
  }
99
196
  catch (error) {
@@ -102,10 +199,9 @@ class AttachFetcher {
102
199
  }
103
200
  delete(record) {
104
201
  var _a;
105
- const serviceName = "AnexoSistemaSP.excluir";
106
202
  const attachField = ((_a = record.NOMEARQUIVO) === null || _a === void 0 ? void 0 : _a[0]) || {};
107
203
  const reqBody = {
108
- serviceName,
204
+ serviceName: SERVICE.delete,
109
205
  requestBody: {
110
206
  paramsDelete: {
111
207
  keyAttach: record.CHAVEARQUIVO,
@@ -117,17 +213,16 @@ class AttachFetcher {
117
213
  }
118
214
  };
119
215
  return new Promise((resolve, reject) => {
120
- DataFetcher.get().callServiceBroker(serviceName, JSON.stringify(reqBody))
216
+ DataFetcher.get().callServiceBroker(SERVICE.delete, JSON.stringify(reqBody))
121
217
  .then(result => resolve(result))
122
218
  .catch(error => reject(error));
123
219
  });
124
220
  }
125
221
  getDownloadKey(record) {
126
222
  var _a;
127
- const serviceName = "AnexoSistemaSP.baixar";
128
223
  const attachField = ((_a = record.NOMEARQUIVO) === null || _a === void 0 ? void 0 : _a[0]) || {};
129
224
  const reqBody = {
130
- serviceName,
225
+ serviceName: SERVICE.download,
131
226
  requestBody: {
132
227
  paramsDown: {
133
228
  nameAttach: attachField === null || attachField === void 0 ? void 0 : attachField.name,
@@ -139,34 +234,37 @@ class AttachFetcher {
139
234
  }
140
235
  };
141
236
  return new Promise((resolve, reject) => {
142
- DataFetcher.get().callServiceBroker(serviceName, JSON.stringify(reqBody))
237
+ DataFetcher.get().callServiceBroker(SERVICE.download, JSON.stringify(reqBody))
143
238
  .then(result => resolve(result))
144
239
  .catch(error => reject(error));
145
240
  });
146
241
  }
147
242
  }
148
243
 
149
- class AttachmentDataUnitBuilder {
244
+ class AnexoSistemaDataUnitFactory {
150
245
  constructor(entityName, getMessage) {
151
246
  this.entityName = entityName;
152
247
  this.getMessage = getMessage;
153
248
  this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
154
249
  }
155
- initLoaders(dataUnit, attachFetcher, onSuccess) {
250
+ initLoaders(dataUnit, fetcher, onSuccess) {
156
251
  if (!this.loader)
157
252
  this.loader = dataUnit.dataLoader;
158
253
  dataUnit.dataLoader = (dataUnit, request) => this.dataLoader(dataUnit, request);
159
- dataUnit.saveLoader = (_, changes) => this.saveLoader(changes, attachFetcher).then((recordIds) => {
254
+ dataUnit.saveLoader = (_, changes) => this.saveLoader(changes, fetcher).then((recordIds) => {
160
255
  if (recordIds.length)
161
256
  onSuccess();
162
257
  return recordIds;
163
258
  });
164
- dataUnit.removeLoader = (dataUnit, ids) => this.removeLoader(dataUnit, ids, attachFetcher).then((recordIds) => {
259
+ dataUnit.removeLoader = (dataUnit, ids) => this.removeLoader(dataUnit, ids, fetcher).then((recordIds) => {
165
260
  if (recordIds.length)
166
261
  onSuccess();
167
262
  return recordIds;
168
263
  });
169
264
  }
265
+ metadataLoader(dataUnit) {
266
+ throw new Error("Method not implemented.");
267
+ }
170
268
  dataLoader(dataUnit, request) {
171
269
  return new Promise(resolve => {
172
270
  this.loader(dataUnit, request).then(response => {
@@ -182,11 +280,11 @@ class AttachmentDataUnitBuilder {
182
280
  });
183
281
  });
184
282
  }
185
- saveLoader(changes, attachFetcher) {
283
+ saveLoader(changes, fetcher) {
186
284
  return new Promise((resolve) => {
187
285
  var _a;
188
286
  const change = Array.isArray(changes) ? changes[0] : {};
189
- const savePromise = ((_a = change === null || change === void 0 ? void 0 : change.record) === null || _a === void 0 ? void 0 : _a.NUATTACH) >= 0 ? attachFetcher.edit.bind(attachFetcher) : attachFetcher.save.bind(attachFetcher);
287
+ const savePromise = ((_a = change === null || change === void 0 ? void 0 : change.record) === null || _a === void 0 ? void 0 : _a.NUATTACH) >= 0 ? fetcher.edit.bind(fetcher) : fetcher.save.bind(fetcher);
190
288
  savePromise(change).then((records) => {
191
289
  resolve(records);
192
290
  }).catch((error) => {
@@ -206,11 +304,11 @@ class AttachmentDataUnitBuilder {
206
304
  });
207
305
  });
208
306
  }
209
- removeLoader(dataUnit, ids, attachFetcher) {
307
+ removeLoader(dataUnit, ids, fetcher) {
210
308
  return new Promise((resolve) => {
211
309
  const { records } = dataUnit.getSelectionInfo();
212
310
  const recordToDelete = records[0];
213
- attachFetcher.delete(recordToDelete).then(() => {
311
+ fetcher.delete(recordToDelete).then(() => {
214
312
  PreloadManager.removeRecords(dataUnit, [recordToDelete]);
215
313
  return resolve(ids);
216
314
  });
@@ -251,6 +349,175 @@ class AttachmentDataUnitBuilder {
251
349
  }
252
350
  }
253
351
 
352
+ const application$1 = ApplicationContext.getContextValue("__SNK__APPLICATION__");
353
+ const getMessage$1 = (key) => {
354
+ var _a, _b;
355
+ return (_b = (_a = application$1 === null || application$1 === void 0 ? void 0 : application$1.messagesBuilder) === null || _a === void 0 ? void 0 : _a.getMessage) === null || _b === void 0 ? void 0 : _b.call(_a, key, null);
356
+ };
357
+ const attachCrudConfig = {
358
+ grid: {
359
+ columns: [
360
+ { name: "CODATA", orderIndex: 0, width: 0 },
361
+ { name: "DESCRICAO", orderIndex: 1, width: 0 },
362
+ { name: "ARQUIVO", orderIndex: 2, width: 0 },
363
+ { name: "DTALTER", orderIndex: 3, width: 0 },
364
+ { name: "USUARIO", orderIndex: 4, width: 0 },
365
+ ],
366
+ },
367
+ form: {
368
+ emptyConfig: false,
369
+ fields: [
370
+ {
371
+ name: "DESCRICAO",
372
+ label: getMessage$1("snkAttach.attachMetadata.lblDescription"),
373
+ visible: true,
374
+ readOnly: false,
375
+ required: true,
376
+ },
377
+ {
378
+ name: "CAMINHO_ARQUIVO",
379
+ label: getMessage$1("snkAttach.attachMetadata.lblFile"),
380
+ visible: true,
381
+ readOnly: false,
382
+ required: true,
383
+ },
384
+ ],
385
+ },
386
+ };
387
+ const attachFetcherMetadataBuilder = {
388
+ name: "Attach",
389
+ label: "Attach List",
390
+ fields: [
391
+ { name: "CODATA", label: getMessage$1("snkAttach.attachMetadata.lblCode"), dataType: DataType.TEXT },
392
+ { name: "DESCRICAO", label: getMessage$1("snkAttach.attachMetadata.lblDescription"), dataType: DataType.TEXT },
393
+ { name: "ARQUIVO", label: getMessage$1("snkAttach.attachMetadata.lblFileOrLink"), dataType: DataType.TEXT },
394
+ { name: "USUARIO", label: getMessage$1("snkAttach.attachMetadata.lblUser"), dataType: DataType.TEXT },
395
+ { name: "DTALTER", label: getMessage$1("snkAttach.attachMetadata.lblDate"), dataType: DataType.TEXT },
396
+ {
397
+ name: "CAMINHO_ARQUIVO",
398
+ label: getMessage$1("snkAttach.attachMetadata.lblFileUpload"),
399
+ dataType: DataType.OBJECT,
400
+ userInterface: UserInterface.FILE,
401
+ readOnly: false,
402
+ required: true,
403
+ visible: true,
404
+ properties: {
405
+ subTitle: getMessage$1("snkAttach.attachMetadata.lblSubTitle"),
406
+ MAX_FILES: 1,
407
+ STORAGESTRATEGY: "SESSION",
408
+ INTERNAL_FILENAME: "Attach.upload",
409
+ }
410
+ },
411
+ ],
412
+ };
413
+
414
+ const SERVICE_LOAD = "Attach.load";
415
+ class AttachFetcherDataUnitFactory {
416
+ constructor(getMessage) {
417
+ this.getMessage = getMessage;
418
+ this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
419
+ }
420
+ initLoaders(dataUnit, fetcher, onSuccess) {
421
+ dataUnit.metadataLoader = (dataUnit) => this.metadataLoader(dataUnit);
422
+ dataUnit.dataLoader = (dataUnit, request) => this.dataLoader(dataUnit, request);
423
+ dataUnit.saveLoader = (_, changes) => this.saveLoader(changes, fetcher).then((recordIds) => {
424
+ if (recordIds.length)
425
+ onSuccess();
426
+ return recordIds;
427
+ });
428
+ dataUnit.removeLoader = (dataUnit, ids) => this.removeLoader(dataUnit, ids, fetcher).then((recordIds) => {
429
+ if (recordIds.length)
430
+ onSuccess();
431
+ return recordIds;
432
+ });
433
+ }
434
+ metadataLoader(_) {
435
+ return Promise.resolve(attachFetcherMetadataBuilder);
436
+ }
437
+ async dataLoader(_, request) {
438
+ if (!request.source) {
439
+ return Promise.resolve({ records: [] });
440
+ }
441
+ const criteria = {
442
+ criteria: {
443
+ codata: request.source,
444
+ tipoAnexo: "N"
445
+ }
446
+ };
447
+ const applicationDataFetcher = await this._application.getDataFetcher();
448
+ const { anexos: { anexo = [] } } = await applicationDataFetcher.callServiceBroker(SERVICE_LOAD, JSON.stringify(criteria));
449
+ const records = [];
450
+ anexo.forEach((param) => {
451
+ records.push(Object.assign({ __record__id__: StringUtils.generateUUID(), CAMINHO_ARQUIVO: [{
452
+ name: param === null || param === void 0 ? void 0 : param.ARQUIVO,
453
+ }] }, param));
454
+ });
455
+ return Promise.resolve({ records });
456
+ }
457
+ saveLoader(changes, fetcher) {
458
+ return new Promise((resolve) => {
459
+ const change = Array.isArray(changes) ? changes[0] : {};
460
+ fetcher.save(change)
461
+ .then(resolve)
462
+ .catch((error) => {
463
+ if (error.message === SaveErrorsEnum.DESCRIPTION_CANNOT_BE_CHANGED) {
464
+ this._application.alert(this.getMessage('snkAttach.alertValidation.descriptionCannotBeChanged.title'), this.getMessage('snkAttach.alertValidation.descriptionCannotBeChanged.message'));
465
+ return resolve([]);
466
+ }
467
+ if (error.message === SaveErrorsEnum.LINK_AND_FILE_AT_THE_SAME_TIME) {
468
+ this._application.alert(this.getMessage('snkAttach.alertValidation.fileAndLinkAtTheSameTime.title'), this.getMessage('snkAttach.alertValidation.fileAndLinkAtTheSameTime.message'));
469
+ return resolve([]);
470
+ }
471
+ if (error.message === SaveErrorsEnum.ANY_LINK_OR_FILE_FILLED) {
472
+ this._application.alert(this.getMessage('snkAttach.alertValidation.anyLinkOrFileFilled.title'), this.getMessage('snkAttach.alertValidation.anyLinkOrFileFilled.message'));
473
+ return resolve([]);
474
+ }
475
+ if (error.message) {
476
+ this._application.error((error.title || error.name), error.message);
477
+ return resolve([]);
478
+ }
479
+ resolve([]);
480
+ });
481
+ });
482
+ }
483
+ removeLoader(dataUnit, ids, fetcher) {
484
+ return new Promise((resolve) => {
485
+ dataUnit.getSelectionInfo().records.forEach(async (record) => {
486
+ this._application.hasAccess(AutorizationType.REMOVE)
487
+ .then(async (hasAccess) => {
488
+ if (hasAccess) {
489
+ await fetcher.delete(record);
490
+ resolve(ids);
491
+ }
492
+ });
493
+ });
494
+ });
495
+ }
496
+ getFilters() {
497
+ throw new Error('Method not implemented.');
498
+ }
499
+ getInterceptions(dataUnit, action, crudRef) {
500
+ return new Promise((resolve) => {
501
+ if (action.type === Action.EDITION_CANCELED) {
502
+ if (!dataUnit.isDirty())
503
+ return resolve(action);
504
+ return this._application.confirm(this.getMessage('snkAttach.cancelConfirmation.title'), this.getMessage('snkAttach.cancelConfirmation.message')).then((cancellationConfirmed) => {
505
+ if (cancellationConfirmed) {
506
+ crudRef.goToView(VIEW_MODE.GRID);
507
+ return resolve(action);
508
+ }
509
+ return resolve(undefined);
510
+ });
511
+ }
512
+ if (action.type === Action.DATA_SAVED) {
513
+ dataUnit.loadData();
514
+ return resolve(action);
515
+ }
516
+ resolve(action);
517
+ });
518
+ }
519
+ }
520
+
254
521
  const application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
255
522
  const getMessage = (key) => {
256
523
  var _a, _b;
@@ -297,7 +564,7 @@ const buildTaskBarManager = () => {
297
564
  };
298
565
  };
299
566
 
300
- const crudConfig = {
567
+ const anexoSistemaCrudConfig = {
301
568
  grid: {
302
569
  columns: [
303
570
  { name: "ARQUIVOOULINK", orderIndex: 0, width: 0 },
@@ -344,40 +611,60 @@ const SnkAttach = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
344
611
  super();
345
612
  this.__registerHost();
346
613
  this.back = createEvent(this, "back", 7);
347
- this.handleTaskbarClick = ({ detail: taskbar }) => {
614
+ this.handleTaskbarClick = async ({ detail: taskbar }) => {
348
615
  if (["DOWNLOAD", "LINK"].includes(taskbar))
349
- return this.downloadAttachment(this.dataUnit.getSelectedRecord());
616
+ return this.downloadAttachment(this._currentDataUnit.getSelectedRecord());
617
+ if (this.fetcherType === "Attach" && ["SAVE"].includes(taskbar) && this._currentDataUnit.isDirty()) {
618
+ await this._currentDataUnit.setFieldValue("REGISTER_KEY", this.registerKey);
619
+ }
350
620
  };
351
621
  this.handleBack = () => {
352
- this.dataUnit.cancelEdition().then((cancelationConfirmed) => {
622
+ this._currentDataUnit.cancelEdition().then((cancelationConfirmed) => {
353
623
  if (cancelationConfirmed)
354
624
  this.back.emit();
355
625
  });
356
626
  };
357
627
  this.handleFinish = () => {
358
- if (!this.dataUnit.isDirty())
628
+ if (!this._currentDataUnit.isDirty())
359
629
  return this.back.emit();
360
- this.dataUnit.saveData().then(() => {
630
+ this._currentDataUnit.saveData().then(() => {
361
631
  this.showFinishedToast();
362
632
  this.back.emit();
363
633
  });
364
634
  };
635
+ this.fetcherType = "AnexoSistema";
636
+ this.fetcher = undefined;
637
+ this.dataUnit = undefined;
638
+ this.dataUnitBuilder = undefined;
365
639
  this.registerKey = undefined;
366
640
  this.entityName = undefined;
367
641
  this.messagesBuilder = undefined;
368
- this.dataUnit = undefined;
642
+ this._currentFetcher = undefined;
643
+ this._currentDataUnit = undefined;
369
644
  this.crudConfig = undefined;
370
645
  }
371
646
  registerKeyWatcher(newRegisterKey, oldRegisterKey) {
372
- var _a;
373
- if (this.dataUnit == null) {
647
+ var _a, _b, _c, _d;
648
+ if (this._currentDataUnit == null) {
374
649
  this.loadAttachmentDataUnit();
375
650
  }
376
651
  if (oldRegisterKey !== newRegisterKey) {
377
652
  this.returnToGridMode();
378
- this._attachFetcher = new AttachFetcher(this.entityName, this.registerKey, (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.name);
379
- this._dataUnitBuilder.initLoaders(this.dataUnit, this._attachFetcher, () => { this.returnToGridMode(); });
380
- this.dataUnit.loadData();
653
+ if (this.fetcherType === "AnexoSistema") {
654
+ this._currentFetcher = new AnexoSistemaFetcher(this.entityName, this.registerKey, (_a = this._currentDataUnit) === null || _a === void 0 ? void 0 : _a.name);
655
+ (_b = this._currentDataUnitBuilder) === null || _b === void 0 ? void 0 : _b.initLoaders(this._currentDataUnit, this._currentFetcher, this.returnToGridMode.bind(this));
656
+ return (_c = this._currentDataUnit) === null || _c === void 0 ? void 0 : _c.loadData();
657
+ }
658
+ if (this.fetcherType === "Attach") {
659
+ const hasMoreOneItem = ((_d = this.registerKey) === null || _d === void 0 ? void 0 : _d.split("_").length) > 1;
660
+ if (hasMoreOneItem)
661
+ return;
662
+ }
663
+ return this._currentDataUnit
664
+ .loadMetadata()
665
+ .then(() => {
666
+ this._currentDataUnit.loadData(undefined, undefined, true, this.registerKey);
667
+ });
381
668
  }
382
669
  }
383
670
  /**
@@ -400,44 +687,90 @@ const SnkAttach = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
400
687
  window.open(`${selectedRecord.LINK}`);
401
688
  return;
402
689
  }
403
- this._attachFetcher.getDownloadKey(selectedRecord).then(({ chave }) => {
404
- window.open(`/mge/visualizadorArquivos.mge?chaveArquivo=${chave.valor}&forcarDownload=S`);
690
+ this._currentFetcher
691
+ .getDownloadKey(selectedRecord)
692
+ .then(({ chave }) => {
693
+ var _a;
694
+ let forceDownload = false;
695
+ if (!((_a = selectedRecord === null || selectedRecord === void 0 ? void 0 : selectedRecord.ARQUIVO) === null || _a === void 0 ? void 0 : _a.endsWith(".pdf"))) {
696
+ forceDownload = true;
697
+ }
698
+ window.open(`/mge/visualizadorArquivos.mge?chaveArquivo=${chave.valor}${forceDownload ? "&forcarDownload=S" : ""}`);
405
699
  });
406
700
  }
407
701
  returnToGridMode() {
408
- this.dataUnit.clearSelection();
702
+ var _a;
703
+ (_a = this._currentDataUnit) === null || _a === void 0 ? void 0 : _a.clearSelection();
409
704
  if (this._crudElement)
410
705
  this._crudElement.goToView(VIEW_MODE.GRID);
411
706
  }
412
707
  loadAttachmentDataUnit() {
413
- var _a;
414
708
  try {
415
- const dataUnit = this.dataUnit || new DataUnitFetcher().getDataUnit(RESOURCE_ID, DATA_UNIT_NAME);
416
- this._attachFetcher = new AttachFetcher(this.entityName, this.registerKey, (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.name);
417
- if (!dataUnit.metadata)
418
- dataUnit.loadMetadata().then(() => {
419
- this.crudConfig = crudConfig;
420
- });
421
- this._dataUnitBuilder = new AttachmentDataUnitBuilder(this.entityName, this.getMessage.bind(this));
422
- dataUnit.addFilterProvider({ getFilter: () => this._dataUnitBuilder.getFilters(this.registerKey) });
423
- dataUnit.addInterceptor({ interceptAction: (action) => this._dataUnitBuilder.getInterceptions(dataUnit, action, this._crudElement) });
424
- this.dataUnit = dataUnit;
425
- this.dataUnit.loadData().then(() => {
426
- this.disableEditFieldsNotInForm();
427
- });
428
- return this.dataUnit;
709
+ switch (this.fetcherType) {
710
+ case "AnexoSistema":
711
+ this.loadAnexoSistema();
712
+ break;
713
+ case "Attach":
714
+ this.loadAttach();
715
+ break;
716
+ default:
717
+ this._currentFetcher = this.fetcher;
718
+ this._currentDataUnit = this.dataUnit;
719
+ this._currentDataUnitBuilder = this.dataUnitBuilder;
720
+ }
429
721
  }
430
722
  catch (error) {
431
723
  throw new Error('There was an error while creating the data unit');
432
724
  }
433
725
  }
726
+ loadAnexoSistema() {
727
+ var _a;
728
+ this._currentDataUnit = this._currentDataUnit || new DataUnitFetcher().getDataUnit(RESOURCE_ID, DATA_UNIT_NAME);
729
+ this._currentFetcher = new AnexoSistemaFetcher(this.entityName, this.registerKey, (_a = this._currentDataUnit) === null || _a === void 0 ? void 0 : _a.name);
730
+ if (!this._currentDataUnit.metadata) {
731
+ this._currentDataUnit
732
+ .loadMetadata()
733
+ .then(() => this.crudConfig = anexoSistemaCrudConfig);
734
+ }
735
+ this._currentDataUnitBuilder = new AnexoSistemaDataUnitFactory(this.entityName, this.getMessage.bind(this));
736
+ this._currentDataUnit.addFilterProvider({
737
+ getFilter: () => this._currentDataUnitBuilder.getFilters(this.registerKey)
738
+ });
739
+ this._currentDataUnit.addInterceptor({
740
+ interceptAction: (action) => this._currentDataUnitBuilder.getInterceptions(this._currentDataUnit, action, this._crudElement)
741
+ });
742
+ this._currentDataUnit.loadData().then(this.disableEditFieldsNotInForm.bind(this));
743
+ }
744
+ loadAttach() {
745
+ var _a;
746
+ this._currentFetcher = new AttachFetcher();
747
+ this._currentDataUnit = new DataUnit();
748
+ this._currentDataUnit.addInterceptor({
749
+ interceptAction: (action) => this._currentDataUnitBuilder.getInterceptions(this._currentDataUnit, action, this._crudElement)
750
+ });
751
+ this._currentDataUnitBuilder = new AttachFetcherDataUnitFactory(this.getMessage.bind(this));
752
+ (_a = this._currentDataUnitBuilder) === null || _a === void 0 ? void 0 : _a.initLoaders(this._currentDataUnit, this._currentFetcher, async () => {
753
+ await this._currentDataUnit.loadData(undefined, undefined, true, this.registerKey);
754
+ this.returnToGridMode();
755
+ });
756
+ if (!this._currentDataUnit.metadata) {
757
+ this._currentDataUnit
758
+ .loadMetadata()
759
+ .then(() => {
760
+ this.crudConfig = attachCrudConfig;
761
+ this._currentDataUnit
762
+ .loadData(undefined, undefined, true, this.registerKey)
763
+ .then(this.disableEditFieldsNotInForm.bind(this));
764
+ });
765
+ }
766
+ }
434
767
  disableEditFieldsNotInForm() {
435
768
  var _a;
436
769
  (_a = this.crudConfig) === null || _a === void 0 ? void 0 : _a.grid.columns.forEach(column => {
437
770
  var _a;
438
771
  const fieldName = column.name;
439
772
  if (!((_a = this.crudConfig) === null || _a === void 0 ? void 0 : _a.form.fields.some(field => field.name === fieldName))) {
440
- this.dataUnit.disableField(fieldName);
773
+ this._currentDataUnit.disableField(fieldName);
441
774
  }
442
775
  });
443
776
  }
@@ -445,32 +778,37 @@ const SnkAttach = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
445
778
  this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
446
779
  }
447
780
  componentWillRender() {
448
- if (this.dataUnit == null) {
781
+ if (this._currentDataUnit == null) {
449
782
  this.loadAttachmentDataUnit();
450
783
  }
451
784
  }
452
785
  render() {
453
786
  var _a, _b;
454
- if (!this.dataUnit)
787
+ if (!this._currentDataUnit)
455
788
  return null;
456
- return (h("main", { class: "snk-attach__main" }, h("header", { class: "snk-attach__header" }, h("snk-simple-bar", { onExit: this.handleBack, messagesBuilder: this.messagesBuilder }, h("div", { slot: "rightSlot" }, h("ez-button", { class: "ez-button--primary", label: this.getMessage("snkAttach.finish"), onClick: this.handleFinish })))), h("div", { class: "snk-attach__crud-section ez-size-height--full ez-size-width--full ez-flex ez-flex--column" }, h("div", { class: "ez-box__container" }, h("snk-simple-crud", { ref: (el) => this._crudElement = el, dataUnit: this.dataUnit, taskbarManager: buildTaskBarManager(), gridConfig: (_a = this.crudConfig) === null || _a === void 0 ? void 0 : _a.grid, formConfig: (_b = this.crudConfig) === null || _b === void 0 ? void 0 : _b.form, useCancelConfirm: false, onActionClick: this.handleTaskbarClick, messagesBuilder: this.messagesBuilder }, h("div", { slot: "snkSimpleCrudHeader" }, h("div", { class: "ez-flex ez-flex--column" }, h("span", { class: "ez-title--primary ez-text ez-text--large ez-text--bold ez-padding-bottom--medium" }, this.getMessage("snkAttach.title")), h("span", { class: "ez-text ez-text--medium ez-text--secondary" }, this.getMessage("snkAttach.description")))))))));
789
+ return (h("main", { class: "snk-attach__main" }, h("header", { class: "snk-attach__header" }, h("snk-simple-bar", { onExit: this.handleBack, messagesBuilder: this.messagesBuilder }, h("div", { slot: "rightSlot" }, h("ez-button", { class: "ez-button--primary", label: this.getMessage("snkAttach.finish"), onClick: this.handleFinish })))), h("div", { class: "snk-attach__crud-section ez-size-height--full ez-size-width--full ez-flex ez-flex--column" }, h("div", { class: "ez-box__container" }, h("snk-simple-crud", { ref: (el) => this._crudElement = el, dataUnit: this._currentDataUnit, taskbarManager: buildTaskBarManager(), gridConfig: (_a = this.crudConfig) === null || _a === void 0 ? void 0 : _a.grid, formConfig: (_b = this.crudConfig) === null || _b === void 0 ? void 0 : _b.form, useCancelConfirm: false, onActionClick: this.handleTaskbarClick, messagesBuilder: this.messagesBuilder }, h("div", { slot: "snkSimpleCrudHeader" }, h("div", { class: "ez-flex ez-flex--column" }, h("span", { class: "ez-title--primary ez-text ez-text--large ez-text--bold ez-padding-bottom--medium" }, this.getMessage("snkAttach.title")), h("span", { class: "ez-text ez-text--medium ez-text--secondary" }, this.getMessage("snkAttach.description")))))))));
457
790
  }
458
791
  static get watchers() { return {
459
792
  "registerKey": ["registerKeyWatcher"]
460
793
  }; }
461
794
  static get style() { return snkAttachCss; }
462
795
  }, [2, "snk-attach", {
796
+ "fetcherType": [1, "fetcher-type"],
797
+ "fetcher": [16],
798
+ "dataUnit": [16],
799
+ "dataUnitBuilder": [16],
463
800
  "registerKey": [1, "register-key"],
464
801
  "entityName": [1, "entity-name"],
465
802
  "messagesBuilder": [1040],
466
- "dataUnit": [32],
803
+ "_currentFetcher": [32],
804
+ "_currentDataUnit": [32],
467
805
  "crudConfig": [32]
468
806
  }]);
469
807
  function defineCustomElement() {
470
808
  if (typeof customElements === "undefined") {
471
809
  return;
472
810
  }
473
- const components = ["snk-attach", "snk-actions-button", "snk-data-exporter", "snk-data-unit", "snk-exporter-email-sender", "snk-simple-bar", "snk-simple-crud", "snk-taskbar"];
811
+ const components = ["snk-attach", "snk-actions-button", "snk-data-exporter", "snk-data-unit", "snk-exporter-email-sender", "snk-simple-bar", "snk-simple-crud", "snk-taskbar", "taskbar-actions-button"];
474
812
  components.forEach(tagName => { switch (tagName) {
475
813
  case "snk-attach":
476
814
  if (!customElements.get(tagName)) {
@@ -479,35 +817,40 @@ function defineCustomElement() {
479
817
  break;
480
818
  case "snk-actions-button":
481
819
  if (!customElements.get(tagName)) {
482
- defineCustomElement$7();
820
+ defineCustomElement$8();
483
821
  }
484
822
  break;
485
823
  case "snk-data-exporter":
486
824
  if (!customElements.get(tagName)) {
487
- defineCustomElement$6();
825
+ defineCustomElement$7();
488
826
  }
489
827
  break;
490
828
  case "snk-data-unit":
491
829
  if (!customElements.get(tagName)) {
492
- defineCustomElement$5();
830
+ defineCustomElement$6();
493
831
  }
494
832
  break;
495
833
  case "snk-exporter-email-sender":
496
834
  if (!customElements.get(tagName)) {
497
- defineCustomElement$4();
835
+ defineCustomElement$5();
498
836
  }
499
837
  break;
500
838
  case "snk-simple-bar":
501
839
  if (!customElements.get(tagName)) {
502
- defineCustomElement$3();
840
+ defineCustomElement$4();
503
841
  }
504
842
  break;
505
843
  case "snk-simple-crud":
506
844
  if (!customElements.get(tagName)) {
507
- defineCustomElement$2();
845
+ defineCustomElement$3();
508
846
  }
509
847
  break;
510
848
  case "snk-taskbar":
849
+ if (!customElements.get(tagName)) {
850
+ defineCustomElement$2();
851
+ }
852
+ break;
853
+ case "taskbar-actions-button":
511
854
  if (!customElements.get(tagName)) {
512
855
  defineCustomElement$1();
513
856
  }