@sankhyalabs/sankhyablocks 0.0.0-bugfix-dev-KB-99999.0 → 0.0.0-bugfix-dev-KB-33766.0

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 (80) hide show
  1. package/dist/cjs/{ConfigStorage-8009ecb2.js → ConfigStorage-302bbbd4.js} +24 -14
  2. package/dist/cjs/{SnkFormConfigManager-7d850fbc.js → SnkFormConfigManager-71c4768e.js} +1 -1
  3. package/dist/cjs/{dataunit-fetcher-de65b9fc.js → dataunit-fetcher-bd4c52da.js} +11 -6
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  6. package/dist/cjs/snk-actions-button_2.cjs.entry.js +1 -1
  7. package/dist/cjs/snk-application.cjs.entry.js +2 -2
  8. package/dist/cjs/snk-attach.cjs.entry.js +9 -2
  9. package/dist/cjs/snk-crud.cjs.entry.js +1 -1
  10. package/dist/cjs/snk-detail-view.cjs.entry.js +4 -4
  11. package/dist/cjs/snk-filter-bar.cjs.entry.js +10 -2
  12. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +1 -1
  13. package/dist/cjs/snk-form.cjs.entry.js +2 -2
  14. package/dist/cjs/snk-grid-config.cjs.entry.js +1 -1
  15. package/dist/cjs/snk-grid.cjs.entry.js +9 -2
  16. package/dist/cjs/{snk-guides-viewer-7f9b6d94.js → snk-guides-viewer-dce60912.js} +3 -3
  17. package/dist/cjs/snk-guides-viewer.cjs.entry.js +4 -4
  18. package/dist/cjs/snk-personalized-filter.cjs.entry.js +1 -1
  19. package/dist/cjs/snk-simple-crud.cjs.entry.js +1 -1
  20. package/dist/collection/components/snk-attach/snk-attach.js +8 -1
  21. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +1 -1
  22. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +25 -1
  23. package/dist/collection/components/snk-grid/snk-grid.js +25 -2
  24. package/dist/collection/lib/configs/ConfigStorage.js +24 -14
  25. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +11 -6
  26. package/dist/components/ConfigStorage.js +24 -14
  27. package/dist/components/dataunit-fetcher.js +11 -6
  28. package/dist/components/snk-attach2.js +8 -1
  29. package/dist/components/snk-detail-view2.js +1 -1
  30. package/dist/components/snk-filter-bar2.js +10 -1
  31. package/dist/components/snk-grid2.js +9 -1
  32. package/dist/esm/{ConfigStorage-1244b8b0.js → ConfigStorage-4151acc8.js} +24 -14
  33. package/dist/esm/{SnkFormConfigManager-9be0e7d4.js → SnkFormConfigManager-5c7d3771.js} +1 -1
  34. package/dist/esm/{dataunit-fetcher-e218c6d2.js → dataunit-fetcher-65714f21.js} +11 -6
  35. package/dist/esm/loader.js +1 -1
  36. package/dist/esm/sankhyablocks.js +1 -1
  37. package/dist/esm/snk-actions-button_2.entry.js +1 -1
  38. package/dist/esm/snk-application.entry.js +2 -2
  39. package/dist/esm/snk-attach.entry.js +9 -2
  40. package/dist/esm/snk-crud.entry.js +1 -1
  41. package/dist/esm/snk-detail-view.entry.js +4 -4
  42. package/dist/esm/snk-filter-bar.entry.js +10 -2
  43. package/dist/esm/snk-filter-modal-item.entry.js +1 -1
  44. package/dist/esm/snk-form.entry.js +2 -2
  45. package/dist/esm/snk-grid-config.entry.js +1 -1
  46. package/dist/esm/snk-grid.entry.js +9 -2
  47. package/dist/esm/{snk-guides-viewer-9d5e073f.js → snk-guides-viewer-8b9564bd.js} +3 -3
  48. package/dist/esm/snk-guides-viewer.entry.js +4 -4
  49. package/dist/esm/snk-personalized-filter.entry.js +1 -1
  50. package/dist/esm/snk-simple-crud.entry.js +1 -1
  51. package/dist/sankhyablocks/{p-fd8814b9.entry.js → p-1d75d9f9.entry.js} +1 -1
  52. package/dist/sankhyablocks/{p-0d084a0f.entry.js → p-28564b5e.entry.js} +1 -1
  53. package/dist/sankhyablocks/{p-ba627e85.js → p-29804fc5.js} +1 -1
  54. package/dist/sankhyablocks/p-4a6b0528.entry.js +1 -0
  55. package/dist/sankhyablocks/{p-143425c0.entry.js → p-55930465.entry.js} +1 -1
  56. package/dist/sankhyablocks/{p-776ee8e3.js → p-573a07c5.js} +1 -1
  57. package/dist/sankhyablocks/{p-11081798.entry.js → p-761ed32f.entry.js} +1 -1
  58. package/dist/sankhyablocks/{p-f514913b.entry.js → p-7f3c7b09.entry.js} +1 -1
  59. package/dist/sankhyablocks/{p-d1007720.entry.js → p-95a3778f.entry.js} +1 -1
  60. package/dist/sankhyablocks/p-aa95fb2c.js +56 -0
  61. package/dist/sankhyablocks/{p-4b0938f6.entry.js → p-b146a9f0.entry.js} +1 -1
  62. package/dist/sankhyablocks/p-bedb8ad6.entry.js +1 -0
  63. package/dist/sankhyablocks/{p-7f9d6b5d.entry.js → p-c223b7b2.entry.js} +1 -1
  64. package/dist/sankhyablocks/{p-a87229cd.entry.js → p-cdd66657.entry.js} +1 -1
  65. package/dist/sankhyablocks/{p-3520c088.entry.js → p-e0fd9555.entry.js} +1 -1
  66. package/dist/sankhyablocks/p-ebbc17c6.js +1 -0
  67. package/dist/sankhyablocks/p-f4d99023.entry.js +1 -0
  68. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  69. package/dist/types/components/snk-attach/snk-attach.d.ts +1 -0
  70. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +4 -0
  71. package/dist/types/components/snk-grid/snk-grid.d.ts +5 -1
  72. package/dist/types/components.d.ts +9 -1
  73. package/dist/types/lib/configs/ConfigStorage.d.ts +4 -0
  74. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +1 -0
  75. package/package.json +1 -1
  76. package/dist/sankhyablocks/p-585294ee.js +0 -56
  77. package/dist/sankhyablocks/p-70589af8.entry.js +0 -1
  78. package/dist/sankhyablocks/p-809f367d.entry.js +0 -1
  79. package/dist/sankhyablocks/p-8437508f.js +0 -1
  80. package/dist/sankhyablocks/p-e3132789.entry.js +0 -1
