@sankhyalabs/sankhyablocks 5.1.4 → 5.2.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 (136) hide show
  1. package/dist/cjs/{SnkMessageBuilder-47185d5d.js → SnkMessageBuilder-c6bd8bc7.js} +9 -2
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  4. package/dist/cjs/snk-application.cjs.entry.js +1 -1
  5. package/dist/cjs/snk-config-options.cjs.entry.js +2 -1
  6. package/dist/cjs/snk-configurator.cjs.entry.js +3 -2
  7. package/dist/cjs/snk-crud.cjs.entry.js +10 -3
  8. package/dist/cjs/snk-data-exporter.cjs.entry.js +10 -1
  9. package/dist/cjs/snk-data-unit-3b6ab2ad.js +436 -0
  10. package/dist/cjs/snk-data-unit.cjs.entry.js +6 -411
  11. package/dist/cjs/snk-detail-view.cjs.entry.js +7 -2
  12. package/dist/cjs/snk-field-config.cjs.entry.js +2 -4
  13. package/dist/cjs/snk-filter-bar.cjs.entry.js +3 -1
  14. package/dist/cjs/snk-filter-param-config.cjs.entry.js +2 -1
  15. package/dist/cjs/snk-form-config.cjs.entry.js +6 -5
  16. package/dist/cjs/snk-form.cjs.entry.js +2 -1
  17. package/dist/cjs/snk-grid.cjs.entry.js +3 -2
  18. package/dist/cjs/{snk-guides-viewer-6225bb73.js → snk-guides-viewer-8a6743d6.js} +8 -5
  19. package/dist/cjs/snk-guides-viewer.cjs.entry.js +1 -1
  20. package/dist/cjs/snk-simple-crud.cjs.entry.js +2 -1
  21. package/dist/cjs/snk-tab-config.cjs.entry.js +2 -1
  22. package/dist/cjs/snk-taskbar.cjs.entry.js +3 -1
  23. package/dist/collection/components/snk-application/snk-application.js +2 -2
  24. package/dist/collection/components/snk-configurator/snk-configurator.js +23 -2
  25. package/dist/collection/components/snk-crud/snk-crud.js +30 -3
  26. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view.js +27 -2
  27. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +29 -6
  28. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +29 -1
  29. package/dist/collection/components/snk-data-unit/snk-data-unit.js +64 -3
  30. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +23 -1
  31. package/dist/collection/components/snk-form/snk-form.js +22 -1
  32. package/dist/collection/components/snk-form/subcomponents/snk-config-options/snk-config-options.js +22 -1
  33. package/dist/collection/components/snk-form/subcomponents/snk-field-config/snk-field-config.js +23 -5
  34. package/dist/collection/components/snk-form/subcomponents/snk-form-config/snk-form-config.js +26 -5
  35. package/dist/collection/components/snk-form/subcomponents/snk-tab-config/snk-tab-config.js +22 -1
  36. package/dist/collection/components/snk-grid/snk-grid.js +23 -2
  37. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/snk-filter-param-config.js +26 -1
  38. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +22 -1
  39. package/dist/collection/components/snk-taskbar/snk-taskbar.js +23 -1
  40. package/dist/collection/lib/message/SnkMessageBuilder.js +9 -2
  41. package/dist/components/SnkMessageBuilder.js +9 -2
  42. package/dist/components/snk-application2.js +1 -1
  43. package/dist/components/snk-config-options2.js +3 -1
  44. package/dist/components/snk-configurator2.js +4 -2
  45. package/dist/components/snk-crud.js +11 -3
  46. package/dist/components/snk-data-exporter2.js +10 -1
  47. package/dist/components/snk-data-unit2.js +25 -4
  48. package/dist/components/snk-detail-view2.js +17 -7
  49. package/dist/components/snk-field-config2.js +5 -6
  50. package/dist/components/snk-filter-bar2.js +4 -1
  51. package/dist/components/snk-filter-param-config.js +3 -1
  52. package/dist/components/snk-form-config2.js +7 -5
  53. package/dist/components/snk-form.js +3 -1
  54. package/dist/components/snk-grid2.js +4 -2
  55. package/dist/components/snk-simple-crud.js +3 -1
  56. package/dist/components/snk-tab-config2.js +3 -1
  57. package/dist/components/snk-taskbar2.js +4 -1
  58. package/dist/esm/{SnkMessageBuilder-ec0850af.js → SnkMessageBuilder-68bbf0ae.js} +9 -2
  59. package/dist/esm/loader.js +1 -1
  60. package/dist/esm/sankhyablocks.js +1 -1
  61. package/dist/esm/snk-application.entry.js +1 -1
  62. package/dist/esm/snk-config-options.entry.js +2 -1
  63. package/dist/esm/snk-configurator.entry.js +3 -2
  64. package/dist/esm/snk-crud.entry.js +10 -3
  65. package/dist/esm/snk-data-exporter.entry.js +10 -1
  66. package/dist/esm/snk-data-unit-a8093f95.js +434 -0
  67. package/dist/esm/snk-data-unit.entry.js +5 -414
  68. package/dist/esm/snk-detail-view.entry.js +7 -2
  69. package/dist/esm/snk-field-config.entry.js +3 -5
  70. package/dist/esm/snk-filter-bar.entry.js +3 -1
  71. package/dist/esm/snk-filter-param-config.entry.js +2 -1
  72. package/dist/esm/snk-form-config.entry.js +6 -5
  73. package/dist/esm/snk-form.entry.js +2 -1
  74. package/dist/esm/snk-grid.entry.js +3 -2
  75. package/dist/esm/{snk-guides-viewer-73b9eb29.js → snk-guides-viewer-d8654e2a.js} +9 -6
  76. package/dist/esm/snk-guides-viewer.entry.js +1 -1
  77. package/dist/esm/snk-simple-crud.entry.js +2 -1
  78. package/dist/esm/snk-tab-config.entry.js +2 -1
  79. package/dist/esm/snk-taskbar.entry.js +3 -1
  80. package/dist/sankhyablocks/p-046b2563.entry.js +1 -0
  81. package/dist/sankhyablocks/p-0a1e7f75.entry.js +1 -0
  82. package/dist/sankhyablocks/{p-28c800b9.js → p-0d70c017.js} +1 -1
  83. package/dist/sankhyablocks/p-1a16426f.js +1 -0
  84. package/dist/sankhyablocks/{p-9ce550b7.entry.js → p-21a6c546.entry.js} +1 -1
  85. package/dist/sankhyablocks/p-280b1321.entry.js +1 -0
  86. package/dist/sankhyablocks/p-32599159.entry.js +1 -0
  87. package/dist/sankhyablocks/p-5b84b0c5.entry.js +1 -0
  88. package/dist/sankhyablocks/p-601e6920.entry.js +1 -0
  89. package/dist/sankhyablocks/p-69af76d4.entry.js +1 -0
  90. package/dist/sankhyablocks/p-76f04efe.entry.js +1 -0
  91. package/dist/sankhyablocks/p-93d8fe00.entry.js +1 -0
  92. package/dist/sankhyablocks/p-a12d74dc.entry.js +1 -0
  93. package/dist/sankhyablocks/p-a7468f4b.js +1 -0
  94. package/dist/sankhyablocks/p-a80c766c.entry.js +1 -0
  95. package/dist/sankhyablocks/p-b686e91a.entry.js +1 -0
  96. package/dist/sankhyablocks/p-b80cf644.entry.js +1 -0
  97. package/dist/sankhyablocks/p-d65809d5.entry.js +1 -0
  98. package/dist/sankhyablocks/{p-b9fe5ed3.entry.js → p-e999631f.entry.js} +2 -2
  99. package/dist/sankhyablocks/p-f29caa0a.entry.js +1 -0
  100. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  101. package/dist/types/components/snk-application/snk-application.d.ts +1 -4
  102. package/dist/types/components/snk-configurator/snk-configurator.d.ts +5 -0
  103. package/dist/types/components/snk-crud/snk-crud.d.ts +6 -0
  104. package/dist/types/components/snk-crud/subcomponents/snk-detail-view.d.ts +2 -3
  105. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +5 -1
  106. package/dist/types/components/snk-data-exporter/snk-data-exporter.d.ts +5 -0
  107. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +12 -1
  108. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +5 -0
  109. package/dist/types/components/snk-form/snk-form.d.ts +5 -0
  110. package/dist/types/components/snk-form/subcomponents/snk-config-options/snk-config-options.d.ts +5 -0
  111. package/dist/types/components/snk-form/subcomponents/snk-field-config/snk-field-config.d.ts +5 -2
  112. package/dist/types/components/snk-form/subcomponents/snk-form-config/snk-form-config.d.ts +5 -0
  113. package/dist/types/components/snk-form/subcomponents/snk-tab-config/snk-tab-config.d.ts +5 -0
  114. package/dist/types/components/snk-grid/snk-grid.d.ts +5 -0
  115. package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-param-config/snk-filter-param-config.d.ts +5 -0
  116. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +5 -0
  117. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +5 -0
  118. package/dist/types/components.d.ts +126 -12
  119. package/dist/types/lib/message/SnkMessageBuilder.d.ts +4 -2
  120. package/package.json +1 -1
  121. package/dist/sankhyablocks/p-0154ae58.entry.js +0 -1
  122. package/dist/sankhyablocks/p-10be1b2a.entry.js +0 -1
  123. package/dist/sankhyablocks/p-193b0fa5.entry.js +0 -1
  124. package/dist/sankhyablocks/p-31d4e5d4.entry.js +0 -1
  125. package/dist/sankhyablocks/p-68507ace.entry.js +0 -1
  126. package/dist/sankhyablocks/p-72277163.entry.js +0 -1
  127. package/dist/sankhyablocks/p-7d4bb27a.entry.js +0 -1
  128. package/dist/sankhyablocks/p-878a984f.entry.js +0 -1
  129. package/dist/sankhyablocks/p-94fef424.entry.js +0 -1
  130. package/dist/sankhyablocks/p-983fef8f.js +0 -1
  131. package/dist/sankhyablocks/p-af8cf505.entry.js +0 -1
  132. package/dist/sankhyablocks/p-c88c4f80.entry.js +0 -1
  133. package/dist/sankhyablocks/p-dd90bd52.entry.js +0 -1
  134. package/dist/sankhyablocks/p-eb7b2496.entry.js +0 -1
  135. package/dist/sankhyablocks/p-ecd3cad5.entry.js +0 -1
  136. package/dist/sankhyablocks/p-f9ca6d74.entry.js +0 -1
