@sankhyalabs/sankhyablocks 0.0.0-bugfix-dev-KB-132392.0 → 0.0.0-bugfix-dev-KB-131882.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 (37) hide show
  1. package/dist/cjs/snk-actions-button_8.cjs.entry.js +12 -4
  2. package/dist/cjs/snk-attach.cjs.entry.js +1 -1
  3. package/dist/cjs/snk-crud.cjs.entry.js +1 -1
  4. package/dist/cjs/snk-detail-view.cjs.entry.js +2 -2
  5. package/dist/cjs/snk-grid.cjs.entry.js +1 -1
  6. package/dist/cjs/{snk-guides-viewer-c252149f.js → snk-guides-viewer-58185ae3.js} +1 -1
  7. package/dist/cjs/snk-guides-viewer.cjs.entry.js +2 -2
  8. package/dist/cjs/snk-simple-crud.cjs.entry.js +1 -1
  9. package/dist/cjs/snk-taskbar.cjs.entry.js +1 -1
  10. package/dist/cjs/{taskbar-elements-8a80420e.js → taskbar-elements-a94d4318.js} +4 -3
  11. package/dist/collection/components/snk-grid-config/snk-grid-config.js +12 -4
  12. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +4 -3
  13. package/dist/components/snk-grid-config2.js +12 -4
  14. package/dist/components/snk-taskbar2.js +4 -3
  15. package/dist/esm/snk-actions-button_8.entry.js +12 -4
  16. package/dist/esm/snk-attach.entry.js +1 -1
  17. package/dist/esm/snk-crud.entry.js +1 -1
  18. package/dist/esm/snk-detail-view.entry.js +2 -2
  19. package/dist/esm/snk-grid.entry.js +1 -1
  20. package/dist/esm/{snk-guides-viewer-988e7e1a.js → snk-guides-viewer-6a72a3f4.js} +1 -1
  21. package/dist/esm/snk-guides-viewer.entry.js +2 -2
  22. package/dist/esm/snk-simple-crud.entry.js +1 -1
  23. package/dist/esm/snk-taskbar.entry.js +1 -1
  24. package/dist/esm/{taskbar-elements-d1e63fb2.js → taskbar-elements-97541bdd.js} +4 -3
  25. package/dist/sankhyablocks/{p-adc59e2c.entry.js → p-2ee83af1.entry.js} +1 -1
  26. package/dist/sankhyablocks/{p-e973a5d4.entry.js → p-45f53520.entry.js} +1 -1
  27. package/dist/sankhyablocks/{p-b16322aa.js → p-48762fe9.js} +1 -1
  28. package/dist/sankhyablocks/p-72d62f22.js +1 -0
  29. package/dist/sankhyablocks/{p-3b07c117.entry.js → p-7cede5db.entry.js} +1 -1
  30. package/dist/sankhyablocks/{p-bb81a356.entry.js → p-9ce1539b.entry.js} +1 -1
  31. package/dist/sankhyablocks/{p-a65559fe.entry.js → p-a210e55b.entry.js} +1 -1
  32. package/dist/sankhyablocks/{p-b471bfab.entry.js → p-b25777fa.entry.js} +1 -1
  33. package/dist/sankhyablocks/{p-4d2f5708.entry.js → p-d70de708.entry.js} +1 -1
  34. package/dist/sankhyablocks/{p-43d84207.entry.js → p-f4ac3b50.entry.js} +1 -1
  35. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  36. package/package.json +1 -1
  37. package/dist/sankhyablocks/p-cc9935af.js +0 -1
