@sankhyalabs/sankhyablocks 9.1.0-dev.12 → 9.1.0-dev.13

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 (69) hide show
  1. package/dist/cjs/{ConfigStorage-34aa43d8.js → ConfigStorage-bb8c0edf.js} +11 -1
  2. package/dist/cjs/{SnkFormConfigManager-61bf3266.js → SnkFormConfigManager-a23df43c.js} +1 -1
  3. package/dist/cjs/{SnkMessageBuilder-252f813c.js → SnkMessageBuilder-acd9ec62.js} +81 -78
  4. package/dist/cjs/snk-actions-button_8.cjs.entry.js +73 -35
  5. package/dist/cjs/snk-application.cjs.entry.js +2 -2
  6. package/dist/cjs/snk-data-exporter.cjs.entry.js +2 -2
  7. package/dist/cjs/{snk-data-unit-5517689f.js → snk-data-unit-47c6d16b.js} +1 -1
  8. package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
  9. package/dist/cjs/snk-detail-view.cjs.entry.js +4 -4
  10. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +1 -1
  11. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +1 -1
  12. package/dist/cjs/snk-form_2.cjs.entry.js +3 -3
  13. package/dist/cjs/snk-grid.cjs.entry.js +1 -1
  14. package/dist/cjs/{snk-guides-viewer-29298823.js → snk-guides-viewer-1689e877.js} +1 -1
  15. package/dist/cjs/snk-guides-viewer.cjs.entry.js +3 -3
  16. package/dist/cjs/snk-personalized-filter.cjs.entry.js +1 -1
  17. package/dist/cjs/snk-simple-crud.cjs.entry.js +2 -2
  18. package/dist/collection/components/snk-grid-config/snk-grid-config.js +73 -35
  19. package/dist/collection/lib/configs/ConfigStorage.js +3 -0
  20. package/dist/collection/lib/http/data-fetcher/fetchers/grid-config-fetcher.js +9 -1
  21. package/dist/collection/lib/message/resources/en-us/snk-grid.msg.js +27 -26
  22. package/dist/collection/lib/message/resources/es-es/snk-grid.msg.js +27 -26
  23. package/dist/collection/lib/message/resources/pt-br/snk-grid.msg.js +27 -26
  24. package/dist/components/ConfigStorage.js +11 -1
  25. package/dist/components/SnkMessageBuilder.js +81 -78
  26. package/dist/components/snk-grid-config2.js +72 -34
  27. package/dist/esm/{ConfigStorage-89154c4e.js → ConfigStorage-cf578768.js} +11 -1
  28. package/dist/esm/{SnkFormConfigManager-d64d62d6.js → SnkFormConfigManager-c1cd9dcd.js} +1 -1
  29. package/dist/esm/{SnkMessageBuilder-6327dfe7.js → SnkMessageBuilder-c8b452b6.js} +81 -78
  30. package/dist/esm/snk-actions-button_8.entry.js +73 -35
  31. package/dist/esm/snk-application.entry.js +2 -2
  32. package/dist/esm/snk-data-exporter.entry.js +2 -2
  33. package/dist/esm/{snk-data-unit-fbb82ed9.js → snk-data-unit-c12986b7.js} +1 -1
  34. package/dist/esm/snk-data-unit.entry.js +2 -2
  35. package/dist/esm/snk-detail-view.entry.js +4 -4
  36. package/dist/esm/snk-filter-bar_4.entry.js +1 -1
  37. package/dist/esm/snk-filter-modal-item.entry.js +1 -1
  38. package/dist/esm/snk-form_2.entry.js +3 -3
  39. package/dist/esm/snk-grid.entry.js +1 -1
  40. package/dist/esm/{snk-guides-viewer-9335318d.js → snk-guides-viewer-defa2629.js} +1 -1
  41. package/dist/esm/snk-guides-viewer.entry.js +3 -3
  42. package/dist/esm/snk-personalized-filter.entry.js +1 -1
  43. package/dist/esm/snk-simple-crud.entry.js +2 -2
  44. package/dist/sankhyablocks/{p-79387c24.entry.js → p-09ba8326.entry.js} +1 -1
  45. package/dist/sankhyablocks/p-224fa6f9.js +1 -0
  46. package/dist/sankhyablocks/{p-a2c6944d.entry.js → p-2628f34e.entry.js} +1 -1
  47. package/dist/sankhyablocks/{p-d079567f.entry.js → p-34cfb5ad.entry.js} +2 -2
  48. package/dist/sankhyablocks/p-360f0b74.js +1 -0
  49. package/dist/sankhyablocks/p-405edf96.js +56 -0
  50. package/dist/sankhyablocks/{p-fc87708a.js → p-4b8691b6.js} +1 -1
  51. package/dist/sankhyablocks/{p-1ea6925d.js → p-4eb731b3.js} +1 -1
  52. package/dist/sankhyablocks/{p-31193a60.entry.js → p-6bc7c7ee.entry.js} +1 -1
  53. package/dist/sankhyablocks/{p-e56eb36b.entry.js → p-81820bf8.entry.js} +1 -1
  54. package/dist/sankhyablocks/{p-2d58f98e.entry.js → p-86c8f7f2.entry.js} +1 -1
  55. package/dist/sankhyablocks/{p-b2946adb.entry.js → p-90ee1990.entry.js} +1 -1
  56. package/dist/sankhyablocks/p-aef68e58.entry.js +1 -0
  57. package/dist/sankhyablocks/{p-02480593.entry.js → p-b033bf30.entry.js} +1 -1
  58. package/dist/sankhyablocks/{p-2ffd4b27.entry.js → p-b1ea8c6d.entry.js} +1 -1
  59. package/dist/sankhyablocks/{p-5126b34e.entry.js → p-cfa8cac2.entry.js} +1 -1
  60. package/dist/sankhyablocks/{p-d74ed09e.entry.js → p-f65421cd.entry.js} +1 -1
  61. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  62. package/dist/types/components/snk-grid-config/snk-grid-config.d.ts +7 -0
  63. package/dist/types/lib/configs/ConfigStorage.d.ts +1 -0
  64. package/dist/types/lib/http/data-fetcher/fetchers/grid-config-fetcher.d.ts +3 -2
  65. package/package.json +1 -1
  66. package/dist/sankhyablocks/p-412e06e9.js +0 -1
  67. package/dist/sankhyablocks/p-4212e05b.js +0 -1
  68. package/dist/sankhyablocks/p-8758404f.js +0 -56
  69. package/dist/sankhyablocks/p-fd571197.entry.js +0 -1
