@sankhyalabs/sankhyablocks 8.15.0-dev.1 → 8.15.0-dev.11

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 (199) hide show
  1. package/dist/cjs/{ConfigStorage-0d507a8f.js → ConfigStorage-302bbbd4.js} +25 -15
  2. package/dist/cjs/{ISave-d68ce3cd.js → ISave-e91b70a7.js} +1 -0
  3. package/dist/cjs/{SnkFormConfigManager-467907f6.js → SnkFormConfigManager-71c4768e.js} +1 -1
  4. package/dist/cjs/{SnkMessageBuilder-7293d0ad.js → SnkMessageBuilder-e7dcf408.js} +13 -0
  5. package/dist/cjs/{index-0e663819.js → index-0922807b.js} +1 -0
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/cjs/{dataunit-fetcher-bdaf9482.js → pesquisa-fetcher-7a08d110.js} +205 -12
  8. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  9. package/dist/cjs/snk-actions-button_2.cjs.entry.js +21 -5
  10. package/dist/cjs/snk-application.cjs.entry.js +65 -6
  11. package/dist/cjs/snk-attach.cjs.entry.js +395 -57
  12. package/dist/cjs/snk-crud.cjs.entry.js +5 -6
  13. package/dist/cjs/snk-data-exporter.cjs.entry.js +4 -4
  14. package/dist/cjs/{snk-data-unit-1bc69073.js → snk-data-unit-82c08a8c.js} +1 -1
  15. package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
  16. package/dist/cjs/snk-detail-view.cjs.entry.js +8 -9
  17. package/dist/cjs/snk-filter-bar.cjs.entry.js +33 -5
  18. package/dist/cjs/snk-filter-item.cjs.entry.js +47 -1
  19. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +1 -2
  20. package/dist/cjs/snk-filter-modal.cjs.entry.js +14 -0
  21. package/dist/cjs/snk-form.cjs.entry.js +2 -2
  22. package/dist/cjs/snk-grid-config.cjs.entry.js +1 -1
  23. package/dist/cjs/snk-grid.cjs.entry.js +41 -18
  24. package/dist/cjs/{snk-guides-viewer-9342bca1.js → snk-guides-viewer-546509df.js} +6 -7
  25. package/dist/cjs/snk-guides-viewer.cjs.entry.js +7 -8
  26. package/dist/cjs/snk-personalized-filter.cjs.entry.js +2 -2
  27. package/dist/cjs/snk-simple-crud.cjs.entry.js +6 -7
  28. package/dist/cjs/snk-taskbar.cjs.entry.js +2 -2
  29. package/dist/cjs/{taskbar-elements-b8c428a9.js → taskbar-elements-01b85b99.js} +1 -1
  30. package/dist/collection/collection-manifest.json +1 -1
  31. package/dist/collection/components/snk-application/snk-application.js +68 -5
  32. package/dist/collection/components/snk-attach/snk-attach.js +194 -38
  33. package/dist/collection/components/snk-attach/structure/{crud-config-builder.js → builder/anexo-sistema-crud-config.builder.js} +1 -1
  34. package/dist/collection/components/snk-attach/structure/builder/attach-crud-config.builder.js +62 -0
  35. package/dist/collection/components/snk-attach/structure/{taskbar-builder.js → builder/taskbar-builder.js} +1 -1
  36. package/dist/collection/components/snk-attach/structure/fetcher/facade/fetcher.facade.js +1 -0
  37. package/dist/collection/components/snk-attach/structure/{data-unit-builder.js → fetcher/factory/anexo-sistema-data-unit.factory.js} +14 -11
  38. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +111 -0
  39. package/dist/collection/components/snk-attach/structure/index.js +6 -3
  40. package/dist/collection/components/snk-crud/snk-crud.js +2 -2
  41. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +2 -2
  42. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +1 -1
  43. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +47 -1
  44. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +65 -1
  45. package/dist/collection/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.js +0 -1
  46. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +62 -3
  47. package/dist/collection/components/snk-filter-bar/utils/SnkFilterModalFactory.js +3 -1
  48. package/dist/collection/components/snk-grid/snk-grid.js +39 -16
  49. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +1 -1
  50. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +24 -1
  51. package/dist/collection/components/snk-taskbar/snk-taskbar.js +1 -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/dataunit-fetcher.js +16 -2
  62. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +28 -11
  63. package/dist/collection/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.js +1 -1
  64. package/dist/collection/lib/index.js +1 -1
  65. package/dist/collection/lib/message/resources/snk-attach.msg.js +13 -0
  66. package/dist/components/ConfigStorage.js +25 -15
  67. package/dist/components/SnkMessageBuilder.js +13 -0
  68. package/dist/components/dataunit-fetcher.js +44 -13
  69. package/dist/components/index2.js +1 -0
  70. package/dist/components/snk-actions-button2.js +1 -0
  71. package/dist/components/snk-application2.js +62 -2
  72. package/dist/components/snk-attach2.js +400 -56
  73. package/dist/components/snk-crud.js +1 -1
  74. package/dist/components/snk-data-exporter2.js +1 -1
  75. package/dist/components/snk-detail-view2.js +1 -1
  76. package/dist/components/snk-filter-bar2.js +34 -5
  77. package/dist/components/snk-filter-item2.js +47 -1
  78. package/dist/components/snk-filter-modal-item2.js +0 -1
  79. package/dist/components/snk-filter-modal.js +18 -2
  80. package/dist/components/snk-grid2.js +38 -15
  81. package/dist/components/snk-personalized-filter2.js +1 -1
  82. package/dist/components/taskbar-actions-button2.js +19 -2
  83. package/dist/esm/{ConfigStorage-379a9cba.js → ConfigStorage-4151acc8.js} +25 -15
  84. package/dist/esm/{ISave-4412b20c.js → ISave-d8c8bc59.js} +1 -0
  85. package/dist/esm/{SnkFormConfigManager-587e9030.js → SnkFormConfigManager-5c7d3771.js} +1 -1
  86. package/dist/esm/{SnkMessageBuilder-ca843d1b.js → SnkMessageBuilder-0fb796b9.js} +13 -0
  87. package/dist/esm/{index-1564817d.js → index-0ece87a6.js} +1 -0
  88. package/dist/esm/loader.js +1 -1
  89. package/dist/esm/{dataunit-fetcher-cc1650eb.js → pesquisa-fetcher-d6ff9386.js} +206 -14
  90. package/dist/esm/sankhyablocks.js +1 -1
  91. package/dist/esm/snk-actions-button_2.entry.js +21 -5
  92. package/dist/esm/snk-application.entry.js +65 -6
  93. package/dist/esm/snk-attach.entry.js +396 -58
  94. package/dist/esm/snk-crud.entry.js +5 -6
  95. package/dist/esm/snk-data-exporter.entry.js +4 -4
  96. package/dist/esm/{snk-data-unit-6208ebf0.js → snk-data-unit-5d201fb3.js} +1 -1
  97. package/dist/esm/snk-data-unit.entry.js +2 -2
  98. package/dist/esm/snk-detail-view.entry.js +8 -9
  99. package/dist/esm/snk-filter-bar.entry.js +33 -5
  100. package/dist/esm/snk-filter-item.entry.js +47 -1
  101. package/dist/esm/snk-filter-modal-item.entry.js +1 -2
  102. package/dist/esm/snk-filter-modal.entry.js +14 -0
  103. package/dist/esm/snk-form.entry.js +2 -2
  104. package/dist/esm/snk-grid-config.entry.js +1 -1
  105. package/dist/esm/snk-grid.entry.js +41 -18
  106. package/dist/esm/{snk-guides-viewer-9ce9588c.js → snk-guides-viewer-4e56a2e0.js} +6 -7
  107. package/dist/esm/snk-guides-viewer.entry.js +7 -8
  108. package/dist/esm/snk-personalized-filter.entry.js +2 -2
  109. package/dist/esm/snk-simple-crud.entry.js +4 -5
  110. package/dist/esm/snk-taskbar.entry.js +2 -2
  111. package/dist/esm/{taskbar-elements-26c981af.js → taskbar-elements-d4d0b424.js} +1 -1
  112. package/dist/sankhyablocks/{p-ff6064e7.js → p-05243555.js} +1 -1
  113. package/dist/sankhyablocks/{p-729f5f5b.entry.js → p-1d75d9f9.entry.js} +1 -1
  114. package/dist/sankhyablocks/{p-9e7d65a4.js → p-21749402.js} +1 -1
  115. package/dist/sankhyablocks/p-32460e98.entry.js +11 -0
  116. package/dist/sankhyablocks/p-374d03f6.js +1 -0
  117. package/dist/sankhyablocks/p-38289a55.js +1 -0
  118. package/dist/sankhyablocks/{p-35fe6e61.entry.js → p-40915359.entry.js} +1 -1
  119. package/dist/sankhyablocks/p-42af1bbf.js +65 -0
  120. package/dist/sankhyablocks/{p-2028633c.js → p-573a07c5.js} +1 -1
  121. package/dist/sankhyablocks/{p-953346b9.entry.js → p-69efa80d.entry.js} +1 -1
  122. package/dist/sankhyablocks/{p-6977a26c.entry.js → p-71439fd9.entry.js} +1 -1
  123. package/dist/sankhyablocks/{p-aaa1438e.entry.js → p-761ed32f.entry.js} +1 -1
  124. package/dist/sankhyablocks/p-7d8d7fe9.entry.js +1 -0
  125. package/dist/sankhyablocks/p-7f3c7b09.entry.js +1 -0
  126. package/dist/sankhyablocks/p-8c74258e.entry.js +1 -0
  127. package/dist/sankhyablocks/p-8f0488b8.entry.js +1 -0
  128. package/dist/sankhyablocks/p-9ebcfeb6.entry.js +1 -0
  129. package/dist/sankhyablocks/p-a9e5b094.entry.js +1 -0
  130. package/dist/sankhyablocks/p-aa95fb2c.js +56 -0
  131. package/dist/sankhyablocks/p-b05ab13d.entry.js +1 -0
  132. package/dist/sankhyablocks/p-c2137023.entry.js +1 -0
  133. package/dist/sankhyablocks/p-c4874327.entry.js +1 -0
  134. package/dist/sankhyablocks/p-d82f6eda.entry.js +1 -0
  135. package/dist/sankhyablocks/p-dcb6aad1.entry.js +1 -0
  136. package/dist/sankhyablocks/p-e0fd9555.entry.js +1 -0
  137. package/dist/sankhyablocks/p-e8812d8a.js +1 -0
  138. package/dist/sankhyablocks/{p-32f0935f.js → p-f3d1c48e.js} +1 -1
  139. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  140. package/dist/types/components/snk-actions-button/subcomponents/snk-actions-form.d.ts +1 -1
  141. package/dist/types/components/snk-application/snk-application.d.ts +5 -2
  142. package/dist/types/components/snk-attach/{structure/crud-config-builder.d.ts → interfaces/ICrudConfig.d.ts} +1 -2
  143. package/dist/types/components/snk-attach/interfaces/TFetcherType.d.ts +1 -0
  144. package/dist/types/components/snk-attach/snk-attach.d.ts +28 -6
  145. package/dist/types/components/snk-attach/structure/builder/anexo-sistema-crud-config.builder.d.ts +2 -0
  146. package/dist/types/components/snk-attach/structure/builder/attach-crud-config.builder.d.ts +31 -0
  147. package/dist/types/components/snk-attach/structure/{taskbar-builder.d.ts → builder/taskbar-builder.d.ts} +1 -1
  148. package/dist/types/components/snk-attach/structure/fetcher/facade/fetcher.facade.d.ts +11 -0
  149. package/dist/types/components/snk-attach/structure/fetcher/factory/anexo-sistema-data-unit.factory.d.ts +17 -0
  150. package/dist/types/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.d.ts +15 -0
  151. package/dist/types/components/snk-attach/structure/index.d.ts +6 -3
  152. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +1 -0
  153. package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +14 -1
  154. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +11 -0
  155. package/dist/types/components/snk-filter-bar/utils/SnkFilterModalFactory.d.ts +5 -1
  156. package/dist/types/components/snk-grid/snk-grid.d.ts +1 -0
  157. package/dist/types/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.d.ts +2 -0
  158. package/dist/types/components/snk-taskbar/subcomponents/field-search.d.ts +1 -0
  159. package/dist/types/components.d.ts +70 -13
  160. package/dist/types/lib/@types/index.d.ts +2 -1
  161. package/dist/types/lib/configs/ConfigStorage.d.ts +4 -0
  162. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -1
  163. package/dist/types/lib/http/data-fetcher/fetchers/{attach-fetcher.d.ts → AttachFetcher/anexo-sistema-fetcher.d.ts} +3 -2
  164. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/attach-fetcher.d.ts +11 -0
  165. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/facade/attach-fetcher.facade.d.ts +8 -0
  166. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/index.d.ts +3 -0
  167. package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/ISave.d.ts +2 -1
  168. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.d.ts +1 -0
  169. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +3 -1
  170. package/dist/types/lib/index.d.ts +1 -1
  171. package/package.json +8 -6
  172. package/dist/cjs/pesquisa-fetcher-ef050a47.js +0 -167
  173. package/dist/esm/pesquisa-fetcher-dd3ca0a5.js +0 -165
  174. package/dist/sankhyablocks/p-145c4434.js +0 -1
  175. package/dist/sankhyablocks/p-17dda7a2.entry.js +0 -1
  176. package/dist/sankhyablocks/p-19f51c6b.entry.js +0 -11
  177. package/dist/sankhyablocks/p-311c6173.entry.js +0 -1
  178. package/dist/sankhyablocks/p-4396d1a6.js +0 -56
  179. package/dist/sankhyablocks/p-44e894af.entry.js +0 -1
  180. package/dist/sankhyablocks/p-4775a293.entry.js +0 -1
  181. package/dist/sankhyablocks/p-4b0ea83f.entry.js +0 -1
  182. package/dist/sankhyablocks/p-5534e08c.js +0 -1
  183. package/dist/sankhyablocks/p-78777ae0.entry.js +0 -1
  184. package/dist/sankhyablocks/p-9c3229fc.entry.js +0 -1
  185. package/dist/sankhyablocks/p-a037f5b4.entry.js +0 -1
  186. package/dist/sankhyablocks/p-a702a1a2.js +0 -60
  187. package/dist/sankhyablocks/p-c259545b.entry.js +0 -1
  188. package/dist/sankhyablocks/p-d1677df0.entry.js +0 -1
  189. package/dist/sankhyablocks/p-d9bb09b3.js +0 -6
  190. package/dist/sankhyablocks/p-dd6a8377.js +0 -1
  191. package/dist/sankhyablocks/p-e138e7d4.entry.js +0 -1
  192. package/dist/sankhyablocks/p-e1b29d4c.entry.js +0 -1
  193. package/dist/types/components/snk-attach/structure/data-unit-builder.d.ts +0 -15
  194. /package/dist/collection/{lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDelete.js → components/snk-attach/interfaces/ICrudConfig.js} +0 -0
  195. /package/dist/collection/{lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDownloadKey.js → components/snk-attach/interfaces/TFetcherType.js} +0 -0
  196. /package/dist/collection/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/index.js +0 -0
  197. /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/IDelete.d.ts +0 -0
  198. /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/IDownloadKey.d.ts +0 -0
  199. /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/index.d.ts +0 -0