@@ -1,414 +1,5 @@
1
- import { r as registerInstance, c as createEvent, h, g as getElement, H as Host } from './index-cfd4bb13.js';
2
- import { Action, ObjectUtils, JSUtils, ApplicationContext, DataType } from '@sankhyalabs/core';
3
- import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
4
- import { O as OperationMap } from './SnkMessageBuilder-ec0850af.js';
5
-
6
- const snkDataUnitCss = ".sc-snk-data-unit-h{display:flex;flex-direction:column;height:100%;width:100%}";
7
-
8
- const SnkDataUnit = class {
9
- constructor(hostRef) {
10
- registerInstance(this, hostRef);
11
- this.dataStateChange = createEvent(this, "dataStateChange", 3);
12
- this.dataUnitReady = createEvent(this, "dataUnitReady", 3);
13
- this.insertionMode = createEvent(this, "insertionMode", 3);
14
- this.cancelEdition = createEvent(this, "cancelEdition", 3);
15
- this._onDataUnitResolve = [];
16
- this._dataUnitObserver = (action) => {
17
- var _a, _b;
18
- const duState = this.buildDataState();
19
- this.dataState = duState;
20
- if (action.type === Action.DATA_SAVED) {
21
- const msg = this.getMessage("snkDataUnit.saveInfo", action.payload.records[0]);
22
- if (msg != undefined) {
23
- this.showSuccessMessage(msg);
24
- }
25
- }
26
- if (action.type === Action.RECORDS_ADDED || action.type === Action.RECORDS_COPIED) {
27
- this.insertionMode.emit();
28
- }
29
- if (action.type === Action.EDITION_CANCELED) {
30
- this.cancelEdition.emit();
31
- }
32
- if (action.type === Action.RECORDS_REMOVED) {
33
- const cachedRecords = action.payload.cachedRecords;
34
- let removeFinishMsg;
35
- if ((cachedRecords === null || cachedRecords === void 0 ? void 0 : cachedRecords.length) > 1) {
36
- removeFinishMsg = this.getMessage("snkDataUnit.removeAllInfo", { size: cachedRecords.length });
37
- }
38
- else {
39
- removeFinishMsg = this.getMessage("snkDataUnit.removeInfo", action.payload.cachedRecords[0]);
40
- }
41
- if (removeFinishMsg != undefined) {
42
- this.showSuccessMessage(removeFinishMsg);
43
- }
44
- const recordsCount = (_b = (_a = this.dataUnit.records) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0;
45
- const paginationInfo = this.dataUnit.getPaginationInfo();
46
- if (paginationInfo) {
47
- if (recordsCount > 0 || paginationInfo.hasMore) {
48
- this.dataUnit.gotoPage(paginationInfo.currentPage);
49
- }
50
- else {
51
- this.dataUnit.gotoPage(0);
52
- }
53
- }
54
- }
55
- this._application.messagesBuilder.currentOperation = this.getMessageOperation();
56
- };
57
- this.dataState = undefined;
58
- this.dataUnitName = undefined;
59
- this.entityName = undefined;
60
- this.pageSize = 150;
61
- this.dataUnit = undefined;
62
- this.beforeSave = undefined;
63
- this.afterSave = undefined;
64
- }
65
- observePageSize() {
66
- if (this.dataUnit) {
67
- this.dataUnit.pageSize = this.pageSize;
68
- }
69
- }
70
- observeDataUnitName(newValue, oldValue) {
71
- if (oldValue != newValue) {
72
- if (this.dataUnit) {
73
- this._application.updateDataunitCache(oldValue, this.dataUnitName, this.dataUnit);
74
- }
75
- else {
76
- this.loadDataUnit();
77
- }
78
- }
79
- }
80
- observeEntityName(newValue, oldValue) {
81
- if (oldValue != newValue) {
82
- this.dataUnit = undefined;
83
- this.entityName = newValue;
84
- this.loadDataUnit();
85
- }
86
- }
87
- observeDataState(newValue, oldValue) {
88
- if (ObjectUtils.objectToString(oldValue) != ObjectUtils.objectToString(newValue)) {
89
- this.dataStateChange.emit(newValue);
90
- }
91
- }
92
- observeDataUnit() {
93
- this.handlerLinkFields();
94
- this.dataUnitReady.emit(this.dataUnit);
95
- }
96
- /**
97
- * Obtém o dataUnit.
98
- */
99
- async getDataUnit() {
100
- return new Promise((resolve) => {
101
- if (this.dataUnit) {
102
- resolve(this.dataUnit);
103
- }
104
- else {
105
- this._onDataUnitResolve.push(resolve);
106
- }
107
- });
108
- }
109
- /**
110
- * Método que retorna a lista de IDs dos registros selecionados.
111
- * @returns Retorna a lista de IDs dos registros selecionados.
112
- */
113
- async getSelectedRecordsIDsInfo() {
114
- var _a;
115
- const selectionInfo = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getSelectionInfo();
116
- if (selectionInfo === null || selectionInfo === void 0 ? void 0 : selectionInfo.isAllRecords()) {
117
- return [];
118
- }
119
- const selectedRecordsIDsInfo = [];
120
- const selectedRecords = selectionInfo === null || selectionInfo === void 0 ? void 0 : selectionInfo.records;
121
- if ((selectedRecords === null || selectedRecords === void 0 ? void 0 : selectedRecords.length) > 0) {
122
- selectedRecords.forEach(({ __record__id__ }) => {
123
- if (!this.dataUnit.isNewRecord(__record__id__)) {
124
- /*
125
- Esse if foi necessário para tratar corretamente o ID
126
- do record quando está sendo utilizado no modo standAlone
127
- isso não faz a exportação da grid funcionar no modo standAlone
128
- mas deixa de causar erro nas oprações de CRUD.
129
- */
130
- if (!JSUtils.isBase64(__record__id__)) {
131
- selectedRecordsIDsInfo.push({
132
- name: "__record__id__",
133
- type: DataType.TEXT,
134
- value: __record__id__
135
- });
136
- return;
137
- }
138
- const revertBase64ToObject = JSON.parse(window.atob(__record__id__));
139
- Object.entries(revertBase64ToObject).forEach(([name, value]) => {
140
- var _a;
141
- const metadataField = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getField(name);
142
- if (metadataField == undefined) {
143
- return;
144
- }
145
- selectedRecordsIDsInfo.push(Object.assign({ name, type: metadataField.dataType }, value));
146
- });
147
- }
148
- });
149
- }
150
- return selectedRecordsIDsInfo;
151
- }
152
- async interceptAction(action) {
153
- return new Promise(resolve => {
154
- var _a, _b;
155
- switch (action.type) {
156
- case Action.RECORDS_ADDED:
157
- if (this.isAllowed("INSERT")) {
158
- resolve(action);
159
- }
160
- else {
161
- ApplicationUtils.info(this.getMessage("snkDataUnit.forbiddenInsert"));
162
- }
163
- break;
164
- case Action.RECORDS_COPIED:
165
- if (this.isAllowed("CLONE")) {
166
- resolve(action);
167
- }
168
- else {
169
- ApplicationUtils.info(this.getMessage("snkDataUnit.forbiddenClone"));
170
- }
171
- break;
172
- case Action.DATA_CHANGED:
173
- case Action.CHANGING_DATA:
174
- if (this.isAllowed("UPDATE")) {
175
- resolve(action);
176
- }
177
- else {
178
- this.dataUnit.cancelEdition();
179
- ApplicationUtils.alert(this.getMessage("snkDataUnit.forbidden"), this.getMessage("snkDataUnit.forbiddenUpdate"));
180
- }
181
- break;
182
- case Action.SAVING_DATA:
183
- if (this.beforeSave) {
184
- const continueAction = this.beforeSave(this.dataUnit);
185
- if (continueAction instanceof Promise) {
186
- continueAction.then(result => resolve(result ? action : undefined));
187
- }
188
- else {
189
- resolve(continueAction ? action : undefined);
190
- }
191
- }
192
- else {
193
- resolve(action);
194
- }
195
- break;
196
- case Action.DATA_SAVED:
197
- if (this.afterSave) {
198
- this.afterSave(this.dataUnit);
199
- }
200
- else {
201
- resolve(action);
202
- }
203
- break;
204
- case Action.EDITION_CANCELED:
205
- if (this.dataState.hasDirtyRecords) {
206
- const cancelConfirmation = this.getMessage("snkDataUnit.cancelConfirmation");
207
- if ((_a = action.payload) === null || _a === void 0 ? void 0 : _a.fromParent) {
208
- resolve(action);
209
- return;
210
- }
211
- if (cancelConfirmation == undefined) {
212
- this.showSuccessMessage(this.getMessage("snkDataUnit.cancelInfo"));
213
- resolve(action);
214
- }
215
- else {
216
- const cancelConfirmationTitle = this.getMessage("snkDataUnit.cancelConfirmationTitle");
217
- ApplicationUtils.confirm(cancelConfirmationTitle, cancelConfirmation)
218
- .then((result) => {
219
- result && this.showSuccessMessage(this.getMessage("snkDataUnit.cancelInfo"));
220
- resolve(result ? action : undefined);
221
- });
222
- }
223
- }
224
- else {
225
- resolve(action);
226
- }
227
- break;
228
- case Action.REMOVING_RECORDS:
229
- if (this.isAllowed("REMOVE")) {
230
- let multipleSelection = false;
231
- let removeConfirmation = this.getMessage("snkDataUnit.removeConfirmation");
232
- const selection = (_b = this.dataUnit) === null || _b === void 0 ? void 0 : _b.getSelectionInfo();
233
- if ((selection === null || selection === void 0 ? void 0 : selection.length) > 1) {
234
- removeConfirmation = this.getMessage("snkDataUnit.removeAllConfirmation", { size: selection.length });
235
- multipleSelection = true;
236
- }
237
- if (removeConfirmation == undefined) {
238
- resolve(action);
239
- }
240
- else {
241
- const options = {
242
- canClose: false,
243
- labelCancel: this.getMessage(`snkDataUnit.confirm.${multipleSelection ? "no" : "cancel"}`),
244
- labelConfirm: this.getMessage(`snkDataUnit.confirm.${multipleSelection ? "yes" : "delete"}`),
245
- btnConfirmDanger: false
246
- };
247
- const removeConfirmationTitle = this.getMessage("snkDataUnit.removeConfirmationTitle");
248
- ApplicationUtils.confirm(removeConfirmationTitle, removeConfirmation, null, DialogType.WARN, options)
249
- .then((result) => resolve(result ? action : undefined));
250
- }
251
- }
252
- else {
253
- ApplicationUtils.info(this.getMessage("snkDataUnit.forbiddenRemove"));
254
- }
255
- break;
256
- default:
257
- resolve(action);
258
- }
259
- });
260
- }
261
- showSuccessMessage(message) {
262
- ApplicationUtils.info(message, { iconName: "check" });
263
- }
264
- isAllowed(flag) {
265
- return this._permissions ? this._permissions.isSup || this._permissions[flag] : false;
266
- }
267
- buildDataState() {
268
- const selectionInfo = this.dataUnit.getSelectionInfo();
269
- return new DataStateImpl({
270
- insertionMode: this.dataUnit.hasNewRecord(),
271
- hasNext: this.dataUnit.hasNext(),
272
- hasPrevious: this.dataUnit.hasPrevious(),
273
- copyMode: this.dataUnit.hasCopiedRecord(),
274
- isDirty: this.dataUnit.isDirty(),
275
- hasDirtyRecords: this.dataUnit.hasDirtyRecords(),
276
- selectedRecords: undefined,
277
- selectionInfo,
278
- selectedRecord: this.dataUnit.getSelectedRecord()
279
- });
280
- }
281
- /**
282
- * Conforme mecanismo de mensagens, é possível customizar as mensagens dos blocos de construção
283
- * através de um pequeno modulo na estrutura da aplicação:
284
- * - Criar um arquivo no seguinte caminho: /messages/appmessages.msg.js.
285
- * Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-data-unit.msg.ts"
286
- */
287
- getMessage(key, params = undefined) {
288
- if (!params) {
289
- params = this.getMessageParams();
290
- }
291
- return this._application.messagesBuilder.getMessage(key, params);
292
- }
293
- getMessageParams() {
294
- //FIXME: Devido ao recurso de multiseleção do dataunit, precisaremos criar um mecanismo para
295
- //oferecer todos os registros selecionados para a mensagem, pois mensagens podem ficar incorretas.
296
- return this.dataState.selectedRecord;
297
- }
298
- getMessageOperation() {
299
- if (this.dataState.copyMode) {
300
- return OperationMap.CLONE;
301
- }
302
- if (this.dataState.insertionMode) {
303
- return OperationMap.INSERT;
304
- }
305
- if (this.dataState.isDirty) {
306
- return OperationMap.UPDATE;
307
- }
308
- return OperationMap.CLEAN;
309
- }
310
- async getDataUnitParentOrChild() {
311
- var _a;
312
- const cacheName = this.dataUnitName ? this.dataUnitName : this.entityName;
313
- if (this._parentSnkDataUnit) {
314
- this._parentDataUnit = await ((_a = this._parentSnkDataUnit) === null || _a === void 0 ? void 0 : _a.getDataUnit());
315
- return await this._application.getDataUnit(this.entityName, cacheName, this._parentDataUnit);
316
- }
317
- else {
318
- return await this._application.getDataUnit(this.entityName, cacheName);
319
- }
320
- }
321
- async loadDataUnit() {
322
- if (this.dataUnit == null && this._application && this.entityName) {
323
- this.dataUnit = await this.getDataUnitParentOrChild();
324
- }
325
- if (this.dataUnit) {
326
- this.dataUnit.pageSize = this.pageSize;
327
- this.dataUnit.unsubscribe(this._dataUnitObserver);
328
- this.dataUnit.addInterceptor(this);
329
- this.dataUnit.subscribe(this._dataUnitObserver);
330
- this.dataState = this.buildDataState();
331
- let resolver;
332
- while (resolver = this._onDataUnitResolve.pop()) {
333
- resolver(this.dataUnit);
334
- }
335
- }
336
- }
337
- getParentSnkDataUnit() {
338
- let currentElement = this.element;
339
- while (currentElement.parentNode) {
340
- if (currentElement.parentNode.nodeName === 'SNK-DATA-UNIT') {
341
- return currentElement.parentNode;
342
- }
343
- currentElement = currentElement.parentNode;
344
- }
345
- return;
346
- }
347
- handlerLinkFields() {
348
- var _a, _b;
349
- const metadata = Object.assign({}, this.dataUnit.metadata);
350
- if (!this._parentDataUnit)
351
- return;
352
- const child = this._parentDataUnit.getChildInfo(this.entityName);
353
- if (!child)
354
- return;
355
- const fieldsLink = (_a = child === null || child === void 0 ? void 0 : child.links) === null || _a === void 0 ? void 0 : _a.map(link => link.target);
356
- (_b = metadata === null || metadata === void 0 ? void 0 : metadata.fields) === null || _b === void 0 ? void 0 : _b.forEach(field => {
357
- if (fieldsLink === null || fieldsLink === void 0 ? void 0 : fieldsLink.includes(field.name)) {
358
- field.visible = false;
359
- }
360
- });
361
- this.dataUnit.metadata = metadata;
362
- }
363
- //---------------------------------------------
364
- // Lifecycle web component
365
- //---------------------------------------------
366
- componentWillLoad() {
367
- this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
368
- this._application.getAllAccess().then(access => this._permissions = access);
369
- this._parentSnkDataUnit = this.getParentSnkDataUnit();
370
- }
371
- disconnectedCallback() {
372
- if (this.dataUnit) {
373
- this.dataUnit.unsubscribe(this._dataUnitObserver);
374
- this.dataUnit.removeInterceptor(this);
375
- }
376
- }
377
- componentDidLoad() {
378
- this.loadDataUnit();
379
- }
380
- render() {
381
- return (h(Host, null));
382
- }
383
- get element() { return getElement(this); }
384
- static get watchers() { return {
385
- "pageSize": ["observePageSize"],
386
- "dataUnitName": ["observeDataUnitName"],
387
- "entityName": ["observeEntityName"],
388
- "dataState": ["observeDataState"],
389
- "dataUnit": ["observeDataUnit"]
390
- }; }
391
- };
392
- class DataStateImpl {
393
- constructor(datastate) {
394
- this.copyMode = datastate.copyMode;
395
- this.insertionMode = datastate.insertionMode;
396
- this.isDirty = datastate.isDirty;
397
- this.hasDirtyRecords = datastate.hasDirtyRecords;
398
- this.hasNext = datastate.hasNext;
399
- this.hasPrevious = datastate.hasPrevious;
400
- this.selectionInfo = datastate.selectionInfo;
401
- this.selectedRecord = datastate.selectedRecord;
402
- }
403
- get selectedRecords() {
404
- var _a;
405
- console.warn("SnkDataUnit: O método `selectedRecords` foi descontinuado. Use o método `selectionInfo`.");
406
- if ((_a = this.selectionInfo) === null || _a === void 0 ? void 0 : _a.isAllRecords()) {
407
- throw new Error("Erro interno: Impossível obter os registros selecionados. A seleção atual é virtual. Use o atributo `selectionInfo`.");
408
- }
409
- return this.selectionInfo.records;
410
- }
411
- }
412
- SnkDataUnit.style = snkDataUnitCss;
413
-
414
- export { SnkDataUnit as snk_data_unit };
1
+ export { S as snk_data_unit } from './snk-data-unit-a8093f95.js';
2
+ import './index-cfd4bb13.js';
3
+ import '@sankhyalabs/core';
4
+ import '@sankhyalabs/ezui/dist/collection/utils';
5
+ import './SnkMessageBuilder-68bbf0ae.js';
@@ -7,7 +7,8 @@ import '@sankhyalabs/core';
7
7
  import { P as PresentationMode } from './index-6519a79e.js';
8
8
  import { T as TaskbarElement } from './taskbar-elements-10d80c79.js';
9
9
  import { c as VIEW_MODE } from './constants-15617e7d.js';
10
- import { S as SnkGuidesViewer } from './snk-guides-viewer-73b9eb29.js';
10
+ import { S as SnkGuidesViewer } from './snk-guides-viewer-d8654e2a.js';
11
+ import { S as SnkMessageBuilder } from './SnkMessageBuilder-68bbf0ae.js';
11
12
  import './ConfigStorage-479e3228.js';
12
13
  import './form-config-fetcher-74e3e14b.js';
13
14
  import './_commonjsHelpers-9943807e.js';
@@ -73,6 +74,7 @@ const SnkDetailView = class {
73
74
  this.dataUnit = undefined;
74
75
  this.selectedForm = undefined;
75
76
  this.dataState = undefined;
77
+ this.messagesBuilder = undefined;
76
78
  this.branchGuide = undefined;
77
79
  }
78
80
  observerDataState(newValue, oldValue) {
@@ -213,11 +215,14 @@ const SnkDetailView = class {
213
215
  this._configName = `dynaform.${this.entityName}`;
214
216
  this.formConfigManager = new SnkFormConfigManager(this._configName, () => this.loadMetadata());
215
217
  this.formConfigManager.loadConfig();
218
+ if (this.messagesBuilder == undefined) {
219
+ this.messagesBuilder = new SnkMessageBuilder(this.entityName);
220
+ }
216
221
  }
217
222
  render() {
218
223
  this.updateLabel();
219
224
  //const cardConfig: IFormCardConfig = this._cardsState?.get(this.selectedForm);
220
- return (h(Host, null, h("snk-data-unit", { dataUnitName: `${this.dataUnitName}`, onDataUnitReady: evt => this.dataUnitReadyHandler(evt), entityName: this.entityName, onDataStateChange: evt => this.dataState = evt.detail }, h("ez-view-stack", { ref: ref => this.updateViewStack(ref) }, h("stack-item", null, h("div", { class: "ez-box ez-box--shadow grid-container" }, h("div", { class: "ez-flex ez-size-width--full ez-padding--large detail-header" }, h("div", { class: "ez-flex ez-text ez-text--bold ez-flex--justify-start ez-flex--align-items-center" }, this._levelPath ? h("span", { class: "level-path" }, this._levelPath + " /") : undefined, this.label)), h("snk-grid", { class: "ez-size-width--full ez-size-height--full", ref: (ref) => this._snkGrid = ref, configName: this._configName, onGridDoubleClick: () => this.emitSwitchEvent(VIEW_MODE.FORM), onActionClick: evt => this.executeActionHandler(evt), presentationMode: PresentationMode.SECONDARY, isDetail: true }))), h("stack-item", null, h("snk-form-view", { ref: (ref) => this._snkFormView = ref, canExpand: false, canFix: false, name: this.selectedForm, formMetadata: this._formMetadata, dataUnit: this.dataUnit, fields: this.getFormFields(), label: this.label, levelPath: this._levelPath }, h("snk-taskbar", { key: "guideViewerTaskbar", class: "form-taskbar", "data-element-id": "guideViewer", configName: this._configName, disabledButtons: this._disabledButtons, buttons: "INSERT,PREVIOUS,NEXT,DIVIDER,CLONE,REMOVE,MORE_OPTIONS,DIVIDER,GRID_MODE,CONFIGURATOR", primaryButton: "INSERT", presentationMode: PresentationMode.SECONDARY, onActionClick: evt => this.executeActionHandler(evt), dataUnit: this.dataUnit })))))));
225
+ return (h(Host, null, h("snk-data-unit", { dataUnitName: `${this.dataUnitName}`, onDataUnitReady: evt => this.dataUnitReadyHandler(evt), entityName: this.entityName, onDataStateChange: evt => this.dataState = evt.detail, messagesBuilder: this.messagesBuilder }, h("ez-view-stack", { ref: ref => this.updateViewStack(ref) }, h("stack-item", null, h("div", { class: "ez-box ez-box--shadow grid-container" }, h("div", { class: "ez-flex ez-size-width--full ez-padding--large detail-header" }, h("div", { class: "ez-flex ez-text ez-text--bold ez-flex--justify-start ez-flex--align-items-center" }, this._levelPath ? h("span", { class: "level-path" }, this._levelPath + " /") : undefined, this.label)), h("snk-grid", { class: "ez-size-width--full ez-size-height--full", ref: (ref) => this._snkGrid = ref, configName: this._configName, messagesBuilder: this.messagesBuilder, onGridDoubleClick: () => this.emitSwitchEvent(VIEW_MODE.FORM), onActionClick: evt => this.executeActionHandler(evt), presentationMode: PresentationMode.SECONDARY, isDetail: true }))), h("stack-item", null, h("snk-form-view", { ref: (ref) => this._snkFormView = ref, canExpand: false, canFix: false, name: this.selectedForm, formMetadata: this._formMetadata, dataUnit: this.dataUnit, fields: this.getFormFields(), label: this.label, levelPath: this._levelPath }, h("snk-taskbar", { key: "guideViewerTaskbar", class: "form-taskbar", "data-element-id": "guideViewer", configName: this._configName, messagesBuilder: this.messagesBuilder, disabledButtons: this._disabledButtons, buttons: "INSERT,PREVIOUS,NEXT,DIVIDER,CLONE,REMOVE,MORE_OPTIONS,DIVIDER,GRID_MODE,CONFIGURATOR", primaryButton: "INSERT", presentationMode: PresentationMode.SECONDARY, onActionClick: evt => this.executeActionHandler(evt), dataUnit: this.dataUnit })))))));
221
226
  }
222
227
  static get watchers() { return {
223
228
  "dataState": ["observerDataState"]
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-cfd4bb13.js';
2
- import { ApplicationContext, ElementIDUtils } from '@sankhyalabs/core';
2
+ import { ElementIDUtils } from '@sankhyalabs/core';
3
3
  import { A as ACTION_CONFIG } from './constants-15617e7d.js';
4
4
 
5
5
  const snkFieldConfigCss = ".sc-snk-field-config-h{--snk-field-config--height:42px;--snk-field-config--width:100%;--snk-field-config__icon--width:48px;--snk-field-config-slim--height:32px;--snk-field-config--border-radius:var(--border--radius-medium, 12px);--snk-field-config--font-size:var(--text--medium, 14px);--snk-field-config--font-family:var(--font-pattern, Arial);--snk-field-config--font-weight:var(--text-weight--medium, 400);--snk-field-config--color:var(--title--primary, #000);--snk-field-config--padding-left:var(--space--medium, 6px);--snk-field-config__input--background-color:var(--background--medium, #e0e0e0);--snk-field-config__input--border:var(--border--medium, 2px solid);--snk-field-config__input--border-color:var(--background--xlight, #fff);--snk-field-config__required--color:var(--color--error, #FF0000);--snk-field-config__label--gap:var(--space--extra-small, 3px);--snk-field-config__transition--visibility:var(--transition, 0.2s linear);--snk-field-config__transition--opacity:var(--transition, 0.15s linear);--snk-field-config__config-popover--z-index:var(--more-visible, 2);--snk-field-config__config-outer-arrow--background-color:var(--color--secondary-200, #D2D3DA);--snk-field-config__draggable--padding-right:var(--space--small, 6px);display:flex;flex-wrap:wrap;position:relative;width:var(--snk-field-config--width)}.field-config.sc-snk-field-config{width:100%;box-sizing:border-box;display:flex;align-items:center;padding-left:var(--snk-field-config--padding-left);font-weight:var(--snk-field-config--font-weight);height:var(--snk-field-config--height);border-radius:var(--snk-field-config--border-radius);font-family:var(--snk-field-config--font-family);font-size:var(--snk-field-config--font-size);border:var(--snk-field-config__input--border);border-color:var(--snk-field-config__input--border-color);background-color:var(--snk-field-config__input--background-color);color:var(--snk-field-config--color)}.field-config__config-popover.sc-snk-field-config{width:40px;margin-left:auto;z-index:var(--snk-field-config__config-popover--z-index)}.field-config__label.sc-snk-field-config{display:flex;flex-direction:row-reverse;line-height:calc(var(--snk-field-config--font-size) + 2px);gap:var(--snk-field-config__label--gap)}.field-config__label-text.sc-snk-field-config{overflow:hidden;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;height:auto;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;display:-webkit-box;-o-text-overflow:ellipsis;text-overflow:ellipsis;word-break:break-word}.field-config__label-required.sc-snk-field-config{color:var(--snk-field-config__required--color)}.field-config__add.sc-snk-field-config{display:flex;margin-left:auto;visibility:hidden;opacity:0;transition:visibility var(--snk-field-config__transition--visibility), opacity var(--snk-field-config__transition--opacity)}.field-config__options.sc-snk-field-config{display:flex;margin-left:auto;visibility:hidden;opacity:0;transition:visibility var(--snk-field-config__transition--visibility), opacity var(--snk-field-config__transition--opacity)}.field-config__options--is-active.sc-snk-field-config{display:flex;visibility:visible;opacity:1}.field-config__remove-icon.sc-snk-field-config{margin-right:-15px}.field-config.sc-snk-field-config:hover .field-config__options.sc-snk-field-config{display:flex;visibility:visible;opacity:1}.field-config.sc-snk-field-config:hover .field-config__add.sc-snk-field-config{visibility:visible;opacity:1}.field-config__draggable.sc-snk-field-config{padding-right:var(--snk-field-config__draggable--padding-right)}.field-config__config-outer-arrow.sc-snk-field-config{clip-path:polygon(50% 0, 90% 100%, 10% 100%);border-radius:0.25em 0 0 0;width:30px;height:15px;padding-top:3px;border-bottom:1px solid #FFFFFF;background-color:var(--snk-field-config__config-outer-arrow--background-color)}.field-config__config-inner-arrow.sc-snk-field-config{background-color:#FFFFFF;clip-path:polygon(50% 0, 90% 100%, 10% 100%);border-radius:0.25em 0 0 0;width:30px;height:15px}.ez-box__container.sc-snk-field-config ez-collapsible-box.sc-snk-field-config{--snk-collapsible-box__header--padding-left:6px}ez-icon.sc-snk-field-config{--snk-icon--color:var(--snk-field-config--color)}ez-popover.sc-snk-field-config{--snk-popover__box--background-color:transparent;--snk-popover__box--box-shadow:none}.field-config__options.sc-snk-field-config ez-button.sc-snk-field-config{--snk-button--background-color:transparent;--snk-button--focus--border:none;--snk-button--focus--box-shadow:none}@media screen and (min-width: 1200px){.field-config__label.sc-snk-field-config{flex-direction:row}}";
@@ -13,6 +13,7 @@ const SnkFieldConfig = class {
13
13
  this.fieldConfig = undefined;
14
14
  this.modeInsertion = true;
15
15
  this.dataUnit = undefined;
16
+ this.messagesBuilder = undefined;
16
17
  }
17
18
  handleAction(evt, type) {
18
19
  evt.preventDefault();
@@ -30,16 +31,13 @@ const SnkFieldConfig = class {
30
31
  * Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-form.msg.ts".
31
32
  */
32
33
  getMessage(key) {
33
- return this._application.messagesBuilder.getMessage(key, {});
34
+ return this.messagesBuilder.getMessage(key, {});
34
35
  }
35
36
  isRequired() {
36
37
  var _a, _b;
37
38
  const fieldMD = this.dataUnit && this.dataUnit.getField((_a = this.fieldConfig) === null || _a === void 0 ? void 0 : _a.name);
38
39
  return (fieldMD === null || fieldMD === void 0 ? void 0 : fieldMD.required) === true || ((_b = this.fieldConfig) === null || _b === void 0 ? void 0 : _b.required) === true;
39
40
  }
40
- componentWillLoad() {
41
- this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
42
- }
43
41
  componentDidLoad() {
44
42
  ElementIDUtils.addIDInfo(this._element);
45
43
  }
@@ -136,6 +136,7 @@ const SnkFilterBar = class {
136
136
  this.dataUnit = undefined;
137
137
  this.configName = undefined;
138
138
  this.filterConfig = undefined;
139
+ this.messagesBuilder = undefined;
139
140
  this.allowDefault = undefined;
140
141
  this.scrollerLocked = false;
141
142
  }
@@ -200,7 +201,8 @@ const SnkFilterBar = class {
200
201
  * Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-filter-bar.msg.ts"
201
202
  */
202
203
  getMessage(key, params) {
203
- return this._application.messagesBuilder.getMessage(key, params);
204
+ var _a;
205
+ return (_a = this.messagesBuilder) === null || _a === void 0 ? void 0 : _a.getMessage(key, params);
204
206
  }
205
207
  getFilter(_dataUnit) {
206
208
  var _a;
@@ -68,6 +68,7 @@ const SnkFilterParamConfig = class {
68
68
  this._expressionItem = undefined;
69
69
  this._informedInstance = false;
70
70
  this._canSave = false;
71
+ this.messagesBuilder = undefined;
71
72
  }
72
73
  open(expressionItem) {
73
74
  this._opened = true;
@@ -90,7 +91,7 @@ const SnkFilterParamConfig = class {
90
91
  * Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-filter-param-config.msg.ts"
91
92
  */
92
93
  getMessage(key, params) {
93
- return this._application.messagesBuilder.getMessage(key, params);
94
+ return this.messagesBuilder.getMessage(key, params);
94
95
  }
95
96
  getConfigValue(configName, inputName, inputAlias = "") {
96
97
  var _a, _b, _c;
@@ -45,6 +45,7 @@ const SnkFormConfig = class {
45
45
  this._tempGroups = [];
46
46
  this.dataUnit = undefined;
47
47
  this.configManager = undefined;
48
+ this.messagesBuilder = undefined;
48
49
  }
49
50
  observeConfigManager() {
50
51
  this.loadConfig(this._sortableTimer);
@@ -249,8 +250,8 @@ const SnkFormConfig = class {
249
250
  var _a;
250
251
  return ((_a = group.fields) === null || _a === void 0 ? void 0 : _a.length) ? group.fields.map((field) => {
251
252
  var _a, _b;
252
- return h("div", { key: field.name, class: this.getFieldConfigStyle(field), "data-draggable-element": "field", onMouseDown: (evt) => this.controlMoveField(evt) }, h("snk-field-config", { onEzClickIcon: (evt) => { this.handleFieldConfigChange(evt); }, modeInsertion: false, fieldConfig: field, dataUnit: this.dataUnit, isConfigActive: ((_a = this._fieldConfigSelected) === null || _a === void 0 ? void 0 : _a.name) === field.name, id: field.name }), ((_b = this._fieldConfigSelected) === null || _b === void 0 ? void 0 : _b.name) === field.name &&
253
- h("div", { class: "ez-flex form-config__config-options" }, h("snk-config-options", { idConfig: field.name, dataUnit: this.dataUnit, fieldConfig: this._fieldConfigSelected, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), onConfigOptionsChanged: (evt) => this.handleconfigOptionsChanged(evt.detail) })));
253
+ return h("div", { key: field.name, class: this.getFieldConfigStyle(field), "data-draggable-element": "field", onMouseDown: (evt) => this.controlMoveField(evt) }, h("snk-field-config", { messagesBuilder: this.messagesBuilder, onEzClickIcon: (evt) => { this.handleFieldConfigChange(evt); }, modeInsertion: false, fieldConfig: field, dataUnit: this.dataUnit, isConfigActive: ((_a = this._fieldConfigSelected) === null || _a === void 0 ? void 0 : _a.name) === field.name, id: field.name }), ((_b = this._fieldConfigSelected) === null || _b === void 0 ? void 0 : _b.name) === field.name &&
254
+ h("div", { class: "ez-flex form-config__config-options" }, h("snk-config-options", { idConfig: field.name, messagesBuilder: this.messagesBuilder, dataUnit: this.dataUnit, fieldConfig: this._fieldConfigSelected, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), onConfigOptionsChanged: (evt) => this.handleconfigOptionsChanged(evt.detail) })));
254
255
  }) : h("div", { class: "form-config__add-group-container" }, h("div", { class: "form-config__add-group-content" }, h("div", { class: "form-config__add-group-label" }, h("label", { class: "ez-text ez-text--center ez-text--medium ez-text--primary ez-text--bold" }, this.getMessage("snkFormConfig.form.labelDropField")))));
255
256
  }
256
257
  handleconfigOptionsChanged(fieldEdited) {
@@ -957,7 +958,7 @@ const SnkFormConfig = class {
957
958
  * Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-form.msg.ts"
958
959
  */
959
960
  getMessage(key, params) {
960
- return this._application.messagesBuilder.getMessage(key, params);
961
+ return this.messagesBuilder.getMessage(key, params);
961
962
  }
962
963
  componentDidRender() {
963
964
  this.controlSortableField();
@@ -982,7 +983,7 @@ const SnkFormConfig = class {
982
983
  }), onEzAction: (evt) => this.controlSelectFormConfig(evt), id: "selectConfig" })), h("div", { class: "ez-col ez-col--sd-5 ez-col--tb-3 ez-align--middle ez-align--right" }, this._formConfigChanged === true && this._optionFormConfigChanged === false &&
983
984
  h("div", { class: "ez-row ez-align--middle ez-align--right" }, h("ez-button", { label: "Cancelar", class: "ez-padding-left--medium", size: "small", onClick: () => this.cancelChangeConfig() }), h("ez-button", { label: "Salvar", class: "ez-button--primary ez-padding-left--medium", size: "small", onClick: () => this.saveConfig() }, h("ez-icon", { class: "ez-margin-right--small", slot: "leftIcon", iconName: "save" }))), this._optionFormConfigChanged === true &&
984
985
  h("div", { class: "ez-row ez-align--middle ez-align--right" }, h("ez-button", { label: "Cancelar", class: "ez-padding-left--medium", size: "small", onClick: () => this.cancelChangeOptionConfig() }), h("ez-button", { label: this.getMessage("snkFormConfig.applyConfig"), class: "ez-button--primary ez-padding-left--medium", size: "small", onClick: () => this.applyOptionConfig() })))), h("div", { class: "ez-row ez-padding--medium", ref: ref => this._sortableContainer = ref }, h("div", { class: "form-config__tab-container ez-col ez-col--sd-9 ez-col--tb-9 ez-padding-right--medium" }, ((_b = this._layoutFormConfig) === null || _b === void 0 ? void 0 : _b.length) > 0 &&
985
- h("section", { class: "ez-box__container", ref: ref => this._formContainer = ref }, h("snk-tab-config", { ref: ref => this._tabConfig = ref, selectedIndex: this._tabSelected, onEzTabChange: (ev) => this.changeTabSelected(ev.detail), onEzOrderChange: (ev) => this.changeTabOrder(ev.detail), onEditionTitleTab: (ev) => this.changeTabLabel(ev), onDeleteTab: (ev) => this.handleDeleteTab(ev), onHideTab: (ev) => this.changeHideTab(ev), onCanStartDrag: () => this.handleCanStartDragTab() }, this._layoutFormConfig.map((tab) => h("snk-tab", { tabKey: tab.tab, label: tab.tab, visible: tab.visible }))), this._layoutFormConfig.map((tab, indexTab) => h("div", { id: "tab" + indexTab, "data-draggable-parent": "group", class: this._tabSelected === indexTab
986
+ h("section", { class: "ez-box__container", ref: ref => this._formContainer = ref }, h("snk-tab-config", { ref: ref => this._tabConfig = ref, selectedIndex: this._tabSelected, messagesBuilder: this.messagesBuilder, onEzTabChange: (ev) => this.changeTabSelected(ev.detail), onEzOrderChange: (ev) => this.changeTabOrder(ev.detail), onEditionTitleTab: (ev) => this.changeTabLabel(ev), onDeleteTab: (ev) => this.handleDeleteTab(ev), onHideTab: (ev) => this.changeHideTab(ev), onCanStartDrag: () => this.handleCanStartDragTab() }, this._layoutFormConfig.map((tab) => h("snk-tab", { tabKey: tab.tab, label: tab.tab, visible: tab.visible }))), this._layoutFormConfig.map((tab, indexTab) => h("div", { id: "tab" + indexTab, "data-draggable-parent": "group", class: this._tabSelected === indexTab
986
987
  ? "form-config__tab-content ez-flex ez-flex--column ez-size-width--full ez-padding--medium"
987
988
  : "form-config__hide-content" }, tab.groups.map((group, indexGroup) => {
988
989
  if (group.group) {
@@ -995,7 +996,7 @@ const SnkFormConfig = class {
995
996
  return h("div", { class: "ez-flex ez-flex--column ez-size-width--full" }, h("label", { class: "ez-text ez-text--secondary ez-margin-vertical--small" }, this.getMessage("snkFormConfig.form.subTitleInfo")), h("div", { id: CONTAINER_ID.withoutGroup, class: "ez-row", "data-draggable-parent": "field" }, this.getFieldsByGroup(group)), h("hr", { class: "ez-divider-horizontal ez-margin-vertical--medium" }));
996
997
  }
997
998
  }), this.renderTempGroupByTab(tab.tab))), h("div", { class: "form-config__btn-add-group ez-row" }, h("div", { class: "form-config__btn-add-group-container ez-col ez-col--sd-12 ez-col--tb-12 ez-align--center" }, h("ez-button", { label: this.getMessage("snkFormConfig.form.labelNewGroup"), class: "ez-padding-horizontal--small ez-button--primary", size: "small", onClick: () => this.addNewGroup() }, h("ez-icon", { class: "ez-margin-right--small", slot: "leftIcon", iconName: "plus" })))))), h("div", { class: "form-config__fields-available ez-col ez-col--sd-3 ez-col--tb-3" }, h("section", { class: "ez-box__container ez-col ez-col--pn-12" }, h("h1", { class: "ez-title ez-title--large ez-title--primary ez-padding-bottom--medium" }, this.getMessage("snkFormConfig.availableFields.title")), h("ez-filter-input", { id: "searchFields", ref: ref => this._filterFieldsAvailable = ref, label: this.getMessage("snkFormConfig.availableFields.labelSearchField"), onEzChange: evt => this.onFilterChange(evt.detail) }), h("span", { class: "ez-box__label-counter ez-text ez-text--medium ez-text--primary ez-margin-bottom--medium" }, this.handleLabelCounter((_c = this._fieldsAvailable) === null || _c === void 0 ? void 0 : _c.length)), ((_d = this._layoutFormConfig) === null || _d === void 0 ? void 0 : _d.length) > 0 &&
998
- h("div", { id: CONTAINER_ID.fieldsAvailable, class: "ez-row", "data-draggable-parent": "field" }, this.orderFieldsAvailable(this._fieldsAvailable).map((field) => h("div", { key: field.name, class: this._fieldsAvailableStyle, "data-draggable-element": "field", onMouseDown: (evt) => this.controlMoveField(evt) }, h("snk-field-config", { onEzClickIcon: (evt) => { this.handleFieldConfigChange(evt); }, dataUnit: this.dataUnit, fieldConfig: field, id: field.name })))))))));
999
+ h("div", { id: CONTAINER_ID.fieldsAvailable, class: "ez-row", "data-draggable-parent": "field" }, this.orderFieldsAvailable(this._fieldsAvailable).map((field) => h("div", { key: field.name, class: this._fieldsAvailableStyle, "data-draggable-element": "field", onMouseDown: (evt) => this.controlMoveField(evt) }, h("snk-field-config", { messagesBuilder: this.messagesBuilder, onEzClickIcon: (evt) => { this.handleFieldConfigChange(evt); }, dataUnit: this.dataUnit, fieldConfig: field, id: field.name })))))))));
999
1000
  }
1000
1001
  get _element() { return getElement(this); }
1001
1002
  static get watchers() { return {
@@ -19,6 +19,7 @@ const SnkForm = class {
19
19
  this._configManager = undefined;
20
20
  this.configName = undefined;
21
21
  this.recordsValidator = undefined;
22
+ this.messagesBuilder = undefined;
22
23
  }
23
24
  /**
24
25
  * Exibe a janela de configurações do formulário.
@@ -69,7 +70,7 @@ const SnkForm = class {
69
70
  return undefined;
70
71
  }
71
72
  return (h("section", null, h("div", { class: "ez-row" }, h("div", { class: "ez-col ez-col--sd-12" }, h("ez-form", { key: "ezForm" + this._snkDataUnit.entityName, "data-element-id": "embedded", dataUnit: this._dataUnit, config: this._configManager.getConfig(this._dataState.insertionMode, this._dataUnit), recordsValidator: this.recordsValidator, class: this._showFormConfig ? 'snk-form__form--hidden' : '' }), this._showFormConfig &&
72
- h("snk-form-config", { dataUnit: this._dataUnit, configManager: this._configManager, onConfigClose: () => this.closeConfig() })))));
73
+ h("snk-form-config", { messagesBuilder: this.messagesBuilder, dataUnit: this._dataUnit, configManager: this._configManager, onConfigClose: () => this.closeConfig() })))));
73
74
  }
74
75
  get _element() { return getElement(this); }
75
76
  };
@@ -39,6 +39,7 @@ const SnkGrid = class {
39
39
  this.statusResolver = undefined;
40
40
  this.multipleSelection = undefined;
41
41
  this.presentationMode = PresentationMode.PRIMARY;
42
+ this.messagesBuilder = undefined;
42
43
  }
43
44
  /**
44
45
  * Exibe a janela de configurações da grade.
@@ -271,8 +272,8 @@ const SnkGrid = class {
271
272
  if (!this._dataUnit) {
272
273
  return undefined;
273
274
  }
274
- return (h("div", { class: "snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large" }, h("div", { class: "snk-grid__header ez-margin-bottom--medium" }, h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, dataUnit: this._dataUnit, "data-element-id": "gridFilter", class: "snk-grid__filter-bar ez-align--top", configName: this.configName }), ((_b = (_a = this._snkFilterBar) === null || _a === void 0 ? void 0 : _a.filterConfig) === null || _b === void 0 ? void 0 : _b.length) > 0 &&
275
- h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" }), h("snk-taskbar", { class: "ez-padding-left--medium", "data-element-id": "grid_top", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: this.getPrimaryButton() })), h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === PresentationMode.SECONDARY ? "snk-grid-container__without-shadow " : "") + "snk-grid__table", "data-element-id": "embedded", dataUnit: this._dataUnit, key: "grid-" + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => { this.gridConfigChangeHandler(evt); }, onEzDoubleClick: () => this.gridDoubleClick.emit(), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection }, h("snk-taskbar", { dataUnit: this._dataUnit, configName: this.configName, "data-element-id": "grid_left", buttons: this._headerTaskbarProcessor.buttons, disabledButtons: this._headerTaskbarProcessor.disabledButtons, customButtons: this._headerTaskbarProcessor.customButtons, slot: "leftButtons", actionsList: this.actionsList })), h("div", { class: "ez-col ez-col--sd-12" }, h("slot", { name: "SnkGridFooter" })), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._popUpGridConfig, onEzCloseModal: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), application: this._application, selectedIndex: 0, configName: this.configName, onConfigChange: (evt) => this.modalConfigChangeHandler(evt), onConfigCancel: () => this.closeGridConfig() }))));
275
+ return (h("div", { class: "snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large" }, h("div", { class: "snk-grid__header ez-margin-bottom--medium" }, h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, dataUnit: this._dataUnit, "data-element-id": "gridFilter", class: "snk-grid__filter-bar ez-align--top", configName: this.configName, messagesBuilder: this.messagesBuilder }), ((_b = (_a = this._snkFilterBar) === null || _a === void 0 ? void 0 : _a.filterConfig) === null || _b === void 0 ? void 0 : _b.length) > 0 &&
276
+ h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" }), h("snk-taskbar", { class: "ez-padding-left--medium", "data-element-id": "grid_top", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: this.getPrimaryButton() })), h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === PresentationMode.SECONDARY ? "snk-grid-container__without-shadow " : "") + "snk-grid__table", "data-element-id": "embedded", dataUnit: this._dataUnit, key: "grid-" + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => { this.gridConfigChangeHandler(evt); }, onEzDoubleClick: () => this.gridDoubleClick.emit(), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection }, h("snk-taskbar", { dataUnit: this._dataUnit, configName: this.configName, messagesBuilder: this.messagesBuilder, "data-element-id": "grid_left", buttons: this._headerTaskbarProcessor.buttons, disabledButtons: this._headerTaskbarProcessor.disabledButtons, customButtons: this._headerTaskbarProcessor.customButtons, slot: "leftButtons", actionsList: this.actionsList })), h("div", { class: "ez-col ez-col--sd-12" }, h("slot", { name: "SnkGridFooter" })), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._popUpGridConfig, onEzCloseModal: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), application: this._application, selectedIndex: 0, configName: this.configName, onConfigChange: (evt) => this.modalConfigChangeHandler(evt), onConfigCancel: () => this.closeGridConfig() }))));
276
277
  }
277
278
  get _element() { return getElement(this); }
278
279
  };