@@ -1077,21 +1077,29 @@ const SnkGridConfig = class {
1077
1077
  this._dataChanged = true;
1078
1078
  const config = await ConfigStorage.ConfigStorage.getDefaultGridConfig(this.resourceID);
1079
1079
  const defaultVisibleCols = (_a = config === null || config === void 0 ? void 0 : config.columns.map(col => col.name)) !== null && _a !== void 0 ? _a : [];
1080
+ const isEmptyConfig = defaultVisibleCols.length === 0;
1080
1081
  const visibleGroup = this.buildVisibleGroup();
1081
1082
  const hiddenGroup = this.buildHiddenGroup();
1082
1083
  const visibleItemsMap = new Map();
1083
1084
  this.columns.forEach(column => {
1084
1085
  const item = this.buildListItemFromColumn(column);
1085
- if (defaultVisibleCols.includes(column.name)) {
1086
+ if (isEmptyConfig || defaultVisibleCols.includes(column.name)) {
1086
1087
  visibleItemsMap.set(column.name, item);
1087
1088
  }
1088
1089
  else {
1089
1090
  hiddenGroup.items.push(item);
1090
1091
  }
1091
1092
  });
1092
- visibleGroup.items = defaultVisibleCols
1093
- .map(name => visibleItemsMap.get(name))
1094
- .filter(item => item);
1093
+ if (isEmptyConfig) {
1094
+ const itemsToAdd = [];
1095
+ visibleItemsMap.forEach((item) => itemsToAdd.push(item));
1096
+ visibleGroup.items = itemsToAdd;
1097
+ }
1098
+ else {
1099
+ visibleGroup.items = defaultVisibleCols
1100
+ .map(name => visibleItemsMap.get(name))
1101
+ .filter(item => item);
1102
+ }
1095
1103
  this._columListItems = [visibleGroup, hiddenGroup];
1096
1104
  this._visibleList = visibleGroup.items;
1097
1105
  this._hiddenList = hiddenGroup.items;
@@ -13,7 +13,7 @@ require('./form-config-fetcher-72cf0e3d.js');
13
13
  const constants = require('./constants-6d82e405.js');
14
14
  const authFetcher = require('./auth-fetcher-faa61f64.js');
15
15
  const SnkMessageBuilder = require('./SnkMessageBuilder-d9558dba.js');
16
- const taskbarElements = require('./taskbar-elements-8a80420e.js');
16
+ const taskbarElements = require('./taskbar-elements-a94d4318.js');
17
17
  require('./PrintUtils-bcaeb82f.js');
18
18
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
19
19
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
@@ -15,7 +15,7 @@ require('./form-config-fetcher-72cf0e3d.js');
15
15
  const constants = require('./constants-6d82e405.js');
16
16
  const authFetcher = require('./auth-fetcher-faa61f64.js');
17
17
  const ServicesNumberingConfig = require('./ServicesNumberingConfig-69038a0f.js');
18
- const taskbarElements = require('./taskbar-elements-8a80420e.js');
18
+ const taskbarElements = require('./taskbar-elements-a94d4318.js');
19
19
  require('./PrintUtils-bcaeb82f.js');
20
20
  require('./SnkMessageBuilder-d9558dba.js');
21
21
  require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
@@ -15,8 +15,8 @@ require('./dataunit-fetcher-4320f7ec.js');
15
15
  require('./filter-item-type.enum-a7ffdaa6.js');
16
16
  require('./form-config-fetcher-72cf0e3d.js');
17
17
  const constants = require('./constants-6d82e405.js');
18
- const taskbarElements = require('./taskbar-elements-8a80420e.js');
19
- const snkGuidesViewer = require('./snk-guides-viewer-c252149f.js');
18
+ const taskbarElements = require('./taskbar-elements-a94d4318.js');
19
+ const snkGuidesViewer = require('./snk-guides-viewer-58185ae3.js');
20
20
  const SnkMessageBuilder = require('./SnkMessageBuilder-d9558dba.js');
21
21
  const utils = require('@sankhyalabs/ezui/dist/collection/utils');
22
22
  require('./ConfigStorage-d9d24844.js');
@@ -20,7 +20,7 @@ const ConfigStorage = require('./ConfigStorage-d9d24844.js');
20
20
  const index$2 = require('./index-f0fe7e6e.js');
21
21
  const GetSelectedRecordsIDsInfo = require('./GetSelectedRecordsIDsInfo-bd50caf1.js');
22
22
  const filterValidate = require('./filter-validate-cb4ed41a.js');
23
- const taskbarElements = require('./taskbar-elements-8a80420e.js');
23
+ const taskbarElements = require('./taskbar-elements-a94d4318.js');
24
24
  const taskbarProcessor = require('./taskbar-processor-2fba34a8.js');
25
25
  require('./PrintUtils-bcaeb82f.js');
26
26
  require('./SnkMessageBuilder-d9558dba.js');
@@ -15,7 +15,7 @@ require('./filter-item-type.enum-a7ffdaa6.js');
15
15
  require('./form-config-fetcher-72cf0e3d.js');
16
16
  const constants = require('./constants-6d82e405.js');
17
17
  const SnkFormConfigManager = require('./SnkFormConfigManager-c88cf1e9.js');
18
- const taskbarElements = require('./taskbar-elements-8a80420e.js');
18
+ const taskbarElements = require('./taskbar-elements-a94d4318.js');
19
19
  const taskbarProcessor = require('./taskbar-processor-2fba34a8.js');
20
20
 
21
21
  const snkGuidesViewerCss = ".sc-snk-guides-viewer-h{--snk-guides-viewer--space-large:var(--space--large, 24px);--snk-guides-viewer--space-small:var(--space--2xs, 8px);--snk-guides-viewer__header--min-height:68px;--snk-guides-viewer__header--z-index:var(--more-visible, 2);--snk-guides-viewer__header--background-color:var(--background--body, #fafcff);--snk-guides-viewer__guide-navigator--width:340px;display:block}snk-form-view.sc-snk-guides-viewer{width:100%}.snk-guides-viewer.sc-snk-guides-viewer{position:relative;padding-left:0px;padding-top:0px;padding-right:var(--snk-guides-viewer--space-large);padding-bottom:var(--snk-guides-viewer--space-large)}.snk-guides-viewer__detail-container.sc-snk-guides-viewer{display:flex;row-gap:24px;flex-direction:column}.snk-guides-viewer__header.sc-snk-guides-viewer{position:sticky;align-items:center;top:0;z-index:var(--snk-guides-viewer__header--z-index);background-color:var(--snk-guides-viewer__header--background-color);min-height:var(--snk-guides-viewer__header--min-height);width:calc(100% + (var(--snk-guides-viewer--space-large) * 2));padding-left:var(--snk-guides-viewer--space-large);padding-right:var(--snk-guides-viewer--space-large);padding-top:var(--snk-guides-viewer--space-large);padding-bottom:var(--snk-guides-viewer--space-small);margin-left:calc(var(--snk-guides-viewer--space-large) * -1);margin-right:calc(var(--snk-guides-viewer--space-large) * -1);margin-bottom:var(--snk-guides-viewer--space-small)}.snk-guides-viewer__header-breadcrumb.sc-snk-guides-viewer{width:25%;display:flex}.snk-guides-viewer__header-taskbar.sc-snk-guides-viewer{width:75%}.snk-guides-viewer__container.sc-snk-guides-viewer{display:grid;grid-template-columns:minmax(0, auto) minmax(0, 100%);height:100%;column-gap:var(--snk-guides-viewer--space-large)}.snk-guides-viewer__guide-navigator.sc-snk-guides-viewer{position:sticky;top:calc(var(--snk-guides-viewer__header--min-height) + var(--snk-guides-viewer--space-small));height:calc(100vh - var(--snk-guides-viewer__header--min-height) - var(--snk-guides-viewer--space-large) - var(--snk-guides-viewer--space-small))}.snk-guides-viewer__guide-navigator[open].sc-snk-guides-viewer{width:var(--snk-guides-viewer__guide-navigator--width);max-width:var(--snk-guides-viewer__guide-navigator--width);min-width:var(--snk-guides-viewer__guide-navigator--width)}.snk-guides-viewer__detail-content.sc-snk-guides-viewer{min-height:100%;align-items:flex-start;align-content:flex-start}";
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const snkGuidesViewer = require('./snk-guides-viewer-c252149f.js');
5
+ const snkGuidesViewer = require('./snk-guides-viewer-58185ae3.js');
6
6
  require('./index-1894343a.js');
7
7
  require('@sankhyalabs/core');
8
8
  require('@sankhyalabs/core/dist/dataunit/DataUnit');
@@ -24,7 +24,7 @@ require('./form-config-fetcher-72cf0e3d.js');
24
24
  require('./constants-6d82e405.js');
25
25
  require('./SnkFormConfigManager-c88cf1e9.js');
26
26
  require('./ConfigStorage-d9d24844.js');
27
- require('./taskbar-elements-8a80420e.js');
27
+ require('./taskbar-elements-a94d4318.js');
28
28
  require('./index-f0fe7e6e.js');
29
29
  require('./taskbar-processor-2fba34a8.js');
30
30
 
@@ -6,7 +6,7 @@ const index = require('./index-1894343a.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
  const utils = require('@sankhyalabs/ezui/dist/collection/utils');
8
8
  const constants = require('./constants-6d82e405.js');
9
- const taskbarElements = require('./taskbar-elements-8a80420e.js');
9
+ const taskbarElements = require('./taskbar-elements-a94d4318.js');
10
10
  require('./DataFetcher-3a8ea521.js');
11
11
  require('./ISave-a66bb65e.js');
12
12
  const SnkMultiSelectionListDataSource = require('./SnkMultiSelectionListDataSource-a891430e.js');
@@ -6,7 +6,7 @@ const index = require('./index-1894343a.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
  const index$1 = require('./index-e3e39724.js');
8
8
  const AuthorizationConfig = require('./AuthorizationConfig-79ffae4b.js');
9
- const taskbarElements = require('./taskbar-elements-8a80420e.js');
9
+ const taskbarElements = require('./taskbar-elements-a94d4318.js');
10
10
  require('./index-f0fe7e6e.js');
11
11
 
12
12
  const snkTaskbarCss = ".sc-snk-taskbar-h{display:flex;flex-wrap:wrap}.no-wrap.sc-snk-taskbar-h{flex-wrap:nowrap}.full-width.sc-snk-taskbar-h{width:100%}.align-right.sc-snk-taskbar-h{justify-content:flex-end}.overflowed.sc-snk-taskbar{display:none}";
@@ -52,7 +52,7 @@ const buildCustomButton = (def, className, dataElementId, action, isEnabled) =>
52
52
  }
53
53
  };
54
54
  const buildElem = (element, className, dataElementId, getTitle, action, isEnabled, actions, dataExporterStoreKey, presentationMode) => {
55
- var _a;
55
+ var _a, _b;
56
56
  const title = getTitle(element);
57
57
  switch (element) {
58
58
  case exports.TaskbarElement.PREVIOUS:
@@ -95,11 +95,12 @@ const buildElem = (element, className, dataElementId, getTitle, action, isEnable
95
95
  }
96
96
  return iconButton("settings-inverted", element, className, dataElementId, title, action, isEnabled);
97
97
  case exports.TaskbarElement.MORE_OPTIONS:
98
- return actionButton(element, className, dataElementId, title, isEnabled, actions, action);
98
+ const definedActions = (_a = actions === null || actions === void 0 ? void 0 : actions.filter(a => a !== undefined)) !== null && _a !== void 0 ? _a : [];
99
+ return actionButton(element, className, dataElementId, title, isEnabled, definedActions, action);
99
100
  case exports.TaskbarElement.DIVIDER:
100
101
  return index.h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin--none ez-margin-left--medium", "data-taskbar-divider": true });
101
102
  case exports.TaskbarElement.DATA_EXPORTER:
102
- const provider = (_a = index$1.store.get("exporterProviders")) === null || _a === void 0 ? void 0 : _a[dataExporterStoreKey];
103
+ const provider = (_b = index$1.store.get("exporterProviders")) === null || _b === void 0 ? void 0 : _b[dataExporterStoreKey];
103
104
  return index.h("snk-data-exporter", { class: className, provider: provider, "data-element-id": dataElementId, "data-taskbar-element": element });
104
105
  case exports.TaskbarElement.ATTACH:
105
106
  return iconButton("anexo", element, className, dataElementId, title, action, isEnabled);
@@ -347,21 +347,29 @@ export class SnkGridConfig {
347
347
  this._dataChanged = true;
348
348
  const config = await ConfigStorage.getDefaultGridConfig(this.resourceID);
349
349
  const defaultVisibleCols = (_a = config === null || config === void 0 ? void 0 : config.columns.map(col => col.name)) !== null && _a !== void 0 ? _a : [];
350
+ const isEmptyConfig = defaultVisibleCols.length === 0;
350
351
  const visibleGroup = this.buildVisibleGroup();
351
352
  const hiddenGroup = this.buildHiddenGroup();
352
353
  const visibleItemsMap = new Map();
353
354
  this.columns.forEach(column => {
354
355
  const item = this.buildListItemFromColumn(column);
355
- if (defaultVisibleCols.includes(column.name)) {
356
+ if (isEmptyConfig || defaultVisibleCols.includes(column.name)) {
356
357
  visibleItemsMap.set(column.name, item);
357
358
  }
358
359
  else {
359
360
  hiddenGroup.items.push(item);
360
361
  }
361
362
  });
362
- visibleGroup.items = defaultVisibleCols
363
- .map(name => visibleItemsMap.get(name))
364
- .filter(item => item);
363
+ if (isEmptyConfig) {
364
+ const itemsToAdd = [];
365
+ visibleItemsMap.forEach((item) => itemsToAdd.push(item));
366
+ visibleGroup.items = itemsToAdd;
367
+ }
368
+ else {
369
+ visibleGroup.items = defaultVisibleCols
370
+ .map(name => visibleItemsMap.get(name))
371
+ .filter(item => item);
372
+ }
365
373
  this._columListItems = [visibleGroup, hiddenGroup];
366
374
  this._visibleList = visibleGroup.items;
367
375
  this._hiddenList = hiddenGroup.items;
@@ -49,7 +49,7 @@ export const buildCustomButton = (def, className, dataElementId, action, isEnabl
49
49
  }
50
50
  };
51
51
  export const buildElem = (element, className, dataElementId, getTitle, action, isEnabled, actions, dataExporterStoreKey, presentationMode) => {
52
- var _a;
52
+ var _a, _b;
53
53
  const title = getTitle(element);
54
54
  switch (element) {
55
55
  case TaskbarElement.PREVIOUS:
@@ -92,11 +92,12 @@ export const buildElem = (element, className, dataElementId, getTitle, action, i
92
92
  }
93
93
  return iconButton("settings-inverted", element, className, dataElementId, title, action, isEnabled);
94
94
  case TaskbarElement.MORE_OPTIONS:
95
- return actionButton(element, className, dataElementId, title, isEnabled, actions, action);
95
+ const definedActions = (_a = actions === null || actions === void 0 ? void 0 : actions.filter(a => a !== undefined)) !== null && _a !== void 0 ? _a : [];
96
+ return actionButton(element, className, dataElementId, title, isEnabled, definedActions, action);
96
97
  case TaskbarElement.DIVIDER:
97
98
  return h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin--none ez-margin-left--medium", "data-taskbar-divider": true });
98
99
  case TaskbarElement.DATA_EXPORTER:
99
- const provider = (_a = store.get("exporterProviders")) === null || _a === void 0 ? void 0 : _a[dataExporterStoreKey];
100
+ const provider = (_b = store.get("exporterProviders")) === null || _b === void 0 ? void 0 : _b[dataExporterStoreKey];
100
101
  return h("snk-data-exporter", { class: className, provider: provider, "data-element-id": dataElementId, "data-taskbar-element": element });
101
102
  case TaskbarElement.ATTACH:
102
103
  return iconButton("anexo", element, className, dataElementId, title, action, isEnabled);
@@ -355,21 +355,29 @@ const SnkGridConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
355
355
  this._dataChanged = true;
356
356
  const config = await ConfigStorage.getDefaultGridConfig(this.resourceID);
357
357
  const defaultVisibleCols = (_a = config === null || config === void 0 ? void 0 : config.columns.map(col => col.name)) !== null && _a !== void 0 ? _a : [];
358
+ const isEmptyConfig = defaultVisibleCols.length === 0;
358
359
  const visibleGroup = this.buildVisibleGroup();
359
360
  const hiddenGroup = this.buildHiddenGroup();
360
361
  const visibleItemsMap = new Map();
361
362
  this.columns.forEach(column => {
362
363
  const item = this.buildListItemFromColumn(column);
363
- if (defaultVisibleCols.includes(column.name)) {
364
+ if (isEmptyConfig || defaultVisibleCols.includes(column.name)) {
364
365
  visibleItemsMap.set(column.name, item);
365
366
  }
366
367
  else {
367
368
  hiddenGroup.items.push(item);
368
369
  }
369
370
  });
370
- visibleGroup.items = defaultVisibleCols
371
- .map(name => visibleItemsMap.get(name))
372
- .filter(item => item);
371
+ if (isEmptyConfig) {
372
+ const itemsToAdd = [];
373
+ visibleItemsMap.forEach((item) => itemsToAdd.push(item));
374
+ visibleGroup.items = itemsToAdd;
375
+ }
376
+ else {
377
+ visibleGroup.items = defaultVisibleCols
378
+ .map(name => visibleItemsMap.get(name))
379
+ .filter(item => item);
380
+ }
373
381
  this._columListItems = [visibleGroup, hiddenGroup];
374
382
  this._visibleList = visibleGroup.items;
375
383
  this._hiddenList = hiddenGroup.items;
@@ -57,7 +57,7 @@ const buildCustomButton = (def, className, dataElementId, action, isEnabled) =>
57
57
  }
58
58
  };
59
59
  const buildElem = (element, className, dataElementId, getTitle, action, isEnabled, actions, dataExporterStoreKey, presentationMode) => {
60
- var _a;
60
+ var _a, _b;
61
61
  const title = getTitle(element);
62
62
  switch (element) {
63
63
  case TaskbarElement.PREVIOUS:
@@ -100,11 +100,12 @@ const buildElem = (element, className, dataElementId, getTitle, action, isEnable
100
100
  }
101
101
  return iconButton("settings-inverted", element, className, dataElementId, title, action, isEnabled);
102
102
  case TaskbarElement.MORE_OPTIONS:
103
- return actionButton(element, className, dataElementId, title, isEnabled, actions, action);
103
+ const definedActions = (_a = actions === null || actions === void 0 ? void 0 : actions.filter(a => a !== undefined)) !== null && _a !== void 0 ? _a : [];
104
+ return actionButton(element, className, dataElementId, title, isEnabled, definedActions, action);
104
105
  case TaskbarElement.DIVIDER:
105
106
  return h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin--none ez-margin-left--medium", "data-taskbar-divider": true });
106
107
  case TaskbarElement.DATA_EXPORTER:
107
- const provider = (_a = store.get("exporterProviders")) === null || _a === void 0 ? void 0 : _a[dataExporterStoreKey];
108
+ const provider = (_b = store.get("exporterProviders")) === null || _b === void 0 ? void 0 : _b[dataExporterStoreKey];
108
109
  return h("snk-data-exporter", { class: className, provider: provider, "data-element-id": dataElementId, "data-taskbar-element": element });
109
110
  case TaskbarElement.ATTACH:
110
111
  return iconButton("anexo", element, className, dataElementId, title, action, isEnabled);
@@ -1073,21 +1073,29 @@ const SnkGridConfig = class {
1073
1073
  this._dataChanged = true;
1074
1074
  const config = await ConfigStorage.getDefaultGridConfig(this.resourceID);
1075
1075
  const defaultVisibleCols = (_a = config === null || config === void 0 ? void 0 : config.columns.map(col => col.name)) !== null && _a !== void 0 ? _a : [];
1076
+ const isEmptyConfig = defaultVisibleCols.length === 0;
1076
1077
  const visibleGroup = this.buildVisibleGroup();
1077
1078
  const hiddenGroup = this.buildHiddenGroup();
1078
1079
  const visibleItemsMap = new Map();
1079
1080
  this.columns.forEach(column => {
1080
1081
  const item = this.buildListItemFromColumn(column);
1081
- if (defaultVisibleCols.includes(column.name)) {
1082
+ if (isEmptyConfig || defaultVisibleCols.includes(column.name)) {
1082
1083
  visibleItemsMap.set(column.name, item);
1083
1084
  }
1084
1085
  else {
1085
1086
  hiddenGroup.items.push(item);
1086
1087
  }
1087
1088
  });
1088
- visibleGroup.items = defaultVisibleCols
1089
- .map(name => visibleItemsMap.get(name))
1090
- .filter(item => item);
1089
+ if (isEmptyConfig) {
1090
+ const itemsToAdd = [];
1091
+ visibleItemsMap.forEach((item) => itemsToAdd.push(item));
1092
+ visibleGroup.items = itemsToAdd;
1093
+ }
1094
+ else {
1095
+ visibleGroup.items = defaultVisibleCols
1096
+ .map(name => visibleItemsMap.get(name))
1097
+ .filter(item => item);
1098
+ }
1091
1099
  this._columListItems = [visibleGroup, hiddenGroup];
1092
1100
  this._visibleList = visibleGroup.items;
1093
1101
  this._hiddenList = hiddenGroup.items;
@@ -9,7 +9,7 @@ import './form-config-fetcher-fcc7b62f.js';
9
9
  import { V as VIEW_MODE } from './constants-7b422de0.js';
10
10
  import { A as AutorizationType } from './auth-fetcher-69cbda8d.js';
11
11
  import { S as SnkMessageBuilder } from './SnkMessageBuilder-c0bc4424.js';
12
- import { T as TaskbarElement } from './taskbar-elements-d1e63fb2.js';
12
+ import { T as TaskbarElement } from './taskbar-elements-97541bdd.js';
13
13
  import './PrintUtils-3e4ff0f5.js';
14
14
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
15
15
  import '@sankhyalabs/ezui/dist/collection/utils/constants';
@@ -11,7 +11,7 @@ import './form-config-fetcher-fcc7b62f.js';
11
11
  import { V as VIEW_MODE } from './constants-7b422de0.js';
12
12
  import { A as AutorizationType } from './auth-fetcher-69cbda8d.js';
13
13
  import { S as ServicesNumberingConfig } from './ServicesNumberingConfig-2f7b050e.js';
14
- import { T as TaskbarElement } from './taskbar-elements-d1e63fb2.js';
14
+ import { T as TaskbarElement } from './taskbar-elements-97541bdd.js';
15
15
  import './PrintUtils-3e4ff0f5.js';
16
16
  import './SnkMessageBuilder-c0bc4424.js';
17
17
  import '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils';
@@ -11,8 +11,8 @@ import './dataunit-fetcher-3d5c4ae4.js';
11
11
  import './filter-item-type.enum-d45e026f.js';
12
12
  import './form-config-fetcher-fcc7b62f.js';
13
13
  import { V as VIEW_MODE } from './constants-7b422de0.js';
14
- import { T as TaskbarElement } from './taskbar-elements-d1e63fb2.js';
15
- import { S as SnkGuidesViewer } from './snk-guides-viewer-988e7e1a.js';
14
+ import { T as TaskbarElement } from './taskbar-elements-97541bdd.js';
15
+ import { S as SnkGuidesViewer } from './snk-guides-viewer-6a72a3f4.js';
16
16
  import { S as SnkMessageBuilder } from './SnkMessageBuilder-c0bc4424.js';
17
17
  import { buildFieldSearch, SHORTCUT_SEARCH_FIELD } from '@sankhyalabs/ezui/dist/collection/utils';
18
18
  import './ConfigStorage-d15d2014.js';
@@ -16,7 +16,7 @@ import { C as ConfigStorage } from './ConfigStorage-d15d2014.js';
16
16
  import { s as store } from './index-ea250be6.js';
17
17
  import { g as getSelectedRecordsIDsInfo } from './GetSelectedRecordsIDsInfo-9fa41508.js';
18
18
  import { v as validateFilters } from './filter-validate-faf51fa9.js';
19
- import { T as TaskbarElement } from './taskbar-elements-d1e63fb2.js';
19
+ import { T as TaskbarElement } from './taskbar-elements-97541bdd.js';
20
20
  import { T as TaskbarProcessor } from './taskbar-processor-3436124c.js';
21
21
  import './PrintUtils-3e4ff0f5.js';
22
22
  import './SnkMessageBuilder-c0bc4424.js';
@@ -13,7 +13,7 @@ import './filter-item-type.enum-d45e026f.js';
13
13
  import './form-config-fetcher-fcc7b62f.js';
14
14
  import { V as VIEW_MODE } from './constants-7b422de0.js';
15
15
  import { S as SnkFormConfigManager } from './SnkFormConfigManager-86befa68.js';
16
- import { T as TaskbarElement } from './taskbar-elements-d1e63fb2.js';
16
+ import { T as TaskbarElement } from './taskbar-elements-97541bdd.js';
17
17
  import { T as TaskbarProcessor } from './taskbar-processor-3436124c.js';
18
18
 
19
19
  const snkGuidesViewerCss = ".sc-snk-guides-viewer-h{--snk-guides-viewer--space-large:var(--space--large, 24px);--snk-guides-viewer--space-small:var(--space--2xs, 8px);--snk-guides-viewer__header--min-height:68px;--snk-guides-viewer__header--z-index:var(--more-visible, 2);--snk-guides-viewer__header--background-color:var(--background--body, #fafcff);--snk-guides-viewer__guide-navigator--width:340px;display:block}snk-form-view.sc-snk-guides-viewer{width:100%}.snk-guides-viewer.sc-snk-guides-viewer{position:relative;padding-left:0px;padding-top:0px;padding-right:var(--snk-guides-viewer--space-large);padding-bottom:var(--snk-guides-viewer--space-large)}.snk-guides-viewer__detail-container.sc-snk-guides-viewer{display:flex;row-gap:24px;flex-direction:column}.snk-guides-viewer__header.sc-snk-guides-viewer{position:sticky;align-items:center;top:0;z-index:var(--snk-guides-viewer__header--z-index);background-color:var(--snk-guides-viewer__header--background-color);min-height:var(--snk-guides-viewer__header--min-height);width:calc(100% + (var(--snk-guides-viewer--space-large) * 2));padding-left:var(--snk-guides-viewer--space-large);padding-right:var(--snk-guides-viewer--space-large);padding-top:var(--snk-guides-viewer--space-large);padding-bottom:var(--snk-guides-viewer--space-small);margin-left:calc(var(--snk-guides-viewer--space-large) * -1);margin-right:calc(var(--snk-guides-viewer--space-large) * -1);margin-bottom:var(--snk-guides-viewer--space-small)}.snk-guides-viewer__header-breadcrumb.sc-snk-guides-viewer{width:25%;display:flex}.snk-guides-viewer__header-taskbar.sc-snk-guides-viewer{width:75%}.snk-guides-viewer__container.sc-snk-guides-viewer{display:grid;grid-template-columns:minmax(0, auto) minmax(0, 100%);height:100%;column-gap:var(--snk-guides-viewer--space-large)}.snk-guides-viewer__guide-navigator.sc-snk-guides-viewer{position:sticky;top:calc(var(--snk-guides-viewer__header--min-height) + var(--snk-guides-viewer--space-small));height:calc(100vh - var(--snk-guides-viewer__header--min-height) - var(--snk-guides-viewer--space-large) - var(--snk-guides-viewer--space-small))}.snk-guides-viewer__guide-navigator[open].sc-snk-guides-viewer{width:var(--snk-guides-viewer__guide-navigator--width);max-width:var(--snk-guides-viewer__guide-navigator--width);min-width:var(--snk-guides-viewer__guide-navigator--width)}.snk-guides-viewer__detail-content.sc-snk-guides-viewer{min-height:100%;align-items:flex-start;align-content:flex-start}";
@@ -1,4 +1,4 @@
1
- export { S as snk_guides_viewer } from './snk-guides-viewer-988e7e1a.js';
1
+ export { S as snk_guides_viewer } from './snk-guides-viewer-6a72a3f4.js';
2
2
  import './index-04f73a26.js';
3
3
  import '@sankhyalabs/core';
4
4
  import '@sankhyalabs/core/dist/dataunit/DataUnit';
@@ -20,6 +20,6 @@ import './form-config-fetcher-fcc7b62f.js';
20
20
  import './constants-7b422de0.js';
21
21
  import './SnkFormConfigManager-86befa68.js';
22
22
  import './ConfigStorage-d15d2014.js';
23
- import './taskbar-elements-d1e63fb2.js';
23
+ import './taskbar-elements-97541bdd.js';
24
24
  import './index-ea250be6.js';
25
25
  import './taskbar-processor-3436124c.js';
@@ -2,7 +2,7 @@ import { r as registerInstance, e as createEvent, h, g as getElement } from './i
2
2
  import { StringUtils, ApplicationContext, ObjectUtils, Action, DataType, UserInterface, KeyboardManager, ElementIDUtils } from '@sankhyalabs/core';
3
3
  import { CSSVarsUtils, buildFieldSearch } from '@sankhyalabs/ezui/dist/collection/utils';
4
4
  import { V as VIEW_MODE, S as SIMPLE_CRUD_MODE } from './constants-7b422de0.js';
5
- import { T as TaskbarElement } from './taskbar-elements-d1e63fb2.js';
5
+ import { T as TaskbarElement } from './taskbar-elements-97541bdd.js';
6
6
  import './DataFetcher-1dd7e8c0.js';
7
7
  import './ISave-498c4831.js';
8
8
  import { S as SnkMultiSelectionListDataSource, R as RmPrecisionCustomValueFormatter, b as ContinuousInsertUtils, a as CrudUtils, c as ClientSideExporterProvider } from './SnkMultiSelectionListDataSource-14633bf6.js';
@@ -2,7 +2,7 @@ import { r as registerInstance, e as createEvent, h, f as Host, g as getElement
2
2
  import { Action, ElementIDUtils, LockManager, LockManagerOperation, SilentException, StringUtils, ApplicationContext, OVERFLOWED_CLASS_NAME, OverflowWatcher, OverflowDirection } from '@sankhyalabs/core';
3
3
  import { P as PresentationMode } from './index-b40568ff.js';
4
4
  import { A as AuthorizationConfig } from './AuthorizationConfig-dcbd207a.js';
5
- import { T as TaskbarElement, V as VisibleWhenForbidden, A as AuthorizationElements, b as buildElem, a as buildCustomButton } from './taskbar-elements-d1e63fb2.js';
5
+ import { T as TaskbarElement, V as VisibleWhenForbidden, A as AuthorizationElements, b as buildElem, a as buildCustomButton } from './taskbar-elements-97541bdd.js';
6
6
  import './index-ea250be6.js';
7
7
 
8
8
  const snkTaskbarCss = ".sc-snk-taskbar-h{display:flex;flex-wrap:wrap}.no-wrap.sc-snk-taskbar-h{flex-wrap:nowrap}.full-width.sc-snk-taskbar-h{width:100%}.align-right.sc-snk-taskbar-h{justify-content:flex-end}.overflowed.sc-snk-taskbar{display:none}";
@@ -50,7 +50,7 @@ const buildCustomButton = (def, className, dataElementId, action, isEnabled) =>
50
50
  }
51
51
  };
52
52
  const buildElem = (element, className, dataElementId, getTitle, action, isEnabled, actions, dataExporterStoreKey, presentationMode) => {
53
- var _a;
53
+ var _a, _b;
54
54
  const title = getTitle(element);
55
55
  switch (element) {
56
56
  case TaskbarElement.PREVIOUS:
@@ -93,11 +93,12 @@ const buildElem = (element, className, dataElementId, getTitle, action, isEnable
93
93
  }
94
94
  return iconButton("settings-inverted", element, className, dataElementId, title, action, isEnabled);
95
95
  case TaskbarElement.MORE_OPTIONS:
96
- return actionButton(element, className, dataElementId, title, isEnabled, actions, action);
96
+ const definedActions = (_a = actions === null || actions === void 0 ? void 0 : actions.filter(a => a !== undefined)) !== null && _a !== void 0 ? _a : [];
97
+ return actionButton(element, className, dataElementId, title, isEnabled, definedActions, action);
97
98
  case TaskbarElement.DIVIDER:
98
99
  return h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin--none ez-margin-left--medium", "data-taskbar-divider": true });
99
100
  case TaskbarElement.DATA_EXPORTER:
100
- const provider = (_a = store.get("exporterProviders")) === null || _a === void 0 ? void 0 : _a[dataExporterStoreKey];
101
+ const provider = (_b = store.get("exporterProviders")) === null || _b === void 0 ? void 0 : _b[dataExporterStoreKey];
101
102
  return h("snk-data-exporter", { class: className, provider: provider, "data-element-id": dataElementId, "data-taskbar-element": element });
102
103
  case TaskbarElement.ATTACH:
103
104
  return iconButton("anexo", element, className, dataElementId, title, action, isEnabled);
@@ -1 +1 @@
1
- import{r as t,e as i,i as s,h as e,f as a,g as o}from"./p-2c9d0870.js";import{Action as h,StringUtils as n,KeyboardManager as r}from"@sankhyalabs/core";import{S as d}from"./p-7e9f8fa4.js";import{FormMetadata as l,buildFormMetadata as c}from"@sankhyalabs/ezui/dist/collection/utils/form";import"./p-bdf0077f.js";import"./p-32ad76cc.js";import{P as u}from"./p-0f3698af.js";import"@sankhyalabs/ezui/dist/collection/utils/constants";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-685bc841.js";import"./p-ff1990ad.js";import"./p-a9839628.js";import{V as m}from"./p-9019a32f.js";import{T as v}from"./p-cc9935af.js";import{S as p}from"./p-b16322aa.js";import{S as f}from"./p-27d6590e.js";import{buildFieldSearch as g,SHORTCUT_SEARCH_FIELD as b}from"@sankhyalabs/ezui/dist/collection/utils";import"./p-9114e869.js";import"./p-8d884fab.js";import"@sankhyalabs/ezui/dist/collection/components/ez-grid/utils";import"@sankhyalabs/core/dist/utils/SortingUtils";import"./p-688dcb4c.js";import"./p-a73b6b00.js";import"@sankhyalabs/core/dist/dataunit/DataUnit";import"./p-1a0caadb.js";class k{constructor(t,i,s,e){this._parentGuide=t,this._formMetadata=i,this._dataUnit=s,this._messageBuilder=e,this._messageBuilder||(this._messageBuilder=new f)}get id(){return this._parentGuide.id}getMessage(t,i){return this._messageBuilder.getMessage(t,i)}buildGuideItem(t){const i=Object.assign({},this._parentGuide);delete i.expanded,delete i.children;const s=this._dataUnit.getSelectedRecord();if(!s)return i;const e=this._dataUnit.isNewRecord(s.__record__id__),a=Array.from(this._formMetadata.getAllSheets().values()).map((i=>{const{name:s,label:a}=i,o=null!=l.getDetailName(s.split("::").pop()),h=o&&e,n=this._parentGuide.id,r=o?`${n}::${s}`:`${n}__FORM:${s}`;return o&&t.has(r)&&!h?t.get(r).buildGuideItem(t):{id:r,label:a,disabled:h,tooltip:h?this.getMessage("snkCrud.guide.tooltip.disabledDetail"):void 0}})),o=a.shift();return o.label=e?this.getMessage("snkCrud.newRecord"):s.__record__label__,o.children=a,i.children=[o],i}}const w=class{constructor(s){t(this,s),this.snkDetailGuidesChange=i(this,"snkDetailGuidesChange",7),this.snkSwitchGuide=i(this,"snkSwitchGuide",7),this.formItemsReady=i(this,"formItemsReady",7),this._disabledButtons=void 0,this._currentView=void 0,this.attachmentRegisterKey=void 0,this._fieldToGetFocus=void 0,this._hasToCreateFieldSearch=!0,this.formConfigManager=void 0,this.dataUnitName=void 0,this.resourceID=void 0,this.guideItemPath=void 0,this.entityName=void 0,this.label=void 0,this.dataUnit=void 0,this.selectedForm=void 0,this.dataState=void 0,this.messagesBuilder=void 0,this.branchGuide=void 0,this.canEdit=!0,this.taskbarCustomContainerId=void 0,this.customEditors=void 0,this.customRenders=void 0,this.presentationMode=u.SECONDARY}observeDataUnit(t,i){null==t||t.subscribe(this.dataUnitActionHandler.bind(this)),null==i||i.unsubscribe(this.dataUnitActionHandler)}observerDataState(t,i){const s=!(null==i?void 0:i.insertionMode)&&(null==t?void 0:t.insertionMode),e=(null==i?void 0:i.insertionMode)&&!(null==t?void 0:t.insertionMode);if((s||e)&&this.loadMetadata(),null==this._formMetadata)return;const a=null==t?void 0:t.selectedRecord,o=null==i?void 0:i.selectedRecord;(null==a?void 0:a.__record__id__)!==(null==o?void 0:o.__record__id__)&&this.snkDetailGuidesChange.emit(new k(this.branchGuide,this._formMetadata,this.dataUnit,this.messagesBuilder)),s&&setTimeout((()=>{this.changeViewMode(m.FORM)}),0),e&&this.changeViewMode(m.GRID);const h=[];this.dataState.hasPrevious||h.push(v.PREVIOUS),this.dataState.hasNext||h.push(v.NEXT),this.dataState.insertionMode&&h.push(v.INSERT),this._disabledButtons=h}async changeViewMode(t){this.emitSwitchEvent(t)}async configGrid(){this._snkGrid&&this._snkGrid.showConfig()}async showUp(){this._snkFormView&&this._snkFormView.showUp(),this._snkGrid&&this._snkGrid.scrollIntoView({behavior:"smooth",block:"start"})}async addCustomEditor(t,i){var s;const e=this.normalizeBranchGuideId(null===(s=this.branchGuide)||void 0===s?void 0:s.id);this._snkGrid.addCustomEditor(t,i,e),this._snkFormView.addCustomEditor(t,i,e)}async observerPropsCustomEditor(t){for(const i in t)await this.addCustomEditor(i,t[i])}async addGridCustomRender(t,i){var s;const e=this.normalizeBranchGuideId(null===(s=this.branchGuide)||void 0===s?void 0:s.id);await this._snkGrid.addGridCustomRender(t,i,e)}onContentCardChanged(t){p.updateContentCard(t.detail.formName,t.detail.cardConfig,t.detail.propertyChanged,this.formConfigManager).then((()=>s(this))),t.stopPropagation()}async observeCustomRenders(t){for(const i in t){const s=t[i];await this.addGridCustomRender(i,s)}}updateLabel(){const t=this.guideItemPath?this.guideItemPath.length:0;if(t>0){const i=t>0?this.guideItemPath.map((t=>t.label)):void 0;this.label=i.pop(),this._levelPath=i.length>0?i.join(" / "):void 0}else this.label="",this._levelPath=void 0}getFormGuideId(t){var i;if(!t){if(null==(null===(i=this.dataState)||void 0===i?void 0:i.selectedRecord))return;const s=Array.from(this._formMetadata.getAllSheets().keys());if(!s||0==s.length)return;t=s[0]}return`${this.stripFormPattern(this.branchGuide.id)}__FORM:${t}`}stripFormPattern(t){return t.replace(w.REGEX_FORM_ID,"")}loadMetadata(){if(!this.dataUnit)return;if(!this.formConfigManager.isLoaded)return;const t=this.formConfigManager.getConfig(this.dataUnit);this._formMetadata=c(null==t||0===t.fields.length?void 0:t,this.dataUnit,!0)}dataUnitReadyHandler(t){this.dataUnit=t.detail,this.loadMetadata()}updateViewStack(t){var i,s;this._viewStack=t,this._currentView=this.selectedForm?1:0,null===(s=null===(i=this._viewStack)||void 0===i?void 0:i.show)||void 0===s||s.call(i,this._currentView)}getFormFields(){return this.selectedForm&&this._formMetadata?this._formMetadata.getSheet(this.selectedForm).fields:[]}emitSwitchEvent(t){const i=t===m.GRID?this.stripFormPattern(this.branchGuide.id):this.getFormGuideId();i&&this.snkSwitchGuide.emit(i)}handleAttachBack(){this._viewStack.show(m.GRID)}executeActionHandler(t){t.detail===v.GRID_MODE&&(this.emitSwitchEvent(m.GRID),t.stopPropagation()),t.detail!==v.FORM_MODE&&t.detail!==v.UPDATE||(this.emitSwitchEvent(m.FORM),t.stopPropagation()),t.detail===v.ATTACH&&(this._viewStack.show(m.ATTACHMENT),t.stopPropagation())}async getAttachmentRegisterKey(){if(this._snkDataUnit)return(await this._snkDataUnit.getSelectedRecordsIDsInfo()).map((({value:t})=>t)).join("_")}async handleDataStateChange({detail:t}){this.dataState=t,void 0!==t.selectedRecord&&this._snkDataUnit&&(this.attachmentRegisterKey=await this.getAttachmentRegisterKey())}componentWillLoad(){this._configName=`dynaform.${this.entityName}`,this.formConfigManager=new d(this._configName,this.resourceID,(()=>this.loadMetadata()),this.dataUnit),this.formConfigManager.loadConfig(),null==this.messagesBuilder&&(this.messagesBuilder=new f(this.entityName))}async componentDidLoad(){await this.observerPropsCustomEditor(this.customEditors),await this.observeCustomRenders(this.customRenders),this.initKeyboardManager()}disconnectedCallback(){var t;null===(t=this._keyboardManager)||void 0===t||t.unbindAllShortcutKeys()}async dataUnitActionHandler(t){t.type===h.FIELD_INVALIDATED?this.addErrorBadgeToBranchGuide():t.type===h.DATA_LOADED&&this.dataUnit.selectFirst()}addErrorBadgeToBranchGuide(){this.branchGuide=Object.assign(Object.assign({},this.branchGuide),{badge:"error"}),this.snkDetailGuidesChange.emit(new k(this.branchGuide,this._formMetadata,this.dataUnit,this.messagesBuilder))}normalizeBranchGuideId(t){return null==t?void 0:t.replace(/child\[(.*?)\]/g,"$1").replace(/::/g,">")}getSettingsListForm(){return[{value:n.generateUUID(),label:this.messagesBuilder.getMessage("snkCrud.findColumn",void 0),disableCloseOnSelect:!0,eagerInitialize:!0,itemBuilder:(t,i)=>this.getFieldsSearch(i)}]}getFieldsSearch(t){return(null==this._fieldSearch||this._hasToCreateFieldSearch)&&(this._hasToCreateFieldSearch=!1,this._fieldSearch=g(t,(({argument:t})=>this.fieldsOptionLoader(t)),(t=>this.onSelectField(t)))),this._fieldSearch}fieldsOptionLoader(t){const i=null==t?void 0:t.toLowerCase(),s=this.getFormFields().map((t=>{var i;return null===(i=this.dataUnit)||void 0===i?void 0:i.getField(t.name)})).filter((t=>{var s,e;return(null===(s=t.name)||void 0===s?void 0:s.toLowerCase().includes(i))||(null===(e=t.label)||void 0===e?void 0:e.toLowerCase().includes(i))})).map((t=>({value:t.name,label:t.label})));return Promise.resolve(s)}onSelectField(t){null!=t&&(this._fieldToGetFocus=t.value)}clearFieldToFocusHandler(){this._fieldToGetFocus=void 0}async initKeyboardManager(){this._keyboardManager=new r({propagate:!1,element:this._element}),this._keyboardManager.bind(b,(async()=>{await this._snkFormView.showSearchField()}),{description:this.messagesBuilder.getMessage("snkSimpleCrud.findFields"),element:this._element})}render(){return this.updateLabel(),e(a,null,e("snk-data-unit",{ref:t=>this._snkDataUnit=t,dataUnitName:`${this.dataUnitName}`,onDataUnitReady:t=>this.dataUnitReadyHandler(t),entityName:this.entityName,onDataStateChange:this.handleDataStateChange.bind(this),ignoreSaveMessage:this._currentView===m.GRID,messagesBuilder:this.messagesBuilder,configName:this._configName},e("ez-view-stack",{ref:t=>this.updateViewStack(t)},e("stack-item",null,e("div",{class:"ez-box ez-box--shadow grid-container"},e("div",{class:"ez-title--primary ez-size-width--full ez-padding--large detail-header"},e("div",{class:"ez-flex ez-text ez-text--bold ez-flex--justify-start ez-flex--align-items-center"},this._levelPath?e("span",{class:"level-path"},this._levelPath+" /"):void 0,this.label)),e("snk-grid",{class:"ez-size-width--full",ref:t=>this._snkGrid=t,configName:this._configName,messagesBuilder:this.messagesBuilder,onGridDoubleClick:()=>this.emitSwitchEvent(m.FORM),onActionClick:t=>this.executeActionHandler(t),presentationMode:this.presentationMode,canEdit:this.canEdit,isDetail:!0,taskbarCustomContainerId:this.taskbarCustomContainerId,gridHeaderCustomSlotId:"DETAIL_GRID_HEADER_CUSTOM_ELEMENTS",topTaskbarCustomSlotId:"DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS",outlineMode:!1,enableGridInsert:!0}))),e("stack-item",null,e("snk-form-view",{ref:t=>this._snkFormView=t,canExpand:!1,canFix:!1,name:this.selectedForm,formMetadata:this._formMetadata,dataUnit:this.dataUnit,fields:this.getFormFields(),fieldToFocus:this._fieldToGetFocus,label:this.label,levelPath:this._levelPath,onFormItemsReady:({detail:t})=>this.formItemsReady.emit(t),onSnkRequestClearFieldToFocus:this.clearFieldToFocusHandler.bind(this),fieldSearch:this._fieldSearch,entityPath:this.entityName},e("snk-taskbar",{key:"guideViewerTaskbar",class:"form-taskbar","data-element-id":"guideViewer",configName:this._configName,messagesBuilder:this.messagesBuilder,disabledButtons:this._disabledButtons,buttons:"INSERT,PREVIOUS,NEXT,DIVIDER,CLONE,REMOVE,MORE_OPTIONS,DIVIDER,GRID_MODE,CONFIGURATOR",primaryButton:"INSERT",presentationMode:this.presentationMode,onActionClick:t=>this.executeActionHandler(t),dataUnit:this.dataUnit,resourceID:this.resourceID,customContainerId:this.taskbarCustomContainerId,customSlotId:"DETAIL_TASKBAR_CUSTOM_ELEMENTS",actionsSettingsList:this.getSettingsListForm()},e("slot",{name:"DETAIL_TASKBAR_CUSTOM_ELEMENTS"})))),e("stack-item",null,e("snk-attach",{registerKey:this.attachmentRegisterKey,messagesBuilder:this.messagesBuilder,entityName:this.entityName,onBack:this.handleAttachBack.bind(this)})))))}get _element(){return o(this)}static get watchers(){return{dataUnit:["observeDataUnit"],dataState:["observerDataState"],customEditors:["observerPropsCustomEditor"],customRenders:["observeCustomRenders"]}}};w.REGEX_FORM_ID=/__FORM:[^:]+/g,w.style=".sc-snk-detail-view-h{display:flex;row-gap:24px;flex-direction:column;width:100%;height:100%}.level-path.sc-snk-detail-view{color:var(--color--title-primary, #2B3A54);font-weight:var(--text-weight--medium, 400);padding-right:3px}.form-taskbar.sc-snk-detail-view{padding-bottom:var(--space--medium)}.grid-container.sc-snk-detail-view{background-color:#FFF;min-height:100px;height:100%}.detail-header.sc-snk-detail-view{padding-bottom:0}snk-data-unit.sc-snk-detail-view{flex:1}snk-grid.sc-snk-detail-view{height:calc(100% - 43px)}";export{w as snk_detail_view}
1
+ import{r as t,e as i,i as s,h as e,f as a,g as o}from"./p-2c9d0870.js";import{Action as h,StringUtils as n,KeyboardManager as r}from"@sankhyalabs/core";import{S as d}from"./p-7e9f8fa4.js";import{FormMetadata as l,buildFormMetadata as c}from"@sankhyalabs/ezui/dist/collection/utils/form";import"./p-bdf0077f.js";import"./p-32ad76cc.js";import{P as u}from"./p-0f3698af.js";import"@sankhyalabs/ezui/dist/collection/utils/constants";import"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import"./p-685bc841.js";import"./p-ff1990ad.js";import"./p-a9839628.js";import{V as m}from"./p-9019a32f.js";import{T as v}from"./p-72d62f22.js";import{S as p}from"./p-48762fe9.js";import{S as f}from"./p-27d6590e.js";import{buildFieldSearch as g,SHORTCUT_SEARCH_FIELD as b}from"@sankhyalabs/ezui/dist/collection/utils";import"./p-9114e869.js";import"./p-8d884fab.js";import"@sankhyalabs/ezui/dist/collection/components/ez-grid/utils";import"@sankhyalabs/core/dist/utils/SortingUtils";import"./p-688dcb4c.js";import"./p-a73b6b00.js";import"@sankhyalabs/core/dist/dataunit/DataUnit";import"./p-1a0caadb.js";class k{constructor(t,i,s,e){this._parentGuide=t,this._formMetadata=i,this._dataUnit=s,this._messageBuilder=e,this._messageBuilder||(this._messageBuilder=new f)}get id(){return this._parentGuide.id}getMessage(t,i){return this._messageBuilder.getMessage(t,i)}buildGuideItem(t){const i=Object.assign({},this._parentGuide);delete i.expanded,delete i.children;const s=this._dataUnit.getSelectedRecord();if(!s)return i;const e=this._dataUnit.isNewRecord(s.__record__id__),a=Array.from(this._formMetadata.getAllSheets().values()).map((i=>{const{name:s,label:a}=i,o=null!=l.getDetailName(s.split("::").pop()),h=o&&e,n=this._parentGuide.id,r=o?`${n}::${s}`:`${n}__FORM:${s}`;return o&&t.has(r)&&!h?t.get(r).buildGuideItem(t):{id:r,label:a,disabled:h,tooltip:h?this.getMessage("snkCrud.guide.tooltip.disabledDetail"):void 0}})),o=a.shift();return o.label=e?this.getMessage("snkCrud.newRecord"):s.__record__label__,o.children=a,i.children=[o],i}}const w=class{constructor(s){t(this,s),this.snkDetailGuidesChange=i(this,"snkDetailGuidesChange",7),this.snkSwitchGuide=i(this,"snkSwitchGuide",7),this.formItemsReady=i(this,"formItemsReady",7),this._disabledButtons=void 0,this._currentView=void 0,this.attachmentRegisterKey=void 0,this._fieldToGetFocus=void 0,this._hasToCreateFieldSearch=!0,this.formConfigManager=void 0,this.dataUnitName=void 0,this.resourceID=void 0,this.guideItemPath=void 0,this.entityName=void 0,this.label=void 0,this.dataUnit=void 0,this.selectedForm=void 0,this.dataState=void 0,this.messagesBuilder=void 0,this.branchGuide=void 0,this.canEdit=!0,this.taskbarCustomContainerId=void 0,this.customEditors=void 0,this.customRenders=void 0,this.presentationMode=u.SECONDARY}observeDataUnit(t,i){null==t||t.subscribe(this.dataUnitActionHandler.bind(this)),null==i||i.unsubscribe(this.dataUnitActionHandler)}observerDataState(t,i){const s=!(null==i?void 0:i.insertionMode)&&(null==t?void 0:t.insertionMode),e=(null==i?void 0:i.insertionMode)&&!(null==t?void 0:t.insertionMode);if((s||e)&&this.loadMetadata(),null==this._formMetadata)return;const a=null==t?void 0:t.selectedRecord,o=null==i?void 0:i.selectedRecord;(null==a?void 0:a.__record__id__)!==(null==o?void 0:o.__record__id__)&&this.snkDetailGuidesChange.emit(new k(this.branchGuide,this._formMetadata,this.dataUnit,this.messagesBuilder)),s&&setTimeout((()=>{this.changeViewMode(m.FORM)}),0),e&&this.changeViewMode(m.GRID);const h=[];this.dataState.hasPrevious||h.push(v.PREVIOUS),this.dataState.hasNext||h.push(v.NEXT),this.dataState.insertionMode&&h.push(v.INSERT),this._disabledButtons=h}async changeViewMode(t){this.emitSwitchEvent(t)}async configGrid(){this._snkGrid&&this._snkGrid.showConfig()}async showUp(){this._snkFormView&&this._snkFormView.showUp(),this._snkGrid&&this._snkGrid.scrollIntoView({behavior:"smooth",block:"start"})}async addCustomEditor(t,i){var s;const e=this.normalizeBranchGuideId(null===(s=this.branchGuide)||void 0===s?void 0:s.id);this._snkGrid.addCustomEditor(t,i,e),this._snkFormView.addCustomEditor(t,i,e)}async observerPropsCustomEditor(t){for(const i in t)await this.addCustomEditor(i,t[i])}async addGridCustomRender(t,i){var s;const e=this.normalizeBranchGuideId(null===(s=this.branchGuide)||void 0===s?void 0:s.id);await this._snkGrid.addGridCustomRender(t,i,e)}onContentCardChanged(t){p.updateContentCard(t.detail.formName,t.detail.cardConfig,t.detail.propertyChanged,this.formConfigManager).then((()=>s(this))),t.stopPropagation()}async observeCustomRenders(t){for(const i in t){const s=t[i];await this.addGridCustomRender(i,s)}}updateLabel(){const t=this.guideItemPath?this.guideItemPath.length:0;if(t>0){const i=t>0?this.guideItemPath.map((t=>t.label)):void 0;this.label=i.pop(),this._levelPath=i.length>0?i.join(" / "):void 0}else this.label="",this._levelPath=void 0}getFormGuideId(t){var i;if(!t){if(null==(null===(i=this.dataState)||void 0===i?void 0:i.selectedRecord))return;const s=Array.from(this._formMetadata.getAllSheets().keys());if(!s||0==s.length)return;t=s[0]}return`${this.stripFormPattern(this.branchGuide.id)}__FORM:${t}`}stripFormPattern(t){return t.replace(w.REGEX_FORM_ID,"")}loadMetadata(){if(!this.dataUnit)return;if(!this.formConfigManager.isLoaded)return;const t=this.formConfigManager.getConfig(this.dataUnit);this._formMetadata=c(null==t||0===t.fields.length?void 0:t,this.dataUnit,!0)}dataUnitReadyHandler(t){this.dataUnit=t.detail,this.loadMetadata()}updateViewStack(t){var i,s;this._viewStack=t,this._currentView=this.selectedForm?1:0,null===(s=null===(i=this._viewStack)||void 0===i?void 0:i.show)||void 0===s||s.call(i,this._currentView)}getFormFields(){return this.selectedForm&&this._formMetadata?this._formMetadata.getSheet(this.selectedForm).fields:[]}emitSwitchEvent(t){const i=t===m.GRID?this.stripFormPattern(this.branchGuide.id):this.getFormGuideId();i&&this.snkSwitchGuide.emit(i)}handleAttachBack(){this._viewStack.show(m.GRID)}executeActionHandler(t){t.detail===v.GRID_MODE&&(this.emitSwitchEvent(m.GRID),t.stopPropagation()),t.detail!==v.FORM_MODE&&t.detail!==v.UPDATE||(this.emitSwitchEvent(m.FORM),t.stopPropagation()),t.detail===v.ATTACH&&(this._viewStack.show(m.ATTACHMENT),t.stopPropagation())}async getAttachmentRegisterKey(){if(this._snkDataUnit)return(await this._snkDataUnit.getSelectedRecordsIDsInfo()).map((({value:t})=>t)).join("_")}async handleDataStateChange({detail:t}){this.dataState=t,void 0!==t.selectedRecord&&this._snkDataUnit&&(this.attachmentRegisterKey=await this.getAttachmentRegisterKey())}componentWillLoad(){this._configName=`dynaform.${this.entityName}`,this.formConfigManager=new d(this._configName,this.resourceID,(()=>this.loadMetadata()),this.dataUnit),this.formConfigManager.loadConfig(),null==this.messagesBuilder&&(this.messagesBuilder=new f(this.entityName))}async componentDidLoad(){await this.observerPropsCustomEditor(this.customEditors),await this.observeCustomRenders(this.customRenders),this.initKeyboardManager()}disconnectedCallback(){var t;null===(t=this._keyboardManager)||void 0===t||t.unbindAllShortcutKeys()}async dataUnitActionHandler(t){t.type===h.FIELD_INVALIDATED?this.addErrorBadgeToBranchGuide():t.type===h.DATA_LOADED&&this.dataUnit.selectFirst()}addErrorBadgeToBranchGuide(){this.branchGuide=Object.assign(Object.assign({},this.branchGuide),{badge:"error"}),this.snkDetailGuidesChange.emit(new k(this.branchGuide,this._formMetadata,this.dataUnit,this.messagesBuilder))}normalizeBranchGuideId(t){return null==t?void 0:t.replace(/child\[(.*?)\]/g,"$1").replace(/::/g,">")}getSettingsListForm(){return[{value:n.generateUUID(),label:this.messagesBuilder.getMessage("snkCrud.findColumn",void 0),disableCloseOnSelect:!0,eagerInitialize:!0,itemBuilder:(t,i)=>this.getFieldsSearch(i)}]}getFieldsSearch(t){return(null==this._fieldSearch||this._hasToCreateFieldSearch)&&(this._hasToCreateFieldSearch=!1,this._fieldSearch=g(t,(({argument:t})=>this.fieldsOptionLoader(t)),(t=>this.onSelectField(t)))),this._fieldSearch}fieldsOptionLoader(t){const i=null==t?void 0:t.toLowerCase(),s=this.getFormFields().map((t=>{var i;return null===(i=this.dataUnit)||void 0===i?void 0:i.getField(t.name)})).filter((t=>{var s,e;return(null===(s=t.name)||void 0===s?void 0:s.toLowerCase().includes(i))||(null===(e=t.label)||void 0===e?void 0:e.toLowerCase().includes(i))})).map((t=>({value:t.name,label:t.label})));return Promise.resolve(s)}onSelectField(t){null!=t&&(this._fieldToGetFocus=t.value)}clearFieldToFocusHandler(){this._fieldToGetFocus=void 0}async initKeyboardManager(){this._keyboardManager=new r({propagate:!1,element:this._element}),this._keyboardManager.bind(b,(async()=>{await this._snkFormView.showSearchField()}),{description:this.messagesBuilder.getMessage("snkSimpleCrud.findFields"),element:this._element})}render(){return this.updateLabel(),e(a,null,e("snk-data-unit",{ref:t=>this._snkDataUnit=t,dataUnitName:`${this.dataUnitName}`,onDataUnitReady:t=>this.dataUnitReadyHandler(t),entityName:this.entityName,onDataStateChange:this.handleDataStateChange.bind(this),ignoreSaveMessage:this._currentView===m.GRID,messagesBuilder:this.messagesBuilder,configName:this._configName},e("ez-view-stack",{ref:t=>this.updateViewStack(t)},e("stack-item",null,e("div",{class:"ez-box ez-box--shadow grid-container"},e("div",{class:"ez-title--primary ez-size-width--full ez-padding--large detail-header"},e("div",{class:"ez-flex ez-text ez-text--bold ez-flex--justify-start ez-flex--align-items-center"},this._levelPath?e("span",{class:"level-path"},this._levelPath+" /"):void 0,this.label)),e("snk-grid",{class:"ez-size-width--full",ref:t=>this._snkGrid=t,configName:this._configName,messagesBuilder:this.messagesBuilder,onGridDoubleClick:()=>this.emitSwitchEvent(m.FORM),onActionClick:t=>this.executeActionHandler(t),presentationMode:this.presentationMode,canEdit:this.canEdit,isDetail:!0,taskbarCustomContainerId:this.taskbarCustomContainerId,gridHeaderCustomSlotId:"DETAIL_GRID_HEADER_CUSTOM_ELEMENTS",topTaskbarCustomSlotId:"DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS",outlineMode:!1,enableGridInsert:!0}))),e("stack-item",null,e("snk-form-view",{ref:t=>this._snkFormView=t,canExpand:!1,canFix:!1,name:this.selectedForm,formMetadata:this._formMetadata,dataUnit:this.dataUnit,fields:this.getFormFields(),fieldToFocus:this._fieldToGetFocus,label:this.label,levelPath:this._levelPath,onFormItemsReady:({detail:t})=>this.formItemsReady.emit(t),onSnkRequestClearFieldToFocus:this.clearFieldToFocusHandler.bind(this),fieldSearch:this._fieldSearch,entityPath:this.entityName},e("snk-taskbar",{key:"guideViewerTaskbar",class:"form-taskbar","data-element-id":"guideViewer",configName:this._configName,messagesBuilder:this.messagesBuilder,disabledButtons:this._disabledButtons,buttons:"INSERT,PREVIOUS,NEXT,DIVIDER,CLONE,REMOVE,MORE_OPTIONS,DIVIDER,GRID_MODE,CONFIGURATOR",primaryButton:"INSERT",presentationMode:this.presentationMode,onActionClick:t=>this.executeActionHandler(t),dataUnit:this.dataUnit,resourceID:this.resourceID,customContainerId:this.taskbarCustomContainerId,customSlotId:"DETAIL_TASKBAR_CUSTOM_ELEMENTS",actionsSettingsList:this.getSettingsListForm()},e("slot",{name:"DETAIL_TASKBAR_CUSTOM_ELEMENTS"})))),e("stack-item",null,e("snk-attach",{registerKey:this.attachmentRegisterKey,messagesBuilder:this.messagesBuilder,entityName:this.entityName,onBack:this.handleAttachBack.bind(this)})))))}get _element(){return o(this)}static get watchers(){return{dataUnit:["observeDataUnit"],dataState:["observerDataState"],customEditors:["observerPropsCustomEditor"],customRenders:["observeCustomRenders"]}}};w.REGEX_FORM_ID=/__FORM:[^:]+/g,w.style=".sc-snk-detail-view-h{display:flex;row-gap:24px;flex-direction:column;width:100%;height:100%}.level-path.sc-snk-detail-view{color:var(--color--title-primary, #2B3A54);font-weight:var(--text-weight--medium, 400);padding-right:3px}.form-taskbar.sc-snk-detail-view{padding-bottom:var(--space--medium)}.grid-container.sc-snk-detail-view{background-color:#FFF;min-height:100px;height:100%}.detail-header.sc-snk-detail-view{padding-bottom:0}snk-data-unit.sc-snk-detail-view{flex:1}snk-grid.sc-snk-detail-view{height:calc(100% - 43px)}";export{w as snk_detail_view}