@sankhyalabs/sankhyablocks 8.16.0-dev.20 → 8.16.0-dev.22

Sign up to get free protection for your applications and to get access to all the features.
Files changed (118) hide show
  1. package/dist/cjs/{ConfigStorage-e49214c6.js → ConfigStorage-ecc0ed20.js} +2 -2
  2. package/dist/cjs/{DataFetcher-77729a93.js → DataFetcher-cadeef8e.js} +21 -20
  3. package/dist/cjs/{RecordIDUtils-3735135c.js → GetSelectedRecordsIDsInfo-bd50caf1.js} +10 -10
  4. package/dist/cjs/{IExporterProvider-10b7fed5.js → IExporterProvider-9ac15aaf.js} +4 -4
  5. package/dist/cjs/{SnkFormConfigManager-beebf47a.js → SnkFormConfigManager-f1c92f79.js} +72 -16
  6. package/dist/cjs/{auth-fetcher-29bb791c.js → auth-fetcher-d68841bc.js} +1 -1
  7. package/dist/cjs/{dataunit-fetcher-d4873076.js → dataunit-fetcher-4b12f70c.js} +1 -1
  8. package/dist/cjs/{form-config-fetcher-feb08214.js → form-config-fetcher-ed497282.js} +5 -2
  9. package/dist/cjs/{pesquisa-fetcher-a1d0353f.js → pesquisa-fetcher-ca89181c.js} +1 -1
  10. package/dist/cjs/snk-actions-button_4.cjs.entry.js +17 -14
  11. package/dist/cjs/snk-application.cjs.entry.js +6 -6
  12. package/dist/cjs/snk-attach.cjs.entry.js +5 -5
  13. package/dist/cjs/snk-crud.cjs.entry.js +5 -5
  14. package/dist/cjs/snk-data-exporter.cjs.entry.js +6 -6
  15. package/dist/cjs/{snk-data-unit-11e31d8d.js → snk-data-unit-2f2e6f8c.js} +3 -3
  16. package/dist/cjs/snk-data-unit.cjs.entry.js +4 -4
  17. package/dist/cjs/snk-detail-view.cjs.entry.js +8 -8
  18. package/dist/cjs/snk-filter-bar.cjs.entry.js +3 -3
  19. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
  20. package/dist/cjs/snk-form-config.cjs.entry.js +15 -4
  21. package/dist/cjs/snk-form.cjs.entry.js +7 -6
  22. package/dist/cjs/snk-grid.cjs.entry.js +8 -8
  23. package/dist/cjs/{snk-guides-viewer-aafc3073.js → snk-guides-viewer-866447ab.js} +10 -7
  24. package/dist/cjs/snk-guides-viewer.cjs.entry.js +8 -8
  25. package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
  26. package/dist/cjs/snk-simple-crud.cjs.entry.js +10 -10
  27. package/dist/collection/components/snk-actions-button/actions/index.js +12 -9
  28. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +1 -1
  29. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +5 -2
  30. package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +1 -1
  31. package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +1 -1
  32. package/dist/collection/components/snk-data-unit/snk-data-unit.js +2 -2
  33. package/dist/collection/components/snk-form/snk-form.js +2 -2
  34. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +70 -14
  35. package/dist/collection/components/snk-form-config/snk-form-config.js +13 -2
  36. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +1 -1
  37. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +21 -20
  38. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +4 -1
  39. package/dist/collection/{components/snk-data-exporter/utils/RecordIDUtils.js → lib/utils/GetSelectedRecordsIDsInfo.js} +9 -9
  40. package/dist/components/DataFetcher.js +21 -20
  41. package/dist/{esm/RecordIDUtils-87d02110.js → components/GetSelectedRecordsIDsInfo.js} +10 -10
  42. package/dist/components/SnkFormConfigManager.js +70 -14
  43. package/dist/components/form-config-fetcher.js +4 -1
  44. package/dist/components/snk-actions-button2.js +12 -9
  45. package/dist/components/snk-data-unit2.js +4 -41
  46. package/dist/components/snk-detail-view2.js +6 -3
  47. package/dist/components/snk-form-config2.js +13 -2
  48. package/dist/components/snk-form.js +2 -2
  49. package/dist/components/snk-grid2.js +2 -2
  50. package/dist/components/snk-simple-crud2.js +4 -3
  51. package/dist/esm/{ConfigStorage-e476378d.js → ConfigStorage-7b36d041.js} +2 -2
  52. package/dist/esm/{DataFetcher-773a3e4b.js → DataFetcher-a9c598f2.js} +21 -20
  53. package/dist/esm/GetSelectedRecordsIDsInfo-9fa41508.js +41 -0
  54. package/dist/esm/{IExporterProvider-d597f27d.js → IExporterProvider-09df2e3e.js} +4 -4
  55. package/dist/esm/{SnkFormConfigManager-298cd647.js → SnkFormConfigManager-139f09fa.js} +72 -16
  56. package/dist/esm/{auth-fetcher-a411f73c.js → auth-fetcher-749d880f.js} +1 -1
  57. package/dist/esm/{dataunit-fetcher-3d2ec959.js → dataunit-fetcher-3aac1a53.js} +1 -1
  58. package/dist/esm/{form-config-fetcher-e0382e5a.js → form-config-fetcher-adbe5d34.js} +5 -2
  59. package/dist/esm/{pesquisa-fetcher-a87445a0.js → pesquisa-fetcher-8edaa8cd.js} +1 -1
  60. package/dist/esm/snk-actions-button_4.entry.js +17 -14
  61. package/dist/esm/snk-application.entry.js +6 -6
  62. package/dist/esm/snk-attach.entry.js +5 -5
  63. package/dist/esm/snk-crud.entry.js +5 -5
  64. package/dist/esm/snk-data-exporter.entry.js +6 -6
  65. package/dist/esm/{snk-data-unit-29de836f.js → snk-data-unit-acf3dd64.js} +3 -3
  66. package/dist/esm/snk-data-unit.entry.js +4 -4
  67. package/dist/esm/snk-detail-view.entry.js +8 -8
  68. package/dist/esm/snk-filter-bar.entry.js +3 -3
  69. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  70. package/dist/esm/snk-form-config.entry.js +15 -4
  71. package/dist/esm/snk-form.entry.js +7 -6
  72. package/dist/esm/snk-grid.entry.js +8 -8
  73. package/dist/esm/{snk-guides-viewer-62124f3d.js → snk-guides-viewer-cb8a0b48.js} +10 -7
  74. package/dist/esm/snk-guides-viewer.entry.js +8 -8
  75. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  76. package/dist/esm/snk-simple-crud.entry.js +10 -10
  77. package/dist/sankhyablocks/{p-181975f1.js → p-06421fdb.js} +2 -2
  78. package/dist/sankhyablocks/{p-094eebf6.entry.js → p-0e9a872d.entry.js} +1 -1
  79. package/dist/sankhyablocks/{p-5b9160c6.entry.js → p-16969508.entry.js} +1 -1
  80. package/dist/sankhyablocks/{p-76a65660.js → p-1ab19772.js} +1 -1
  81. package/dist/sankhyablocks/{p-25f1fc39.js → p-1bf06cd3.js} +2 -2
  82. package/dist/sankhyablocks/{p-51999ab5.entry.js → p-1f47a0b2.entry.js} +1 -1
  83. package/dist/sankhyablocks/{p-9dfda04a.entry.js → p-212213d9.entry.js} +1 -1
  84. package/dist/sankhyablocks/{p-12f45f86.entry.js → p-3757394b.entry.js} +1 -1
  85. package/dist/sankhyablocks/p-3d542b58.entry.js +1 -0
  86. package/dist/sankhyablocks/{p-3287a6cc.js → p-4d9549cf.js} +1 -1
  87. package/dist/sankhyablocks/p-53c1d25d.entry.js +1 -0
  88. package/dist/sankhyablocks/p-60b29483.entry.js +1 -0
  89. package/dist/sankhyablocks/{p-162b9a59.entry.js → p-640140b3.entry.js} +2 -2
  90. package/dist/sankhyablocks/p-73185e58.entry.js +1 -0
  91. package/dist/sankhyablocks/p-7dd49d15.js +1 -0
  92. package/dist/sankhyablocks/{p-53949130.entry.js → p-8862ba4a.entry.js} +1 -1
  93. package/dist/sankhyablocks/p-8d7e2747.entry.js +1 -0
  94. package/dist/sankhyablocks/{p-70001ac1.js → p-a31e761f.js} +1 -1
  95. package/dist/sankhyablocks/p-afbb070d.js +1 -0
  96. package/dist/sankhyablocks/{p-5b26cc7c.entry.js → p-b2caaaf9.entry.js} +1 -1
  97. package/dist/sankhyablocks/p-bc4b94d2.entry.js +1 -0
  98. package/dist/sankhyablocks/{p-0cd3c0a9.js → p-ca5ec380.js} +1 -1
  99. package/dist/sankhyablocks/p-ce6eed2c.js +1 -0
  100. package/dist/sankhyablocks/{p-594bc21d.js → p-f3434fc4.js} +1 -1
  101. package/dist/sankhyablocks/{p-091ce761.js → p-f8698ad3.js} +1 -1
  102. package/dist/sankhyablocks/{p-bd008859.entry.js → p-fb34e0cf.entry.js} +1 -1
  103. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  104. package/dist/types/components/snk-actions-button/actions/index.d.ts +1 -0
  105. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +1 -0
  106. package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +7 -2
  107. package/dist/types/lib/utils/GetSelectedRecordsIDsInfo.d.ts +3 -0
  108. package/package.json +1 -1
  109. package/dist/sankhyablocks/p-08c28ddd.entry.js +0 -1
  110. package/dist/sankhyablocks/p-2e9c764c.entry.js +0 -1
  111. package/dist/sankhyablocks/p-421bec84.entry.js +0 -1
  112. package/dist/sankhyablocks/p-5e384af4.entry.js +0 -1
  113. package/dist/sankhyablocks/p-5f016aed.js +0 -1
  114. package/dist/sankhyablocks/p-8f4e743f.js +0 -1
  115. package/dist/sankhyablocks/p-939e15d3.entry.js +0 -1
  116. package/dist/sankhyablocks/p-9863d682.js +0 -1
  117. package/dist/sankhyablocks/p-d65d98ed.entry.js +0 -1
  118. package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +0 -3
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- const formConfigFetcher = require('./form-config-fetcher-feb08214.js');
3
+ const formConfigFetcher = require('./form-config-fetcher-ed497282.js');
4
4
  const filterItemType_enum = require('./filter-item-type.enum-a7ffdaa6.js');
