@sankhyalabs/sankhyablocks 4.0.3 → 4.1.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 (63) hide show
  1. package/dist/cjs/{SnkMessageBuilder-196c6528.js → SnkMessageBuilder-0a6f6459.js} +6 -2
  2. package/dist/cjs/{constants-450c0bb7.js → constants-3d09ebea.js} +2 -0
  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 +32 -8
  9. package/dist/cjs/snk-detail-view.cjs.entry.js +2 -2
  10. package/dist/cjs/snk-field-config.cjs.entry.js +1 -1
  11. package/dist/cjs/snk-form-config.cjs.entry.js +1 -1
  12. package/dist/cjs/snk-grid-config.cjs.entry.js +1 -1
  13. package/dist/cjs/{snk-guides-viewer-a0f5f546.js → snk-guides-viewer-bfa51a35.js} +1 -1
  14. package/dist/cjs/snk-guides-viewer.cjs.entry.js +2 -2
  15. package/dist/cjs/snk-select-box.cjs.entry.js +1 -1
  16. package/dist/cjs/snk-tab-config.cjs.entry.js +1 -1
  17. package/dist/collection/components/snk-data-unit/snk-data-unit.js +31 -7
  18. package/dist/collection/lib/message/resources/snk-data-unit.msg.js +6 -2
  19. package/dist/collection/lib/utils/constants.js +1 -0
  20. package/dist/components/SnkMessageBuilder.js +6 -2
  21. package/dist/components/constants.js +2 -1
  22. package/dist/components/snk-data-unit2.js +31 -7
  23. package/dist/components/snk-field-config2.js +1 -1
  24. package/dist/components/snk-form-config2.js +1 -1
  25. package/dist/components/snk-tab-config2.js +1 -1
  26. package/dist/esm/{SnkMessageBuilder-acb1109f.js → SnkMessageBuilder-9473ae03.js} +6 -2
  27. package/dist/esm/{constants-e12d550a.js → constants-fb9721cc.js} +2 -1
  28. package/dist/esm/snk-application.entry.js +1 -1
  29. package/dist/esm/snk-config-options.entry.js +1 -1
  30. package/dist/esm/snk-configurator.entry.js +1 -1
  31. package/dist/esm/snk-crud.entry.js +1 -1
  32. package/dist/esm/snk-data-exporter.entry.js +1 -1
  33. package/dist/esm/snk-data-unit.entry.js +32 -8
  34. package/dist/esm/snk-detail-view.entry.js +2 -2
  35. package/dist/esm/snk-field-config.entry.js +1 -1
  36. package/dist/esm/snk-form-config.entry.js +1 -1
  37. package/dist/esm/snk-grid-config.entry.js +1 -1
  38. package/dist/esm/{snk-guides-viewer-4e53ebba.js → snk-guides-viewer-cfde258d.js} +1 -1
  39. package/dist/esm/snk-guides-viewer.entry.js +2 -2
  40. package/dist/esm/snk-select-box.entry.js +1 -1
  41. package/dist/esm/snk-tab-config.entry.js +1 -1
  42. package/dist/sankhyablocks/{p-3fa1a1a6.entry.js → p-093c611a.entry.js} +1 -1
  43. package/dist/sankhyablocks/{p-6d555d55.entry.js → p-214c6e3b.entry.js} +1 -1
  44. package/dist/sankhyablocks/{p-f219bb13.entry.js → p-3d0b130c.entry.js} +1 -1
  45. package/dist/sankhyablocks/{p-743b2987.entry.js → p-43d8d388.entry.js} +1 -1
  46. package/dist/sankhyablocks/{p-acad56e2.js → p-644ee06b.js} +1 -1
  47. package/dist/sankhyablocks/{p-a9ff94e4.entry.js → p-6e6ef989.entry.js} +1 -1
  48. package/dist/sankhyablocks/{p-03c390a3.entry.js → p-79bf9da2.entry.js} +1 -1
  49. package/dist/sankhyablocks/p-82be7302.entry.js +1 -0
  50. package/dist/sankhyablocks/{p-18271554.entry.js → p-8fb3156e.entry.js} +1 -1
  51. package/dist/sankhyablocks/{p-d4e7dcdf.entry.js → p-99742169.entry.js} +1 -1
  52. package/dist/sankhyablocks/{p-3b56228a.entry.js → p-9d62bbca.entry.js} +1 -1
  53. package/dist/sankhyablocks/p-c4483cb2.js +1 -0
  54. package/dist/sankhyablocks/{p-9143adf7.entry.js → p-dd36931c.entry.js} +1 -1
  55. package/dist/sankhyablocks/{p-05973fd0.entry.js → p-ed7ffabd.entry.js} +1 -1
  56. package/dist/sankhyablocks/p-f5d3ecb3.js +1 -0
  57. package/dist/sankhyablocks/{p-36263907.entry.js → p-fc86a31e.entry.js} +1 -1
  58. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  59. package/dist/types/lib/utils/constants.d.ts +1 -0
  60. package/package.json +1 -1
  61. package/dist/sankhyablocks/p-0da84eaf.entry.js +0 -1
  62. package/dist/sankhyablocks/p-eaafcafb.js +0 -1
  63. package/dist/sankhyablocks/p-ebca169e.js +0 -1
