@sankhyalabs/sankhyablocks 2.3.0 → 2.4.1

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 (122) hide show
  1. package/dist/cjs/snk-application.cjs.entry.js +46 -29
  2. package/dist/cjs/snk-config-options.cjs.entry.js +1 -1
  3. package/dist/cjs/snk-configurator_3.cjs.entry.js +13 -7
  4. package/dist/cjs/snk-crud.cjs.entry.js +2 -2
  5. package/dist/cjs/snk-data-unit.cjs.entry.js +2 -4
  6. package/dist/cjs/snk-filter-bar_7.cjs.entry.js +27 -6
  7. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +6 -0
  8. package/dist/cjs/snk-filter-detail.cjs.entry.js +4 -1
  9. package/dist/cjs/snk-filter-multi-select.cjs.entry.js +6 -0
  10. package/dist/cjs/snk-filter-number.cjs.entry.js +6 -0
  11. package/dist/cjs/snk-filter-period.cjs.entry.js +6 -0
  12. package/dist/cjs/snk-filter-personalized.cjs.entry.js +3 -0
  13. package/dist/cjs/snk-filter-search.cjs.entry.js +6 -0
  14. package/dist/cjs/snk-filter-text.cjs.entry.js +3 -0
  15. package/dist/cjs/snk-form-config.cjs.entry.js +2 -2
  16. package/dist/cjs/snk-form.cjs.entry.js +4 -4
  17. package/dist/collection/components/snk-application/snk-application.js +82 -65
  18. package/dist/collection/components/snk-configurator/snk-configurator.js +11 -5
  19. package/dist/collection/components/snk-crud/snk-crud.js +6 -6
  20. package/dist/collection/components/snk-data-unit/snk-data-unit.js +14 -19
  21. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.js +9 -3
  22. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-multi-select.js +9 -3
  23. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-number.js +9 -3
  24. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-period.js +9 -3
  25. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-personalized.js +6 -3
  26. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-search.js +9 -3
  27. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-text.js +5 -2
  28. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +8 -5
  29. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +16 -7
  30. package/dist/collection/components/snk-filter-bar/filter-list/snk-filter-list.js +12 -9
  31. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +9 -9
  32. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +5 -2
  33. package/dist/collection/components/snk-form/snk-form.js +11 -11
  34. package/dist/collection/components/snk-form/subcomponents/snk-config-options/snk-config-options.js +5 -5
  35. package/dist/collection/components/snk-form/subcomponents/snk-field-config/snk-field-config.js +6 -6
  36. package/dist/collection/components/snk-form/subcomponents/snk-form-config/snk-form-config.js +6 -6
  37. package/dist/collection/components/snk-form/subcomponents/snk-tab-config/snk-tab-config.js +7 -7
  38. package/dist/collection/components/snk-grid/snk-grid.js +14 -14
  39. package/dist/collection/components/snk-grid/subcomponents/snk-grid-config/snk-grid-config.js +8 -5
  40. package/dist/collection/components/snk-grid/subcomponents/snk-select-box/snk-select-box.js +5 -2
  41. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +11 -10
  42. package/dist/collection/components/snk-taskbar/snk-taskbar.js +10 -10
  43. package/dist/components/snk-application2.js +47 -30
  44. package/dist/components/snk-config-options2.js +1 -1
  45. package/dist/components/snk-configurator2.js +6 -0
  46. package/dist/components/snk-crud.js +3 -3
  47. package/dist/components/snk-data-unit.js +2 -4
  48. package/dist/components/snk-field-config2.js +2 -2
  49. package/dist/components/snk-filter-bar2.js +4 -1
  50. package/dist/components/snk-filter-binary-select.js +6 -0
  51. package/dist/components/snk-filter-detail2.js +4 -1
  52. package/dist/components/snk-filter-item2.js +10 -1
  53. package/dist/components/snk-filter-list2.js +3 -0
  54. package/dist/components/snk-filter-multi-select.js +6 -0
  55. package/dist/components/snk-filter-number.js +6 -0
  56. package/dist/components/snk-filter-period.js +6 -0
  57. package/dist/components/snk-filter-personalized.js +3 -0
  58. package/dist/components/snk-filter-search.js +6 -0
  59. package/dist/components/snk-filter-text.js +3 -0
  60. package/dist/components/snk-form-config2.js +3 -3
  61. package/dist/components/snk-form2.js +4 -4
  62. package/dist/components/snk-grid-config2.js +6 -3
  63. package/dist/components/snk-grid2.js +5 -5
  64. package/dist/components/snk-select-box2.js +3 -0
  65. package/dist/components/snk-taskbar2.js +3 -3
  66. package/dist/esm/snk-application.entry.js +47 -30
  67. package/dist/esm/snk-config-options.entry.js +1 -1
  68. package/dist/esm/snk-configurator_3.entry.js +13 -7
  69. package/dist/esm/snk-crud.entry.js +3 -3
  70. package/dist/esm/snk-data-unit.entry.js +2 -4
  71. package/dist/esm/snk-filter-bar_7.entry.js +27 -6
  72. package/dist/esm/snk-filter-binary-select.entry.js +6 -0
  73. package/dist/esm/snk-filter-detail.entry.js +4 -1
  74. package/dist/esm/snk-filter-multi-select.entry.js +6 -0
  75. package/dist/esm/snk-filter-number.entry.js +6 -0
  76. package/dist/esm/snk-filter-period.entry.js +6 -0
  77. package/dist/esm/snk-filter-personalized.entry.js +3 -0
  78. package/dist/esm/snk-filter-search.entry.js +6 -0
  79. package/dist/esm/snk-filter-text.entry.js +3 -0
  80. package/dist/esm/snk-form-config.entry.js +3 -3
  81. package/dist/esm/snk-form.entry.js +4 -4
  82. package/dist/sankhyablocks/p-2e0747f9.entry.js +1 -0
  83. package/dist/sankhyablocks/{p-de0fe8a4.entry.js → p-60e7e86d.entry.js} +1 -1
  84. package/dist/sankhyablocks/p-825c8975.entry.js +1 -0
  85. package/dist/sankhyablocks/{p-0e18f6e6.entry.js → p-a72a0a5d.entry.js} +2 -2
  86. package/dist/sankhyablocks/p-cd486089.entry.js +1 -0
  87. package/dist/sankhyablocks/p-d2b0f1fc.entry.js +1 -0
  88. package/dist/sankhyablocks/p-d61f2170.entry.js +1 -0
  89. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  90. package/dist/types/components/snk-application/snk-application.d.ts +48 -32
  91. package/dist/types/components/snk-configurator/snk-configurator.d.ts +9 -3
  92. package/dist/types/components/snk-crud/snk-crud.d.ts +4 -4
  93. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +12 -14
  94. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.d.ts +12 -0
  95. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-multi-select.d.ts +12 -0
  96. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-number.d.ts +12 -0
  97. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-period.d.ts +12 -0
  98. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-personalized.d.ts +9 -0
  99. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-search.d.ts +12 -0
  100. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-text.d.ts +9 -0
  101. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +12 -0
  102. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +20 -2
  103. package/dist/types/components/snk-filter-bar/filter-list/snk-filter-list.d.ts +27 -0
  104. package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +28 -1
  105. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +4 -1
  106. package/dist/types/components/snk-form/snk-form.d.ts +7 -7
  107. package/dist/types/components/snk-form/subcomponents/snk-config-options/snk-config-options.d.ts +4 -4
  108. package/dist/types/components/snk-form/subcomponents/snk-field-config/snk-field-config.d.ts +5 -5
  109. package/dist/types/components/snk-form/subcomponents/snk-form-config/snk-form-config.d.ts +4 -4
  110. package/dist/types/components/snk-form/subcomponents/snk-tab-config/snk-tab-config.d.ts +8 -10
  111. package/dist/types/components/snk-grid/snk-grid.d.ts +9 -9
  112. package/dist/types/components/snk-grid/subcomponents/snk-grid-config/snk-grid-config.d.ts +5 -2
  113. package/dist/types/components/snk-grid/subcomponents/snk-select-box/snk-select-box.d.ts +6 -0
  114. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +12 -2
  115. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +8 -8
  116. package/dist/types/components.d.ts +428 -135
  117. package/package.json +2 -2
  118. package/dist/sankhyablocks/p-00f6d216.entry.js +0 -1
  119. package/dist/sankhyablocks/p-6ca95ef3.entry.js +0 -1
  120. package/dist/sankhyablocks/p-7e79ab39.entry.js +0 -1
  121. package/dist/sankhyablocks/p-975182f8.entry.js +0 -1
  122. package/dist/sankhyablocks/p-c4e9394c.entry.js +0 -1