@@ -83,23 +83,10 @@ const SnkGridConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
83
83
  this._orderListItems = newSortableList;
84
84
  }
85
85
  createColumnList() {
86
- let visibleGroup = {
87
- group: this.getMessage('snkGridConfig.group.visible'),
88
- items: [],
89
- };
90
- let hiddenGroup = {
91
- group: this.getMessage('snkGridConfig.group.hidden'),
92
- items: [],
93
- sort: ORDER_VALUES.asc.value,
94
- };
95
- this.columns.forEach((column) => {
96
- var _a;
97
- let item = {
98
- label: column.label,
99
- selected: false,
100
- sort: (_a = column === null || column === void 0 ? void 0 : column.sort) !== null && _a !== void 0 ? _a : ORDER_VALUES.asc.value,
101
- id: column.name,
102
- };
86
+ const visibleGroup = this.buildVisibleGroup();
87
+ const hiddenGroup = this.buildHiddenGroup();
88
+ this.columns.forEach(column => {
89
+ const item = this.buildListItemFromColumn(column);
103
90
  if (column.hidden) {
104
91
  hiddenGroup.items.push(item);
105
92
  }
@@ -112,6 +99,19 @@ const SnkGridConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
112
99
  this._hiddenList = hiddenGroup.items;
113
100
  this.createOrderList();
114
101
  }
102
+ buildVisibleGroup() {
103
+ return {
104
+ group: this.getMessage('snkGridConfig.group.visible'),
105
+ items: [],
106
+ };
107
+ }
108
+ buildHiddenGroup() {
109
+ return {
110
+ group: this.getMessage('snkGridConfig.group.hidden'),
111
+ items: [],
112
+ sort: ORDER_VALUES.asc.value,
113
+ };
114
+ }
115
115
  createOrderListSlotDataElementId(item) {
116
116
  return `${this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME)}_configItem_${StringUtils.toCamelCase(item.label)}`;
117
117
  }
@@ -159,25 +159,21 @@ const SnkGridConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
159
159
  this.closeConfig();
160
160
  return;
161
161
  }
162
- let newColumnList = [];
163
- this._columListItems.forEach((group) => {
164
- group.items.forEach((item) => {
165
- const baseColumn = this.columns.find((column) => column.label === item.label);
166
- let newColumnItem = Object.assign({}, baseColumn);
167
- if (group.group === this.getMessage('snkGridConfig.group.hidden')) {
168
- newColumnItem.hidden = true;
169
- }
170
- else {
171
- newColumnItem.hidden = false;
172
- }
173
- newColumnList.push(newColumnItem);
174
- });
175
- });
176
- this.columns = newColumnList;
162
+ this.updateColumns();
177
163
  this._dataChanged = false;
178
164
  this.closeConfig();
179
165
  this.save();
180
166
  }
167
+ updateColumns() {
168
+ this.columns = this._columListItems.flatMap((group) => group.items.map((item) => this.buildColumnFromListItem(item, group)));
169
+ }
170
+ buildColumnFromListItem(item, group) {
171
+ const baseColumn = this.columns.find((column) => column.label === item.label);
172
+ if (!baseColumn) {
173
+ throw new Error(`Column with label "${item.label}" not found.`);
174
+ }
175
+ return Object.assign(Object.assign({}, baseColumn), { hidden: group.group === this.getMessage('snkGridConfig.group.hidden') });
176
+ }
181
177
  saveGridConfigOnStorage(_newConfig) {
182
178
  ConfigStorage.saveGridConfig(_newConfig, this.configName, this.resourceID)
183
179
  .then((savedConfig) => {
@@ -347,13 +343,55 @@ const SnkGridConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
347
343
  },
348
344
  };
349
345
  }
346
+ renderResetConfigBtn() {
347
+ if (!this.resourceID)
348
+ return;
349
+ return h("ez-button", { class: "padding-right--medium", label: this.getMessage('snkGridConfig.reset'), onClick: () => this.setDefaultConfig() });
350
+ }
351
+ async setDefaultConfig() {
352
+ var _a;
353
+ if (!this.resourceID)
354
+ return;
355
+ this._dataChanged = true;
356
+ const config = await ConfigStorage.getDefaultGridConfig(this.resourceID);
357
+ const defaultVisibleCols = (_a = config === null || config === void 0 ? void 0 : config.columns.map(col => col.name)) !== null && _a !== void 0 ? _a : [];
358
+ const visibleGroup = this.buildVisibleGroup();
359
+ const hiddenGroup = this.buildHiddenGroup();
360
+ const visibleItemsMap = new Map();
361
+ this.columns.forEach(column => {
362
+ const item = this.buildListItemFromColumn(column);
363
+ if (defaultVisibleCols.includes(column.name)) {
364
+ visibleItemsMap.set(column.name, item);
365
+ }
366
+ else {
367
+ hiddenGroup.items.push(item);
368
+ }
369
+ });
370
+ visibleGroup.items = defaultVisibleCols
371
+ .map(name => visibleItemsMap.get(name))
372
+ .filter(item => item);
373
+ this._columListItems = [visibleGroup, hiddenGroup];
374
+ this._visibleList = visibleGroup.items;
375
+ this._hiddenList = hiddenGroup.items;
376
+ this.updateColumns();
377
+ this.createOrderList();
378
+ }
379
+ buildListItemFromColumn(column) {
380
+ var _a;
381
+ return {
382
+ label: column.label,
383
+ selected: false,
384
+ sort: (_a = column === null || column === void 0 ? void 0 : column.sort) !== null && _a !== void 0 ? _a : ORDER_VALUES.asc.value,
385
+ id: column.name,
386
+ };
387
+ }
350
388
  render() {
351
- return (h(Host, null, h("div", { class: "grid-config__header" }, h("div", { class: "title-container" }, h("div", { class: "ez-margin-bottom--medium" }, h("label", { class: "title" }, this.getMessage('snkGridConfig.gridConfiguration')), h("label", { class: "subtitle" }, this.getMessage('snkGridConfig.columnVisibilityOrder'))), h("div", { class: "button-close" }, h("ez-button", { mode: "icon", iconName: "close", size: "medium", class: "ez-button--tertiary", onClick: () => this.closeConfig() })))), h("div", { class: "grid-config__body" }, h("ez-collapsible-box", { id: 'group-select-columns', label: this.getMessage('snkGridConfig.columnsSelection'), "header-size": "medium", key: 'key_group-select-columns', value: this._collapsibleBoxListSelect, onEzChange: ({ detail }) => this._collapsibleBoxListOrder = !detail }, h("div", { class: "grid-config__main" }, h("ez-double-list", { leftList: this._hiddenList, leftTitle: this.getMessage('snkGridConfig.availableColumns'), rightList: this._visibleList, rightTitle: this.getMessage('snkGridConfig.selectedColumns'), onEzRightListChanged: ({ detail }) => this.handleRightListChange(detail), emptyMessage: {
389
+ return (h(Host, null, h("div", { class: "grid-config__header" }, h("div", { class: "title-container" }, h("div", { class: "ez-margin-bottom--medium" }, h("label", { class: "title" }, this.getMessage('snkGridConfig.gridConfiguration')), h("label", { class: "subtitle" }, this.getMessage('snkGridConfig.columnVisibilityOrder'))), h("div", { class: "button-close" }, h("ez-button", { mode: "icon", iconName: "close", size: "medium", class: "ez-button--tertiary", onClick: () => this.closeConfig() })))), h("div", { class: 'grid-config__body' }, h("ez-collapsible-box", { id: 'group-select-columns', label: this.getMessage('snkGridConfig.columnsSelection'), "header-size": "medium", key: 'key_group-select-columns', value: this._collapsibleBoxListSelect, onEzChange: ({ detail }) => this._collapsibleBoxListOrder = !detail }, h("div", { class: "grid-config__main" }, h("ez-double-list", { leftList: this._hiddenList, leftTitle: this.getMessage('snkGridConfig.availableColumns'), rightList: this._visibleList, rightTitle: this.getMessage('snkGridConfig.selectedColumns'), onEzRightListChanged: ({ detail }) => this.handleRightListChange(detail), emptyMessage: {
352
390
  LEFT_LIST: this.getMessage('snkGridConfig.emptyMensage.left'),
353
391
  RIGHT_LIST: this.getMessage('snkGridConfig.emptyMensage.right'),
354
392
  }, entityLabel: 'coluna', entityLabelPlural: 'colunas' }))), h("ez-collapsible-box", { id: 'ID_group-order-columns', label: this.getMessage('snkGridConfig.dataOrdering'), "header-size": "medium", key: 'KEY_group-order-columns', value: this._collapsibleBoxListOrder, onEzChange: ({ detail }) => this._collapsibleBoxListSelect = !detail }, h("div", { class: "grid-config__main" }, h("ez-double-list", { rightList: this._orderListItems, rightTitle: this.getMessage('snkGridConfig.selectedColumns'), useOnlyRightList: true, slotsListBuilder: this.getListSlots(), emptyMessage: {
355
393
  RIGHT_LIST: this.getMessage('snkGridConfig.emptyMensage.right'),
356
- }, entityLabel: 'coluna', entityLabelPlural: 'colunas' })))), h("div", { class: "grid-config__footer" }, h("ez-button", { class: "padding-right--medium", label: this.getMessage('snkGridConfig.cancel'), onClick: () => this.closeConfig() }), h("ez-button", { label: this.getMessage('snkGridConfig.complete'), class: "ez-button--primary", onClick: () => this.finish() }))));
394
+ }, entityLabel: 'coluna', entityLabelPlural: 'colunas' })))), h("div", { class: "grid-config__footer" }, this.renderResetConfigBtn(), h("ez-button", { class: "padding-right--medium", label: this.getMessage('snkGridConfig.cancel'), onClick: () => this.closeConfig() }), h("ez-button", { label: this.getMessage('snkGridConfig.complete'), class: "ez-button--primary", onClick: () => this.finish() }))));
357
395
  }
358
396
  static get assetsDirs() { return ["../assets"]; }
359
397
  get _element() { return this; }
@@ -1,13 +1,20 @@
1
1
  import { R as ResourceFetcher, F as FormConfigFetcher } from './form-config-fetcher-e623539b.js';
2
+ import { D as DataFetcher, d as dist } from './DataFetcher-db08cad0.js';
2
3
  import { F as FilterItemType } from './filter-item-type.enum-d45e026f.js';
3
4
  import { ObjectUtils } from '@sankhyalabs/core';
4
- import { d as dist, D as DataFetcher } from './DataFetcher-db08cad0.js';
5
5
 
6
6
  class GridConfigFetcher extends ResourceFetcher {
7
7
  constructor() {
8
8
  super(...arguments);
9
9
  this.GRID_CONFIG_VERSION = "V3:";
10
10
  }
11
+ async getDefaultConfig(resourceId) {
12
+ var _a, _b;
13
+ const payload = { 'requestBody': { 'gridConfig': { 'configName': `GrdCfgHtml5:${resourceId}` } } };
14
+ const response = await DataFetcher.get().callServiceBroker('GridConfig.restoreGridConfigFromJson', JSON.stringify(payload));
15
+ const columns = (_b = (_a = response === null || response === void 0 ? void 0 : response.gridConfig) === null || _a === void 0 ? void 0 : _a.field) !== null && _b !== void 0 ? _b : [];
16
+ return { columns };
17
+ }
11
18
  getConfig(gridName, resourceID) {
12
19
  const completePath = this.getPath(resourceID, gridName);
13
20
  return new Promise((resolve, reject) => {
@@ -439,6 +446,9 @@ class ConfigStorage {
439
446
  static async saveCardState(config, name, resourceID) {
440
447
  return this.formConfigFetcher.saveCardState(config, name, resourceID);
441
448
  }
449
+ static async getDefaultGridConfig(resourceId) {
450
+ return await this.gridConfigFetcher.getDefaultConfig(resourceId);
451
+ }
442
452
  static async saveGridConfig(config, name, resourceID) {
443
453
  if (config == undefined) {
444
454
  return;
@@ -1,4 +1,4 @@
1
- import { C as ConfigStorage } from './ConfigStorage-89154c4e.js';
1
+ import { C as ConfigStorage } from './ConfigStorage-cf578768.js';
2
2
  import { ObjectUtils, StringUtils } from '@sankhyalabs/core';
3
3
  import { F as FormConfigFetcher } from './form-config-fetcher-e623539b.js';
4
4
  import { a as TAB_NAMES } from './constants-7b422de0.js';
@@ -272,44 +272,45 @@ const snkConfiguratorMessages$2 = {
272
272
  };
273
273
 
274
274
  const snkGridMessages$2 = {
275
- findColumn: "Busca de colunas (Ctrl+F)",
275
+ findColumn: 'Busca de colunas (Ctrl+F)',
276
276
  cancelConfirmation: {
277
- title: "Aviso",
278
- message: "As alterações realizadas serão descartadas<br/><br/><b>Você realmente gostaria de cancelar?</b>",
279
- }
277
+ title: 'Aviso',
278
+ message: 'As alterações realizadas serão descartadas<br/><br/><b>Você realmente gostaria de cancelar?</b>',
279
+ },
280
280
  };
281
281
  const snkGridConfigMessages$2 = {
282
- gridConfiguration: "Configuração da Grade",
283
- columnVisibilityOrder: "Arraste os itens para definir a ordem e visibilidade das colunas da sua grade.",
284
- sortingSequence: "Sequência da ordenação",
285
- findColumn: "Localizar coluna",
286
- cancel: "Cancelar",
287
- complete: "Concluir",
288
- columnsSelection: "Seleção de colunas",
289
- availableColumns: "Colunas disponíveis",
290
- selectedColumns: "Colunas selecionadas",
291
- dataOrdering: "Ordenação de dados",
282
+ gridConfiguration: 'Configuração da Grade',
283
+ columnVisibilityOrder: 'Arraste os itens para definir a ordem e visibilidade das colunas da sua grade.',
284
+ sortingSequence: 'Sequência da ordenação',
285
+ findColumn: 'Localizar coluna',
286
+ cancel: 'Cancelar',
287
+ reset: 'Restaurar',
288
+ complete: 'Concluir',
289
+ columnsSelection: 'Seleção de colunas',
290
+ availableColumns: 'Colunas disponíveis',
291
+ selectedColumns: 'Colunas selecionadas',
292
+ dataOrdering: 'Ordenação de dados',
292
293
  emptyMensage: {
293
- left: "Nenhuma coluna disponível",
294
- right: "Nenhuma coluna selecionada"
294
+ left: 'Nenhuma coluna disponível',
295
+ right: 'Nenhuma coluna selecionada',
295
296
  },
296
297
  tab: {
297
- columns: "Colunas",
298
- lineOrdering: "Ordenação das linhas"
298
+ columns: 'Colunas',
299
+ lineOrdering: 'Ordenação das linhas',
299
300
  },
300
301
  info: {
301
- successfullyConfigSaved: "As configurações foram salvas com sucesso!"
302
+ successfullyConfigSaved: 'As configurações foram salvas com sucesso!',
302
303
  },
303
304
  confirm: {
304
- cancel: "Descartar",
305
- save: "Salvar",
306
- alert: "Aviso",
307
- msgCancel: "As alterações realizadas serão descartadas. Gostaria de salvar antes de sair?"
305
+ cancel: 'Descartar',
306
+ save: 'Salvar',
307
+ alert: 'Aviso',
308
+ msgCancel: 'As alterações realizadas serão descartadas. Gostaria de salvar antes de sair?',
308
309
  },
309
310
  group: {
310
- visible: "Visíveis",
311
- hidden: "Ocultas"
312
- }
311
+ visible: 'Visíveis',
312
+ hidden: 'Ocultas',
313
+ },
313
314
  };
314
315
 
315
316
  const snkDataExporterMessages$2 = {
@@ -864,44 +865,45 @@ const snkConfiguratorMessages$1 = {
864
865
  };
865
866
 
866
867
  const snkGridMessages$1 = {
867
- findColumn: "Search columns (Ctrl+F)",
868
+ findColumn: 'Search columns (Ctrl+F)',
868
869
  cancelConfirmation: {
869
- title: "Warning",
870
- message: "The changes made will be discarded<br/><br/><b>Do you really want to cancel?</b>",
871
- }
870
+ title: 'Warning',
871
+ message: 'The changes made will be discarded<br/><br/><b>Do you really want to cancel?</b>',
872
+ },
872
873
  };
873
874
  const snkGridConfigMessages$1 = {
874
- gridConfiguration: "Grid Configuration",
875
- columnVisibilityOrder: "Drag items to define the order and visibility of columns in your grid.",
876
- sortingSequence: "Sorting sequence",
877
- findColumn: "Find column",
878
- cancel: "Cancel",
879
- complete: "Complete",
880
- columnsSelection: "Column selection",
881
- availableColumns: "Available columns",
882
- selectedColumns: "Selected columns",
883
- dataOrdering: "Data ordering",
875
+ gridConfiguration: 'Grid Configuration',
876
+ columnVisibilityOrder: 'Drag items to define the order and visibility of columns in your grid.',
877
+ sortingSequence: 'Sorting sequence',
878
+ findColumn: 'Find column',
879
+ cancel: 'Cancel',
880
+ reset: 'Reset',
881
+ complete: 'Complete',
882
+ columnsSelection: 'Column selection',
883
+ availableColumns: 'Available columns',
884
+ selectedColumns: 'Selected columns',
885
+ dataOrdering: 'Data ordering',
884
886
  emptyMensage: {
885
- left: "No columns available",
886
- right: "No columns selected"
887
+ left: 'No columns available',
888
+ right: 'No columns selected',
887
889
  },
888
890
  tab: {
889
- columns: "Columns",
890
- lineOrdering: "Row ordering"
891
+ columns: 'Columns',
892
+ lineOrdering: 'Row ordering',
891
893
  },
892
894
  info: {
893
- successfullyConfigSaved: "The settings have been saved successfully!"
895
+ successfullyConfigSaved: 'The settings have been saved successfully!',
894
896
  },
895
897
  confirm: {
896
- cancel: "Discard",
897
- save: "Save",
898
- alert: "Warning",
899
- msgCancel: "The changes made will be discarded. Do you want to save before exiting?"
898
+ cancel: 'Discard',
899
+ save: 'Save',
900
+ alert: 'Warning',
901
+ msgCancel: 'The changes made will be discarded. Do you want to save before exiting?',
900
902
  },
901
903
  group: {
902
- visible: "Visible",
903
- hidden: "Hidden"
904
- }
904
+ visible: 'Visible',
905
+ hidden: 'Hidden',
906
+ },
905
907
  };
906
908
 
907
909
  const snkDataExporterMessages$1 = {
@@ -1456,44 +1458,45 @@ const snkConfiguratorMessages = {
1456
1458
  };
1457
1459
 
1458
1460
  const snkGridMessages = {
1459
- findColumn: "Búsqueda de columnas (Ctrl+F)",
1461
+ findColumn: 'Búsqueda de columnas (Ctrl+F)',
1460
1462
  cancelConfirmation: {
1461
- title: "Aviso",
1462
- message: "Los cambios realizados serán descartados<br/><br/><b>¿Realmente desea cancelar?</b>",
1463
- }
1463
+ title: 'Aviso',
1464
+ message: 'Los cambios realizados serán descartados<br/><br/><b>¿Realmente desea cancelar?</b>',
1465
+ },
1464
1466
  };
1465
1467
  const snkGridConfigMessages = {
1466
- gridConfiguration: "Configuración de la Cuadrícula",
1467
- columnVisibilityOrder: "Arrastre los elementos para definir el orden y visibilidad de las columnas de su cuadrícula.",
1468
- sortingSequence: "Secuencia de ordenación",
1469
- findColumn: "Localizar columna",
1470
- cancel: "Cancelar",
1471
- complete: "Completar",
1472
- columnsSelection: "Selección de columnas",
1473
- availableColumns: "Columnas disponibles",
1474
- selectedColumns: "Columnas seleccionadas",
1475
- dataOrdering: "Ordenación de datos",
1468
+ gridConfiguration: 'Configuración de la Cuadrícula',
1469
+ columnVisibilityOrder: 'Arrastre los elementos para definir el orden y visibilidad de las columnas de su cuadrícula.',
1470
+ sortingSequence: 'Secuencia de ordenación',
1471
+ findColumn: 'Localizar columna',
1472
+ cancel: 'Cancelar',
1473
+ reset: 'Restaurar',
1474
+ complete: 'Completar',
1475
+ columnsSelection: 'Selección de columnas',
1476
+ availableColumns: 'Columnas disponibles',
1477
+ selectedColumns: 'Columnas seleccionadas',
1478
+ dataOrdering: 'Ordenación de datos',
1476
1479
  emptyMensage: {
1477
- left: "Ninguna columna disponible",
1478
- right: "Ninguna columna seleccionada"
1480
+ left: 'Ninguna columna disponible',
1481
+ right: 'Ninguna columna seleccionada',
1479
1482
  },
1480
1483
  tab: {
1481
- columns: "Columnas",
1482
- lineOrdering: "Ordenación de las filas"
1484
+ columns: 'Columnas',
1485
+ lineOrdering: 'Ordenación de las filas',
1483
1486
  },
1484
1487
  info: {
1485
- successfullyConfigSaved: "¡Las configuraciones se han guardado con éxito!"
1488
+ successfullyConfigSaved: '¡Las configuraciones se han guardado con éxito!',
1486
1489
  },
1487
1490
  confirm: {
1488
- cancel: "Descartar",
1489
- save: "Guardar",
1490
- alert: "Aviso",
1491
- msgCancel: "Los cambios realizados serán descartados. ¿Desea guardar antes de salir?"
1491
+ cancel: 'Descartar',
1492
+ save: 'Guardar',
1493
+ alert: 'Aviso',
1494
+ msgCancel: 'Los cambios realizados serán descartados. ¿Desea guardar antes de salir?',
1492
1495
  },
1493
1496
  group: {
1494
- visible: "Visibles",
1495
- hidden: "Ocultas"
1496
- }
1497
+ visible: 'Visibles',
1498
+ hidden: 'Ocultas',
1499
+ },
1497
1500
  };
1498
1501
 
1499
1502
  const snkDataExporterMessages = {
@@ -13,7 +13,7 @@ import { O as ORDER_VALUES } from './constants-7b422de0.js';
13
13
  import { g as getSelectedRecordsIDsInfo } from './GetSelectedRecordsIDsInfo-9fa41508.js';
14
14
  import { R as ResourceIDUtils } from './ResourceIDUtils-a114189a.js';
15
15
  import { ApplicationUtils, DialogType, FormLayout } from '@sankhyalabs/ezui/dist/collection/utils';
16
- import { C as ConfigStorage } from './ConfigStorage-89154c4e.js';
16
+ import { C as ConfigStorage } from './ConfigStorage-cf578768.js';
17
17
  import './PrintUtils-3e4ff0f5.js';
18
18
  import '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils';
19
19
  import '@sankhyalabs/core/dist/utils/SortingUtils';
@@ -798,23 +798,10 @@ const SnkGridConfig = class {
798
798
  this._orderListItems = newSortableList;
799
799
  }
800
800
  createColumnList() {
801
- let visibleGroup = {
802
- group: this.getMessage('snkGridConfig.group.visible'),
803
- items: [],
804
- };
805
- let hiddenGroup = {
806
- group: this.getMessage('snkGridConfig.group.hidden'),
807
- items: [],
808
- sort: ORDER_VALUES.asc.value,
809
- };
810
- this.columns.forEach((column) => {
811
- var _a;
812
- let item = {
813
- label: column.label,
814
- selected: false,
815
- sort: (_a = column === null || column === void 0 ? void 0 : column.sort) !== null && _a !== void 0 ? _a : ORDER_VALUES.asc.value,
816
- id: column.name,
817
- };
801
+ const visibleGroup = this.buildVisibleGroup();
802
+ const hiddenGroup = this.buildHiddenGroup();
803
+ this.columns.forEach(column => {
804
+ const item = this.buildListItemFromColumn(column);
818
805
  if (column.hidden) {
819
806
  hiddenGroup.items.push(item);
820
807
  }
@@ -827,6 +814,19 @@ const SnkGridConfig = class {
827
814
  this._hiddenList = hiddenGroup.items;
828
815
  this.createOrderList();
829
816
  }
817
+ buildVisibleGroup() {
818
+ return {
819
+ group: this.getMessage('snkGridConfig.group.visible'),
820
+ items: [],
821
+ };
822
+ }
823
+ buildHiddenGroup() {
824
+ return {
825
+ group: this.getMessage('snkGridConfig.group.hidden'),
826
+ items: [],
827
+ sort: ORDER_VALUES.asc.value,
828
+ };
829
+ }
830
830
  createOrderListSlotDataElementId(item) {
831
831
  return `${this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME)}_configItem_${StringUtils.toCamelCase(item.label)}`;
832
832
  }
@@ -874,25 +874,21 @@ const SnkGridConfig = class {
874
874
  this.closeConfig();
875
875
  return;
876
876
  }
877
- let newColumnList = [];
878
- this._columListItems.forEach((group) => {
879
- group.items.forEach((item) => {
880
- const baseColumn = this.columns.find((column) => column.label === item.label);
881
- let newColumnItem = Object.assign({}, baseColumn);
882
- if (group.group === this.getMessage('snkGridConfig.group.hidden')) {
883
- newColumnItem.hidden = true;
884
- }
885
- else {
886
- newColumnItem.hidden = false;
887
- }
888
- newColumnList.push(newColumnItem);
889
- });
890
- });
891
- this.columns = newColumnList;
877
+ this.updateColumns();
892
878
  this._dataChanged = false;
893
879
  this.closeConfig();
894
880
  this.save();
895
881
  }
882
+ updateColumns() {
883
+ this.columns = this._columListItems.flatMap((group) => group.items.map((item) => this.buildColumnFromListItem(item, group)));
884
+ }
885
+ buildColumnFromListItem(item, group) {
886
+ const baseColumn = this.columns.find((column) => column.label === item.label);
887
+ if (!baseColumn) {
888
+ throw new Error(`Column with label "${item.label}" not found.`);
889
+ }
890
+ return Object.assign(Object.assign({}, baseColumn), { hidden: group.group === this.getMessage('snkGridConfig.group.hidden') });
891
+ }
896
892
  saveGridConfigOnStorage(_newConfig) {
897
893
  ConfigStorage.saveGridConfig(_newConfig, this.configName, this.resourceID)
898
894
  .then((savedConfig) => {
@@ -1062,13 +1058,55 @@ const SnkGridConfig = class {
1062
1058
  },
1063
1059
  };
1064
1060
  }
1061
+ renderResetConfigBtn() {
1062
+ if (!this.resourceID)
1063
+ return;
1064
+ return h("ez-button", { class: "padding-right--medium", label: this.getMessage('snkGridConfig.reset'), onClick: () => this.setDefaultConfig() });
1065
+ }
1066
+ async setDefaultConfig() {
1067
+ var _a;
1068
+ if (!this.resourceID)
1069
+ return;
1070
+ this._dataChanged = true;
1071
+ const config = await ConfigStorage.getDefaultGridConfig(this.resourceID);
1072
+ const defaultVisibleCols = (_a = config === null || config === void 0 ? void 0 : config.columns.map(col => col.name)) !== null && _a !== void 0 ? _a : [];
1073
+ const visibleGroup = this.buildVisibleGroup();
1074
+ const hiddenGroup = this.buildHiddenGroup();
1075
+ const visibleItemsMap = new Map();
1076
+ this.columns.forEach(column => {
1077
+ const item = this.buildListItemFromColumn(column);
1078
+ if (defaultVisibleCols.includes(column.name)) {
1079
+ visibleItemsMap.set(column.name, item);
1080
+ }
1081
+ else {
1082
+ hiddenGroup.items.push(item);
1083
+ }
1084
+ });
1085
+ visibleGroup.items = defaultVisibleCols
1086
+ .map(name => visibleItemsMap.get(name))
1087
+ .filter(item => item);
1088
+ this._columListItems = [visibleGroup, hiddenGroup];
1089
+ this._visibleList = visibleGroup.items;
1090
+ this._hiddenList = hiddenGroup.items;
1091
+ this.updateColumns();
1092
+ this.createOrderList();
1093
+ }
1094
+ buildListItemFromColumn(column) {
1095
+ var _a;
1096
+ return {
1097
+ label: column.label,
1098
+ selected: false,
1099
+ sort: (_a = column === null || column === void 0 ? void 0 : column.sort) !== null && _a !== void 0 ? _a : ORDER_VALUES.asc.value,
1100
+ id: column.name,
1101
+ };
1102
+ }
1065
1103
  render() {
1066
- return (h(Host, null, h("div", { class: "grid-config__header" }, h("div", { class: "title-container" }, h("div", { class: "ez-margin-bottom--medium" }, h("label", { class: "title" }, this.getMessage('snkGridConfig.gridConfiguration')), h("label", { class: "subtitle" }, this.getMessage('snkGridConfig.columnVisibilityOrder'))), h("div", { class: "button-close" }, h("ez-button", { mode: "icon", iconName: "close", size: "medium", class: "ez-button--tertiary", onClick: () => this.closeConfig() })))), h("div", { class: "grid-config__body" }, h("ez-collapsible-box", { id: 'group-select-columns', label: this.getMessage('snkGridConfig.columnsSelection'), "header-size": "medium", key: 'key_group-select-columns', value: this._collapsibleBoxListSelect, onEzChange: ({ detail }) => this._collapsibleBoxListOrder = !detail }, h("div", { class: "grid-config__main" }, h("ez-double-list", { leftList: this._hiddenList, leftTitle: this.getMessage('snkGridConfig.availableColumns'), rightList: this._visibleList, rightTitle: this.getMessage('snkGridConfig.selectedColumns'), onEzRightListChanged: ({ detail }) => this.handleRightListChange(detail), emptyMessage: {
1104
+ return (h(Host, null, h("div", { class: "grid-config__header" }, h("div", { class: "title-container" }, h("div", { class: "ez-margin-bottom--medium" }, h("label", { class: "title" }, this.getMessage('snkGridConfig.gridConfiguration')), h("label", { class: "subtitle" }, this.getMessage('snkGridConfig.columnVisibilityOrder'))), h("div", { class: "button-close" }, h("ez-button", { mode: "icon", iconName: "close", size: "medium", class: "ez-button--tertiary", onClick: () => this.closeConfig() })))), h("div", { class: 'grid-config__body' }, h("ez-collapsible-box", { id: 'group-select-columns', label: this.getMessage('snkGridConfig.columnsSelection'), "header-size": "medium", key: 'key_group-select-columns', value: this._collapsibleBoxListSelect, onEzChange: ({ detail }) => this._collapsibleBoxListOrder = !detail }, h("div", { class: "grid-config__main" }, h("ez-double-list", { leftList: this._hiddenList, leftTitle: this.getMessage('snkGridConfig.availableColumns'), rightList: this._visibleList, rightTitle: this.getMessage('snkGridConfig.selectedColumns'), onEzRightListChanged: ({ detail }) => this.handleRightListChange(detail), emptyMessage: {
1067
1105
  LEFT_LIST: this.getMessage('snkGridConfig.emptyMensage.left'),
1068
1106
  RIGHT_LIST: this.getMessage('snkGridConfig.emptyMensage.right'),
1069
1107
  }, entityLabel: 'coluna', entityLabelPlural: 'colunas' }))), h("ez-collapsible-box", { id: 'ID_group-order-columns', label: this.getMessage('snkGridConfig.dataOrdering'), "header-size": "medium", key: 'KEY_group-order-columns', value: this._collapsibleBoxListOrder, onEzChange: ({ detail }) => this._collapsibleBoxListSelect = !detail }, h("div", { class: "grid-config__main" }, h("ez-double-list", { rightList: this._orderListItems, rightTitle: this.getMessage('snkGridConfig.selectedColumns'), useOnlyRightList: true, slotsListBuilder: this.getListSlots(), emptyMessage: {
1070
1108
  RIGHT_LIST: this.getMessage('snkGridConfig.emptyMensage.right'),
1071
- }, entityLabel: 'coluna', entityLabelPlural: 'colunas' })))), h("div", { class: "grid-config__footer" }, h("ez-button", { class: "padding-right--medium", label: this.getMessage('snkGridConfig.cancel'), onClick: () => this.closeConfig() }), h("ez-button", { label: this.getMessage('snkGridConfig.complete'), class: "ez-button--primary", onClick: () => this.finish() }))));
1109
+ }, entityLabel: 'coluna', entityLabelPlural: 'colunas' })))), h("div", { class: "grid-config__footer" }, this.renderResetConfigBtn(), h("ez-button", { class: "padding-right--medium", label: this.getMessage('snkGridConfig.cancel'), onClick: () => this.closeConfig() }), h("ez-button", { label: this.getMessage('snkGridConfig.complete'), class: "ez-button--primary", onClick: () => this.finish() }))));
1072
1110
  }
1073
1111
  static get assetsDirs() { return ["../assets"]; }
1074
1112
  get _element() { return getElement(this); }
@@ -1,12 +1,12 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-479e1293.js';
2
2
  import { DateUtils, StringUtils, ObjectUtils, WaitingChangeException, SilentException, WarningException, ErrorException, ElementIDUtils, SearchUtils, ArrayUtils, KeyboardManager, OnboardingUtils, DependencyType, ApplicationContext, DataType, ErrorTracking, UserAgentUtils, LockManager, LockManagerOperation } from '@sankhyalabs/core';
3
3
  import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
4
- import { C as ConfigStorage } from './ConfigStorage-89154c4e.js';
4
+ import { C as ConfigStorage } from './ConfigStorage-cf578768.js';
5
5
  import { d as dist, D as DataFetcher, U as UrlUtils } from './DataFetcher-db08cad0.js';
6
6
  import { A as AutorizationType, a as AuthFetcher } from './auth-fetcher-43c8d76b.js';
7
7
  import { P as PreloadManager, D as DataUnitFetcher } from './dataunit-fetcher-1b78797a.js';
8
8
  import { P as PesquisaFetcher } from './ISave-da565824.js';
9
- import { S as SnkMessageBuilder } from './SnkMessageBuilder-6327dfe7.js';
9
+ import { S as SnkMessageBuilder } from './SnkMessageBuilder-c8b452b6.js';
10
10
  import { T as TEMPLATES_SKELETON } from './constants-7b422de0.js';
11
11
  import './index-b40568ff.js';
12
12
  import './filter-item-type.enum-d45e026f.js';
@@ -5,7 +5,7 @@ import { I as IExportType } from './IFetchDataExporterParams-d73bed3d.js';
5
5
  import { D as DataExporterOption, a as DataExporterType, b as DataExporterFormat } from './index-b40568ff.js';
6
6
  import { R as REPORT_LAUNCHER_RESOURCE_ID } from './constants-7b422de0.js';
7
7
  import { D as DataFetcher } from './DataFetcher-db08cad0.js';
8
- import { S as SnkDataUnit } from './snk-data-unit-fbb82ed9.js';
8
+ import { S as SnkDataUnit } from './snk-data-unit-c12986b7.js';
9
9
  import './ISave-da565824.js';
10
10
  import '@sankhyalabs/ezui/dist/collection/utils/constants';
11
11
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
@@ -13,7 +13,7 @@ import './dataunit-fetcher-1b78797a.js';
13
13
  import './filter-item-type.enum-d45e026f.js';
14
14
  import './form-config-fetcher-e623539b.js';
15
15
  import './PrintUtils-3e4ff0f5.js';
16
- import './SnkMessageBuilder-6327dfe7.js';
16
+ import './SnkMessageBuilder-c8b452b6.js';
17
17
  import '@sankhyalabs/core/dist/dataunit/metadata/DataType';
18
18
  import './GetSelectedRecordsIDsInfo-9fa41508.js';
19
19
  import '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils';
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement, H as Host } from './index-479e1293.js';
2
2
  import { Action, ObjectUtils, DataUnitAction, StringUtils, ApplicationContext } from '@sankhyalabs/core';
3
3
  import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
4
- import { O as OperationMap, S as SnkMessageBuilder } from './SnkMessageBuilder-6327dfe7.js';
4
+ import { O as OperationMap, S as SnkMessageBuilder } from './SnkMessageBuilder-c8b452b6.js';
5
5
  import { g as getRecordValue, a as DatasetStrategy } from './dataunit-fetcher-1b78797a.js';
6
6
  import { convertType } from '@sankhyalabs/core/dist/dataunit/metadata/DataType';
7
7
  import { g as getSelectedRecordsIDsInfo } from './GetSelectedRecordsIDsInfo-9fa41508.js';
@@ -1,8 +1,8 @@
1
- export { S as snk_data_unit } from './snk-data-unit-fbb82ed9.js';
1
+ export { S as snk_data_unit } from './snk-data-unit-c12986b7.js';
2
2
  import './index-479e1293.js';
3
3
  import '@sankhyalabs/core';
4
4
  import '@sankhyalabs/ezui/dist/collection/utils';
5
- import './SnkMessageBuilder-6327dfe7.js';
5
+ import './SnkMessageBuilder-c8b452b6.js';
6
6
  import './dataunit-fetcher-1b78797a.js';
7
7
  import './DataFetcher-db08cad0.js';
8
8
  import './PrintUtils-3e4ff0f5.js';
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, f as forceUpdate, h, H as Host, g as getElement } from './index-479e1293.js';
2
2
  import { Action, StringUtils, KeyboardManager } from '@sankhyalabs/core';
3
- import { S as SnkFormConfigManager } from './SnkFormConfigManager-d64d62d6.js';
3
+ import { S as SnkFormConfigManager } from './SnkFormConfigManager-c1cd9dcd.js';
4
4
  import { FormMetadata, buildFormMetadata } from '@sankhyalabs/ezui/dist/collection/utils/form';
5
5
  import './DataFetcher-db08cad0.js';
6
6
  import './ISave-da565824.js';
@@ -12,10 +12,10 @@ import './filter-item-type.enum-d45e026f.js';
12
12
  import './form-config-fetcher-e623539b.js';
13
13
  import { V as VIEW_MODE } from './constants-7b422de0.js';
14
14
  import { T as TaskbarElement } from './taskbar-elements-171476d4.js';
15
- import { S as SnkGuidesViewer } from './snk-guides-viewer-9335318d.js';
16
- import { S as SnkMessageBuilder } from './SnkMessageBuilder-6327dfe7.js';
15
+ import { S as SnkGuidesViewer } from './snk-guides-viewer-defa2629.js';
16
+ import { S as SnkMessageBuilder } from './SnkMessageBuilder-c8b452b6.js';
17
17
  import { buildFieldSearch, SHORTCUT_SEARCH_FIELD, LABEL_SEARCH_FIELD } from '@sankhyalabs/ezui/dist/collection/utils';
18
- import './ConfigStorage-89154c4e.js';
18
+ import './ConfigStorage-cf578768.js';
19
19
  import './PrintUtils-3e4ff0f5.js';
20
20
  import '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils';
21
21
  import '@sankhyalabs/core/dist/utils/SortingUtils';