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