@sankhyalabs/sankhyablocks 2.4.10 → 2.4.12

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 (39) hide show
  1. package/dist/cjs/{ConfigStorage-c112de1d.js → ConfigStorage-91953f29.js} +6 -7
  2. package/dist/cjs/snk-application.cjs.entry.js +1 -1
  3. package/dist/cjs/snk-configurator_3.cjs.entry.js +14 -9
  4. package/dist/cjs/snk-exporter-email-sender_8.cjs.entry.js +30 -11
  5. package/dist/cjs/snk-form-config.cjs.entry.js +1 -1
  6. package/dist/cjs/snk-form.cjs.entry.js +14 -9
  7. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +29 -9
  8. package/dist/collection/components/snk-form/snk-form.js +13 -8
  9. package/dist/collection/components/snk-grid/snk-grid.css +7 -5
  10. package/dist/collection/components/snk-grid/snk-grid.js +12 -7
  11. package/dist/collection/components/snk-taskbar/snk-taskbar.js +0 -15
  12. package/dist/collection/lib/configs/ConfigStorage.js +6 -7
  13. package/dist/collection/lib/index.js +1 -0
  14. package/dist/components/ConfigStorage.js +6 -7
  15. package/dist/components/snk-filter-item2.js +29 -9
  16. package/dist/components/snk-form2.js +13 -8
  17. package/dist/components/snk-grid2.js +13 -8
  18. package/dist/components/snk-taskbar2.js +0 -1
  19. package/dist/esm/{ConfigStorage-99025655.js → ConfigStorage-b59461d8.js} +6 -7
  20. package/dist/esm/snk-application.entry.js +1 -1
  21. package/dist/esm/snk-configurator_3.entry.js +14 -9
  22. package/dist/esm/snk-exporter-email-sender_8.entry.js +30 -11
  23. package/dist/esm/snk-form-config.entry.js +1 -1
  24. package/dist/esm/snk-form.entry.js +14 -9
  25. package/dist/sankhyablocks/{p-9010ac54.entry.js → p-00b3c5d8.entry.js} +1 -1
  26. package/dist/sankhyablocks/{p-6ba8f415.js → p-395b45a7.js} +1 -1
  27. package/dist/sankhyablocks/p-48bbbd2c.entry.js +1 -0
  28. package/dist/sankhyablocks/{p-df53643b.entry.js → p-9e67cf79.entry.js} +1 -1
  29. package/dist/sankhyablocks/{p-1b7f87cf.entry.js → p-a3871147.entry.js} +1 -1
  30. package/dist/sankhyablocks/p-baa2b65f.entry.js +1 -0
  31. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  32. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +5 -1
  33. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +0 -4
  34. package/dist/types/components.d.ts +0 -4
  35. package/dist/types/lib/configs/ConfigStorage.d.ts +1 -1
  36. package/dist/types/lib/index.d.ts +1 -0
  37. package/package.json +1 -1
  38. package/dist/sankhyablocks/p-2445b586.entry.js +0 -1
  39. package/dist/sankhyablocks/p-fb96840c.entry.js +0 -1
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-e4121713.js';
2
2
  import { WaitingChangeException, WarningException, ErrorException, ObjectUtils, DataType, DataUnit, StringUtils, ChangeOperation, DateUtils, DependencyType, ElementIDUtils, ApplicationContext, ErrorTracking } from '@sankhyalabs/core';
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';
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-b59461d8.js';
4
4
  import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
5
5
  import { S as SnkMessageBuilder } from './SnkMessageBuilder-7d583c9a.js';
6
6
  import './_commonjsHelpers-9943807e.js';
@@ -3,7 +3,7 @@ import { ApplicationContext, ElementIDUtils } from '@sankhyalabs/core';
3
3
  import { c as VIEW_MODE, A as ACTION_CONFIG } from './constants-babe1a08.js';
4
4
  import { A as AuthorizationConfig } from './AuthorizationConfig-dcbd207a.js';
5
5
  import { T as TaskbarProcessor } from './taskbar-processor-c2a99aba.js';
6
- import { C as ConfigStorage } from './ConfigStorage-99025655.js';
6
+ import { C as ConfigStorage } from './ConfigStorage-b59461d8.js';
7
7
  import { T as TaskbarElement } from './taskbar-elements-b2bbe275.js';
8
8
  import './_commonjsHelpers-9943807e.js';
9
9
 
@@ -152,7 +152,7 @@ const SnkFieldConfig = class {
152
152
  };
153
153
  SnkFieldConfig.style = snkFieldConfigCss;
154
154
 
155
- const snkGridCss = ".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)}";
155
+ const snkGridCss = ".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--medium)}";
156
156
 
157
157
  const SnkGrid = class {
158
158
  constructor(hostRef) {
@@ -242,13 +242,18 @@ const SnkGrid = class {
242
242
  this._gridConfig = config;
243
243
  }
244
244
  loadConfig() {
245
+ if (this.configName == undefined) {
246
+ return;
247
+ }
245
248
  ConfigStorage.get()
246
- .loadGridConfig(this.configName)
247
- .then((config) => {
248
- this.setGridConfig(config);
249
- })
250
- .catch((error) => {
251
- console.warn(error);
249
+ .then((instance) => {
250
+ instance.loadGridConfig(this.configName)
251
+ .then((config) => {
252
+ this.setGridConfig(config);
253
+ })
254
+ .catch((error) => {
255
+ console.warn(error);
256
+ });
252
257
  });
253
258
  }
254
259
  saveConfig(config) {
@@ -300,7 +305,7 @@ const SnkGrid = class {
300
305
  if (!this._dataUnit) {
301
306
  return undefined;
302
307
  }
303
- 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": "gridFilter", 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": "grid_top", 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": "embedded", 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": "grid_left", 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("snk-exporter-email-sender", { ref: ref => this._snkEmailSender = ref, getMessage: (key, params) => this.getMessage(key, params) }), 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), application: this._application, selectedIndex: 0, onConfigChange: (evt) => this.changeConfig(evt.detail), onConfigCancel: () => this.closeGridConfig() }))));
308
+ 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-margin-bottom--medium" }, h("snk-filter-bar", { dataUnit: this._dataUnit, "data-element-id": "gridFilter", 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": "grid_top", 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": "embedded", 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": "grid_left", 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("snk-exporter-email-sender", { ref: ref => this._snkEmailSender = ref, getMessage: (key, params) => this.getMessage(key, params) }), 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), application: this._application, selectedIndex: 0, onConfigChange: (evt) => this.changeConfig(evt.detail), onConfigCancel: () => this.closeGridConfig() }))));
304
309
  }
305
310
  get _element() { return getElement(this); }
306
311
  };
@@ -4,7 +4,7 @@ import { F as FilterItemType } from './filter-item-type.enum-a79b2fa8.js';
4
4
  import { ModalAction, ModalButtonStatus } from '@sankhyalabs/ezui/dist/collection/components/ez-modal-container';
5
5
  import { toString } from '@sankhyalabs/core/dist/dataunit/metadata/DataType';
6
6
  import { CheckMode, ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
7
- import { C as ConfigStorage } from './ConfigStorage-99025655.js';
7
+ import { C as ConfigStorage } from './ConfigStorage-b59461d8.js';
8
8
  import { O as ORDER_VALUES } from './constants-babe1a08.js';
9
9
  import { A as AuthorizationConfig } from './AuthorizationConfig-dcbd207a.js';
10
10
  import { T as TaskbarElement, V as VisibleWhenForbidden, A as AuthorizationElements, b as buildElem, a as buildCustomButton } from './taskbar-elements-b2bbe275.js';
@@ -628,23 +628,42 @@ const SnkFilterItem = class {
628
628
  if (open) {
629
629
  this._closeCallback = resolve;
630
630
  window.requestAnimationFrame(() => {
631
- this._floatingID = FloatingManager.float(this._popover, this._popoverContainer, {
632
- autoClose: true,
633
- innerClickTest: this.innerClickCheck,
634
- backClickListener: () => this.onDetailCloseCallback(),
635
- left: this.getScrollOffset(),
636
- useOverlay: true
637
- });
631
+ this._floatingID = FloatingManager.float(this._popover, this._popoverContainer, this.getFloatOptions());
638
632
  this._popover.show();
639
633
  this.detailIsVisible = true;
640
634
  });
641
635
  }
642
636
  });
643
637
  }