@@ -20,6 +20,9 @@ const SnkFilterItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
20
20
  observeDetailIsVisible(value) {
21
21
  this.visibleChanged.emit(value);
22
22
  }
23
+ /**
24
+ * Exibe os detalhes de um item da lista.
25
+ */
23
26
  async showUp(open = false) {
24
27
  return new Promise(resolve => {
25
28
  this._filterItemElement.scrollIntoView({ behavior: "auto", block: "nearest", inline: "nearest" });
@@ -44,6 +47,9 @@ const SnkFilterItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
44
47
  const rect = this._filterItemElement.getBoundingClientRect();
45
48
  return `calc(${rect.left}px + ${padding})`;
46
49
  }
50
+ /**
51
+ * Oculta os detalhes de um item da lista.
52
+ */
47
53
  async hideDetail() {
48
54
  if (this.detailIsVisible) {
49
55
  if (this._floatingID != undefined) {
@@ -142,7 +148,7 @@ const SnkFilterItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
142
148
  componentDidLoad() {
143
149
  if (this._filterItemElement) {
144
150
  ElementIDUtils.addIDInfo(this._filterItemElement);
145
- const dataElementIdDoFilterItem = this._filterItemElement.getAttribute("data-element-id");
151
+ const dataElementIdDoFilterItem = this._filterItemElement.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
146
152
  this._idSnkFilterDetail = `${dataElementIdDoFilterItem}_${this.config.id}`;
147
153
  this._idEzChip = `${dataElementIdDoFilterItem}_${this.config.id}`;
148
154
  }
@@ -154,6 +160,9 @@ const SnkFilterItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
154
160
  }
155
161
  }
156
162
  }
163
+ /**
164
+ * Emitido quando o estado do filtro é alterado.
165
+ */
157
166
  filterChangeListener() {
158
167
  this.hideDetail();
159
168
  }
@@ -30,6 +30,9 @@ const SnkFilterList = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
30
30
  this._filterArgument = "";
31
31
  this._filterInput.setFocus();
32
32
  }
33
+ /**
34
+ * Oculta os detalhes do componente snk-filter-list.
35
+ */
33
36
  async hideDetail() {
34
37
  if (this._floatingID != undefined) {
35
38
  FloatingManager.close(this._floatingID);
@@ -7,9 +7,15 @@ const SnkFilterMultiSelect$1 = /*@__PURE__*/ proxyCustomElement(class extends HT
7
7
  super();
8
8
  this.__registerHost();
9
9
  }
10
+ /**
11
+ * Emitido quando acontece a alteração de valor do componente snk-filter-multi-select
12
+ */
10
13
  ezChangeListener(evt) {
11
14
  this.value = evt.detail.value;
12
15
  }
16
+ /**
17
+ * Exibe o componente snk-filter-multi-select
18
+ */
13
19
  async show() {
14
20
  this._comboElement.setFocus();
15
21
  }
@@ -7,9 +7,15 @@ const SnkFilterPeriod = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
7
7
  super();
8
8
  this.__registerHost();
9
9
  }
10
+ /**
11
+ * Emitido quando acontece a alteração de valor do componente snk-filter-number
12
+ */
10
13
  ezChangeListener(evt) {
11
14
  this.value = evt.detail;
12
15
  }
16
+ /**
17
+ * Exibe o componente snk-filter-number
18
+ */
13
19
  async show() {
14
20
  this._numberElement.setFocus();
15
21
  }
@@ -7,6 +7,9 @@ const SnkFilterPeriod$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEle
7
7
  super();
8
8
  this.__registerHost();
9
9
  }
10
+ /**
11
+ * Emitido quando acontece a alteração de valor do componente snk-filter-period
12
+ */
10
13
  ezChangeListener() {
11
14
  const start = this._startDate.value;
12
15
  const end = this._endDate.value;
@@ -29,6 +32,9 @@ const SnkFilterPeriod$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEle
29
32
  }
30
33
  return null;
31
34
  }
35
+ /**
36
+ * Exibe o componente snk-filter-period
37
+ */
32
38
  async show() {
33
39
  this._startDate.setFocus();
34
40
  }
@@ -74,6 +74,9 @@ const SnkFilterPersonalized$1 = /*@__PURE__*/ proxyCustomElement(class extends H
74
74
  }
75
75
  });