@@ -2,6 +2,7 @@ export var PresentationMode;
2
2
  (function (PresentationMode) {
3
3
  PresentationMode["PRIMARY"] = "primary";
4
4
  PresentationMode["SECONDARY"] = "secondary";
5
+ PresentationMode["SINGLE_TASKBAR"] = "singleTaskbar";
5
6
  })(PresentationMode || (PresentationMode = {}));
6
7
  export var DataExporterOption;
7
8
  (function (DataExporterOption) {
@@ -2,11 +2,12 @@ import { FormConfigFetcher } from "../http/data-fetcher/fetchers/form-config-fet
2
2
  import GridConfigFetcher from "../http/data-fetcher/fetchers/grid-config-fetcher";
3
3
  import FilterBarConfigFetcher from "../http/data-fetcher/fetchers/filter-bar-config-fetcher";
4
4
  import PersonalizedFilterFetcher from "../http/data-fetcher/fetchers/personalized-filter-fetcher";
5
- const CONFIG_SOURCE = {
6
- form: "form",
7
- grid: "grid",
8
- filterBar: "filterBar"
9
- };
5
+ var CONFIG_SOURCE;
6
+ (function (CONFIG_SOURCE) {
7
+ CONFIG_SOURCE["form"] = "form";
8
+ CONFIG_SOURCE["grid"] = "grid";
9
+ CONFIG_SOURCE["filterBar"] = "filterBar";
10
+ })(CONFIG_SOURCE || (CONFIG_SOURCE = {}));
10
11
  export class ConfigStorage {
11
12
  static preload(resourceID, configName) {
12
13
  ConfigStorage.loadFormConfig(configName, resourceID);
@@ -34,13 +35,11 @@ export class ConfigStorage {
34
35
  return ConfigStorage.configById.get(cacheID);
35
36
  }
36
37
  static async saveFilterBarConfig(config, name, resourceID) {
37
- const cacheID = this.buildCacheID(name, CONFIG_SOURCE.filterBar, resourceID);
38
- this.configById.delete(cacheID);
38
+ await this.deleteFilterBarConfigCache(name, resourceID);
39
39
  return this.filterBarConfigFetcher.saveConfig(config, resourceID, name);
40
40
  }
41
41
  static async saveFormConfig(config, name, resourceID) {
42
- const cacheID = this.buildCacheID(name, CONFIG_SOURCE.form, resourceID);
43
- this.configById.delete(cacheID);
42
+ await this.deleteFormConfigCache(name, resourceID);
44
43
  return this.formConfigFetcher.saveConfig(config, name, resourceID);
45
44
  }
46
45
  static async saveCardState(config, name, resourceID) {
@@ -50,18 +49,16 @@ export class ConfigStorage {
50
49
  if (config == undefined) {
51
50
  return;
52
51
  }
53
- const cacheID = this.buildCacheID(name, CONFIG_SOURCE.grid, resourceID);
54
- this.configById.delete(cacheID);
52
+ await this.deleteGridConfigCache(name, resourceID);
55
53
  return this.gridConfigFetcher.saveConfig(config, name, resourceID);
56
54
  }
57
55
  static async loadPersonalizedFilter(filterId, resourceID, configName) {
58
56
  return this.personalizedFilterFetcher.loadPersonalizedFilter(resourceID, filterId, configName);
59
57
  }
60
58
  static async savePersonalizedFilter(personalizedFilter, resourceID, configName) {
61
- //Ao criar ou alterar um filtro personalizado,
59
+ //Ao criar ou alterar um filtro personalizado,
62
60
  //precisamos remover o cache do status da filterbar.
63
- const cacheID = this.buildCacheID(configName, CONFIG_SOURCE.filterBar, resourceID);
64
- this.configById.delete(cacheID);
61
+ await this.deleteFilterBarConfigCache(configName, resourceID);
65
62
  return this.personalizedFilterFetcher.savePersonalizedFilter(personalizedFilter, resourceID, configName);
66
63
  }
67
64
  static async removePersonalizedFilter(personalizedFilter, resourceID, configName) {
@@ -70,6 +67,19 @@ export class ConfigStorage {
70
67
  static async validatePersonalizedFilter(dataUnitName, expression) {
71
68
  return this.personalizedFilterFetcher.validatePersonalizedFilter(dataUnitName, expression);
72
69
  }
70
+ static async deleteGridConfigCache(name, resourceID) {
71
+ await this.deleteConfigCache(name, resourceID, CONFIG_SOURCE.grid);
72
+ }
73
+ static async deleteFormConfigCache(name, resourceID) {
74
+ await this.deleteConfigCache(name, resourceID, CONFIG_SOURCE.form);
75
+ }
76
+ static async deleteFilterBarConfigCache(name, resourceID) {
77
+ await this.deleteConfigCache(name, resourceID, CONFIG_SOURCE.filterBar);
78
+ }
79
+ static async deleteConfigCache(name, resourceID, source) {
80
+ const cacheID = ConfigStorage.buildCacheID(name, source, resourceID);
81
+ this.configById.delete(cacheID);
82
+ }
73
83
  static buildCacheID(name, source, resourceID) {
74
84
  if (name == undefined) {
75
85
  return `req_${source}_${resourceID}`;
@@ -1,6 +1,11 @@
1
- import { DataFetcher } from "../DataFetcher";
2
- import { SaveErrorsEnum } from "./fecthAttach/interfaces";
3
- export class AttachFetcher {
1
+ import { SaveErrorsEnum } from "./interfaces";
2
+ import { DataFetcher } from "../../DataFetcher";
3
+ const SERVICE = {
4
+ save: "AnexoSistemaSP.salvar",
5
+ delete: "AnexoSistemaSP.excluir",
6
+ download: "AnexoSistemaSP.baixar",
7
+ };
8
+ export class AnexoSistemaFetcher {
4
9
  constructor(entityName, registerKey, dataUnitName) {
5
10
  var _a;
6
11
  this.entityName = entityName;
@@ -18,14 +23,13 @@ export class AttachFetcher {
18
23
  }
19
24
  async save(change) {
20
25
  var _a, _b;
21
- const serviceName = "AnexoSistemaSP.salvar";
22
26
  let { updatingFields: fields } = change;
23
27
  fields = Object.assign(Object.assign({}, fields), { NOMEARQUIVO: (_a = fields.NOMEARQUIVO) === null || _a === void 0 ? void 0 : _a[0] });
24
28
  try {
25
29
  this.validateFields(fields);
26
30
  const fileInfo = !fields.LINK ? fields.NOMEARQUIVO : null;
27
31
  const reqBody = {
28
- serviceName,
32
+ serviceName: SERVICE.save,
29
33
  requestBody: {
30
34
  params: {
31
35
  resourceID: this.resourceID,
@@ -41,7 +45,7 @@ export class AttachFetcher {
41
45
  }
42
46
  }
43
47
  };
44
- const result = await DataFetcher.get().callServiceBroker(serviceName, JSON.stringify(reqBody));
48
+ const result = await DataFetcher.get().callServiceBroker(SERVICE.save, JSON.stringify(reqBody));
45
49
  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 })]);
46
50
  }
47
51
  catch (error) {
@@ -50,7 +54,6 @@ export class AttachFetcher {
50
54
  }
51
55
  async edit(change) {
52
56
  var _a, _b, _c;
53
- const serviceName = "AnexoSistemaSP.salvar";
54
57
  let { updatingFields: fields, record } = change;
55
58
  const getFieldValue = (fieldValue) => {
56
59
  if (fields[fieldValue] !== undefined)
@@ -64,7 +67,7 @@ export class AttachFetcher {
64
67
  try {
65
68
  this.validateFields(fields);
66
69
  const reqBody = {
67
- serviceName,
70
+ serviceName: SERVICE.save,
68
71
  requestBody: {
69
72
  params: {
70
73
  resourceID: this.resourceID,
@@ -82,7 +85,7 @@ export class AttachFetcher {
82
85
  }
83
86
  }
84
87
  };
85
- const result = await DataFetcher.get().callServiceBroker(serviceName, JSON.stringify(reqBody));
88
+ const result = await DataFetcher.get().callServiceBroker(SERVICE.save, JSON.stringify(reqBody));
86
89
  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 })]);
87
90
  }
88
91
  catch (error) {
@@ -91,10 +94,9 @@ export class AttachFetcher {
91
94
  }
92
95
  delete(record) {
93
96
  var _a;
94
- const serviceName = "AnexoSistemaSP.excluir";
95
97
  const attachField = ((_a = record.NOMEARQUIVO) === null || _a === void 0 ? void 0 : _a[0]) || {};
96
98
  const reqBody = {
97
- serviceName,
99
+ serviceName: SERVICE.delete,
98
100
  requestBody: {
99
101
  paramsDelete: {
100
102
  keyAttach: record.CHAVEARQUIVO,
@@ -106,17 +108,16 @@ export class AttachFetcher {
106
108
  }
107
109
  };
108
110
  return new Promise((resolve, reject) => {
109
- DataFetcher.get().callServiceBroker(serviceName, JSON.stringify(reqBody))
111
+ DataFetcher.get().callServiceBroker(SERVICE.delete, JSON.stringify(reqBody))
110
112
  .then(result => resolve(result))
111
113
  .catch(error => reject(error));
112
114
  });
113
115
  }
114
116
  getDownloadKey(record) {
115
117
  var _a;
116
- const serviceName = "AnexoSistemaSP.baixar";
117
118
  const attachField = ((_a = record.NOMEARQUIVO) === null || _a === void 0 ? void 0 : _a[0]) || {};
118
119
  const reqBody = {
119
- serviceName,
120
+ serviceName: SERVICE.download,
120
121
  requestBody: {
121
122
  paramsDown: {
122
123
  nameAttach: attachField === null || attachField === void 0 ? void 0 : attachField.name,
@@ -128,7 +129,7 @@ export class AttachFetcher {
128
129
  }
129
130
  };
130
131
  return new Promise((resolve, reject) => {
131
- DataFetcher.get().callServiceBroker(serviceName, JSON.stringify(reqBody))
132
+ DataFetcher.get().callServiceBroker(SERVICE.download, JSON.stringify(reqBody))
132
133
  .then(result => resolve(result))
133
134
  .catch(error => reject(error));
134
135
  });
@@ -0,0 +1,90 @@
1
+ import { SaveErrorsEnum } from "./interfaces";
2
+ import { DataFetcher } from "../../DataFetcher";
3
+ const SERVICE = {
4
+ save: "Attach.save",
5
+ delete: "Attach.remove",
6
+ view: "Attach.view",
7
+ repository: "RepositorioArquivoSP.abreArquivo"
8
+ };
9
+ export class AttachFetcher {
10
+ constructor(dataUnitName) {
11
+ this.dataUnitName = dataUnitName;
12
+ }
13
+ async save({ dataUnit: dataUnitName, record, updatingFields: fields, operation }) {
14
+ var _a, _b;
15
+ const isInsert = operation == "INSERT";
16
+ const dataBody = isInsert ? fields : record;
17
+ 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)) {
18
+ throw new Error(SaveErrorsEnum.DESCRIPTION_CANNOT_BE_CHANGED);
19
+ }
20
+ const reqBody = {
21
+ "anexo": {
22
+ "codata": isInsert ? fields === null || fields === void 0 ? void 0 : fields.REGISTER_KEY : record === null || record === void 0 ? void 0 : record.CODATA,
23
+ "sequencia": (dataBody === null || dataBody === void 0 ? void 0 : dataBody.SEQUENCIA) || "0",
24
+ "tipo": (dataBody === null || dataBody === void 0 ? void 0 : dataBody.TIPO) || "N",
25
+ "descricao": dataBody === null || dataBody === void 0 ? void 0 : dataBody.DESCRICAO,
26
+ "arquivo": (_b = (_a = fields.CAMINHO_ARQUIVO) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.name,
27
+ "ehInclusao": isInsert ? "S" : "N",
28
+ "ehArquivoRepositorio": "N"
29
+ }
30
+ };
31
+ return new Promise((resolve, reject) => {
32
+ DataFetcher.get().callServiceBroker(SERVICE.save, JSON.stringify(reqBody))
33
+ .then(result => {
34
+ var _a;
35
+ return resolve([Object.assign(Object.assign(Object.assign({}, result), fields), { __owner__dataunit__name__: (_a = this.dataUnitName) !== null && _a !== void 0 ? _a : dataUnitName })]);
36
+ })
37
+ .catch(error => reject(error));
38
+ });
39
+ }
40
+ async edit(change) {
41
+ throw new Error("Method not implemented.");
42
+ }
43
+ async delete(record) {
44
+ var request = {
45
+ anexo: {
46
+ codata: record.CODATA,
47
+ tipo: record.TIPO,
48
+ descricao: record.DESCRICAO,
49
+ }
50
+ };
51
+ const result = await DataFetcher.get().callServiceBroker(SERVICE.delete, JSON.stringify(request));
52
+ return Promise.resolve(result);
53
+ }
54
+ async getDownloadKey(record) {
55
+ var _a, _b, _c;
56
+ if (record.EHARQUIVOREPOSITORIO == 'S') {
57
+ const request = {
58
+ config: {
59
+ path: record.ARQUIVO,
60
+ tipoconteudo: record.TIPOCONTEUDO
61
+ }
62
+ };
63
+ const result = await DataFetcher.get().callServiceBroker(SERVICE.repository, JSON.stringify(request));
64
+ return Promise.resolve({
65
+ chave: {
66
+ 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
67
+ }
68
+ });
69
+ }
70
+ const criteria = {
71
+ anexo: {
72
+ codata: record.CODATA,
73
+ codemp: record.CODEMP,
74
+ sequencia: record.SEQUENCIA,
75
+ tipo: record.TIPO,
76
+ descricao: record.DESCRICAO,
77
+ tipoConteudo: record.TIPOCONTEUDO
78
+ }
79
+ };
80
+ const result = await DataFetcher.get().callServiceBroker(SERVICE.view, JSON.stringify(criteria));
81
+ if (result === null || result === void 0 ? void 0 : result.chaveAnexo) {
82
+ return Promise.resolve({
83
+ chave: {
84
+ valor: (_c = result === null || result === void 0 ? void 0 : result.chaveAnexo) === null || _c === void 0 ? void 0 : _c.idChaveAnexo
85
+ }
86
+ });
87
+ }
88
+ return Promise.reject(new Error("File not found."));
89
+ }
90
+ }
@@ -0,0 +1,2 @@
1
+ export { AttachFetcher } from "./attach-fetcher";
2
+ export { AnexoSistemaFetcher } from "./anexo-sistema-fetcher";
@@ -3,4 +3,5 @@ export var SaveErrorsEnum;
3
3
  SaveErrorsEnum["LINK_AND_FILE_AT_THE_SAME_TIME"] = "LINK_AND_FILE_AT_THE_SAME_TIME";
4
4
  SaveErrorsEnum["ANY_LINK_OR_FILE_FILLED"] = "ANY_LINK_OR_FILE_FILLED";
5
5
  SaveErrorsEnum["UNKNOWN"] = "UNKNOWN";
6
+ SaveErrorsEnum["DESCRIPTION_CANNOT_BE_CHANGED"] = "DESCRIPTION_CANNOT_BE_CHANGED";
6
7
  })(SaveErrorsEnum || (SaveErrorsEnum = {}));
@@ -171,6 +171,19 @@ export default class DataUnitFetcher {
171
171
  });
172
172
  });
173
173
  }
174
+ addTransientProperties(dataUnit, updatingFields) {
175
+ const loaderProps = dataUnit.getGlobalLoaderProps();
176
+ if (loaderProps == undefined || loaderProps.size === 0) {
177
+ return updatingFields;
178
+ }
179
+ if (updatingFields == undefined) {
180
+ updatingFields = {};
181
+ }
182
+ Array.from(loaderProps.entries()).forEach(([name, value]) => {
183
+ updatingFields[`transient.${name}`] = value;
184
+ });
185
+ return updatingFields;
186
+ }
174
187
  saveData(dataUnit, duChanges) {
175
188
  const updatedRecordsIds = [];
176
189
  const addedRecordsIds = [];
@@ -179,7 +192,7 @@ export default class DataUnitFetcher {
179
192
  const dataUnitInstance = DataUnitStorage.get(changeDU);
180
193
  let parsedUpdatingFields;
181
194
  if (updatingFields) {
182
- parsedUpdatingFields = Object.entries(updatingFields).map(([fieldName, value]) => {
195
+ parsedUpdatingFields = Object.entries(this.addTransientProperties(dataUnit, updatingFields)).map(([fieldName, value]) => {
183
196
  const descriptor = dataUnitInstance.getField(fieldName);
184
197
  const dataType = descriptor ? descriptor.dataType : DataType.TEXT;
185
198
  return { fieldName, dataType, value: dataUnitInstance.valueToString(fieldName, value) };
@@ -226,7 +239,8 @@ export default class DataUnitFetcher {
226
239
  }
227
240
  responseRecord.fields.forEach(({ name, value }) => {
228
241
  var _a;
229
- duRecord[name] = ((_a = dataUnitInstance === null || dataUnitInstance === void 0 ? void 0 : dataUnitInstance.valueFromString) === null || _a === void 0 ? void 0 : _a.call(dataUnitInstance, name, value)) || value;
242
+ const valueFromString = (_a = dataUnitInstance === null || dataUnitInstance === void 0 ? void 0 : dataUnitInstance.valueFromString) === null || _a === void 0 ? void 0 : _a.call(dataUnitInstance, name, value);
243
+ duRecord[name] = (valueFromString !== undefined) ? valueFromString : value;
230
244
  });
231
245
  dataUnitRecords.push(duRecord);
232
246
  });
@@ -1,4 +1,4 @@
1
- import { StringUtils, UserInterface } from "@sankhyalabs/core";
1
+ import { ApplicationContext, StringUtils, UserInterface, } from '@sankhyalabs/core';
2
2
  import { DataFetcher } from "../../../DataFetcher";
3
3
  import DataUnitFetcher from "../dataunit-fetcher";
4
4
  import InMemoryLoader from "../../../../../dataUnit/InMemoryLoader";
@@ -51,13 +51,21 @@ export class DatasetStrategy {
51
51
  getFieldsList(dataUnit) {
52
52
  let fields = ["__record__id__", "__record__label__"];
53
53
  dataUnit.metadata.fields.forEach((descriptor) => {
54
- if (descriptor.standAlone) {
54
+ if (descriptor.standAlone)
55
55
  return;
56
- }
57
56
  fields = fields.concat(this.getFieldNames(descriptor));
58
57
  });
59
58
  return fields;
60
59
  }
60
+ getStandAloneFieldsList(dataUnit) {
61
+ let fields = {};
62
+ dataUnit.metadata.fields.forEach((currentField) => {
63
+ if (!currentField.standAlone)
64
+ return;
65
+ fields = Object.assign(Object.assign({}, fields), { [currentField.name]: { fieldType: currentField.dataType, userType: currentField.userInterface } });
66
+ });
67
+ return fields;
68
+ }
61
69
  getFieldNames(descriptor) {
62
70
  const descriptionField = this.getSearchDescriptionField(descriptor);
63
71
  if (descriptionField == undefined) {
@@ -80,23 +88,25 @@ export class DatasetStrategy {
80
88
  totalRecordsCount: loadingInfo.count,
81
89
  pagerID: loadingInfo.pagerId,
82
90
  standAlone: false,
83
- standAloneFieldsMD: {
84
- __record__id__: { "fieldType": "S", "userType": "P" },
85
- __record__label__: { "fieldType": "S", "userType": "P" }
86
- },
91
+ standAloneFieldsMD: Object.assign({ __record__id__: { "fieldType": "S", "userType": "P" }, __record__label__: { "fieldType": "S", "userType": "P" } }, this.getStandAloneFieldsList(dataUnit)),
87
92
  tryJoinedFields: true,
88
93
  parallelLoader: useParallelLoader,
89
- crudListener: "br.com.sankhya.modelcore.dataset.DataUnitDatasetAdapter",
90
- txProperties: this.getTxProperties(dataUnitName, request, sorting),
94
+ crudListener: `br.com.sankhya.bff.${this.getModuleName()}.BFFDataUnitDatasetAdapter`,
95
+ txProperties: this.getTxProperties(dataUnit, request, sorting),
91
96
  useDefaultRowsLimit: false
92
97
  }
93
98
  };
94
99
  return JSON.stringify(requestBody);
95
100
  }
96
- getTxProperties(dataUnitName, request, sorting) {
101
+ getModuleName() {
102
+ const app = ApplicationContext.getContextValue("__SNK__APPLICATION__");
103
+ const moduleName = app.getModuleName();
104
+ return moduleName.replace("-bff", "");
105
+ }
106
+ getTxProperties(dataUnit, request, sorting) {
97
107
  var _a, _b;
98
108
  const txProperties = {
99
- "__DATA_UNIT_ADAPTER__[dataUnitName]": dataUnitName
109
+ "__DATA_UNIT_ADAPTER__[dataUnitName]": dataUnit.name
100
110
  };
101
111
  const serverSideFilters = (_b = (_a = request.filters) === null || _a === void 0 ? void 0 : _a.filter(filter => !filter.name.startsWith("FILTRO_COLUNA_"))) !== null && _b !== void 0 ? _b : [];
102
112
  if (serverSideFilters.length !== 0) {
@@ -108,6 +118,13 @@ export class DatasetStrategy {
108
118
  if (request.parentRecordId != undefined) {
109
119
  txProperties["__DATA_UNIT_ADAPTER__[parentRecordId]"] = request.parentRecordId;
110
120
  }
121
+ const loaderProps = dataUnit.getGlobalLoaderProps();
122
+ if (loaderProps == undefined || loaderProps.size === 0) {
123
+ return txProperties;
124
+ }
125
+ Array.from(loaderProps.entries()).forEach(([name, value]) => {
126
+ txProperties[name] = value;
127
+ });
111
128
  return txProperties;
112
129
  }
113
130
  processRecords(dataUnit, fields, responseRecords) {
@@ -107,7 +107,7 @@ export default class FilterBarConfigFetcher extends ResourceFetcher {
107
107
  multilistValueArray = Array.isArray(multilistValueArray) ? multilistValueArray : [multilistValueArray];
108
108
  // Existem cenários onde o HTML5 não salva o Id do filtro, apenas seu label e value
109
109
  multilistValueArray = multilistValueArray.map(itemRaw => {
110
- return Object.assign(Object.assign({}, itemRaw), { id: itemRaw.id ? itemRaw.id : itemRaw.value });
110
+ return Object.assign(Object.assign({}, itemRaw), { id: (itemRaw.id !== undefined) ? itemRaw.id : itemRaw.value });
111
111
  });
112
112
  item.value = ObjectUtils.copy(multilistValueArray);
113
113
  }
@@ -4,7 +4,7 @@ export { CrudUtils } from './utils/CrudUtils';
4
4
  export { PresentationMode } from "./@types";
5
5
  export { TotalsFetcher } from './http/data-fetcher/fetchers/totals-fetcher';
6
6
  export { default as ApplicationConfigFetcher } from './http/data-fetcher/fetchers/application-config-fetcher';
7
- export { AttachFetcher } from './http/data-fetcher/fetchers/attach-fetcher';
7
+ export { AttachFetcher, AnexoSistemaFetcher } from './http/data-fetcher/fetchers/AttachFetcher';
8
8
  export { default as DataUnitFetcher } from './http/data-fetcher/fetchers/data-unit/dataunit-fetcher';
9
9
  export { default as FilterBarConfigFetcher } from './http/data-fetcher/fetchers/filter-bar-config-fetcher';
10
10
  export { FormConfigFetcher } from './http/data-fetcher/fetchers/form-config-fetcher';
@@ -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;
@@ -108,7 +108,7 @@ class FilterBarConfigFetcher extends ResourceFetcher {
108
108
  multilistValueArray = Array.isArray(multilistValueArray) ? multilistValueArray : [multilistValueArray];
109
109
  // Existem cenários onde o HTML5 não salva o Id do filtro, apenas seu label e value
110
110
  multilistValueArray = multilistValueArray.map(itemRaw => {
111
- return Object.assign(Object.assign({}, itemRaw), { id: itemRaw.id ? itemRaw.id : itemRaw.value });
111
+ return Object.assign(Object.assign({}, itemRaw), { id: (itemRaw.id !== undefined) ? itemRaw.id : itemRaw.value });
112
112
  });
113
113
  item.value = ObjectUtils.copy(multilistValueArray);
114
114
  }
@@ -351,11 +351,12 @@ class PersonalizedFilterFetcher {
351
351
  }
352
352
  }
353
353
 
354
- const CONFIG_SOURCE = {
355
- form: "form",
356
- grid: "grid",
357
- filterBar: "filterBar"
358
- };
354
+ var CONFIG_SOURCE;
355
+ (function (CONFIG_SOURCE) {
356
+ CONFIG_SOURCE["form"] = "form";
357
+ CONFIG_SOURCE["grid"] = "grid";
358
+ CONFIG_SOURCE["filterBar"] = "filterBar";
359
+ })(CONFIG_SOURCE || (CONFIG_SOURCE = {}));
359
360
  class ConfigStorage {
360
361
  static preload(resourceID, configName) {
361
362
  ConfigStorage.loadFormConfig(configName, resourceID);
@@ -383,13 +384,11 @@ class ConfigStorage {
383
384
  return ConfigStorage.configById.get(cacheID);
384
385
  }
385
386
  static async saveFilterBarConfig(config, name, resourceID) {
386
- const cacheID = this.buildCacheID(name, CONFIG_SOURCE.filterBar, resourceID);
387
- this.configById.delete(cacheID);
387
+ await this.deleteFilterBarConfigCache(name, resourceID);
388
388
  return this.filterBarConfigFetcher.saveConfig(config, resourceID, name);
389
389
  }
390
390
  static async saveFormConfig(config, name, resourceID) {
391
- const cacheID = this.buildCacheID(name, CONFIG_SOURCE.form, resourceID);
392
- this.configById.delete(cacheID);
391
+ await this.deleteFormConfigCache(name, resourceID);
393
392
  return this.formConfigFetcher.saveConfig(config, name, resourceID);
394
393
  }
395
394
  static async saveCardState(config, name, resourceID) {
@@ -399,18 +398,16 @@ class ConfigStorage {
399
398
  if (config == undefined) {
400
399
  return;
401
400
  }
402
- const cacheID = this.buildCacheID(name, CONFIG_SOURCE.grid, resourceID);
403
- this.configById.delete(cacheID);
401
+ await this.deleteGridConfigCache(name, resourceID);
404
402
  return this.gridConfigFetcher.saveConfig(config, name, resourceID);
405
403
  }
406
404
  static async loadPersonalizedFilter(filterId, resourceID, configName) {
407
405
  return this.personalizedFilterFetcher.loadPersonalizedFilter(resourceID, filterId, configName);
408
406
  }
409
407
  static async savePersonalizedFilter(personalizedFilter, resourceID, configName) {
410
- //Ao criar ou alterar um filtro personalizado,
408
+ //Ao criar ou alterar um filtro personalizado,
411
409
  //precisamos remover o cache do status da filterbar.
412
- const cacheID = this.buildCacheID(configName, CONFIG_SOURCE.filterBar, resourceID);
413
- this.configById.delete(cacheID);
410
+ await this.deleteFilterBarConfigCache(configName, resourceID);
414
411
  return this.personalizedFilterFetcher.savePersonalizedFilter(personalizedFilter, resourceID, configName);
415
412
  }
416
413
  static async removePersonalizedFilter(personalizedFilter, resourceID, configName) {
@@ -419,6 +416,19 @@ class ConfigStorage {
419
416
  static async validatePersonalizedFilter(dataUnitName, expression) {
420
417
  return this.personalizedFilterFetcher.validatePersonalizedFilter(dataUnitName, expression);
421
418
  }
419
+ static async deleteGridConfigCache(name, resourceID) {
420
+ await this.deleteConfigCache(name, resourceID, CONFIG_SOURCE.grid);
421
+ }
422
+ static async deleteFormConfigCache(name, resourceID) {
423
+ await this.deleteConfigCache(name, resourceID, CONFIG_SOURCE.form);
424
+ }
425
+ static async deleteFilterBarConfigCache(name, resourceID) {
426
+ await this.deleteConfigCache(name, resourceID, CONFIG_SOURCE.filterBar);
427
+ }
428
+ static async deleteConfigCache(name, resourceID, source) {
429
+ const cacheID = ConfigStorage.buildCacheID(name, source, resourceID);
430
+ this.configById.delete(cacheID);
431
+ }
422
432
  static buildCacheID(name, source, resourceID) {
423
433
  if (name == undefined) {
424
434
  return `req_${source}_${resourceID}`;
@@ -351,11 +351,24 @@ const snkAttachMessages = {
351
351
  anyLinkOrFileFilled: {
352
352
  title: "Atenção",
353
353
  message: `É necessário preencher o campo "Link" ou anexar um arquivo.`
354
+ },
355
+ descriptionCannotBeChanged: {
356
+ title: "Atenção",
357
+ message: "O campo 'Descrição' não pode ser alterado."
354
358
  }
355
359
  },
356
360
  taskbar: {
357
361
  titleDownload: "Fazer download",
358
362
  titleLink: "Abrir link",
363
+ },
364
+ attachMetadata: {
365
+ lblCode: "Código",
366
+ lblDescription: "Descrição",
367
+ lblFileOrLink: "Arquivo / Link",
368
+ lblUser: "Usuário",
369
+ lblDate: "Data de alteração",
370
+ lblFile: "Arquivo",
371
+ lblSubTitle: "Clique para selecionar um arquivo",
359
372
  }
360
373
  };
361
374