@sankhyalabs/sankhyablocks 4.6.1 → 4.6.2

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 (83) hide show
  1. package/dist/cjs/{SnkMessageBuilder-d147f088.js → SnkMessageBuilder-47185d5d.js} +1 -0
  2. package/dist/cjs/{constants-73803daf.js → constants-ae0ed870.js} +0 -2
  3. package/dist/cjs/snk-application.cjs.entry.js +1 -1
  4. package/dist/cjs/snk-config-options.cjs.entry.js +1 -1
  5. package/dist/cjs/snk-configurator.cjs.entry.js +1 -1
  6. package/dist/cjs/snk-crud.cjs.entry.js +1 -1
  7. package/dist/cjs/snk-data-exporter.cjs.entry.js +1 -1
  8. package/dist/cjs/snk-data-unit.cjs.entry.js +50 -25
  9. package/dist/cjs/snk-detail-view.cjs.entry.js +3 -3
  10. package/dist/cjs/snk-field-config.cjs.entry.js +1 -1
  11. package/dist/cjs/snk-form-config.cjs.entry.js +2 -2
  12. package/dist/cjs/snk-grid-config.cjs.entry.js +1 -1
  13. package/dist/cjs/snk-grid.cjs.entry.js +18 -6
  14. package/dist/cjs/{snk-guides-viewer-5d3dca5d.js → snk-guides-viewer-cb02e675.js} +12 -4
  15. package/dist/cjs/snk-guides-viewer.cjs.entry.js +3 -3
  16. package/dist/cjs/snk-select-box.cjs.entry.js +1 -1
  17. package/dist/cjs/snk-simple-crud.cjs.entry.js +2 -2
  18. package/dist/cjs/snk-tab-config.cjs.entry.js +1 -1
  19. package/dist/cjs/{taskbar-processor-6f3d2a75.js → taskbar-processor-bce3f499.js} +1 -1
  20. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +10 -2
  21. package/dist/collection/components/snk-data-unit/snk-data-unit.js +49 -24
  22. package/dist/collection/components/snk-form/subcomponents/snk-form-config/snk-form-config.js +1 -1
  23. package/dist/collection/components/snk-grid/snk-grid.js +17 -5
  24. package/dist/collection/components/snk-taskbar/processor/taskbar-processor.js +1 -1
  25. package/dist/collection/lib/message/resources/snk-form.msg.js +1 -0
  26. package/dist/components/SnkMessageBuilder.js +1 -0
  27. package/dist/components/constants.js +1 -2
  28. package/dist/components/snk-data-unit2.js +49 -24
  29. package/dist/components/snk-detail-view2.js +10 -2
  30. package/dist/components/snk-field-config2.js +1 -1
  31. package/dist/components/snk-form-config2.js +2 -2
  32. package/dist/components/snk-grid2.js +17 -5
  33. package/dist/components/snk-tab-config2.js +1 -1
  34. package/dist/components/taskbar-processor.js +1 -1
  35. package/dist/esm/{SnkMessageBuilder-0e1ffd61.js → SnkMessageBuilder-ec0850af.js} +1 -0
  36. package/dist/esm/{constants-9560e54f.js → constants-15617e7d.js} +1 -2
  37. package/dist/esm/snk-application.entry.js +1 -1
  38. package/dist/esm/snk-config-options.entry.js +1 -1
  39. package/dist/esm/snk-configurator.entry.js +1 -1
  40. package/dist/esm/snk-crud.entry.js +1 -1
  41. package/dist/esm/snk-data-exporter.entry.js +1 -1
  42. package/dist/esm/snk-data-unit.entry.js +50 -25
  43. package/dist/esm/snk-detail-view.entry.js +3 -3
  44. package/dist/esm/snk-field-config.entry.js +1 -1
  45. package/dist/esm/snk-form-config.entry.js +2 -2
  46. package/dist/esm/snk-grid-config.entry.js +1 -1
  47. package/dist/esm/snk-grid.entry.js +18 -6
  48. package/dist/esm/{snk-guides-viewer-6bb54367.js → snk-guides-viewer-b13cff0a.js} +12 -4
  49. package/dist/esm/snk-guides-viewer.entry.js +3 -3
  50. package/dist/esm/snk-select-box.entry.js +1 -1
  51. package/dist/esm/snk-simple-crud.entry.js +2 -2
  52. package/dist/esm/snk-tab-config.entry.js +1 -1
  53. package/dist/esm/{taskbar-processor-c2a99aba.js → taskbar-processor-94402e6e.js} +1 -1
  54. package/dist/sankhyablocks/p-0c0c086f.entry.js +1 -0
  55. package/dist/sankhyablocks/{p-9f00c061.entry.js → p-0d9f624f.entry.js} +1 -1
  56. package/dist/sankhyablocks/{p-8b0e8deb.entry.js → p-1374b0e2.entry.js} +1 -1
  57. package/dist/sankhyablocks/p-28c800b9.js +1 -0
  58. package/dist/sankhyablocks/{p-dbeac5db.entry.js → p-3169584f.entry.js} +1 -1
  59. package/dist/sankhyablocks/{p-9f2306ba.entry.js → p-31d4e5d4.entry.js} +1 -1
  60. package/dist/sankhyablocks/{p-2a3996b0.entry.js → p-5b80ee28.entry.js} +1 -1
  61. package/dist/sankhyablocks/{p-cf9d1b55.entry.js → p-604e6970.entry.js} +1 -1
  62. package/dist/sankhyablocks/p-6181e6cb.entry.js +1 -0
  63. package/dist/sankhyablocks/{p-798cbc14.entry.js → p-64f21075.entry.js} +1 -1
  64. package/dist/sankhyablocks/p-94fef424.entry.js +1 -0
  65. package/dist/sankhyablocks/{p-4bd183ba.entry.js → p-a61d2aa0.entry.js} +1 -1
  66. package/dist/sankhyablocks/{p-869d6616.entry.js → p-af8cf505.entry.js} +1 -1
  67. package/dist/sankhyablocks/p-c2beb95c.js +1 -0
  68. package/dist/sankhyablocks/{p-86efa17d.entry.js → p-c88c4f80.entry.js} +1 -1
  69. package/dist/sankhyablocks/p-e1dbaecb.js +1 -0
  70. package/dist/sankhyablocks/p-f587a454.js +1 -0
  71. package/dist/sankhyablocks/{p-f83e3219.entry.js → p-f9ca6d74.entry.js} +1 -1
  72. package/dist/sankhyablocks/{p-b318cec6.entry.js → p-fa8a62f2.entry.js} +1 -1
  73. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  74. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +8 -2
  75. package/dist/types/components/snk-grid/snk-grid.d.ts +1 -0
  76. package/package.json +1 -1
  77. package/dist/sankhyablocks/p-4fb98039.entry.js +0 -1
  78. package/dist/sankhyablocks/p-5518d572.js +0 -1
  79. package/dist/sankhyablocks/p-5a3e0eb6.js +0 -1
  80. package/dist/sankhyablocks/p-7889d481.entry.js +0 -1
  81. package/dist/sankhyablocks/p-9bf0319f.js +0 -1
  82. package/dist/sankhyablocks/p-c0bfafcb.entry.js +0 -1
  83. package/dist/sankhyablocks/p-ecbfbb4a.js +0 -1