76
76
  }
77
+ /**
78
+ * Exibe o componente snk-filter-personalized
79
+ */
77
80
  async show() {
78
81
  const elem = document.querySelector("#param_0");
79
82
  if (elem) {
@@ -7,6 +7,9 @@ const SnkFilterSearch$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEle
7
7
  super();
8
8
  this.__registerHost();
9
9
  }
10
+ /**
11
+ * Emitido quando acontece a alteração de valor do componente snk-filter-search
12
+ */
10
13
  ezChangeListener(_evt) {
11
14
  this.value = this._searchInput.value;
12
15
  }
@@ -26,6 +29,9 @@ const SnkFilterSearch$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEle
26
29
  });
27
30
  });
28
31
  }
32
+ /**
33
+ * Exibe o componente snk-filter-search
34
+ */
29
35
  async show() {
30
36
  this._searchInput.setFocus();
31
37
  }
@@ -6,6 +6,9 @@ const SnkFilterText$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
6
6
  super();
7
7
  this.__registerHost();
8
8
  }
9
+ /**
10
+ * Emitido quando acontece a alteração de valor do componente snk-filter-text.
11
+ */
9
12
  ezChangeListener(evt) {
10
13
  this.value = evt.detail;
11
14
  }
@@ -1,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import { a as draggable_bundle, d as defineCustomElement$1 } from './snk-tab-config2.js';
3
- import { ObjectUtils, ArrayUtils, ApplicationContext, ElementIDUtils } from '@sankhyalabs/core';
3
+ import { ObjectUtils, ElementIDUtils, ArrayUtils, ApplicationContext } from '@sankhyalabs/core';
4
4
  import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
5
5
  import { C as CONFIG_EVENTS, b as TAB_NAMES, A as ACTION_CONFIG, D as DEFAULT_TYPE } from './constants.js';
6
6
  import { a as UserConfigType, C as ConfigStorage } from './ConfigStorage.js';
@@ -240,8 +240,8 @@ const SnkFormConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
240
240
  var _a;