@@ -34,6 +34,9 @@ export class SnkAttach {
34
34
  }
35
35
  registerKeyWatcher(newRegisterKey, oldRegisterKey) {
36
36
  var _a;
37
+ if (this.dataUnit == null) {
38
+ this.loadAttachmentDataUnit();
39
+ }
37
40
  if (oldRegisterKey !== newRegisterKey) {
38
41
  this.returnToGridMode();
39
42
  this._attachFetcher = new AttachFetcher(this.entityName, this.registerKey, (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.name);
@@ -104,7 +107,11 @@ export class SnkAttach {
104
107
  }
105
108
  componentWillLoad() {
106
109
  this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
107
- this.loadAttachmentDataUnit();
110
+ }
111
+ componentWillRender() {
112
+ if (this.dataUnit == null) {
113
+ this.loadAttachmentDataUnit();
114
+ }
108
115
  }
109
116
  render() {
110
117
  var _a, _b;
@@ -134,7 +134,7 @@ export class SnkGuidesViewer {
134
134
  });
135
135
  this._guides = this._guides.map(guide => {
136
136
  if (guide.id === guideItem.id) {
137
- return Object.assign(Object.assign({}, guide), guideItem);
137
+ return Object.assign(Object.assign(Object.assign({}, guide), guideItem), (guideItem.children !== undefined ? {} : { children: undefined }));
138
138
  }
139
139
  return guide;
140
140
  });
@@ -76,6 +76,14 @@ export class SnkFilterBar {
76
76
  async reload() {
77
77
  this.loadConfigFromStorage();
78
78
  }
79
+ /**
80
+ * Limpa o cache e faz o recarregamento da filterbar, buscando state no servidor.
81
+ */
82
+ async clearCacheAndReload() {
83
+ console.log("fui chamado [reloadUpdatingCache]");
84
+ await ConfigStorage.deleteFilterBarConfigCache(this.configName, this.resourceID);
85
+ await this.loadConfigFromStorage();
86
+ }
79
87
  /**
80
88
  * Retorna um item de filtro pelo ID.
81
89
  */
@@ -123,7 +131,7 @@ export class SnkFilterBar {
123
131
  */
124
132
  async removeFilterItem(filterID) {
125
133
  const itemIndex = this.filterConfig.findIndex(item => item.id === filterID);
126
- if (itemIndex > -1) {
134
+ if (itemIndex == -1) {
127
135
  console.warn("[SnkFilterBar.removeFilterItem] FilterItem não encontrado");
128
136
  return Promise.resolve(undefined);
129
137
  }
@@ -559,6 +567,22 @@ export class SnkFilterBar {
559
567
  "tags": []
560
568
  }
561
569
  },
570
+ "clearCacheAndReload": {
571
+ "complexType": {
572
+ "signature": "() => Promise<void>",
573
+ "parameters": [],
574
+ "references": {
575
+ "Promise": {
576
+ "location": "global"
577
+ }
578
+ },
579
+ "return": "Promise<void>"
580
+ },
581
+ "docs": {
582
+ "text": "Limpa o cache e faz o recarregamento da filterbar, buscando state no servidor.",
583
+ "tags": []
584
+ }
585
+ },
562
586
  "getFilterItem": {
563
587
  "complexType": {
564
588
  "signature": "(id: string) => Promise<SnkFilterItemConfig | undefined>",
@@ -78,12 +78,19 @@ export class SnkGrid {
78
78
  this.setGridConfig(config);
79
79
  }
80
80
  /**
81
- * Faz o recarregamento da filter-bar da grade buscando o state no servidor.
81
+ * Faz o recarregamento da filter-bar da grade buscando o state no cache e caso não exista, no servidor.
82
82
  */
83
83
  async reloadFilterBar() {
84
84
  var _a;
85
85
  (_a = this._snkFilterBar) === null || _a === void 0 ? void 0 : _a.reload();
86
86
  }
87
+ /**
88
+ * Limpa o cache e faz o recarregamento da filter-bar da grade, buscando o state no servidor.
89
+ */
90
+ async clearCacheAndReloadFilterBar() {
91
+ var _a;
92
+ (_a = this._snkFilterBar) === null || _a === void 0 ? void 0 : _a.clearCacheAndReload();
93
+ }
87
94
  /**
88
95
  * Retorna o elemento da filter-bar da grade.
89
96
  */
@@ -856,7 +863,23 @@ export class SnkGrid {
856
863
  "return": "Promise<void>"
857
864
  },
858
865
  "docs": {
859
- "text": "Faz o recarregamento da filter-bar da grade buscando o state no servidor.",
866
+ "text": "Faz o recarregamento da filter-bar da grade buscando o state no cache e caso n\u00E3o exista, no servidor.",
867
+ "tags": []
868
+ }
869
+ },
870
+ "clearCacheAndReloadFilterBar": {
871
+ "complexType": {
872
+ "signature": "() => Promise<void>",
873
+ "parameters": [],
874
+ "references": {
875
+ "Promise": {
876
+ "location": "global"
877
+ }
878
+ },
879
+ "return": "Promise<void>"
880
+ },
881
+ "docs": {
882
+ "text": "Limpa o cache e faz o recarregamento da filter-bar da grade, buscando o state no servidor.",
860
883
  "tags": []
861
884
  }
862
885
  },
@@ -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}`;
@@ -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,10 +88,7 @@ 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
94
  crudListener: `br.com.sankhya.bff.${this.getModuleName()}.BFFDataUnitDatasetAdapter`,
@@ -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}`;
@@ -576,13 +576,21 @@ class DatasetStrategy {
576
576
  getFieldsList(dataUnit) {
577
577
  let fields = ["__record__id__", "__record__label__"];
578
578
  dataUnit.metadata.fields.forEach((descriptor) => {
579
- if (descriptor.standAlone) {
579
+ if (descriptor.standAlone)
580
580
  return;
581
- }
582
581
  fields = fields.concat(this.getFieldNames(descriptor));
583
582
  });
584
583
  return fields;
585
584
  }
585
+ getStandAloneFieldsList(dataUnit) {
586
+ let fields = {};
587
+ dataUnit.metadata.fields.forEach((currentField) => {
588
+ if (!currentField.standAlone)
589
+ return;
590
+ fields = Object.assign(Object.assign({}, fields), { [currentField.name]: { fieldType: currentField.dataType, userType: currentField.userInterface } });
591
+ });
592
+ return fields;
593
+ }
586
594
  getFieldNames(descriptor) {
587
595
  const descriptionField = this.getSearchDescriptionField(descriptor);
588
596
  if (descriptionField == undefined) {
@@ -605,10 +613,7 @@ class DatasetStrategy {
605
613
  totalRecordsCount: loadingInfo.count,
606
614
  pagerID: loadingInfo.pagerId,
607
615
  standAlone: false,
608
- standAloneFieldsMD: {
609
- __record__id__: { "fieldType": "S", "userType": "P" },
610
- __record__label__: { "fieldType": "S", "userType": "P" }
611
- },
616
+ standAloneFieldsMD: Object.assign({ __record__id__: { "fieldType": "S", "userType": "P" }, __record__label__: { "fieldType": "S", "userType": "P" } }, this.getStandAloneFieldsList(dataUnit)),
612
617
  tryJoinedFields: true,
613
618
  parallelLoader: useParallelLoader,
614
619
  crudListener: `br.com.sankhya.bff.${this.getModuleName()}.BFFDataUnitDatasetAdapter`,
@@ -371,6 +371,9 @@ const SnkAttach = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
371
371
  }
372
372
  registerKeyWatcher(newRegisterKey, oldRegisterKey) {
373
373
  var _a;
374
+ if (this.dataUnit == null) {
375
+ this.loadAttachmentDataUnit();
376
+ }
374
377
  if (oldRegisterKey !== newRegisterKey) {
375
378
  this.returnToGridMode();
376
379
  this._attachFetcher = new AttachFetcher(this.entityName, this.registerKey, (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.name);
@@ -441,7 +444,11 @@ const SnkAttach = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
441
444
  }
442
445
  componentWillLoad() {
443
446
  this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
444
- this.loadAttachmentDataUnit();
447
+ }
448
+ componentWillRender() {
449
+ if (this.dataUnit == null) {
450
+ this.loadAttachmentDataUnit();
451
+ }
445
452
  }
446
453
  render() {
447
454
  var _a, _b;
@@ -176,7 +176,7 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
176
176
  });
177
177
  this._guides = this._guides.map(guide => {
178
178
  if (guide.id === guideItem.id) {
179
- return Object.assign(Object.assign({}, guide), guideItem);
179
+ return Object.assign(Object.assign(Object.assign({}, guide), guideItem), (guideItem.children !== undefined ? {} : { children: undefined }));
180
180
  }
181
181
  return guide;
182
182
  });
@@ -326,6 +326,14 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
326
326
  async reload() {
327
327
  this.loadConfigFromStorage();
328
328
  }
329
+ /**
330
+ * Limpa o cache e faz o recarregamento da filterbar, buscando state no servidor.
331
+ */
332
+ async clearCacheAndReload() {
333
+ console.log("fui chamado [reloadUpdatingCache]");
334
+ await ConfigStorage.deleteFilterBarConfigCache(this.configName, this.resourceID);
335
+ await this.loadConfigFromStorage();
336
+ }
329
337
  /**
330
338
  * Retorna um item de filtro pelo ID.
331
339
  */
@@ -373,7 +381,7 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
373
381
  */
374
382
  async removeFilterItem(filterID) {
375
383
  const itemIndex = this.filterConfig.findIndex(item => item.id === filterID);
376
- if (itemIndex > -1) {
384
+ if (itemIndex == -1) {
377
385
  console.warn("[SnkFilterBar.removeFilterItem] FilterItem não encontrado");
378
386
  return Promise.resolve(undefined);
379
387
  }
@@ -662,6 +670,7 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
662
670
  "showPersonalizedFilter": [32],
663
671
  "personalizedFilterId": [32],
664
672
  "reload": [64],
673
+ "clearCacheAndReload": [64],
665
674
  "getFilterItem": [64],
666
675
  "updateFilterItem": [64],
667
676
  "addFilterItem": [64],
@@ -100,12 +100,19 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
100
100
  this.setGridConfig(config);
101
101
  }
102
102
  /**
103
- * Faz o recarregamento da filter-bar da grade buscando o state no servidor.
103
+ * Faz o recarregamento da filter-bar da grade buscando o state no cache e caso não exista, no servidor.
104
104
  */
105
105
  async reloadFilterBar() {
106
106
  var _a;
107
107
  (_a = this._snkFilterBar) === null || _a === void 0 ? void 0 : _a.reload();
108
108
  }
109
+ /**
110
+ * Limpa o cache e faz o recarregamento da filter-bar da grade, buscando o state no servidor.
111
+ */
112
+ async clearCacheAndReloadFilterBar() {
113
+ var _a;
114
+ (_a = this._snkFilterBar) === null || _a === void 0 ? void 0 : _a.clearCacheAndReload();
115
+ }
109
116
  /**
110
117
  * Retorna o elemento da filter-bar da grade.
111
118
  */
@@ -452,6 +459,7 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
452
459
  "hideConfig": [64],
453
460
  "setConfig": [64],
454
461
  "reloadFilterBar": [64],
462
+ "clearCacheAndReloadFilterBar": [64],
455
463
  "getFilterBar": [64],
456
464
  "findColumn": [64]
457
465
  }]);
@@ -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}`;
@@ -1,4 +1,4 @@
1
- import { C as ConfigStorage } from './ConfigStorage-1244b8b0.js';
1
+ import { C as ConfigStorage } from './ConfigStorage-4151acc8.js';
2
2
  import { ObjectUtils, StringUtils } from '@sankhyalabs/core';
3
3
  import { F as FormConfigFetcher } from './form-config-fetcher-36219cd3.js';
4
4
 
@@ -198,13 +198,21 @@ class DatasetStrategy {
198
198
  getFieldsList(dataUnit) {
199
199
  let fields = ["__record__id__", "__record__label__"];
200
200
  dataUnit.metadata.fields.forEach((descriptor) => {
201
- if (descriptor.standAlone) {
201
+ if (descriptor.standAlone)
202
202
  return;
203
- }
204
203
  fields = fields.concat(this.getFieldNames(descriptor));
205
204
  });
206
205
  return fields;
207
206
  }
207
+ getStandAloneFieldsList(dataUnit) {
208
+ let fields = {};
209
+ dataUnit.metadata.fields.forEach((currentField) => {
210
+ if (!currentField.standAlone)
211
+ return;
212
+ fields = Object.assign(Object.assign({}, fields), { [currentField.name]: { fieldType: currentField.dataType, userType: currentField.userInterface } });
213
+ });
214
+ return fields;
215
+ }
208
216
  getFieldNames(descriptor) {
209
217
  const descriptionField = this.getSearchDescriptionField(descriptor);
210
218
  if (descriptionField == undefined) {
@@ -227,10 +235,7 @@ class DatasetStrategy {
227
235
  totalRecordsCount: loadingInfo.count,
228
236
  pagerID: loadingInfo.pagerId,
229
237
  standAlone: false,
230
- standAloneFieldsMD: {
231
- __record__id__: { "fieldType": "S", "userType": "P" },
232
- __record__label__: { "fieldType": "S", "userType": "P" }
233
- },
238
+ standAloneFieldsMD: Object.assign({ __record__id__: { "fieldType": "S", "userType": "P" }, __record__label__: { "fieldType": "S", "userType": "P" } }, this.getStandAloneFieldsList(dataUnit)),
234
239
  tryJoinedFields: true,
235
240
  parallelLoader: useParallelLoader,
236
241
  crudListener: `br.com.sankhya.bff.${this.getModuleName()}.BFFDataUnitDatasetAdapter`,