@@ -159,6 +159,7 @@ const snkConfigOptionsMessages = {
159
159
  };
160
160
  const snkFormConfigMessages = {
161
161
  title: "Configuração do formulário",
162
+ goBackTitle: "Voltar",
162
163
  applyConfig: "Aplicar configuração",
163
164
  availableFields: {
164
165
  title: "Campos disponíveis",
@@ -2,7 +2,6 @@
2
2
 
3
3
  const REPORT_LAUNCHER_RESOURCE_ID = "br.com.sankhya.controls.ReportLauncher";
4
4
  const KEY_PORT_EXPORT = "global.porta.app.impressao";
5
- const ALL_RECORD = "ALL_RECORD";
6
5
  exports.VIEW_MODE = void 0;
7
6
  (function (VIEW_MODE) {
8
7
  VIEW_MODE[VIEW_MODE["GRID"] = 0] = "GRID";
@@ -102,7 +101,6 @@ exports.SIMPLE_CRUD_MODE = void 0;
102
101
  })(exports.SIMPLE_CRUD_MODE || (exports.SIMPLE_CRUD_MODE = {}));
103
102
 
104
103
  exports.ACTION_CONFIG = ACTION_CONFIG;
105
- exports.ALL_RECORD = ALL_RECORD;
106
104
  exports.CONFIG_EVENTS = CONFIG_EVENTS;
107
105
  exports.DEFAULT_TYPE = DEFAULT_TYPE;
108
106
  exports.KEY_EVENTS = KEY_EVENTS;
@@ -6,7 +6,7 @@ const index = require('./index-21bd01e1.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
  const DataFetcher = require('./DataFetcher-6acfc3a8.js');
8
8
  const utils = require('@sankhyalabs/ezui/dist/collection/utils');
9
- const SnkMessageBuilder = require('./SnkMessageBuilder-d147f088.js');
9
+ const SnkMessageBuilder = require('./SnkMessageBuilder-47185d5d.js');
10
10
  const ConfigStorage = require('./ConfigStorage-bc7d1d9b.js');
11
11
  const formConfigFetcher = require('./form-config-fetcher-4a952a50.js');
12
12
  require('./_commonjsHelpers-537d719a.js');
@@ -6,7 +6,7 @@ const index = require('./index-21bd01e1.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
  const DataType = require('@sankhyalabs/core/dist/dataunit/metadata/DataType');
8
8
  const utils = require('@sankhyalabs/ezui/dist/collection/utils');
9
- const constants = require('./constants-73803daf.js');
9
+ const constants = require('./constants-ae0ed870.js');
10
10
 
11
11
  const snkConfigOptionsCss = ".sc-snk-config-options-h{--snk-config-options--border:2px solid var(--color--secondary-200, #D2D3DA);width:100%;border-radius:15px;border:var(--snk-config-options--border)}.config-options__switch-row.sc-snk-config-options{margin-top:-30px}";
12
12
 
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-21bd01e1.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
  const AuthorizationConfig = require('./AuthorizationConfig-79ffae4b.js');
8
- const constants = require('./constants-73803daf.js');
8
+ const constants = require('./constants-ae0ed870.js');
9
9
 
10
10
  const snkConfiguratorCss = ".sc-snk-configurator-h{--snk-configurator__button-close--padding-left:var(--space--medium, 12px);--snk-configurator__title--color:var(--title--primary, #2B3A54);--snk-configurator__title--font-family:var(--font-pattern, \"Roboto\");--snk-configurator__title--font-size:var(--title--large, 20px);--snk-configurator__title--font-weight:var(--text-weight--extra-large, 700);--snk-configurator__subtitle--color:var(--title--primary, #2B3A54);--snk-configurator__subtitle--font-family:var(--font-pattern, \"Roboto\");--snk-configurator__subtitle--font-size:var(--text--medium, 14px);--snk-configurator__subtitle--font-weight:var(--text-weight--large, 600);--snk-configurator__scrollbar--color-default:var(--scrollbar--default, #626e82);--snk-configurator__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--snk-configurator__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--snk-configurator__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--snk-configurator__scrollbar--border-radius:var(--border--radius-small, 6px);--snk-configurator__scrollbar--width:var(--space--medium, 12px)}.snk-configurator.sc-snk-configurator{display:grid;grid-template-rows:auto 1fr auto;max-height:100%;width:100%}@media screen and (min-width: 480px){.snk-configurator.sc-snk-configurator{width:359px;max-width:359px}}.snk-configurator__button-config.sc-snk-configurator{--ez-button--min-width:100%}.snk-configurator__header.sc-snk-configurator{display:flex;justify-content:space-between;align-items:center;width:100%}.snk-configurator__title.sc-snk-configurator{display:flex;margin:0;line-height:normal;letter-spacing:0em;text-align:left;color:var(--snk-configurator__title--color);font-size:var(--snk-configurator__title--font-size);font-family:var(--snk-configurator__title--font-family);font-weight:var(--snk-configurator__title--font-weight)}.snk-configurator__subtitle.sc-snk-configurator{display:flex;margin:0;padding-top:var(--space--medium);padding-bottom:var(--space--small);color:var(--snk-configurator__subtitle--color);font-size:var(--snk-configurator__subtitle--font-size);font-family:var(--snk-configurator__subtitle--font-family);font-weight:var(--snk-configurator__subtitle--font-weight)}.snk-configurator__button-close.sc-snk-configurator{padding-left:var(--snk-configurator__button-close--padding-left)}.snk-configurator__main.sc-snk-configurator{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--snk-configurator__scrollbar--color-clicked) var(--snk-configurator__scrollbar--color-background)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar{background-color:var(--snk-configurator__scrollbar--color-background);width:var(--snk-configurator__scrollbar--width);max-width:var(--snk-configurator__scrollbar--width);min-width:var(--snk-configurator__scrollbar--width)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-track{background-color:var(--snk-configurator__scrollbar--color-background);border-radius:var(--snk-configurator__scrollbar--border-radius)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb{background-color:var(--snk-configurator__scrollbar--color-default);border-radius:var(--snk-configurator__scrollbar--border-radius)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb:vertical:hover,.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--snk-configurator__scrollbar--color-hover)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb:vertical:active,.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--snk-configurator__scrollbar--color-clicked)}";
11
11
 
@@ -7,7 +7,7 @@ const core = require('@sankhyalabs/core');
7
7
  const taskbarElements = require('./taskbar-elements-5e87cf44.js');
8
8
  require('./DataFetcher-6acfc3a8.js');
9
9
  const index$1 = require('./index-f400b1d6.js');
10
- const constants = require('./constants-73803daf.js');
10
+ const constants = require('./constants-ae0ed870.js');
11
11
  require('./index-fc7ca86c.js');
12
12
  require('./_commonjsHelpers-537d719a.js');
13
13
 
@@ -6,7 +6,7 @@ const index$1 = require('./index-21bd01e1.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
  const utils = require('@sankhyalabs/ezui/dist/collection/utils');
8
8
  const index = require('./index-f400b1d6.js');
9
- const constants = require('./constants-73803daf.js');
9
+ const constants = require('./constants-ae0ed870.js');
10
10
  const DataFetcher = require('./DataFetcher-6acfc3a8.js');
11
11
  require('./_commonjsHelpers-537d719a.js');
12
12
 
@@ -5,8 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-21bd01e1.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
  const utils = require('@sankhyalabs/ezui/dist/collection/utils');
8
- const SnkMessageBuilder = require('./SnkMessageBuilder-d147f088.js');
9
- const constants = require('./constants-73803daf.js');
8
+ const SnkMessageBuilder = require('./SnkMessageBuilder-47185d5d.js');
10
9
 
11
10
  const snkDataUnitCss = ".sc-snk-data-unit-h{display:flex;flex-direction:column;height:100%;width:100%}";
12
11
 
@@ -35,21 +34,27 @@ const SnkDataUnit = class {
35
34
  this.cancelEdition.emit();
36
35
  }
37
36
  if (action.type === core.Action.RECORDS_REMOVED) {
38
- let removeFinishMsg;
39
37
  const cachedRecords = action.payload.cachedRecords;
38
+ let removeFinishMsg;
40
39
  if ((cachedRecords === null || cachedRecords === void 0 ? void 0 : cachedRecords.length) > 1) {
41
40
  removeFinishMsg = this.getMessage("snkDataUnit.removeAllInfo", { size: cachedRecords.length });
42
41
  }
43
- else if (cachedRecords === null || cachedRecords === void 0 ? void 0 : cachedRecords.some((record) => record.__record__id__ === constants.ALL_RECORD)) {
44
- const size = (_b = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getPaginationInfo()) === null || _b === void 0 ? void 0 : _b.total;
45
- removeFinishMsg = this.getMessage("snkDataUnit.removeAllInfo", { size });
46
- }
47
42
  else {
48
- removeFinishMsg = this.getMessage("snkDataUnit.removeInfo", cachedRecords === null || cachedRecords === void 0 ? void 0 : cachedRecords[0]);
43
+ removeFinishMsg = this.getMessage("snkDataUnit.removeInfo", action.payload.cachedRecords[0]);
49
44
  }
50
45
  if (removeFinishMsg != undefined) {
51
46
  this.showSuccessMessage(removeFinishMsg);
52
47
  }
48
+ const recordsCount = (_b = (_a = this.dataUnit.records) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0;
49
+ const paginationInfo = this.dataUnit.getPaginationInfo();
50
+ if (paginationInfo) {
51
+ if (recordsCount > 0 || paginationInfo.hasMore) {
52
+ this.dataUnit.gotoPage(paginationInfo.currentPage);
53
+ }
54
+ else {
55
+ this.dataUnit.gotoPage(0);
56
+ }
57
+ }
53
58
  }
54
59
  this._application.messagesBuilder.currentOperation = this.getMessageOperation();
55
60
  };
@@ -111,8 +116,12 @@ const SnkDataUnit = class {
111
116
  */
112
117
  async getSelectedRecordsIDsInfo() {
113
118
  var _a;
119
+ const selectionInfo = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getSelectionInfo();
120
+ if (selectionInfo === null || selectionInfo === void 0 ? void 0 : selectionInfo.isAllRecords()) {
121
+ return [];
122
+ }
114
123
  const selectedRecordsIDsInfo = [];
115
- const selectedRecords = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getSelection();
124
+ const selectedRecords = selectionInfo === null || selectionInfo === void 0 ? void 0 : selectionInfo.records;
116
125
  if ((selectedRecords === null || selectedRecords === void 0 ? void 0 : selectedRecords.length) > 0) {
117
126
  selectedRecords.forEach(({ __record__id__ }) => {
118
127
  if (!this.dataUnit.isNewRecord(__record__id__)) {
@@ -146,7 +155,7 @@ const SnkDataUnit = class {
146
155
  }
147
156
  async interceptAction(action) {
148
157
  return new Promise(resolve => {
149
- var _a, _b, _c, _d;
158
+ var _a, _b;
150
159
  switch (action.type) {
151
160
  case core.Action.RECORDS_ADDED:
152
161
  if (this.isAllowed("INSERT")) {
@@ -224,14 +233,9 @@ const SnkDataUnit = class {
224
233
  if (this.isAllowed("REMOVE")) {
225
234
  let multipleSelection = false;
226
235
  let removeConfirmation = this.getMessage("snkDataUnit.removeConfirmation");
227
- const selectedRecords = (_b = this.dataUnit) === null || _b === void 0 ? void 0 : _b.getSelection();
228
- if ((selectedRecords === null || selectedRecords === void 0 ? void 0 : selectedRecords.length) > 1) {
229
- removeConfirmation = this.getMessage("snkDataUnit.removeAllConfirmation", { size: selectedRecords.length });
230
- multipleSelection = true;
231
- }
232
- else if (selectedRecords === null || selectedRecords === void 0 ? void 0 : selectedRecords.some((record) => record.__record__id__ === constants.ALL_RECORD)) {
233
- const size = (_d = (_c = this.dataUnit) === null || _c === void 0 ? void 0 : _c.getPaginationInfo()) === null || _d === void 0 ? void 0 : _d.total;
234
- removeConfirmation = this.getMessage("snkDataUnit.removeAllConfirmation", { size });
236
+ const selection = (_b = this.dataUnit) === null || _b === void 0 ? void 0 : _b.getSelectionInfo();
237
+ if ((selection === null || selection === void 0 ? void 0 : selection.length) > 1) {
238
+ removeConfirmation = this.getMessage("snkDataUnit.removeAllConfirmation", { size: selection.length });
235
239
  multipleSelection = true;
236
240
  }
237
241
  if (removeConfirmation == undefined) {
@@ -265,16 +269,18 @@ const SnkDataUnit = class {
265
269
  return this._permissions ? this._permissions.isSup || this._permissions[flag] : false;
266
270
  }
267
271
  buildDataState() {
268
- return {
272
+ const selectionInfo = this.dataUnit.getSelectionInfo();
273
+ return new DataStateImpl({
269
274
  insertionMode: this.dataUnit.hasNewRecord(),
270
275
  hasNext: this.dataUnit.hasNext(),
271
276
  hasPrevious: this.dataUnit.hasPrevious(),
272
277
  copyMode: this.dataUnit.hasCopiedRecord(),
273
278
  isDirty: this.dataUnit.isDirty(),
274
279
  hasDirtyRecords: this.dataUnit.hasDirtyRecords(),
275
- selectedRecords: this.dataUnit.getSelection(),
280
+ selectedRecords: undefined,
281
+ selectionInfo,
276
282
  selectedRecord: this.dataUnit.getSelectedRecord()
277
- };
283
+ });
278
284
  }
279
285
  /**
280
286
  * Conforme mecanismo de mensagens, é possível customizar as mensagens dos blocos de construção
@@ -289,10 +295,9 @@ const SnkDataUnit = class {
289
295
  return this._application.messagesBuilder.getMessage(key, params);
290
296
  }
291
297
  getMessageParams() {
292
- //TODO: Atualmente ainda não usamos o recurso de multiseleção do dataunit, mas no futuro
293
- //precisaremos criar um mecanismo para oferecer todos os registros selecionados para a
294
- //mensagem
295
- return this.dataState.selectedRecords ? this.dataState.selectedRecords[0] : undefined;
298
+ //FIXME: Devido ao recurso de multiseleção do dataunit, precisaremos criar um mecanismo para
299
+ //oferecer todos os registros selecionados para a mensagem, pois mensagens podem ficar incorretas.
300
+ return this.dataState.selectedRecord;
296
301
  }
297
302
  getMessageOperation() {
298
303
  if (this.dataState.copyMode) {
@@ -388,6 +393,26 @@ const SnkDataUnit = class {
388
393
  "dataUnit": ["observeDataUnit"]
389
394
  }; }
390
395
  };
396
+ class DataStateImpl {
397
+ constructor(datastate) {
398
+ this.copyMode = datastate.copyMode;
399
+ this.insertionMode = datastate.insertionMode;
400
+ this.isDirty = datastate.isDirty;
401
+ this.hasDirtyRecords = datastate.hasDirtyRecords;
402
+ this.hasNext = datastate.hasNext;
403
+ this.hasPrevious = datastate.hasPrevious;
404
+ this.selectionInfo = datastate.selectionInfo;
405
+ this.selectedRecord = datastate.selectedRecord;
406
+ }
407
+ get selectedRecords() {
408
+ var _a;
409
+ console.warn("SnkDataUnit: O método `selectedRecords` foi descontinuado. Use o método `selectionInfo`.");
410
+ if ((_a = this.selectionInfo) === null || _a === void 0 ? void 0 : _a.isAllRecords()) {
411
+ throw new Error("Erro interno: Impossível obter os registros selecionados. A seleção atual é virtual. Use o atributo `selectionInfo`.");
412
+ }
413
+ return this.selectionInfo.records;
414
+ }
415
+ }
391
416
  SnkDataUnit.style = snkDataUnitCss;
392
417
 
393
418
  exports.snk_data_unit = SnkDataUnit;
@@ -9,13 +9,13 @@ require('./DataFetcher-6acfc3a8.js');
9
9
  require('@sankhyalabs/core');
10
10
  const index$1 = require('./index-f400b1d6.js');
11
11
  const taskbarElements = require('./taskbar-elements-5e87cf44.js');
12
- const constants = require('./constants-73803daf.js');
13
- const snkGuidesViewer = require('./snk-guides-viewer-5d3dca5d.js');
12
+ const constants = require('./constants-ae0ed870.js');
13
+ const snkGuidesViewer = require('./snk-guides-viewer-cb02e675.js');
14
14
  require('./ConfigStorage-bc7d1d9b.js');
15
15
  require('./form-config-fetcher-4a952a50.js');
16
16
  require('./_commonjsHelpers-537d719a.js');
17
17
  require('./index-fc7ca86c.js');
18
- require('./taskbar-processor-6f3d2a75.js');
18
+ require('./taskbar-processor-bce3f499.js');
19
19
 
20
20
  const snkDetailViewCss = ".sc-snk-detail-view-h{display:flex;row-gap:24px;flex-direction:column;width:100%;height:100%}.level-path.sc-snk-detail-view{color:var(--color--title-primary, #2B3A54);font-weight:var(--text-weight--medium, 400);padding-right:3px}.form-taskbar.sc-snk-detail-view{padding-bottom:var(--space--medium)}.grid-container.sc-snk-detail-view{background-color:#FFF;min-height:100px}.detail-header.sc-snk-detail-view{padding-bottom:0}";
21
21
 
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-21bd01e1.js');
6
6
  const core = require('@sankhyalabs/core');
7
- const constants = require('./constants-73803daf.js');
7
+ const constants = require('./constants-ae0ed870.js');
8
8
 
9
9
  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}}";
10
10
 
@@ -6,7 +6,7 @@ const index = require('./index-21bd01e1.js');
6
6
  const draggable_bundle = require('./draggable.bundle-82a25c06.js');
7
7
  const core = require('@sankhyalabs/core');
8
8
  const utils = require('@sankhyalabs/ezui/dist/collection/utils');
9
- const constants = require('./constants-73803daf.js');
9
+ const constants = require('./constants-ae0ed870.js');
10
10
  const formConfigFetcher = require('./form-config-fetcher-4a952a50.js');
11
11
  const form = require('@sankhyalabs/ezui/dist/collection/utils/form');
12
12
  require('./_commonjsHelpers-537d719a.js');
@@ -980,7 +980,7 @@ const SnkFormConfig = class {
980
980
  }
981
981
  render() {
982
982
  var _a, _b, _c, _d;
983
- return (index.h(index.Host, null, index.h("div", { class: "ez-row ez-padding--medium" }, index.h("div", { class: "ez-col ez-col--sd-7 ez-col--tb-9 ez-align--middle" }, index.h("ez-button", { mode: "icon", iconName: "arrow_back", class: "ez-padding--small", size: "small", onClick: () => this.closeFormConfig(), id: "formConfigToBack" }), index.h("h1", { class: "ez-title ez-title--extra-large ez-padding--small" }, this.getMessage("snkFormConfig.title")), this._formConfigOptions &&
983
+ return (index.h(index.Host, null, index.h("div", { class: "ez-row ez-padding--medium" }, index.h("div", { class: "ez-col ez-col--sd-7 ez-col--tb-9 ez-align--middle" }, index.h("ez-button", { mode: "icon", title: this.getMessage("snkFormConfig.goBackTitle"), iconName: "arrow_back", class: "ez-padding--small", size: "small", onClick: () => this.closeFormConfig(), id: "formConfigToBack" }), index.h("h1", { class: "ez-title ez-title--extra-large ez-padding--small" }, this.getMessage("snkFormConfig.title")), this._formConfigOptions &&
984
984
  index.h("ez-actions-button", { class: "form-config__actions-button ez-margin-left--medium", value: (_a = this._optionFormConfigSelected) === null || _a === void 0 ? void 0 : _a.origin, showLabel: true, displayIcon: "chevron-down", checkOption: true, size: "small", actions: this._formConfigOptions.map((option) => {
985
985
  return { value: option.origin, label: option.name };
986
986
  }), onEzAction: (evt) => this.controlSelectFormConfig(evt), id: "selectConfig" })), index.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 &&
@@ -7,7 +7,7 @@ const core = require('@sankhyalabs/core');
7
7
  const utils = require('@sankhyalabs/ezui/dist/collection/utils');
8
8
  const CheckMode = require('@sankhyalabs/ezui/dist/collection/components/ez-check/CheckMode');
9
9
  const ConfigStorage = require('./ConfigStorage-bc7d1d9b.js');
10
- const constants = require('./constants-73803daf.js');
10
+ const constants = require('./constants-ae0ed870.js');
11
11
  require('./form-config-fetcher-4a952a50.js');
12
12
  require('./DataFetcher-6acfc3a8.js');
13
13
  require('./_commonjsHelpers-537d719a.js');
@@ -7,7 +7,7 @@ const core = require('@sankhyalabs/core');
7
7
  const UnitMetadata = require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
8
8
  const ConfigStorage = require('./ConfigStorage-bc7d1d9b.js');
9
9
  const index$1 = require('./index-f400b1d6.js');
10
- const taskbarProcessor = require('./taskbar-processor-6f3d2a75.js');
10
+ const taskbarProcessor = require('./taskbar-processor-bce3f499.js');
11
11
  const index$2 = require('./index-fc7ca86c.js');
12
12
  require('./form-config-fetcher-4a952a50.js');
13
13
  require('./DataFetcher-6acfc3a8.js');
@@ -155,7 +155,6 @@ const SnkGrid = class {
155
155
  }
156
156
  async dataExporterProviderStore() {
157
157
  var _a, _b;
158
- const paginationInfo = this.getPaginationInfo();
159
158
  const columnsMetadata = [];
160
159
  const selectedIDs = await ((_a = this._snkDataUnit) === null || _a === void 0 ? void 0 : _a.getSelectedRecordsIDsInfo());
161
160
  await ((_b = this._grid) === null || _b === void 0 ? void 0 : _b.getColumnsState().then(this.buildColumnsMetadata.bind(this, columnsMetadata)));
@@ -177,7 +176,7 @@ const SnkGrid = class {
177
176
  },
178
177
  getSelectedNumber: () => {
179
178
  var _a, _b;
180
- return (_b = (_a = this._dataState) === null || _a === void 0 ? void 0 : _a.selectedRecords) === null || _b === void 0 ? void 0 : _b.length;
179
+ return (_b = (_a = this._dataState) === null || _a === void 0 ? void 0 : _a.selectionInfo) === null || _b === void 0 ? void 0 : _b.length;
181
180
  },
182
181
  getTotalRecords: () => {
183
182
  var _a, _b, _c;
@@ -188,7 +187,7 @@ const SnkGrid = class {
188
187
  return selectedIDs || [];
189
188
  },
190
189
  getOffset: () => {
191
- return this.getExporterOffset(paginationInfo);
190
+ return this.getExporterOffset(this.getPaginationInfo());
192
191
  },
193
192
  getLimit: () => {
194
193
  var _a;
@@ -230,10 +229,23 @@ const SnkGrid = class {
230
229
  }
231
230
  this.loadConfig();
232
231
  }
232
+ getHeaderDisabledButtons() {
233
+ var _a;
234
+ const disabledButtons = [];
235
+ if ((_a = this._dataState) === null || _a === void 0 ? void 0 : _a.selectionInfo) {
236
+ if (this._dataState.selectionInfo.length > 1) {
237
+ disabledButtons.push("CLONE");
238
+ }
239
+ if (this._dataState.selectionInfo.isAllRecords()) {
240
+ disabledButtons.push("REMOVE");
241
+ }
242
+ }
243
+ return disabledButtons;
244
+ }
233
245
  componentWillRender() {
234
246
  const invisibleButtons = this._dataUnit && this._dataUnit.records.length > 0 ? [] : ["DATA_EXPORTER"];
235
- const headerTaskbarId = this._dataState && this._dataState.selectedRecords.length > 0 ? "snkGridHeaderTaskbar.selected" : "snkGridHeaderTaskbar.unselected";
236
- this._headerTaskbarProcessor.process(headerTaskbarId, this.taskbarManager, this._dataState, undefined, invisibleButtons);
247
+ const headerTaskbarId = this._dataState && this._dataState.selectionInfo.isEmpty() ? "snkGridHeaderTaskbar.unselected" : "snkGridHeaderTaskbar.selected";
248
+ this._headerTaskbarProcessor.process(headerTaskbarId, this.taskbarManager, this._dataState, this.getHeaderDisabledButtons(), invisibleButtons);
237
249
  this._topTaskbarProcessor.process(this.getTopTaskBarId(this.presentationMode === index$1.PresentationMode.SECONDARY ? ".secondary" : ""), this.taskbarManager, this._dataState, undefined, invisibleButtons);
238
250
  this.dataExporterProviderStore();
239
251
  }
@@ -4,9 +4,9 @@ const index = require('./index-21bd01e1.js');
4
4
  const core = require('@sankhyalabs/core');
5
5
  const SnkFormConfigManager = require('./SnkFormConfigManager-5230e010.js');
6
6
  const form = require('@sankhyalabs/ezui/dist/collection/utils/form');
7
- const taskbarProcessor = require('./taskbar-processor-6f3d2a75.js');
7
+ const taskbarProcessor = require('./taskbar-processor-bce3f499.js');
8
8
  const taskbarElements = require('./taskbar-elements-5e87cf44.js');
9
- const constants = require('./constants-73803daf.js');
9
+ const constants = require('./constants-ae0ed870.js');
10
10
  require('./DataFetcher-6acfc3a8.js');
11
11
  const index$1 = require('./index-f400b1d6.js');
12
12
 
@@ -151,7 +151,7 @@ const SnkGuidesViewer = class {
151
151
  }
152
152
  }
153
153
  loadTaskbarProcessor() {
154
- var _a;
154
+ var _a, _b;
155
155
  const taskbarId = ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? "snkGuideViewer.finish_edition" : "snkGuideViewer.regular";
156
156
  const disabledButtons = [];
157
157
  if (!this.dataState || !this.dataState.hasPrevious) {
@@ -160,6 +160,14 @@ const SnkGuidesViewer = class {
160
160
  if (!this.dataState || !this.dataState.hasNext) {
161
161
  disabledButtons.push("NEXT");
162
162
  }
163
+ if ((_b = this.dataState) === null || _b === void 0 ? void 0 : _b.selectionInfo) {
164
+ if (this.dataState.selectionInfo.length > 1) {
165
+ disabledButtons.push("CLONE");
166
+ }
167
+ if (this.dataState.selectionInfo.isAllRecords()) {
168
+ disabledButtons.push("REMOVE");
169
+ }
170
+ }
163
171
  const btnsRegularMode = ["PREVIOUS", "NEXT", "DIVIDER", "CLONE", "REMOVE", "MORE_OPTIONS", "DIVIDER", "GRID_MODE", "CONFIGURATOR"];
164
172
  if (this.presentationMode == index$1.PresentationMode.SECONDARY) {
165
173
  btnsRegularMode.unshift("INSERT");
@@ -310,7 +318,7 @@ const SnkGuidesViewer = class {
310
318
  }
311
319
  this.loadTaskbarProcessor();
312
320
  const showGuides = this._guides && (this._guides.length > 1);
313
- return (index.h("section", { class: "snk-guides-viewer" }, index.h("div", { class: "ez-row snk-guides-viewer__header" }, index.h("div", { class: "ez-col ez-col--sd-6 ez-col--tb-6 ez-flex--align-items-center ez-flex-item--align-center ez-padding-left--large", key: "header" }, index.h("ez-button", { onClick: () => this.exitViewer(), title: "tooltip", mode: "icon", iconName: "arrow_back", class: "ez-padding-right--medium", size: "small" }), index.h("div", { class: "ez-flex ez-flex--column ez-flex-item--auto" }, index.h("h1", { class: "ez-title ez-title--primary ez-title--xlarge" }, this.getMessage("snkCrud.title")), ((_a = this._breadcrumbItems) === null || _a === void 0 ? void 0 : _a.length) > 1 &&
321
+ return (index.h("section", { class: "snk-guides-viewer" }, index.h("div", { class: "ez-row snk-guides-viewer__header" }, index.h("div", { class: "ez-col ez-col--sd-6 ez-col--tb-6 ez-flex--align-items-center ez-flex-item--align-center ez-padding-left--large", key: "header" }, index.h("ez-button", { onClick: () => this.exitViewer(), title: this.getMessage("snkCrud.goBackTitle"), mode: "icon", iconName: "arrow_back", class: "ez-padding-right--medium", size: "small" }), index.h("div", { class: "ez-flex ez-flex--column ez-flex-item--auto" }, index.h("h1", { class: "ez-title ez-title--primary ez-title--xlarge" }, this.getMessage("snkCrud.title")), ((_a = this._breadcrumbItems) === null || _a === void 0 ? void 0 : _a.length) > 1 &&
314
322
  index.h("div", { class: "ez-margin-top--extra-small" }, index.h("ez-breadcrumb", Object.assign({ items: this._breadcrumbItems, onSelectedItem: (evt) => this.onBreadcrumbClickHandler(evt === null || evt === void 0 ? void 0 : evt.detail) }, { [core.ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `${core.ElementIDUtils.getInternalIDInfo("breadcrumb")}` }))))), this.presentationMode != index$1.PresentationMode.SECONDARY && this.buildTaskBar()), index.h("div", { class: showGuides ? "snk-guides-viewer__container" : undefined }, showGuides && index.h("ez-guide-navigator", { ref: (ref) => this._guideNavigator = ref, class: "snk-guides-viewer__guide-navigator", items: this._guides, selectedId: this.selectedGuide ? this.selectedGuide.id : undefined, onEzChange: evt => this.updateSelectedGuideHandler(evt.detail) }), index.h("div", { class: "snk-guides-viewer__detail-container" }, SnkGuidesViewer.buildFixedForms(this.masterFormConfig, this._masterFormMetadata, (_b = this.selectedGuide) === null || _b === void 0 ? void 0 : _b.id, this.dataUnit, this.recordsValidator), this.getContent())), index.h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this.getConfigViewMode(), onConfigSelected: (evt) => this.changeConfigViewMode(evt.detail), onOpenConfig: (evt) => this.openConfig(evt.detail) })));
315
323
  }
316
324
  static get watchers() { return {
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const snkGuidesViewer = require('./snk-guides-viewer-5d3dca5d.js');
5
+ const snkGuidesViewer = require('./snk-guides-viewer-cb02e675.js');
6
6
  require('./index-21bd01e1.js');
7
7
  require('@sankhyalabs/core');
8
8
  require('./SnkFormConfigManager-5230e010.js');
@@ -11,11 +11,11 @@ require('./form-config-fetcher-4a952a50.js');
11
11
  require('./DataFetcher-6acfc3a8.js');
12
12
  require('./_commonjsHelpers-537d719a.js');
13
13
  require('@sankhyalabs/ezui/dist/collection/utils/form');
14
- require('./taskbar-processor-6f3d2a75.js');
14
+ require('./taskbar-processor-bce3f499.js');
15
15
  require('./taskbar-elements-5e87cf44.js');
16
16
  require('./index-f400b1d6.js');
17
17
  require('./index-fc7ca86c.js');
18
- require('./constants-73803daf.js');
18
+ require('./constants-ae0ed870.js');
19
19
 
20
20
 
21
21
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-21bd01e1.js');
6
- const constants = require('./constants-73803daf.js');
6
+ const constants = require('./constants-ae0ed870.js');
7
7
 
8
8
  const snkSelectBoxCss = "ez-combo-box{width:100px}.grid-config-combo{--ez-text-input--height:28px;--ez-text-input__input--background-color:#fff;--ez-text-input__input--border-color:#dce0e8}";
9
9
 
@@ -4,11 +4,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-21bd01e1.js');
6
6
  const core = require('@sankhyalabs/core');
7
- const constants = require('./constants-73803daf.js');
7
+ const constants = require('./constants-ae0ed870.js');
8
8
  const taskbarElements = require('./taskbar-elements-5e87cf44.js');
9
9
  require('./DataFetcher-6acfc3a8.js');
10
10
  const index$1 = require('./index-f400b1d6.js');
11
- const taskbarProcessor = require('./taskbar-processor-6f3d2a75.js');
11
+ const taskbarProcessor = require('./taskbar-processor-bce3f499.js');
12
12
  require('./index-fc7ca86c.js');
13
13
  require('./_commonjsHelpers-537d719a.js');
14
14
 
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-21bd01e1.js');
6
6
  const draggable_bundle = require('./draggable.bundle-82a25c06.js');
7
7
  const core = require('@sankhyalabs/core');
8
- const constants = require('./constants-73803daf.js');
8
+ const constants = require('./constants-ae0ed870.js');
9
9
  require('./_commonjsHelpers-537d719a.js');
10
10
 
11
11
  const snkTabConfigCss = "@keyframes activate{0%{clip-path:inset(calc(100% - 3px) 50% 0px 50%)}100%{clip-path:inset(calc(100% - 3px) 0px 0px 0px)}}.sc-snk-tab-config-h{--snk-tab-config--backward-icon:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" height=\"16px\" width=\"10px\"><path d=\"M 9.7808475,13.860393 3.9204526,8.0000004 9.7808475,2.0624965 7.9301965,0.28895552 0.21915255,8.0000004 7.9301965,15.711044 Z\"/></svg>');--snk-tab-config--forward-icon:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" height=\"16px\" width=\"10px\"><path d=\"M 0.21915251,13.860393 6.0795475,8.0000007 0.21915251,2.0624968 2.0698036,0.28895588 9.7808475,8.0000007 2.0698036,15.711044 Z\"/></svg>');--snk-tab-config__lower-bar--background-color:var(--color--disable-primary, #e5eaf0);--snk-tab-config__lower-bar--border:2px solid var(--color--disable-primary, #e5eaf0);--snk-tab-config__tab--color:var(--text--primary, #626e82);--snk-tab-config__tab--font-family:var(--font-pattern, \"Roboto\");--snk-tab-config__tab--font-size:var(--title--small, 14px);--snk-tab-config__tab--padding:var(--space--small, 6px) var(--space--medium, 12px);--snk-tab-config__tab-is-active--color:var(--color--primary, #008561);--snk-tab-config__tab-hover--color:var(--color--secondary, #383c45);--snk-tab-config__tab-is-focused--border:1px dashed var(--color--primary, #008561);--snk-tab-config__tab-label--text-shadow:var(--text-shadow, 0 0 0 #353535, 0 0 1px transparent);--snk-tab-config__tab-label--margin-bottom:var(--space--extra-small, 3px);--snk-tab-config__new-button-icon--color:var(--color--secondary-700, #1C1D22);--snk-tab-config__forward-button--background-color:var(--text--primary, #626e82);--snk-tab-config__forward-button-hover--background-color:var(--color--primary, #008561);--snk-tab-config__left-icon--padding-right:var(--space--small, 6px);--snk-tab-config__left-icon--color:var(--text--disable, #AFB6C0);--snk-tab-config__tab-label-disabled--color:var(--text--disable, #AFB6C0);--snk-tab-config__slot--margin-left:var(--space--small, 6px);display:flex;position:relative;width:100%;overflow:hidden}.tab-config__scroll.sc-snk-tab-config{display:flex;width:100%;scroll-behavior:smooth;overflow-x:auto;scrollbar-width:none}.tab-config__lower-bar.sc-snk-tab-config{position:absolute;left:0%;right:0%;top:91%;bottom:0%;border-radius:2px;background-color:var(--snk-tab-config__lower-bar--background-color);border:var(--snk-tab-config__lower-bar--border)}.tab-config__tab.sc-snk-tab-config{display:flex;border:none;background-color:unset;cursor:pointer;align-items:center;justify-content:center;min-width:fit-content;color:var(--snk-tab-config__tab--color);font-family:var(--snk-tab-config__tab--font-family);font-size:var(--snk-tab-config__tab--font-size);padding:var(--snk-tab-config__tab--padding)}.tab-config__tab.sc-snk-tab-config:focus,.tab-config__forward-button.sc-snk-tab-config,.tab-config__backward-button.sc-snk-tab-config{outline:none}.tab-config__tab--is-active.sc-snk-tab-config{position:relative;color:var(--snk-tab-config__tab-is-active--color)}.tab-config__tab.sc-snk-tab-config:hover{color:var(--snk-tab-config__tab-hover--color)}.tab-config__tab--is-active.sc-snk-tab-config:hover{color:var(--snk-tab-config__tab-is-active--color)}.tab-config__tab--is-active.sc-snk-tab-config::after{content:\"\";position:absolute;width:100%;height:100%;clip-path:inset(calc(100% - 3px) 0px 0px 0px);animation:activate 0.25s ease-in-out;background-color:var(--snk-tab-config__tab-is-active--color)}.tab-config__tab--is-focused.sc-snk-tab-config{border:var(--snk-tab-config__tab-is-focused--border)}.tab-config__tab-label.sc-snk-tab-config{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-shadow:var(--snk-tab-config__tab-label--text-shadow);margin-bottom:var(--snk-tab-config__tab-label--margin-bottom)}.tab-config__forward-button.sc-snk-tab-config,.tab-config__backward-button.sc-snk-tab-config{position:absolute;z-index:1;display:flex;box-sizing:border-box;padding:0px;top:0px;right:0px;width:16px;height:100%;border:none;background-color:unset;cursor:pointer;justify-content:center;align-items:center}.tab-config__new-button.sc-snk-tab-config{position:absolute;z-index:1;display:flex;box-sizing:border-box;padding:0px;top:0px;right:0px;height:100%;border:none;background-color:unset;cursor:pointer;justify-content:center;align-items:center}.tab-config__new-button.sc-snk-tab-config ez-icon.sc-snk-tab-config{--ez-icon--color:var(--snk-tab-config__new-button-icon--color)}.tab-config__backward-button.sc-snk-tab-config{left:0px;box-shadow:10px 10px 5px 5px white;background:white}.tab-config__forward-button.sc-snk-tab-config{box-shadow:10px 10px 5px 20px white;background:white}.tab-config__forward-button.sc-snk-tab-config::after,.tab-config__backward-button.sc-snk-tab-config::after{content:'';display:flex;width:10px;height:16px;background-color:var(--snk-tab-config__forward-button--background-color)}.tab-config__forward-button.sc-snk-tab-config::after{-webkit-mask-image:var(--snk-tab-config--forward-icon);mask-image:var(--snk-tab-config--forward-icon)}.tab-config__backward-button.sc-snk-tab-config::after{-webkit-mask-image:var(--snk-tab-config--backward-icon);mask-image:var(--snk-tab-config--backward-icon)}.tab-config__forward-button.sc-snk-tab-config:hover::after,.tab-config__backward-button.sc-snk-tab-config:hover::after{background-color:var(--snk-tab-config__forward-button-hover--background-color)}.tab-config__new-button.sc-snk-tab-config:hover ez-icon.sc-snk-tab-config{--ez-icon--color:var(--snk-tab-config__forward-button-hover--background-color)}.tab-config__hidden.sc-snk-tab-config{display:none}.tab-config__scroll.sc-snk-tab-config::-webkit-scrollbar{display:none}.tab-config__left-icon.sc-snk-tab-config{padding-right:var(--snk-tab-config__left-icon--padding-right);--ez-icon--color:var(--snk-tab-config__left-icon--color)}.tab-config__left-icon--eye-off.sc-snk-tab-config{--ez-icon--color:var(--snk-tab-config__left-icon--color)}.tab-config__right-icon.sc-snk-tab-config{visibility:hidden;padding-left:var(--snk-tab-config__left-icon--padding-right)}.tab-config__tab.sc-snk-tab-config:hover .tab-config__right-icon.sc-snk-tab-config{visibility:visible}.tab-config__tab--is-active.sc-snk-tab-config .tab-config__right-icon.sc-snk-tab-config{visibility:visible;--ez-icon--color:var(--snk-tab-config__tab-is-active--color)}.tab-config__tab.sc-snk-tab-config:hover .tab-config__right-icon.sc-snk-tab-config{--ez-icon--color:var(--snk-tab-config__tab-hover--color)}.tab-config__tab--is-active.sc-snk-tab-config:hover .tab-config__right-icon.sc-snk-tab-config{--ez-icon--color:var(--snk-tab-config__tab-is-active--color)}.tab-config__actions-button.sc-snk-tab-config{--ez-actions-button__btn-action--min-width:100px;visibility:hidden;opacity:0;transition:visibility 1s linear, opacity 0.3s linear}.tab-config__tab.sc-snk-tab-config:hover .tab-config__actions-button.sc-snk-tab-config{visibility:visible;opacity:1;transition:visibility 0.2s linear, opacity 0.10s linear}[data-draggable-element].sc-snk-tab-config{cursor:grab}.tab-config__tab-label-disabled.sc-snk-tab-config{color:var(--snk-tab-config__tab-label-disabled--color)}.tab-config__slot.sc-snk-tab-config{margin-left:var(--snk-tab-config__slot--margin-left)}";
@@ -8,7 +8,7 @@ class TaskbarProcessor {
8
8
  var _a;
9
9
  this.customButtons = new Map();
10
10
  this.buttons = "";
11
- this.disabledButtons = [];
11
+ this.disabledButtons = [].concat(disabledButtons);
12
12
  (_a = this.getButtonsArray(taskbarId, taskbarManager, dataState)) === null || _a === void 0 ? void 0 : _a.forEach(btnDef => {
13
13
  let buttonName;
14
14
  if (typeof btnDef === "string") {
@@ -142,7 +142,7 @@ export class SnkGuidesViewer {
142
142
  }
143
143
  }
144
144
  loadTaskbarProcessor() {
145
- var _a;
145
+ var _a, _b;
146
146
  const taskbarId = ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? "snkGuideViewer.finish_edition" : "snkGuideViewer.regular";
147
147
  const disabledButtons = [];
148
148
  if (!this.dataState || !this.dataState.hasPrevious) {
@@ -151,6 +151,14 @@ export class SnkGuidesViewer {
151
151
  if (!this.dataState || !this.dataState.hasNext) {
152
152
  disabledButtons.push("NEXT");
153
153
  }
154
+ if ((_b = this.dataState) === null || _b === void 0 ? void 0 : _b.selectionInfo) {
155
+ if (this.dataState.selectionInfo.length > 1) {
156
+ disabledButtons.push("CLONE");
157
+ }
158
+ if (this.dataState.selectionInfo.isAllRecords()) {
159
+ disabledButtons.push("REMOVE");
160
+ }
161
+ }
154
162
  const btnsRegularMode = ["PREVIOUS", "NEXT", "DIVIDER", "CLONE", "REMOVE", "MORE_OPTIONS", "DIVIDER", "GRID_MODE", "CONFIGURATOR"];
155
163
  if (this.presentationMode == PresentationMode.SECONDARY) {
156
164
  btnsRegularMode.unshift("INSERT");
@@ -301,7 +309,7 @@ export class SnkGuidesViewer {
301
309
  }
302
310
  this.loadTaskbarProcessor();
303
311
  const showGuides = this._guides && (this._guides.length > 1);
304
- return (h("section", { class: "snk-guides-viewer" }, h("div", { class: "ez-row snk-guides-viewer__header" }, h("div", { class: "ez-col ez-col--sd-6 ez-col--tb-6 ez-flex--align-items-center ez-flex-item--align-center ez-padding-left--large", key: "header" }, h("ez-button", { onClick: () => this.exitViewer(), title: "tooltip", mode: "icon", iconName: "arrow_back", class: "ez-padding-right--medium", size: "small" }), h("div", { class: "ez-flex ez-flex--column ez-flex-item--auto" }, h("h1", { class: "ez-title ez-title--primary ez-title--xlarge" }, this.getMessage("snkCrud.title")), ((_a = this._breadcrumbItems) === null || _a === void 0 ? void 0 : _a.length) > 1 &&
312
+ return (h("section", { class: "snk-guides-viewer" }, h("div", { class: "ez-row snk-guides-viewer__header" }, h("div", { class: "ez-col ez-col--sd-6 ez-col--tb-6 ez-flex--align-items-center ez-flex-item--align-center ez-padding-left--large", key: "header" }, h("ez-button", { onClick: () => this.exitViewer(), title: this.getMessage("snkCrud.goBackTitle"), mode: "icon", iconName: "arrow_back", class: "ez-padding-right--medium", size: "small" }), h("div", { class: "ez-flex ez-flex--column ez-flex-item--auto" }, h("h1", { class: "ez-title ez-title--primary ez-title--xlarge" }, this.getMessage("snkCrud.title")), ((_a = this._breadcrumbItems) === null || _a === void 0 ? void 0 : _a.length) > 1 &&
305
313
  h("div", { class: "ez-margin-top--extra-small" }, h("ez-breadcrumb", Object.assign({ items: this._breadcrumbItems, onSelectedItem: (evt) => this.onBreadcrumbClickHandler(evt === null || evt === void 0 ? void 0 : evt.detail) }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `${ElementIDUtils.getInternalIDInfo("breadcrumb")}` }))))), this.presentationMode != PresentationMode.SECONDARY && this.buildTaskBar()), h("div", { class: showGuides ? "snk-guides-viewer__container" : undefined }, showGuides && h("ez-guide-navigator", { ref: (ref) => this._guideNavigator = ref, class: "snk-guides-viewer__guide-navigator", items: this._guides, selectedId: this.selectedGuide ? this.selectedGuide.id : undefined, onEzChange: evt => this.updateSelectedGuideHandler(evt.detail) }), h("div", { class: "snk-guides-viewer__detail-container" }, SnkGuidesViewer.buildFixedForms(this.masterFormConfig, this._masterFormMetadata, (_b = this.selectedGuide) === null || _b === void 0 ? void 0 : _b.id, this.dataUnit, this.recordsValidator), this.getContent())), h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this.getConfigViewMode(), onConfigSelected: (evt) => this.changeConfigViewMode(evt.detail), onOpenConfig: (evt) => this.openConfig(evt.detail) })));
306
314
  }
307
315
  static get is() { return "snk-guides-viewer"; }