@sankhyalabs/sankhyablocks 2.2.2-SKA-60656.4 → 2.4.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 (61) hide show
  1. package/dist/cjs/snk-application.cjs.entry.js +3 -1
  2. package/dist/cjs/snk-configurator_3.cjs.entry.js +9 -1
  3. package/dist/cjs/snk-crud.cjs.entry.js +10 -2
  4. package/dist/cjs/snk-filter-bar_7.cjs.entry.js +32 -20
  5. package/dist/cjs/snk-filter-detail.cjs.entry.js +11 -1
  6. package/dist/cjs/snk-form-config.cjs.entry.js +2 -2
  7. package/dist/cjs/snk-form.cjs.entry.js +12 -3
  8. package/dist/cjs/{taskbar-elements-997af1c9.js → taskbar-elements-b995b84d.js} +26 -26
  9. package/dist/collection/components/snk-application/snk-application.js +4 -2
  10. package/dist/collection/components/snk-crud/snk-crud.js +10 -2
  11. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +12 -2
  12. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +1 -1
  13. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +1 -1
  14. package/dist/collection/components/snk-form/snk-form.js +13 -4
  15. package/dist/collection/components/snk-form/subcomponents/snk-form-config/snk-form-config.js +2 -2
  16. package/dist/collection/components/snk-grid/snk-grid.js +10 -1
  17. package/dist/collection/components/snk-grid/subcomponents/snk-grid-config/snk-grid-config.js +2 -2
  18. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +26 -26
  19. package/dist/collection/components/snk-taskbar/snk-taskbar.js +28 -16
  20. package/dist/components/snk-application2.js +4 -2
  21. package/dist/components/snk-crud.js +10 -2
  22. package/dist/components/snk-filter-bar2.js +1 -1
  23. package/dist/components/snk-filter-detail2.js +12 -2
  24. package/dist/components/snk-filter-item2.js +1 -1
  25. package/dist/components/snk-form-config2.js +3 -3
  26. package/dist/components/snk-form2.js +13 -4
  27. package/dist/components/snk-grid-config2.js +3 -3
  28. package/dist/components/snk-grid2.js +10 -1
  29. package/dist/components/snk-taskbar2.js +54 -42
  30. package/dist/esm/snk-application.entry.js +5 -3
  31. package/dist/esm/snk-configurator_3.entry.js +9 -1
  32. package/dist/esm/snk-crud.entry.js +11 -3
  33. package/dist/esm/snk-filter-bar_7.entry.js +32 -20
  34. package/dist/esm/snk-filter-detail.entry.js +12 -2
  35. package/dist/esm/snk-form-config.entry.js +3 -3
  36. package/dist/esm/snk-form.entry.js +13 -4
  37. package/dist/esm/taskbar-elements-a0a8c3ac.js +95 -0
  38. package/dist/sankhyablocks/p-2e0747f9.entry.js +1 -0
  39. package/dist/sankhyablocks/p-4cbc4ae3.js +1 -0
  40. package/dist/sankhyablocks/{p-7dcce5aa.entry.js → p-60e7e86d.entry.js} +1 -1
  41. package/dist/sankhyablocks/p-825c8975.entry.js +1 -0
  42. package/dist/sankhyablocks/{p-6340d992.entry.js → p-a72a0a5d.entry.js} +8 -8
  43. package/dist/sankhyablocks/p-cd486089.entry.js +1 -0
  44. package/dist/sankhyablocks/p-d2b0f1fc.entry.js +1 -0
  45. package/dist/sankhyablocks/p-d61f2170.entry.js +1 -0
  46. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  47. package/dist/types/components/snk-application/snk-application.d.ts +1 -0
  48. package/dist/types/components/snk-crud/snk-crud.d.ts +2 -0
  49. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +2 -0
  50. package/dist/types/components/snk-form/snk-form.d.ts +2 -0
  51. package/dist/types/components/snk-grid/snk-grid.d.ts +2 -0
  52. package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +2 -2
  53. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +6 -2
  54. package/package.json +3 -4
  55. package/dist/esm/taskbar-elements-a0a8b106.js +0 -95
  56. package/dist/sankhyablocks/p-09720dd1.js +0 -1
  57. package/dist/sankhyablocks/p-0ffee54f.entry.js +0 -1
  58. package/dist/sankhyablocks/p-133cf71d.entry.js +0 -1
  59. package/dist/sankhyablocks/p-7e79ab39.entry.js +0 -1
  60. package/dist/sankhyablocks/p-9b0f99fd.entry.js +0 -1
  61. package/dist/sankhyablocks/p-bc41625b.entry.js +0 -1
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-e4121713.js';
2
- import { WaitingChangeException, WarningException, ErrorException, ObjectUtils, DataType, DataUnit, StringUtils, ChangeOperation, DateUtils, DependencyType, ApplicationContext, ErrorTracking } from '@sankhyalabs/core';
1
+ import { r as registerInstance, c as createEvent, h, g as getElement } from './index-e4121713.js';
2
+ import { WaitingChangeException, WarningException, ErrorException, ObjectUtils, DataType, DataUnit, StringUtils, ChangeOperation, DateUtils, DependencyType, ElementIDUtils, ApplicationContext, ErrorTracking } from '@sankhyalabs/core';
3
3
  import { d as dist, D as DataFetcher, R as ResourceFetcher, U as UrlUtils, F as FormConfigFetcher, G as GridConfigFetcher, C as ConfigStorage } from './ConfigStorage-99025655.js';
4
4
  import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
5
5
  import { S as SnkMessageBuilder } from './SnkMessageBuilder-f5ef87df.js';