644
- getScrollOffset() {
638
+ updatePosition() {
639
+ if (this._floatingID == undefined) {
640
+ return;
641
+ }
642
+ FloatingManager.updateFloatPosition(this._popover, this._popoverContainer, this.getFloatOptions());
643
+ }
644
+ getFloatOptions() {
645
+ return {
646
+ autoClose: true,
647
+ innerClickTest: this.innerClickCheck,
648
+ backClickListener: () => this.onDetailCloseCallback(),
649
+ left: this.getScrollOffsetLeft(),
650
+ top: this.getScrollOffsetTop(),
651
+ useOverlay: true,
652
+ isFixed: true
653
+ };
654
+ }
655
+ getScrollOffsetLeft() {
645
656
  const padding = getComputedStyle(this._filterItemElement).getPropertyValue("padding-left");
646
657
  const rect = this._filterItemElement.getBoundingClientRect();
647
- return `calc(${rect.left}px + ${padding})`;
658
+ return `calc(${rect.x}px + ${padding})`;
659
+ }
660
+ getScrollOffsetTop() {
661
+ const rect = this._filterItemElement.getBoundingClientRect();
662
+ return (rect.y + rect.height) + "px";
663
+ }
664
+ controlScrollPage() {
665
+ window.removeEventListener("scroll", this.updatePosition.bind(this));
666
+ window.addEventListener("scroll", this.updatePosition.bind(this));
648
667
  }
649
668
  /**
650
669
  * Oculta os detalhes de um item da lista.
@@ -749,6 +768,7 @@ const SnkFilterItem = class {
749
768
  ElementIDUtils.addIDInfo(this._filterItemElement);
750
769
  this._idSnkFilterDetail = `filterDetail_${this.config.id}`;
751
770
  }
771
+ this.controlScrollPage();
752
772
  }
753
773
  componentDidRender() {
754
774
  if (this._floatingID == undefined) {
@@ -1477,7 +1497,6 @@ const SnkTaskbar = class {
1477
1497
  constructor(hostRef) {
1478
1498
  registerInstance(this, hostRef);
1479
1499
  this.actionClick = createEvent(this, "actionClick", 7);
1480
- this.actionChange = createEvent(this, "actionChange", 7);
1481
1500
  this._titleKeyByElement = {
1482
1501
  [TaskbarElement.UPDATE]: "snkTaskbar.titleUpdate",
1483
1502
  [TaskbarElement.PREVIOUS]: "snkTaskbar.titlePrevious",
@@ -3,7 +3,7 @@ import { d as draggable_bundle } from './draggable.bundle-41d56f06.js';
3
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
- import { a as UserConfigType, C as ConfigStorage } from './ConfigStorage-99025655.js';
6
+ import { a as UserConfigType, C as ConfigStorage } from './ConfigStorage-b59461d8.js';
7
7
  import './_commonjsHelpers-9943807e.js';
8
8
 
9
9
  const snkFormConfigCss = ".sc-snk-form-config-h{--snk-form-config__title--font-pattern:var(--font-pattern, \"Roboto\");--snk-form-config__title--weight--large:var(--text-weight--large, 600);display:flex;flex-direction:column;position:absolute;top:0;left:0;width:100%;height:100%;z-index:var(--more-visible, 2);background-color:var(--background--xlight)}.form-config__title.sc-snk-form-config{display:flex;margin:0;line-height:1.3;font-family:var(--snk-form-config__title--font-pattern);font-weight:var(--snk-form-config__title--weight--large)}.form-config__header-container.sc-snk-form-config{display:flex}.form-config__field-container.sc-snk-form-config{width:32%;padding:6px}.form-config__hide-content.sc-snk-form-config{display:none}ez-icon.sc-snk-form-config .left-icon.sc-snk-form-config{--ez-icon--color:var(--text--disable)}.ez-box__label-counter.sc-snk-form-config{font-weight:var(--text-weight--extra-small);margin-top:-7px}.form-config__btn-options.sc-snk-form-config{--ez-button--min-width:300px;--ez-button--background-color:#FFFFFF}[data-draggable-parent].sc-snk-form-config{position:relative}.form-config__field-config--selected.sc-snk-form-config{position:static}.form-config__field-config--dragged.sc-snk-form-config .draggable-mirror.sc-snk-form-config{z-index:var(--more-visible, 2)}.form-config__config-options.sc-snk-form-config{position:relative;margin-top:-3px;min-width:100%;z-index:1}.form-config__tab-container.sc-snk-form-config,.form-config__fields-available.sc-snk-form-config{position:relative;height:100%;max-height:calc(100vh - 92px)}.form-config__tab-container.sc-snk-form-config .ez-box__container.sc-snk-form-config,.form-config__fields-available.sc-snk-form-config .ez-box__container.sc-snk-form-config{align-content:flex-start;height:100%}.form-config__fields-available.sc-snk-form-config [data-draggable-parent].sc-snk-form-config{align-content:flex-start;overflow-y:auto;height:100%;max-height:calc(100% - 122px)}.form-config__tab-content.sc-snk-form-config{align-content:flex-start;overflow-y:auto;height:auto;max-height:calc(100% - 128px)}[data-draggable-element].sc-snk-form-config{cursor:grab}.form-config__actions-button.sc-snk-form-config{--ez-actions-button__btn-action--min-width:235px}.form-config__add-group.sc-snk-form-config{position:relative;min-height:120px;margin-bottom:10px}.form-config__add-group-container.sc-snk-form-config{position:absolute;display:flex;flex-wrap:wrap;width:100%;box-sizing:border-box;border-radius:var(--border--radius-medium, 12px);background-color:var(--background--medium, #d2dce9);padding:var(--space--small, 6px)}.form-config__add-group-content.sc-snk-form-config{width:100%;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;box-sizing:border-box;border:2px dashed var(--color-strokes, #DCE0E8);border-radius:var(--border--radius-small, 6px)}.form-config__add-group-label.sc-snk-form-config{display:flex;justify-content:center;box-sizing:border-box;padding:var(--space--large, 24px)}.form-config__btn-add-group.sc-snk-form-config{position:relative;padding:var(--space--large, 24px) var(--space--medium, 12px) 0}.form-config__btn-add-group-container.sc-snk-form-config{padding:var(--space--medium, 12px);border-radius:var(--border--radius-medium, 12px);border:2px solid var(--color-strokes, #DCE0E8);background-color:var(--background--body, #fafcff)}.form-config__left-icon--eye-off.sc-snk-form-config{padding-top:var(--space--medium, 8px)}ez-collapsible-box.draggable-mirror.sc-snk-form-config{display:table;background-color:#FFFFFF}ez-collapsible-box.sc-snk-form-config{margin-bottom:10px}@media screen and (min-width: 480px){.form-config__field-config--selected.sc-snk-form-config .ez-flex.form-config__config-options.sc-snk-form-config{min-width:calc(300% + 12px)}.form-config__field-config--selected.sc-snk-form-config:nth-child(3n+2) .ez-flex.form-config__config-options.sc-snk-form-config{transform:translate(calc(100% / 3 * -1))}.form-config__field-config--selected.sc-snk-form-config:nth-child(3n+3) .ez-flex.form-config__config-options.sc-snk-form-config{transform:translate(calc(100% / 3 * -2))}}";
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-e4121713.js';
2
2
  import { DateUtils, ObjectUtils, ElementIDUtils, ApplicationContext } from '@sankhyalabs/core';
3
3
  import { T as TaskbarProcessor } from './taskbar-processor-c2a99aba.js';
4
- import { C as ConfigStorage } from './ConfigStorage-99025655.js';
4
+ import { C as ConfigStorage } from './ConfigStorage-b59461d8.js';
5
5
  import './_commonjsHelpers-9943807e.js';
6
6
 
7
7
  const snkFormCss = ".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}";
@@ -33,15 +33,20 @@ const SnkForm = class {
33
33
  this._showFormConfig = false;
34
34
  }
35
35
  loadConfig() {
36
+ if (this.configName == undefined) {
37
+ return;
38
+ }
36
39
  ConfigStorage.get()
37
- .loadFormConfig(this.configName)
38
- .then((config) => {
39
- if (!this.setConfig(config)) {
40
- this.loadInsertionConfig();
41
- }
42
- })
43
- .catch((error) => {
44
- console.warn(error);
40
+ .then((instance) => {
41
+ instance.loadFormConfig(this.configName)
42
+ .then((config) => {
43
+ if (!this.setConfig(config)) {
44
+ this.loadInsertionConfig();
45
+ }
46
+ })
47
+ .catch((error) => {
48
+ console.warn(error);
49
+ });
45
50
  });
46
51
  }
47
52
  setConfig(config) {
@@ -1 +1 @@
1
- import{r as i,c as o,h as t,H as n,g as l}from"./p-9ba3df4c.js";import{d as e}from"./p-b6d6b172.js";import{ObjectUtils as s,ElementIDUtils as a,ArrayUtils as r,ApplicationContext as d}from"@sankhyalabs/core";import{ApplicationUtils as c,DialogType as h}from"@sankhyalabs/ezui/dist/collection/utils";import{C as f,T as g,A as u,D as m}from"./p-6673c77c.js";import{a as v,C as b}from"./p-6ba8f415.js";import"./p-112455b1.js";const p=class{constructor(t){i(this,t),this.configChange=o(this,"configChange",7),this.configClose=o(this,"configClose",7),this._listEnabledFields=[],this._renderTimer=500,this._sortableTimer=100,this._tabSelected=1,this._labelNewGroup="Novo grupo",this._mouseOnFieldConfig=!1,this._mouseOnConfigOptions=!1,this._editingTitleGroup=!1,this._newGroupBoxes=[],this._currentGroupBoxes=[],this._formFieldsStyle="ez-col ez-col--sd-12 ez-col--tb-4 ez-padding-right--small ez-padding-bottom--medium sc-snk-form-config",this._fieldsAvailableStyle="ez-col ez-col--sd-12 ez-col--tb-12 ez-margin-bottom--medium ez-margin-right--medium sc-snk-form-config",this._fieldFloatingStyle="form-config__field-config--dragged",this._formConfigOptions=[],this._formConfig={},this._formConfigChanged=!1,this._optionFormConfigChanged=!1,this._tempGroups=[],this.formConfig={}}observeFormConfig(){this.loadConfig(this._sortableTimer)}loadFields(i=0){this._layoutFormConfig=[],i>0?setTimeout((()=>{this.buildFields()}),i):this.buildFields()}buildFields(){this.buildFormConfig(),this.buildAvailableFields()}loadFormConfig(i){var o;this._formConfig=s.copy(this.formConfig),this.loadFields(i),this.controlFieldConfig(),null!=(null===(o=this._filterFieldsAvailable)||void 0===o?void 0:o.value)&&(this._filterFieldsAvailable.value="")}cancelChangeConfig(){!0===this._formConfigChanged?this.openConfirmDialog(this.getMessage("snkFormConfig.confirm.cancel")).then((i=>{i&&(this._formConfigChanged=!1,this.resetChangeConfig())})):this.resetChangeConfig()}cancelChangeOptionConfig(){!0===this._optionFormConfigChanged?this.openConfirmDialog(this.getMessage("snkFormConfig.confirm.cancel")).then((i=>{i&&(this._optionFormConfigChanged=!1,this.resetChangeOptionConfig())})):this.resetChangeOptionConfig()}resetChangeConfig(){this.loadFormConfig(this._sortableTimer),this.clearTempGroups()}resetChangeOptionConfig(){this._formConfigChanged=!1,this.loadConfig(this._sortableTimer),this.clearTempGroups()}getTabsToSave(){return this._layoutFormConfig.map(((i,o)=>({label:i.tab,order:o,visible:i.visible})))}getFieldsToSave(){const i=[];return this._formContainer.querySelectorAll("snk-field-config").forEach((o=>{const t=o.fieldConfig;if(null==t)return;const n={cleanOnCopy:t.cleanOnCopy||!1,group:t.group,label:t.label,name:t.name,required:t.required,readOnly:t.readOnly,tab:t.tab};null!=t.defaultValue&&(n.defaultValue=null==t.defaultValue.type?{type:m.fixed,value:t.defaultValue}:t.defaultValue),i.push(n)})),i}isDefaultConfiguration(){var i;return(null===(i=this._optionFormConfigSelected)||void 0===i?void 0:i.origin)===v.DEFAULT&&!0===this._optionFormConfigChanged&&!1===this._formConfigChanged}buildConfigToSave(){let i={};const o=this.isDefaultConfiguration();if(i=s.copy(o?this.formConfig:this._formConfig),!1===o){const o=this.getTabsToSave();(null==o?void 0:o.length)>0&&(i.tabs=o);const t=this.getFieldsToSave();(null==t?void 0:t.length)>0&&(i.fields=t)}return i.defaultConfiguration=o,i}saveConfig(){var i;if((null===(i=this._tempGroups)||void 0===i?void 0:i.length)>0)return void c.alert(this.getMessage("snkFormConfig.confirm.title"),this.getMessage("snkFormConfig.confirm.group"));const o=this.buildConfigToSave();this._formConfigChanged=!1,this._optionFormConfigChanged=!1,b.saveFormConfig(o,this.configName).then((i=>{null!=(null==i?void 0:i.resource)&&(c.info(this.getMessage("snkFormConfig.info.successfullyConfigSaved"),{iconName:"check"}),this.configChange.emit(o))}))}applyOptionConfig(){if(!0===this._optionFormConfigChanged&&null!=this._optionFormConfigSelected){const i=this._optionFormConfigSelected.name||"configuração selecionada",o=this._optionFormConfigSelected.origin===v.DEFAULT?"pessoal":"padrão",t=this.getMessage("snkFormConfig.confirm.apply").replace("{0}",i).replace("{1}",o);this.openConfirmDialog(t).then((i=>{i&&this.saveConfig()}))}else this.saveConfig()}controlFieldConfig(i){var o;this._fieldConfigSelected=null!=i?(null===(o=this._fieldConfigSelected)||void 0===o?void 0:o.name)===(null==i?void 0:i.name)?void 0:i:void 0}getFieldConfigStyle(i){var o;return this._formFieldsStyle+((null===(o=this._fieldConfigSelected)||void 0===o?void 0:o.name)===i.name?" form-config__field-config--selected":"")}getFieldsByGroup(i){var o;return(null===(o=i.fields)||void 0===o?void 0:o.length)?i.fields.map((i=>{var o,n;return t("div",{key:i.name,class:this.getFieldConfigStyle(i),"data-draggable-element":"field",onMouseDown:i=>this.controlMoveField(i)},t("snk-field-config",{onEzClickIcon:i=>{this.handleFieldConfigChange(i)},modeInsertion:!1,fieldConfig:i,dataUnit:this.dataUnit,isConfigActive:(null===(o=this._fieldConfigSelected)||void 0===o?void 0:o.name)===i.name,id:i.name}),(null===(n=this._fieldConfigSelected)||void 0===n?void 0:n.name)===i.name&&t("div",{class:"ez-flex form-config__config-options"},t("snk-config-options",{idConfig:i.name,dataUnit:this.dataUnit,fieldConfig:this._fieldConfigSelected,"data-element-id":this._element.getAttribute(a.DATA_ELEMENT_ID_ATTRIBUTE_NAME),onConfigOptionsChanged:i=>this.handleconfigOptionsChanged(i.detail)})))})):t("div",{class:"form-config__add-group-container"},t("div",{class:"form-config__add-group-content"},t("div",{class:"form-config__add-group-label"},t("label",{class:"ez-text ez-text--center ez-text--medium ez-text--primary ez-text--bold"},this.getMessage("snkFormConfig.form.labelDropField")))))}handleconfigOptionsChanged(i){var o;null===(o=this._formConfig.fields)||void 0===o||o.forEach((()=>{})),this._formConfigChanged=!0}closeFormConfig(){!0===this._formConfigChanged||!0===this._optionFormConfigChanged?this.openConfirmDialog(this.getMessage("snkFormConfig.confirm.exit")).then((i=>{i&&(this._formConfigChanged=!1,this.configClose.emit())})):this.configClose.emit()}openConfirmDialog(i="",o=this.getMessage("snkFormConfig.confirm.title")){return c.confirm(o,i)}controlMoveField(i){const o=null==i?void 0:i.target;null!=(null==o?void 0:o.closest('[data-draggable-element="field"]'))&&(this._mouseOnFieldConfig=!0,null!=(null==o?void 0:o.closest(".form-config__config-options"))||null!=(null==o?void 0:o.closest(".field-config__options"))?this._mouseOnConfigOptions=!0:!1===["minus","settings-inverted","chevron-up"].includes(null==o?void 0:o.iconName)&&this.controlFieldConfig())}controlStartDraggingField(i){var o,t,n;if(this._mouseOnConfigOptions)null==i||i.cancel(),this._mouseOnConfigOptions=!1;else{const l=null===(n=null===(t=null===(o=null==i?void 0:i.data)||void 0===o?void 0:o.dragEvent)||void 0===t?void 0:t.data)||void 0===n?void 0:n.sourceContainer;null!=l&&l.classList.add(this._fieldFloatingStyle)}}controlSortedDraggingField(i){var o,t,n,l,e,s,a,r;const d=null===(o=null==i?void 0:i.data)||void 0===o?void 0:o.oldContainer,c=null===(t=null==i?void 0:i.data)||void 0===t?void 0:t.newContainer,h=null===(e=null===(l=null===(n=null==i?void 0:i.data)||void 0===n?void 0:n.dragEvent)||void 0===l?void 0:l.data)||void 0===e?void 0:e.source,f=null===(r=null===(a=null===(s=null==i?void 0:i.data)||void 0===s?void 0:s.dragEvent)||void 0===a?void 0:a.data)||void 0===r?void 0:r.originalSource;null!=d&&null!=c&&null!=h&&null!=f&&("EZ-COLLAPSIBLE-BOX"!==c.tagName&&"fieldsWithoutGroupContainer"!==c.id||"fieldsAvailableContainer"!==d.id?"EZ-COLLAPSIBLE-BOX"!==d.tagName&&"fieldsWithoutGroupContainer"!==d.id||"fieldsAvailableContainer"!==c.id||(h.className=this._fieldsAvailableStyle,h.querySelector("snk-field-config").modeInsertion=!0,f.className=this._fieldsAvailableStyle,f.querySelector("snk-field-config").modeInsertion=!0):(h.className=this._formFieldsStyle,h.querySelector("snk-field-config").modeInsertion=!1,f.className=this._formFieldsStyle,f.querySelector("snk-field-config").modeInsertion=!1))}isCancelDragAvailableField(i,o,t){var n,l;return null!=i&&null!=o&&null!=t&&(null===(n=t.data)||void 0===n?void 0:n.newIndex)!==(null===(l=t.data)||void 0===l?void 0:l.oldIndex)&&"fieldsAvailableContainer"===i.id&&o.id===i.id&&(t.cancel(),this._fieldsAvailable=[],setTimeout((()=>{this.buildAvailableFields()}),this._sortableTimer),!0)}isRemoveField(i,o,t){if(null==i||null==o||null==t)return!1;if(("EZ-COLLAPSIBLE-BOX"===o.tagName||"fieldsWithoutGroupContainer"===o.id)&&"fieldsAvailableContainer"===i.id){const i={detail:{field:t,type:u.remove}};return setTimeout((()=>{this.handleFieldConfigChange(i,this._sortableTimer)}),this._renderTimer),!0}return!1}isAddOrMoveField(i,o,t,n){var l;return null!=i&&null!=o&&null!=t&&null!=n&&(n.newIndex!==n.oldIndex||o.dataset.groupName!==i.dataset.groupName||"fieldsWithoutGroupContainer"===i.id&&"fieldsAvailableContainer"===o.id)&&(this.isFieldAvailable(i,o)&&(t.tab=null===(l=this._tabConfig)||void 0===l?void 0:l.selectedTab),t.group=i.dataset.groupName,setTimeout((()=>{i.id.includes("addNewGroupContainer")&&this.clearTempGroups(!0),this.updateFieldsToSave(o.dataset.groupName!==i.dataset.groupName||"fieldsWithoutGroupContainer"===i.id&&"fieldsAvailableContainer"===o.id?this._sortableTimer:0)}),this._renderTimer),!0)}isFieldAvailable(i,o){return null!=i&&null!=o&&("EZ-COLLAPSIBLE-BOX"===i.tagName||"fieldsWithoutGroupContainer"===i.id)&&"fieldsAvailableContainer"===o.id}controlStopDraggingField(i){var o,t,n,l,e,s;const a=null===(o=null==i?void 0:i.data)||void 0===o?void 0:o.oldContainer,r=null===(t=null==i?void 0:i.data)||void 0===t?void 0:t.newContainer;if(this.isCancelDragAvailableField(r,a,i))return;const d=null===(e=null===(l=null===(n=null==i?void 0:i.data)||void 0===n?void 0:n.dragEvent)||void 0===l?void 0:l.data)||void 0===e?void 0:e.originalSource,c=null===(s=null==d?void 0:d.querySelector("snk-field-config"))||void 0===s?void 0:s.fieldConfig;this.isRemoveField(r,a,c)||this.isAddOrMoveField(r,a,c,null==i?void 0:i.data)}updateFieldsToSave(i=0){const o=this.getFieldsToSave();(null==o?void 0:o.length)>0&&(this._formConfig.fields=o),this.loadFields(i),this._formConfigChanged=!0}controlSortableField(){null!=this._sortableContainer&&(this._sortableField&&this._sortableField.destroy(),this._sortableField=new e.Sortable(this._sortableContainer.querySelectorAll('[data-draggable-parent="field"]'),{draggable:'[data-draggable-element="field"]',mirror:{constrainDimensions:!0}}),this._sortableField.on(f.dragStart,(i=>this.controlStartDraggingField(i))),this._sortableField.on(f.dragSorted,(i=>this.controlSortedDraggingField(i))),this._sortableField.on(f.dragStop,(i=>this.controlStopDraggingField(i))))}controlStartDraggingGroup(i){(this._mouseOnFieldConfig||this._editingTitleGroup)&&(null==i||i.cancel(),this._mouseOnFieldConfig=!1)}controlStopDraggingGroup(i){i.data.newIndex!==i.data.oldIndex&&setTimeout((()=>{this.updateFieldsToSave(this._sortableTimer)}),this._renderTimer)}controlSortableGroup(){null!=this._sortableContainer&&(this._sortableGroup&&this._sortableGroup.destroy(),this._sortableGroup=new e.Sortable(this._sortableContainer.querySelectorAll('[data-draggable-parent="group"]'),{draggable:'[data-draggable-element="group"]',mirror:{constrainDimensions:!0}}),this._sortableGroup.on(f.dragStart,(i=>this.controlStartDraggingGroup(i))),this._sortableGroup.on(f.dragStop,(i=>this.controlStopDraggingGroup(i))))}loadUserConfig(){null!=this._application&&this._application.fetchUserAvailableConfigs(this.configName).then((i=>{this._formConfigOptions=i;let o=null==this._formConfig||this._formConfig.defaultConfiguration;const t=i.find((i=>i.origin===(o?v.DEFAULT:v.USER)));this.setFormConfig(t)}))}setFormConfig(i){this._optionFormConfigSelected=i}controlSelectFormConfig(i){const o=null==i?void 0:i.detail,t=this._formConfigOptions.find((i=>i.origin===(null==o?void 0:o.value)));this.setFormConfig(t),this._optionFormConfigChanged=!0,this.loadConfigByUser()}changeTabOrder(i){const o=[],t=this._tabConfig.querySelectorAll(".tab-config__tab");this._tabSelected=i,t.forEach(((i,t)=>{var n;if(t){const l=null===(n=i.querySelector(".tab-config__tab-label"))||void 0===n?void 0:n.getAttribute("title");o.push({label:l,order:t-1})}})),this._layoutFormConfig.map((i=>{o.forEach((o=>{o.label===i.tab&&(o.visible=i.visible)}))})),o.length>0&&(this._formConfig.tabs=o,this.loadFields(this._sortableTimer),this.controlFieldConfig(),this._formConfigChanged=!0)}loadConfigByUser(){if(null!=this._application){const i=this._optionFormConfigSelected,o=(null==i?void 0:i.origin)===v.DEFAULT?"fetchDefaultConfig":(null==i?void 0:i.origin)===v.USER?"fetchLegacyConfig":void 0;null!=o&&this._application[o](this.configName).then((i=>{null!=i&&(this._formConfig=i,this._tabSelected=1,this.loadFields(this._sortableTimer),this.controlFieldConfig(),this.clearTempGroups())}))}}loadConfig(i=0){this.loadFormConfig(i),this.loadUserConfig()}addNewGroup(){var i,o;const t=null===(i=this._tabConfig)||void 0===i?void 0:i.selectedTab;null==(null===(o=this._tempGroups)||void 0===o?void 0:o.find((i=>i.tab===t&&i.group.includes(this._labelNewGroup))))&&(this._tempGroups.push({tab:t,group:this.handleDuplicateGroups(this._labelNewGroup,this._tabConfig.selectedTab)}),this.loadFields(),this.controlFieldConfig(),this._formConfigChanged=!0)}clearTempGroups(i=!1){var o;(null===(o=this._tempGroups)||void 0===o?void 0:o.length)>0&&(this._tempGroups=i?this._tempGroups.filter((i=>i.tab!==this._tabConfig.selectedTab)):[])}removeGroup(i){null!=i?this._tempGroups=this._tempGroups.filter(((o,t)=>t!==i&&o.tab===this._tabConfig.selectedTab||o.tab!==this._tabConfig.selectedTab)):this.updateFieldsToSave(this._sortableTimer)}checkGroupExists(i,o,t=!1){var n,l,e;const s=null===(n=this._tabConfig)||void 0===n?void 0:n.selectedTab,a=null===(l=this._layoutFormConfig)||void 0===l?void 0:l.find((i=>i.tab===s)),r=null===(e=null==a?void 0:a.groups)||void 0===e?void 0:e.map((i=>{var o;return null===(o=i.group)||void 0===o?void 0:o.toLowerCase()}));if(null==r?void 0:r.includes(null==i?void 0:i.toLowerCase())){const n=this.getMessage("snkFormConfig.confirm.title"),l=`\n ${this.getMessage("snkFormConfig.alert.titleGroupExists")} \n <b>${i}</b> \n ${this.getMessage("snkFormConfig.alert.inTab")} \n <b>${s===g.main?this.getMessage("snkFormConfig.form.mainArea"):s}</b>. \n <br/><br/> \n ${this.getMessage("snkFormConfig.alert.infoValidTitle")}\n `;return c.alert(n,l).then((()=>{var i,n;t?null===(i=this._newGroupBoxes[o])||void 0===i||i.applyFocusTextEdit():null===(n=this._currentGroupBoxes[s][o])||void 0===n||n.applyFocusTextEdit()})),!1}return!0}saveEditLabelTempGroup(i,o){const{newValue:t}=i.detail;null!=this._newGroupBoxes&&null!=this._newGroupBoxes[o]&&(this._newGroupBoxes[o].dataset.groupName=t)}saveEditLabelGroup(i){var o;const{value:t,newValue:n}=i.detail;null===(o=this._formConfig.fields)||void 0===o||o.forEach((i=>{i.group===t&&(i.group=n)})),this.loadFields(this._sortableTimer),this.controlFieldConfig(),this._formConfigChanged=!0}renderTempGroupByTab(i){return this._tempGroups.map(((o,n)=>{if(o.tab===i)return t("ez-collapsible-box",{ref:i=>this._newGroupBoxes[n]=i,id:`addNewGroupContainer-${n}`,editable:!0,removable:!0,"header-size":"large",label:o.group,"icon-placement":"left","data-group-name":o.group,"data-draggable-parent":"field",class:"form-config__add-group",onEzRemove:()=>this.removeGroup(n),onEzSaveEditLabel:i=>this.saveEditLabelTempGroup(i,n),onEzEditLabelMode:i=>this._editingTitleGroup=i.detail,conditionalSave:i=>this.checkGroupExists(i,n,!0)},this.getFieldsByGroup(o))}))}handleDuplicateGroups(i,o){var t;const n=this._layoutFormConfig[this._tabConfig.selectedIndex].groups.map((i=>i.group));return null!=n&&(null===(t=this._layoutFormConfig)||void 0===t||t.map((t=>{t.tab===o&&t.groups.some((o=>o.group===i))&&(i+=`${this.captureHighestValueTitle(n)}`)}))),i}captureHighestValueTitle(i){let o=[];return null==i||i.map((i=>{null!=i&&o.push(i.replace(/[^0-9]/g,""))})),Math.max.apply(null,o)>0?` (${Math.max.apply(null,o)+1})`:" (1)"}getLayoutFormConfig(){var i,o;if(null==(null===(i=this._formConfig)||void 0===i?void 0:i.fields))return;let t=[],n=[];for(const i of this._formConfig.fields)if(null==n.find((o=>i.name===o.name&&i.tab===o.tab))){n.push(i);const l=this.dataUnit.getField(i.name);if(null==l?void 0:l.visible){null!=i.label&&""!==i.label||(i.label=l.label),null!=i.tab&&""!==i.tab||(i.tab=this.getMessage("snkFormConfig.form.tabGeneral"));let n=t.find((o=>o.tab===i.tab));if(null==n){let l=null;if(null!=this._formConfig.tabs){const o=this._formConfig.tabs.filter((o=>o.label===i.tab));o.length>0&&(l=o[0].visible)}const e=(null===(o=i.tab)||void 0===o?void 0:o.label)||i.tab;n=null!==l?{tab:e,groups:[],visible:l}:{tab:e,groups:[],visible:!0},t.push(n)}const e=n.groups.find((o=>o.group===i.group));if(e)e.fields.push(i);else{const o={group:i.group,fields:[i]};void 0===i.group?n.groups.unshift(o):n.groups.push(o)}}}return t}configureTabs(i){var o;return null==(null===(o=this._formConfig)||void 0===o?void 0:o.tabs)?i:(null==i&&(i=[]),this._formConfig.tabs.map((o=>i.find((i=>{var t,n;return(null===(t=o.label)||void 0===t?void 0:t.toLowerCase())===(null===(n=i.tab)||void 0===n?void 0:n.toLowerCase())}))||{tab:o.label,groups:[],visible:o.visible})))}configureTabMain(i){return null==i&&(i=[]),null==i.find((i=>i.tab===g.main))&&i.unshift({tab:g.main,groups:[],visible:!0}),i}updateTabs(){const i=this.getTabsToSave();(null==i?void 0:i.length)>0&&(this._formConfig.tabs=i,1===i.length&&(this._tabSelected=0))}buildFormConfig(){var i;if(null==(null===(i=this._formConfig)||void 0===i?void 0:i.fields))return;let o=this.getLayoutFormConfig();o=this.configureTabs(o),o=this.configureTabMain(o),this._layoutFormConfig=o,this.updateTabs()}buildAvailableFields(){var i,o;if(null==(null===(i=this._formConfig)||void 0===i?void 0:i.fields))return;let t=[],n=this.dataUnit.metadata.fields;for(const i of this._formConfig.fields)t.push(i);const l=n.filter((({name:i,visible:o})=>!0===o&&!1===t.some((({name:o})=>o===i))));this._fieldsAvailable=l,this._listEnabledFields=l,null!=(null===(o=this._filterFieldsAvailable)||void 0===o?void 0:o.value)&&this.onFilterChange(this._filterFieldsAvailable.value)}changeTabSelected(i){this._tabSelected=i.index;const o=this._formContainer.querySelector("div#tab"+i.index);this._formContainer.querySelectorAll(".form-config__tab-content").forEach((i=>i.className="form-config__hide-content sc-snk-form-config")),o&&(o.className="form-config__tab-content ez-flex ez-flex--column ez-size-width--full ez-padding--medium sc-snk-form-config")}onFilterChange(i){this._fieldsAvailable=r.applyStringFilter(i,this._listEnabledFields,!0,"label")}orderFieldsAvailable(i){return r.sortAlphabetically(i)}handleLabelCounter(i){const o=[this.getMessage("snkFormConfig.availableFields.labelNoFields"),this.getMessage("snkFormConfig.availableFields.labelOneField")];return i>1?`${i} ${this.getMessage("snkFormConfig.availableFields.labelAvailableFields")}`:o[i]}controlAddFieldConfig(i){var o;if(this._formConfigChanged=!1,null==i)return;null==this._formConfig.fields&&(this._formConfig.fields=[]);const t=this._formConfig.fields.filter((o=>o.name===i.name&&o.tab&&i.tab));t.length>0?t.forEach((o=>{o.name=i.name,o.label=i.label,o.required=i.required,o.readOnly=i.readOnly,o.group=i.group})):this._formConfig.fields.push({name:i.name,label:i.label,required:i.required,readOnly:i.readOnly,group:i.group,tab:null===(o=this._tabConfig)||void 0===o?void 0:o.selectedTab}),this.loadFields(),this.controlFieldConfig(),this._formConfigChanged=!0,this.resetSortables()}controlRemoveFieldConfig(i,o){var t;this._formConfigChanged=!1,null!=i&&(this._formConfig.fields=null===(t=this._formConfig.fields)||void 0===t?void 0:t.filter((o=>o.name!==i.name)),this.loadFields(o),this.controlFieldConfig(),this._formConfigChanged=!0,this.resetSortables())}resetSortables(){this.controlSortableField(),this.controlSortableGroup()}handleFieldConfigChange(i,o=0){const{field:t,type:n}=i.detail;n!==u.configuration?n!==u.remove?n!==u.add||this.controlAddFieldConfig(t):this.controlRemoveFieldConfig(t,o):this.controlFieldConfig(t)}changeTabLabel(i){var o,t;const{value:n,newValue:l}=i.detail.detail;null===(o=this._formConfig.fields)||void 0===o||o.forEach((i=>{i.tab===n&&(i.tab=l)})),null===(t=this._formConfig.tabs)||void 0===t||t.forEach((i=>{i.label===n&&(i.label=l)})),this.loadFields(this._sortableTimer),this.controlFieldConfig(),this._formConfigChanged=!0}handleDeleteTab(i){let o={canClose:!1,labelCancel:this.getMessage("snkFormConfig.confirm.labelCancel"),labelConfirm:this.getMessage("snkFormConfig.confirm.labelDelete"),btnConfirmDanger:!1};const t=this.getMessage("snkFormConfig.confirm.title"),n=this.getMessage("snkFormConfig.confirm.deleteTab")+` <b>${i.detail.label}</b>?`;c.confirm(t,n,null,h.WARN,o).then((o=>{var t;o&&(this._formConfig.tabs=null===(t=this._formConfig.tabs)||void 0===t?void 0:t.filter((o=>o.label!==i.detail.label)),this.loadFields(this._sortableTimer),this.controlFieldConfig(),this._formConfigChanged=!0)}))}changeHideTab(i){var o;null===(o=this._formConfig.tabs)||void 0===o||o.forEach((o=>{o.label===i.detail.label&&(o.visible=!o.visible)})),this.loadFields(this._sortableTimer),this.controlFieldConfig(),this._formConfigChanged=!0}handleCanStartDragTab(){var i,o;const t=this._layoutFormConfig.map((i=>i.tab));for(const o of t)null===(i=this._currentGroupBoxes[o])||void 0===i||i.map((i=>null==i?void 0:i.cancelEdition()));null===(o=this._newGroupBoxes)||void 0===o||o.map((i=>null==i?void 0:i.cancelEdition()))}getMessage(i,o){return this._application.messagesBuilder.getMessage(i,o)}componentDidRender(){this.controlSortableField(),this.controlSortableGroup()}componentWillLoad(){this._application=d.getContextValue("__SNK__APPLICATION__"),this.loadConfig()}componentDidLoad(){a.addIDInfo(this._element,null,{dataUnit:this.dataUnit})}render(){var i,o,l,e;const s=this._formConfigOptions.map((i=>({value:i.origin,label:i.name})));return t(n,null,t("div",{class:"ez-row ez-padding--medium"},t("div",{class:"ez-col ez-col--sd-7 ez-col--tb-9 ez-align--middle"},t("ez-button",{mode:"icon",iconName:"arrow_back",class:"ez-padding--small",size:"small",onClick:()=>this.closeFormConfig(),id:"formConfigToBack"}),t("h1",{class:"ez-title ez-title--extra-large ez-padding--small"},this.getMessage("snkFormConfig.title")),t("ez-actions-button",{class:"form-config__actions-button ez-margin-left--medium",value:null===(i=this._optionFormConfigSelected)||void 0===i?void 0:i.origin,showLabel:!0,displayIcon:"chevron-down",checkOption:!0,size:"small",actions:s,onEzAction:i=>this.controlSelectFormConfig(i),id:"selectConfig"})),t("div",{class:"ez-col ez-col--sd-5 ez-col--tb-3 ez-align--middle ez-align--right"},!0===this._formConfigChanged&&!1===this._optionFormConfigChanged&&t("div",{class:"ez-row ez-align--middle ez-align--right"},t("ez-button",{label:"Cancelar",class:"ez-padding-left--medium",size:"small",onClick:()=>this.cancelChangeConfig()}),t("ez-button",{label:"Salvar",class:"ez-button--primary ez-padding-left--medium",size:"small",onClick:()=>this.saveConfig()},t("ez-icon",{class:"ez-margin-right--small",slot:"leftIcon",iconName:"save"}))),!0===this._optionFormConfigChanged&&t("div",{class:"ez-row ez-align--middle ez-align--right"},t("ez-button",{label:"Cancelar",class:"ez-padding-left--medium",size:"small",onClick:()=>this.cancelChangeOptionConfig()}),t("ez-button",{label:this.getMessage("snkFormConfig.applyConfig"),class:"ez-button--primary ez-padding-left--medium",size:"small",onClick:()=>this.applyOptionConfig()})))),t("div",{class:"ez-row ez-padding--medium",ref:i=>this._sortableContainer=i},t("div",{class:"form-config__tab-container ez-col ez-col--sd-9 ez-col--tb-9 ez-padding-right--medium"},(null===(o=this._layoutFormConfig)||void 0===o?void 0:o.length)>0&&t("section",{class:"ez-box__container",ref:i=>this._formContainer=i},t("snk-tab-config",{ref:i=>this._tabConfig=i,selectedIndex:this._tabSelected,onEzTabChange:i=>this.changeTabSelected(i.detail),onEzOrderChange:i=>this.changeTabOrder(i.detail),onEditionTitleTab:i=>this.changeTabLabel(i),onDeleteTab:i=>this.handleDeleteTab(i),onHideTab:i=>this.changeHideTab(i),onCanStartDrag:()=>this.handleCanStartDragTab()},this._layoutFormConfig.map((i=>t("snk-tab",{tabKey:i.tab,label:i.tab,visible:i.visible})))),this._layoutFormConfig.map(((i,o)=>t("div",{id:"tab"+o,"data-draggable-parent":"group",class:this._tabSelected===o?"form-config__tab-content ez-flex ez-flex--column ez-size-width--full ez-padding--medium":"form-config__hide-content"},i.groups.map(((o,n)=>o.group?(null==this._currentGroupBoxes[i.tab]&&(this._currentGroupBoxes[i.tab]=[]),t("ez-collapsible-box",{ref:o=>this._currentGroupBoxes[i.tab][n]=o,editable:!0,removable:!0,"header-size":"large",label:o.group,"icon-placement":"left","data-group-name":o.group,"data-draggable-parent":"field","data-draggable-element":"group",onEzRemove:()=>this.removeGroup(),onEzSaveEditLabel:i=>this.saveEditLabelGroup(i),onEzEditLabelMode:i=>this._editingTitleGroup=i.detail,conditionalSave:i=>this.checkGroupExists(i,n)},this.getFieldsByGroup(o))):t("div",{class:"ez-flex ez-flex--column ez-size-width--full"},t("label",{class:"ez-text ez-text--secondary ez-margin-vertical--small"},this.getMessage("snkFormConfig.form.subTitleInfo")),t("div",{id:"fieldsWithoutGroupContainer",class:"ez-row","data-draggable-parent":"field"},this.getFieldsByGroup(o)),t("hr",{class:"ez-divider-horizontal ez-margin-vertical--medium"})))),this.renderTempGroupByTab(i.tab)))),t("div",{class:"form-config__btn-add-group ez-row"},t("div",{class:"form-config__btn-add-group-container ez-col ez-col--sd-12 ez-col--tb-12 ez-align--center"},t("ez-button",{label:this.getMessage("snkFormConfig.form.labelNewGroup"),class:"ez-padding-horizontal--small ez-button--primary",size:"small",onClick:()=>this.addNewGroup()},t("ez-icon",{class:"ez-margin-right--small",slot:"leftIcon",iconName:"plus"})))))),t("div",{class:"form-config__fields-available ez-col ez-col--sd-3 ez-col--tb-3"},t("section",{class:"ez-box__container ez-col ez-col--pn-12"},t("h1",{class:"ez-title ez-title--large ez-title--primary ez-padding-bottom--medium"},this.getMessage("snkFormConfig.availableFields.title")),t("ez-filter-input",{id:"searchFields",ref:i=>this._filterFieldsAvailable=i,label:this.getMessage("snkFormConfig.availableFields.labelSearchField"),onEzChange:i=>this.onFilterChange(i.detail)}),t("span",{class:"ez-box__label-counter ez-text ez-text--medium ez-text--primary ez-margin-bottom--medium"},this.handleLabelCounter(null===(l=this._fieldsAvailable)||void 0===l?void 0:l.length)),(null===(e=this._layoutFormConfig)||void 0===e?void 0:e.length)>0&&t("div",{id:"fieldsAvailableContainer",class:"ez-row","data-draggable-parent":"field"},this.orderFieldsAvailable(this._fieldsAvailable).map((i=>t("div",{key:i.name,class:this._fieldsAvailableStyle,"data-draggable-element":"field",onMouseDown:i=>this.controlMoveField(i)},t("snk-field-config",{onEzClickIcon:i=>{this.handleFieldConfigChange(i)},dataUnit:this.dataUnit,fieldConfig:i,id:i.name})))))))))}get _element(){return l(this)}static get watchers(){return{formConfig:["observeFormConfig"]}}};p.style='.sc-snk-form-config-h{--snk-form-config__title--font-pattern:var(--font-pattern, "Roboto");--snk-form-config__title--weight--large:var(--text-weight--large, 600);display:flex;flex-direction:column;position:absolute;top:0;left:0;width:100%;height:100%;z-index:var(--more-visible, 2);background-color:var(--background--xlight)}.form-config__title.sc-snk-form-config{display:flex;margin:0;line-height:1.3;font-family:var(--snk-form-config__title--font-pattern);font-weight:var(--snk-form-config__title--weight--large)}.form-config__header-container.sc-snk-form-config{display:flex}.form-config__field-container.sc-snk-form-config{width:32%;padding:6px}.form-config__hide-content.sc-snk-form-config{display:none}ez-icon.sc-snk-form-config .left-icon.sc-snk-form-config{--ez-icon--color:var(--text--disable)}.ez-box__label-counter.sc-snk-form-config{font-weight:var(--text-weight--extra-small);margin-top:-7px}.form-config__btn-options.sc-snk-form-config{--ez-button--min-width:300px;--ez-button--background-color:#FFFFFF}[data-draggable-parent].sc-snk-form-config{position:relative}.form-config__field-config--selected.sc-snk-form-config{position:static}.form-config__field-config--dragged.sc-snk-form-config .draggable-mirror.sc-snk-form-config{z-index:var(--more-visible, 2)}.form-config__config-options.sc-snk-form-config{position:relative;margin-top:-3px;min-width:100%;z-index:1}.form-config__tab-container.sc-snk-form-config,.form-config__fields-available.sc-snk-form-config{position:relative;height:100%;max-height:calc(100vh - 92px)}.form-config__tab-container.sc-snk-form-config .ez-box__container.sc-snk-form-config,.form-config__fields-available.sc-snk-form-config .ez-box__container.sc-snk-form-config{align-content:flex-start;height:100%}.form-config__fields-available.sc-snk-form-config [data-draggable-parent].sc-snk-form-config{align-content:flex-start;overflow-y:auto;height:100%;max-height:calc(100% - 122px)}.form-config__tab-content.sc-snk-form-config{align-content:flex-start;overflow-y:auto;height:auto;max-height:calc(100% - 128px)}[data-draggable-element].sc-snk-form-config{cursor:grab}.form-config__actions-button.sc-snk-form-config{--ez-actions-button__btn-action--min-width:235px}.form-config__add-group.sc-snk-form-config{position:relative;min-height:120px;margin-bottom:10px}.form-config__add-group-container.sc-snk-form-config{position:absolute;display:flex;flex-wrap:wrap;width:100%;box-sizing:border-box;border-radius:var(--border--radius-medium, 12px);background-color:var(--background--medium, #d2dce9);padding:var(--space--small, 6px)}.form-config__add-group-content.sc-snk-form-config{width:100%;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;box-sizing:border-box;border:2px dashed var(--color-strokes, #DCE0E8);border-radius:var(--border--radius-small, 6px)}.form-config__add-group-label.sc-snk-form-config{display:flex;justify-content:center;box-sizing:border-box;padding:var(--space--large, 24px)}.form-config__btn-add-group.sc-snk-form-config{position:relative;padding:var(--space--large, 24px) var(--space--medium, 12px) 0}.form-config__btn-add-group-container.sc-snk-form-config{padding:var(--space--medium, 12px);border-radius:var(--border--radius-medium, 12px);border:2px solid var(--color-strokes, #DCE0E8);background-color:var(--background--body, #fafcff)}.form-config__left-icon--eye-off.sc-snk-form-config{padding-top:var(--space--medium, 8px)}ez-collapsible-box.draggable-mirror.sc-snk-form-config{display:table;background-color:#FFFFFF}ez-collapsible-box.sc-snk-form-config{margin-bottom:10px}@media screen and (min-width: 480px){.form-config__field-config--selected.sc-snk-form-config .ez-flex.form-config__config-options.sc-snk-form-config{min-width:calc(300% + 12px)}.form-config__field-config--selected.sc-snk-form-config:nth-child(3n+2) .ez-flex.form-config__config-options.sc-snk-form-config{transform:translate(calc(100% / 3 * -1))}.form-config__field-config--selected.sc-snk-form-config:nth-child(3n+3) .ez-flex.form-config__config-options.sc-snk-form-config{transform:translate(calc(100% / 3 * -2))}}';export{p as snk_form_config}
1
+ import{r as i,c as o,h as t,H as n,g as l}from"./p-9ba3df4c.js";import{d as e}from"./p-b6d6b172.js";import{ObjectUtils as s,ElementIDUtils as a,ArrayUtils as r,ApplicationContext as d}from"@sankhyalabs/core";import{ApplicationUtils as c,DialogType as h}from"@sankhyalabs/ezui/dist/collection/utils";import{C as f,T as g,A as u,D as m}from"./p-6673c77c.js";import{a as v,C as b}from"./p-395b45a7.js";import"./p-112455b1.js";const p=class{constructor(t){i(this,t),this.configChange=o(this,"configChange",7),this.configClose=o(this,"configClose",7),this._listEnabledFields=[],this._renderTimer=500,this._sortableTimer=100,this._tabSelected=1,this._labelNewGroup="Novo grupo",this._mouseOnFieldConfig=!1,this._mouseOnConfigOptions=!1,this._editingTitleGroup=!1,this._newGroupBoxes=[],this._currentGroupBoxes=[],this._formFieldsStyle="ez-col ez-col--sd-12 ez-col--tb-4 ez-padding-right--small ez-padding-bottom--medium sc-snk-form-config",this._fieldsAvailableStyle="ez-col ez-col--sd-12 ez-col--tb-12 ez-margin-bottom--medium ez-margin-right--medium sc-snk-form-config",this._fieldFloatingStyle="form-config__field-config--dragged",this._formConfigOptions=[],this._formConfig={},this._formConfigChanged=!1,this._optionFormConfigChanged=!1,this._tempGroups=[],this.formConfig={}}observeFormConfig(){this.loadConfig(this._sortableTimer)}loadFields(i=0){this._layoutFormConfig=[],i>0?setTimeout((()=>{this.buildFields()}),i):this.buildFields()}buildFields(){this.buildFormConfig(),this.buildAvailableFields()}loadFormConfig(i){var o;this._formConfig=s.copy(this.formConfig),this.loadFields(i),this.controlFieldConfig(),null!=(null===(o=this._filterFieldsAvailable)||void 0===o?void 0:o.value)&&(this._filterFieldsAvailable.value="")}cancelChangeConfig(){!0===this._formConfigChanged?this.openConfirmDialog(this.getMessage("snkFormConfig.confirm.cancel")).then((i=>{i&&(this._formConfigChanged=!1,this.resetChangeConfig())})):this.resetChangeConfig()}cancelChangeOptionConfig(){!0===this._optionFormConfigChanged?this.openConfirmDialog(this.getMessage("snkFormConfig.confirm.cancel")).then((i=>{i&&(this._optionFormConfigChanged=!1,this.resetChangeOptionConfig())})):this.resetChangeOptionConfig()}resetChangeConfig(){this.loadFormConfig(this._sortableTimer),this.clearTempGroups()}resetChangeOptionConfig(){this._formConfigChanged=!1,this.loadConfig(this._sortableTimer),this.clearTempGroups()}getTabsToSave(){return this._layoutFormConfig.map(((i,o)=>({label:i.tab,order:o,visible:i.visible})))}getFieldsToSave(){const i=[];return this._formContainer.querySelectorAll("snk-field-config").forEach((o=>{const t=o.fieldConfig;if(null==t)return;const n={cleanOnCopy:t.cleanOnCopy||!1,group:t.group,label:t.label,name:t.name,required:t.required,readOnly:t.readOnly,tab:t.tab};null!=t.defaultValue&&(n.defaultValue=null==t.defaultValue.type?{type:m.fixed,value:t.defaultValue}:t.defaultValue),i.push(n)})),i}isDefaultConfiguration(){var i;return(null===(i=this._optionFormConfigSelected)||void 0===i?void 0:i.origin)===v.DEFAULT&&!0===this._optionFormConfigChanged&&!1===this._formConfigChanged}buildConfigToSave(){let i={};const o=this.isDefaultConfiguration();if(i=s.copy(o?this.formConfig:this._formConfig),!1===o){const o=this.getTabsToSave();(null==o?void 0:o.length)>0&&(i.tabs=o);const t=this.getFieldsToSave();(null==t?void 0:t.length)>0&&(i.fields=t)}return i.defaultConfiguration=o,i}saveConfig(){var i;if((null===(i=this._tempGroups)||void 0===i?void 0:i.length)>0)return void c.alert(this.getMessage("snkFormConfig.confirm.title"),this.getMessage("snkFormConfig.confirm.group"));const o=this.buildConfigToSave();this._formConfigChanged=!1,this._optionFormConfigChanged=!1,b.saveFormConfig(o,this.configName).then((i=>{null!=(null==i?void 0:i.resource)&&(c.info(this.getMessage("snkFormConfig.info.successfullyConfigSaved"),{iconName:"check"}),this.configChange.emit(o))}))}applyOptionConfig(){if(!0===this._optionFormConfigChanged&&null!=this._optionFormConfigSelected){const i=this._optionFormConfigSelected.name||"configuração selecionada",o=this._optionFormConfigSelected.origin===v.DEFAULT?"pessoal":"padrão",t=this.getMessage("snkFormConfig.confirm.apply").replace("{0}",i).replace("{1}",o);this.openConfirmDialog(t).then((i=>{i&&this.saveConfig()}))}else this.saveConfig()}controlFieldConfig(i){var o;this._fieldConfigSelected=null!=i?(null===(o=this._fieldConfigSelected)||void 0===o?void 0:o.name)===(null==i?void 0:i.name)?void 0:i:void 0}getFieldConfigStyle(i){var o;return this._formFieldsStyle+((null===(o=this._fieldConfigSelected)||void 0===o?void 0:o.name)===i.name?" form-config__field-config--selected":"")}getFieldsByGroup(i){var o;return(null===(o=i.fields)||void 0===o?void 0:o.length)?i.fields.map((i=>{var o,n;return t("div",{key:i.name,class:this.getFieldConfigStyle(i),"data-draggable-element":"field",onMouseDown:i=>this.controlMoveField(i)},t("snk-field-config",{onEzClickIcon:i=>{this.handleFieldConfigChange(i)},modeInsertion:!1,fieldConfig:i,dataUnit:this.dataUnit,isConfigActive:(null===(o=this._fieldConfigSelected)||void 0===o?void 0:o.name)===i.name,id:i.name}),(null===(n=this._fieldConfigSelected)||void 0===n?void 0:n.name)===i.name&&t("div",{class:"ez-flex form-config__config-options"},t("snk-config-options",{idConfig:i.name,dataUnit:this.dataUnit,fieldConfig:this._fieldConfigSelected,"data-element-id":this._element.getAttribute(a.DATA_ELEMENT_ID_ATTRIBUTE_NAME),onConfigOptionsChanged:i=>this.handleconfigOptionsChanged(i.detail)})))})):t("div",{class:"form-config__add-group-container"},t("div",{class:"form-config__add-group-content"},t("div",{class:"form-config__add-group-label"},t("label",{class:"ez-text ez-text--center ez-text--medium ez-text--primary ez-text--bold"},this.getMessage("snkFormConfig.form.labelDropField")))))}handleconfigOptionsChanged(i){var o;null===(o=this._formConfig.fields)||void 0===o||o.forEach((()=>{})),this._formConfigChanged=!0}closeFormConfig(){!0===this._formConfigChanged||!0===this._optionFormConfigChanged?this.openConfirmDialog(this.getMessage("snkFormConfig.confirm.exit")).then((i=>{i&&(this._formConfigChanged=!1,this.configClose.emit())})):this.configClose.emit()}openConfirmDialog(i="",o=this.getMessage("snkFormConfig.confirm.title")){return c.confirm(o,i)}controlMoveField(i){const o=null==i?void 0:i.target;null!=(null==o?void 0:o.closest('[data-draggable-element="field"]'))&&(this._mouseOnFieldConfig=!0,null!=(null==o?void 0:o.closest(".form-config__config-options"))||null!=(null==o?void 0:o.closest(".field-config__options"))?this._mouseOnConfigOptions=!0:!1===["minus","settings-inverted","chevron-up"].includes(null==o?void 0:o.iconName)&&this.controlFieldConfig())}controlStartDraggingField(i){var o,t,n;if(this._mouseOnConfigOptions)null==i||i.cancel(),this._mouseOnConfigOptions=!1;else{const l=null===(n=null===(t=null===(o=null==i?void 0:i.data)||void 0===o?void 0:o.dragEvent)||void 0===t?void 0:t.data)||void 0===n?void 0:n.sourceContainer;null!=l&&l.classList.add(this._fieldFloatingStyle)}}controlSortedDraggingField(i){var o,t,n,l,e,s,a,r;const d=null===(o=null==i?void 0:i.data)||void 0===o?void 0:o.oldContainer,c=null===(t=null==i?void 0:i.data)||void 0===t?void 0:t.newContainer,h=null===(e=null===(l=null===(n=null==i?void 0:i.data)||void 0===n?void 0:n.dragEvent)||void 0===l?void 0:l.data)||void 0===e?void 0:e.source,f=null===(r=null===(a=null===(s=null==i?void 0:i.data)||void 0===s?void 0:s.dragEvent)||void 0===a?void 0:a.data)||void 0===r?void 0:r.originalSource;null!=d&&null!=c&&null!=h&&null!=f&&("EZ-COLLAPSIBLE-BOX"!==c.tagName&&"fieldsWithoutGroupContainer"!==c.id||"fieldsAvailableContainer"!==d.id?"EZ-COLLAPSIBLE-BOX"!==d.tagName&&"fieldsWithoutGroupContainer"!==d.id||"fieldsAvailableContainer"!==c.id||(h.className=this._fieldsAvailableStyle,h.querySelector("snk-field-config").modeInsertion=!0,f.className=this._fieldsAvailableStyle,f.querySelector("snk-field-config").modeInsertion=!0):(h.className=this._formFieldsStyle,h.querySelector("snk-field-config").modeInsertion=!1,f.className=this._formFieldsStyle,f.querySelector("snk-field-config").modeInsertion=!1))}isCancelDragAvailableField(i,o,t){var n,l;return null!=i&&null!=o&&null!=t&&(null===(n=t.data)||void 0===n?void 0:n.newIndex)!==(null===(l=t.data)||void 0===l?void 0:l.oldIndex)&&"fieldsAvailableContainer"===i.id&&o.id===i.id&&(t.cancel(),this._fieldsAvailable=[],setTimeout((()=>{this.buildAvailableFields()}),this._sortableTimer),!0)}isRemoveField(i,o,t){if(null==i||null==o||null==t)return!1;if(("EZ-COLLAPSIBLE-BOX"===o.tagName||"fieldsWithoutGroupContainer"===o.id)&&"fieldsAvailableContainer"===i.id){const i={detail:{field:t,type:u.remove}};return setTimeout((()=>{this.handleFieldConfigChange(i,this._sortableTimer)}),this._renderTimer),!0}return!1}isAddOrMoveField(i,o,t,n){var l;return null!=i&&null!=o&&null!=t&&null!=n&&(n.newIndex!==n.oldIndex||o.dataset.groupName!==i.dataset.groupName||"fieldsWithoutGroupContainer"===i.id&&"fieldsAvailableContainer"===o.id)&&(this.isFieldAvailable(i,o)&&(t.tab=null===(l=this._tabConfig)||void 0===l?void 0:l.selectedTab),t.group=i.dataset.groupName,setTimeout((()=>{i.id.includes("addNewGroupContainer")&&this.clearTempGroups(!0),this.updateFieldsToSave(o.dataset.groupName!==i.dataset.groupName||"fieldsWithoutGroupContainer"===i.id&&"fieldsAvailableContainer"===o.id?this._sortableTimer:0)}),this._renderTimer),!0)}isFieldAvailable(i,o){return null!=i&&null!=o&&("EZ-COLLAPSIBLE-BOX"===i.tagName||"fieldsWithoutGroupContainer"===i.id)&&"fieldsAvailableContainer"===o.id}controlStopDraggingField(i){var o,t,n,l,e,s;const a=null===(o=null==i?void 0:i.data)||void 0===o?void 0:o.oldContainer,r=null===(t=null==i?void 0:i.data)||void 0===t?void 0:t.newContainer;if(this.isCancelDragAvailableField(r,a,i))return;const d=null===(e=null===(l=null===(n=null==i?void 0:i.data)||void 0===n?void 0:n.dragEvent)||void 0===l?void 0:l.data)||void 0===e?void 0:e.originalSource,c=null===(s=null==d?void 0:d.querySelector("snk-field-config"))||void 0===s?void 0:s.fieldConfig;this.isRemoveField(r,a,c)||this.isAddOrMoveField(r,a,c,null==i?void 0:i.data)}updateFieldsToSave(i=0){const o=this.getFieldsToSave();(null==o?void 0:o.length)>0&&(this._formConfig.fields=o),this.loadFields(i),this._formConfigChanged=!0}controlSortableField(){null!=this._sortableContainer&&(this._sortableField&&this._sortableField.destroy(),this._sortableField=new e.Sortable(this._sortableContainer.querySelectorAll('[data-draggable-parent="field"]'),{draggable:'[data-draggable-element="field"]',mirror:{constrainDimensions:!0}}),this._sortableField.on(f.dragStart,(i=>this.controlStartDraggingField(i))),this._sortableField.on(f.dragSorted,(i=>this.controlSortedDraggingField(i))),this._sortableField.on(f.dragStop,(i=>this.controlStopDraggingField(i))))}controlStartDraggingGroup(i){(this._mouseOnFieldConfig||this._editingTitleGroup)&&(null==i||i.cancel(),this._mouseOnFieldConfig=!1)}controlStopDraggingGroup(i){i.data.newIndex!==i.data.oldIndex&&setTimeout((()=>{this.updateFieldsToSave(this._sortableTimer)}),this._renderTimer)}controlSortableGroup(){null!=this._sortableContainer&&(this._sortableGroup&&this._sortableGroup.destroy(),this._sortableGroup=new e.Sortable(this._sortableContainer.querySelectorAll('[data-draggable-parent="group"]'),{draggable:'[data-draggable-element="group"]',mirror:{constrainDimensions:!0}}),this._sortableGroup.on(f.dragStart,(i=>this.controlStartDraggingGroup(i))),this._sortableGroup.on(f.dragStop,(i=>this.controlStopDraggingGroup(i))))}loadUserConfig(){null!=this._application&&this._application.fetchUserAvailableConfigs(this.configName).then((i=>{this._formConfigOptions=i;let o=null==this._formConfig||this._formConfig.defaultConfiguration;const t=i.find((i=>i.origin===(o?v.DEFAULT:v.USER)));this.setFormConfig(t)}))}setFormConfig(i){this._optionFormConfigSelected=i}controlSelectFormConfig(i){const o=null==i?void 0:i.detail,t=this._formConfigOptions.find((i=>i.origin===(null==o?void 0:o.value)));this.setFormConfig(t),this._optionFormConfigChanged=!0,this.loadConfigByUser()}changeTabOrder(i){const o=[],t=this._tabConfig.querySelectorAll(".tab-config__tab");this._tabSelected=i,t.forEach(((i,t)=>{var n;if(t){const l=null===(n=i.querySelector(".tab-config__tab-label"))||void 0===n?void 0:n.getAttribute("title");o.push({label:l,order:t-1})}})),this._layoutFormConfig.map((i=>{o.forEach((o=>{o.label===i.tab&&(o.visible=i.visible)}))})),o.length>0&&(this._formConfig.tabs=o,this.loadFields(this._sortableTimer),this.controlFieldConfig(),this._formConfigChanged=!0)}loadConfigByUser(){if(null!=this._application){const i=this._optionFormConfigSelected,o=(null==i?void 0:i.origin)===v.DEFAULT?"fetchDefaultConfig":(null==i?void 0:i.origin)===v.USER?"fetchLegacyConfig":void 0;null!=o&&this._application[o](this.configName).then((i=>{null!=i&&(this._formConfig=i,this._tabSelected=1,this.loadFields(this._sortableTimer),this.controlFieldConfig(),this.clearTempGroups())}))}}loadConfig(i=0){this.loadFormConfig(i),this.loadUserConfig()}addNewGroup(){var i,o;const t=null===(i=this._tabConfig)||void 0===i?void 0:i.selectedTab;null==(null===(o=this._tempGroups)||void 0===o?void 0:o.find((i=>i.tab===t&&i.group.includes(this._labelNewGroup))))&&(this._tempGroups.push({tab:t,group:this.handleDuplicateGroups(this._labelNewGroup,this._tabConfig.selectedTab)}),this.loadFields(),this.controlFieldConfig(),this._formConfigChanged=!0)}clearTempGroups(i=!1){var o;(null===(o=this._tempGroups)||void 0===o?void 0:o.length)>0&&(this._tempGroups=i?this._tempGroups.filter((i=>i.tab!==this._tabConfig.selectedTab)):[])}removeGroup(i){null!=i?this._tempGroups=this._tempGroups.filter(((o,t)=>t!==i&&o.tab===this._tabConfig.selectedTab||o.tab!==this._tabConfig.selectedTab)):this.updateFieldsToSave(this._sortableTimer)}checkGroupExists(i,o,t=!1){var n,l,e;const s=null===(n=this._tabConfig)||void 0===n?void 0:n.selectedTab,a=null===(l=this._layoutFormConfig)||void 0===l?void 0:l.find((i=>i.tab===s)),r=null===(e=null==a?void 0:a.groups)||void 0===e?void 0:e.map((i=>{var o;return null===(o=i.group)||void 0===o?void 0:o.toLowerCase()}));if(null==r?void 0:r.includes(null==i?void 0:i.toLowerCase())){const n=this.getMessage("snkFormConfig.confirm.title"),l=`\n ${this.getMessage("snkFormConfig.alert.titleGroupExists")} \n <b>${i}</b> \n ${this.getMessage("snkFormConfig.alert.inTab")} \n <b>${s===g.main?this.getMessage("snkFormConfig.form.mainArea"):s}</b>. \n <br/><br/> \n ${this.getMessage("snkFormConfig.alert.infoValidTitle")}\n `;return c.alert(n,l).then((()=>{var i,n;t?null===(i=this._newGroupBoxes[o])||void 0===i||i.applyFocusTextEdit():null===(n=this._currentGroupBoxes[s][o])||void 0===n||n.applyFocusTextEdit()})),!1}return!0}saveEditLabelTempGroup(i,o){const{newValue:t}=i.detail;null!=this._newGroupBoxes&&null!=this._newGroupBoxes[o]&&(this._newGroupBoxes[o].dataset.groupName=t)}saveEditLabelGroup(i){var o;const{value:t,newValue:n}=i.detail;null===(o=this._formConfig.fields)||void 0===o||o.forEach((i=>{i.group===t&&(i.group=n)})),this.loadFields(this._sortableTimer),this.controlFieldConfig(),this._formConfigChanged=!0}renderTempGroupByTab(i){return this._tempGroups.map(((o,n)=>{if(o.tab===i)return t("ez-collapsible-box",{ref:i=>this._newGroupBoxes[n]=i,id:`addNewGroupContainer-${n}`,editable:!0,removable:!0,"header-size":"large",label:o.group,"icon-placement":"left","data-group-name":o.group,"data-draggable-parent":"field",class:"form-config__add-group",onEzRemove:()=>this.removeGroup(n),onEzSaveEditLabel:i=>this.saveEditLabelTempGroup(i,n),onEzEditLabelMode:i=>this._editingTitleGroup=i.detail,conditionalSave:i=>this.checkGroupExists(i,n,!0)},this.getFieldsByGroup(o))}))}handleDuplicateGroups(i,o){var t;const n=this._layoutFormConfig[this._tabConfig.selectedIndex].groups.map((i=>i.group));return null!=n&&(null===(t=this._layoutFormConfig)||void 0===t||t.map((t=>{t.tab===o&&t.groups.some((o=>o.group===i))&&(i+=`${this.captureHighestValueTitle(n)}`)}))),i}captureHighestValueTitle(i){let o=[];return null==i||i.map((i=>{null!=i&&o.push(i.replace(/[^0-9]/g,""))})),Math.max.apply(null,o)>0?` (${Math.max.apply(null,o)+1})`:" (1)"}getLayoutFormConfig(){var i,o;if(null==(null===(i=this._formConfig)||void 0===i?void 0:i.fields))return;let t=[],n=[];for(const i of this._formConfig.fields)if(null==n.find((o=>i.name===o.name&&i.tab===o.tab))){n.push(i);const l=this.dataUnit.getField(i.name);if(null==l?void 0:l.visible){null!=i.label&&""!==i.label||(i.label=l.label),null!=i.tab&&""!==i.tab||(i.tab=this.getMessage("snkFormConfig.form.tabGeneral"));let n=t.find((o=>o.tab===i.tab));if(null==n){let l=null;if(null!=this._formConfig.tabs){const o=this._formConfig.tabs.filter((o=>o.label===i.tab));o.length>0&&(l=o[0].visible)}const e=(null===(o=i.tab)||void 0===o?void 0:o.label)||i.tab;n=null!==l?{tab:e,groups:[],visible:l}:{tab:e,groups:[],visible:!0},t.push(n)}const e=n.groups.find((o=>o.group===i.group));if(e)e.fields.push(i);else{const o={group:i.group,fields:[i]};void 0===i.group?n.groups.unshift(o):n.groups.push(o)}}}return t}configureTabs(i){var o;return null==(null===(o=this._formConfig)||void 0===o?void 0:o.tabs)?i:(null==i&&(i=[]),this._formConfig.tabs.map((o=>i.find((i=>{var t,n;return(null===(t=o.label)||void 0===t?void 0:t.toLowerCase())===(null===(n=i.tab)||void 0===n?void 0:n.toLowerCase())}))||{tab:o.label,groups:[],visible:o.visible})))}configureTabMain(i){return null==i&&(i=[]),null==i.find((i=>i.tab===g.main))&&i.unshift({tab:g.main,groups:[],visible:!0}),i}updateTabs(){const i=this.getTabsToSave();(null==i?void 0:i.length)>0&&(this._formConfig.tabs=i,1===i.length&&(this._tabSelected=0))}buildFormConfig(){var i;if(null==(null===(i=this._formConfig)||void 0===i?void 0:i.fields))return;let o=this.getLayoutFormConfig();o=this.configureTabs(o),o=this.configureTabMain(o),this._layoutFormConfig=o,this.updateTabs()}buildAvailableFields(){var i,o;if(null==(null===(i=this._formConfig)||void 0===i?void 0:i.fields))return;let t=[],n=this.dataUnit.metadata.fields;for(const i of this._formConfig.fields)t.push(i);const l=n.filter((({name:i,visible:o})=>!0===o&&!1===t.some((({name:o})=>o===i))));this._fieldsAvailable=l,this._listEnabledFields=l,null!=(null===(o=this._filterFieldsAvailable)||void 0===o?void 0:o.value)&&this.onFilterChange(this._filterFieldsAvailable.value)}changeTabSelected(i){this._tabSelected=i.index;const o=this._formContainer.querySelector("div#tab"+i.index);this._formContainer.querySelectorAll(".form-config__tab-content").forEach((i=>i.className="form-config__hide-content sc-snk-form-config")),o&&(o.className="form-config__tab-content ez-flex ez-flex--column ez-size-width--full ez-padding--medium sc-snk-form-config")}onFilterChange(i){this._fieldsAvailable=r.applyStringFilter(i,this._listEnabledFields,!0,"label")}orderFieldsAvailable(i){return r.sortAlphabetically(i)}handleLabelCounter(i){const o=[this.getMessage("snkFormConfig.availableFields.labelNoFields"),this.getMessage("snkFormConfig.availableFields.labelOneField")];return i>1?`${i} ${this.getMessage("snkFormConfig.availableFields.labelAvailableFields")}`:o[i]}controlAddFieldConfig(i){var o;if(this._formConfigChanged=!1,null==i)return;null==this._formConfig.fields&&(this._formConfig.fields=[]);const t=this._formConfig.fields.filter((o=>o.name===i.name&&o.tab&&i.tab));t.length>0?t.forEach((o=>{o.name=i.name,o.label=i.label,o.required=i.required,o.readOnly=i.readOnly,o.group=i.group})):this._formConfig.fields.push({name:i.name,label:i.label,required:i.required,readOnly:i.readOnly,group:i.group,tab:null===(o=this._tabConfig)||void 0===o?void 0:o.selectedTab}),this.loadFields(),this.controlFieldConfig(),this._formConfigChanged=!0,this.resetSortables()}controlRemoveFieldConfig(i,o){var t;this._formConfigChanged=!1,null!=i&&(this._formConfig.fields=null===(t=this._formConfig.fields)||void 0===t?void 0:t.filter((o=>o.name!==i.name)),this.loadFields(o),this.controlFieldConfig(),this._formConfigChanged=!0,this.resetSortables())}resetSortables(){this.controlSortableField(),this.controlSortableGroup()}handleFieldConfigChange(i,o=0){const{field:t,type:n}=i.detail;n!==u.configuration?n!==u.remove?n!==u.add||this.controlAddFieldConfig(t):this.controlRemoveFieldConfig(t,o):this.controlFieldConfig(t)}changeTabLabel(i){var o,t;const{value:n,newValue:l}=i.detail.detail;null===(o=this._formConfig.fields)||void 0===o||o.forEach((i=>{i.tab===n&&(i.tab=l)})),null===(t=this._formConfig.tabs)||void 0===t||t.forEach((i=>{i.label===n&&(i.label=l)})),this.loadFields(this._sortableTimer),this.controlFieldConfig(),this._formConfigChanged=!0}handleDeleteTab(i){let o={canClose:!1,labelCancel:this.getMessage("snkFormConfig.confirm.labelCancel"),labelConfirm:this.getMessage("snkFormConfig.confirm.labelDelete"),btnConfirmDanger:!1};const t=this.getMessage("snkFormConfig.confirm.title"),n=this.getMessage("snkFormConfig.confirm.deleteTab")+` <b>${i.detail.label}</b>?`;c.confirm(t,n,null,h.WARN,o).then((o=>{var t;o&&(this._formConfig.tabs=null===(t=this._formConfig.tabs)||void 0===t?void 0:t.filter((o=>o.label!==i.detail.label)),this.loadFields(this._sortableTimer),this.controlFieldConfig(),this._formConfigChanged=!0)}))}changeHideTab(i){var o;null===(o=this._formConfig.tabs)||void 0===o||o.forEach((o=>{o.label===i.detail.label&&(o.visible=!o.visible)})),this.loadFields(this._sortableTimer),this.controlFieldConfig(),this._formConfigChanged=!0}handleCanStartDragTab(){var i,o;const t=this._layoutFormConfig.map((i=>i.tab));for(const o of t)null===(i=this._currentGroupBoxes[o])||void 0===i||i.map((i=>null==i?void 0:i.cancelEdition()));null===(o=this._newGroupBoxes)||void 0===o||o.map((i=>null==i?void 0:i.cancelEdition()))}getMessage(i,o){return this._application.messagesBuilder.getMessage(i,o)}componentDidRender(){this.controlSortableField(),this.controlSortableGroup()}componentWillLoad(){this._application=d.getContextValue("__SNK__APPLICATION__"),this.loadConfig()}componentDidLoad(){a.addIDInfo(this._element,null,{dataUnit:this.dataUnit})}render(){var i,o,l,e;const s=this._formConfigOptions.map((i=>({value:i.origin,label:i.name})));return t(n,null,t("div",{class:"ez-row ez-padding--medium"},t("div",{class:"ez-col ez-col--sd-7 ez-col--tb-9 ez-align--middle"},t("ez-button",{mode:"icon",iconName:"arrow_back",class:"ez-padding--small",size:"small",onClick:()=>this.closeFormConfig(),id:"formConfigToBack"}),t("h1",{class:"ez-title ez-title--extra-large ez-padding--small"},this.getMessage("snkFormConfig.title")),t("ez-actions-button",{class:"form-config__actions-button ez-margin-left--medium",value:null===(i=this._optionFormConfigSelected)||void 0===i?void 0:i.origin,showLabel:!0,displayIcon:"chevron-down",checkOption:!0,size:"small",actions:s,onEzAction:i=>this.controlSelectFormConfig(i),id:"selectConfig"})),t("div",{class:"ez-col ez-col--sd-5 ez-col--tb-3 ez-align--middle ez-align--right"},!0===this._formConfigChanged&&!1===this._optionFormConfigChanged&&t("div",{class:"ez-row ez-align--middle ez-align--right"},t("ez-button",{label:"Cancelar",class:"ez-padding-left--medium",size:"small",onClick:()=>this.cancelChangeConfig()}),t("ez-button",{label:"Salvar",class:"ez-button--primary ez-padding-left--medium",size:"small",onClick:()=>this.saveConfig()},t("ez-icon",{class:"ez-margin-right--small",slot:"leftIcon",iconName:"save"}))),!0===this._optionFormConfigChanged&&t("div",{class:"ez-row ez-align--middle ez-align--right"},t("ez-button",{label:"Cancelar",class:"ez-padding-left--medium",size:"small",onClick:()=>this.cancelChangeOptionConfig()}),t("ez-button",{label:this.getMessage("snkFormConfig.applyConfig"),class:"ez-button--primary ez-padding-left--medium",size:"small",onClick:()=>this.applyOptionConfig()})))),t("div",{class:"ez-row ez-padding--medium",ref:i=>this._sortableContainer=i},t("div",{class:"form-config__tab-container ez-col ez-col--sd-9 ez-col--tb-9 ez-padding-right--medium"},(null===(o=this._layoutFormConfig)||void 0===o?void 0:o.length)>0&&t("section",{class:"ez-box__container",ref:i=>this._formContainer=i},t("snk-tab-config",{ref:i=>this._tabConfig=i,selectedIndex:this._tabSelected,onEzTabChange:i=>this.changeTabSelected(i.detail),onEzOrderChange:i=>this.changeTabOrder(i.detail),onEditionTitleTab:i=>this.changeTabLabel(i),onDeleteTab:i=>this.handleDeleteTab(i),onHideTab:i=>this.changeHideTab(i),onCanStartDrag:()=>this.handleCanStartDragTab()},this._layoutFormConfig.map((i=>t("snk-tab",{tabKey:i.tab,label:i.tab,visible:i.visible})))),this._layoutFormConfig.map(((i,o)=>t("div",{id:"tab"+o,"data-draggable-parent":"group",class:this._tabSelected===o?"form-config__tab-content ez-flex ez-flex--column ez-size-width--full ez-padding--medium":"form-config__hide-content"},i.groups.map(((o,n)=>o.group?(null==this._currentGroupBoxes[i.tab]&&(this._currentGroupBoxes[i.tab]=[]),t("ez-collapsible-box",{ref:o=>this._currentGroupBoxes[i.tab][n]=o,editable:!0,removable:!0,"header-size":"large",label:o.group,"icon-placement":"left","data-group-name":o.group,"data-draggable-parent":"field","data-draggable-element":"group",onEzRemove:()=>this.removeGroup(),onEzSaveEditLabel:i=>this.saveEditLabelGroup(i),onEzEditLabelMode:i=>this._editingTitleGroup=i.detail,conditionalSave:i=>this.checkGroupExists(i,n)},this.getFieldsByGroup(o))):t("div",{class:"ez-flex ez-flex--column ez-size-width--full"},t("label",{class:"ez-text ez-text--secondary ez-margin-vertical--small"},this.getMessage("snkFormConfig.form.subTitleInfo")),t("div",{id:"fieldsWithoutGroupContainer",class:"ez-row","data-draggable-parent":"field"},this.getFieldsByGroup(o)),t("hr",{class:"ez-divider-horizontal ez-margin-vertical--medium"})))),this.renderTempGroupByTab(i.tab)))),t("div",{class:"form-config__btn-add-group ez-row"},t("div",{class:"form-config__btn-add-group-container ez-col ez-col--sd-12 ez-col--tb-12 ez-align--center"},t("ez-button",{label:this.getMessage("snkFormConfig.form.labelNewGroup"),class:"ez-padding-horizontal--small ez-button--primary",size:"small",onClick:()=>this.addNewGroup()},t("ez-icon",{class:"ez-margin-right--small",slot:"leftIcon",iconName:"plus"})))))),t("div",{class:"form-config__fields-available ez-col ez-col--sd-3 ez-col--tb-3"},t("section",{class:"ez-box__container ez-col ez-col--pn-12"},t("h1",{class:"ez-title ez-title--large ez-title--primary ez-padding-bottom--medium"},this.getMessage("snkFormConfig.availableFields.title")),t("ez-filter-input",{id:"searchFields",ref:i=>this._filterFieldsAvailable=i,label:this.getMessage("snkFormConfig.availableFields.labelSearchField"),onEzChange:i=>this.onFilterChange(i.detail)}),t("span",{class:"ez-box__label-counter ez-text ez-text--medium ez-text--primary ez-margin-bottom--medium"},this.handleLabelCounter(null===(l=this._fieldsAvailable)||void 0===l?void 0:l.length)),(null===(e=this._layoutFormConfig)||void 0===e?void 0:e.length)>0&&t("div",{id:"fieldsAvailableContainer",class:"ez-row","data-draggable-parent":"field"},this.orderFieldsAvailable(this._fieldsAvailable).map((i=>t("div",{key:i.name,class:this._fieldsAvailableStyle,"data-draggable-element":"field",onMouseDown:i=>this.controlMoveField(i)},t("snk-field-config",{onEzClickIcon:i=>{this.handleFieldConfigChange(i)},dataUnit:this.dataUnit,fieldConfig:i,id:i.name})))))))))}get _element(){return l(this)}static get watchers(){return{formConfig:["observeFormConfig"]}}};p.style='.sc-snk-form-config-h{--snk-form-config__title--font-pattern:var(--font-pattern, "Roboto");--snk-form-config__title--weight--large:var(--text-weight--large, 600);display:flex;flex-direction:column;position:absolute;top:0;left:0;width:100%;height:100%;z-index:var(--more-visible, 2);background-color:var(--background--xlight)}.form-config__title.sc-snk-form-config{display:flex;margin:0;line-height:1.3;font-family:var(--snk-form-config__title--font-pattern);font-weight:var(--snk-form-config__title--weight--large)}.form-config__header-container.sc-snk-form-config{display:flex}.form-config__field-container.sc-snk-form-config{width:32%;padding:6px}.form-config__hide-content.sc-snk-form-config{display:none}ez-icon.sc-snk-form-config .left-icon.sc-snk-form-config{--ez-icon--color:var(--text--disable)}.ez-box__label-counter.sc-snk-form-config{font-weight:var(--text-weight--extra-small);margin-top:-7px}.form-config__btn-options.sc-snk-form-config{--ez-button--min-width:300px;--ez-button--background-color:#FFFFFF}[data-draggable-parent].sc-snk-form-config{position:relative}.form-config__field-config--selected.sc-snk-form-config{position:static}.form-config__field-config--dragged.sc-snk-form-config .draggable-mirror.sc-snk-form-config{z-index:var(--more-visible, 2)}.form-config__config-options.sc-snk-form-config{position:relative;margin-top:-3px;min-width:100%;z-index:1}.form-config__tab-container.sc-snk-form-config,.form-config__fields-available.sc-snk-form-config{position:relative;height:100%;max-height:calc(100vh - 92px)}.form-config__tab-container.sc-snk-form-config .ez-box__container.sc-snk-form-config,.form-config__fields-available.sc-snk-form-config .ez-box__container.sc-snk-form-config{align-content:flex-start;height:100%}.form-config__fields-available.sc-snk-form-config [data-draggable-parent].sc-snk-form-config{align-content:flex-start;overflow-y:auto;height:100%;max-height:calc(100% - 122px)}.form-config__tab-content.sc-snk-form-config{align-content:flex-start;overflow-y:auto;height:auto;max-height:calc(100% - 128px)}[data-draggable-element].sc-snk-form-config{cursor:grab}.form-config__actions-button.sc-snk-form-config{--ez-actions-button__btn-action--min-width:235px}.form-config__add-group.sc-snk-form-config{position:relative;min-height:120px;margin-bottom:10px}.form-config__add-group-container.sc-snk-form-config{position:absolute;display:flex;flex-wrap:wrap;width:100%;box-sizing:border-box;border-radius:var(--border--radius-medium, 12px);background-color:var(--background--medium, #d2dce9);padding:var(--space--small, 6px)}.form-config__add-group-content.sc-snk-form-config{width:100%;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;box-sizing:border-box;border:2px dashed var(--color-strokes, #DCE0E8);border-radius:var(--border--radius-small, 6px)}.form-config__add-group-label.sc-snk-form-config{display:flex;justify-content:center;box-sizing:border-box;padding:var(--space--large, 24px)}.form-config__btn-add-group.sc-snk-form-config{position:relative;padding:var(--space--large, 24px) var(--space--medium, 12px) 0}.form-config__btn-add-group-container.sc-snk-form-config{padding:var(--space--medium, 12px);border-radius:var(--border--radius-medium, 12px);border:2px solid var(--color-strokes, #DCE0E8);background-color:var(--background--body, #fafcff)}.form-config__left-icon--eye-off.sc-snk-form-config{padding-top:var(--space--medium, 8px)}ez-collapsible-box.draggable-mirror.sc-snk-form-config{display:table;background-color:#FFFFFF}ez-collapsible-box.sc-snk-form-config{margin-bottom:10px}@media screen and (min-width: 480px){.form-config__field-config--selected.sc-snk-form-config .ez-flex.form-config__config-options.sc-snk-form-config{min-width:calc(300% + 12px)}.form-config__field-config--selected.sc-snk-form-config:nth-child(3n+2) .ez-flex.form-config__config-options.sc-snk-form-config{transform:translate(calc(100% / 3 * -1))}.form-config__field-config--selected.sc-snk-form-config:nth-child(3n+3) .ez-flex.form-config__config-options.sc-snk-form-config{transform:translate(calc(100% / 3 * -2))}}';export{p as snk_form_config}
@@ -23,4 +23,4 @@ import{ErrorException as e,WarningException as t,StringUtils as n,ObjectUtils as
23
23
  name
24
24
  resource
25
25
  }
26
- }`)}loadFormConfig(e,t){return new Promise(((n,i)=>{this.loadResource(`cfg://form/${t}/${e}`).then((t=>{if(t){const e=JSON.parse(t),{tabs:i,fields:r}=e;if(i){const e=new Map(i.map((e=>[e.label,e])));null==r||r.forEach((t=>{var n;return t.tab=(null===(n=e.get(this.getTabName(t.tab)))||void 0===n?void 0:n.label)||e.get(this.getTabName(t.tab))}))}e.fields=null==r?void 0:r.map((e=>{if("readonly"in e){const t=e.readonly;delete e.readonly,e.readOnly=t}return e})),n(e)}else i(`Sem configuração pro formulário "${e}".`)})).catch((e=>{i(e)}))}))}getTabName(e){return"object"==typeof e?e.label:e}saveConfig(e,t,n){const i=`cfg://form/${n}/${t}`;return new Promise(((t,n)=>{this.saveResource(e,i).then((e=>{t(e)})).catch((e=>{n(e)}))}))}fetchUserAvailableConfigs(e,t){const n=`cfg://form/${t}/${e}`;return new Promise(((e,t)=>{P.get().callGraphQL({values:{name:n},query:this.queryConfig.get("fetchUserAvailableConfigs")}).then((t=>{e(t)})).catch((e=>{t(e)}))}))}fetchLegacyConfig(e,t){const n=`cfg://form/${t}/${e}`;return new Promise(((e,t)=>{P.get().callGraphQL({values:{name:n},query:this.queryConfig.get("fetchLegacyConfig")}).then((t=>{e(i.stringToObject((null==t?void 0:t.resource)||""))})).catch((e=>{t(e)}))}))}fetchDefaultConfig(e,t){const n=`cfg://form/${t}/${e}`;return new Promise(((e,t)=>{P.get().callGraphQL({values:{name:n},query:this.queryConfig.get("fetchDefaultConfig")}).then((t=>{e(i.stringToObject((null==t?void 0:t.resource)||""))})).catch((e=>{t(e)}))}))}}!function(e){e.USER="USER",e.DEFAULT="DEFAULT",e.SHARED="SHARED"}(u||(u={}));class H extends G{constructor(){super(...arguments),this.GRID_CONFIG_VERSION="V3:"}getConfig(e,t){const n=`cfg://grid/${this.GRID_CONFIG_VERSION}${t}`;return new Promise(((e,t)=>{this.loadResource(n).then((t=>{let n;t&&(n=JSON.parse(t)),e(n)})).catch((e=>{t(e)}))}))}saveConfig(e,t){const n=`cfg://grid/${this.GRID_CONFIG_VERSION}${t}`;return new Promise(((t,i)=>{this.saveResource(e,n).then((e=>{t(e)})).catch((e=>{i(e)}))}))}}class z{static get(){if(!z.instance){const e=r.getContextValue("__SNK__APPLICATION__");null!=e&&(z.instance=new z,e.getResourceID().then((t=>{const n=e.configName;z.resourceID=t,z.instance.loadFormConfig(n),z.instance.loadGridConfig(n)})))}return this.instance}async loadFormConfig(e){if(null==e)return;const t=z.buildCacheID(e,"form");return z.configById.has(t)||z.configById.set(t,z.formConfigFetcher.loadFormConfig(e,z.resourceID)),z.configById.get(t)}async loadGridConfig(e){if(null==e)return;const t=z.buildCacheID(e,"grid");return z.configById.has(t)||z.configById.set(t,z.gridConfigFetcher.getConfig(e,z.resourceID)),z.configById.get(t)}static async saveFormConfig(e,t){if(null==e||null==t)return;const n=this.buildCacheID(t,"form");return this.configById.delete(n),this.formConfigFetcher.saveConfig(e,t,this.resourceID)}static async saveGridConfig(e,t){if(null==e||null==t)return;const n=this.buildCacheID(t,"grid");return this.configById.delete(n),this.gridConfigFetcher.saveConfig(e,this.resourceID)}static buildCacheID(e,t){return`req_${t}_${e}_${this.resourceID}`}}z.configById=new Map,z.formConfigFetcher=new J,z.gridConfigFetcher=new H;export{z as C,P as D,J as F,H as G,G as R,L as U,u as a,M as d}
26
+ }`)}loadFormConfig(e,t){return new Promise(((n,i)=>{this.loadResource(`cfg://form/${t}/${e}`).then((t=>{if(t){const e=JSON.parse(t),{tabs:i,fields:r}=e;if(i){const e=new Map(i.map((e=>[e.label,e])));null==r||r.forEach((t=>{var n;return t.tab=(null===(n=e.get(this.getTabName(t.tab)))||void 0===n?void 0:n.label)||e.get(this.getTabName(t.tab))}))}e.fields=null==r?void 0:r.map((e=>{if("readonly"in e){const t=e.readonly;delete e.readonly,e.readOnly=t}return e})),n(e)}else i(`Sem configuração pro formulário "${e}".`)})).catch((e=>{i(e)}))}))}getTabName(e){return"object"==typeof e?e.label:e}saveConfig(e,t,n){const i=`cfg://form/${n}/${t}`;return new Promise(((t,n)=>{this.saveResource(e,i).then((e=>{t(e)})).catch((e=>{n(e)}))}))}fetchUserAvailableConfigs(e,t){const n=`cfg://form/${t}/${e}`;return new Promise(((e,t)=>{P.get().callGraphQL({values:{name:n},query:this.queryConfig.get("fetchUserAvailableConfigs")}).then((t=>{e(t)})).catch((e=>{t(e)}))}))}fetchLegacyConfig(e,t){const n=`cfg://form/${t}/${e}`;return new Promise(((e,t)=>{P.get().callGraphQL({values:{name:n},query:this.queryConfig.get("fetchLegacyConfig")}).then((t=>{e(i.stringToObject((null==t?void 0:t.resource)||""))})).catch((e=>{t(e)}))}))}fetchDefaultConfig(e,t){const n=`cfg://form/${t}/${e}`;return new Promise(((e,t)=>{P.get().callGraphQL({values:{name:n},query:this.queryConfig.get("fetchDefaultConfig")}).then((t=>{e(i.stringToObject((null==t?void 0:t.resource)||""))})).catch((e=>{t(e)}))}))}}!function(e){e.USER="USER",e.DEFAULT="DEFAULT",e.SHARED="SHARED"}(u||(u={}));class H extends G{constructor(){super(...arguments),this.GRID_CONFIG_VERSION="V3:"}getConfig(e,t){const n=`cfg://grid/${this.GRID_CONFIG_VERSION}${t}`;return new Promise(((e,t)=>{this.loadResource(n).then((t=>{let n;t&&(n=JSON.parse(t)),e(n)})).catch((e=>{t(e)}))}))}saveConfig(e,t){const n=`cfg://grid/${this.GRID_CONFIG_VERSION}${t}`;return new Promise(((t,i)=>{this.saveResource(e,n).then((e=>{t(e)})).catch((e=>{i(e)}))}))}}class z{static async get(){if(!z.instance){const e=r.getContextValue("__SNK__APPLICATION__");if(null!=e){const t=e.configName,n=await e.getResourceID();z.instance=new z,z.resourceID=n,z.instance.loadFormConfig(t),z.instance.loadGridConfig(t)}}return this.instance}async loadFormConfig(e){if(null==e)return;const t=z.buildCacheID(e,"form");return z.configById.has(t)||z.configById.set(t,z.formConfigFetcher.loadFormConfig(e,z.resourceID)),z.configById.get(t)}async loadGridConfig(e){if(null==e)return;const t=z.buildCacheID(e,"grid");return z.configById.has(t)||z.configById.set(t,z.gridConfigFetcher.getConfig(e,z.resourceID)),z.configById.get(t)}static async saveFormConfig(e,t){if(null==e||null==t)return;const n=this.buildCacheID(t,"form");return this.configById.delete(n),this.formConfigFetcher.saveConfig(e,t,this.resourceID)}static async saveGridConfig(e,t){if(null==e||null==t)return;const n=this.buildCacheID(t,"grid");return this.configById.delete(n),this.gridConfigFetcher.saveConfig(e,this.resourceID)}static buildCacheID(e,t){return`req_${t}_${e}_${this.resourceID}`}}z.configById=new Map,z.formConfigFetcher=new J,z.gridConfigFetcher=new H;export{z as C,P as D,J as F,H as G,G as R,L as U,u as a,M as d}
@@ -0,0 +1 @@
1
+ import{r as i,c as s,h as t,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-5a3e0eb6.js";import{C as d}from"./p-395b45a7.js";import"./p-112455b1.js";const l=class{constructor(t){i(this,t),this.exit=s(this,"exit",7),this.actionClick=s(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(){null!=this.configName&&d.get().then((i=>{i.loadFormConfig(this.configName).then((i=>{this.setConfig(i)||this.loadInsertionConfig()})).catch((i=>{console.warn(i)}))}))}setConfig(i){return null!=(null==i?void 0:i.fields)&&(setTimeout((async()=>{for(const s of i.fields)if(s.defaultValue&&"value"in s.defaultValue){const i=s.defaultValue.value;await this.getFormattedValue(i).then((i=>{s.defaultValue.formattedValue=i}))}this._editionFormConfig=i,this.loadInsertionConfig()}),this._renderTimer),!0)}async getFormattedValue(i){switch(i){case"${data}":return()=>a.getToday();case"${datahora}":return()=>a.getToday(!0);case"${usuario}":case"${usuario.empresa}":case"${usuario.vendedor}":case"${usuario.centroresultado}":let s;return await this._application.getDefaultValue(i).then((i=>{s=i})),s;default:return i}}loadInsertionConfig(){var i;if(this._dataUnit){const s=o.copy(this._editionFormConfig||{});s.fields=null===(i=s.fields)||void 0===i?void 0:i.filter((i=>{const s=this._dataUnit.getField(i.name);return!(null==s?void 0:s.readOnly)})),this._insertionFormConfig=s}}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(i){return this._application.messagesBuilder.getMessage(i,this.getMessageParams())}getMessageParams(){var i;return(null===(i=this._dataState)||void 0===i?void 0:i.selectedRecords)?this._dataState.selectedRecords[0]:void 0}changeConfig(i){this._editionFormConfig={},this.setConfig(i)||this.loadInsertionConfig()}closeConfig(){this.hideConfig()}getDisabledButtons(){const i=[];return this._dataState.hasPrevious||i.push("PREVIOUS"),this._dataState.hasNext||i.push("NEXT"),i}dataunitReady(){this.loadInsertionConfig(),r.addIDInfo(this._element,null,{dataUnit:this._dataUnit})}componentWillLoad(){this._application=n.getContextValue("__SNK__APPLICATION__");let i=this._element.parentElement;for(;i;){if("SNK-DATA-UNIT"===i.tagName.toUpperCase()){this._snkDataUnit=i,this._dataUnit=this._snkDataUnit.dataUnit,this._dataState=this._snkDataUnit.dataState,this._dataUnit?this.dataunitReady():this._snkDataUnit.addEventListener("dataUnitReady",(i=>{this._dataUnit=i.detail,this.loadInsertionConfig()})),this._snkDataUnit.addEventListener("dataStateChange",(i=>{this._dataState=i.detail}));break}i=i.parentElement}this.loadConfig()}componentWillRender(){var i;const s=(null===(i=this._dataState)||void 0===i?void 0:i.isDirty)?"snkForm.finish_edition":"snkForm.regular",t=[];this._dataState&&this._dataState.hasPrevious||t.push("PREVIOUS"),this._dataState&&this._dataState.hasNext||t.push("NEXT"),this._taskbarProcessor.process(s,this.taskbarManager,this._dataState,t)}render(){var i;if(this._dataUnit&&this._dataState)return t("section",{class:"snk-form"},t("div",{class:"snk-form__header snk-form__header--fixed ez-row"},t("div",{class:"ez-col ez-col--sd-6 ez-col--tb-6",key:"formHeader"},t("ez-button",{title:this.getMessage("snkForm.goBackTitle"),mode:"icon",iconName:"arrow_back",class:"ez-padding-right--medium",size:"small",onClick:()=>this.exitForm(),"data-element-id":"formToBack"}),t("h1",{class:"ez-title ez-title--primary ez-title--xlarge ez-align--middle"},this.getMessage("snkForm.title"))),t("div",{class:"ez-col ez-col--sd-6 ez-col--tb-6 ez-align--right"},t("snk-taskbar",{key:"formTaskbar","data-element-id":"form",configName:this.configName,buttons:this._taskbarProcessor.buttons,disabledButtons:this._taskbarProcessor.disabledButtons,customButtons:this._taskbarProcessor.customButtons,actionsList:this.actionsList,primaryButton:(null===(i=this._dataState)||void 0===i?void 0:i.isDirty)?"SAVE":"INSERT",dataUnit:this._dataUnit}))),t("section",null,t("div",{class:"ez-row"},t("div",{class:"ez-col ez-col--sd-12"},t("ez-form",{key:"ezForm"+this._snkDataUnit.entityName,"data-element-id":"embedded",dataUnit:this._dataUnit,config:this.getFormConfig(),recordsValidator:this.recordsValidator,class:this._showFormConfig?"snk-form__form--hidden":""}),this._showFormConfig&&t("snk-form-config",{dataUnit:this._dataUnit,formConfig:this.getFormConfig(),configName:this.configName,onConfigChange:i=>this.changeConfig(i.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}
@@ -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-5a3e0eb6.js";import{C as f}from"./p-6ba8f415.js";import{T as g}from"./p-dbaad88c.js";import"./p-112455b1.js";const h=a.grid,u=a.form,_=class{constructor(t){i(this,t),this.configSelected=o(this,"configSelected",7),this.openConfig=o(this,"openConfig",7),this._opened=!1,this.viewMode=h.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=h.name):this.viewMode=u.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:h.name}),t("ez-radio-button-option",{label:this.getMessage("snkConfigurator.labelForm"),value:u.name})),t("ez-button",{mode:"slim",label:this.getMessage(this.viewMode===h.name?"snkConfigurator.labelConfigGrid":"snkConfigurator.labelConfigForm"),class:"snk-configurator__button-config ez-button--primary",onClick:()=>this.onClickOpenConfig(),id:"openConfigurator"}),t("hr",{class:"ez-divider-horizontal ez-margin-vertical--medium"}))))}};_.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--color-default:var(--scrollbar--default, #626e82);--snk-configurator__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--snk-configurator__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--snk-configurator__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--snk-configurator__scrollbar--border-radius:var(--border--radius-small, 6px);--snk-configurator__scrollbar--width:var(--space--medium, 12px)}.snk-configurator.sc-snk-configurator{display:grid;grid-template-rows:auto 1fr auto;max-height:100%;width:100%}@media screen and (min-width: 480px){.snk-configurator.sc-snk-configurator{width:359px;max-width:359px}}.snk-configurator__button-config.sc-snk-configurator{--ez-button--min-width:100%}.snk-configurator__header.sc-snk-configurator{display:flex;justify-content:space-between;align-items:center;width:100%}.snk-configurator__title.sc-snk-configurator{display:flex;margin:0;line-height:normal;letter-spacing:0em;text-align:left;color:var(--snk-configurator__title--color);font-size:var(--snk-configurator__title--font-size);font-family:var(--snk-configurator__title--font-family);font-weight:var(--snk-configurator__title--font-weight)}.snk-configurator__subtitle.sc-snk-configurator{display:flex;margin:0;padding-top:var(--space--medium);padding-bottom:var(--space--small);color:var(--snk-configurator__subtitle--color);font-size:var(--snk-configurator__subtitle--font-size);font-family:var(--snk-configurator__subtitle--font-family);font-weight:var(--snk-configurator__subtitle--font-weight)}.snk-configurator__button-close.sc-snk-configurator{padding-left:var(--snk-configurator__button-close--padding-left)}.snk-configurator__main.sc-snk-configurator{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--snk-configurator__scrollbar--color-clicked) var(--snk-configurator__scrollbar--color-background)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar{background-color:var(--snk-configurator__scrollbar--color-background);width:var(--snk-configurator__scrollbar--width);max-width:var(--snk-configurator__scrollbar--width);min-width:var(--snk-configurator__scrollbar--width)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-track{background-color:var(--snk-configurator__scrollbar--color-background);border-radius:var(--snk-configurator__scrollbar--border-radius)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb{background-color:var(--snk-configurator__scrollbar--color-default);border-radius:var(--snk-configurator__scrollbar--border-radius)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb:vertical:hover,.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--snk-configurator__scrollbar--color-hover)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb:vertical:active,.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--snk-configurator__scrollbar--color-clicked)}';const k=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)}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)}};k.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 b=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","EXPORT"],"snkGridHeaderTaskbar.selected":["UPDATE","CLONE","REMOVE","MORE_OPTIONS","DIVIDER","REFRESH","EXPORT"]}),this._popUpGridConfig=!1,this.enableDataExporter=!1}async showConfig(){null!=this._grid&&this.openGridConfig()}async hideConfig(){null!=this._grid&&this.closeGridConfig()}async setConfig(i){this.setGridConfig(i)}actionClickHandler(i){if(i.detail===g.EXPORT){const i=this._dataState.selectedRecords.length;this._snkEmailSender.open({format:"pdf",type:i>0?"selection":"all",selectedRows:i,email:{attachments:[{name:"Movimentação Financeira.pdf",size:236544}]}}).then((i=>{this._application.message("resultado",JSON.stringify(i))}))}}getMessage(i,o){return this._application.messagesBuilder.getMessage(i,o)}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)}changeConfig(i){this._grid.setColumnsState(i.columns).then((()=>{this.setGridConfig(i),this.closeGridConfig()}))}componentWillLoad(){this._application=r.getContextValue("__SNK__APPLICATION__");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.addElementID():this._snkDataUnit.addEventListener("dataUnitReady",(i=>{this._dataUnit=i.detail,this.addElementID()})),this._snkDataUnit.addEventListener("dataStateChange",(i=>{this._dataState=i.detail}));break}i=i.parentElement}this.loadConfig()}componentWillRender(){const i=this.enableDataExporter?[]:["EXPORT"];this._headerTaskbarProcessor.process(this._dataState&&this._dataState.selectedRecords.length>0?"snkGridHeaderTaskbar.selected":"snkGridHeaderTaskbar.unselected",this.taskbarManager,this._dataState,void 0,i),this._topTaskbarProcessor.process("snkGridTopTaskbar",this.taskbarManager,this._dataState,void 0,i)}addElementID(){e.addIDInfo(this._element,null,{dataUnit:this._dataUnit})}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":"gridFilter",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":"grid_top",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":"embedded",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":"grid_left",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("snk-exporter-email-sender",{ref:i=>this._snkEmailSender=i,getMessage:(i,o)=>this.getMessage(i,o)}),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),application:this._application,selectedIndex:0,onConfigChange:i=>this.changeConfig(i.detail),onConfigCancel:()=>this.closeGridConfig()})))}get _element(){return s(this)}};b.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{_ as snk_configurator,k as snk_field_config,b 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-5a3e0eb6.js";import{C as f}from"./p-395b45a7.js";import{T as g}from"./p-dbaad88c.js";import"./p-112455b1.js";const h=a.grid,u=a.form,_=class{constructor(t){i(this,t),this.configSelected=o(this,"configSelected",7),this.openConfig=o(this,"openConfig",7),this._opened=!1,this.viewMode=h.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=h.name):this.viewMode=u.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:h.name}),t("ez-radio-button-option",{label:this.getMessage("snkConfigurator.labelForm"),value:u.name})),t("ez-button",{mode:"slim",label:this.getMessage(this.viewMode===h.name?"snkConfigurator.labelConfigGrid":"snkConfigurator.labelConfigForm"),class:"snk-configurator__button-config ez-button--primary",onClick:()=>this.onClickOpenConfig(),id:"openConfigurator"}),t("hr",{class:"ez-divider-horizontal ez-margin-vertical--medium"}))))}};_.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--color-default:var(--scrollbar--default, #626e82);--snk-configurator__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--snk-configurator__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--snk-configurator__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--snk-configurator__scrollbar--border-radius:var(--border--radius-small, 6px);--snk-configurator__scrollbar--width:var(--space--medium, 12px)}.snk-configurator.sc-snk-configurator{display:grid;grid-template-rows:auto 1fr auto;max-height:100%;width:100%}@media screen and (min-width: 480px){.snk-configurator.sc-snk-configurator{width:359px;max-width:359px}}.snk-configurator__button-config.sc-snk-configurator{--ez-button--min-width:100%}.snk-configurator__header.sc-snk-configurator{display:flex;justify-content:space-between;align-items:center;width:100%}.snk-configurator__title.sc-snk-configurator{display:flex;margin:0;line-height:normal;letter-spacing:0em;text-align:left;color:var(--snk-configurator__title--color);font-size:var(--snk-configurator__title--font-size);font-family:var(--snk-configurator__title--font-family);font-weight:var(--snk-configurator__title--font-weight)}.snk-configurator__subtitle.sc-snk-configurator{display:flex;margin:0;padding-top:var(--space--medium);padding-bottom:var(--space--small);color:var(--snk-configurator__subtitle--color);font-size:var(--snk-configurator__subtitle--font-size);font-family:var(--snk-configurator__subtitle--font-family);font-weight:var(--snk-configurator__subtitle--font-weight)}.snk-configurator__button-close.sc-snk-configurator{padding-left:var(--snk-configurator__button-close--padding-left)}.snk-configurator__main.sc-snk-configurator{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--snk-configurator__scrollbar--color-clicked) var(--snk-configurator__scrollbar--color-background)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar{background-color:var(--snk-configurator__scrollbar--color-background);width:var(--snk-configurator__scrollbar--width);max-width:var(--snk-configurator__scrollbar--width);min-width:var(--snk-configurator__scrollbar--width)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-track{background-color:var(--snk-configurator__scrollbar--color-background);border-radius:var(--snk-configurator__scrollbar--border-radius)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb{background-color:var(--snk-configurator__scrollbar--color-default);border-radius:var(--snk-configurator__scrollbar--border-radius)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb:vertical:hover,.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--snk-configurator__scrollbar--color-hover)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb:vertical:active,.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--snk-configurator__scrollbar--color-clicked)}';const k=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)}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)}};k.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 b=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","EXPORT"],"snkGridHeaderTaskbar.selected":["UPDATE","CLONE","REMOVE","MORE_OPTIONS","DIVIDER","REFRESH","EXPORT"]}),this._popUpGridConfig=!1,this.enableDataExporter=!1}async showConfig(){null!=this._grid&&this.openGridConfig()}async hideConfig(){null!=this._grid&&this.closeGridConfig()}async setConfig(i){this.setGridConfig(i)}actionClickHandler(i){if(i.detail===g.EXPORT){const i=this._dataState.selectedRecords.length;this._snkEmailSender.open({format:"pdf",type:i>0?"selection":"all",selectedRows:i,email:{attachments:[{name:"Movimentação Financeira.pdf",size:236544}]}}).then((i=>{this._application.message("resultado",JSON.stringify(i))}))}}getMessage(i,o){return this._application.messagesBuilder.getMessage(i,o)}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(){null!=this.configName&&f.get().then((i=>{i.loadGridConfig(this.configName).then((i=>{this.setGridConfig(i)})).catch((i=>{console.warn(i)}))}))}saveConfig(i){this._snkGridConfig.saveConfig(i)}changeConfig(i){this._grid.setColumnsState(i.columns).then((()=>{this.setGridConfig(i),this.closeGridConfig()}))}componentWillLoad(){this._application=r.getContextValue("__SNK__APPLICATION__");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.addElementID():this._snkDataUnit.addEventListener("dataUnitReady",(i=>{this._dataUnit=i.detail,this.addElementID()})),this._snkDataUnit.addEventListener("dataStateChange",(i=>{this._dataState=i.detail}));break}i=i.parentElement}this.loadConfig()}componentWillRender(){const i=this.enableDataExporter?[]:["EXPORT"];this._headerTaskbarProcessor.process(this._dataState&&this._dataState.selectedRecords.length>0?"snkGridHeaderTaskbar.selected":"snkGridHeaderTaskbar.unselected",this.taskbarManager,this._dataState,void 0,i),this._topTaskbarProcessor.process("snkGridTopTaskbar",this.taskbarManager,this._dataState,void 0,i)}addElementID(){e.addIDInfo(this._element,null,{dataUnit:this._dataUnit})}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-margin-bottom--medium"},t("snk-filter-bar",{dataUnit:this._dataUnit,"data-element-id":"gridFilter",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":"grid_top",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":"embedded",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":"grid_left",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("snk-exporter-email-sender",{ref:i=>this._snkEmailSender=i,getMessage:(i,o)=>this.getMessage(i,o)}),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),application:this._application,selectedIndex:0,onConfigChange:i=>this.changeConfig(i.detail),onConfigCancel:()=>this.closeGridConfig()})))}get _element(){return s(this)}};b.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--medium)}";export{_ as snk_configurator,k as snk_field_config,b as snk_grid}
@@ -1,4 +1,4 @@
1
- import{r as t,c as e,h as s,g as i}from"./p-9ba3df4c.js";import{WaitingChangeException as r,WarningException as n,ErrorException as a,ObjectUtils as o,DataType as c,DataUnit as h,StringUtils as u,ChangeOperation as l,DateUtils as d,DependencyType as p,ElementIDUtils as m,ApplicationContext as f,ErrorTracking as y}from"@sankhyalabs/core";import{d as g,D as v,R as w,U as I,F as _,G as P,C as $}from"./p-6ba8f415.js";import{ApplicationUtils as D}from"@sankhyalabs/ezui/dist/collection/utils";import{S}from"./p-e7f772ed.js";import"./p-112455b1.js";class C{constructor(t){this._app=t,window.addEventListener("error",(t=>this.errorHandler(t))),window.addEventListener("unhandledrejection",(t=>this.rejectionHandler(t)))}rejectionHandler(t){const e=t.reason;e instanceof r||(e?this.processException(e):this._app.isDebugMode().then((t=>{t&&this._app.error("Promise rejeitada","Erro interno: Uma promise foi rejeitada sem razão determinada.")})))}errorHandler(t){this.processException(t.error)}buildErrorCodeHTML(t){return'<br><a href="#" onclick="try{window.workspace.openHelp(\'_tbcode:'+t.errorCode+"')} catch(e){alert('Não é possível abrir a ajuda fora do workspace Sankhya');}\">Código: "+t.errorCode+"</a>"}processException(t){t.errorCode&&(t.message+=this.buildErrorCodeHTML(t)),t instanceof r||t instanceof n?this._app.alert(t.title,t.message):t instanceof a?this._app.error(t.title,t.message):this._app.isDebugMode().then((e=>{if(e)if(t instanceof Error)this._app.error(t.name,t.message);else{const e=(null==t?void 0:t.title)||"Erro detectado",s="string"==typeof t?t:t.message||`Erro interno "${o.objectToString(t)}"`;this._app.error(e,s)}}))}}class A{constructor(){this._defaultPageSize=100,this._templateByQuery=new Map,this.buldTemplates()}buldTemplates(){this._templateByQuery.set("search",g.gql`query($entityName: String! $argument: String $criteria: InputSearchCriteria $options: InputSearchOptions) {
1
+ import{r as t,c as e,h as s,g as i}from"./p-9ba3df4c.js";import{WaitingChangeException as r,WarningException as n,ErrorException as a,ObjectUtils as o,DataType as c,DataUnit as h,StringUtils as u,ChangeOperation as l,DateUtils as d,DependencyType as p,ElementIDUtils as m,ApplicationContext as f,ErrorTracking as y}from"@sankhyalabs/core";import{d as g,D as v,R as w,U as I,F as _,G as P,C as $}from"./p-395b45a7.js";import{ApplicationUtils as D}from"@sankhyalabs/ezui/dist/collection/utils";import{S}from"./p-e7f772ed.js";import"./p-112455b1.js";class C{constructor(t){this._app=t,window.addEventListener("error",(t=>this.errorHandler(t))),window.addEventListener("unhandledrejection",(t=>this.rejectionHandler(t)))}rejectionHandler(t){const e=t.reason;e instanceof r||(e?this.processException(e):this._app.isDebugMode().then((t=>{t&&this._app.error("Promise rejeitada","Erro interno: Uma promise foi rejeitada sem razão determinada.")})))}errorHandler(t){this.processException(t.error)}buildErrorCodeHTML(t){return'<br><a href="#" onclick="try{window.workspace.openHelp(\'_tbcode:'+t.errorCode+"')} catch(e){alert('Não é possível abrir a ajuda fora do workspace Sankhya');}\">Código: "+t.errorCode+"</a>"}processException(t){t.errorCode&&(t.message+=this.buildErrorCodeHTML(t)),t instanceof r||t instanceof n?this._app.alert(t.title,t.message):t instanceof a?this._app.error(t.title,t.message):this._app.isDebugMode().then((e=>{if(e)if(t instanceof Error)this._app.error(t.name,t.message);else{const e=(null==t?void 0:t.title)||"Erro detectado",s="string"==typeof t?t:t.message||`Erro interno "${o.objectToString(t)}"`;this._app.error(e,s)}}))}}class A{constructor(){this._defaultPageSize=100,this._templateByQuery=new Map,this.buldTemplates()}buldTemplates(){this._templateByQuery.set("search",g.gql`query($entityName: String! $argument: String $criteria: InputSearchCriteria $options: InputSearchOptions) {
2
2
  $queryAlias$: search(entityName: $entityName argument: $argument criteria: $criteria options: $options){
3
3
  value
4
4
  label