241
241
  return ((_a = group.fields) === null || _a === void 0 ? void 0 : _a.length) ? group.fields.map((field) => {
242
242
  var _a, _b;
243
- return h("div", { key: field.name, class: this.getFieldConfigStyle(field), "data-draggable-element": "field", onMouseDown: (evt) => this.controlMoveField(evt) }, h("snk-field-config", { onEzClickIcon: (evt) => { this.handleFieldConfigChange(evt); }, modeInsertion: false, fieldConfig: field, "data-element-id": this._element.getAttribute("data-element-id"), dataUnit: this.dataUnit, isConfigActive: ((_a = this._fieldConfigSelected) === null || _a === void 0 ? void 0 : _a.name) === field.name }), ((_b = this._fieldConfigSelected) === null || _b === void 0 ? void 0 : _b.name) === field.name &&
244
- h("div", { class: "ez-flex form-config__config-options" }, h("snk-config-options", { idConfig: field.name, dataUnit: this.dataUnit, fieldConfig: this._fieldConfigSelected, "data-element-id": this._element.getAttribute("data-element-id"), onConfigOptionsChanged: (evt) => this.handleconfigOptionsChanged(evt.detail) })));
243
+ return h("div", { key: field.name, class: this.getFieldConfigStyle(field), "data-draggable-element": "field", onMouseDown: (evt) => this.controlMoveField(evt) }, h("snk-field-config", { onEzClickIcon: (evt) => { this.handleFieldConfigChange(evt); }, modeInsertion: false, fieldConfig: field, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), dataUnit: this.dataUnit, isConfigActive: ((_a = this._fieldConfigSelected) === null || _a === void 0 ? void 0 : _a.name) === field.name }), ((_b = this._fieldConfigSelected) === null || _b === void 0 ? void 0 : _b.name) === field.name &&
244
+ h("div", { class: "ez-flex form-config__config-options" }, h("snk-config-options", { idConfig: field.name, dataUnit: this.dataUnit, fieldConfig: this._fieldConfigSelected, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), onConfigOptionsChanged: (evt) => this.handleconfigOptionsChanged(evt.detail) })));
245
245
  }) : h("div", { class: "form-config__add-group-container" }, h("div", { class: "form-config__add-group-content" }, h("div", { class: "form-config__add-group-label" }, h("label", { class: "ez-text ez-text--center ez-text--medium ez-text--primary ez-text--bold" }, this.getMessage("snkFormConfig.form.labelDropField")))));
246
246
  }
247
247
  handleconfigOptionsChanged(fieldEdited) {
@@ -26,13 +26,13 @@ const SnkForm = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
26
26
  this._showFormConfig = false;
27
27
  }
28
28
  /**
29
- * Método responsável em abrir o modal de configurações do form.
29
+ * Exibe a janela de configurações do formulário.
30
30
  */
31
31
  async showConfig() {
32
32
  this._showFormConfig = true;
33
33
  }
34
34
  /**
35
- * Método responsável em fechar o modal de configurações do form.
35
+ * Fecha a janela de configurações do formulário.
36
36
  */
37
37
  async hideConfig() {
38
38
  this._showFormConfig = false;
@@ -151,7 +151,7 @@ const SnkForm = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
151
151
  ElementIDUtils.addIDInfo(this._element, null, dataInfo);
152
152
  }
153
153
  getDataElementId(suffix) {
154
- const elemIdSnkTaskBar = this._element.getAttribute("data-element-id");
154
+ const elemIdSnkTaskBar = this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
155
155
  return `${elemIdSnkTaskBar}_${suffix}`;
156
156
  }
157
157
  componentWillLoad() {
@@ -198,7 +198,7 @@ const SnkForm = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
198
198
  return undefined;
199
199
  }