5
5
  const core = require('@sankhyalabs/core');
6
- const DataFetcher = require('./DataFetcher-77729a93.js');
6
+ const DataFetcher = require('./DataFetcher-cadeef8e.js');
7
7
 
8
8
  class GridConfigFetcher extends formConfigFetcher.ResourceFetcher {
9
9
  constructor() {
@@ -6865,6 +6865,7 @@ class DataFetcher {
6865
6865
  }
6866
6866
  }
6867
6867
  async executePendingRequest(watingRequestsById) {
6868
+ var _a, _b;
6868
6869
  const requestsBatch = [];
6869
6870
  let quietMode = true;
6870
6871
  watingRequestsById.forEach((waitingReq) => {
@@ -6875,36 +6876,36 @@ class DataFetcher {
6875
6876
  const response = await this.fecthGraphQL(requestsBatch, quietMode);
6876
6877
  const { data: dataResponse, errors: errorsResponse, extensions } = response;
6877
6878
  //Reject promises with errors from query
6878
- errorsResponse.forEach((errorResponse) => {
6879
- Object.entries(errorResponse).forEach(async ([key, val]) => {
6880
- const waitingRequest = watingRequestsById.get(val.request.variables[val.index].queryID);
6879
+ for (const errorResponse of errorsResponse) {
6880
+ const values = Object.values(errorResponse);
6881
+ for (const value of values) {
6882
+ const waitingRequest = watingRequestsById.get(value.request.variables[value.index].queryID);
6881
6883
  const hasClientEvent = await this.proccesGraphQLClientEvents(extensions, waitingRequest.request, waitingRequest.resolve, waitingRequest.reject);
6882
- Promise.race([
6884
+ const data = await Promise.race([
6883
6885
  waitingRequest.promise,
6884
6886
  new Promise((resolve) => {
6885
6887
  resolve(false);
6886
6888
  })
6887
- ]).then((data) => {
6888
- var _a, _b;
6889
- if (!hasClientEvent || data === false) {
6890
- if (Object.keys(errorResponse[0].extensions).includes("SERVICE_CANCELED") || Object.keys(extensions).includes("isServiceCancelled")) {
6891
- (((_a = watingRequestsById.get(val.request.variables[val.index].queryID)) === null || _a === void 0 ? void 0 : _a.reject) || Promise.reject)(new core.ServiceCanceledException("Service canceled", val.message));
6892
- }
6893
- else {
6894
- (((_b = watingRequestsById.get(val.request.variables[val.index].queryID)) === null || _b === void 0 ? void 0 : _b.reject) || Promise.reject)(new core.ErrorException("Falha detectada", val.message));
6895
- }
6889
+ ]);
6890
+ if (!hasClientEvent || data === false) {
6891
+ if (Object.keys(errorResponse[0].extensions).includes("SERVICE_CANCELED") || Object.keys(extensions).includes("isServiceCancelled")) {
6892
+ (((_a = watingRequestsById.get(value.request.variables[value.index].queryID)) === null || _a === void 0 ? void 0 : _a.reject) || Promise.reject)(new core.ServiceCanceledException("Service canceled", value.message));
6896
6893
  }
6897
- });
6898
- });
6899
- });
6894
+ else {
6895
+ (((_b = watingRequestsById.get(value.request.variables[value.index].queryID)) === null || _b === void 0 ? void 0 : _b.reject) || Promise.reject)(new core.ErrorException("Falha detectada", value.message));
6896
+ }
6897
+ }
6898
+ }
6899
+ }
6900
6900
  //Resolve promises with data from query
6901
- dataResponse.forEach((data) => {
6902
- Object.entries(data).forEach(async ([key, val]) => {
6901
+ for (const data of dataResponse) {
6902
+ const entries = Object.entries(data);
6903
+ for (const [key, val] of entries) {
6903
6904
  const waitingRequest = watingRequestsById.get(key);
6904
6905
  await this.proccesGraphQLClientEvents(extensions, waitingRequest.request, waitingRequest.resolve, waitingRequest.reject);
6905
6906
  ((waitingRequest === null || waitingRequest === void 0 ? void 0 : waitingRequest.resolve) || Promise.resolve)(val);
6906
- });
6907
- });
6907
+ }
6908
+ }
6908
6909
  }
6909
6910
  buildGraphQlURL(quietMode) {
6910
6911
  const urlParams = UrlUtils.getQueryParams(location.search);
@@ -2,31 +2,31 @@
2
2
 
3
3
  const core = require('@sankhyalabs/core');
4
4
 
5
- const getSelectedIDs = (dataUnit) => {
6
- const selectionInfo = dataUnit.getSelectionInfo();
5
+ function getSelectedRecordsIDsInfo(dataUnit) {
6
+ const selectionInfo = dataUnit === null || dataUnit === void 0 ? void 0 : dataUnit.getSelectionInfo();
7
7
  if (selectionInfo === null || selectionInfo === void 0 ? void 0 : selectionInfo.isAllRecords()) {
8
8
  return [];
9
9
  }
10
10
  const selectedRecordsIDsInfo = [];
11
- const selectedRecords = selectionInfo === null || selectionInfo === void 0 ? void 0 : selectionInfo.recordIds;
11
+ const selectedRecords = selectionInfo === null || selectionInfo === void 0 ? void 0 : selectionInfo.records;
12
12
  if ((selectedRecords === null || selectedRecords === void 0 ? void 0 : selectedRecords.length) > 0) {
13
- selectedRecords.forEach(recordId => {
14
- if (!dataUnit.isNewRecord(recordId)) {
13
+ selectedRecords.forEach(({ __record__id__ }) => {
14
+ if (!dataUnit.isNewRecord(__record__id__)) {
15
15
  /*
16
16
  Esse if foi necessário para tratar corretamente o ID
17
17
  do record quando está sendo utilizado no modo standAlone
18
18
  isso não faz a exportação da grid funcionar no modo standAlone
19
19
  mas deixa de causar erro nas oprações de CRUD.
20
20
  */
21
- if (!core.JSUtils.isBase64(recordId)) {
21
+ if (!core.JSUtils.isBase64(__record__id__)) {
22
22
  selectedRecordsIDsInfo.push({
23
23
  name: "__record__id__",
24
24
  type: core.DataType.TEXT,
25
- value: recordId
25
+ value: __record__id__
26
26
  });
27
27
  return;
28
28
  }
29
- const revertBase64ToObject = JSON.parse(window.atob(recordId));
29
+ const revertBase64ToObject = JSON.parse(window.atob(__record__id__));
30
30
  Object.entries(revertBase64ToObject).forEach(([name, value]) => {
31
31
  const metadataField = dataUnit === null || dataUnit === void 0 ? void 0 : dataUnit.getField(name);
32
32
  if (metadataField == undefined) {
@@ -38,6 +38,6 @@ const getSelectedIDs = (dataUnit) => {
38
38
  });
39
39
  }
40
40
  return selectedRecordsIDsInfo;
41
- };
41
+ }
42
42
 
43
- exports.getSelectedIDs = getSelectedIDs;
43
+ exports.getSelectedRecordsIDsInfo = getSelectedRecordsIDsInfo;
@@ -1,15 +1,15 @@
1
1
  'use strict';
2
2
 
3
- const DataFetcher = require('./DataFetcher-77729a93.js');
4
- require('./pesquisa-fetcher-a1d0353f.js');
3
+ const DataFetcher = require('./DataFetcher-cadeef8e.js');
4
+ require('./pesquisa-fetcher-ca89181c.js');
5
5
  const core = require('@sankhyalabs/core');
6
6
  require('./index-1dfc7a6e.js');
7
7
  require('./ISave-e91b70a7.js');
8
8
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
9
9
  const UnitMetadata = require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
10
- const dataunitFetcher = require('./dataunit-fetcher-d4873076.js');
10
+ const dataunitFetcher = require('./dataunit-fetcher-4b12f70c.js');
11
11
  require('./filter-item-type.enum-a7ffdaa6.js');
12
- require('./form-config-fetcher-feb08214.js');
12
+ require('./form-config-fetcher-ed497282.js');
13
13
  const InMemoryFilterColumnDataSource = require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils/InMemoryFilterColumnDataSource');
14
14
 
15
15
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -1,14 +1,16 @@
1
1
  'use strict';
2
2
 
3
- const ConfigStorage = require('./ConfigStorage-e49214c6.js');
3
+ const ConfigStorage = require('./ConfigStorage-ecc0ed20.js');
4
4
  const core = require('@sankhyalabs/core');
5
- const formConfigFetcher = require('./form-config-fetcher-feb08214.js');
5
+ const formConfigFetcher = require('./form-config-fetcher-ed497282.js');
6
+ const constants = require('./constants-35ddd366.js');
6
7
 
7
8
  class SnkFormConfigManager {
8
- constructor(configName, resourceID, onConfigChange) {
9
+ constructor(configName, resourceID, onConfigChange, dataUnit) {
9
10
  this._resourceID = resourceID;
10
11
  this._configName = configName;
11
12
  this._onConfigChange = onConfigChange;
13
+ this._dataUnit = dataUnit;
12
14
  }
13
15
  addFormLegacyConfig(legacyConfigName) {
14
16
  if (this._configName) {
@@ -19,6 +21,7 @@ class SnkFormConfigManager {
19
21
  return new Promise(resolve => {
20
22
  ConfigStorage.ConfigStorage.loadFormConfig(this._configName, this._resourceID)
21
23
  .then((config) => {
24
+ config = this.buildFormMetadataUITabs(config);
22
25
  this.setConfig(config);
23
26
  resolve(config);
24
27
  })
@@ -27,6 +30,10 @@ class SnkFormConfigManager {
27
30
  });
28
31
  });
29
32
  }
33
+ getEmptyConfig() {
34
+ const config = this.buildFormMetadataUITabs({ fields: [], emptyConfig: true }, true);
35
+ return config;
36
+ }
30
37
  saveConfig(config) {
31
38
  const configToSave = core.ObjectUtils.copy(config);
32
39
  return new Promise(accept => {
@@ -70,25 +77,36 @@ class SnkFormConfigManager {
70
77
  }
71
78
  return updatingCardConfig;
72
79
  }
73
- getFieldsList(dataUnit, descriptionFilter) {
80
+ hasConfig(config) {
81
+ var _a;
82
+ const currentConfig = config !== null && config !== void 0 ? config : this._config;
83
+ if (currentConfig && ((_a = currentConfig.fields) === null || _a === void 0 ? void 0 : _a.length)) {
84
+ return true;
85
+ }
86
+ return false;
87
+ }
88
+ getFieldsList(descriptionFilter, forceEmptyConfig = false) {
74
89
  var _a;
75
90
  const fields = (_a = this._config) === null || _a === void 0 ? void 0 : _a.fields;
76
- if (fields != undefined && fields.length > 0) {
77
- return fields.map(({ label, name, readOnly, visible, required }) => {
91
+ const hasConfig = this.hasConfig();
92
+ if (hasConfig && !forceEmptyConfig) {
93
+ return fields.map(({ label, name, readOnly, visible, required, tab }) => {
94
+ var _a;
78
95
  if (label == undefined) {
79
- const currentField = dataUnit.getField(name);
80
- return Object.assign(Object.assign({}, currentField), { name: name !== null && name !== void 0 ? name : currentField.name, readOnly: readOnly !== null && readOnly !== void 0 ? readOnly : currentField.readOnly, visible: visible !== null && visible !== void 0 ? visible : currentField.visible, required: required !== null && required !== void 0 ? required : currentField.required });
96
+ const currentField = (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.getField(name);
97
+ return Object.assign(Object.assign({}, currentField), { name: name !== null && name !== void 0 ? name : currentField.name, readOnly: readOnly !== null && readOnly !== void 0 ? readOnly : currentField.readOnly, visible: visible !== null && visible !== void 0 ? visible : currentField.visible, required: required !== null && required !== void 0 ? required : currentField.required, tab: tab });
81
98
  }
82
- return { name, label, readOnly, visible, required };
99
+ return { name, label, readOnly, visible, required, tab };
83
100
  })
84
101
  .filter(field => this.isFieldVisible(field, descriptionFilter));
85
102
  }
86
- if (dataUnit != undefined) {
87
- return dataUnit.metadata.fields
88
- .filter(field => this.isFieldVisible(field, descriptionFilter))
89
- .map(({ label, name, readOnly }) => { return { label, name, readOnly }; });
103
+ if (!this._dataUnit) {
104
+ return [];
90
105
  }
91
- return [];
106
+ const filteredFields = this._dataUnit.metadata.fields
107
+ .filter(field => this.isFieldVisible(field, descriptionFilter))
108
+ .map(({ label, name, readOnly, visible, required, properties }) => ({ label, name, readOnly, visible, required, tab: properties === null || properties === void 0 ? void 0 : properties.UITabName }));
109
+ return filteredFields;
92
110
  }
93
111
  isFieldVisible(field, descriptionFilter) {
94
112
  if (field.visible === false) {
@@ -101,8 +119,8 @@ class SnkFormConfigManager {
101
119
  const normalizedFilter = core.StringUtils.replaceAccentuatedCharsLower(descriptionFilter.toLocaleLowerCase());
102
120
  return normalizedText.includes(normalizedFilter);
103
121
  }
104
- getFormConfig(dataUnit, ignoreReadOnlyFormFields) {
105
- let fields = this.getFieldsList(dataUnit);
122
+ getFormConfig(dataUnit, ignoreReadOnlyFormFields, forceEmptyConfig = false) {
123
+ let fields = this.getFieldsList(undefined, forceEmptyConfig);
106
124
  if (ignoreReadOnlyFormFields) {
107
125
  fields = fields.filter(field => {
108
126
  if (dataUnit) {
@@ -155,6 +173,44 @@ class SnkFormConfigManager {
155
173
  async fetchDefaultConfig() {
156
174
  return this.getFormConfigFetcher().fetchDefaultConfig(this._configName, this._resourceID);
157
175
  }
176
+ parseObjectList(object) {
177
+ if (!object) {
178
+ return [];
179
+ }
180
+ return Array.isArray(object) ? object : [object];
181
+ }
182
+ buildFormMetadataUITabs(config, forceEmptyConfig = false) {
183
+ var _a;
184
+ const hasConfig = this.hasConfig(config);
185
+ if (!forceEmptyConfig && (!this._dataUnit || hasConfig)) {
186
+ return config;
187
+ }
188
+ config = this.getFormConfig(this._dataUnit, false, true);
189
+ config.tabs = this.parseObjectList(config.tabs);
190
+ config.emptyConfig = false;
191
+ config.defaultConfiguration = true;
192
+ const fields = this._dataUnit.metadata.fields;
193
+ for (const currentField of fields) {
194
+ const field = config.fields.find(field => field.name === currentField.name);
195
+ const uiTabName = (_a = currentField.properties) === null || _a === void 0 ? void 0 : _a.UITabName;
196
+ if (!uiTabName || uiTabName === constants.TAB_NAMES.main) {
197
+ continue;
198
+ }
199
+ const haveTab = config.tabs.some((tab) => tab.label === uiTabName);
200
+ if (!haveTab) {
201
+ config.tabs.push({
202
+ label: uiTabName,
203
+ name: uiTabName,
204
+ order: 0,
205
+ visible: true,
206
+ });
207
+ }
208
+ if (field) {
209
+ field.tab = uiTabName;
210
+ }
211
+ }
212
+ return config;
213
+ }
158
214
  }
159
215
 
160
216
  exports.SnkFormConfigManager = SnkFormConfigManager;
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const core = require('@sankhyalabs/core');
4
- const formConfigFetcher = require('./form-config-fetcher-feb08214.js');
4
+ const formConfigFetcher = require('./form-config-fetcher-ed497282.js');
5
5
 
6
6
  class AuthFetcher extends formConfigFetcher.ResourceFetcher {
7
7
  getData(resourceID) {
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const core = require('@sankhyalabs/core');
4
- const DataFetcher = require('./DataFetcher-77729a93.js');
4
+ const DataFetcher = require('./DataFetcher-cadeef8e.js');
5
5
  const constants = require('@sankhyalabs/ezui/dist/collection/utils/constants');
6
6
  const UnitMetadata = require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
7
7
  const utils = require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const DataFetcher = require('./DataFetcher-77729a93.js');
3
+ const DataFetcher = require('./DataFetcher-cadeef8e.js');
4
4
  const core = require('@sankhyalabs/core');
5
5
 
6
6
  class ResourceFetcher {
@@ -219,7 +219,10 @@ class FormConfigFetcher extends ResourceFetcher {
219
219
  query: this.queryConfig.get("fetchDefaultConfig"),
220
220
  })
221
221
  .then((result) => {
222
- resolve(core.ObjectUtils.stringToObject((result === null || result === void 0 ? void 0 : result.resource) || ''));
222
+ if (!(result === null || result === void 0 ? void 0 : result.resource)) {
223
+ resolve(null);
224
+ }
225
+ resolve(core.ObjectUtils.stringToObject(result === null || result === void 0 ? void 0 : result.resource));
223
226
  })
224
227
  .catch((error) => {
225
228
  reject(error);
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const core = require('@sankhyalabs/core');
4
- const DataFetcher = require('./DataFetcher-77729a93.js');
4
+ const DataFetcher = require('./DataFetcher-cadeef8e.js');
5
5
 
6
6
  class PesquisaFetcher {
7
7
  constructor() {
@@ -4,20 +4,21 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f9e81701.js');
6
6
  const core = require('@sankhyalabs/core');
7
- const DataFetcher = require('./DataFetcher-77729a93.js');
7
+ const DataFetcher = require('./DataFetcher-cadeef8e.js');
8
8
  const ParamType = require('./ParamType-90b440a0.js');
9
- require('./pesquisa-fetcher-a1d0353f.js');
9
+ require('./pesquisa-fetcher-ca89181c.js');
10
10
  require('./index-1dfc7a6e.js');
11
11
  require('./ISave-e91b70a7.js');
12
12
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
13
13
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
14
- require('./dataunit-fetcher-d4873076.js');
14
+ require('./dataunit-fetcher-4b12f70c.js');
15
15
  require('./filter-item-type.enum-a7ffdaa6.js');
16
- require('./form-config-fetcher-feb08214.js');
16
+ require('./form-config-fetcher-ed497282.js');
17
+ const GetSelectedRecordsIDsInfo = require('./GetSelectedRecordsIDsInfo-bd50caf1.js');
17
18
  const ResourceIDUtils = require('./ResourceIDUtils-5ff86aa7.js');
18
19
  const utils = require('@sankhyalabs/ezui/dist/collection/utils');
19
20
  const CheckMode = require('@sankhyalabs/ezui/dist/collection/components/ez-check/CheckMode');
20
- const ConfigStorage = require('./ConfigStorage-e49214c6.js');
21
+ const ConfigStorage = require('./ConfigStorage-ecc0ed20.js');
21
22
  const constants = require('./constants-35ddd366.js');
22
23
  require('./PrintUtils-bcaeb82f.js');
23
24
  require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
@@ -173,7 +174,6 @@ var RefreshType;
173
174
 
174
175
  const MASTER_ROW_PROPERTY = "__MASTER_ROW__";
175
176
  const ENTITY_NAME_PROPERTY = '__ENTITY_NAME__';
176
- const NUFIN_COLUMN = 'NUFIN';
177
177
  const SERVICE_GET_CONFIGURATIONS = 'SystemUtilsSP.getConf';
178
178
  class Actions {
179
179
  constructor(actionsExecuteInterface, dataUnit, appResourceId) {
@@ -185,6 +185,10 @@ class Actions {
185
185
  this._application = core.ApplicationContext.getContextValue("__SNK__APPLICATION__");
186
186
  this._appResourceId = appResourceId;
187
187
  }
188
+ getPrimaryKeys() {
189
+ const ids = GetSelectedRecordsIDsInfo.getSelectedRecordsIDsInfo(this._dataUnit);
190
+ return ids.map(({ name }) => name);
191
+ }
188
192
  apply(action, hasParamsToSave) {
189
193
  this._application.closePopUp();
190
194
  this._actionsExecuteInterface.execute(action, this._dataUnit)
@@ -453,6 +457,7 @@ class Actions {
453
457
  executeAction(execSource);
454
458
  }
455
459
  addRows(execSource) {
460
+ const primaryKeys = this.getPrimaryKeys();
456
461
  const rows = {
457
462
  row: []
458
463
  };
@@ -466,15 +471,13 @@ class Actions {
466
471
  delete sourceRow[MASTER_ROW_PROPERTY];
467
472
  delete sourceRow[ENTITY_NAME_PROPERTY];
468
473
  }
469
- for (const fieldName in sourceRow) {
470
- if (fieldName !== NUFIN_COLUMN)
471
- continue;
472
- if (!row.field) {
473
- row.field = [];
474
- }
474
+ if (!row.field) {
475
+ row.field = [];
476
+ }
477
+ for (const primaryKey of primaryKeys) {
475
478
  row.field.push({
476
- fieldName: fieldName,
477
- $: sourceRow[fieldName]
479
+ fieldName: primaryKey,
480
+ $: sourceRow[primaryKey]
478
481
  });
479
482
  }
480
483
  rows.row.push(row);
@@ -5,13 +5,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-f9e81701.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
  const utils = require('@sankhyalabs/ezui/dist/collection/utils');
8
- const ConfigStorage = require('./ConfigStorage-e49214c6.js');
9
- const DataFetcher = require('./DataFetcher-77729a93.js');
10
- const authFetcher = require('./auth-fetcher-29bb791c.js');
11
- const dataunitFetcher = require('./dataunit-fetcher-d4873076.js');
12
- const pesquisaFetcher = require('./pesquisa-fetcher-a1d0353f.js');
8
+ const ConfigStorage = require('./ConfigStorage-ecc0ed20.js');
9
+ const DataFetcher = require('./DataFetcher-cadeef8e.js');
10
+ const authFetcher = require('./auth-fetcher-d68841bc.js');
11
+ const dataunitFetcher = require('./dataunit-fetcher-4b12f70c.js');
12
+ const pesquisaFetcher = require('./pesquisa-fetcher-ca89181c.js');
13
13
  const SnkMessageBuilder = require('./SnkMessageBuilder-cceebbae.js');
14
- require('./form-config-fetcher-feb08214.js');
14
+ require('./form-config-fetcher-ed497282.js');
15
15
  require('./filter-item-type.enum-a7ffdaa6.js');
16
16
  require('./PrintUtils-bcaeb82f.js');
17
17
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
@@ -4,15 +4,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f9e81701.js');
6
6
  const core = require('@sankhyalabs/core');
7
- const DataFetcher = require('./DataFetcher-77729a93.js');
8
- require('./pesquisa-fetcher-a1d0353f.js');
7
+ const DataFetcher = require('./DataFetcher-cadeef8e.js');
8
+ require('./pesquisa-fetcher-ca89181c.js');
9
9
  require('./index-1dfc7a6e.js');
10
10
  const ISave = require('./ISave-e91b70a7.js');
11
- const dataunitFetcher = require('./dataunit-fetcher-d4873076.js');
11
+ const dataunitFetcher = require('./dataunit-fetcher-4b12f70c.js');
12
12
  require('./filter-item-type.enum-a7ffdaa6.js');
13
- require('./form-config-fetcher-feb08214.js');
13
+ require('./form-config-fetcher-ed497282.js');
14
14
  const constants = require('./constants-35ddd366.js');
15
- const authFetcher = require('./auth-fetcher-29bb791c.js');
15
+ const authFetcher = require('./auth-fetcher-d68841bc.js');
16
16
  const taskbarElements = require('./taskbar-elements-9ad1f9c0.js');
17
17
  require('./PrintUtils-bcaeb82f.js');
18
18
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
@@ -5,17 +5,17 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-f9e81701.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
  const taskbarElements = require('./taskbar-elements-9ad1f9c0.js');
8
- require('./DataFetcher-77729a93.js');
9
- require('./pesquisa-fetcher-a1d0353f.js');
8
+ require('./DataFetcher-cadeef8e.js');
9
+ require('./pesquisa-fetcher-ca89181c.js');
10
10
  const index$1 = require('./index-1dfc7a6e.js');
11
11
  require('./ISave-e91b70a7.js');
12
12
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
13
13
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
14
- require('./dataunit-fetcher-d4873076.js');
14
+ require('./dataunit-fetcher-4b12f70c.js');
15
15
  require('./filter-item-type.enum-a7ffdaa6.js');
16
- require('./form-config-fetcher-feb08214.js');
16
+ require('./form-config-fetcher-ed497282.js');
17
17
  const constants = require('./constants-35ddd366.js');
18
- const authFetcher = require('./auth-fetcher-29bb791c.js');
18
+ const authFetcher = require('./auth-fetcher-d68841bc.js');
19
19
  require('./index-102ba62d.js');
20
20
  require('./PrintUtils-bcaeb82f.js');
21
21
  require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
@@ -7,19 +7,19 @@ const core = require('@sankhyalabs/core');
7
7
  const utils = require('@sankhyalabs/ezui/dist/collection/utils');
8
8
  const index = require('./index-1dfc7a6e.js');
9
9
  const constants = require('./constants-35ddd366.js');
10
- const DataFetcher = require('./DataFetcher-77729a93.js');
11
- const snkDataUnit = require('./snk-data-unit-11e31d8d.js');
12
- require('./pesquisa-fetcher-a1d0353f.js');
10
+ const DataFetcher = require('./DataFetcher-cadeef8e.js');
11
+ const snkDataUnit = require('./snk-data-unit-2f2e6f8c.js');
12
+ require('./pesquisa-fetcher-ca89181c.js');
13
13
  require('./ISave-e91b70a7.js');
14
14
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
15
15
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
16
- require('./dataunit-fetcher-d4873076.js');
16
+ require('./dataunit-fetcher-4b12f70c.js');
17
17
  require('./filter-item-type.enum-a7ffdaa6.js');
18
- require('./form-config-fetcher-feb08214.js');
18
+ require('./form-config-fetcher-ed497282.js');
19
19
  require('./PrintUtils-bcaeb82f.js');
20
20
  require('./SnkMessageBuilder-cceebbae.js');
21
- require('./RecordIDUtils-3735135c.js');
22
21
  require('@sankhyalabs/core/dist/dataunit/metadata/DataType');
22
+ require('./GetSelectedRecordsIDsInfo-bd50caf1.js');
23
23
  require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
24
24
  require('@sankhyalabs/core/dist/utils/SortingUtils');
25
25
  require('./ResourceIDUtils-5ff86aa7.js');
@@ -4,9 +4,9 @@ const index = require('./index-f9e81701.js');
4
4
  const core = require('@sankhyalabs/core');
5
5
  const utils = require('@sankhyalabs/ezui/dist/collection/utils');
6
6
  const SnkMessageBuilder = require('./SnkMessageBuilder-cceebbae.js');
7
- const dataunitFetcher = require('./dataunit-fetcher-d4873076.js');
8
- const RecordIDUtils = require('./RecordIDUtils-3735135c.js');
7
+ const dataunitFetcher = require('./dataunit-fetcher-4b12f70c.js');
9
8
  const DataType = require('@sankhyalabs/core/dist/dataunit/metadata/DataType');
9
+ const GetSelectedRecordsIDsInfo = require('./GetSelectedRecordsIDsInfo-bd50caf1.js');
10
10
 
11
11
  const SnkDataUnit = class {
12
12
  constructor(hostRef) {
@@ -117,7 +117,7 @@ const SnkDataUnit = class {
117
117
  * @returns Retorna a lista de IDs dos registros selecionados.
118
118
  */
119
119
  async getSelectedRecordsIDsInfo() {
120
- return Promise.resolve(RecordIDUtils.getSelectedIDs(this.dataUnit));
120
+ return GetSelectedRecordsIDsInfo.getSelectedRecordsIDsInfo(this.dataUnit);
121
121
  }
122
122
  /**
123
123
  * Retorna os campos que possuem a propriedade "rmp" (Row Metadata Provider).
@@ -2,21 +2,21 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const snkDataUnit = require('./snk-data-unit-11e31d8d.js');
5
+ const snkDataUnit = require('./snk-data-unit-2f2e6f8c.js');
6
6
  require('./index-f9e81701.js');
7
7
  require('@sankhyalabs/core');
8
8
  require('@sankhyalabs/ezui/dist/collection/utils');
9
9
  require('./SnkMessageBuilder-cceebbae.js');
10
- require('./dataunit-fetcher-d4873076.js');
11
- require('./DataFetcher-77729a93.js');
10
+ require('./dataunit-fetcher-4b12f70c.js');
11
+ require('./DataFetcher-cadeef8e.js');
12
12
  require('./PrintUtils-bcaeb82f.js');
13
13
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
14
14
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
15
15
  require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
16
16
  require('@sankhyalabs/core/dist/utils/SortingUtils');
17
17
  require('./ResourceIDUtils-5ff86aa7.js');
18
- require('./RecordIDUtils-3735135c.js');
19
18
  require('@sankhyalabs/core/dist/dataunit/metadata/DataType');
19
+ require('./GetSelectedRecordsIDsInfo-bd50caf1.js');
20
20
 
21
21
 
22
22
 
@@ -4,22 +4,22 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f9e81701.js');
6
6
  const core = require('@sankhyalabs/core');
7
- const SnkFormConfigManager = require('./SnkFormConfigManager-beebf47a.js');
7
+ const SnkFormConfigManager = require('./SnkFormConfigManager-f1c92f79.js');
8
8
  const form = require('@sankhyalabs/ezui/dist/collection/utils/form');
9
- require('./DataFetcher-77729a93.js');
10
- require('./pesquisa-fetcher-a1d0353f.js');
9
+ require('./DataFetcher-cadeef8e.js');
10
+ require('./pesquisa-fetcher-ca89181c.js');
11
11
  const index$1 = require('./index-1dfc7a6e.js');
12
12
  require('./ISave-e91b70a7.js');
13
13
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
14
14
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
15
- require('./dataunit-fetcher-d4873076.js');
15
+ require('./dataunit-fetcher-4b12f70c.js');
16
16
  require('./filter-item-type.enum-a7ffdaa6.js');
17
- require('./form-config-fetcher-feb08214.js');
17
+ require('./form-config-fetcher-ed497282.js');
18
18
  const taskbarElements = require('./taskbar-elements-9ad1f9c0.js');
19
19
  const constants = require('./constants-35ddd366.js');
20
- const snkGuidesViewer = require('./snk-guides-viewer-aafc3073.js');
20
+ const snkGuidesViewer = require('./snk-guides-viewer-866447ab.js');
21
21
  const SnkMessageBuilder = require('./SnkMessageBuilder-cceebbae.js');
22
- require('./ConfigStorage-e49214c6.js');
22
+ require('./ConfigStorage-ecc0ed20.js');
23
23
  require('./PrintUtils-bcaeb82f.js');
24
24
  require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
25
25
  require('@sankhyalabs/core/dist/utils/SortingUtils');
@@ -291,7 +291,7 @@ const SnkDetailView = class {
291
291
  }
292
292
  componentWillLoad() {
293
293
  this._configName = `dynaform.${this.entityName}`;
294
- this.formConfigManager = new SnkFormConfigManager.SnkFormConfigManager(this._configName, this.resourceID, () => this.loadMetadata());
294
+ this.formConfigManager = new SnkFormConfigManager.SnkFormConfigManager(this._configName, this.resourceID, () => this.loadMetadata(), this.dataUnit);
295
295
  this.formConfigManager.loadConfig();
296
296
  if (this.messagesBuilder == undefined) {
297
297
  this.messagesBuilder = new SnkMessageBuilder.SnkMessageBuilder(this.entityName);
@@ -5,15 +5,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index$1 = require('./index-f9e81701.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
  const EzScrollDirection = require('@sankhyalabs/ezui/dist/collection/components/ez-scroller/EzScrollDirection');
8
- const ConfigStorage = require('./ConfigStorage-e49214c6.js');
8
+ const ConfigStorage = require('./ConfigStorage-ecc0ed20.js');
9
9
  const DataType = require('@sankhyalabs/core/dist/dataunit/metadata/DataType');
10
10
  const filterItemType_enum = require('./filter-item-type.enum-a7ffdaa6.js');
11
11
  const index = require('./index-c5771aba.js');
12
12
  const filterNumberVariation = require('./filterNumberVariation-d65332da.js');
13
13
  const utils = require('@sankhyalabs/ezui/dist/collection/utils');
14
14
  const PersonalizedFilterUtils = require('./PersonalizedFilterUtils-0184ffbb.js');
15
- require('./form-config-fetcher-feb08214.js');
16
- require('./DataFetcher-77729a93.js');
15
+ require('./form-config-fetcher-ed497282.js');
16
+ require('./DataFetcher-cadeef8e.js');
17
17
  require('./PrintUtils-bcaeb82f.js');
18
18
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
19
19
 
@@ -6,10 +6,10 @@ const index = require('./index-f9e81701.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
  const filterItemType_enum = require('./filter-item-type.enum-a7ffdaa6.js');
8
8
  const presentationMode = require('./presentationMode-52ec3bdd.js');
9
- const ConfigStorage = require('./ConfigStorage-e49214c6.js');
9
+ const ConfigStorage = require('./ConfigStorage-ecc0ed20.js');
10
10
  const filterType_enum = require('./filter-type.enum-b14ce507.js');
11
- require('./form-config-fetcher-feb08214.js');
12
- require('./DataFetcher-77729a93.js');
11
+ require('./form-config-fetcher-ed497282.js');
12
+ require('./DataFetcher-cadeef8e.js');
13
13
  require('./PrintUtils-bcaeb82f.js');
14
14
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
15
15