@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
@@ -21,10 +21,16 @@ const SnkConfigurator = class {
21
21
  */
22
22
  this.viewMode = GRID_MODE.name;
23
23
  }
24
+ /**
25
+ * Exibe a janela de configuração.
26
+ */
24
27
  async open() {
25
28
  this._opened = true;
26
29
  this.configSelected.emit(this.getViewModeValue());
27
30
  }
31
+ /**
32
+ * Fecha a janela de configuração.
33
+ */
28
34
  async close() {
29
35
  this.closeConfig();
30
36
  }
@@ -100,7 +106,7 @@ const SnkFieldConfig = class {
100
106
  */
101
107
  this.isConfigActive = false;
102
108
  /**
103
- * Define se o componente está em modo de inserção
109
+ * Define se o componente está em modo de inserção.
104
110
  */
105
111
  this.modeInsertion = true;
106
112
  }
@@ -117,7 +123,7 @@ const SnkFieldConfig = class {
117
123
  * Conforme mecanismo de mensagens, é possível customizar as mensagens dos blocos de construção
118
124
  * através de um pequeno modulo na estrutura da aplicação:
119
125
  * - Criar um arquivo no seguinte caminho: /messages/appmessages.msg.js.
120
- * Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-form.msg.ts"
126
+ * Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-form.msg.ts".
121
127
  */
122
128
  getMessage(key) {
123
129
  return this._application.messagesBuilder.getMessage(key, {});
@@ -162,7 +168,7 @@ const SnkGrid = class {
162
168
  this._popUpGridConfig = false;
163
169
  }
164
170
  /**
165
- * Método responsável em abrir o modal de configurações da grade.
171
+ * Exibe a janela de configurações da grade.
166
172
  */
167
173
  async showConfig() {
168
174
  if (this._grid == undefined) {
@@ -171,7 +177,7 @@ const SnkGrid = class {
171
177
  this.openGridConfig();
172
178
  }
173
179
  /**
174
- * Método responsável em fechar o modal de configurações da grade.
180
+ * Fecha a janela de configurações da grade.
175
181
  */
176
182
  async hideConfig() {
177
183
  if (this._grid == undefined) {
@@ -180,7 +186,7 @@ const SnkGrid = class {
180
186
  this.closeGridConfig();
181
187
  }
182
188
  /**
183
- * Método responsável por setar as configurações da grade.
189
+ * Atribui o valor da configuração da grade.
184
190
  */
185
191
  async setConfig(config) {
186
192
  this.setGridConfig(config);
@@ -251,14 +257,14 @@ const SnkGrid = class {
251
257
  ElementIDUtils.addIDInfo(this._element, null, dataInfo);
252
258
  }
253
259
  getDataElementId(suffix) {
254
- const elemIdSnkGrid = this._element.getAttribute("data-element-id");
260
+ const elemIdSnkGrid = this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
255
261
  return `${elemIdSnkGrid}_${suffix}`;
256
262
  }
257
263
  render() {
258
264
  if (!this._dataUnit) {
259
265
  return undefined;
260
266
  }
261
- return (h("div", { class: "snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large" }, h("div", { class: "snk-grid__header ez-padding-bottom--medium ez-margin-bottom--medium" }, h("snk-filter-bar", { dataUnit: this._dataUnit, "data-element-id": this.getDataElementId("internal_filter"), class: "snk-grid__filter-bar ez-align--top", configName: this.configName }), h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" }), h("snk-taskbar", { class: "ez-padding-left--medium", "data-element-id": this.getDataElementId("grid_top_taskbar"), key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: "INSERT" })), h("ez-grid", { ref: ref => this._grid = ref, "data-element-id": this.getDataElementId("internal_grid"), dataUnit: this._dataUnit, key: "grid-" + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => { this.saveConfig(evt.detail); }, onEzDoubleClick: () => this.gridDoubleClick.emit(), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection }, h("snk-taskbar", { dataUnit: this._dataUnit, "data-element-id": this.getDataElementId("grid_left_taskBar"), buttons: this._headerTaskbarProcessor.buttons, disabledButtons: this._headerTaskbarProcessor.disabledButtons, customButtons: this._headerTaskbarProcessor.customButtons, slot: "leftButtons", actionsList: this.actionsList })), h("div", { class: "ez-col ez-col--sd-12" }, h("slot", { name: "SnkGridFooter" })), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._popUpGridConfig, onEzCloseModal: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute("data-element-id"), selectedIndex: 0, onConfigChange: (evt) => this.changeConfig(evt.detail), onConfigCancel: () => this.closeGridConfig() }))));
267
+ 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() }))));
262
268
  }
263
269
  get _element() { return getElement(this); }
264
270
  };
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-e4121713.js';
2
- import { ApplicationContext, ElementIDUtils } from '@sankhyalabs/core';
2
+ import { ElementIDUtils, ApplicationContext } from '@sankhyalabs/core';
3
3
  import { c as VIEW_MODE } from './constants-babe1a08.js';
4
4
  import { T as TaskbarElement } from './taskbar-elements-a0a8c3ac.js';
5
5
 
@@ -13,7 +13,7 @@ const SnkCrud = class {
13
13
  this.actionClick = createEvent(this, "actionClick", 7);
14
14
  this._viewMode = GRID_MODE.name;
15
15
  /**
16
- * Determina se pode haver mais de uma linha selecionada na grade
16
+ * Determina se pode haver mais de uma linha selecionada na grade.
17
17
  */
18
18
  this.multipleSelection = true;
19
19
  }
@@ -60,7 +60,7 @@ const SnkCrud = class {
60
60
  }
61
61
  }
62
62
  getDataElementId(suffix) {
63
- const elemIdSnkCrud = this._element.getAttribute("data-element-id");
63
+ const elemIdSnkCrud = this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
64
64
  return `${elemIdSnkCrud}_${suffix}`;
65
65
  }
66
66
  componentWillLoad() {
@@ -14,7 +14,7 @@ const SnkDataUnit = class {
14
14
  this.cancelEdition = createEvent(this, "cancelEdition", 7);
15
15
  this._onDataUnitResolve = [];
16
16
  /**
17
- * Determina quantas linhas são retornadas por página
17
+ * Determina quantas linhas são retornadas por página.
18
18
  */
19
19
  this.pageSize = 150;
20
20
  this._dataUnitObserver = (action) => {
@@ -87,9 +87,7 @@ const SnkDataUnit = class {
87
87
  this.dataUnitReady.emit(this.dataUnit);
88
88
  }
89
89
  /**
90
- * Pode-se obter o dataUnit através desse método. Outra forma, é ouvir o evento de
91
- *
92
- * @returns dataUnit
90
+ * Obtém o dataUnit.
93
91
  */
94
92
  async getDataUnit() {
95
93
  return new Promise((resolve) => {
@@ -161,7 +161,7 @@ const SnkFilterBar = class {
161
161
  if (this._element) {
162
162
  const dataInfo = { dataUnit: this.dataUnit };
163
163
  ElementIDUtils.addIDInfo(this._element, null, dataInfo);
164
- const dataElementIdFilterBar = this._element.getAttribute("data-element-id");
164
+ const dataElementIdFilterBar = this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
165
165
  this._idSnkFilterItem = dataElementIdFilterBar;
166
166
  this._idSnkFilterList = dataElementIdFilterBar;
167
167
  }
@@ -433,6 +433,9 @@ const SnkFilterBar = class {
433
433
  this.registryFilterProvider();
434
434
  }
435
435
  }
436
+ /**
437
+ * Emitido quando acontece a alteração do estado do filtro.
438
+ */
436
439
  filterChangeListener(evt) {
437
440
  this.updateFilter(evt.detail);
438
441
  }
@@ -502,6 +505,9 @@ const SnkFilterItem = class {
502
505
  observeDetailIsVisible(value) {
503
506
  this.visibleChanged.emit(value);
504
507
  }
508
+ /**
509
+ * Exibe os detalhes de um item da lista.
510
+ */
505
511
  async showUp(open = false) {
506
512
  return new Promise(resolve => {
507
513
  this._filterItemElement.scrollIntoView({ behavior: "auto", block: "nearest", inline: "nearest" });
@@ -526,6 +532,9 @@ const SnkFilterItem = class {
526
532
  const rect = this._filterItemElement.getBoundingClientRect();
527
533
  return `calc(${rect.left}px + ${padding})`;
528
534
  }
535
+ /**
536
+ * Oculta os detalhes de um item da lista.
537
+ */
529
538
  async hideDetail() {
530
539
  if (this.detailIsVisible) {
531
540
  if (this._floatingID != undefined) {
@@ -624,7 +633,7 @@ const SnkFilterItem = class {
624
633
  componentDidLoad() {
625
634
  if (this._filterItemElement) {
626
635
  ElementIDUtils.addIDInfo(this._filterItemElement);
627
- const dataElementIdDoFilterItem = this._filterItemElement.getAttribute("data-element-id");
636
+ const dataElementIdDoFilterItem = this._filterItemElement.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
628
637
  this._idSnkFilterDetail = `${dataElementIdDoFilterItem}_${this.config.id}`;
629
638
  this._idEzChip = `${dataElementIdDoFilterItem}_${this.config.id}`;
630
639
  }
@@ -636,6 +645,9 @@ const SnkFilterItem = class {
636
645
  }
637
646
  }
638
647
  }
648
+ /**
649
+ * Emitido quando o estado do filtro é alterado.
650
+ */
639
651
  filterChangeListener() {
640
652
  this.hideDetail();
641
653
  }
@@ -692,6 +704,9 @@ const SnkFilterList = class {
692
704
  this._filterArgument = "";
693
705
  this._filterInput.setFocus();
694
706
  }
707
+ /**
708
+ * Oculta os detalhes do componente snk-filter-list.
709
+ */
695
710
  async hideDetail() {
696
711
  if (this._floatingID != undefined) {
697
712
  FloatingManager.close(this._floatingID);
@@ -867,6 +882,9 @@ const EzGridConfig = class {
867
882
  this.selectedIndex = 0;
868
883
  }
869
884
  /* Creation Methods */
885
+ /**
886
+ * Salva as configurações da grade.
887
+ */
870
888
  async saveConfig(config) {
871
889
  var _a;
872
890
  if (config == undefined || ((_a = this._application) === null || _a === void 0 ? void 0 : _a.configName) == undefined) {
@@ -950,11 +968,11 @@ const EzGridConfig = class {
950
968
  this._columListItems = [visibleGroup, hiddenGroup];
951
969
  }
952
970
  buildColumnListSlot(item, group) {
953
- const dataElementId = `${this._element.getAttribute("data-element-id")}_configItem_${StringUtils.toCamelCase(item.label)}`;
971
+ const dataElementId = `${this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME)}_configItem_${StringUtils.toCamelCase(item.label)}`;
954
972
  return (h("div", null, h("ez-check", { mode: 'switch', id: 'switch' + ((item === null || item === void 0 ? void 0 : item.label) || '') + ((group === null || group === void 0 ? void 0 : group.group) || ''), value: group.group === this.getMessage("snkGridConfig.group.visible"), "data-element-id": dataElementId, onEzChange: (evt) => { this.switchColumnGroup(evt, item); } })));
955
973
  }
956
974
  buildOrderListSlot(item) {
957
- const dataElementId = `${this._element.getAttribute("data-element-id")}_configItem_${StringUtils.toCamelCase(item.label)}`;
975
+ const dataElementId = `${this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME)}_configItem_${StringUtils.toCamelCase(item.label)}`;
958
976
  let selectedOption = ORDER_VALUES.none.value;
959
977
  if ((item === null || item === void 0 ? void 0 : item.ascending) != undefined) {
960
978
  selectedOption = item.ascending == true ? ORDER_VALUES.asc.value : ORDER_VALUES.desc.value;
@@ -1326,6 +1344,9 @@ const SelectBox = class {
1326
1344
  constructor(hostRef) {
1327
1345
  registerInstance(this, hostRef);
1328
1346
  this.ezChange = createEvent(this, "ezChange", 7);
1347
+ /**
1348
+ * Determina a opção selecionada.
1349
+ */
1329
1350
  this.selectedOption = ORDER_VALUES.none;
1330
1351
  }
1331
1352
  render() {
@@ -1455,11 +1476,11 @@ const SnkTaskbar = class {
1455
1476
  }
1456
1477
  }
1457
1478
  getIdElemBtnNative(taskbarElem) {
1458
- const elemIdTaskbar = this._element.getAttribute("data-element-id");
1479
+ const elemIdTaskbar = this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
1459
1480
  return `${elemIdTaskbar}_${StringUtils.toCamelCase(taskbarElem)}`;
1460
1481
  }
1461
1482
  getIdElemBtnCustom(btnCustom) {
1462
- const elemIdTaskbar = this._element.getAttribute("data-element-id");
1483
+ const elemIdTaskbar = this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
1463
1484
  return `${elemIdTaskbar}_${StringUtils.toCamelCase(btnCustom.name)}`;
1464
1485
  }
1465
1486
  isDivider(element) {
@@ -9,6 +9,9 @@ const SnkFilterBinarySelect = class {
9
9
  isSelected(option) {
10
10
  return this.value == undefined || this.value === option;
11
11
  }
12
+ /**
13
+ * Emitido quando acontece a alteração de valor do componente snk-filter-binary-select
14
+ */
12
15
  ezChangeListener(evt) {
13
16
  if (!evt.detail) {
14
17
  this.assertCheckedOption(evt.target);
@@ -37,6 +40,9 @@ const SnkFilterBinarySelect = class {
37
40
  this.value = undefined;
38
41
  }
39
42
  }
43
+ /**
44
+ * Exibe o componente snk-filter-binary-select
45
+ */
40
46
  async show() {
41
47
  this._checkOne.setFocus();
42
48
  }
@@ -8,13 +8,16 @@ const SnkFilterDetail = class {
8
8
  registerInstance(this, hostRef);
9
9
  this.filterChange = createEvent(this, "filterChange", 7);
10
10
  }
11
+ /**
12
+ * Exibe o componente snk-filter-detail.
13
+ */
11
14
  async show() {
12
15
  this._editor["show"]();
13
16
  }
14
17
  componentDidLoad() {
15
18
  if (this._element) {
16
19
  ElementIDUtils.addIDInfo(this._element);
17
- const dataElementIdDoFilterItem = this._element.getAttribute("data-element-id");
20
+ const dataElementIdDoFilterItem = this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
18
21
  this._idContentEditor = `${dataElementIdDoFilterItem}_${this.config.id}`;
19
22
  }
20
23
  }
@@ -6,9 +6,15 @@ const SnkFilterMultiSelect = class {
6
6
  constructor(hostRef) {
7
7
  registerInstance(this, hostRef);
8
8
  }
9
+ /**
10
+ * Emitido quando acontece a alteração de valor do componente snk-filter-multi-select
11
+ */
9
12
  ezChangeListener(evt) {
10
13
  this.value = evt.detail.value;
11
14
  }
15
+ /**
16
+ * Exibe o componente snk-filter-multi-select
17
+ */
12
18
  async show() {
13
19
  this._comboElement.setFocus();
14
20
  }
@@ -6,9 +6,15 @@ const SnkFilterPeriod = class {
6
6
  constructor(hostRef) {
7
7
  registerInstance(this, hostRef);
8
8
  }
9
+ /**
10
+ * Emitido quando acontece a alteração de valor do componente snk-filter-number
11
+ */
9
12
  ezChangeListener(evt) {
10
13
  this.value = evt.detail;
11
14
  }
15
+ /**
16
+ * Exibe o componente snk-filter-number
17
+ */
12
18
  async show() {
13
19
  this._numberElement.setFocus();
14
20
  }
@@ -6,6 +6,9 @@ const SnkFilterPeriod = class {
6
6
  constructor(hostRef) {
7
7
  registerInstance(this, hostRef);
8
8
  }
9
+ /**
10
+ * Emitido quando acontece a alteração de valor do componente snk-filter-period
11
+ */
9
12
  ezChangeListener() {
10
13
  const start = this._startDate.value;
11
14
  const end = this._endDate.value;
@@ -28,6 +31,9 @@ const SnkFilterPeriod = class {
28
31
  }
29
32
  return null;
30
33
  }
34
+ /**
35
+ * Exibe o componente snk-filter-period
36
+ */
31
37
  async show() {
32
38
  this._startDate.setFocus();
33
39
  }
@@ -73,6 +73,9 @@ const SnkFilterPersonalized = class {
73
73
  }
74
74
  });
75
75
  }
76
+ /**
77
+ * Exibe o componente snk-filter-personalized
78
+ */
76
79
  async show() {
77
80
  const elem = document.querySelector("#param_0");
78
81
  if (elem) {
@@ -6,6 +6,9 @@ const SnkFilterSearch = class {
6
6
  constructor(hostRef) {
7
7
  registerInstance(this, hostRef);
8
8
  }
9
+ /**
10
+ * Emitido quando acontece a alteração de valor do componente snk-filter-search
11
+ */
9
12
  ezChangeListener(_evt) {
10
13
  this.value = this._searchInput.value;
11
14
  }
@@ -25,6 +28,9 @@ const SnkFilterSearch = class {
25
28
  });
26
29
  });
27
30
  }
31
+ /**
32
+ * Exibe o componente snk-filter-search
33
+ */
28
34
  async show() {
29
35
  this._searchInput.setFocus();
30
36
  }
@@ -5,6 +5,9 @@ const SnkFilterText = class {
5
5
  constructor(hostRef) {
6
6
  registerInstance(this, hostRef);
7
7
  }
8
+ /**
9
+ * Emitido quando acontece a alteração de valor do componente snk-filter-text.
10
+ */
8
11
  ezChangeListener(evt) {
9
12
  this.value = evt.detail;
10
13
  }
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-e4121713.js';
2
2
  import { d as draggable_bundle } from './draggable.bundle-41d56f06.js';
3
- import { ObjectUtils, ArrayUtils, ApplicationContext, ElementIDUtils } from '@sankhyalabs/core';
3
+ import { ObjectUtils, ElementIDUtils, ArrayUtils, ApplicationContext } from '@sankhyalabs/core';
4
4
  import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
5
5
  import { C as CONFIG_EVENTS, T as TAB_NAMES, A as ACTION_CONFIG, D as DEFAULT_TYPE } from './constants-babe1a08.js';
6
6
  import { a as UserConfigType, C as ConfigStorage } from './ConfigStorage-99025655.js';
@@ -238,8 +238,8 @@ const SnkFormConfig = class {
238
238
  var _a;
239
239
  return ((_a = group.fields) === null || _a === void 0 ? void 0 : _a.length) ? group.fields.map((field) => {
240
240
  var _a, _b;
241
- return h("div", { key: field.name, class: this.getFieldConfigStyle(field), "data-draggable-element": "field", onMouseDown: (evt) => this.controlMoveField(evt) }, h("snk-field-config", { onEzClickIcon: (evt) => { this.handleFieldConfigChange(evt); }, modeInsertion: false, fieldConfig: field, "data-element-id": this._element.getAttribute("data-element-id"), dataUnit: this.dataUnit, isConfigActive: ((_a = this._fieldConfigSelected) === null || _a === void 0 ? void 0 : _a.name) === field.name }), ((_b = this._fieldConfigSelected) === null || _b === void 0 ? void 0 : _b.name) === field.name &&
242
- h("div", { class: "ez-flex form-config__config-options" }, h("snk-config-options", { idConfig: field.name, dataUnit: this.dataUnit, fieldConfig: this._fieldConfigSelected, "data-element-id": this._element.getAttribute("data-element-id"), onConfigOptionsChanged: (evt) => this.handleconfigOptionsChanged(evt.detail) })));
241
+ return h("div", { key: field.name, class: this.getFieldConfigStyle(field), "data-draggable-element": "field", onMouseDown: (evt) => this.controlMoveField(evt) }, h("snk-field-config", { onEzClickIcon: (evt) => { this.handleFieldConfigChange(evt); }, modeInsertion: false, fieldConfig: field, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), dataUnit: this.dataUnit, isConfigActive: ((_a = this._fieldConfigSelected) === null || _a === void 0 ? void 0 : _a.name) === field.name }), ((_b = this._fieldConfigSelected) === null || _b === void 0 ? void 0 : _b.name) === field.name &&
242
+ h("div", { class: "ez-flex form-config__config-options" }, h("snk-config-options", { idConfig: field.name, dataUnit: this.dataUnit, fieldConfig: this._fieldConfigSelected, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), onConfigOptionsChanged: (evt) => this.handleconfigOptionsChanged(evt.detail) })));
243
243
  }) : h("div", { class: "form-config__add-group-container" }, h("div", { class: "form-config__add-group-content" }, h("div", { class: "form-config__add-group-label" }, h("label", { class: "ez-text ez-text--center ez-text--medium ez-text--primary ez-text--bold" }, this.getMessage("snkFormConfig.form.labelDropField")))));
244
244
  }
245
245
  handleconfigOptionsChanged(fieldEdited) {
@@ -21,13 +21,13 @@ const SnkForm = class {
21
21
  this._showFormConfig = false;
22
22
  }
23
23
  /**
24
- * Método responsável em abrir o modal de configurações do form.
24
+ * Exibe a janela de configurações do formulário.
25
25
  */
26
26
  async showConfig() {
27
27
  this._showFormConfig = true;
28
28
  }
29
29
  /**
30
- * Método responsável em fechar o modal de configurações do form.
30
+ * Fecha a janela de configurações do formulário.
31
31
  */
32
32
  async hideConfig() {
33
33
  this._showFormConfig = false;
@@ -146,7 +146,7 @@ const SnkForm = class {
146
146
  ElementIDUtils.addIDInfo(this._element, null, dataInfo);
147
147
  }
148
148
  getDataElementId(suffix) {
149
- const elemIdSnkTaskBar = this._element.getAttribute("data-element-id");
149
+ const elemIdSnkTaskBar = this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
150
150
  return `${elemIdSnkTaskBar}_${suffix}`;
151
151
  }
152
152
  componentWillLoad() {
@@ -193,7 +193,7 @@ const SnkForm = class {
193
193
  return undefined;
194
194
  }
195
195
  return (h("section", { class: "snk-form" }, h("div", { class: "snk-form__header snk-form__header--fixed ez-row" }, h("div", { class: "ez-col ez-col--sd-6 ez-col--tb-6", key: "formHeader" }, h("ez-button", { title: this.getMessage("snkForm.goBackTitle"), mode: "icon", iconName: "arrow_back", class: "ez-padding-right--medium", size: "small", onClick: () => this.exitForm() }), h("h1", { class: "ez-title ez-title--primary ez-title--xlarge ez-align--middle" }, this.getMessage("snkForm.title"))), h("div", { class: "ez-col ez-col--sd-6 ez-col--tb-6 ez-align--right" }, h("snk-taskbar", { key: "formTaskbar", "data-element-id": this.getDataElementId("form_taskbar"), configName: this.configName, buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, actionsList: this.actionsList, primaryButton: ((_a = this._dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? "SAVE" : "INSERT", dataUnit: this._dataUnit }))), h("section", null, h("div", { class: "ez-row" }, h("div", { class: "ez-col ez-col--sd-12" }, h("ez-form", { key: "ezForm" + this._snkDataUnit.entityName, "data-element-id": this.getDataElementId("internal_form"), dataUnit: this._dataUnit, config: this.getFormConfig(), recordsValidator: this.recordsValidator, class: this._showFormConfig ? 'snk-form__form--hidden' : '' }), this._showFormConfig &&
196
- h("snk-form-config", { dataUnit: this._dataUnit, formConfig: this.getFormConfig(), "data-element-id": this._element.getAttribute("data-element-id"), configName: this.configName, onConfigChange: (evt) => this.changeConfig(evt.detail), onConfigClose: () => this.closeConfig() }))))));
196
+ h("snk-form-config", { dataUnit: this._dataUnit, formConfig: this.getFormConfig(), "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), configName: this.configName, onConfigChange: (evt) => this.changeConfig(evt.detail), onConfigClose: () => this.closeConfig() }))))));
197
197
  }
198
198
  get _element() { return getElement(this); }
199
199
  };
@@ -0,0 +1 @@
1
+ import{r as t,c as i,h as s,g as e}from"./p-9ba3df4c.js";import{DateUtils as a,ObjectUtils as o,ElementIDUtils as r,ApplicationContext as n}from"@sankhyalabs/core";import{T as h}from"./p-03f9c407.js";import{C as d}from"./p-6ba8f415.js";import"./p-112455b1.js";const l=class{constructor(s){t(this,s),this.exit=i(this,"exit",7),this.actionClick=i(this,"actionClick",7),this._renderTimer=500,this._taskbarProcessor=new h({"snkForm.regular":["PREVIOUS","NEXT","DIVIDER","CLONE","REMOVE","MORE_OPTIONS","DIVIDER","GRID_MODE","CONFIGURATOR","INSERT"],"snkForm.finish_edition":["CANCEL","SAVE"]}),this._editionFormConfig={},this._insertionFormConfig={},this._showFormConfig=!1}async showConfig(){this._showFormConfig=!0}async hideConfig(){this._showFormConfig=!1}loadConfig(){d.get().loadFormConfig(this.configName).then((t=>{this.setConfig(t)||this.loadInsertionConfig()})).catch((t=>{console.warn(t)}))}setConfig(t){return null!=(null==t?void 0:t.fields)&&(setTimeout((async()=>{for(const i of t.fields)if(i.defaultValue&&"value"in i.defaultValue){const t=i.defaultValue.value;await this.getFormattedValue(t).then((t=>{i.defaultValue.formattedValue=t}))}this._editionFormConfig=t,this.loadInsertionConfig()}),this._renderTimer),!0)}async getFormattedValue(t){switch(t){case"${data}":return()=>a.getToday();case"${datahora}":return()=>a.getToday(!0);case"${usuario}":case"${usuario.empresa}":case"${usuario.vendedor}":case"${usuario.centroresultado}":let i;return await this._application.getDefaultValue(t).then((t=>{i=t})),i;default:return t}}loadInsertionConfig(){var t;if(this._dataUnit){const i=o.copy(this._editionFormConfig||{});i.fields=null===(t=i.fields)||void 0===t?void 0:t.filter((t=>{const i=this._dataUnit.getField(t.name);return!(null==i?void 0:i.readOnly)})),this._insertionFormConfig=i}}getFormConfig(){return this._dataState&&this._dataState.insertionMode?this._insertionFormConfig:this._editionFormConfig}exitForm(){this._dataUnit.isDirty()?this._dataUnit.cancelEdition({after:()=>this.exit.emit()}):this.exit.emit()}getMessage(t){return this._application.messagesBuilder.getMessage(t,this.getMessageParams())}getMessageParams(){var t;return(null===(t=this._dataState)||void 0===t?void 0:t.selectedRecords)?this._dataState.selectedRecords[0]:void 0}changeConfig(t){this._editionFormConfig={},this.setConfig(t)||this.loadInsertionConfig()}closeConfig(){this.hideConfig()}getDisabledButtons(){const t=[];return this._dataState.hasPrevious||t.push("PREVIOUS"),this._dataState.hasNext||t.push("NEXT"),t}dataunitReady(){this.loadInsertionConfig(),r.addIDInfo(this._element,null,{dataUnit:this._dataUnit})}getDataElementId(t){return`${this._element.getAttribute(r.DATA_ELEMENT_ID_ATTRIBUTE_NAME)}_${t}`}componentWillLoad(){this._application=n.getContextValue("__SNK__APPLICATION__");let t=this._element.parentElement;for(;t;){if("SNK-DATA-UNIT"===t.tagName.toUpperCase()){this._snkDataUnit=t,this._dataUnit=this._snkDataUnit.dataUnit,this._dataState=this._snkDataUnit.dataState,this._dataUnit?this.dataunitReady():this._snkDataUnit.addEventListener("dataUnitReady",(t=>{this._dataUnit=t.detail,this.loadInsertionConfig()})),this._snkDataUnit.addEventListener("dataStateChange",(t=>{this._dataState=t.detail}));break}t=t.parentElement}this.loadConfig()}componentWillRender(){var t;const i=(null===(t=this._dataState)||void 0===t?void 0:t.isDirty)?"snkForm.finish_edition":"snkForm.regular",s=[];this._dataState&&this._dataState.hasPrevious||s.push("PREVIOUS"),this._dataState&&this._dataState.hasNext||s.push("NEXT"),this._taskbarProcessor.process(i,this.taskbarManager,this._dataState,s)}render(){var t;if(this._dataUnit&&this._dataState)return s("section",{class:"snk-form"},s("div",{class:"snk-form__header snk-form__header--fixed ez-row"},s("div",{class:"ez-col ez-col--sd-6 ez-col--tb-6",key:"formHeader"},s("ez-button",{title:this.getMessage("snkForm.goBackTitle"),mode:"icon",iconName:"arrow_back",class:"ez-padding-right--medium",size:"small",onClick:()=>this.exitForm()}),s("h1",{class:"ez-title ez-title--primary ez-title--xlarge ez-align--middle"},this.getMessage("snkForm.title"))),s("div",{class:"ez-col ez-col--sd-6 ez-col--tb-6 ez-align--right"},s("snk-taskbar",{key:"formTaskbar","data-element-id":this.getDataElementId("form_taskbar"),configName:this.configName,buttons:this._taskbarProcessor.buttons,disabledButtons:this._taskbarProcessor.disabledButtons,customButtons:this._taskbarProcessor.customButtons,actionsList:this.actionsList,primaryButton:(null===(t=this._dataState)||void 0===t?void 0:t.isDirty)?"SAVE":"INSERT",dataUnit:this._dataUnit}))),s("section",null,s("div",{class:"ez-row"},s("div",{class:"ez-col ez-col--sd-12"},s("ez-form",{key:"ezForm"+this._snkDataUnit.entityName,"data-element-id":this.getDataElementId("internal_form"),dataUnit:this._dataUnit,config:this.getFormConfig(),recordsValidator:this.recordsValidator,class:this._showFormConfig?"snk-form__form--hidden":""}),this._showFormConfig&&s("snk-form-config",{dataUnit:this._dataUnit,formConfig:this.getFormConfig(),"data-element-id":this._element.getAttribute(r.DATA_ELEMENT_ID_ATTRIBUTE_NAME),configName:this.configName,onConfigChange:t=>this.changeConfig(t.detail),onConfigClose:()=>this.closeConfig()})))))}get _element(){return e(this)}};l.style=".sc-snk-form-h{display:block}.snk-form.sc-snk-form{position:relative;padding:var(--space--large);padding-top:var(--space--medium)}.snk-form__header.sc-snk-form{position:relative;padding-top:var(--space--medium);padding-bottom:var(--space--medium);margin-bottom:var(--space--medium)}.snk-form__header--fixed.sc-snk-form{position:sticky;top:0;background:var(--background--body);z-index:var(--more-visible, 2);padding-left:var(--space--large);padding-right:var(--space--large);margin-left:calc(var(--space--large) * -1);margin-right:calc(var(--space--large) * -1);width:calc(100% + (var(--space--large) * 2))}.snk-form__form--hidden.sc-snk-form{display:none}";export{l as snk_form}
@@ -1 +1 @@
1
- import{r as i,c as o,h as t,H as n,g as s}from"./p-9ba3df4c.js";import{ApplicationContext as r,ElementIDUtils as e}from"@sankhyalabs/core";import{c as a,A as l}from"./p-6673c77c.js";import{A as c}from"./p-dc36cfbf.js";import{T as d}from"./p-03f9c407.js";import{C as f}from"./p-6ba8f415.js";import"./p-112455b1.js";const g=a.grid,h=a.form,u=class{constructor(t){i(this,t),this.configSelected=o(this,"configSelected",7),this.openConfig=o(this,"openConfig",7),this._opened=!1,this.viewMode=g.name}async open(){this._opened=!0,this.configSelected.emit(this.getViewModeValue())}async close(){this.closeConfig()}closeConfig(){this._opened=!1}onViewModeChanged(i){const o=null==i?void 0:i.detail;this.viewMode=o,this.configSelected.emit(o)}onClickOpenConfig(){this.openConfig.emit(this.viewMode)}isAllowed(i){return!c[i]||!!this._permissions&&(this._permissions.isSup||this._permissions[i])}enableModeConfig(){return!(!this.isAllowed(c.CONFIG_GRID)||!this.isAllowed(c.CONFIG))}getViewModeValue(){return null!=this._permissions&&(this.isAllowed(c.CONFIG_GRID)?this.isAllowed(c.CONFIG)||(this.viewMode=g.name):this.viewMode=h.name),this.viewMode}getMessage(i){var o,t;return null===(t=null===(o=this._application)||void 0===o?void 0:o.messagesBuilder)||void 0===t?void 0:t.getMessage(i,{})}componentWillLoad(){this._application=r.getContextValue("__SNK__APPLICATION__"),this._application?this._application.getAllAccess().then((i=>this._permissions=i)):this._permissions={}}render(){return t("ez-modal",{opened:this._opened,"close-esc":!1,"close-outside-click":!1,"modal-size":"small"},t("div",{class:"snk-configurator"},t("div",{class:"snk-configurator__header"},t("label",{class:"snk-configurator__title"},this.getMessage("snkConfigurator.titleConfigurations")),t("div",{class:"snk-configurator__button-close"},t("ez-button",{mode:"icon",iconName:"close",size:"medium",onClick:()=>this.closeConfig()}))),t("div",{class:"snk-configurator__main"},t("ez-radio-button",{class:"ez-margin-top--medium",label:this.getMessage("snkConfigurator.subTitleModeConfig"),value:this.getViewModeValue(),onEzChange:i=>this.onViewModeChanged(i),enabled:this.enableModeConfig()},t("ez-radio-button-option",{label:this.getMessage("snkConfigurator.labelGrid"),value:g.name}),t("ez-radio-button-option",{label:this.getMessage("snkConfigurator.labelForm"),value:h.name})),t("ez-button",{mode:"slim",label:this.getMessage(this.viewMode===g.name?"snkConfigurator.labelConfigGrid":"snkConfigurator.labelConfigForm"),class:"snk-configurator__button-config ez-button--primary",onClick:()=>this.onClickOpenConfig()}),t("hr",{class:"ez-divider-horizontal ez-margin-vertical--medium"}))))}};u.style='.sc-snk-configurator-h{--snk-configurator__button-close--padding-left:var(--space--medium, 12px);--snk-configurator__title--color:var(--title--primary, #2B3A54);--snk-configurator__title--font-family:var(--font-pattern, "Roboto");--snk-configurator__title--font-size:var(--title--large, 20px);--snk-configurator__title--font-weight:var(--text-weight--extra-large, 700);--snk-configurator__subtitle--color:var(--title--primary, #2B3A54);--snk-configurator__subtitle--font-family:var(--font-pattern, "Roboto");--snk-configurator__subtitle--font-size:var(--text--medium, 14px);--snk-configurator__subtitle--font-weight:var(--text-weight--large, 600);--snk-configurator__scrollbar--border-radius:var(--border--radius-small, 6px);--snk-configurator__scrollbar--width:var(--space--medium, 12px);--snk-configurator__scrollbar--background-color-primary:var(--scrollbar--primary, #2B3A54);--snk-configurator__scrollbar--background-color-secondary:var(--scrollbar--secondary, #E5EAF0)}.snk-configurator.sc-snk-configurator{display:grid;grid-template-rows:auto 1fr auto;max-height:100%;width:100%}@media screen and (min-width: 480px){.snk-configurator.sc-snk-configurator{width:359px;max-width:359px}}.snk-configurator__button-config.sc-snk-configurator{--ez-button--min-width:100%}.snk-configurator__header.sc-snk-configurator{display:flex;justify-content:space-between;align-items:center;width:100%}.snk-configurator__title.sc-snk-configurator{display:flex;margin:0;line-height:normal;letter-spacing:0em;text-align:left;color:var(--snk-configurator__title--color);font-size:var(--snk-configurator__title--font-size);font-family:var(--snk-configurator__title--font-family);font-weight:var(--snk-configurator__title--font-weight)}.snk-configurator__subtitle.sc-snk-configurator{display:flex;margin:0;padding-top:var(--space--medium);padding-bottom:var(--space--small);color:var(--snk-configurator__subtitle--color);font-size:var(--snk-configurator__subtitle--font-size);font-family:var(--snk-configurator__subtitle--font-family);font-weight:var(--snk-configurator__subtitle--font-weight)}.snk-configurator__button-close.sc-snk-configurator{padding-left:var(--snk-configurator__button-close--padding-left)}.snk-configurator__main.sc-snk-configurator{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--snk-configurator__scrollbar--background-color-primary) var(--snk-configurator__scrollbar--background-color-secondary)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-track{background-color:var(--snk-configurator__scrollbar--background-color-secondary)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb{background-color:var(--snk-configurator__scrollbar--background-color-primary);border-radius:var(--snk-configurator__scrollbar--border-radius)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar{background-color:var(--snk-configurator__scrollbar--background-color-secondary);width:var(--snk-configurator__scrollbar--width);max-width:var(--snk-configurator__scrollbar--width);min-width:var(--snk-configurator__scrollbar--width)}';const _=class{constructor(t){i(this,t),this.ezClickIcon=o(this,"ezClickIcon",7),this.isConfigActive=!1,this.modeInsertion=!0}handleAction(i,o){i.preventDefault(),i.stopPropagation();const t=this.fieldConfig;o!==l.configuration&&(t.group=void 0),this.ezClickIcon.emit({field:t,type:o})}getMessage(i){return this._application.messagesBuilder.getMessage(i,{})}isRequired(){var i,o;const t=this.dataUnit&&this.dataUnit.getField(null===(i=this.fieldConfig)||void 0===i?void 0:i.name);return!0===(null==t?void 0:t.required)||!0===(null===(o=this.fieldConfig)||void 0===o?void 0:o.required)}componentWillLoad(){this._application=r.getContextValue("__SNK__APPLICATION__")}componentDidLoad(){e.addIDInfo(this._element,this.fieldConfig.name)}render(){if(null!=this.fieldConfig)return t(n,null,t("div",{class:"field-config"},t("div",{class:"field-config__draggable"},t("ez-icon",{iconName:"drag-indicator",size:"small"})),t("div",null,this.fieldConfig.label,this.isRequired()&&t("span",{class:"field-config__required-label"},"*")),this.modeInsertion?t("div",{class:"field-config__add"},t("ez-button",{onClick:i=>this.handleAction(i,l.add),mode:"icon",class:"ez-button--tertiary",iconName:"plus",size:"large",title:this.getMessage("snkFieldConfig.titleAdd")})):t("div",{class:"field-config__options"+(this.isConfigActive?" field-config__options--is-active":" ")},t("ez-button",{mode:"icon",class:"ez-button--tertiary field-config__remove-icon",onClick:i=>this.handleAction(i,l.remove),iconName:"minus",size:"large",title:this.getMessage("snkFieldConfig.titleRemove")}),t("ez-button",{id:"buttonConfig_"+this.fieldConfig.name,mode:"icon",class:"ez-button--tertiary",onClick:i=>this.handleAction(i,l.configuration),iconName:this.isConfigActive?"chevron-up":"settings-inverted",size:"large",title:this.getMessage("snkFieldConfig.titleConfigurations")}))),this.isConfigActive&&t("div",{class:"field-config__config-popover"},t("div",{class:"field-config__config-outer-arrow"},t("div",{class:"field-config__config-inner-arrow"}))))}get _element(){return s(this)}};_.style=".sc-snk-field-config-h{--snk-field-config--height:42px;--snk-field-config--width:100%;--snk-field-config__icon--width:48px;--snk-field-config--height--slim:32px;--snk-field-config--border-radius:var(--border--radius-medium, 12px);--snk-field-config--font-size:var(--text--medium, 14px);--snk-field-config--font-family:var(--font-pattern, Arial);--snk-field-config--font-weight:var(--text-weight--medium, 400);--snk-field-config--color:var(--title--primary, #000);--snk-field-config__input--background-color:var(--background--medium, #e0e0e0);--snk-field-config__input--border:var(--border--medium, 2px solid);--snk-field-config__input--border-color:var(--background--xlight, #fff);--snk-field-config__required--color:var(--color--error, #FF0000);--snk-field-config__transition--visibility:var(--transition, 0.2s linear);--snk-field-config__transition--opacity:var(--transition, 0.15s linear);display:flex;flex-wrap:wrap;position:relative;width:var(--snk-field-config--width)}.field-config.sc-snk-field-config{width:100%;box-sizing:border-box;display:flex;align-items:center;padding-left:var(--space--medium, 6px);font-weight:var(--snk-field-config--font-weight);height:var(--snk-field-config--height);border-radius:var(--snk-field-config--border-radius);font-family:var(--snk-field-config--font-family);font-size:var(--snk-field-config--font-size);border:var(--snk-field-config__input--border);border-color:var(--snk-field-config__input--border-color);background-color:var(--snk-field-config__input--background-color);color:var(--snk-field-config--color)}.field-config__config-popover.sc-snk-field-config{width:40px;margin-left:auto;z-index:var(--more-visible, 2)}.field-config__required-label.sc-snk-field-config{padding-left:var(--space--extra-small, 3px);color:var(--snk-field-config__required--color)}.field-config__add.sc-snk-field-config{display:flex;margin-left:auto;visibility:hidden;opacity:0;transition:visibility var(--snk-field-config__transition--visibility), opacity var(--snk-field-config__transition--opacity)}.field-config__options.sc-snk-field-config{display:flex;margin-left:auto;visibility:hidden;opacity:0;transition:visibility var(--snk-field-config__transition--visibility), opacity var(--snk-field-config__transition--opacity)}.field-config__options--is-active.sc-snk-field-config{display:flex;visibility:visible;opacity:1}.field-config__remove-icon.sc-snk-field-config{margin-right:-15px}.field-config.sc-snk-field-config:hover .field-config__options.sc-snk-field-config{display:flex;visibility:visible;opacity:1}.field-config.sc-snk-field-config:hover .field-config__add.sc-snk-field-config{visibility:visible;opacity:1}.field-config__draggable.sc-snk-field-config{padding-right:var(--space--small, 6px)}.field-config__config-outer-arrow.sc-snk-field-config{background-color:var(--color--secondary-200);clip-path:polygon(50% 0, 90% 100%, 10% 100%);border-radius:0.25em 0 0 0;width:30px;height:15px;padding-top:3px;border-bottom:1px solid #FFFFFF}.field-config__config-inner-arrow.sc-snk-field-config{background-color:#FFFFFF;clip-path:polygon(50% 0, 90% 100%, 10% 100%);border-radius:0.25em 0 0 0;width:30px;height:15px}.ez-box__container.sc-snk-field-config ez-collapsible-box.sc-snk-field-config{--snk-collapsible-box__header--padding-left:6px}ez-icon.sc-snk-field-config{--snk-icon--color:var(--snk-field-config--color)}ez-popover.sc-snk-field-config{--snk-popover__box--background-color:transparent;--snk-popover__box--box-shadow:none}.field-config__options.sc-snk-field-config ez-button.sc-snk-field-config{--snk-button--background-color:transparent;--snk-button--focus--border:none;--snk-button--focus--box-shadow:none}";const k=class{constructor(t){i(this,t),this.actionClick=o(this,"actionClick",7),this.gridDoubleClick=o(this,"gridDoubleClick",7),this._topTaskbarProcessor=new d({snkGridTopTaskbar:["FORM_MODE","CONFIGURATOR","INSERT"]}),this._headerTaskbarProcessor=new d({"snkGridHeaderTaskbar.unselected":["REFRESH"],"snkGridHeaderTaskbar.selected":["UPDATE","CLONE","REMOVE","MORE_OPTIONS","DIVIDER","REFRESH"]}),this._popUpGridConfig=!1}async showConfig(){null!=this._grid&&this.openGridConfig()}async hideConfig(){null!=this._grid&&this.closeGridConfig()}async setConfig(i){this.setGridConfig(i)}openGridConfig(){this._grid.getColumnsState().then((i=>{this._snkGridConfig.columns=i.filter((i=>i.name)),this._snkGridConfig.selectedIndex=0,this._popUpGridConfig=!0}))}closeGridConfig(){this._popUpGridConfig=!1}setGridConfig(i){this._gridConfig=i}loadConfig(){f.get().loadGridConfig(this.configName).then((i=>{this.setGridConfig(i)})).catch((i=>{console.warn(i)}))}saveConfig(i){this._snkGridConfig.saveConfig(i).then((()=>{this.closeGridConfig()}))}changeConfig(i){this._grid.setColumnsState(i.columns).then((()=>{this.closeGridConfig()}))}componentWillLoad(){let i=this._element.parentElement;for(;i;){if("SNK-DATA-UNIT"===i.tagName.toUpperCase()){this._snkDataUnit=i,this._dataUnit=this._snkDataUnit.dataUnit,this._dataUnit||this._snkDataUnit.addEventListener("dataUnitReady",(i=>{this._dataUnit=i.detail})),this._snkDataUnit.addEventListener("dataStateChange",(i=>{this._dataState=i.detail}));break}i=i.parentElement}this.loadConfig()}componentWillRender(){this._headerTaskbarProcessor.process(this._dataState&&this._dataState.selectedRecords.length>0?"snkGridHeaderTaskbar.selected":"snkGridHeaderTaskbar.unselected",this.taskbarManager,this._dataState),this._topTaskbarProcessor.process("snkGridTopTaskbar",this.taskbarManager,this._dataState)}componentDidLoad(){e.addIDInfo(this._element,null,{dataUnit:this._dataUnit})}getDataElementId(i){return`${this._element.getAttribute("data-element-id")}_${i}`}render(){if(this._dataUnit)return t("div",{class:"snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large"},t("div",{class:"snk-grid__header ez-padding-bottom--medium ez-margin-bottom--medium"},t("snk-filter-bar",{dataUnit:this._dataUnit,"data-element-id":this.getDataElementId("internal_filter"),class:"snk-grid__filter-bar ez-align--top",configName:this.configName}),t("hr",{class:"ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider"}),t("snk-taskbar",{class:"ez-padding-left--medium","data-element-id":this.getDataElementId("grid_top_taskbar"),key:"topTaskbar",configName:this.configName,dataUnit:this._dataUnit,buttons:this._topTaskbarProcessor.buttons,disabledButtons:this._topTaskbarProcessor.disabledButtons,customButtons:this._topTaskbarProcessor.customButtons,primaryButton:"INSERT"})),t("ez-grid",{ref:i=>this._grid=i,"data-element-id":this.getDataElementId("internal_grid"),dataUnit:this._dataUnit,key:"grid-"+this._snkDataUnit.entityName,config:this._gridConfig,onConfigChange:i=>{this.saveConfig(i.detail)},onEzDoubleClick:()=>this.gridDoubleClick.emit(),statusResolver:this.statusResolver,multipleSelection:this.multipleSelection},t("snk-taskbar",{dataUnit:this._dataUnit,"data-element-id":this.getDataElementId("grid_left_taskBar"),buttons:this._headerTaskbarProcessor.buttons,disabledButtons:this._headerTaskbarProcessor.disabledButtons,customButtons:this._headerTaskbarProcessor.customButtons,slot:"leftButtons",actionsList:this.actionsList})),t("div",{class:"ez-col ez-col--sd-12"},t("slot",{name:"SnkGridFooter"})),t("ez-modal",{modalSize:"small",closeEsc:!1,closeOutsideClick:!1,opened:this._popUpGridConfig,onEzCloseModal:()=>this.closeGridConfig()},t("snk-grid-config",{ref:i=>this._snkGridConfig=i,config:this._gridConfig,"data-element-id":this._element.getAttribute("data-element-id"),selectedIndex:0,onConfigChange:i=>this.changeConfig(i.detail),onConfigCancel:()=>this.closeGridConfig()})))}get _element(){return s(this)}};k.style=".snk-grid__container.sc-snk-grid{display:flex;height:100%;width:100%}.snk-grid__header.sc-snk-grid{display:flex;flex-wrap:nowrap;width:100%}.snk-grid__filter-bar.sc-snk-grid{width:100%}.snk-grid__header-divider.sc-snk-grid{margin-bottom:var(--space--small)}";export{u as snk_configurator,_ as snk_field_config,k as snk_grid}
1
+ import{r as i,c as o,h as t,H as n,g as s}from"./p-9ba3df4c.js";import{ApplicationContext as r,ElementIDUtils as e}from"@sankhyalabs/core";import{c as a,A as l}from"./p-6673c77c.js";import{A as c}from"./p-dc36cfbf.js";import{T as d}from"./p-03f9c407.js";import{C as f}from"./p-6ba8f415.js";import"./p-112455b1.js";const g=a.grid,h=a.form,u=class{constructor(t){i(this,t),this.configSelected=o(this,"configSelected",7),this.openConfig=o(this,"openConfig",7),this._opened=!1,this.viewMode=g.name}async open(){this._opened=!0,this.configSelected.emit(this.getViewModeValue())}async close(){this.closeConfig()}closeConfig(){this._opened=!1}onViewModeChanged(i){const o=null==i?void 0:i.detail;this.viewMode=o,this.configSelected.emit(o)}onClickOpenConfig(){this.openConfig.emit(this.viewMode)}isAllowed(i){return!c[i]||!!this._permissions&&(this._permissions.isSup||this._permissions[i])}enableModeConfig(){return!(!this.isAllowed(c.CONFIG_GRID)||!this.isAllowed(c.CONFIG))}getViewModeValue(){return null!=this._permissions&&(this.isAllowed(c.CONFIG_GRID)?this.isAllowed(c.CONFIG)||(this.viewMode=g.name):this.viewMode=h.name),this.viewMode}getMessage(i){var o,t;return null===(t=null===(o=this._application)||void 0===o?void 0:o.messagesBuilder)||void 0===t?void 0:t.getMessage(i,{})}componentWillLoad(){this._application=r.getContextValue("__SNK__APPLICATION__"),this._application?this._application.getAllAccess().then((i=>this._permissions=i)):this._permissions={}}render(){return t("ez-modal",{opened:this._opened,"close-esc":!1,"close-outside-click":!1,"modal-size":"small"},t("div",{class:"snk-configurator"},t("div",{class:"snk-configurator__header"},t("label",{class:"snk-configurator__title"},this.getMessage("snkConfigurator.titleConfigurations")),t("div",{class:"snk-configurator__button-close"},t("ez-button",{mode:"icon",iconName:"close",size:"medium",onClick:()=>this.closeConfig()}))),t("div",{class:"snk-configurator__main"},t("ez-radio-button",{class:"ez-margin-top--medium",label:this.getMessage("snkConfigurator.subTitleModeConfig"),value:this.getViewModeValue(),onEzChange:i=>this.onViewModeChanged(i),enabled:this.enableModeConfig()},t("ez-radio-button-option",{label:this.getMessage("snkConfigurator.labelGrid"),value:g.name}),t("ez-radio-button-option",{label:this.getMessage("snkConfigurator.labelForm"),value:h.name})),t("ez-button",{mode:"slim",label:this.getMessage(this.viewMode===g.name?"snkConfigurator.labelConfigGrid":"snkConfigurator.labelConfigForm"),class:"snk-configurator__button-config ez-button--primary",onClick:()=>this.onClickOpenConfig()}),t("hr",{class:"ez-divider-horizontal ez-margin-vertical--medium"}))))}};u.style='.sc-snk-configurator-h{--snk-configurator__button-close--padding-left:var(--space--medium, 12px);--snk-configurator__title--color:var(--title--primary, #2B3A54);--snk-configurator__title--font-family:var(--font-pattern, "Roboto");--snk-configurator__title--font-size:var(--title--large, 20px);--snk-configurator__title--font-weight:var(--text-weight--extra-large, 700);--snk-configurator__subtitle--color:var(--title--primary, #2B3A54);--snk-configurator__subtitle--font-family:var(--font-pattern, "Roboto");--snk-configurator__subtitle--font-size:var(--text--medium, 14px);--snk-configurator__subtitle--font-weight:var(--text-weight--large, 600);--snk-configurator__scrollbar--border-radius:var(--border--radius-small, 6px);--snk-configurator__scrollbar--width:var(--space--medium, 12px);--snk-configurator__scrollbar--background-color-primary:var(--scrollbar--primary, #2B3A54);--snk-configurator__scrollbar--background-color-secondary:var(--scrollbar--secondary, #E5EAF0)}.snk-configurator.sc-snk-configurator{display:grid;grid-template-rows:auto 1fr auto;max-height:100%;width:100%}@media screen and (min-width: 480px){.snk-configurator.sc-snk-configurator{width:359px;max-width:359px}}.snk-configurator__button-config.sc-snk-configurator{--ez-button--min-width:100%}.snk-configurator__header.sc-snk-configurator{display:flex;justify-content:space-between;align-items:center;width:100%}.snk-configurator__title.sc-snk-configurator{display:flex;margin:0;line-height:normal;letter-spacing:0em;text-align:left;color:var(--snk-configurator__title--color);font-size:var(--snk-configurator__title--font-size);font-family:var(--snk-configurator__title--font-family);font-weight:var(--snk-configurator__title--font-weight)}.snk-configurator__subtitle.sc-snk-configurator{display:flex;margin:0;padding-top:var(--space--medium);padding-bottom:var(--space--small);color:var(--snk-configurator__subtitle--color);font-size:var(--snk-configurator__subtitle--font-size);font-family:var(--snk-configurator__subtitle--font-family);font-weight:var(--snk-configurator__subtitle--font-weight)}.snk-configurator__button-close.sc-snk-configurator{padding-left:var(--snk-configurator__button-close--padding-left)}.snk-configurator__main.sc-snk-configurator{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--snk-configurator__scrollbar--background-color-primary) var(--snk-configurator__scrollbar--background-color-secondary)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-track{background-color:var(--snk-configurator__scrollbar--background-color-secondary)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb{background-color:var(--snk-configurator__scrollbar--background-color-primary);border-radius:var(--snk-configurator__scrollbar--border-radius)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar{background-color:var(--snk-configurator__scrollbar--background-color-secondary);width:var(--snk-configurator__scrollbar--width);max-width:var(--snk-configurator__scrollbar--width);min-width:var(--snk-configurator__scrollbar--width)}';const _=class{constructor(t){i(this,t),this.ezClickIcon=o(this,"ezClickIcon",7),this.isConfigActive=!1,this.modeInsertion=!0}handleAction(i,o){i.preventDefault(),i.stopPropagation();const t=this.fieldConfig;o!==l.configuration&&(t.group=void 0),this.ezClickIcon.emit({field:t,type:o})}getMessage(i){return this._application.messagesBuilder.getMessage(i,{})}isRequired(){var i,o;const t=this.dataUnit&&this.dataUnit.getField(null===(i=this.fieldConfig)||void 0===i?void 0:i.name);return!0===(null==t?void 0:t.required)||!0===(null===(o=this.fieldConfig)||void 0===o?void 0:o.required)}componentWillLoad(){this._application=r.getContextValue("__SNK__APPLICATION__")}componentDidLoad(){e.addIDInfo(this._element,this.fieldConfig.name)}render(){if(null!=this.fieldConfig)return t(n,null,t("div",{class:"field-config"},t("div",{class:"field-config__draggable"},t("ez-icon",{iconName:"drag-indicator",size:"small"})),t("div",null,this.fieldConfig.label,this.isRequired()&&t("span",{class:"field-config__required-label"},"*")),this.modeInsertion?t("div",{class:"field-config__add"},t("ez-button",{onClick:i=>this.handleAction(i,l.add),mode:"icon",class:"ez-button--tertiary",iconName:"plus",size:"large",title:this.getMessage("snkFieldConfig.titleAdd")})):t("div",{class:"field-config__options"+(this.isConfigActive?" field-config__options--is-active":" ")},t("ez-button",{mode:"icon",class:"ez-button--tertiary field-config__remove-icon",onClick:i=>this.handleAction(i,l.remove),iconName:"minus",size:"large",title:this.getMessage("snkFieldConfig.titleRemove")}),t("ez-button",{id:"buttonConfig_"+this.fieldConfig.name,mode:"icon",class:"ez-button--tertiary",onClick:i=>this.handleAction(i,l.configuration),iconName:this.isConfigActive?"chevron-up":"settings-inverted",size:"large",title:this.getMessage("snkFieldConfig.titleConfigurations")}))),this.isConfigActive&&t("div",{class:"field-config__config-popover"},t("div",{class:"field-config__config-outer-arrow"},t("div",{class:"field-config__config-inner-arrow"}))))}get _element(){return s(this)}};_.style=".sc-snk-field-config-h{--snk-field-config--height:42px;--snk-field-config--width:100%;--snk-field-config__icon--width:48px;--snk-field-config--height--slim:32px;--snk-field-config--border-radius:var(--border--radius-medium, 12px);--snk-field-config--font-size:var(--text--medium, 14px);--snk-field-config--font-family:var(--font-pattern, Arial);--snk-field-config--font-weight:var(--text-weight--medium, 400);--snk-field-config--color:var(--title--primary, #000);--snk-field-config__input--background-color:var(--background--medium, #e0e0e0);--snk-field-config__input--border:var(--border--medium, 2px solid);--snk-field-config__input--border-color:var(--background--xlight, #fff);--snk-field-config__required--color:var(--color--error, #FF0000);--snk-field-config__transition--visibility:var(--transition, 0.2s linear);--snk-field-config__transition--opacity:var(--transition, 0.15s linear);display:flex;flex-wrap:wrap;position:relative;width:var(--snk-field-config--width)}.field-config.sc-snk-field-config{width:100%;box-sizing:border-box;display:flex;align-items:center;padding-left:var(--space--medium, 6px);font-weight:var(--snk-field-config--font-weight);height:var(--snk-field-config--height);border-radius:var(--snk-field-config--border-radius);font-family:var(--snk-field-config--font-family);font-size:var(--snk-field-config--font-size);border:var(--snk-field-config__input--border);border-color:var(--snk-field-config__input--border-color);background-color:var(--snk-field-config__input--background-color);color:var(--snk-field-config--color)}.field-config__config-popover.sc-snk-field-config{width:40px;margin-left:auto;z-index:var(--more-visible, 2)}.field-config__required-label.sc-snk-field-config{padding-left:var(--space--extra-small, 3px);color:var(--snk-field-config__required--color)}.field-config__add.sc-snk-field-config{display:flex;margin-left:auto;visibility:hidden;opacity:0;transition:visibility var(--snk-field-config__transition--visibility), opacity var(--snk-field-config__transition--opacity)}.field-config__options.sc-snk-field-config{display:flex;margin-left:auto;visibility:hidden;opacity:0;transition:visibility var(--snk-field-config__transition--visibility), opacity var(--snk-field-config__transition--opacity)}.field-config__options--is-active.sc-snk-field-config{display:flex;visibility:visible;opacity:1}.field-config__remove-icon.sc-snk-field-config{margin-right:-15px}.field-config.sc-snk-field-config:hover .field-config__options.sc-snk-field-config{display:flex;visibility:visible;opacity:1}.field-config.sc-snk-field-config:hover .field-config__add.sc-snk-field-config{visibility:visible;opacity:1}.field-config__draggable.sc-snk-field-config{padding-right:var(--space--small, 6px)}.field-config__config-outer-arrow.sc-snk-field-config{background-color:var(--color--secondary-200);clip-path:polygon(50% 0, 90% 100%, 10% 100%);border-radius:0.25em 0 0 0;width:30px;height:15px;padding-top:3px;border-bottom:1px solid #FFFFFF}.field-config__config-inner-arrow.sc-snk-field-config{background-color:#FFFFFF;clip-path:polygon(50% 0, 90% 100%, 10% 100%);border-radius:0.25em 0 0 0;width:30px;height:15px}.ez-box__container.sc-snk-field-config ez-collapsible-box.sc-snk-field-config{--snk-collapsible-box__header--padding-left:6px}ez-icon.sc-snk-field-config{--snk-icon--color:var(--snk-field-config--color)}ez-popover.sc-snk-field-config{--snk-popover__box--background-color:transparent;--snk-popover__box--box-shadow:none}.field-config__options.sc-snk-field-config ez-button.sc-snk-field-config{--snk-button--background-color:transparent;--snk-button--focus--border:none;--snk-button--focus--box-shadow:none}";const k=class{constructor(t){i(this,t),this.actionClick=o(this,"actionClick",7),this.gridDoubleClick=o(this,"gridDoubleClick",7),this._topTaskbarProcessor=new d({snkGridTopTaskbar:["FORM_MODE","CONFIGURATOR","INSERT"]}),this._headerTaskbarProcessor=new d({"snkGridHeaderTaskbar.unselected":["REFRESH"],"snkGridHeaderTaskbar.selected":["UPDATE","CLONE","REMOVE","MORE_OPTIONS","DIVIDER","REFRESH"]}),this._popUpGridConfig=!1}async showConfig(){null!=this._grid&&this.openGridConfig()}async hideConfig(){null!=this._grid&&this.closeGridConfig()}async setConfig(i){this.setGridConfig(i)}openGridConfig(){this._grid.getColumnsState().then((i=>{this._snkGridConfig.columns=i.filter((i=>i.name)),this._snkGridConfig.selectedIndex=0,this._popUpGridConfig=!0}))}closeGridConfig(){this._popUpGridConfig=!1}setGridConfig(i){this._gridConfig=i}loadConfig(){f.get().loadGridConfig(this.configName).then((i=>{this.setGridConfig(i)})).catch((i=>{console.warn(i)}))}saveConfig(i){this._snkGridConfig.saveConfig(i).then((()=>{this.closeGridConfig()}))}changeConfig(i){this._grid.setColumnsState(i.columns).then((()=>{this.closeGridConfig()}))}componentWillLoad(){let i=this._element.parentElement;for(;i;){if("SNK-DATA-UNIT"===i.tagName.toUpperCase()){this._snkDataUnit=i,this._dataUnit=this._snkDataUnit.dataUnit,this._dataUnit||this._snkDataUnit.addEventListener("dataUnitReady",(i=>{this._dataUnit=i.detail})),this._snkDataUnit.addEventListener("dataStateChange",(i=>{this._dataState=i.detail}));break}i=i.parentElement}this.loadConfig()}componentWillRender(){this._headerTaskbarProcessor.process(this._dataState&&this._dataState.selectedRecords.length>0?"snkGridHeaderTaskbar.selected":"snkGridHeaderTaskbar.unselected",this.taskbarManager,this._dataState),this._topTaskbarProcessor.process("snkGridTopTaskbar",this.taskbarManager,this._dataState)}componentDidLoad(){e.addIDInfo(this._element,null,{dataUnit:this._dataUnit})}getDataElementId(i){return`${this._element.getAttribute(e.DATA_ELEMENT_ID_ATTRIBUTE_NAME)}_${i}`}render(){if(this._dataUnit)return t("div",{class:"snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large"},t("div",{class:"snk-grid__header ez-padding-bottom--medium ez-margin-bottom--medium"},t("snk-filter-bar",{dataUnit:this._dataUnit,"data-element-id":this.getDataElementId("internal_filter"),class:"snk-grid__filter-bar ez-align--top",configName:this.configName}),t("hr",{class:"ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider"}),t("snk-taskbar",{class:"ez-padding-left--medium","data-element-id":this.getDataElementId("grid_top_taskbar"),key:"topTaskbar",configName:this.configName,dataUnit:this._dataUnit,buttons:this._topTaskbarProcessor.buttons,disabledButtons:this._topTaskbarProcessor.disabledButtons,customButtons:this._topTaskbarProcessor.customButtons,primaryButton:"INSERT"})),t("ez-grid",{ref:i=>this._grid=i,"data-element-id":this.getDataElementId("internal_grid"),dataUnit:this._dataUnit,key:"grid-"+this._snkDataUnit.entityName,config:this._gridConfig,onConfigChange:i=>{this.saveConfig(i.detail)},onEzDoubleClick:()=>this.gridDoubleClick.emit(),statusResolver:this.statusResolver,multipleSelection:this.multipleSelection},t("snk-taskbar",{dataUnit:this._dataUnit,"data-element-id":this.getDataElementId("grid_left_taskBar"),buttons:this._headerTaskbarProcessor.buttons,disabledButtons:this._headerTaskbarProcessor.disabledButtons,customButtons:this._headerTaskbarProcessor.customButtons,slot:"leftButtons",actionsList:this.actionsList})),t("div",{class:"ez-col ez-col--sd-12"},t("slot",{name:"SnkGridFooter"})),t("ez-modal",{modalSize:"small",closeEsc:!1,closeOutsideClick:!1,opened:this._popUpGridConfig,onEzCloseModal:()=>this.closeGridConfig()},t("snk-grid-config",{ref:i=>this._snkGridConfig=i,config:this._gridConfig,"data-element-id":this._element.getAttribute(e.DATA_ELEMENT_ID_ATTRIBUTE_NAME),selectedIndex:0,onConfigChange:i=>this.changeConfig(i.detail),onConfigCancel:()=>this.closeGridConfig()})))}get _element(){return s(this)}};k.style=".snk-grid__container.sc-snk-grid{display:flex;height:100%;width:100%}.snk-grid__header.sc-snk-grid{display:flex;flex-wrap:nowrap;width:100%}.snk-grid__filter-bar.sc-snk-grid{width:100%}.snk-grid__header-divider.sc-snk-grid{margin-bottom:var(--space--small)}";export{u as snk_configurator,_ as snk_field_config,k as snk_grid}
@@ -0,0 +1 @@
1
+ import{r as t,c as i,h as s,g as e}from"./p-9ba3df4c.js";import{ElementIDUtils as n,ApplicationContext as a}from"@sankhyalabs/core";import{c as h}from"./p-6673c77c.js";import{T as o}from"./p-4cbc4ae3.js";const r=h.grid,c=h.form,d=class{constructor(s){t(this,s),this.actionClick=i(this,"actionClick",7),this._viewMode=r.name,this.multipleSelection=!0}async goToView(t){this.executeAction(t)}async gridToForm(t=!1){this._backToGrid=!t&&await this._viewStack.getSelectedIndex()===r.index,this.setViewMode(c)}async executeAction(t){t===o.GRID_MODE?this.setViewMode(r):t===o.FORM_MODE||t===o.UPDATE?this.gridToForm(t!==o.UPDATE):t===o.CONFIGURATOR&&this._snkConfigurator.open()}setViewMode(t){this._viewStack.show(t.index),this._viewMode=t.name}openConfig(t){this._snkConfigurator.close(),t===r.name?this._snkGrid.showConfig():t===c.name&&this._snkForm.showConfig()}insertionModeHandler(){this.gridToForm()}cancelHandler(){this._backToGrid&&this.setViewMode(r)}getDataElementId(t){return`${this._element.getAttribute(n.DATA_ELEMENT_ID_ATTRIBUTE_NAME)}_${t}`}componentWillLoad(){let t=this._element.parentElement;for(;t;){if("SNK-DATA-UNIT"===t.tagName.toUpperCase()){this._snkDataUnit=t,this._snkDataUnit.addEventListener("insertionMode",(()=>this.insertionModeHandler())),this._snkDataUnit.addEventListener("cancelEdition",(()=>this.cancelHandler())),this._dataUnit=this._snkDataUnit.dataUnit,this._dataState=this._snkDataUnit.dataState,this._dataUnit||this._snkDataUnit.addEventListener("dataUnitReady",(t=>{this._dataUnit=t.detail})),this._snkDataUnit.addEventListener("dataStateChange",(t=>{this._dataState=t.detail}));break}t=t.parentElement}if(!this.configName){const t=a.getContextValue("__SNK__APPLICATION__");this.configName=t.configName}}componentDidLoad(){n.addIDInfo(this._element,null,{dataUnit:this._dataUnit})}render(){return s("ez-view-stack",{ref:t=>this._viewStack=t,"data-element-id":this.getDataElementId("crud_ViewStack")},s("stack-item",null,s("snk-grid",{ref:t=>this._snkGrid=t,"data-element-id":this.getDataElementId("crud_grid"),configName:this.configName,onGridDoubleClick:()=>this.gridToForm(!0),taskbarManager:this.taskbarManager,onActionClick:t=>this.executeAction(t.detail),actionsList:this.actionsList,statusResolver:this.statusResolver,multipleSelection:this.multipleSelection},s("slot",{name:"SnkGridHeader"}),s("slot",{name:"SnkGridFooter"}),s("slot",{name:"SnkGridTaskBar"}))),s("stack-item",null,s("snk-form",{ref:t=>this._snkForm=t,"data-element-id":this.getDataElementId("crud_form"),configName:this.configName,actionsList:this.actionsList,onExit:()=>this.setViewMode(r),recordsValidator:this.recordsValidator,taskbarManager:this.taskbarManager,onActionClick:t=>this.executeAction(t.detail)},s("slot",{name:"SnkFormTaskBar"}))),s("snk-configurator",{ref:t=>this._snkConfigurator=t,viewMode:this._viewMode,onConfigSelected:t=>this.executeAction(t.detail),onOpenConfig:t=>this.openConfig(t.detail)}))}get _element(){return e(this)}};d.style=".sc-snk-crud-h{display:flex;flex-direction:column;height:100%;width:100%}";export{d as snk_crud}