@@ -33,7 +33,9 @@ const snkDataUnitMessages = {
33
33
  },
34
34
  confirm: {
35
35
  cancel: "Cancelar",
36
- delete: "Excluir"
36
+ delete: "Excluir",
37
+ yes: "Sim",
38
+ no: "Não"
37
39
  },
38
40
  removeInfo: "Registro removido com sucesso!",
39
41
  cancelConfirmationTitle: "Aviso",
@@ -44,7 +46,9 @@ const snkDataUnitMessages = {
44
46
  forbiddenUpdate: "Não é possível fazer alterações. Verifique as permissões de acesso.",
45
47
  forbiddenInsert: "Não é possível incluir. Verifique as permissões de acesso.",
46
48
  forbiddenClone: "Não é possível duplicar. Verifique as permissões de acesso.",
47
- forbiddenRemove: "Não é possível remover. Verifique as permissões de acesso."
49
+ forbiddenRemove: "Não é possível remover. Verifique as permissões de acesso.",
50
+ removeAllConfirmation: "Os <strong>{{size}} registros selecionados</strong> serão excluídos.<br/><br/><strong>Você realmente gostaria de continuar?</strong>",
51
+ removeAllInfo: "Os {{size}} registros foram removidos com sucesso!",
48
52
  };
49
53
 