200
200
  return (h("section", { class: "snk-form" }, h("div", { class: "snk-form__header snk-form__header--fixed ez-row" }, h("div", { class: "ez-col ez-col--sd-6 ez-col--tb-6", key: "formHeader" }, h("ez-button", { title: this.getMessage("snkForm.goBackTitle"), mode: "icon", iconName: "arrow_back", class: "ez-padding-right--medium", size: "small", onClick: () => this.exitForm() }), h("h1", { class: "ez-title ez-title--primary ez-title--xlarge ez-align--middle" }, this.getMessage("snkForm.title"))), h("div", { class: "ez-col ez-col--sd-6 ez-col--tb-6 ez-align--right" }, h("snk-taskbar", { key: "formTaskbar", "data-element-id": this.getDataElementId("form_taskbar"), configName: this.configName, buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, actionsList: this.actionsList, primaryButton: ((_a = this._dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? "SAVE" : "INSERT", dataUnit: this._dataUnit }))), h("section", null, h("div", { class: "ez-row" }, h("div", { class: "ez-col ez-col--sd-12" }, h("ez-form", { key: "ezForm" + this._snkDataUnit.entityName, "data-element-id": this.getDataElementId("internal_form"), dataUnit: this._dataUnit, config: this.getFormConfig(), recordsValidator: this.recordsValidator, class: this._showFormConfig ? 'snk-form__form--hidden' : '' }), this._showFormConfig &&
201
- h("snk-form-config", { dataUnit: this._dataUnit, formConfig: this.getFormConfig(), "data-element-id": this._element.getAttribute("data-element-id"), configName: this.configName, onConfigChange: (evt) => this.changeConfig(evt.detail), onConfigClose: () => this.closeConfig() }))))));
201
+ h("snk-form-config", { dataUnit: this._dataUnit, formConfig: this.getFormConfig(), "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), configName: this.configName, onConfigChange: (evt) => this.changeConfig(evt.detail), onConfigClose: () => this.closeConfig() }))))));
202
202
  }
203
203
  get _element() { return this; }
204
204
  static get style() { return snkFormCss; }
@@ -1,5 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
- import { StringUtils, ApplicationContext, ElementIDUtils } from '@sankhyalabs/core';
2
+ import { StringUtils, ElementIDUtils, ApplicationContext } from '@sankhyalabs/core';
3
3
  import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
4
4
  import { C as ConfigStorage } from './ConfigStorage.js';
5
5
  import { O as ORDER_VALUES } from './constants.js';
@@ -25,6 +25,9 @@ const EzGridConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
25
25
  this.selectedIndex = 0;
26
26
  }
27
27
  /* Creation Methods */
28
+ /**
29
+ * Salva as configurações da grade.
30
+ */
28
31
  async saveConfig(config) {
29
32
  var _a;
30
33
  if (config == undefined || ((_a = this._application) === null || _a === void 0 ? void 0 : _a.configName) == undefined) {
@@ -108,11 +111,11 @@ const EzGridConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
108
111
  this._columListItems = [visibleGroup, hiddenGroup];
109
112
  }
110
113
  buildColumnListSlot(item, group) {
111
- const dataElementId = `${this._element.getAttribute("data-element-id")}_configItem_${StringUtils.toCamelCase(item.label)}`;
114
+ const dataElementId = `${this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME)}_configItem_${StringUtils.toCamelCase(item.label)}`;
112
115
  return (h("div", null, h("ez-check", { mode: 'switch', id: 'switch' + ((item === null || item === void 0 ? void 0 : item.label) || '') + ((group === null || group === void 0 ? void 0 : group.group) || ''), value: group.group === this.getMessage("snkGridConfig.group.visible"), "data-element-id": dataElementId, onEzChange: (evt) => { this.switchColumnGroup(evt, item); } })));
113
116
  }
114
117
  buildOrderListSlot(item) {
115
- const dataElementId = `${this._element.getAttribute("data-element-id")}_configItem_${StringUtils.toCamelCase(item.label)}`;
118
+ const dataElementId = `${this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME)}_configItem_${StringUtils.toCamelCase(item.label)}`;
116
119
  let selectedOption = ORDER_VALUES.none.value;
117
120
  if ((item === null || item === void 0 ? void 0 : item.ascending) != undefined) {
118
121
  selectedOption = item.ascending == true ? ORDER_VALUES.asc.value : ORDER_VALUES.desc.value;
@@ -29,7 +29,7 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
29
29
  this._popUpGridConfig = false;
30
30
  }
31
31
  /**
32
- * Método responsável em abrir o modal de configurações da grade.
32
+ * Exibe a janela de configurações da grade.
33
33
  */
34
34
  async showConfig() {
35
35
  if (this._grid == undefined) {
@@ -38,7 +38,7 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
38
38
  this.openGridConfig();
39
39
  }
40
40
  /**
41
- * Método responsável em fechar o modal de configurações da grade.
41
+ * Fecha a janela de configurações da grade.
42
42
  */
43
43
  async hideConfig() {
44
44
  if (this._grid == undefined) {
@@ -47,7 +47,7 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
47
47
  this.closeGridConfig();
48
48
  }
49
49
  /**
50
- * Método responsável por setar as configurações da grade.
50
+ * Atribui o valor da configuração da grade.
51
51
  */
52
52
  async setConfig(config) {
53
53
  this.setGridConfig(config);
@@ -118,14 +118,14 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
118
118
  ElementIDUtils.addIDInfo(this._element, null, dataInfo);
119
119
  }
120
120
  getDataElementId(suffix) {
121
- const elemIdSnkGrid = this._element.getAttribute("data-element-id");
121
+ const elemIdSnkGrid = this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
122
122
  return `${elemIdSnkGrid}_${suffix}`;
123
123
  }
124
124
  render() {
125
125
  if (!this._dataUnit) {
126
126
  return undefined;
127
127
  }
128
- return (h("div", { class: "snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large" }, h("div", { class: "snk-grid__header ez-padding-bottom--medium ez-margin-bottom--medium" }, h("snk-filter-bar", { dataUnit: this._dataUnit, "data-element-id": this.getDataElementId("internal_filter"), class: "snk-grid__filter-bar ez-align--top", configName: this.configName }), h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" }), h("snk-taskbar", { class: "ez-padding-left--medium", "data-element-id": this.getDataElementId("grid_top_taskbar"), key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: "INSERT" })), h("ez-grid", { ref: ref => this._grid = ref, "data-element-id": this.getDataElementId("internal_grid"), dataUnit: this._dataUnit, key: "grid-" + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => { this.saveConfig(evt.detail); }, onEzDoubleClick: () => this.gridDoubleClick.emit(), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection }, h("snk-taskbar", { dataUnit: this._dataUnit, "data-element-id": this.getDataElementId("grid_left_taskBar"), buttons: this._headerTaskbarProcessor.buttons, disabledButtons: this._headerTaskbarProcessor.disabledButtons, customButtons: this._headerTaskbarProcessor.customButtons, slot: "leftButtons", actionsList: this.actionsList })), h("div", { class: "ez-col ez-col--sd-12" }, h("slot", { name: "SnkGridFooter" })), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._popUpGridConfig, onEzCloseModal: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute("data-element-id"), selectedIndex: 0, onConfigChange: (evt) => this.changeConfig(evt.detail), onConfigCancel: () => this.closeGridConfig() }))));
128
+ return (h("div", { class: "snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large" }, h("div", { class: "snk-grid__header ez-padding-bottom--medium ez-margin-bottom--medium" }, h("snk-filter-bar", { dataUnit: this._dataUnit, "data-element-id": this.getDataElementId("internal_filter"), class: "snk-grid__filter-bar ez-align--top", configName: this.configName }), h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" }), h("snk-taskbar", { class: "ez-padding-left--medium", "data-element-id": this.getDataElementId("grid_top_taskbar"), key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: "INSERT" })), h("ez-grid", { ref: ref => this._grid = ref, "data-element-id": this.getDataElementId("internal_grid"), dataUnit: this._dataUnit, key: "grid-" + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => { this.saveConfig(evt.detail); }, onEzDoubleClick: () => this.gridDoubleClick.emit(), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection }, h("snk-taskbar", { dataUnit: this._dataUnit, "data-element-id": this.getDataElementId("grid_left_taskBar"), buttons: this._headerTaskbarProcessor.buttons, disabledButtons: this._headerTaskbarProcessor.disabledButtons, customButtons: this._headerTaskbarProcessor.customButtons, slot: "leftButtons", actionsList: this.actionsList })), h("div", { class: "ez-col ez-col--sd-12" }, h("slot", { name: "SnkGridFooter" })), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._popUpGridConfig, onEzCloseModal: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), selectedIndex: 0, onConfigChange: (evt) => this.changeConfig(evt.detail), onConfigCancel: () => this.closeGridConfig() }))));
129
129
  }
130
130
  get _element() { return this; }
131
131
  static get style() { return snkGridCss; }
@@ -9,6 +9,9 @@ const SelectBox = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
9
9
  this.__registerHost();
10
10
  this.__attachShadow();
11
11
  this.ezChange = createEvent(this, "ezChange", 7);
12
+ /**
13
+ * Determina a opção selecionada.
14
+ */
12
15
  this.selectedOption = ORDER_VALUES.none;
13
16
  }
14
17
  render() {
@@ -1,5 +1,5 @@
1
1
  import { h, proxyCustomElement, HTMLElement, createEvent, Host } from '@stencil/core/internal/client';
2
- import { StringUtils, ApplicationContext, ElementIDUtils } from '@sankhyalabs/core';
2
+ import { ElementIDUtils, StringUtils, ApplicationContext } from '@sankhyalabs/core';
3
3
  import { A as AuthorizationConfig } from './AuthorizationConfig.js';
4
4
 
5
5
  var TaskbarElement;
@@ -213,11 +213,11 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
213
213
  }
214
214
  }
215
215
  getIdElemBtnNative(taskbarElem) {
216
- const elemIdTaskbar = this._element.getAttribute("data-element-id");
216
+ const elemIdTaskbar = this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
217
217
  return `${elemIdTaskbar}_${StringUtils.toCamelCase(taskbarElem)}`;
218
218
  }
219
219
  getIdElemBtnCustom(btnCustom) {
220
- const elemIdTaskbar = this._element.getAttribute("data-element-id");
220
+ const elemIdTaskbar = this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
221
221
  return `${elemIdTaskbar}_${StringUtils.toCamelCase(btnCustom.name)}`;
222
222
  }
223
223
  isDivider(element) {
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-e4121713.js';
2
- import { WaitingChangeException, WarningException, ErrorException, ObjectUtils, DataType, DataUnit, StringUtils, ChangeOperation, DateUtils, DependencyType, ApplicationContext, ErrorTracking, ElementIDUtils } from '@sankhyalabs/core';
2
+ import { WaitingChangeException, WarningException, ErrorException, ObjectUtils, DataType, DataUnit, StringUtils, ChangeOperation, DateUtils, DependencyType, ElementIDUtils, ApplicationContext, ErrorTracking } from '@sankhyalabs/core';
3
3
  import { d as dist, D as DataFetcher, R as ResourceFetcher, U as UrlUtils, F as FormConfigFetcher, G as GridConfigFetcher, C as ConfigStorage } from './ConfigStorage-99025655.js';
4
4
  import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
5
5
  import { S as SnkMessageBuilder } from './SnkMessageBuilder-f5ef87df.js';
@@ -705,7 +705,7 @@ const SnkApplication = class {
705
705
  }
706
706
  }
707
707
  /**
708
- * Caso o usuário logado seja o SUP.
708
+ * Obtém `true` caso o usuário logado seja o SUP.
709
709
  */
710
710
  async isUserSup() {
711
711
  return new Promise((resolve, reject) => {
@@ -717,7 +717,7 @@ const SnkApplication = class {
717
717
  });
718
718
  }
719
719
  /**
720
- * Se o usuário logado tem permissão pra determinada ação.
720
+ * Obtém `true` caso o usuário logado tem permissão pra determinada ação.
721
721
  */
722
722
  async hasAccess(access) {
723
723
  return new Promise((resolve, reject) => {
@@ -729,7 +729,7 @@ const SnkApplication = class {
729
729
  });
730
730
  }
731
731
  /**
732
- * Retorna todos os acessos do usuário logado.
732
+ * Obtém todos os acessos do usuário logado.
733
733
  */
734
734
  async getAllAccess() {
735
735
  return new Promise((resolve, reject) => {
@@ -746,37 +746,37 @@ const SnkApplication = class {
746
746
  });
747
747
  }
748
748
  /**
749
- * Retorna o valor de um parâmetro do tipo string.
749
+ * Obtém o valor de um parâmetro do tipo string.
750
750
  */
751
751
  async getStringParam(name) {
752
752
  return this.parameters.asString(name);
753
753
  }
754
754
  /**
755
- * Retorna o valor de um parâmetro do tipo Inteiro.
755
+ * Obtém o valor de um parâmetro do tipo Inteiro.
756
756
  */
757
757
  async getIntParam(name) {
758
758
  return this.parameters.asInteger(name);
759
759
  }
760
760
  /**
761
- * Retorna o valor de um parâmetro do tipo Decimal.
761
+ * Obtém o valor de um parâmetro do tipo Decimal.
762
762
  */
763
763
  async getFloatParam(name) {
764
764
  return this.parameters.asFloat(name);
765
765
  }
766
766
  /**
767
- * Retorna o valor de um parâmetro do tipo booleano.
767
+ * Obtém o valor de um parâmetro do tipo booleano.
768
768
  */
769
769
  async getBooleanParam(name) {
770
770
  return this.parameters.asBoolean(name);
771
771
  }
772
772
  /**
773
- * Retorna o valor de um parâmetro do tipo data.
773
+ * Obtém o valor de um parâmetro do tipo data.
774
774
  */
775
775
  async getDateParam(name) {
776
776
  return this.parameters.asDate(name);
777
777
  }
778
778
  /**
779
- * Mostra o conteúdo passado em um Popup
779
+ * Exibe o conteúdo passado em um Popup.
780
780
  */
781
781
  async showPopUp(content, size = "full", useHeader = true) {
782
782
  this.clearContent(this._popUp);
@@ -788,17 +788,23 @@ const SnkApplication = class {
788
788
  this._popUp.useHeader = false;
789
789
  }
790
790
  }
791
+ /**
792
+ * Exibe o conteúdo passado em um Modal.
793
+ */
791
794
  async showModal(content) {
792
795
  this.clearContent(this._rightModal);
793
796
  this._rightModal.appendChild(content);
794
797
  this._rightModal.opened = true;
795
798
  }
799
+ /**
800
+ * Fecha o Modal e limpa o conteúdo.
801
+ */
796
802
  async closeModal() {
797
803
  this.clearContent(this._rightModal);
798
804
  this._rightModal.opened = false;
799
805
  }
800
806
  /**
801
- * Fecha o popup, liberando o conteúdo.
807
+ * Fecha o Popup e limpa o conteúdo.
802
808
  */
803
809
  async closePopUp() {
804
810
  this.clearContent(this._popUp);
@@ -833,7 +839,7 @@ const SnkApplication = class {
833
839
  });
834
840
  }
835
841
  /**
836
- * Retorna a configuração de um recurso por service broker
842
+ * Obtém a configuração de um recurso por service broker
837
843
  */
838
844
  async getConfig(key) {
839
845
  let payload = {
@@ -874,13 +880,13 @@ const SnkApplication = class {
874
880
  });
875
881
  }
876
882
  /**
877
- * Acessa informações de contexto "empurrados" na abertura da tela
883
+ * Acessa informações de contexto "empurrados" na abertura da tela.
878
884
  */
879
885
  async getAttributeFromHTMLWrapper(attribName) {
880
886
  return Promise.resolve(window[attribName]);
881
887
  }
882
888
  /**
883
- * Abre determinada tela, repassando pkObject
889
+ * Abre determinada tela, repassando pkObject.
884
890
  */
885
891
  async openApp(resourceId, pkObject) {
886
892
  Workspace.openAppActivity(resourceId, pkObject);
@@ -898,7 +904,7 @@ const SnkApplication = class {
898
904
  }
899
905
  /**
900
906
  * Cria o DataUnit a partir do nome da entidade. É possível armazená-lo no cache
901
- * passando o dataUnitName, assim, se mais de uma chamada for feita, o mesmo DataUnit será usado
907
+ * passando o dataUnitName, assim, se mais de uma chamada for feita, o mesmo DataUnit será usado.
902
908
  */
903
909
  async createDataunit(entityName, dataUnitName) {
904
910
  return new Promise((resolve, reject) => {
@@ -939,31 +945,31 @@ const SnkApplication = class {
939
945
  });
940
946
  }
941
947
  /**
942
- * Retorna o resourceID da tela em questão.
948
+ * Obtém o resourceID da tela em questão.
943
949
  */
944
950
  async getResourceID() {
945
951
  return Promise.resolve(this.resourceID);
946
952
  }
947
953
  /**
948
- * Retorna o resourceID da tela em questão.
954
+ * Obtém o UserId da tela em questão.
949
955
  */
950
956
  async getUserID() {
951
957
  return Promise.resolve(window["UID"]);
952
958
  }
953
959
  /**
954
- * Mostra o diálogo de alerta de acordo com os parâmetros passados.
960
+ * Exibe o diálogo de alerta de acordo com os parâmetros passados.
955
961
  */
956
962
  async alert(title, message, icon, options) {
957
963
  return ApplicationUtils.alert(title, message, icon, options);
958
964
  }
959
965
  /**
960
- * Mostra o diálogo de erro de acordo com os parâmetros passados.
966
+ * Exibe o diálogo de erro de acordo com os parâmetros passados.
961
967
  */
962
968
  async error(title, message, icon, options) {
963
969
  return ApplicationUtils.error(title, message, icon, options);
964
970
  }
965
971
  /**
966
- * Mostra o diálogo de sucesso de acordo com os parâmetros passados.
972
+ * Exibe o diálogo de sucesso de acordo com os parâmetros passados.
967
973
  */
968
974
  async success(title, message, icon, options) {
969
975
  return ApplicationUtils.success(title, message, icon, options);
@@ -981,43 +987,43 @@ const SnkApplication = class {
981
987
  return ApplicationUtils.confirm(title, message, icon, dialogType, options);
982
988
  }
983
989
  /**
984
- * Mostra uma informação efêmera (de segundo plano).
990
+ * Exibe uma informação efêmera (de segundo plano).
985
991
  */
986
992
  async info(message, options) {
987
993
  return ApplicationUtils.info(message, options);
988
994
  }
989
995
  /**
990
- * Busca a configuração de formulário.
996
+ * Obtém a configuração de formulário.
991
997
  */
992
998
  async loadFormConfig(name) {
993
999
  return this.formConfigFetcher.loadFormConfig(name, this.resourceID);
994
1000
  }
995
1001
  /**
996
- * Busca a configuração de grade.
1002
+ * Obtém a configuração de grade.
997
1003
  */
998
1004
  async loadGridConfig(name) {
999
1005
  return this.gridConfigFetcher.getConfig(name, this.resourceID);
1000
1006
  }
1001
1007
  /**
1002
- * Busca lista de configurações de formulário do usuário.
1008
+ * Obtém a lista de configurações de formulário do usuário.
1003
1009
  */
1004
1010
  async fetchUserAvailableConfigs(name) {
1005
1011
  return this.formConfigFetcher.fetchUserAvailableConfigs(name, this.resourceID);
1006
1012
  }
1007
1013
  /**
1008
- * Busca a configuração de formulário do usuário.
1014
+ * Obtém a configuração de formulário do usuário.
1009
1015
  */
1010
1016
  async fetchLegacyConfig(name) {
1011
1017
  return this.formConfigFetcher.fetchLegacyConfig(name, this.resourceID);
1012
1018
  }
1013
1019
  /**
1014
- * Busca a configuração padrão de formulário.
1020
+ * Obtém a configuração padrão de formulário.
1015
1021
  */
1016
1022
  async fetchDefaultConfig(name) {
1017
1023
  return this.formConfigFetcher.fetchDefaultConfig(name, this.resourceID);
1018
1024
  }
1019
1025
  /**
1020
- * Busca os totalizadores da grade.
1026
+ * Obtém os totalizadores da grade.
1021
1027
  */
1022
1028
  async loadTotals(name, resourceID, filters) {
1023
1029
  return this.totalsFetcher.fetchTotals(name, resourceID, filters);
@@ -1061,13 +1067,13 @@ const SnkApplication = class {
1061
1067
  return this.formConfigFetcher.saveConfig(config, name, this.resourceID);
1062
1068
  }
1063
1069
  /**
1064
- * Busca um objeto com um conjunto de valores padrão.
1070
+ * Obtém um objeto com um conjunto de valores padrão.
1065
1071
  */
1066
1072
  async getDefaultValues() {
1067
1073
  return this.defaultValuesFetcher.getDefaultValues(this.resourceID);
1068
1074
  }
1069
1075
  /**
1070
- * Retorna um valor padrão específico de uma expressão.
1076
+ * Obtém um valor padrão específico de uma expressão.
1071
1077
  */
1072
1078
  async getDefaultValue(expression) {
1073
1079
  return this._defaultValues && this._defaultValues[expression];
@@ -1129,6 +1135,10 @@ const SnkApplication = class {
1129
1135
  }
1130
1136
  return this._defaultValuesFetcher;
1131
1137
  }
1138
+ /**
1139
+ * Obtém as opções em componentes de pesquisa
1140
+ * Ex.: snk-config-options
1141
+ */
1132
1142
  async executeSearch(searchArgument, fieldName, dataUnit) {
1133
1143
  const descriptor = dataUnit === null || dataUnit === void 0 ? void 0 : dataUnit.getField(fieldName);
1134
1144
  if (!descriptor) ;
@@ -1166,12 +1176,16 @@ const SnkApplication = class {
1166
1176
  return this.executePreparedSearch(mode, argument, { entity: ENTITYNAME, entityDescription: DESCRIPTIONENTITY, criteria, searchOptions });
1167
1177
  }
1168
1178
  }
1179
+ /**
1180
+ * Obtém as opções em componentes de pesquisa
1181
+ * Ex.: snk-config-options
1182
+ */
1169
1183
  async executePreparedSearch(mode, argument, options) {
1170
1184
  const { entity, entityDescription, criteria, searchOptions } = options;
1171
1185
  if (mode === "ADVANCED") {
1172
1186
  return new Promise(accept => {
1173
1187
  const pesquisaContent = document.createElement("snk-pesquisa");
1174
- pesquisaContent["data-element-id"] = `entity_${entity}`;
1188
+ pesquisaContent[ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME] = `entity_${entity}`;
1175
1189
  pesquisaContent.argument = argument;
1176
1190
  pesquisaContent.searchLoader = (text) => this.pesquisaFetcher.loadAdvancedSearch(entity, text, criteria, searchOptions);
1177
1191
  pesquisaContent.selectItem = (option) => {
@@ -1187,6 +1201,9 @@ const SnkApplication = class {
1187
1201
  return this.pesquisaFetcher.loadSearchOptions(entity, argument, criteria, searchOptions);
1188
1202
  }
1189
1203
  }
1204
+ /**
1205
+ * Obtém `true` caso a tela esteja em modo de debug.
1206
+ */
1190
1207
  async isDebugMode() {
1191
1208
  return new Promise(accept => {
1192
1209
  accept(window['isDebugMode']);
@@ -11,7 +11,7 @@ const SnkConfigOptions = class {
11
11
  registerInstance(this, hostRef);
12
12
  this.configOptionsChanged = createEvent(this, "configOptionsChanged", 7);
13
13
  /**
14
- * Armazena as propriedades do campo
14
+ * Armazena as propriedades do campo.
15
15
  */
16
16
  this.fieldConfig = {};
17
17
  }