@@ -1171,7 +1171,7 @@ const SnkApplication = class {
1171
1171
  if (mode === "ADVANCED") {
1172
1172
  return new Promise(accept => {
1173
1173
  const pesquisaContent = document.createElement("snk-pesquisa");
1174
- pesquisaContent["data-element-id"] = `entity_${entity}`;
1174
+ pesquisaContent[ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME] = `entity_${entity}`;
1175
1175
  pesquisaContent.argument = argument;
1176
1176
  pesquisaContent.searchLoader = (text) => this.pesquisaFetcher.loadAdvancedSearch(entity, text, criteria, searchOptions);
1177
1177
  pesquisaContent.selectItem = (option) => {
@@ -1241,10 +1241,12 @@ const SnkApplication = class {
1241
1241
  window.requestAnimationFrame(() => {
1242
1242
  this.applicationLoaded.emit(true);
1243
1243
  });
1244
+ ElementIDUtils.addIDInfo(this._element, `resource_${this._resourceID}`);
1244
1245
  }
1245
1246
  render() {
1246
1247
  return (h("div", null, h("ez-loading-bar", { ref: (ref) => this._requestListener.loadingBar = ref }), h("ez-popup", { opened: false, ref: (ref) => this._popUp = ref, onEzClosePopup: () => this.closePopUp() }), h("ez-modal", { opened: false, ref: (ref) => this._rightModal = ref, "modal-size": "small", closeOutsideClick: true, closeEsc: true })));
1247
1248
  }
1249
+ get _element() { return getElement(this); }
1248
1250
  };
1249
1251
  class RequestListenerLoadingBar {
1250
1252
  constructor() {
@@ -246,11 +246,19 @@ const SnkGrid = class {
246
246
  this._headerTaskbarProcessor.process(headerTaskbarId, this.taskbarManager, this._dataState);
247
247
  this._topTaskbarProcessor.process("snkGridTopTaskbar", this.taskbarManager, this._dataState);
248
248
  }
249
+ componentDidLoad() {
250
+ const dataInfo = { dataUnit: this._dataUnit };
251
+ ElementIDUtils.addIDInfo(this._element, null, dataInfo);
252
+ }
253
+ getDataElementId(suffix) {
254
+ const elemIdSnkGrid = this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
255
+ return `${elemIdSnkGrid}_${suffix}`;
256
+ }
249
257
  render() {
250
258
  if (!this._dataUnit) {
251
259
  return undefined;
252
260
  }
253
- return (h("div", { class: "snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large" }, h("div", { class: "snk-grid__header ez-padding-bottom--medium ez-margin-bottom--medium" }, h("snk-filter-bar", { dataUnit: this._dataUnit, class: "snk-grid__filter-bar ez-align--top", configName: this.configName }), h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" }), h("snk-taskbar", { class: "ez-padding-left--medium", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: "INSERT" })), h("ez-grid", { ref: ref => this._grid = ref, dataUnit: this._dataUnit, key: "grid-" + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => { this.saveConfig(evt.detail); }, onEzDoubleClick: () => this.gridDoubleClick.emit(), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection }, h("snk-taskbar", { dataUnit: this._dataUnit, buttons: this._headerTaskbarProcessor.buttons, disabledButtons: this._headerTaskbarProcessor.disabledButtons, customButtons: this._headerTaskbarProcessor.customButtons, slot: "leftButtons", actionsList: this.actionsList })), h("div", { class: "ez-col ez-col--sd-12" }, h("slot", { name: "SnkGridFooter" })), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._popUpGridConfig, onEzCloseModal: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute("data-element-id"), selectedIndex: 0, onConfigChange: (evt) => this.changeConfig(evt.detail), onConfigCancel: () => this.closeGridConfig() }))));
261
+ return (h("div", { class: "snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large" }, h("div", { class: "snk-grid__header ez-padding-bottom--medium ez-margin-bottom--medium" }, h("snk-filter-bar", { dataUnit: this._dataUnit, "data-element-id": this.getDataElementId("internal_filter"), class: "snk-grid__filter-bar ez-align--top", configName: this.configName }), h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" }), h("snk-taskbar", { class: "ez-padding-left--medium", "data-element-id": this.getDataElementId("grid_top_taskbar"), key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: "INSERT" })), h("ez-grid", { ref: ref => this._grid = ref, "data-element-id": this.getDataElementId("internal_grid"), dataUnit: this._dataUnit, key: "grid-" + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => { this.saveConfig(evt.detail); }, onEzDoubleClick: () => this.gridDoubleClick.emit(), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection }, h("snk-taskbar", { dataUnit: this._dataUnit, "data-element-id": this.getDataElementId("grid_left_taskBar"), buttons: this._headerTaskbarProcessor.buttons, disabledButtons: this._headerTaskbarProcessor.disabledButtons, customButtons: this._headerTaskbarProcessor.customButtons, slot: "leftButtons", actionsList: this.actionsList })), h("div", { class: "ez-col ez-col--sd-12" }, h("slot", { name: "SnkGridFooter" })), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._popUpGridConfig, onEzCloseModal: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), selectedIndex: 0, onConfigChange: (evt) => this.changeConfig(evt.detail), onConfigCancel: () => this.closeGridConfig() }))));
254
262
  }
255
263
  get _element() { return getElement(this); }
256
264
  };
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-e4121713.js';
2
- import { ApplicationContext } from '@sankhyalabs/core';
2
+ import { ElementIDUtils, ApplicationContext } from '@sankhyalabs/core';
3
3
  import { c as VIEW_MODE } from './constants-babe1a08.js';
4
- import { T as TaskbarElement } from './taskbar-elements-a0a8b106.js';
4
+ import { T as TaskbarElement } from './taskbar-elements-a0a8c3ac.js';
5
5
 
6
6
  const snkCrudCss = ".sc-snk-crud-h{display:flex;flex-direction:column;height:100%;width:100%}";
7
7
 
@@ -59,6 +59,10 @@ const SnkCrud = class {
59
59
  this.setViewMode(GRID_MODE);
60
60
  }
61
61
  }
62
+ getDataElementId(suffix) {
63
+ const elemIdSnkCrud = this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
64
+ return `${elemIdSnkCrud}_${suffix}`;
65
+ }
62
66
  componentWillLoad() {
63
67
  let parent = this._element.parentElement;
64
68
  while (parent) {
@@ -85,8 +89,12 @@ const SnkCrud = class {
85
89
  this.configName = application.configName;
86
90
  }
87
91
  }
92
+ componentDidLoad() {
93
+ const dataInfo = { dataUnit: this._dataUnit };
94
+ ElementIDUtils.addIDInfo(this._element, null, dataInfo);
95
+ }
88
96
  render() {
89
- return (h("ez-view-stack", { ref: (ref) => this._viewStack = ref }, h("stack-item", null, h("snk-grid", { ref: (ref) => this._snkGrid = ref, configName: this.configName, onGridDoubleClick: () => this.gridToForm(true), taskbarManager: this.taskbarManager, onActionClick: evt => this.executeAction(evt.detail), actionsList: this.actionsList, statusResolver: this.statusResolver, multipleSelection: this.multipleSelection }, h("slot", { name: "SnkGridHeader" }), h("slot", { name: "SnkGridFooter" }), h("slot", { name: "SnkGridTaskBar" }))), h("stack-item", null, h("snk-form", { ref: (ref) => this._snkForm = ref, configName: this.configName, actionsList: this.actionsList, onExit: () => this.setViewMode(GRID_MODE), recordsValidator: this.recordsValidator, taskbarManager: this.taskbarManager, onActionClick: evt => this.executeAction(evt.detail) }, h("slot", { name: "SnkFormTaskBar" }))), h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this._viewMode, onConfigSelected: (evt) => this.executeAction(evt.detail), onOpenConfig: (evt) => this.openConfig(evt.detail) })));
97
+ return (h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": this.getDataElementId("crud_ViewStack") }, h("stack-item", null, h("snk-grid", { ref: (ref) => this._snkGrid = ref, "data-element-id": this.getDataElementId("crud_grid"), configName: this.configName, onGridDoubleClick: () => this.gridToForm(true), taskbarManager: this.taskbarManager, onActionClick: evt => this.executeAction(evt.detail), actionsList: this.actionsList, statusResolver: this.statusResolver, multipleSelection: this.multipleSelection }, h("slot", { name: "SnkGridHeader" }), h("slot", { name: "SnkGridFooter" }), h("slot", { name: "SnkGridTaskBar" }))), h("stack-item", null, h("snk-form", { ref: (ref) => this._snkForm = ref, "data-element-id": this.getDataElementId("crud_form"), configName: this.configName, actionsList: this.actionsList, onExit: () => this.setViewMode(GRID_MODE), recordsValidator: this.recordsValidator, taskbarManager: this.taskbarManager, onActionClick: evt => this.executeAction(evt.detail) }, h("slot", { name: "SnkFormTaskBar" }))), h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this._viewMode, onConfigSelected: (evt) => this.executeAction(evt.detail), onOpenConfig: (evt) => this.openConfig(evt.detail) })));
90
98
  }
91
99
  get _element() { return getElement(this); }
92
100
  };
@@ -7,7 +7,7 @@ import { CheckMode, ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/
7
7
  import { C as ConfigStorage } from './ConfigStorage-99025655.js';
8
8
  import { O as ORDER_VALUES } from './constants-babe1a08.js';
9
9
  import { A as AuthorizationConfig } from './AuthorizationConfig-dcbd207a.js';
10
- import { T as TaskbarElement, V as VisibleWhenForbidden, A as AuthorizationElements, b as buildElem, a as buildCustomButton } from './taskbar-elements-a0a8b106.js';
10
+ import { T as TaskbarElement, V as VisibleWhenForbidden, A as AuthorizationElements, b as buildElem, a as buildCustomButton } from './taskbar-elements-a0a8c3ac.js';
11
11
  import './_commonjsHelpers-9943807e.js';
12
12
 
13
13
  const buildFilter = (item) => {
@@ -161,7 +161,7 @@ const SnkFilterBar = class {
161
161
  if (this._element) {
162
162
  const dataInfo = { dataUnit: this.dataUnit };
163
163
  ElementIDUtils.addIDInfo(this._element, null, dataInfo);
164
- const dataElementIdFilterBar = this._element.getAttribute("data-element-id");
164
+ const dataElementIdFilterBar = this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
165
165
  this._idSnkFilterItem = dataElementIdFilterBar;
166
166
  this._idSnkFilterList = dataElementIdFilterBar;
167
167
  }
@@ -624,7 +624,7 @@ const SnkFilterItem = class {
624
624
  componentDidLoad() {
625
625
  if (this._filterItemElement) {
626
626
  ElementIDUtils.addIDInfo(this._filterItemElement);
627
- const dataElementIdDoFilterItem = this._filterItemElement.getAttribute("data-element-id");
627
+ const dataElementIdDoFilterItem = this._filterItemElement.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
628
628
  this._idSnkFilterDetail = `${dataElementIdDoFilterItem}_${this.config.id}`;
629
629
  this._idEzChip = `${dataElementIdDoFilterItem}_${this.config.id}`;
630
630
  }
@@ -950,11 +950,11 @@ const EzGridConfig = class {
950
950
  this._columListItems = [visibleGroup, hiddenGroup];
951
951
  }
952
952
  buildColumnListSlot(item, group) {
953
- const dataElementId = `${this._element.getAttribute("data-element-id")}_configItem_${StringUtils.toCamelCase(item.label)}`;
953
+ const dataElementId = `${this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME)}_configItem_${StringUtils.toCamelCase(item.label)}`;
954
954
  return (h("div", null, h("ez-check", { mode: 'switch', id: 'switch' + ((item === null || item === void 0 ? void 0 : item.label) || '') + ((group === null || group === void 0 ? void 0 : group.group) || ''), value: group.group === this.getMessage("snkGridConfig.group.visible"), "data-element-id": dataElementId, onEzChange: (evt) => { this.switchColumnGroup(evt, item); } })));
955
955
  }
956
956
  buildOrderListSlot(item) {
957
- const dataElementId = `${this._element.getAttribute("data-element-id")}_configItem_${StringUtils.toCamelCase(item.label)}`;
957
+ const dataElementId = `${this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME)}_configItem_${StringUtils.toCamelCase(item.label)}`;
958
958
  let selectedOption = ORDER_VALUES.none.value;
959
959
  if ((item === null || item === void 0 ? void 0 : item.ascending) != undefined) {
960
960
  selectedOption = item.ascending == true ? ORDER_VALUES.asc.value : ORDER_VALUES.desc.value;
@@ -1448,26 +1448,19 @@ const SnkTaskbar = class {
1448
1448
  className += "ez-padding-left--medium";
1449
1449
  }
1450
1450
  if (TaskbarElement[def.toString()]) {
1451
- return buildElem(def, className, elem => this.getTitle(elem), elem => this.elementClick(elem), elem => this.isEnabled(elem), this.actionsList);
1451
+ return buildElem(def, className, this.getIdElemBtnNative(def), elem => this.getTitle(elem), elem => this.elementClick(elem), elem => this.isEnabled(elem), this.actionsList);
1452
1452
  }
1453
1453
  else {
1454
- return buildCustomButton(def, className, elem => this.elementClick(elem), elem => this.isEnabled(elem));
1454
+ return buildCustomButton(def, className, this.getIdElemBtnCustom(def), elem => this.elementClick(elem), elem => this.isEnabled(elem));
1455
1455
  }
1456
1456
  }
1457
- // Lifecycle
1458
- componentWillLoad() {
1459
- this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
1460
- if (this._application) {
1461
- this._application.getAllAccess().then(access => this._permissions = access);
1462
- }
1463
- else {
1464
- this._permissions = {};
1465
- }
1457
+ getIdElemBtnNative(taskbarElem) {
1458
+ const elemIdTaskbar = this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
1459
+ return `${elemIdTaskbar}_${StringUtils.toCamelCase(taskbarElem)}`;
1466
1460
  }
1467
- componentWillRender() {
1468
- if (this._definitions == undefined && this._permissions) {
1469
- this._definitions = this.elementsFromString(this.buttons);
1470
- }
1461
+ getIdElemBtnCustom(btnCustom) {
1462
+ const elemIdTaskbar = this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
1463
+ return `${elemIdTaskbar}_${StringUtils.toCamelCase(btnCustom.name)}`;
1471
1464
  }
1472
1465
  isDivider(element) {
1473
1466
  var _a;
@@ -1489,6 +1482,24 @@ const SnkTaskbar = class {
1489
1482
  return true;
1490
1483
  });
1491
1484
  }
1485
+ componentWillLoad() {
1486
+ this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
1487
+ if (this._application) {
1488
+ this._application.getAllAccess().then(access => this._permissions = access);
1489
+ }
1490
+ else {
1491
+ this._permissions = {};
1492
+ }
1493
+ }
1494
+ componentWillRender() {
1495
+ if (this._definitions == undefined && this._permissions) {
1496
+ this._definitions = this.elementsFromString(this.buttons);
1497
+ }
1498
+ }
1499
+ componentDidLoad() {
1500
+ const dataInfo = { dataUnit: this.dataUnit };
1501
+ ElementIDUtils.addIDInfo(this._element, null, dataInfo);
1502
+ }
1492
1503
  render() {
1493
1504
  if (this._definitions === undefined) {
1494
1505
  return undefined;
@@ -1510,6 +1521,7 @@ const SnkTaskbar = class {
1510
1521
  return h("slot", { name: elem });
1511
1522
  }))));
1512
1523
  }
1524
+ get _element() { return getElement(this); }
1513
1525
  static get watchers() { return {
1514
1526
  "buttons": ["observeButtons"]
1515
1527
  }; }
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-e4121713.js';
2
2
  import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
3
3
  import { F as FilterItemType } from './filter-item-type.enum-a79b2fa8.js';
4
- import { ElementIDUtils } from '@sankhyalabs/core';
4
+ import { ElementIDUtils, DataType } from '@sankhyalabs/core';
5
5
 
6
6
  const SnkFilterDetail = class {
7
7
  constructor(hostRef) {
@@ -14,7 +14,7 @@ const SnkFilterDetail = class {
14
14
  componentDidLoad() {
15
15
  if (this._element) {
16
16
  ElementIDUtils.addIDInfo(this._element);
17
- const dataElementIdDoFilterItem = this._element.getAttribute("data-element-id");
17
+ const dataElementIdDoFilterItem = this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
18
18
  this._idContentEditor = `${dataElementIdDoFilterItem}_${this.config.id}`;
19
19
  }
20
20
  }
@@ -53,12 +53,22 @@ const SnkFilterDetail = class {
53
53
  buildIcon(title, iconName, action) {
54
54
  return (h("button", { onClick: () => action(), class: "sc-snk-filter-bar snk-filter-item__editor-header-button" }, h("ez-icon", { title: title, iconName: iconName })));
55
55
  }
56
+ getNormalizedValue(params, value) {
57
+ return params.reduce((arrayValues, currentParam, index) => {
58
+ if (currentParam.dataType === DataType.BOOLEAN && (arrayValues == undefined || arrayValues[index] == undefined)) {
59
+ arrayValues = arrayValues || [];
60
+ arrayValues[index] = false;
61
+ }
62
+ return arrayValues;
63
+ }, value);
64
+ }
56
65
  apply() {
57
66
  var _a;
58
67
  let value = this._editor["value"];
59
68
  let isValid = true;
60
69
  if (this.config.type === FilterItemType.PERSONALIZED) {
61
70
  const params = ((_a = this.config.props.personalizedFilter) === null || _a === void 0 ? void 0 : _a.parameters) || [];
71
+ value = this.getNormalizedValue(params, value);
62
72
  const paramsCount = params.length;
63
73
  if (paramsCount === 0) {
64
74
  //Valor do filtro personalizado sem parametros deve ser um array vazio
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-e4121713.js';
2
2
  import { d as draggable_bundle } from './draggable.bundle-41d56f06.js';
3
- import { ObjectUtils, ArrayUtils, ApplicationContext, ElementIDUtils } from '@sankhyalabs/core';
3
+ import { ObjectUtils, ElementIDUtils, ArrayUtils, ApplicationContext } from '@sankhyalabs/core';
4
4
  import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
5
5
  import { C as CONFIG_EVENTS, T as TAB_NAMES, A as ACTION_CONFIG, D as DEFAULT_TYPE } from './constants-babe1a08.js';
6
6
  import { a as UserConfigType, C as ConfigStorage } from './ConfigStorage-99025655.js';
@@ -238,8 +238,8 @@ const SnkFormConfig = class {
238
238
  var _a;
239
239
  return ((_a = group.fields) === null || _a === void 0 ? void 0 : _a.length) ? group.fields.map((field) => {
240
240
  var _a, _b;
241
- return h("div", { key: field.name, class: this.getFieldConfigStyle(field), "data-draggable-element": "field", onMouseDown: (evt) => this.controlMoveField(evt) }, h("snk-field-config", { onEzClickIcon: (evt) => { this.handleFieldConfigChange(evt); }, modeInsertion: false, fieldConfig: field, "data-element-id": this._element.getAttribute("data-element-id"), dataUnit: this.dataUnit, isConfigActive: ((_a = this._fieldConfigSelected) === null || _a === void 0 ? void 0 : _a.name) === field.name }), ((_b = this._fieldConfigSelected) === null || _b === void 0 ? void 0 : _b.name) === field.name &&
242
- h("div", { class: "ez-flex form-config__config-options" }, h("snk-config-options", { idConfig: field.name, dataUnit: this.dataUnit, fieldConfig: this._fieldConfigSelected, "data-element-id": this._element.getAttribute("data-element-id"), onConfigOptionsChanged: (evt) => this.handleconfigOptionsChanged(evt.detail) })));
241
+ return h("div", { key: field.name, class: this.getFieldConfigStyle(field), "data-draggable-element": "field", onMouseDown: (evt) => this.controlMoveField(evt) }, h("snk-field-config", { onEzClickIcon: (evt) => { this.handleFieldConfigChange(evt); }, modeInsertion: false, fieldConfig: field, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), dataUnit: this.dataUnit, isConfigActive: ((_a = this._fieldConfigSelected) === null || _a === void 0 ? void 0 : _a.name) === field.name }), ((_b = this._fieldConfigSelected) === null || _b === void 0 ? void 0 : _b.name) === field.name &&
242
+ h("div", { class: "ez-flex form-config__config-options" }, h("snk-config-options", { idConfig: field.name, dataUnit: this.dataUnit, fieldConfig: this._fieldConfigSelected, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), onConfigOptionsChanged: (evt) => this.handleconfigOptionsChanged(evt.detail) })));
243
243
  }) : h("div", { class: "form-config__add-group-container" }, h("div", { class: "form-config__add-group-content" }, h("div", { class: "form-config__add-group-label" }, h("label", { class: "ez-text ez-text--center ez-text--medium ez-text--primary ez-text--bold" }, this.getMessage("snkFormConfig.form.labelDropField")))));
244
244
  }
245
245
  handleconfigOptionsChanged(fieldEdited) {
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-e4121713.js';
2
- import { DateUtils, ObjectUtils, ApplicationContext } from '@sankhyalabs/core';
2
+ import { DateUtils, ObjectUtils, ElementIDUtils, ApplicationContext } from '@sankhyalabs/core';
3
3
  import { T as TaskbarProcessor } from './taskbar-processor-aa6772c9.js';
4
4
  import { C as ConfigStorage } from './ConfigStorage-99025655.js';
5
5
  import './_commonjsHelpers-9943807e.js';
@@ -140,6 +140,15 @@ const SnkForm = class {
140
140
  }
141
141
  return disabled;
142
142
  }
143
+ dataunitReady() {
144
+ this.loadInsertionConfig();
145
+ const dataInfo = { dataUnit: this._dataUnit };
146
+ ElementIDUtils.addIDInfo(this._element, null, dataInfo);
147
+ }
148
+ getDataElementId(suffix) {
149
+ const elemIdSnkTaskBar = this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
150
+ return `${elemIdSnkTaskBar}_${suffix}`;
151
+ }
143
152
  componentWillLoad() {
144
153
  this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
145
154
  let parent = this._element.parentElement;
@@ -149,7 +158,7 @@ const SnkForm = class {
149
158
  this._dataUnit = this._snkDataUnit.dataUnit;
150
159
  this._dataState = this._snkDataUnit.dataState;
151
160
  if (this._dataUnit) {
152
- this.loadInsertionConfig();
161
+ this.dataunitReady();
153
162
  }
154
163
  else {
155
164
  this._snkDataUnit.addEventListener("dataUnitReady", (evt) => {
@@ -183,8 +192,8 @@ const SnkForm = class {
183
192
  if (!this._dataUnit || !this._dataState) {
184
193
  return undefined;
185
194
  }
186
- return (h("section", { class: "snk-form" }, h("div", { class: "snk-form__header snk-form__header--fixed ez-row" }, h("div", { class: "ez-col ez-col--sd-6 ez-col--tb-6", key: "formHeader" }, h("ez-button", { title: this.getMessage("snkForm.goBackTitle"), mode: "icon", iconName: "arrow_back", class: "ez-padding-right--medium", size: "small", onClick: () => this.exitForm() }), h("h1", { class: "ez-title ez-title--primary ez-title--xlarge ez-align--middle" }, this.getMessage("snkForm.title"))), h("div", { class: "ez-col ez-col--sd-6 ez-col--tb-6 ez-align--right" }, h("snk-taskbar", { key: "formTaskbar", configName: this.configName, buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, actionsList: this.actionsList, primaryButton: ((_a = this._dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? "SAVE" : "INSERT", dataUnit: this._dataUnit }))), h("section", null, h("div", { class: "ez-row" }, h("div", { class: "ez-col ez-col--sd-12" }, h("ez-form", { key: "ezForm" + this._snkDataUnit.entityName, dataUnit: this._dataUnit, config: this.getFormConfig(), recordsValidator: this.recordsValidator, class: this._showFormConfig ? 'snk-form__form--hidden' : '' }), this._showFormConfig &&
187
- h("snk-form-config", { dataUnit: this._dataUnit, formConfig: this.getFormConfig(), "data-element-id": this._element.getAttribute("data-element-id"), configName: this.configName, onConfigChange: (evt) => this.changeConfig(evt.detail), onConfigClose: () => this.closeConfig() }))))));
195
+ return (h("section", { class: "snk-form" }, h("div", { class: "snk-form__header snk-form__header--fixed ez-row" }, h("div", { class: "ez-col ez-col--sd-6 ez-col--tb-6", key: "formHeader" }, h("ez-button", { title: this.getMessage("snkForm.goBackTitle"), mode: "icon", iconName: "arrow_back", class: "ez-padding-right--medium", size: "small", onClick: () => this.exitForm() }), h("h1", { class: "ez-title ez-title--primary ez-title--xlarge ez-align--middle" }, this.getMessage("snkForm.title"))), h("div", { class: "ez-col ez-col--sd-6 ez-col--tb-6 ez-align--right" }, h("snk-taskbar", { key: "formTaskbar", "data-element-id": this.getDataElementId("form_taskbar"), configName: this.configName, buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, actionsList: this.actionsList, primaryButton: ((_a = this._dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? "SAVE" : "INSERT", dataUnit: this._dataUnit }))), h("section", null, h("div", { class: "ez-row" }, h("div", { class: "ez-col ez-col--sd-12" }, h("ez-form", { key: "ezForm" + this._snkDataUnit.entityName, "data-element-id": this.getDataElementId("internal_form"), dataUnit: this._dataUnit, config: this.getFormConfig(), recordsValidator: this.recordsValidator, class: this._showFormConfig ? 'snk-form__form--hidden' : '' }), this._showFormConfig &&
196
+ h("snk-form-config", { dataUnit: this._dataUnit, formConfig: this.getFormConfig(), "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), configName: this.configName, onConfigChange: (evt) => this.changeConfig(evt.detail), onConfigClose: () => this.closeConfig() }))))));
188
197
  }
189
198
  get _element() { return getElement(this); }
190
199
  };
@@ -0,0 +1,95 @@
1
+ import { h } from './index-e4121713.js';
2
+
3
+ var TaskbarElement;
4
+ (function (TaskbarElement) {
5
+ TaskbarElement["PREVIOUS"] = "PREVIOUS";
6
+ TaskbarElement["NEXT"] = "NEXT";
7
+ TaskbarElement["REFRESH"] = "REFRESH";
8
+ TaskbarElement["UPDATE"] = "UPDATE";
9
+ TaskbarElement["CLONE"] = "CLONE";
10
+ TaskbarElement["REMOVE"] = "REMOVE";
11
+ TaskbarElement["INSERT"] = "INSERT";
12
+ TaskbarElement["CANCEL"] = "CANCEL";
13
+ TaskbarElement["SAVE"] = "SAVE";
14
+ TaskbarElement["GRID_MODE"] = "GRID_MODE";
15
+ TaskbarElement["FORM_MODE"] = "FORM_MODE";
16
+ TaskbarElement["MORE_OPTIONS"] = "MORE_OPTIONS";
17
+ TaskbarElement["DIVIDER"] = "DIVIDER";
18
+ TaskbarElement["CONFIGURATOR"] = "CONFIGURATOR";
19
+ })(TaskbarElement || (TaskbarElement = {}));
20
+ var AuthorizationElements;
21
+ (function (AuthorizationElements) {
22
+ AuthorizationElements["UPDATE"] = "UPDATE";
23
+ AuthorizationElements["CLONE"] = "CLONE";
24
+ AuthorizationElements["REMOVE"] = "REMOVE";
25
+ AuthorizationElements["INSERT"] = "INSERT";
26
+ AuthorizationElements["CONFIGURATOR"] = "CONFIGURATOR";
27
+ })(AuthorizationElements || (AuthorizationElements = {}));
28
+ var VisibleWhenForbidden;
29
+ (function (VisibleWhenForbidden) {
30
+ VisibleWhenForbidden["CONFIGURATOR"] = "CONFIGURATOR";
31
+ })(VisibleWhenForbidden || (VisibleWhenForbidden = {}));
32
+ const buildCustomButton = (def, className, dataElementId, action, isEnabled) => {
33
+ const { hint, text, iconName } = def;
34
+ if (iconName) {
35
+ if (text) {
36
+ return iconTextButton(iconName, def.name, className, dataElementId, hint, text, action, isEnabled);
37
+ }
38
+ else {
39
+ return iconButton(iconName, def.name, className, dataElementId, hint, action, isEnabled);
40
+ }
41
+ }
42
+ else {
43
+ return textButton(def.name, className, dataElementId, text, hint, action, isEnabled);
44
+ }
45
+ };
46
+ const buildElem = (element, className, dataElementId, getTitle, action, isEnabled, actions) => {
47
+ const title = getTitle(element);
48
+ switch (element) {
49
+ case TaskbarElement.PREVIOUS:
50
+ return iconButton("chevron-left", element, className, dataElementId, title, action, isEnabled);
51
+ case TaskbarElement.NEXT:
52
+ return iconButton("chevron-right", element, className, dataElementId, title, action, isEnabled);
53
+ case TaskbarElement.REFRESH:
54
+ return iconButton("sync", element, className, dataElementId, title, action, isEnabled);
55
+ case TaskbarElement.UPDATE:
56
+ return iconButton("edit", element, className, dataElementId, title, action, isEnabled);
57
+ case TaskbarElement.CLONE:
58
+ return iconButton("copy", element, className, dataElementId, title, action, isEnabled);
59
+ case TaskbarElement.REMOVE:
60
+ return iconButton("delete", element, className, dataElementId, title, action, isEnabled);
61
+ case TaskbarElement.INSERT:
62
+ return iconTextButton("plus", element, className, dataElementId, title, title, action, isEnabled);
63
+ case TaskbarElement.CANCEL:
64
+ return textButton(element, className, dataElementId, title, title, action, isEnabled);
65
+ case TaskbarElement.SAVE:
66
+ return iconTextButton("save", element, className, dataElementId, title, title, action, isEnabled);
67
+ case TaskbarElement.GRID_MODE:
68
+ return iconButton("table", element, className, dataElementId, title, action, isEnabled);
69
+ case TaskbarElement.FORM_MODE:
70
+ return iconButton("list", element, className, dataElementId, title, action, isEnabled);
71
+ case TaskbarElement.CONFIGURATOR:
72
+ return iconButton("settings-inverted", element, className, dataElementId, title, action, isEnabled);
73
+ case TaskbarElement.MORE_OPTIONS:
74
+ return actionButton(element, className, dataElementId, title, action, isEnabled, actions);
75
+ case TaskbarElement.DIVIDER:
76
+ return h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-horizontal--medium", "data-taskbar-divider": true });
77
+ }
78
+ };
79
+ function textButton(name, className, dataElementId, text, title, action, isEnabled) {
80
+ return h("ez-button", { title: title, label: text, size: "small", class: className, "data-element-id": dataElementId, enabled: isEnabled(name), onClick: () => action(name) });
81
+ }
82
+ function iconButton(iconName, name, className, dataElementId, title, action, isEnabled) {
83
+ return h("ez-button", { name: iconName, title: title, mode: "icon", size: "small", class: className, "data-element-id": dataElementId, iconName: iconName, enabled: isEnabled(name), onClick: () => action(name) });
84
+ }
85
+ function iconTextButton(iconName, name, className, dataElementId, text, title, action, isEnabled) {
86
+ return h("ez-button", { name: iconName, title: title, label: text, size: "small", class: className, "data-element-id": dataElementId, enabled: isEnabled(name), onClick: () => action(name) },
87
+ h("ez-icon", { class: "ez-padding-right--small", slot: "leftIcon", iconName: iconName }));
88
+ }
89
+ function actionButton(element, className, dataElementId, title, action, isEnabled, actions) {
90
+ return actions && actions.length > 0
91
+ ? h("ez-actions-button", { title: title, size: "small", "data-element-id": dataElementId, arrowActive: true, class: className, enabled: isEnabled(element), onEzAction: (evt) => action(evt.detail.value), actions: actions })
92
+ : undefined;
93
+ }
94
+
95
+ export { AuthorizationElements as A, TaskbarElement as T, VisibleWhenForbidden as V, buildCustomButton as a, buildElem as b };
@@ -0,0 +1 @@
1
+ import{r as t,c as i,h as s,g as e}from"./p-9ba3df4c.js";import{DateUtils as a,ObjectUtils as o,ElementIDUtils as r,ApplicationContext as n}from"@sankhyalabs/core";import{T as h}from"./p-03f9c407.js";import{C as d}from"./p-6ba8f415.js";import"./p-112455b1.js";const l=class{constructor(s){t(this,s),this.exit=i(this,"exit",7),this.actionClick=i(this,"actionClick",7),this._renderTimer=500,this._taskbarProcessor=new h({"snkForm.regular":["PREVIOUS","NEXT","DIVIDER","CLONE","REMOVE","MORE_OPTIONS","DIVIDER","GRID_MODE","CONFIGURATOR","INSERT"],"snkForm.finish_edition":["CANCEL","SAVE"]}),this._editionFormConfig={},this._insertionFormConfig={},this._showFormConfig=!1}async showConfig(){this._showFormConfig=!0}async hideConfig(){this._showFormConfig=!1}loadConfig(){d.get().loadFormConfig(this.configName).then((t=>{this.setConfig(t)||this.loadInsertionConfig()})).catch((t=>{console.warn(t)}))}setConfig(t){return null!=(null==t?void 0:t.fields)&&(setTimeout((async()=>{for(const i of t.fields)if(i.defaultValue&&"value"in i.defaultValue){const t=i.defaultValue.value;await this.getFormattedValue(t).then((t=>{i.defaultValue.formattedValue=t}))}this._editionFormConfig=t,this.loadInsertionConfig()}),this._renderTimer),!0)}async getFormattedValue(t){switch(t){case"${data}":return()=>a.getToday();case"${datahora}":return()=>a.getToday(!0);case"${usuario}":case"${usuario.empresa}":case"${usuario.vendedor}":case"${usuario.centroresultado}":let i;return await this._application.getDefaultValue(t).then((t=>{i=t})),i;default:return t}}loadInsertionConfig(){var t;if(this._dataUnit){const i=o.copy(this._editionFormConfig||{});i.fields=null===(t=i.fields)||void 0===t?void 0:t.filter((t=>{const i=this._dataUnit.getField(t.name);return!(null==i?void 0:i.readOnly)})),this._insertionFormConfig=i}}getFormConfig(){return this._dataState&&this._dataState.insertionMode?this._insertionFormConfig:this._editionFormConfig}exitForm(){this._dataUnit.isDirty()?this._dataUnit.cancelEdition({after:()=>this.exit.emit()}):this.exit.emit()}getMessage(t){return this._application.messagesBuilder.getMessage(t,this.getMessageParams())}getMessageParams(){var t;return(null===(t=this._dataState)||void 0===t?void 0:t.selectedRecords)?this._dataState.selectedRecords[0]:void 0}changeConfig(t){this._editionFormConfig={},this.setConfig(t)||this.loadInsertionConfig()}closeConfig(){this.hideConfig()}getDisabledButtons(){const t=[];return this._dataState.hasPrevious||t.push("PREVIOUS"),this._dataState.hasNext||t.push("NEXT"),t}dataunitReady(){this.loadInsertionConfig(),r.addIDInfo(this._element,null,{dataUnit:this._dataUnit})}getDataElementId(t){return`${this._element.getAttribute(r.DATA_ELEMENT_ID_ATTRIBUTE_NAME)}_${t}`}componentWillLoad(){this._application=n.getContextValue("__SNK__APPLICATION__");let t=this._element.parentElement;for(;t;){if("SNK-DATA-UNIT"===t.tagName.toUpperCase()){this._snkDataUnit=t,this._dataUnit=this._snkDataUnit.dataUnit,this._dataState=this._snkDataUnit.dataState,this._dataUnit?this.dataunitReady():this._snkDataUnit.addEventListener("dataUnitReady",(t=>{this._dataUnit=t.detail,this.loadInsertionConfig()})),this._snkDataUnit.addEventListener("dataStateChange",(t=>{this._dataState=t.detail}));break}t=t.parentElement}this.loadConfig()}componentWillRender(){var t;const i=(null===(t=this._dataState)||void 0===t?void 0:t.isDirty)?"snkForm.finish_edition":"snkForm.regular",s=[];this._dataState&&this._dataState.hasPrevious||s.push("PREVIOUS"),this._dataState&&this._dataState.hasNext||s.push("NEXT"),this._taskbarProcessor.process(i,this.taskbarManager,this._dataState,s)}render(){var t;if(this._dataUnit&&this._dataState)return s("section",{class:"snk-form"},s("div",{class:"snk-form__header snk-form__header--fixed ez-row"},s("div",{class:"ez-col ez-col--sd-6 ez-col--tb-6",key:"formHeader"},s("ez-button",{title:this.getMessage("snkForm.goBackTitle"),mode:"icon",iconName:"arrow_back",class:"ez-padding-right--medium",size:"small",onClick:()=>this.exitForm()}),s("h1",{class:"ez-title ez-title--primary ez-title--xlarge ez-align--middle"},this.getMessage("snkForm.title"))),s("div",{class:"ez-col ez-col--sd-6 ez-col--tb-6 ez-align--right"},s("snk-taskbar",{key:"formTaskbar","data-element-id":this.getDataElementId("form_taskbar"),configName:this.configName,buttons:this._taskbarProcessor.buttons,disabledButtons:this._taskbarProcessor.disabledButtons,customButtons:this._taskbarProcessor.customButtons,actionsList:this.actionsList,primaryButton:(null===(t=this._dataState)||void 0===t?void 0:t.isDirty)?"SAVE":"INSERT",dataUnit:this._dataUnit}))),s("section",null,s("div",{class:"ez-row"},s("div",{class:"ez-col ez-col--sd-12"},s("ez-form",{key:"ezForm"+this._snkDataUnit.entityName,"data-element-id":this.getDataElementId("internal_form"),dataUnit:this._dataUnit,config:this.getFormConfig(),recordsValidator:this.recordsValidator,class:this._showFormConfig?"snk-form__form--hidden":""}),this._showFormConfig&&s("snk-form-config",{dataUnit:this._dataUnit,formConfig:this.getFormConfig(),"data-element-id":this._element.getAttribute(r.DATA_ELEMENT_ID_ATTRIBUTE_NAME),configName:this.configName,onConfigChange:t=>this.changeConfig(t.detail),onConfigClose:()=>this.closeConfig()})))))}get _element(){return e(this)}};l.style=".sc-snk-form-h{display:block}.snk-form.sc-snk-form{position:relative;padding:var(--space--large);padding-top:var(--space--medium)}.snk-form__header.sc-snk-form{position:relative;padding-top:var(--space--medium);padding-bottom:var(--space--medium);margin-bottom:var(--space--medium)}.snk-form__header--fixed.sc-snk-form{position:sticky;top:0;background:var(--background--body);z-index:var(--more-visible, 2);padding-left:var(--space--large);padding-right:var(--space--large);margin-left:calc(var(--space--large) * -1);margin-right:calc(var(--space--large) * -1);width:calc(100% + (var(--space--large) * 2))}.snk-form__form--hidden.sc-snk-form{display:none}";export{l as snk_form}
@@ -0,0 +1 @@
1
+ import{h as e}from"./p-9ba3df4c.js";var t,n,a;!function(e){e.PREVIOUS="PREVIOUS",e.NEXT="NEXT",e.REFRESH="REFRESH",e.UPDATE="UPDATE",e.CLONE="CLONE",e.REMOVE="REMOVE",e.INSERT="INSERT",e.CANCEL="CANCEL",e.SAVE="SAVE",e.GRID_MODE="GRID_MODE",e.FORM_MODE="FORM_MODE",e.MORE_OPTIONS="MORE_OPTIONS",e.DIVIDER="DIVIDER",e.CONFIGURATOR="CONFIGURATOR"}(t||(t={})),function(e){e.UPDATE="UPDATE",e.CLONE="CLONE",e.REMOVE="REMOVE",e.INSERT="INSERT",e.CONFIGURATOR="CONFIGURATOR"}(n||(n={})),function(e){e.CONFIGURATOR="CONFIGURATOR"}(a||(a={}));const r=(e,t,n,a,r)=>{const{hint:s,text:o,iconName:u}=e;return u?o?l(u,e.name,t,n,s,o,a,r):c(u,e.name,t,n,s,a,r):i(e.name,t,n,o,s,a,r)},s=(n,a,r,s,o,u,d)=>{const E=s(n);switch(n){case t.PREVIOUS:return c("chevron-left",n,a,r,E,o,u);case t.NEXT:return c("chevron-right",n,a,r,E,o,u);case t.REFRESH:return c("sync",n,a,r,E,o,u);case t.UPDATE:return c("edit",n,a,r,E,o,u);case t.CLONE:return c("copy",n,a,r,E,o,u);case t.REMOVE:return c("delete",n,a,r,E,o,u);case t.INSERT:return l("plus",n,a,r,E,E,o,u);case t.CANCEL:return i(n,a,r,E,E,o,u);case t.SAVE:return l("save",n,a,r,E,E,o,u);case t.GRID_MODE:return c("table",n,a,r,E,o,u);case t.FORM_MODE:return c("list",n,a,r,E,o,u);case t.CONFIGURATOR:return c("settings-inverted",n,a,r,E,o,u);case t.MORE_OPTIONS:return function(t,n,a,r,s,i,c){return c&&c.length>0?e("ez-actions-button",{title:r,size:"small","data-element-id":a,arrowActive:!0,class:n,enabled:i(t),onEzAction:e=>s(e.detail.value),actions:c}):void 0}(n,a,r,E,o,u,d);case t.DIVIDER:return e("hr",{class:"ez-divider-vertical ez-divider--dark ez-margin-horizontal--medium","data-taskbar-divider":!0})}};function i(t,n,a,r,s,i,c){return e("ez-button",{title:s,label:r,size:"small",class:n,"data-element-id":a,enabled:c(t),onClick:()=>i(t)})}function c(t,n,a,r,s,i,c){return e("ez-button",{name:t,title:s,mode:"icon",size:"small",class:a,"data-element-id":r,iconName:t,enabled:c(n),onClick:()=>i(n)})}function l(t,n,a,r,s,i,c,l){return e("ez-button",{name:t,title:i,label:s,size:"small",class:a,"data-element-id":r,enabled:l(n),onClick:()=>c(n)},e("ez-icon",{class:"ez-padding-right--small",slot:"leftIcon",iconName:t}))}export{n as A,t as T,a as V,r as a,s as b}
@@ -1 +1 @@
1
- import{r as i,c as o,h as t,H as n,g as s}from"./p-9ba3df4c.js";import{ApplicationContext as r,ElementIDUtils as e}from"@sankhyalabs/core";import{c as a,A as l}from"./p-6673c77c.js";import{A as c}from"./p-dc36cfbf.js";import{T as d}from"./p-03f9c407.js";import{C as f}from"./p-6ba8f415.js";import"./p-112455b1.js";const g=a.grid,h=a.form,u=class{constructor(t){i(this,t),this.configSelected=o(this,"configSelected",7),this.openConfig=o(this,"openConfig",7),this._opened=!1,this.viewMode=g.name}async open(){this._opened=!0,this.configSelected.emit(this.getViewModeValue())}async close(){this.closeConfig()}closeConfig(){this._opened=!1}onViewModeChanged(i){const o=null==i?void 0:i.detail;this.viewMode=o,this.configSelected.emit(o)}onClickOpenConfig(){this.openConfig.emit(this.viewMode)}isAllowed(i){return!c[i]||!!this._permissions&&(this._permissions.isSup||this._permissions[i])}enableModeConfig(){return!(!this.isAllowed(c.CONFIG_GRID)||!this.isAllowed(c.CONFIG))}getViewModeValue(){return null!=this._permissions&&(this.isAllowed(c.CONFIG_GRID)?this.isAllowed(c.CONFIG)||(this.viewMode=g.name):this.viewMode=h.name),this.viewMode}getMessage(i){var o,t;return null===(t=null===(o=this._application)||void 0===o?void 0:o.messagesBuilder)||void 0===t?void 0:t.getMessage(i,{})}componentWillLoad(){this._application=r.getContextValue("__SNK__APPLICATION__"),this._application?this._application.getAllAccess().then((i=>this._permissions=i)):this._permissions={}}render(){return t("ez-modal",{opened:this._opened,"close-esc":!1,"close-outside-click":!1,"modal-size":"small"},t("div",{class:"snk-configurator"},t("div",{class:"snk-configurator__header"},t("label",{class:"snk-configurator__title"},this.getMessage("snkConfigurator.titleConfigurations")),t("div",{class:"snk-configurator__button-close"},t("ez-button",{mode:"icon",iconName:"close",size:"medium",onClick:()=>this.closeConfig()}))),t("div",{class:"snk-configurator__main"},t("ez-radio-button",{class:"ez-margin-top--medium",label:this.getMessage("snkConfigurator.subTitleModeConfig"),value:this.getViewModeValue(),onEzChange:i=>this.onViewModeChanged(i),enabled:this.enableModeConfig()},t("ez-radio-button-option",{label:this.getMessage("snkConfigurator.labelGrid"),value:g.name}),t("ez-radio-button-option",{label:this.getMessage("snkConfigurator.labelForm"),value:h.name})),t("ez-button",{mode:"slim",label:this.getMessage(this.viewMode===g.name?"snkConfigurator.labelConfigGrid":"snkConfigurator.labelConfigForm"),class:"snk-configurator__button-config ez-button--primary",onClick:()=>this.onClickOpenConfig()}),t("hr",{class:"ez-divider-horizontal ez-margin-vertical--medium"}))))}};u.style='.sc-snk-configurator-h{--snk-configurator__button-close--padding-left:var(--space--medium, 12px);--snk-configurator__title--color:var(--title--primary, #2B3A54);--snk-configurator__title--font-family:var(--font-pattern, "Roboto");--snk-configurator__title--font-size:var(--title--large, 20px);--snk-configurator__title--font-weight:var(--text-weight--extra-large, 700);--snk-configurator__subtitle--color:var(--title--primary, #2B3A54);--snk-configurator__subtitle--font-family:var(--font-pattern, "Roboto");--snk-configurator__subtitle--font-size:var(--text--medium, 14px);--snk-configurator__subtitle--font-weight:var(--text-weight--large, 600);--snk-configurator__scrollbar--border-radius:var(--border--radius-small, 6px);--snk-configurator__scrollbar--width:var(--space--medium, 12px);--snk-configurator__scrollbar--background-color-primary:var(--scrollbar--primary, #2B3A54);--snk-configurator__scrollbar--background-color-secondary:var(--scrollbar--secondary, #E5EAF0)}.snk-configurator.sc-snk-configurator{display:grid;grid-template-rows:auto 1fr auto;max-height:100%;width:100%}@media screen and (min-width: 480px){.snk-configurator.sc-snk-configurator{width:359px;max-width:359px}}.snk-configurator__button-config.sc-snk-configurator{--ez-button--min-width:100%}.snk-configurator__header.sc-snk-configurator{display:flex;justify-content:space-between;align-items:center;width:100%}.snk-configurator__title.sc-snk-configurator{display:flex;margin:0;line-height:normal;letter-spacing:0em;text-align:left;color:var(--snk-configurator__title--color);font-size:var(--snk-configurator__title--font-size);font-family:var(--snk-configurator__title--font-family);font-weight:var(--snk-configurator__title--font-weight)}.snk-configurator__subtitle.sc-snk-configurator{display:flex;margin:0;padding-top:var(--space--medium);padding-bottom:var(--space--small);color:var(--snk-configurator__subtitle--color);font-size:var(--snk-configurator__subtitle--font-size);font-family:var(--snk-configurator__subtitle--font-family);font-weight:var(--snk-configurator__subtitle--font-weight)}.snk-configurator__button-close.sc-snk-configurator{padding-left:var(--snk-configurator__button-close--padding-left)}.snk-configurator__main.sc-snk-configurator{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--snk-configurator__scrollbar--background-color-primary) var(--snk-configurator__scrollbar--background-color-secondary)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-track{background-color:var(--snk-configurator__scrollbar--background-color-secondary)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb{background-color:var(--snk-configurator__scrollbar--background-color-primary);border-radius:var(--snk-configurator__scrollbar--border-radius)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar{background-color:var(--snk-configurator__scrollbar--background-color-secondary);width:var(--snk-configurator__scrollbar--width);max-width:var(--snk-configurator__scrollbar--width);min-width:var(--snk-configurator__scrollbar--width)}';const _=class{constructor(t){i(this,t),this.ezClickIcon=o(this,"ezClickIcon",7),this.isConfigActive=!1,this.modeInsertion=!0}handleAction(i,o){i.preventDefault(),i.stopPropagation();const t=this.fieldConfig;o!==l.configuration&&(t.group=void 0),this.ezClickIcon.emit({field:t,type:o})}getMessage(i){return this._application.messagesBuilder.getMessage(i,{})}isRequired(){var i,o;const t=this.dataUnit&&this.dataUnit.getField(null===(i=this.fieldConfig)||void 0===i?void 0:i.name);return!0===(null==t?void 0:t.required)||!0===(null===(o=this.fieldConfig)||void 0===o?void 0:o.required)}componentWillLoad(){this._application=r.getContextValue("__SNK__APPLICATION__")}componentDidLoad(){e.addIDInfo(this._element,this.fieldConfig.name)}render(){if(null!=this.fieldConfig)return t(n,null,t("div",{class:"field-config"},t("div",{class:"field-config__draggable"},t("ez-icon",{iconName:"drag-indicator",size:"small"})),t("div",null,this.fieldConfig.label,this.isRequired()&&t("span",{class:"field-config__required-label"},"*")),this.modeInsertion?t("div",{class:"field-config__add"},t("ez-button",{onClick:i=>this.handleAction(i,l.add),mode:"icon",class:"ez-button--tertiary",iconName:"plus",size:"large",title:this.getMessage("snkFieldConfig.titleAdd")})):t("div",{class:"field-config__options"+(this.isConfigActive?" field-config__options--is-active":" ")},t("ez-button",{mode:"icon",class:"ez-button--tertiary field-config__remove-icon",onClick:i=>this.handleAction(i,l.remove),iconName:"minus",size:"large",title:this.getMessage("snkFieldConfig.titleRemove")}),t("ez-button",{id:"buttonConfig_"+this.fieldConfig.name,mode:"icon",class:"ez-button--tertiary",onClick:i=>this.handleAction(i,l.configuration),iconName:this.isConfigActive?"chevron-up":"settings-inverted",size:"large",title:this.getMessage("snkFieldConfig.titleConfigurations")}))),this.isConfigActive&&t("div",{class:"field-config__config-popover"},t("div",{class:"field-config__config-outer-arrow"},t("div",{class:"field-config__config-inner-arrow"}))))}get _element(){return s(this)}};_.style=".sc-snk-field-config-h{--snk-field-config--height:42px;--snk-field-config--width:100%;--snk-field-config__icon--width:48px;--snk-field-config--height--slim:32px;--snk-field-config--border-radius:var(--border--radius-medium, 12px);--snk-field-config--font-size:var(--text--medium, 14px);--snk-field-config--font-family:var(--font-pattern, Arial);--snk-field-config--font-weight:var(--text-weight--medium, 400);--snk-field-config--color:var(--title--primary, #000);--snk-field-config__input--background-color:var(--background--medium, #e0e0e0);--snk-field-config__input--border:var(--border--medium, 2px solid);--snk-field-config__input--border-color:var(--background--xlight, #fff);--snk-field-config__required--color:var(--color--error, #FF0000);--snk-field-config__transition--visibility:var(--transition, 0.2s linear);--snk-field-config__transition--opacity:var(--transition, 0.15s linear);display:flex;flex-wrap:wrap;position:relative;width:var(--snk-field-config--width)}.field-config.sc-snk-field-config{width:100%;box-sizing:border-box;display:flex;align-items:center;padding-left:var(--space--medium, 6px);font-weight:var(--snk-field-config--font-weight);height:var(--snk-field-config--height);border-radius:var(--snk-field-config--border-radius);font-family:var(--snk-field-config--font-family);font-size:var(--snk-field-config--font-size);border:var(--snk-field-config__input--border);border-color:var(--snk-field-config__input--border-color);background-color:var(--snk-field-config__input--background-color);color:var(--snk-field-config--color)}.field-config__config-popover.sc-snk-field-config{width:40px;margin-left:auto;z-index:var(--more-visible, 2)}.field-config__required-label.sc-snk-field-config{padding-left:var(--space--extra-small, 3px);color:var(--snk-field-config__required--color)}.field-config__add.sc-snk-field-config{display:flex;margin-left:auto;visibility:hidden;opacity:0;transition:visibility var(--snk-field-config__transition--visibility), opacity var(--snk-field-config__transition--opacity)}.field-config__options.sc-snk-field-config{display:flex;margin-left:auto;visibility:hidden;opacity:0;transition:visibility var(--snk-field-config__transition--visibility), opacity var(--snk-field-config__transition--opacity)}.field-config__options--is-active.sc-snk-field-config{display:flex;visibility:visible;opacity:1}.field-config__remove-icon.sc-snk-field-config{margin-right:-15px}.field-config.sc-snk-field-config:hover .field-config__options.sc-snk-field-config{display:flex;visibility:visible;opacity:1}.field-config.sc-snk-field-config:hover .field-config__add.sc-snk-field-config{visibility:visible;opacity:1}.field-config__draggable.sc-snk-field-config{padding-right:var(--space--small, 6px)}.field-config__config-outer-arrow.sc-snk-field-config{background-color:var(--color--secondary-200);clip-path:polygon(50% 0, 90% 100%, 10% 100%);border-radius:0.25em 0 0 0;width:30px;height:15px;padding-top:3px;border-bottom:1px solid #FFFFFF}.field-config__config-inner-arrow.sc-snk-field-config{background-color:#FFFFFF;clip-path:polygon(50% 0, 90% 100%, 10% 100%);border-radius:0.25em 0 0 0;width:30px;height:15px}.ez-box__container.sc-snk-field-config ez-collapsible-box.sc-snk-field-config{--snk-collapsible-box__header--padding-left:6px}ez-icon.sc-snk-field-config{--snk-icon--color:var(--snk-field-config--color)}ez-popover.sc-snk-field-config{--snk-popover__box--background-color:transparent;--snk-popover__box--box-shadow:none}.field-config__options.sc-snk-field-config ez-button.sc-snk-field-config{--snk-button--background-color:transparent;--snk-button--focus--border:none;--snk-button--focus--box-shadow:none}";const k=class{constructor(t){i(this,t),this.actionClick=o(this,"actionClick",7),this.gridDoubleClick=o(this,"gridDoubleClick",7),this._topTaskbarProcessor=new d({snkGridTopTaskbar:["FORM_MODE","CONFIGURATOR","INSERT"]}),this._headerTaskbarProcessor=new d({"snkGridHeaderTaskbar.unselected":["REFRESH"],"snkGridHeaderTaskbar.selected":["UPDATE","CLONE","REMOVE","MORE_OPTIONS","DIVIDER","REFRESH"]}),this._popUpGridConfig=!1}async showConfig(){null!=this._grid&&this.openGridConfig()}async hideConfig(){null!=this._grid&&this.closeGridConfig()}async setConfig(i){this.setGridConfig(i)}openGridConfig(){this._grid.getColumnsState().then((i=>{this._snkGridConfig.columns=i.filter((i=>i.name)),this._snkGridConfig.selectedIndex=0,this._popUpGridConfig=!0}))}closeGridConfig(){this._popUpGridConfig=!1}setGridConfig(i){this._gridConfig=i}loadConfig(){f.get().loadGridConfig(this.configName).then((i=>{this.setGridConfig(i)})).catch((i=>{console.warn(i)}))}saveConfig(i){this._snkGridConfig.saveConfig(i).then((()=>{this.closeGridConfig()}))}changeConfig(i){this._grid.setColumnsState(i.columns).then((()=>{this.closeGridConfig()}))}componentWillLoad(){let i=this._element.parentElement;for(;i;){if("SNK-DATA-UNIT"===i.tagName.toUpperCase()){this._snkDataUnit=i,this._dataUnit=this._snkDataUnit.dataUnit,this._dataUnit||this._snkDataUnit.addEventListener("dataUnitReady",(i=>{this._dataUnit=i.detail})),this._snkDataUnit.addEventListener("dataStateChange",(i=>{this._dataState=i.detail}));break}i=i.parentElement}this.loadConfig()}componentWillRender(){this._headerTaskbarProcessor.process(this._dataState&&this._dataState.selectedRecords.length>0?"snkGridHeaderTaskbar.selected":"snkGridHeaderTaskbar.unselected",this.taskbarManager,this._dataState),this._topTaskbarProcessor.process("snkGridTopTaskbar",this.taskbarManager,this._dataState)}render(){if(this._dataUnit)return t("div",{class:"snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large"},t("div",{class:"snk-grid__header ez-padding-bottom--medium ez-margin-bottom--medium"},t("snk-filter-bar",{dataUnit:this._dataUnit,class:"snk-grid__filter-bar ez-align--top",configName:this.configName}),t("hr",{class:"ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider"}),t("snk-taskbar",{class:"ez-padding-left--medium",key:"topTaskbar",configName:this.configName,dataUnit:this._dataUnit,buttons:this._topTaskbarProcessor.buttons,disabledButtons:this._topTaskbarProcessor.disabledButtons,customButtons:this._topTaskbarProcessor.customButtons,primaryButton:"INSERT"})),t("ez-grid",{ref:i=>this._grid=i,dataUnit:this._dataUnit,key:"grid-"+this._snkDataUnit.entityName,config:this._gridConfig,onConfigChange:i=>{this.saveConfig(i.detail)},onEzDoubleClick:()=>this.gridDoubleClick.emit(),statusResolver:this.statusResolver,multipleSelection:this.multipleSelection},t("snk-taskbar",{dataUnit:this._dataUnit,buttons:this._headerTaskbarProcessor.buttons,disabledButtons:this._headerTaskbarProcessor.disabledButtons,customButtons:this._headerTaskbarProcessor.customButtons,slot:"leftButtons",actionsList:this.actionsList})),t("div",{class:"ez-col ez-col--sd-12"},t("slot",{name:"SnkGridFooter"})),t("ez-modal",{modalSize:"small",closeEsc:!1,closeOutsideClick:!1,opened:this._popUpGridConfig,onEzCloseModal:()=>this.closeGridConfig()},t("snk-grid-config",{ref:i=>this._snkGridConfig=i,config:this._gridConfig,"data-element-id":this._element.getAttribute("data-element-id"),selectedIndex:0,onConfigChange:i=>this.changeConfig(i.detail),onConfigCancel:()=>this.closeGridConfig()})))}get _element(){return s(this)}};k.style=".snk-grid__container.sc-snk-grid{display:flex;height:100%;width:100%}.snk-grid__header.sc-snk-grid{display:flex;flex-wrap:nowrap;width:100%}.snk-grid__filter-bar.sc-snk-grid{width:100%}.snk-grid__header-divider.sc-snk-grid{margin-bottom:var(--space--small)}";export{u as snk_configurator,_ as snk_field_config,k as snk_grid}
1
+ import{r as i,c as o,h as t,H as n,g as s}from"./p-9ba3df4c.js";import{ApplicationContext as r,ElementIDUtils as e}from"@sankhyalabs/core";import{c as a,A as l}from"./p-6673c77c.js";import{A as c}from"./p-dc36cfbf.js";import{T as d}from"./p-03f9c407.js";import{C as f}from"./p-6ba8f415.js";import"./p-112455b1.js";const g=a.grid,h=a.form,u=class{constructor(t){i(this,t),this.configSelected=o(this,"configSelected",7),this.openConfig=o(this,"openConfig",7),this._opened=!1,this.viewMode=g.name}async open(){this._opened=!0,this.configSelected.emit(this.getViewModeValue())}async close(){this.closeConfig()}closeConfig(){this._opened=!1}onViewModeChanged(i){const o=null==i?void 0:i.detail;this.viewMode=o,this.configSelected.emit(o)}onClickOpenConfig(){this.openConfig.emit(this.viewMode)}isAllowed(i){return!c[i]||!!this._permissions&&(this._permissions.isSup||this._permissions[i])}enableModeConfig(){return!(!this.isAllowed(c.CONFIG_GRID)||!this.isAllowed(c.CONFIG))}getViewModeValue(){return null!=this._permissions&&(this.isAllowed(c.CONFIG_GRID)?this.isAllowed(c.CONFIG)||(this.viewMode=g.name):this.viewMode=h.name),this.viewMode}getMessage(i){var o,t;return null===(t=null===(o=this._application)||void 0===o?void 0:o.messagesBuilder)||void 0===t?void 0:t.getMessage(i,{})}componentWillLoad(){this._application=r.getContextValue("__SNK__APPLICATION__"),this._application?this._application.getAllAccess().then((i=>this._permissions=i)):this._permissions={}}render(){return t("ez-modal",{opened:this._opened,"close-esc":!1,"close-outside-click":!1,"modal-size":"small"},t("div",{class:"snk-configurator"},t("div",{class:"snk-configurator__header"},t("label",{class:"snk-configurator__title"},this.getMessage("snkConfigurator.titleConfigurations")),t("div",{class:"snk-configurator__button-close"},t("ez-button",{mode:"icon",iconName:"close",size:"medium",onClick:()=>this.closeConfig()}))),t("div",{class:"snk-configurator__main"},t("ez-radio-button",{class:"ez-margin-top--medium",label:this.getMessage("snkConfigurator.subTitleModeConfig"),value:this.getViewModeValue(),onEzChange:i=>this.onViewModeChanged(i),enabled:this.enableModeConfig()},t("ez-radio-button-option",{label:this.getMessage("snkConfigurator.labelGrid"),value:g.name}),t("ez-radio-button-option",{label:this.getMessage("snkConfigurator.labelForm"),value:h.name})),t("ez-button",{mode:"slim",label:this.getMessage(this.viewMode===g.name?"snkConfigurator.labelConfigGrid":"snkConfigurator.labelConfigForm"),class:"snk-configurator__button-config ez-button--primary",onClick:()=>this.onClickOpenConfig()}),t("hr",{class:"ez-divider-horizontal ez-margin-vertical--medium"}))))}};u.style='.sc-snk-configurator-h{--snk-configurator__button-close--padding-left:var(--space--medium, 12px);--snk-configurator__title--color:var(--title--primary, #2B3A54);--snk-configurator__title--font-family:var(--font-pattern, "Roboto");--snk-configurator__title--font-size:var(--title--large, 20px);--snk-configurator__title--font-weight:var(--text-weight--extra-large, 700);--snk-configurator__subtitle--color:var(--title--primary, #2B3A54);--snk-configurator__subtitle--font-family:var(--font-pattern, "Roboto");--snk-configurator__subtitle--font-size:var(--text--medium, 14px);--snk-configurator__subtitle--font-weight:var(--text-weight--large, 600);--snk-configurator__scrollbar--border-radius:var(--border--radius-small, 6px);--snk-configurator__scrollbar--width:var(--space--medium, 12px);--snk-configurator__scrollbar--background-color-primary:var(--scrollbar--primary, #2B3A54);--snk-configurator__scrollbar--background-color-secondary:var(--scrollbar--secondary, #E5EAF0)}.snk-configurator.sc-snk-configurator{display:grid;grid-template-rows:auto 1fr auto;max-height:100%;width:100%}@media screen and (min-width: 480px){.snk-configurator.sc-snk-configurator{width:359px;max-width:359px}}.snk-configurator__button-config.sc-snk-configurator{--ez-button--min-width:100%}.snk-configurator__header.sc-snk-configurator{display:flex;justify-content:space-between;align-items:center;width:100%}.snk-configurator__title.sc-snk-configurator{display:flex;margin:0;line-height:normal;letter-spacing:0em;text-align:left;color:var(--snk-configurator__title--color);font-size:var(--snk-configurator__title--font-size);font-family:var(--snk-configurator__title--font-family);font-weight:var(--snk-configurator__title--font-weight)}.snk-configurator__subtitle.sc-snk-configurator{display:flex;margin:0;padding-top:var(--space--medium);padding-bottom:var(--space--small);color:var(--snk-configurator__subtitle--color);font-size:var(--snk-configurator__subtitle--font-size);font-family:var(--snk-configurator__subtitle--font-family);font-weight:var(--snk-configurator__subtitle--font-weight)}.snk-configurator__button-close.sc-snk-configurator{padding-left:var(--snk-configurator__button-close--padding-left)}.snk-configurator__main.sc-snk-configurator{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--snk-configurator__scrollbar--background-color-primary) var(--snk-configurator__scrollbar--background-color-secondary)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-track{background-color:var(--snk-configurator__scrollbar--background-color-secondary)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb{background-color:var(--snk-configurator__scrollbar--background-color-primary);border-radius:var(--snk-configurator__scrollbar--border-radius)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar{background-color:var(--snk-configurator__scrollbar--background-color-secondary);width:var(--snk-configurator__scrollbar--width);max-width:var(--snk-configurator__scrollbar--width);min-width:var(--snk-configurator__scrollbar--width)}';const _=class{constructor(t){i(this,t),this.ezClickIcon=o(this,"ezClickIcon",7),this.isConfigActive=!1,this.modeInsertion=!0}handleAction(i,o){i.preventDefault(),i.stopPropagation();const t=this.fieldConfig;o!==l.configuration&&(t.group=void 0),this.ezClickIcon.emit({field:t,type:o})}getMessage(i){return this._application.messagesBuilder.getMessage(i,{})}isRequired(){var i,o;const t=this.dataUnit&&this.dataUnit.getField(null===(i=this.fieldConfig)||void 0===i?void 0:i.name);return!0===(null==t?void 0:t.required)||!0===(null===(o=this.fieldConfig)||void 0===o?void 0:o.required)}componentWillLoad(){this._application=r.getContextValue("__SNK__APPLICATION__")}componentDidLoad(){e.addIDInfo(this._element,this.fieldConfig.name)}render(){if(null!=this.fieldConfig)return t(n,null,t("div",{class:"field-config"},t("div",{class:"field-config__draggable"},t("ez-icon",{iconName:"drag-indicator",size:"small"})),t("div",null,this.fieldConfig.label,this.isRequired()&&t("span",{class:"field-config__required-label"},"*")),this.modeInsertion?t("div",{class:"field-config__add"},t("ez-button",{onClick:i=>this.handleAction(i,l.add),mode:"icon",class:"ez-button--tertiary",iconName:"plus",size:"large",title:this.getMessage("snkFieldConfig.titleAdd")})):t("div",{class:"field-config__options"+(this.isConfigActive?" field-config__options--is-active":" ")},t("ez-button",{mode:"icon",class:"ez-button--tertiary field-config__remove-icon",onClick:i=>this.handleAction(i,l.remove),iconName:"minus",size:"large",title:this.getMessage("snkFieldConfig.titleRemove")}),t("ez-button",{id:"buttonConfig_"+this.fieldConfig.name,mode:"icon",class:"ez-button--tertiary",onClick:i=>this.handleAction(i,l.configuration),iconName:this.isConfigActive?"chevron-up":"settings-inverted",size:"large",title:this.getMessage("snkFieldConfig.titleConfigurations")}))),this.isConfigActive&&t("div",{class:"field-config__config-popover"},t("div",{class:"field-config__config-outer-arrow"},t("div",{class:"field-config__config-inner-arrow"}))))}get _element(){return s(this)}};_.style=".sc-snk-field-config-h{--snk-field-config--height:42px;--snk-field-config--width:100%;--snk-field-config__icon--width:48px;--snk-field-config--height--slim:32px;--snk-field-config--border-radius:var(--border--radius-medium, 12px);--snk-field-config--font-size:var(--text--medium, 14px);--snk-field-config--font-family:var(--font-pattern, Arial);--snk-field-config--font-weight:var(--text-weight--medium, 400);--snk-field-config--color:var(--title--primary, #000);--snk-field-config__input--background-color:var(--background--medium, #e0e0e0);--snk-field-config__input--border:var(--border--medium, 2px solid);--snk-field-config__input--border-color:var(--background--xlight, #fff);--snk-field-config__required--color:var(--color--error, #FF0000);--snk-field-config__transition--visibility:var(--transition, 0.2s linear);--snk-field-config__transition--opacity:var(--transition, 0.15s linear);display:flex;flex-wrap:wrap;position:relative;width:var(--snk-field-config--width)}.field-config.sc-snk-field-config{width:100%;box-sizing:border-box;display:flex;align-items:center;padding-left:var(--space--medium, 6px);font-weight:var(--snk-field-config--font-weight);height:var(--snk-field-config--height);border-radius:var(--snk-field-config--border-radius);font-family:var(--snk-field-config--font-family);font-size:var(--snk-field-config--font-size);border:var(--snk-field-config__input--border);border-color:var(--snk-field-config__input--border-color);background-color:var(--snk-field-config__input--background-color);color:var(--snk-field-config--color)}.field-config__config-popover.sc-snk-field-config{width:40px;margin-left:auto;z-index:var(--more-visible, 2)}.field-config__required-label.sc-snk-field-config{padding-left:var(--space--extra-small, 3px);color:var(--snk-field-config__required--color)}.field-config__add.sc-snk-field-config{display:flex;margin-left:auto;visibility:hidden;opacity:0;transition:visibility var(--snk-field-config__transition--visibility), opacity var(--snk-field-config__transition--opacity)}.field-config__options.sc-snk-field-config{display:flex;margin-left:auto;visibility:hidden;opacity:0;transition:visibility var(--snk-field-config__transition--visibility), opacity var(--snk-field-config__transition--opacity)}.field-config__options--is-active.sc-snk-field-config{display:flex;visibility:visible;opacity:1}.field-config__remove-icon.sc-snk-field-config{margin-right:-15px}.field-config.sc-snk-field-config:hover .field-config__options.sc-snk-field-config{display:flex;visibility:visible;opacity:1}.field-config.sc-snk-field-config:hover .field-config__add.sc-snk-field-config{visibility:visible;opacity:1}.field-config__draggable.sc-snk-field-config{padding-right:var(--space--small, 6px)}.field-config__config-outer-arrow.sc-snk-field-config{background-color:var(--color--secondary-200);clip-path:polygon(50% 0, 90% 100%, 10% 100%);border-radius:0.25em 0 0 0;width:30px;height:15px;padding-top:3px;border-bottom:1px solid #FFFFFF}.field-config__config-inner-arrow.sc-snk-field-config{background-color:#FFFFFF;clip-path:polygon(50% 0, 90% 100%, 10% 100%);border-radius:0.25em 0 0 0;width:30px;height:15px}.ez-box__container.sc-snk-field-config ez-collapsible-box.sc-snk-field-config{--snk-collapsible-box__header--padding-left:6px}ez-icon.sc-snk-field-config{--snk-icon--color:var(--snk-field-config--color)}ez-popover.sc-snk-field-config{--snk-popover__box--background-color:transparent;--snk-popover__box--box-shadow:none}.field-config__options.sc-snk-field-config ez-button.sc-snk-field-config{--snk-button--background-color:transparent;--snk-button--focus--border:none;--snk-button--focus--box-shadow:none}";const k=class{constructor(t){i(this,t),this.actionClick=o(this,"actionClick",7),this.gridDoubleClick=o(this,"gridDoubleClick",7),this._topTaskbarProcessor=new d({snkGridTopTaskbar:["FORM_MODE","CONFIGURATOR","INSERT"]}),this._headerTaskbarProcessor=new d({"snkGridHeaderTaskbar.unselected":["REFRESH"],"snkGridHeaderTaskbar.selected":["UPDATE","CLONE","REMOVE","MORE_OPTIONS","DIVIDER","REFRESH"]}),this._popUpGridConfig=!1}async showConfig(){null!=this._grid&&this.openGridConfig()}async hideConfig(){null!=this._grid&&this.closeGridConfig()}async setConfig(i){this.setGridConfig(i)}openGridConfig(){this._grid.getColumnsState().then((i=>{this._snkGridConfig.columns=i.filter((i=>i.name)),this._snkGridConfig.selectedIndex=0,this._popUpGridConfig=!0}))}closeGridConfig(){this._popUpGridConfig=!1}setGridConfig(i){this._gridConfig=i}loadConfig(){f.get().loadGridConfig(this.configName).then((i=>{this.setGridConfig(i)})).catch((i=>{console.warn(i)}))}saveConfig(i){this._snkGridConfig.saveConfig(i).then((()=>{this.closeGridConfig()}))}changeConfig(i){this._grid.setColumnsState(i.columns).then((()=>{this.closeGridConfig()}))}componentWillLoad(){let i=this._element.parentElement;for(;i;){if("SNK-DATA-UNIT"===i.tagName.toUpperCase()){this._snkDataUnit=i,this._dataUnit=this._snkDataUnit.dataUnit,this._dataUnit||this._snkDataUnit.addEventListener("dataUnitReady",(i=>{this._dataUnit=i.detail})),this._snkDataUnit.addEventListener("dataStateChange",(i=>{this._dataState=i.detail}));break}i=i.parentElement}this.loadConfig()}componentWillRender(){this._headerTaskbarProcessor.process(this._dataState&&this._dataState.selectedRecords.length>0?"snkGridHeaderTaskbar.selected":"snkGridHeaderTaskbar.unselected",this.taskbarManager,this._dataState),this._topTaskbarProcessor.process("snkGridTopTaskbar",this.taskbarManager,this._dataState)}componentDidLoad(){e.addIDInfo(this._element,null,{dataUnit:this._dataUnit})}getDataElementId(i){return`${this._element.getAttribute(e.DATA_ELEMENT_ID_ATTRIBUTE_NAME)}_${i}`}render(){if(this._dataUnit)return t("div",{class:"snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large"},t("div",{class:"snk-grid__header ez-padding-bottom--medium ez-margin-bottom--medium"},t("snk-filter-bar",{dataUnit:this._dataUnit,"data-element-id":this.getDataElementId("internal_filter"),class:"snk-grid__filter-bar ez-align--top",configName:this.configName}),t("hr",{class:"ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider"}),t("snk-taskbar",{class:"ez-padding-left--medium","data-element-id":this.getDataElementId("grid_top_taskbar"),key:"topTaskbar",configName:this.configName,dataUnit:this._dataUnit,buttons:this._topTaskbarProcessor.buttons,disabledButtons:this._topTaskbarProcessor.disabledButtons,customButtons:this._topTaskbarProcessor.customButtons,primaryButton:"INSERT"})),t("ez-grid",{ref:i=>this._grid=i,"data-element-id":this.getDataElementId("internal_grid"),dataUnit:this._dataUnit,key:"grid-"+this._snkDataUnit.entityName,config:this._gridConfig,onConfigChange:i=>{this.saveConfig(i.detail)},onEzDoubleClick:()=>this.gridDoubleClick.emit(),statusResolver:this.statusResolver,multipleSelection:this.multipleSelection},t("snk-taskbar",{dataUnit:this._dataUnit,"data-element-id":this.getDataElementId("grid_left_taskBar"),buttons:this._headerTaskbarProcessor.buttons,disabledButtons:this._headerTaskbarProcessor.disabledButtons,customButtons:this._headerTaskbarProcessor.customButtons,slot:"leftButtons",actionsList:this.actionsList})),t("div",{class:"ez-col ez-col--sd-12"},t("slot",{name:"SnkGridFooter"})),t("ez-modal",{modalSize:"small",closeEsc:!1,closeOutsideClick:!1,opened:this._popUpGridConfig,onEzCloseModal:()=>this.closeGridConfig()},t("snk-grid-config",{ref:i=>this._snkGridConfig=i,config:this._gridConfig,"data-element-id":this._element.getAttribute(e.DATA_ELEMENT_ID_ATTRIBUTE_NAME),selectedIndex:0,onConfigChange:i=>this.changeConfig(i.detail),onConfigCancel:()=>this.closeGridConfig()})))}get _element(){return s(this)}};k.style=".snk-grid__container.sc-snk-grid{display:flex;height:100%;width:100%}.snk-grid__header.sc-snk-grid{display:flex;flex-wrap:nowrap;width:100%}.snk-grid__filter-bar.sc-snk-grid{width:100%}.snk-grid__header-divider.sc-snk-grid{margin-bottom:var(--space--small)}";export{u as snk_configurator,_ as snk_field_config,k as snk_grid}
@@ -0,0 +1 @@
1
+ import{r as t,c as i,h as s,g as e}from"./p-9ba3df4c.js";import{ElementIDUtils as n,ApplicationContext as a}from"@sankhyalabs/core";import{c as h}from"./p-6673c77c.js";import{T as o}from"./p-4cbc4ae3.js";const r=h.grid,c=h.form,d=class{constructor(s){t(this,s),this.actionClick=i(this,"actionClick",7),this._viewMode=r.name,this.multipleSelection=!0}async goToView(t){this.executeAction(t)}async gridToForm(t=!1){this._backToGrid=!t&&await this._viewStack.getSelectedIndex()===r.index,this.setViewMode(c)}async executeAction(t){t===o.GRID_MODE?this.setViewMode(r):t===o.FORM_MODE||t===o.UPDATE?this.gridToForm(t!==o.UPDATE):t===o.CONFIGURATOR&&this._snkConfigurator.open()}setViewMode(t){this._viewStack.show(t.index),this._viewMode=t.name}openConfig(t){this._snkConfigurator.close(),t===r.name?this._snkGrid.showConfig():t===c.name&&this._snkForm.showConfig()}insertionModeHandler(){this.gridToForm()}cancelHandler(){this._backToGrid&&this.setViewMode(r)}getDataElementId(t){return`${this._element.getAttribute(n.DATA_ELEMENT_ID_ATTRIBUTE_NAME)}_${t}`}componentWillLoad(){let t=this._element.parentElement;for(;t;){if("SNK-DATA-UNIT"===t.tagName.toUpperCase()){this._snkDataUnit=t,this._snkDataUnit.addEventListener("insertionMode",(()=>this.insertionModeHandler())),this._snkDataUnit.addEventListener("cancelEdition",(()=>this.cancelHandler())),this._dataUnit=this._snkDataUnit.dataUnit,this._dataState=this._snkDataUnit.dataState,this._dataUnit||this._snkDataUnit.addEventListener("dataUnitReady",(t=>{this._dataUnit=t.detail})),this._snkDataUnit.addEventListener("dataStateChange",(t=>{this._dataState=t.detail}));break}t=t.parentElement}if(!this.configName){const t=a.getContextValue("__SNK__APPLICATION__");this.configName=t.configName}}componentDidLoad(){n.addIDInfo(this._element,null,{dataUnit:this._dataUnit})}render(){return s("ez-view-stack",{ref:t=>this._viewStack=t,"data-element-id":this.getDataElementId("crud_ViewStack")},s("stack-item",null,s("snk-grid",{ref:t=>this._snkGrid=t,"data-element-id":this.getDataElementId("crud_grid"),configName:this.configName,onGridDoubleClick:()=>this.gridToForm(!0),taskbarManager:this.taskbarManager,onActionClick:t=>this.executeAction(t.detail),actionsList:this.actionsList,statusResolver:this.statusResolver,multipleSelection:this.multipleSelection},s("slot",{name:"SnkGridHeader"}),s("slot",{name:"SnkGridFooter"}),s("slot",{name:"SnkGridTaskBar"}))),s("stack-item",null,s("snk-form",{ref:t=>this._snkForm=t,"data-element-id":this.getDataElementId("crud_form"),configName:this.configName,actionsList:this.actionsList,onExit:()=>this.setViewMode(r),recordsValidator:this.recordsValidator,taskbarManager:this.taskbarManager,onActionClick:t=>this.executeAction(t.detail)},s("slot",{name:"SnkFormTaskBar"}))),s("snk-configurator",{ref:t=>this._snkConfigurator=t,viewMode:this._viewMode,onConfigSelected:t=>this.executeAction(t.detail),onOpenConfig:t=>this.openConfig(t.detail)}))}get _element(){return e(this)}};d.style=".sc-snk-crud-h{display:flex;flex-direction:column;height:100%;width:100%}";export{d as snk_crud}