50
54
  const snkFilterBarMessages = {
@@ -2,6 +2,7 @@
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";
5
6
  exports.VIEW_MODE = void 0;
6
7
  (function (VIEW_MODE) {
7
8
  VIEW_MODE[VIEW_MODE["GRID"] = 0] = "GRID";
@@ -96,6 +97,7 @@ const WEB_CONNECTION = {
96
97
  };
97
98
 
98
99
  exports.ACTION_CONFIG = ACTION_CONFIG;
100
+ exports.ALL_RECORD = ALL_RECORD;
99
101
  exports.CONFIG_EVENTS = CONFIG_EVENTS;
100
102
  exports.DEFAULT_TYPE = DEFAULT_TYPE;
101
103
  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-bceeaf2d.js');
8
8
  const utils = require('@sankhyalabs/ezui/dist/collection/utils');
9
- const SnkMessageBuilder = require('./SnkMessageBuilder-196c6528.js');
9
+ const SnkMessageBuilder = require('./SnkMessageBuilder-0a6f6459.js');
10
10
  const ConfigStorage = require('./ConfigStorage-b47fb254.js');
11
11
  const formConfigFetcher = require('./form-config-fetcher-0c6628d5.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-450c0bb7.js');
9
+ const constants = require('./constants-3d09ebea.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-450c0bb7.js');
8
+ const constants = require('./constants-3d09ebea.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-bceeaf2d.js');
9
9
  const index$1 = require('./index-f400b1d6.js');
10
- const constants = require('./constants-450c0bb7.js');
10
+ const constants = require('./constants-3d09ebea.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-450c0bb7.js');
9
+ const constants = require('./constants-3d09ebea.js');
10
10
  const DataFetcher = require('./DataFetcher-bceeaf2d.js');
11
11
  require('./_commonjsHelpers-537d719a.js');
12
12
 
@@ -5,7 +5,8 @@ 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-196c6528.js');
8
+ const SnkMessageBuilder = require('./SnkMessageBuilder-0a6f6459.js');
9
+ const constants = require('./constants-3d09ebea.js');
9
10
 
10
11
  const snkDataUnitCss = ".sc-snk-data-unit-h{display:flex;flex-direction:column;height:100%;width:100%}";
11
12
 
@@ -18,6 +19,7 @@ const SnkDataUnit = class {
18
19
  this.cancelEdition = index.createEvent(this, "cancelEdition", 3);
19
20
  this._onDataUnitResolve = [];
20
21
  this._dataUnitObserver = (action) => {
22
+ var _a, _b;
21
23
  const duState = this.buildDataState();
22
24
  this.dataState = duState;
23
25
  if (action.type === core.Action.DATA_SAVED) {
@@ -33,7 +35,18 @@ const SnkDataUnit = class {
33
35
  this.cancelEdition.emit();
34
36
  }
35
37
  if (action.type === core.Action.RECORDS_REMOVED) {
36
- const removeFinishMsg = this.getMessage("snkDataUnit.removeInfo", action.payload.cachedRecords[0]);
38
+ let removeFinishMsg;
39
+ const cachedRecords = action.payload.cachedRecords;
40
+ if ((cachedRecords === null || cachedRecords === void 0 ? void 0 : cachedRecords.length) > 1) {
41
+ removeFinishMsg = this.getMessage("snkDataUnit.removeAllInfo", { size: cachedRecords.length });
42
+ }
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
+ else {
48
+ removeFinishMsg = this.getMessage("snkDataUnit.removeInfo", cachedRecords === null || cachedRecords === void 0 ? void 0 : cachedRecords[0]);
49
+ }
37
50
  if (removeFinishMsg != undefined) {
38
51
  this.showSuccessMessage(removeFinishMsg);
39
52
  }
@@ -99,7 +112,7 @@ const SnkDataUnit = class {
99
112
  async getSelectedRecordsIDsInfo() {
100
113
  var _a;
101
114
  const selectedRecordsIDsInfo = [];
102
- const selectedRecords = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getSelectedRecords();
115
+ const selectedRecords = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getAllSelection();
103
116
  if ((selectedRecords === null || selectedRecords === void 0 ? void 0 : selectedRecords.length) > 0) {
104
117
  selectedRecords.forEach(({ __record__id__ }) => {
105
118
  if (!this.dataUnit.isNewRecord(__record__id__)) {
@@ -133,7 +146,7 @@ const SnkDataUnit = class {
133
146
  }
134
147
  async interceptAction(action) {
135
148
  return new Promise(resolve => {
136
- var _a;
149
+ var _a, _b, _c, _d;
137
150
  switch (action.type) {
138
151
  case core.Action.RECORDS_ADDED:
139
152
  if (this.isAllowed("INSERT")) {
@@ -209,15 +222,26 @@ const SnkDataUnit = class {
209
222
  break;
210
223
  case core.Action.REMOVING_RECORDS:
211
224
  if (this.isAllowed("REMOVE")) {
212
- const removeConfirmation = this.getMessage("snkDataUnit.removeConfirmation");
225
+ let multipleSelection = false;
226
+ let removeConfirmation = this.getMessage("snkDataUnit.removeConfirmation");
227
+ const selectedRecords = (_b = this.dataUnit) === null || _b === void 0 ? void 0 : _b.getAllSelection();
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 });
235
+ multipleSelection = true;
236
+ }
213
237
  if (removeConfirmation == undefined) {
214
238
  resolve(action);
215
239
  }
216
240
  else {
217
241
  const options = {
218
242
  canClose: false,
219
- labelCancel: this.getMessage("snkDataUnit.confirm.cancel"),
220
- labelConfirm: this.getMessage("snkDataUnit.confirm.delete"),
243
+ labelCancel: this.getMessage(`snkDataUnit.confirm.${multipleSelection ? "no" : "cancel"}`),
244
+ labelConfirm: this.getMessage(`snkDataUnit.confirm.${multipleSelection ? "yes" : "delete"}`),
221
245
  btnConfirmDanger: false
222
246
  };
223
247
  const removeConfirmationTitle = this.getMessage("snkDataUnit.removeConfirmationTitle");
@@ -248,7 +272,7 @@ const SnkDataUnit = class {
248
272
  copyMode: this.dataUnit.hasCopiedRecord(),
249
273
  isDirty: this.dataUnit.isDirty(),
250
274
  hasDirtyRecords: this.dataUnit.hasDirtyRecords(),
251
- selectedRecords: this.dataUnit.getSelectedRecords(),
275
+ selectedRecords: this.dataUnit.getAllSelection(),
252
276
  selectedRecord: this.dataUnit.getSelectedRecord()
253
277
  };
254
278
  }
@@ -9,8 +9,8 @@ require('./DataFetcher-bceeaf2d.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-450c0bb7.js');
13
- const snkGuidesViewer = require('./snk-guides-viewer-a0f5f546.js');
12
+ const constants = require('./constants-3d09ebea.js');
13
+ const snkGuidesViewer = require('./snk-guides-viewer-bfa51a35.js');
14
14
  require('./ConfigStorage-b47fb254.js');
15
15
  require('./form-config-fetcher-0c6628d5.js');
16
16
  require('./_commonjsHelpers-537d719a.js');
@@ -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-450c0bb7.js');
7
+ const constants = require('./constants-3d09ebea.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-450c0bb7.js');
9
+ const constants = require('./constants-3d09ebea.js');
10
10
  const formConfigFetcher = require('./form-config-fetcher-0c6628d5.js');
11
11
  const form = require('@sankhyalabs/ezui/dist/collection/utils/form');
12
12
  require('./_commonjsHelpers-537d719a.js');
@@ -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-b47fb254.js');
10
- const constants = require('./constants-450c0bb7.js');
10
+ const constants = require('./constants-3d09ebea.js');
11
11
  require('./form-config-fetcher-0c6628d5.js');
12
12
  require('./DataFetcher-bceeaf2d.js');
13
13
  require('./_commonjsHelpers-537d719a.js');
@@ -6,7 +6,7 @@ const SnkFormConfigManager = require('./SnkFormConfigManager-eb44235b.js');
6
6
  const form = require('@sankhyalabs/ezui/dist/collection/utils/form');
7
7
  const taskbarProcessor = require('./taskbar-processor-6f3d2a75.js');
8
8
  const taskbarElements = require('./taskbar-elements-5e87cf44.js');
9
- const constants = require('./constants-450c0bb7.js');
9
+ const constants = require('./constants-3d09ebea.js');
10
10
  require('./DataFetcher-bceeaf2d.js');
11
11
  const index$1 = require('./index-f400b1d6.js');
12
12
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const snkGuidesViewer = require('./snk-guides-viewer-a0f5f546.js');
5
+ const snkGuidesViewer = require('./snk-guides-viewer-bfa51a35.js');
6
6
  require('./index-21bd01e1.js');
7
7
  require('@sankhyalabs/core');
8
8
  require('./SnkFormConfigManager-eb44235b.js');
@@ -15,7 +15,7 @@ require('./taskbar-processor-6f3d2a75.js');
15
15
  require('./taskbar-elements-5e87cf44.js');
16
16
  require('./index-f400b1d6.js');
17
17
  require('./index-fc7ca86c.js');
18
- require('./constants-450c0bb7.js');
18
+ require('./constants-3d09ebea.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-450c0bb7.js');
6
+ const constants = require('./constants-3d09ebea.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
 
@@ -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-450c0bb7.js');
8
+ const constants = require('./constants-3d09ebea.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)}";
@@ -2,10 +2,12 @@ import { Host, h } from '@stencil/core';
2
2
  import { Action, ApplicationContext, ObjectUtils, DataType, JSUtils } from '@sankhyalabs/core';
3
3
  import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
4
4
  import { OperationMap } from '../../lib/message/SnkMessageBuilder';
5
+ import { ALL_RECORD } from '../../lib/utils/constants';
5
6
  export class SnkDataUnit {
6
7
  constructor() {
7
8
  this._onDataUnitResolve = [];
8
9
  this._dataUnitObserver = (action) => {
10
+ var _a, _b;
9
11
  const duState = this.buildDataState();
10
12
  this.dataState = duState;
11
13
  if (action.type === Action.DATA_SAVED) {
@@ -21,7 +23,18 @@ export class SnkDataUnit {
21
23
  this.cancelEdition.emit();
22
24
  }
23
25
  if (action.type === Action.RECORDS_REMOVED) {
24
- const removeFinishMsg = this.getMessage("snkDataUnit.removeInfo", action.payload.cachedRecords[0]);
26
+ let removeFinishMsg;
27
+ const cachedRecords = action.payload.cachedRecords;
28
+ if ((cachedRecords === null || cachedRecords === void 0 ? void 0 : cachedRecords.length) > 1) {
29
+ removeFinishMsg = this.getMessage("snkDataUnit.removeAllInfo", { size: cachedRecords.length });
30
+ }
31
+ else if (cachedRecords === null || cachedRecords === void 0 ? void 0 : cachedRecords.some((record) => record.__record__id__ === ALL_RECORD)) {
32
+ const size = (_b = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getPaginationInfo()) === null || _b === void 0 ? void 0 : _b.total;
33
+ removeFinishMsg = this.getMessage("snkDataUnit.removeAllInfo", { size });
34
+ }
35
+ else {
36
+ removeFinishMsg = this.getMessage("snkDataUnit.removeInfo", cachedRecords === null || cachedRecords === void 0 ? void 0 : cachedRecords[0]);
37
+ }
25
38
  if (removeFinishMsg != undefined) {
26
39
  this.showSuccessMessage(removeFinishMsg);
27
40
  }
@@ -87,7 +100,7 @@ export class SnkDataUnit {
87
100
  async getSelectedRecordsIDsInfo() {
88
101
  var _a;
89
102
  const selectedRecordsIDsInfo = [];
90
- const selectedRecords = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getSelectedRecords();
103
+ const selectedRecords = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getAllSelection();
91
104
  if ((selectedRecords === null || selectedRecords === void 0 ? void 0 : selectedRecords.length) > 0) {
92
105
  selectedRecords.forEach(({ __record__id__ }) => {
93
106
  if (!this.dataUnit.isNewRecord(__record__id__)) {
@@ -121,7 +134,7 @@ export class SnkDataUnit {
121
134
  }
122
135
  async interceptAction(action) {
123
136
  return new Promise(resolve => {
124
- var _a;
137
+ var _a, _b, _c, _d;
125
138
  switch (action.type) {
126
139
  case Action.RECORDS_ADDED:
127
140
  if (this.isAllowed("INSERT")) {
@@ -197,15 +210,26 @@ export class SnkDataUnit {
197
210
  break;
198
211
  case Action.REMOVING_RECORDS:
199
212
  if (this.isAllowed("REMOVE")) {
200
- const removeConfirmation = this.getMessage("snkDataUnit.removeConfirmation");
213
+ let multipleSelection = false;
214
+ let removeConfirmation = this.getMessage("snkDataUnit.removeConfirmation");
215
+ const selectedRecords = (_b = this.dataUnit) === null || _b === void 0 ? void 0 : _b.getAllSelection();
216
+ if ((selectedRecords === null || selectedRecords === void 0 ? void 0 : selectedRecords.length) > 1) {
217
+ removeConfirmation = this.getMessage("snkDataUnit.removeAllConfirmation", { size: selectedRecords.length });
218
+ multipleSelection = true;
219
+ }
220
+ else if (selectedRecords === null || selectedRecords === void 0 ? void 0 : selectedRecords.some((record) => record.__record__id__ === ALL_RECORD)) {
221
+ const size = (_d = (_c = this.dataUnit) === null || _c === void 0 ? void 0 : _c.getPaginationInfo()) === null || _d === void 0 ? void 0 : _d.total;
222
+ removeConfirmation = this.getMessage("snkDataUnit.removeAllConfirmation", { size });
223
+ multipleSelection = true;
224
+ }
201
225
  if (removeConfirmation == undefined) {
202
226
  resolve(action);
203
227
  }
204
228
  else {
205
229
  const options = {
206
230
  canClose: false,
207
- labelCancel: this.getMessage("snkDataUnit.confirm.cancel"),
208
- labelConfirm: this.getMessage("snkDataUnit.confirm.delete"),
231
+ labelCancel: this.getMessage(`snkDataUnit.confirm.${multipleSelection ? "no" : "cancel"}`),
232
+ labelConfirm: this.getMessage(`snkDataUnit.confirm.${multipleSelection ? "yes" : "delete"}`),
209
233
  btnConfirmDanger: false
210
234
  };
211
235
  const removeConfirmationTitle = this.getMessage("snkDataUnit.removeConfirmationTitle");
@@ -236,7 +260,7 @@ export class SnkDataUnit {
236
260
  copyMode: this.dataUnit.hasCopiedRecord(),
237
261
  isDirty: this.dataUnit.isDirty(),
238
262
  hasDirtyRecords: this.dataUnit.hasDirtyRecords(),
239
- selectedRecords: this.dataUnit.getSelectedRecords(),
263
+ selectedRecords: this.dataUnit.getAllSelection(),
240
264
  selectedRecord: this.dataUnit.getSelectedRecord()
241
265
  };
242
266
  }
@@ -11,7 +11,9 @@ const snkDataUnitMessages = {
11
11
  },
12
12
  confirm: {
13
13
  cancel: "Cancelar",
14
- delete: "Excluir"
14
+ delete: "Excluir",
15
+ yes: "Sim",
16
+ no: "Não"
15
17
  },
16
18
  removeInfo: "Registro removido com sucesso!",
17
19
  cancelConfirmationTitle: "Aviso",
@@ -22,6 +24,8 @@ const snkDataUnitMessages = {
22
24
  forbiddenUpdate: "Não é possível fazer alterações. Verifique as permissões de acesso.",
23
25
  forbiddenInsert: "Não é possível incluir. Verifique as permissões de acesso.",
24
26
  forbiddenClone: "Não é possível duplicar. Verifique as permissões de acesso.",
25
- forbiddenRemove: "Não é possível remover. Verifique as permissões de acesso."
27
+ forbiddenRemove: "Não é possível remover. Verifique as permissões de acesso.",
28
+ removeAllConfirmation: "Os <strong>{{size}} registros selecionados</strong> serão excluídos.<br/><br/><strong>Você realmente gostaria de continuar?</strong>",
29
+ removeAllInfo: "Os {{size}} registros foram removidos com sucesso!",
26
30
  };
27
31
  export default snkDataUnitMessages;
@@ -1,5 +1,6 @@
1
1
  export const REPORT_LAUNCHER_RESOURCE_ID = "br.com.sankhya.controls.ReportLauncher";
2
2
  export const KEY_PORT_EXPORT = "global.porta.app.impressao";
3
+ export const ALL_RECORD = "ALL_RECORD";
3
4
  export var VIEW_MODE;
4
5
  (function (VIEW_MODE) {
5
6
  VIEW_MODE[VIEW_MODE["GRID"] = 0] = "GRID";
@@ -11,7 +11,9 @@ const snkDataUnitMessages = {
11
11
  },
12
12
  confirm: {
13
13
  cancel: "Cancelar",
14
- delete: "Excluir"
14
+ delete: "Excluir",
15
+ yes: "Sim",
16
+ no: "Não"
15
17
  },
16
18
  removeInfo: "Registro removido com sucesso!",
17
19
  cancelConfirmationTitle: "Aviso",
@@ -22,7 +24,9 @@ const snkDataUnitMessages = {
22
24
  forbiddenUpdate: "Não é possível fazer alterações. Verifique as permissões de acesso.",
23
25
  forbiddenInsert: "Não é possível incluir. Verifique as permissões de acesso.",
24
26
  forbiddenClone: "Não é possível duplicar. Verifique as permissões de acesso.",
25
- forbiddenRemove: "Não é possível remover. Verifique as permissões de acesso."
27
+ forbiddenRemove: "Não é possível remover. Verifique as permissões de acesso.",
28
+ removeAllConfirmation: "Os <strong>{{size}} registros selecionados</strong> serão excluídos.<br/><br/><strong>Você realmente gostaria de continuar?</strong>",
29
+ removeAllInfo: "Os {{size}} registros foram removidos com sucesso!",
26
30
  };
27
31
 
28
32
  const snkFilterBarMessages = {
@@ -1,5 +1,6 @@
1
1
  const REPORT_LAUNCHER_RESOURCE_ID = "br.com.sankhya.controls.ReportLauncher";
2
2
  const KEY_PORT_EXPORT = "global.porta.app.impressao";
3
+ const ALL_RECORD = "ALL_RECORD";
3
4
  var VIEW_MODE;
4
5
  (function (VIEW_MODE) {
5
6
  VIEW_MODE[VIEW_MODE["GRID"] = 0] = "GRID";
@@ -93,4 +94,4 @@ const WEB_CONNECTION = {
93
94
  }
94
95
  };
95
96
 
96
- export { ACTION_CONFIG as A, CONFIG_EVENTS as C, DEFAULT_TYPE as D, KEY_PORT_EXPORT as K, ORDER_VALUES as O, REPORT_LAUNCHER_RESOURCE_ID as R, TAGS_BY_TYPE as T, VIEW_MODE as V, WEB_CONNECTION as W, VARS_BY_TYPE as a, TAB_NAMES as b, KEY_EVENTS as c, TYPE_ACTIONS as d };
97
+ export { ALL_RECORD as A, CONFIG_EVENTS as C, DEFAULT_TYPE as D, KEY_PORT_EXPORT as K, ORDER_VALUES as O, REPORT_LAUNCHER_RESOURCE_ID as R, TAGS_BY_TYPE as T, VIEW_MODE as V, WEB_CONNECTION as W, VARS_BY_TYPE as a, ACTION_CONFIG as b, TAB_NAMES as c, KEY_EVENTS as d, TYPE_ACTIONS as e };
@@ -2,6 +2,7 @@ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/
2
2
  import { Action, ObjectUtils, JSUtils, ApplicationContext, DataType } from '@sankhyalabs/core';
3
3
  import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
4
4
  import { O as OperationMap } from './SnkMessageBuilder.js';
5
+ import { A as ALL_RECORD } from './constants.js';
5
6
 
6
7
  const snkDataUnitCss = ".sc-snk-data-unit-h{display:flex;flex-direction:column;height:100%;width:100%}";
7
8
 
@@ -15,6 +16,7 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
15
16
  this.cancelEdition = createEvent(this, "cancelEdition", 3);
16
17
  this._onDataUnitResolve = [];
17
18
  this._dataUnitObserver = (action) => {
19
+ var _a, _b;
18
20
  const duState = this.buildDataState();
19
21
  this.dataState = duState;
20
22
  if (action.type === Action.DATA_SAVED) {
@@ -30,7 +32,18 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
30
32
  this.cancelEdition.emit();
31
33
  }
32
34
  if (action.type === Action.RECORDS_REMOVED) {
33
- const removeFinishMsg = this.getMessage("snkDataUnit.removeInfo", action.payload.cachedRecords[0]);
35
+ let removeFinishMsg;
36
+ const cachedRecords = action.payload.cachedRecords;
37
+ if ((cachedRecords === null || cachedRecords === void 0 ? void 0 : cachedRecords.length) > 1) {
38
+ removeFinishMsg = this.getMessage("snkDataUnit.removeAllInfo", { size: cachedRecords.length });
39
+ }
40
+ else if (cachedRecords === null || cachedRecords === void 0 ? void 0 : cachedRecords.some((record) => record.__record__id__ === ALL_RECORD)) {
41
+ const size = (_b = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getPaginationInfo()) === null || _b === void 0 ? void 0 : _b.total;
42
+ removeFinishMsg = this.getMessage("snkDataUnit.removeAllInfo", { size });
43
+ }
44
+ else {
45
+ removeFinishMsg = this.getMessage("snkDataUnit.removeInfo", cachedRecords === null || cachedRecords === void 0 ? void 0 : cachedRecords[0]);
46
+ }
34
47
  if (removeFinishMsg != undefined) {
35
48
  this.showSuccessMessage(removeFinishMsg);
36
49
  }
@@ -96,7 +109,7 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
96
109
  async getSelectedRecordsIDsInfo() {
97
110
  var _a;
98
111
  const selectedRecordsIDsInfo = [];
99
- const selectedRecords = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getSelectedRecords();
112
+ const selectedRecords = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getAllSelection();
100
113
  if ((selectedRecords === null || selectedRecords === void 0 ? void 0 : selectedRecords.length) > 0) {
101
114
  selectedRecords.forEach(({ __record__id__ }) => {
102
115
  if (!this.dataUnit.isNewRecord(__record__id__)) {
@@ -130,7 +143,7 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
130
143
  }
131
144
  async interceptAction(action) {
132
145
  return new Promise(resolve => {
133
- var _a;
146
+ var _a, _b, _c, _d;
134
147
  switch (action.type) {
135
148
  case Action.RECORDS_ADDED:
136
149
  if (this.isAllowed("INSERT")) {
@@ -206,15 +219,26 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
206
219
  break;
207
220
  case Action.REMOVING_RECORDS:
208
221
  if (this.isAllowed("REMOVE")) {
209
- const removeConfirmation = this.getMessage("snkDataUnit.removeConfirmation");
222
+ let multipleSelection = false;
223
+ let removeConfirmation = this.getMessage("snkDataUnit.removeConfirmation");
224
+ const selectedRecords = (_b = this.dataUnit) === null || _b === void 0 ? void 0 : _b.getAllSelection();
225
+ if ((selectedRecords === null || selectedRecords === void 0 ? void 0 : selectedRecords.length) > 1) {
226
+ removeConfirmation = this.getMessage("snkDataUnit.removeAllConfirmation", { size: selectedRecords.length });
227
+ multipleSelection = true;
228
+ }
229
+ else if (selectedRecords === null || selectedRecords === void 0 ? void 0 : selectedRecords.some((record) => record.__record__id__ === ALL_RECORD)) {
230
+ const size = (_d = (_c = this.dataUnit) === null || _c === void 0 ? void 0 : _c.getPaginationInfo()) === null || _d === void 0 ? void 0 : _d.total;
231
+ removeConfirmation = this.getMessage("snkDataUnit.removeAllConfirmation", { size });
232
+ multipleSelection = true;
233
+ }
210
234
  if (removeConfirmation == undefined) {
211
235
  resolve(action);
212
236
  }
213
237
  else {
214
238
  const options = {
215
239
  canClose: false,
216
- labelCancel: this.getMessage("snkDataUnit.confirm.cancel"),
217
- labelConfirm: this.getMessage("snkDataUnit.confirm.delete"),
240
+ labelCancel: this.getMessage(`snkDataUnit.confirm.${multipleSelection ? "no" : "cancel"}`),
241
+ labelConfirm: this.getMessage(`snkDataUnit.confirm.${multipleSelection ? "yes" : "delete"}`),
218
242
  btnConfirmDanger: false
219
243
  };
220
244
  const removeConfirmationTitle = this.getMessage("snkDataUnit.removeConfirmationTitle");
@@ -245,7 +269,7 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
245
269
  copyMode: this.dataUnit.hasCopiedRecord(),
246
270
  isDirty: this.dataUnit.isDirty(),
247
271
  hasDirtyRecords: this.dataUnit.hasDirtyRecords(),
248
- selectedRecords: this.dataUnit.getSelectedRecords(),
272
+ selectedRecords: this.dataUnit.getAllSelection(),
249
273
  selectedRecord: this.dataUnit.getSelectedRecord()
250
274
  };
251
275
  }
@@ -1,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import { ApplicationContext, ElementIDUtils } from '@sankhyalabs/core';
3
- import { A as ACTION_CONFIG } from './constants.js';
3
+ import { b as ACTION_CONFIG } from './constants.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}}";
6
6
 
@@ -2,7 +2,7 @@ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/
2
2
  import { a as draggable_bundle, d as defineCustomElement$1 } from './snk-tab-config2.js';
3
3
  import { ObjectUtils, ElementIDUtils, ArrayUtils, ApplicationContext } from '@sankhyalabs/core';
4
4
  import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
5
- import { C as CONFIG_EVENTS, b as TAB_NAMES, A as ACTION_CONFIG, D as DEFAULT_TYPE } from './constants.js';
5
+ import { C as CONFIG_EVENTS, c as TAB_NAMES, b as ACTION_CONFIG, D as DEFAULT_TYPE } from './constants.js';
6
6
  import { U as UserConfigType } from './form-config-fetcher.js';
7
7
  import { buildFormConfigFromDataUnit } from '@sankhyalabs/ezui/dist/collection/utils/form';
8
8
  import { d as defineCustomElement$3 } from './snk-config-options2.js';
@@ -1,7 +1,7 @@
1
1
  import { proxyCustomElement, HTMLElement as HTMLElement$1, createEvent, h, Host, Fragment } from '@stencil/core/internal/client';
2
2
  import { c as createCommonjsModule } from './_commonjsHelpers.js';
3
3
  import { ApplicationContext, ElementIDUtils } from '@sankhyalabs/core';
4
- import { C as CONFIG_EVENTS, c as KEY_EVENTS, d as TYPE_ACTIONS, b as TAB_NAMES } from './constants.js';
4
+ import { C as CONFIG_EVENTS, d as KEY_EVENTS, e as TYPE_ACTIONS, c as TAB_NAMES } from './constants.js';
5
5
 
6
6
  var draggable_bundle = createCommonjsModule(function (module, exports) {
7
7
  (function webpackUniversalModuleDefinition(root, factory) {
@@ -11,7 +11,9 @@ const snkDataUnitMessages = {
11
11
  },
12
12
  confirm: {
13
13
  cancel: "Cancelar",
14
- delete: "Excluir"
14
+ delete: "Excluir",
15
+ yes: "Sim",
16
+ no: "Não"
15
17
  },
16
18
  removeInfo: "Registro removido com sucesso!",
17
19
  cancelConfirmationTitle: "Aviso",
@@ -22,7 +24,9 @@ const snkDataUnitMessages = {
22
24
  forbiddenUpdate: "Não é possível fazer alterações. Verifique as permissões de acesso.",
23
25
  forbiddenInsert: "Não é possível incluir. Verifique as permissões de acesso.",
24
26
  forbiddenClone: "Não é possível duplicar. Verifique as permissões de acesso.",
25
- forbiddenRemove: "Não é possível remover. Verifique as permissões de acesso."
27
+ forbiddenRemove: "Não é possível remover. Verifique as permissões de acesso.",
28
+ removeAllConfirmation: "Os <strong>{{size}} registros selecionados</strong> serão excluídos.<br/><br/><strong>Você realmente gostaria de continuar?</strong>",
29
+ removeAllInfo: "Os {{size}} registros foram removidos com sucesso!",
26
30
  };
27
31
 
28
32
  const snkFilterBarMessages = {