@sankhyalabs/sankhyablocks 1.4.0-beta.1 → 1.4.0-beta.3
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/{SnkMessageBuilder-7717f1e4.js → SnkMessageBuilder-d8215915.js} +14 -119
- package/dist/cjs/{filter-item-type.enum-e2e1bc5b.js → filter-item-type.enum-3daf58d3.js} +2 -0
- package/dist/cjs/{index-b0b676c5.js → index-6fcf07f3.js} +159 -1515
- package/dist/cjs/loader.cjs.js +2 -18
- package/dist/cjs/sankhyablocks.cjs.js +4 -116
- package/dist/cjs/snk-application.cjs.entry.js +84 -230
- package/dist/cjs/snk-crud.cjs.entry.js +3 -3
- package/dist/cjs/snk-data-unit.cjs.entry.js +24 -32
- package/dist/cjs/snk-filter-bar_5.cjs.entry.js +902 -0
- package/dist/cjs/snk-filter-binary-select.cjs.entry.js +2 -2
- package/dist/cjs/snk-filter-detail.cjs.entry.js +38 -3
- package/dist/cjs/snk-filter-multi-select.cjs.entry.js +2 -2
- package/dist/cjs/snk-filter-number.cjs.entry.js +2 -2
- package/dist/cjs/snk-filter-period.cjs.entry.js +2 -2
- package/dist/cjs/snk-filter-personalized.cjs.entry.js +90 -0
- package/dist/cjs/snk-filter-search.cjs.entry.js +4 -4
- package/dist/cjs/snk-filter-text.cjs.entry.js +1 -1
- package/dist/cjs/{snk-form.cjs.entry.js → snk-form_2.cjs.entry.js} +119 -5
- package/dist/cjs/snk-pesquisa.cjs.entry.js +5 -5
- package/dist/cjs/{taskbar-elements-283c737e.js → taskbar-elements-aedfeae6.js} +1 -1
- package/dist/cjs/teste-pesquisa.cjs.entry.js +5 -5
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/snk-application/snk-application.js +54 -7
- package/dist/collection/components/snk-crud/snk-crud.js +2 -4
- package/dist/collection/components/snk-data-unit/snk-data-unit.js +0 -27
- package/dist/collection/components/snk-filter-bar/filter-item/dataunitfilter/data-unit-filter-builder.js +100 -0
- package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-personalized.js +161 -0
- package/dist/collection/components/snk-filter-bar/filter-item/filter-item-type.enum.js +2 -0
- package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +36 -1
- package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +32 -9
- package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +196 -0
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +22 -0
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +238 -139
- package/dist/collection/components/snk-grid/snk-grid.js +2 -4
- package/dist/collection/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.js +18 -10
- package/dist/collection/lib/message/resources/snk-filter-bar.msg.js +14 -2
- package/dist/components/SnkMessageBuilder.js +15 -119
- package/dist/components/filter-item-type.enum.js +2 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.js +2 -4
- package/dist/components/snk-application2.js +47 -191
- package/dist/components/snk-crud.js +16 -10
- package/dist/components/snk-data-unit.js +3 -12
- package/dist/components/snk-filter-bar2.js +342 -146
- package/dist/components/snk-filter-detail2.js +36 -1
- package/dist/components/snk-filter-item2.js +33 -10
- package/dist/components/snk-filter-list2.js +1 -1
- package/dist/components/snk-filter-modal.d.ts +11 -0
- package/dist/components/snk-filter-modal.js +6 -0
- package/dist/components/snk-filter-modal2.js +58 -0
- package/dist/components/snk-filter-personalized.d.ts +11 -0
- package/dist/components/snk-filter-personalized.js +108 -0
- package/dist/components/snk-filter-search.js +1 -1
- package/dist/components/snk-form2.js +1 -1
- package/dist/components/snk-grid2.js +16 -10
- package/dist/components/snk-pesquisa2.js +1 -1
- package/dist/components/snk-taskbar2.js +1 -1
- package/dist/components/teste-pesquisa.js +1 -1
- package/dist/{sankhyablocks/SnkMessageBuilder-a7da466b.js → esm/SnkMessageBuilder-35a20271.js} +15 -119
- package/dist/esm/{filter-item-type.enum-61fbf80a.js → filter-item-type.enum-a79b2fa8.js} +2 -0
- package/dist/{sankhyablocks/index-2b4d2d14.js → esm/index-81dda3cf.js} +160 -1508
- package/dist/esm/loader.js +2 -18
- package/dist/esm/sankhyablocks.js +4 -116
- package/dist/esm/snk-application.entry.js +46 -192
- package/dist/esm/snk-crud.entry.js +2 -2
- package/dist/esm/snk-data-unit.entry.js +4 -12
- package/dist/esm/snk-filter-bar_5.entry.js +894 -0
- package/dist/esm/snk-filter-binary-select.entry.js +2 -2
- package/dist/esm/snk-filter-detail.entry.js +38 -3
- package/dist/esm/snk-filter-multi-select.entry.js +2 -2
- package/dist/esm/snk-filter-number.entry.js +2 -2
- package/dist/esm/snk-filter-period.entry.js +2 -2
- package/dist/esm/snk-filter-personalized.entry.js +86 -0
- package/dist/esm/snk-filter-search.entry.js +3 -3
- package/dist/esm/snk-filter-text.entry.js +1 -1
- package/dist/esm/{snk-form.entry.js → snk-form_2.entry.js} +117 -4
- package/dist/esm/snk-pesquisa.entry.js +2 -2
- package/dist/{sankhyablocks/taskbar-elements-35d64ff9.js → esm/taskbar-elements-38eb5d51.js} +1 -1
- package/dist/esm/teste-pesquisa.entry.js +2 -2
- package/dist/sankhyablocks/index.esm.js +0 -1
- package/dist/sankhyablocks/p-0352c0e2.entry.js +1 -0
- package/dist/sankhyablocks/p-07ebda01.entry.js +1 -0
- package/dist/sankhyablocks/p-322c0df2.entry.js +1 -0
- package/dist/sankhyablocks/p-46caa101.entry.js +1 -0
- package/dist/sankhyablocks/p-473cedf9.entry.js +1 -0
- package/dist/sankhyablocks/p-586e2522.js +1 -0
- package/dist/sankhyablocks/p-86f15ffe.js +1 -0
- package/dist/sankhyablocks/p-8f3c5709.entry.js +1 -0
- package/dist/sankhyablocks/p-97009a2c.entry.js +1 -0
- package/dist/sankhyablocks/p-9be74b46.entry.js +74 -0
- package/dist/sankhyablocks/p-9dd2b8cb.js +1 -0
- package/dist/sankhyablocks/p-a8b59c61.entry.js +1 -0
- package/dist/sankhyablocks/p-aecf3e0a.entry.js +1 -0
- package/dist/sankhyablocks/p-c1c3b5d8.entry.js +1 -0
- package/dist/sankhyablocks/p-c78cb79a.entry.js +1 -0
- package/dist/sankhyablocks/p-c9eec639.entry.js +1 -0
- package/dist/sankhyablocks/p-dc482a42.entry.js +1 -0
- package/dist/sankhyablocks/p-fac2b6a9.js +2 -0
- package/dist/sankhyablocks/p-fb705f81.entry.js +1 -0
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -129
- package/dist/types/components/snk-application/snk-application.d.ts +4 -1
- package/dist/types/components/snk-filter-bar/filter-item/dataunitfilter/data-unit-filter-builder.d.ts +4 -0
- package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-personalized.d.ts +23 -0
- package/dist/types/components/snk-filter-bar/filter-item/filter-item-type.enum.d.ts +3 -1
- package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +2 -0
- package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +23 -0
- package/dist/types/components.d.ts +56 -8
- package/package.json +3 -3
- package/react/components.d.ts +19 -0
- package/react/components.js +19 -0
- package/react/components.js.map +1 -1
- package/dist/cjs/app-globals-3a1e7e63.js +0 -5
- package/dist/cjs/css-shim-b8158822.js +0 -6
- package/dist/cjs/dom-36862b77.js +0 -75
- package/dist/cjs/index-02201bc9.js +0 -2397
- package/dist/cjs/shadow-css-346c0795.js +0 -389
- package/dist/cjs/snk-filter-bar.cjs.entry.js +0 -278
- package/dist/cjs/snk-filter-item.cjs.entry.js +0 -154
- package/dist/cjs/snk-filter-list.cjs.entry.js +0 -91
- package/dist/cjs/snk-grid.cjs.entry.js +0 -79
- package/dist/cjs/snk-taskbar.cjs.entry.js +0 -160
- package/dist/cjs/taskbar-processor-6bd0d35c.js +0 -47
- package/dist/components/index2.js +0 -2384
- package/dist/esm/SnkMessageBuilder-a7da466b.js +0 -303
- package/dist/esm/app-globals-0f993ce5.js +0 -3
- package/dist/esm/css-shim-b3f2ee8d.js +0 -4
- package/dist/esm/dom-665d6011.js +0 -73
- package/dist/esm/index-2b4d2d14.js +0 -3262
- package/dist/esm/index-f1d3e4da.js +0 -2384
- package/dist/esm/shadow-css-b18e99d7.js +0 -387
- package/dist/esm/snk-filter-bar.entry.js +0 -274
- package/dist/esm/snk-filter-item.entry.js +0 -150
- package/dist/esm/snk-filter-list.entry.js +0 -87
- package/dist/esm/snk-grid.entry.js +0 -75
- package/dist/esm/snk-taskbar.entry.js +0 -156
- package/dist/esm/taskbar-elements-35d64ff9.js +0 -90
- package/dist/esm/taskbar-processor-aa6772c9.js +0 -45
- package/dist/sankhyablocks/app-globals-0f993ce5.js +0 -3
- package/dist/sankhyablocks/css-shim-b3f2ee8d.js +0 -4
- package/dist/sankhyablocks/dom-665d6011.js +0 -73
- package/dist/sankhyablocks/filter-item-type.enum-61fbf80a.js +0 -12
- package/dist/sankhyablocks/index-f1d3e4da.js +0 -2384
- package/dist/sankhyablocks/shadow-css-b18e99d7.js +0 -387
- package/dist/sankhyablocks/snk-application.entry.js +0 -8148
- package/dist/sankhyablocks/snk-crud.entry.js +0 -66
- package/dist/sankhyablocks/snk-data-unit.entry.js +0 -276
- package/dist/sankhyablocks/snk-filter-bar.entry.js +0 -274
- package/dist/sankhyablocks/snk-filter-binary-select.entry.js +0 -43
- package/dist/sankhyablocks/snk-filter-detail.entry.js +0 -45
- package/dist/sankhyablocks/snk-filter-item.entry.js +0 -150
- package/dist/sankhyablocks/snk-filter-list.entry.js +0 -87
- package/dist/sankhyablocks/snk-filter-multi-select.entry.js +0 -19
- package/dist/sankhyablocks/snk-filter-number.entry.js +0 -20
- package/dist/sankhyablocks/snk-filter-period.entry.js +0 -33
- package/dist/sankhyablocks/snk-filter-search.entry.js +0 -40
- package/dist/sankhyablocks/snk-filter-text.entry.js +0 -18
- package/dist/sankhyablocks/snk-form.entry.js +0 -129
- package/dist/sankhyablocks/snk-grid.entry.js +0 -75
- package/dist/sankhyablocks/snk-pesquisa.entry.js +0 -311
- package/dist/sankhyablocks/snk-taskbar.entry.js +0 -156
- package/dist/sankhyablocks/taskbar-processor-aa6772c9.js +0 -45
- package/dist/sankhyablocks/teste-pesquisa.entry.js +0 -33
- package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +0 -51
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as registerInstance, h,
|
|
2
|
-
import { F as FilterItemType } from './filter-item-type.enum-
|
|
1
|
+
import { r as registerInstance, h, H as Host } from './index-81dda3cf.js';
|
|
2
|
+
import { F as FilterItemType } from './filter-item-type.enum-a79b2fa8.js';
|
|
3
3
|
|
|
4
4
|
const SnkFilterBinarySelect = class {
|
|
5
5
|
constructor(hostRef) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { r as registerInstance,
|
|
2
|
-
import {
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, H as Host } from './index-81dda3cf.js';
|
|
2
|
+
import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
|
|
3
|
+
import { F as FilterItemType } from './filter-item-type.enum-a79b2fa8.js';
|
|
3
4
|
|
|
4
5
|
const SnkFilterDetail = class {
|
|
5
6
|
constructor(hostRef) {
|
|
@@ -21,6 +22,8 @@ const SnkFilterDetail = class {
|
|
|
21
22
|
return "snk-filter-search";
|
|
22
23
|
case FilterItemType.NUMBER:
|
|
23
24
|
return "snk-filter-number";
|
|
25
|
+
case FilterItemType.PERSONALIZED:
|
|
26
|
+
return "snk-filter-personalized";
|
|
24
27
|
}
|
|
25
28
|
return "snk-filter-text";
|
|
26
29
|
}
|
|
@@ -36,9 +39,41 @@ const SnkFilterDetail = class {
|
|
|
36
39
|
h("ez-icon", { title: this.getMessage(this.config.fixed ? "snkFilterBar.unpinFilter" : "snkFilterBar.pinFilter"), class: "ez-margin-left--small sc-snk-filter-bar snk-filter-item__editor-header-button", iconName: this.config.fixed ? "un-pin" : "push-pin", onClick: () => this.changeConfig(Object.assign(Object.assign({}, this.config), { fixed: !this.config.fixed })) })
|
|
37
40
|
]);
|
|
38
41
|
}
|
|
42
|
+
apply() {
|
|
43
|
+
var _a;
|
|
44
|
+
let isValid = true;
|
|
45
|
+
const value = this._editor["value"];
|
|
46
|
+
/* WARNING: Temporário. Isso só está sendo feito até desconsiderar os parametros não informados para PersonalizedFilter*/
|
|
47
|
+
if (value != undefined && this.config.type === FilterItemType.PERSONALIZED) {
|
|
48
|
+
const params = ((_a = this.config.props.personalizedFilter) === null || _a === void 0 ? void 0 : _a.parameters) || [];
|
|
49
|
+
if (params.length > 1) {
|
|
50
|
+
if (params.length > value.length) {
|
|
51
|
+
isValid = false;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
value.forEach(item => {
|
|
55
|
+
if (item == undefined) {
|
|
56
|
+
isValid = false;
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (!isValid) {
|
|
62
|
+
this.keepOpened = true;
|
|
63
|
+
ApplicationUtils.alert("Filtro parcialmente preenchido", "Favor completar todas as informações do filtro.").then(() => setTimeout(() => this.keepOpened = false, 1));
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/* WARNING: Temporário.*/
|
|
67
|
+
if (isValid) {
|
|
68
|
+
this.changeConfig(Object.assign(Object.assign({}, this.config), { value: value }));
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
clear() {
|
|
72
|
+
this.changeConfig(Object.assign(Object.assign({}, this.config), { value: undefined }));
|
|
73
|
+
}
|
|
39
74
|
render() {
|
|
40
75
|
const ContentEditor = this.getContentEditor();
|
|
41
|
-
return (h(Host, null, h("div", { class: "col ez-col--sd-12 ez-align--right ez-padding-medium ez-flex--align-items-center" }, h("div", { class: "ez-text ez-title ez-title--small ez-padding--small sc-snk-filter-bar snk-filter-item__editor-header" }, this.config.detailTitle), this.getPopUpHeaderButtons()), h(ContentEditor, { ref: ref => this._editor = ref, value: this.config.value, config: this.config, fix: () => this.keepOpened = true, unfix: () => this.keepOpened = false }), h("hr", { class: "sc-snk-filter-bar snk-filter__popover-rule" }), h("div", { class: "ez-col ez-col--sd-12 ez-align--right" }, h("ez-button", { label: this.getMessage("snkFilterBar.cleanFilter"), onClick: () => this.
|
|
76
|
+
return (h(Host, null, h("div", { class: "col ez-col--sd-12 ez-align--right ez-padding-medium ez-flex--align-items-center" }, h("div", { class: "ez-text ez-title ez-title--small ez-padding--small sc-snk-filter-bar snk-filter-item__editor-header" }, this.config.detailTitle), this.getPopUpHeaderButtons()), h(ContentEditor, { ref: ref => this._editor = ref, value: this.config.value, config: this.config, fix: () => this.keepOpened = true, unfix: () => this.keepOpened = false }), h("hr", { class: "sc-snk-filter-bar snk-filter__popover-rule" }), h("div", { class: "ez-col ez-col--sd-12 ez-align--right" }, h("ez-button", { label: this.getMessage("snkFilterBar.cleanFilter"), onClick: () => this.clear(), size: "small" }), h("ez-button", { label: this.getMessage("snkFilterBar.applyFilter"), onClick: () => this.apply(), size: "small", class: "ez-button--primary ez-padding-left--medium" }))));
|
|
42
77
|
}
|
|
43
78
|
};
|
|
44
79
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as registerInstance, h } from './index-
|
|
2
|
-
import { F as FilterItemType } from './filter-item-type.enum-
|
|
1
|
+
import { r as registerInstance, h } from './index-81dda3cf.js';
|
|
2
|
+
import { F as FilterItemType } from './filter-item-type.enum-a79b2fa8.js';
|
|
3
3
|
|
|
4
4
|
const SnkFilterMultiSelect = class {
|
|
5
5
|
constructor(hostRef) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as registerInstance, h } from './index-
|
|
2
|
-
import { F as FilterItemType } from './filter-item-type.enum-
|
|
1
|
+
import { r as registerInstance, h } from './index-81dda3cf.js';
|
|
2
|
+
import { F as FilterItemType } from './filter-item-type.enum-a79b2fa8.js';
|
|
3
3
|
|
|
4
4
|
const SnkFilterPeriod = class {
|
|
5
5
|
constructor(hostRef) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as registerInstance, h } from './index-
|
|
2
|
-
import { F as FilterItemType } from './filter-item-type.enum-
|
|
1
|
+
import { r as registerInstance, h } from './index-81dda3cf.js';
|
|
2
|
+
import { F as FilterItemType } from './filter-item-type.enum-a79b2fa8.js';
|
|
3
3
|
|
|
4
4
|
const SnkFilterPeriod = class {
|
|
5
5
|
constructor(hostRef) {
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { r as registerInstance, h, H as Host } from './index-81dda3cf.js';
|
|
2
|
+
import { UserInterface, ApplicationContext } from '@sankhyalabs/core';
|
|
3
|
+
import { convertType } from '@sankhyalabs/core/dist/dataunit/metadata/DataType';
|
|
4
|
+
import { F as FilterItemType } from './filter-item-type.enum-a79b2fa8.js';
|
|
5
|
+
|
|
6
|
+
const SnkFilterPersonalized = class {
|
|
7
|
+
constructor(hostRef) {
|
|
8
|
+
registerInstance(this, hostRef);
|
|
9
|
+
}
|
|
10
|
+
getValue(param, index) {
|
|
11
|
+
if (this.value && index >= 0 && index < this.value.length) {
|
|
12
|
+
const rawValue = this.value[index];
|
|
13
|
+
if (param.type === UserInterface.SEARCH) {
|
|
14
|
+
return rawValue;
|
|
15
|
+
}
|
|
16
|
+
return convertType(param.dataType, rawValue);
|
|
17
|
+
}
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
setValue(index, value) {
|
|
21
|
+
if (this.value == undefined) {
|
|
22
|
+
this.value = Array(index).fill(null);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
this.value = [...this.value];
|
|
26
|
+
}
|
|
27
|
+
this.value[index] = value;
|
|
28
|
+
if (this.value.filter(item => item != undefined).length == 0) {
|
|
29
|
+
this.value = null;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
doSearch(mode, argument, param) {
|
|
33
|
+
const application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
|
|
34
|
+
if (this.fix) {
|
|
35
|
+
this.fix();
|
|
36
|
+
}
|
|
37
|
+
return new Promise((resolve, reject) => {
|
|
38
|
+
application.executePreparedSearch(mode, argument, param.searchContext)
|
|
39
|
+
.then(result => {
|
|
40
|
+
resolve(result);
|
|
41
|
+
if (this.unfix) {
|
|
42
|
+
this.unfix();
|
|
43
|
+
}
|
|
44
|
+
}).catch(reason => {
|
|
45
|
+
reject(reason);
|
|
46
|
+
if (this.unfix) {
|
|
47
|
+
this.unfix();
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
getParamsInterface() {
|
|
53
|
+
var _a, _b, _c;
|
|
54
|
+
const params = (_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.props) === null || _b === void 0 ? void 0 : _b.personalizedFilter) === null || _c === void 0 ? void 0 : _c.parameters;
|
|
55
|
+
return params.map((param, index) => {
|
|
56
|
+
var _a;
|
|
57
|
+
switch (param.type) {
|
|
58
|
+
case UserInterface.SEARCH:
|
|
59
|
+
return h("ez-search", { suppressEmptyOption: true, value: this.getValue(param, index), onEzChange: evt => this.setValue(index, evt.detail), label: param.label, optionLoader: ({ mode, argument }) => this.doSearch(mode, argument, param) });
|
|
60
|
+
case UserInterface.SWITCH:
|
|
61
|
+
case UserInterface.CHECKBOX:
|
|
62
|
+
const mode = UserInterface.SWITCH === param.type ? "switch" : "regular";
|
|
63
|
+
return h("ez-check", { class: "ez-padding-bottom--medium", mode: mode, value: this.getValue(param, index), label: param.label, onEzChange: evt => this.setValue(index, evt.detail) });
|
|
64
|
+
case UserInterface.DECIMALNUMBER:
|
|
65
|
+
case UserInterface.INTEGERNUMBER:
|
|
66
|
+
return h("ez-number-input", { label: param.label, value: this.getValue(param, index), precision: (_a = param.props) === null || _a === void 0 ? void 0 : _a.precision, onEzChange: evt => this.setValue(index, evt.detail) });
|
|
67
|
+
case UserInterface.OPTIONSELECTOR:
|
|
68
|
+
return h("ez-combo-box", { label: param.label, value: this.getValue(param, index), options: param.options, onEzChange: evt => { var _a; return this.setValue(index, (_a = evt.detail) === null || _a === void 0 ? void 0 : _a.value); } });
|
|
69
|
+
case UserInterface.DATE:
|
|
70
|
+
return h("ez-date-input", { label: param.label, value: this.getValue(param, index), onEzChange: evt => this.setValue(index, evt.detail) });
|
|
71
|
+
case UserInterface.DATETIME:
|
|
72
|
+
return h("ez-date-time-input", { label: param.label, value: this.getValue(param, index), onEzChange: evt => this.setValue(index, evt.detail) });
|
|
73
|
+
default:
|
|
74
|
+
return h("ez-text-input", { label: param.label, value: this.getValue(param, index), onEzChange: evt => this.setValue(index, evt.detail) });
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
render() {
|
|
79
|
+
if (!this.config || this.config.type !== FilterItemType.PERSONALIZED) {
|
|
80
|
+
return undefined;
|
|
81
|
+
}
|
|
82
|
+
return (h(Host, null, this.getParamsInterface()));
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
export { SnkFilterPersonalized as snk_filter_personalized };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { r as registerInstance, h } from './index-
|
|
2
|
-
import {
|
|
3
|
-
import { F as FilterItemType } from './filter-item-type.enum-
|
|
1
|
+
import { r as registerInstance, h } from './index-81dda3cf.js';
|
|
2
|
+
import { ApplicationContext } from '@sankhyalabs/core';
|
|
3
|
+
import { F as FilterItemType } from './filter-item-type.enum-a79b2fa8.js';
|
|
4
4
|
|
|
5
5
|
const SnkFilterSearch = class {
|
|
6
6
|
constructor(hostRef) {
|
|
@@ -1,6 +1,50 @@
|
|
|
1
|
-
import { r as registerInstance,
|
|
2
|
-
import {
|
|
3
|
-
import { T as
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, g as getElement } from './index-81dda3cf.js';
|
|
2
|
+
import { ApplicationContext } from '@sankhyalabs/core';
|
|
3
|
+
import { T as TaskbarElement } from './taskbar-elements-38eb5d51.js';
|
|
4
|
+
|
|
5
|
+
class TaskbarProcessor {
|
|
6
|
+
constructor(defaultButtons) {
|
|
7
|
+
this._defaultButtons = defaultButtons;
|
|
8
|
+
}
|
|
9
|
+
process(taskbarId, taskbarManager, dataState, disabledButtons = []) {
|
|
10
|
+
var _a;
|
|
11
|
+
this.customButtons = new Map();
|
|
12
|
+
this.buttons = "";
|
|
13
|
+
this.disabledButtons = [];
|
|
14
|
+
(_a = this.getButtonsArray(taskbarId, taskbarManager, dataState)) === null || _a === void 0 ? void 0 : _a.forEach(btnDef => {
|
|
15
|
+
let buttonName;
|
|
16
|
+
if (typeof btnDef === "string") {
|
|
17
|
+
buttonName = btnDef;
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
const customBtn = btnDef;
|
|
21
|
+
this.customButtons.set(customBtn.name, customBtn);
|
|
22
|
+
buttonName = customBtn.name;
|
|
23
|
+
}
|
|
24
|
+
if (!this.isEnabled(taskbarId, taskbarManager, buttonName, dataState, disabledButtons)) {
|
|
25
|
+
this.disabledButtons.push(buttonName);
|
|
26
|
+
}
|
|
27
|
+
if (this.buttons.length > 0) {
|
|
28
|
+
this.buttons += ",";
|
|
29
|
+
}
|
|
30
|
+
this.buttons += buttonName;
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
getButtonsArray(taskbarId, taskbarManager, dataState) {
|
|
34
|
+
const defaults = this._defaultButtons[taskbarId];
|
|
35
|
+
if (taskbarManager) {
|
|
36
|
+
return taskbarManager.getButtons(taskbarId, dataState, [...defaults]);
|
|
37
|
+
}
|
|
38
|
+
return defaults;
|
|
39
|
+
}
|
|
40
|
+
isEnabled(taskbarId, taskbarManager, buttonName, dataState, disabled) {
|
|
41
|
+
const originalValue = disabled.includes(buttonName) ? false : true;
|
|
42
|
+
if (taskbarManager && taskbarManager.isEnabled) {
|
|
43
|
+
return taskbarManager.isEnabled(taskbarId, dataState, buttonName, originalValue);
|
|
44
|
+
}
|
|
45
|
+
return originalValue;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
4
48
|
|
|
5
49
|
const snkFormCss = ".sc-snk-form-h{display:block}.snk-form.sc-snk-form{position:relative;padding:var(--space--large);padding-top:var(--space--medium)}.snk-form__header.sc-snk-form{position:relative;padding-top:var(--space--medium);padding-bottom:var(--space--medium);margin-bottom:var(--space--medium)}.snk-form__header--fixed.sc-snk-form{position:sticky;top:0;background:var(--background--body);z-index:var(--more-visible, 2);padding-left:var(--space--large);padding-right:var(--space--large);margin-left:calc(var(--space--large) * -1);margin-right:calc(var(--space--large) * -1);width:calc(100% + (var(--space--large) * 2))}";
|
|
6
50
|
|
|
@@ -126,4 +170,73 @@ const SnkForm = class {
|
|
|
126
170
|
};
|
|
127
171
|
SnkForm.style = snkFormCss;
|
|
128
172
|
|
|
129
|
-
|
|
173
|
+
const snkGridCss = ".snk-grid__container.sc-snk-grid{display:flex;height:100%;width:100%}.snk-grid__header.sc-snk-grid{display:flex;flex-wrap:nowrap;width:100%}.snk-grid__filter-bar.sc-snk-grid{width:100%}.snk-grid__header-divider.sc-snk-grid{margin-bottom:var(--space--small)}";
|
|
174
|
+
|
|
175
|
+
const SnkGrid = class {
|
|
176
|
+
constructor(hostRef) {
|
|
177
|
+
registerInstance(this, hostRef);
|
|
178
|
+
this.actionClick = createEvent(this, "actionClick", 7);
|
|
179
|
+
this.gridDoubleClick = createEvent(this, "gridDoubleClick", 7);
|
|
180
|
+
this._topTaskbarProcessor = new TaskbarProcessor({
|
|
181
|
+
"snkGridTopTaskbar": ["FORM_MODE", "CONFIG_GRID", "INSERT"]
|
|
182
|
+
});
|
|
183
|
+
this._headerTaskbarProcessor = new TaskbarProcessor({
|
|
184
|
+
"snkGridHeaderTaskbar.unselected": ["REFRESH"],
|
|
185
|
+
"snkGridHeaderTaskbar.selected": ["UPDATE", "CLONE", "REMOVE", "MORE_OPTIONS", "DIVIDER", "REFRESH"]
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
actionClickHandler(evt) {
|
|
189
|
+
if (evt.detail === TaskbarElement.CONFIG_GRID && this._grid) {
|
|
190
|
+
this._grid.openGridConfig();
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
saveConfig(config) {
|
|
194
|
+
const snkApplication = ApplicationContext.getContextValue("__SNK__APPLICATION__");
|
|
195
|
+
if (snkApplication) {
|
|
196
|
+
snkApplication.saveGridConfig(config);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
componentWillLoad() {
|
|
200
|
+
const snkApplication = ApplicationContext.getContextValue("__SNK__APPLICATION__");
|
|
201
|
+
if (snkApplication) {
|
|
202
|
+
snkApplication.loadGridConfig(this.configName).then(cfg => {
|
|
203
|
+
this._gridConfig = cfg;
|
|
204
|
+
this._configLoaded = true;
|
|
205
|
+
});
|
|
206
|
+
//Forçamos a carga dos acessos pra aproveitar a request inicial.
|
|
207
|
+
snkApplication.getAllAccess();
|
|
208
|
+
}
|
|
209
|
+
let parent = this._element.parentElement;
|
|
210
|
+
while (parent) {
|
|
211
|
+
if (parent.tagName.toUpperCase() === "SNK-DATA-UNIT") {
|
|
212
|
+
this._snkDataUnit = parent;
|
|
213
|
+
this._dataUnit = this._snkDataUnit.dataUnit;
|
|
214
|
+
if (!this._dataUnit) {
|
|
215
|
+
this._snkDataUnit.addEventListener("dataUnitReady", (evt) => {
|
|
216
|
+
this._dataUnit = evt.detail;
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
this._snkDataUnit.addEventListener("dataStateChange", (evt) => {
|
|
220
|
+
this._dataState = evt.detail;
|
|
221
|
+
});
|
|
222
|
+
break;
|
|
223
|
+
}
|
|
224
|
+
parent = parent.parentElement;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
componentWillRender() {
|
|
228
|
+
const headerTaskbarId = this._dataState && this._dataState.selectedRecords.length > 0 ? "snkGridHeaderTaskbar.selected" : "snkGridHeaderTaskbar.unselected";
|
|
229
|
+
this._headerTaskbarProcessor.process(headerTaskbarId, this.taskbarManager, this._dataState);
|
|
230
|
+
this._topTaskbarProcessor.process("snkGridTopTaskbar", this.taskbarManager, this._dataState);
|
|
231
|
+
}
|
|
232
|
+
render() {
|
|
233
|
+
if (!this._configLoaded || !this._dataUnit) {
|
|
234
|
+
return undefined;
|
|
235
|
+
}
|
|
236
|
+
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", onActionClick: evt => this.actionClickHandler(evt), key: "topTaskbar", 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 }, 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" }))));
|
|
237
|
+
}
|
|
238
|
+
get _element() { return getElement(this); }
|
|
239
|
+
};
|
|
240
|
+
SnkGrid.style = snkGridCss;
|
|
241
|
+
|
|
242
|
+
export { SnkForm as snk_form, SnkGrid as snk_grid };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as registerInstance, h,
|
|
2
|
-
import {
|
|
1
|
+
import { r as registerInstance, h, H as Host } from './index-81dda3cf.js';
|
|
2
|
+
import { ObjectUtils, StringUtils } from '@sankhyalabs/core';
|
|
3
3
|
|
|
4
4
|
const snkPesquisaCss = ".sc-snk-pesquisa-h{--snk-pesquisa--font-size:var(--text--medium, 14px);--snk-pesquisa--font-family:var(--font-pattern, Arial);--snk-pesquisa--font-weight:var(--text-weight--medium, 400);--snk-pesquisa__records--color:var(--text--primary, #626e82);--snk-pesquisa__records--padding-vertical:var(--space--medium, 12px);--snk-pesquisa__content--padding-right:var(--space--small, 6px);--snk-pesquisa__content-scrollbar--background-color-primary:var(--scrollbar--primary, #2B3A54);--snk-pesquisa__content-scrollbar--background-color-secondary:var(--scrollbar--secondary, #E5EAF0);--snk-pesquisa__content-scrollbar--border-radius:var(--border--radius-small, 6px);--snk-pesquisa__content-scrollbar--width:var(--space--medium, 12px);--snk-pesquisa__btn--color:var(--title--primary, #2B3A54);--snk-pesquisa__btn-disabled--color:var(--text--disable, #AFB6C0);--snk-pesquisa__btn-hover--color:var(--color--primary, #4e4e4e);max-height:100%;height:100%;display:flex;flex-direction:column;overflow-y:auto}.snk-pesquisa.sc-snk-pesquisa{display:flex;flex-direction:column;height:100%}.snk-pesquisa__input.sc-snk-pesquisa{display:flex;width:100%;box-sizing:border-box;padding-top:4px;padding-right:4px}.snk-pesquisa__input.sc-snk-pesquisa ez-icon.sc-snk-pesquisa{--ez-icon--color:inherit;font-weight:var(--text-weight--large, 600)}.snk-pesquisa__content.sc-snk-pesquisa{display:flex;flex-direction:column;height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--snk-pesquisa__content-scrollbar--background-color-primary) var(--snk-pesquisa__content-scrollbar--background-color-secondary);padding-right:var(--snk-pesquisa__content--padding-right)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-track{background-color:var(--snk-pesquisa__content-scrollbar--background-color-secondary);border-radius:var(--snk-pesquisa__content-scrollbar--border-radius)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-thumb{background-color:var(--snk-pesquisa__content-scrollbar--background-color-primary);border-radius:var(--snk-pesquisa__content-scrollbar--border-radius)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar{background-color:var(--snk-pesquisa__content-scrollbar--background-color-secondary);width:var(--snk-pesquisa__content-scrollbar--width);max-width:var(--snk-pesquisa__content-scrollbar--width);min-width:var(--snk-pesquisa__content-scrollbar--width)}.snk-pesquisa__records.sc-snk-pesquisa{font-family:var(--snk-pesquisa--font-family);font-weight:var(--snk-pesquisa--font-weight);font-size:var(--snk-pesquisa--font-size);color:var(--snk-pesquisa__records--color);padding-bottom:var(--snk-pesquisa__records--padding-vertical);padding-top:var(--snk-pesquisa__records--padding-vertical)}.snk-pesquisa__btn.sc-snk-pesquisa{outline:none;border:none;background:none;cursor:pointer;color:var(--snk-pesquisa__btn--color)}.snk-pesquisa__btn.sc-snk-pesquisa:disabled{cursor:unset;color:var(--snk-pesquisa__btn-disabled--color)}.snk-pesquisa__btn.sc-snk-pesquisa:disabled:hover{cursor:unset;color:var(--snk-pesquisa__btn-disabled--color)}.snk-pesquisa__btn.sc-snk-pesquisa:hover{color:var(--snk-pesquisa__btn-hover--color)}";
|
|
5
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as registerInstance, h } from './index-
|
|
2
|
-
import {
|
|
1
|
+
import { r as registerInstance, h } from './index-81dda3cf.js';
|
|
2
|
+
import { DataUnit, DataType, UserInterface } from '@sankhyalabs/core';
|
|
3
3
|
|
|
4
4
|
const testePesquisaCss = ":host{display:block}";
|
|
5
5
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as a,h as e}from"./p-fac2b6a9.js";import{DataUnit as r,DataType as o,UserInterface as i}from"@sankhyalabs/core";const s=class{constructor(e){a(this,e)}componentWillLoad(){this.dataUnit=new r("testes_com_formulario"),this.dataUnit.metadata={name:"dd://br.com.sankhya.fin.cad.movimentacaoFinanceira/Financeiro",label:"Parceiro",fields:[{name:"CODPARC",label:"Parceiro",dataType:o.NUMBER,userInterface:i.SEARCH,required:!0,properties:{ENTITYNAME:"Parceiro"}}]}}render(){return e("snk-application",null,e("ez-form",{dataUnit:this.dataUnit}))}};s.style=":host{display:block}";export{s as teste_pesquisa}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as s,h as t,H as e}from"./p-fac2b6a9.js";import{F as i}from"./p-9dd2b8cb.js";const r=class{constructor(t){s(this,t)}isSelected(s){return null==this.value||this.value===s}ezChangeListener(s){s.detail||this.assertCheckedOption(s.target),this.updateValue()}assertCheckedOption(s){s===this._checkOne?this._checkTwo.value=!0:this._checkOne.value=!0}updateValue(){if(this._checkOne.value&&this._checkTwo.value)this.value=void 0;else{const[s,t]=this.config.props.options;this.value=this._checkOne.value?s.name:t.name}}render(){if(!this.config||this.config.type!==i.BINARY_SELECT)return;const[s,r]=this.config.props.options;return t(e,null,t("ez-check",{label:s.label,class:"sc-snk-filter-bar editor__ez-check",ref:s=>this._checkOne=s,value:this.isSelected(s.name)}),t("ez-check",{label:r.label,class:"sc-snk-filter-bar editor__ez-check",ref:s=>this._checkTwo=s,value:this.isSelected(r.name)}))}};export{r as snk_filter_binary_select}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as t,c as i,h as s,g as a}from"./p-fac2b6a9.js";import{ApplicationContext as n}from"@sankhyalabs/core";const e=class{constructor(s){t(this,s),this.actionClick=i(this,"actionClick",7)}async gridToForm(t=!1){this._backToGrid=!t&&0===await this._viewStack.getSelectedIndex(),this._viewStack.show(1)}async executeAction(t){"GRID_MODE"===t?this._viewStack.show(0):"FORM_MODE"!==t&&"UPDATE"!==t||this.gridToForm("UPDATE"!==t)}insertionModeHandler(){this.gridToForm()}cancelHandler(){this._backToGrid&&this._viewStack.show(0)}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=n.getContextValue("__SNK__APPLICATION__");this.configName=t.configName}}render(){return s("ez-view-stack",{ref:t=>this._viewStack=t},s("stack-item",null,s("snk-grid",{configName:this.configName,onGridDoubleClick:()=>this.gridToForm(!0),taskbarManager:this.taskbarManager,onActionClick:t=>this.executeAction(t.detail),actionsList:this.actionsList,statusResolver:this.statusResolver},s("slot",{name:"SnkGridHeader"}),s("slot",{name:"SnkGridFooter"}),s("slot",{name:"SnkGridTaskBar"}))),s("stack-item",null,s("snk-form",{configName:this.configName,actionsList:this.actionsList,onExit:()=>this._viewStack.show(0),recordsValidator:this.recordsValidator,taskbarManager:this.taskbarManager,onActionClick:t=>this.executeAction(t.detail)},s("slot",{name:"SnkFormTaskBar"}))))}get _element(){return a(this)}};e.style=".sc-snk-crud-h{display:flex;flex-direction:column;height:100%;width:100%}";export{e as snk_crud}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as t,h as e}from"./p-fac2b6a9.js";const s=class{constructor(e){t(this,e)}ezChangeListener(t){this.value=t.detail}render(){if(this.config)return e("ez-text-input",{label:this.config.label,value:this.config.value})}};export{s as snk_filter_text}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as s,h as t}from"./p-fac2b6a9.js";import{ApplicationContext as r}from"@sankhyalabs/core";import{F as i}from"./p-9dd2b8cb.js";const e=class{constructor(t){s(this,t)}ezChangeListener(s){this.value=this._searchInput.value}doSearch(s,t){const i=r.getContextValue("__SNK__APPLICATION__");return this.fix&&this.fix(),new Promise(((r,e)=>{i.executePreparedSearch(s,t,this.config.props.searchContext).then((s=>{r(s),this.unfix&&this.unfix()})).catch((s=>{e(s),this.unfix&&this.unfix()}))}))}render(){if(this.config&&this.config.type===i.SEARCH)return t("ez-search",{suppressEmptyOption:!0,value:this.config.value,label:this.config.label,ref:s=>this._searchInput=s,optionLoader:({mode:s,argument:t})=>this.doSearch(s,t)})}};export{e as snk_filter_search}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e={saveInfo:{clone:"Duplicação realizada!",insert:"Inclusão realizada!",update:"Aleração realizada!"},cancelInfo:{clone:"Duplicação descartada!",insert:"A inclusão descartada!",update:"A edição foi descartada!"},removeInfo:"Registro removido com sucesso!",cancelConfirmationTitle:"Aviso",cancelConfirmation:"As alterações realizadas serão descartadas<br/><br/><b>Você realmente gostaria de cancelar?",removeConfirmationTitle:"Excluir",removeConfirmation:"Deseja realmente excluir o registro atual?",forbidden:"Sem permissão",forbiddenUpdate:"Não é possível fazer alterações. Verifique as permissões de acesso.",forbiddenInsert:"Não é possível incluir. Verifique as permissões de acesso.",forbiddenClone:"Não é possível duplicar. Verifique as permissões de acesso.",forbiddenRemove:"Não é possível remover. Verifique as permissões de acesso."},i={addFilter:"Adicionar filtro",pinFilter:"Fixar filtro",unpinFilter:"Desfixar filtro",removeFilter:"Remover filtro",cleanFilter:"Limpar",applyFilter:"Aplicar",findFilter:"Buscar filtros...",findField:"Buscar filtros...",modalFindFilter:"Buscar filtro",emptyFiltersList:"Não há filtros disponíveis",emptyAppliedFiltersList:"Não há filtros aplicados",customFilter:"Filtro personalizado",defaultFilter:"Filtro padrão",failToLoadConfig:"Falha ao buscar configuração de filtros",clearAllFilters:"Limpar todos os filtros",successfullyCleaned:"Filtro limpo com sucesso!",activeFilter:"{{ACTIVE_FILTERS}} filtro aplicado",activeFilters:"{{ACTIVE_FILTERS}} filtros aplicados",noActiveFilters:"Nenhum filtro aplicado",modalDefaultFilterTitle:"Filtro padrão",modalInfoTextEditDefault:"Use o layout antigo para editar o seu filtro padrão, em breve traremos uma nova experiência.",modalInfoTextCreateDefault:"Use o layout antigo para criar o seu filtro padrão, em breve traremos uma nova experiência.",modalPersonalizedFilterTitle:"Filtro personalizado",modalPersonalizedFilterSubTitle:"Gerencie seus filtros",modalInfoTextCreateEditPersonalized:"Use o layout antigo para criar ou editar filtros, em breve traremos uma nova experiência",modalOkButtonLabel:"Aplicar",modalCancelButtonLabel:"Limpar"},r={title:{clone:"Duplicar registro",insert:"Cadastrar registro",update:"Alterar registro",clean:"{{ENTITY_NAME}}"},goBackTitle:"Voltar"},a={titleUpdate:"Editar",titlePrevious:"Anterior",titleNext:"Próximo",titleRefresh:"Atualizar",titleClone:"Duplicar",titleRemove:"Excluir",titleMoreOptions:"Mais Opções",titleInsert:"Cadastrar",titleCancel:"Cancelar",titleSave:"Salvar",titleGridMode:"Modo Grade",titleFormMode:"Modo Formulário",titleConfigGrid:"Configuração da grade",forbidden:"Permissão não liberada"};class o{constructor(){this._defaults={snkDataUnit:e,snkForm:r,snkTaskbar:a,snkFilterBar:i},this._currentOperation=t.CLEAN,this.loadAppMessages().then((e=>{this._appMessages=e}),(e=>{console.info("O arquivo de mensagens personalizadas não foi encontrado no caminho /messages/appmessages.js",e)}))}set currentOperation(e){this._currentOperation=e}getMessage(e,i){if(null==e)return;var r=e.split(".");let a=this.resolveMessage(r,this._appMessages);if(null==a&&(a=this.resolveMessage(r,this._defaults)),this.customMessageBuilder){const r=this.customMessageBuilder(e,a,i);a=r.message,i=r.params}return this.postProcess(a,i)}resolveMessage(e,i){if(null==i)return;const r=i[e[0]];return r?this.isOperationSensitive(r)?r[this._currentOperation]:1===e.length||null==r||"string"==typeof r?r:this.resolveMessage(e.slice(1),r):void 0}isOperationSensitive(e){return null!=e[t.CLONE]||null!=e[t.INSERT]||null!=e[t.UPDATE]||null!=e[t.CLEAN]}postProcess(e,i){if(e){const r=/(.*?)\{\{(.+?)\}\}/g;let a,o="",t=e;for(;null!==(a=r.exec(e));){const[r,s,l]=a,n=a.index+r.length;t=n<e.length?e.substring(n):"";let d=i?i[l]:void 0;null==d&&(d=""),o+=s+d}return o+t}return e}loadAppMessages(){return new Promise(((e,i)=>{const r="dev"!==window.applicationenv?`/${window.MGE_MODULE_NAME}/labsApps/${window.APPLICATION_NAME}/build/messages/appmessages.js`:"/messages/appmessages.js";import(r).then((i=>{e(i.default)})).catch((e=>{i(e)}))}))}}var t;!function(e){e.CLONE="clone",e.INSERT="insert",e.UPDATE="update",e.CLEAN="clean"}(t||(t={}));export{t as O,o as S}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{h as e}from"./p-fac2b6a9.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.CONFIG_GRID="CONFIG_GRID",e.MORE_OPTIONS="MORE_OPTIONS",e.DIVIDER="DIVIDER"}(t||(t={})),function(e){e.UPDATE="UPDATE",e.CLONE="CLONE",e.REMOVE="REMOVE",e.INSERT="INSERT",e.CONFIG_GRID="CONFIG_GRID"}(n||(n={})),function(e){e.CONFIG_GRID="CONFIG_GRID"}(a||(a={}));const s=(e,t,n,a)=>{const{hint:s,text:r,iconName:o}=e;return o?r?l(o,e.name,t,s,r,n,a):i(o,e.name,t,s,n,a):c(e.name,t,r,s,n,a)},r=(n,a,s,r,o,u)=>{const E=s(n);switch(n){case t.PREVIOUS:return i("chevron-left",n,a,E,r,o);case t.NEXT:return i("chevron-right",n,a,E,r,o);case t.REFRESH:return i("sync",n,a,E,r,o);case t.UPDATE:return i("edit",n,a,E,r,o);case t.CLONE:return i("copy",n,a,E,r,o);case t.REMOVE:return i("delete",n,a,E,r,o);case t.INSERT:return l("plus",n,a,E,E,r,o);case t.CANCEL:return c(n,a,E,E,r,o);case t.SAVE:return l("save",n,a,E,E,r,o);case t.GRID_MODE:return i("table",n,a,E,r,o);case t.FORM_MODE:return i("list",n,a,E,r,o);case t.CONFIG_GRID:return i("settings-inverted",n,a,E,r,o);case t.MORE_OPTIONS:return u&&u.length>0?e("ez-actions-button",{title:E,size:"small",class:a,enabled:o(n),onEzAction:e=>r(e.detail.value),actions:u}):void 0;case t.DIVIDER:return e("hr",{class:"ez-divider-vertical ez-divider--dark ez-margin-horizontal--medium"})}};function c(t,n,a,s,r,c){return e("ez-button",{title:s,label:a,size:"small",class:n,enabled:c(t),onClick:()=>r(t)})}function i(t,n,a,s,r,c){return e("ez-button",{name:t,title:s,mode:"icon",size:"small",class:a,iconName:t,enabled:c(n),onClick:()=>r(n)})}function l(t,n,a,s,r,c,i){return e("ez-button",{name:t,title:r,label:s,size:"small",class:a,enabled:i(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,s as a,r as b}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as t,c as s,h as i,g as e,H as a}from"./p-fac2b6a9.js";import{Action as n,ApplicationContext as h}from"@sankhyalabs/core";import{ApplicationUtils as o,DialogType as r}from"@sankhyalabs/ezui/dist/collection/utils";import{O as c}from"./p-586e2522.js";const l=class{constructor(i){t(this,i),this.dataStateChange=s(this,"dataStateChange",7),this.dataUnitReady=s(this,"dataUnitReady",7),this.insertionMode=s(this,"insertionMode",7),this.cancelEdition=s(this,"cancelEdition",7),this._onDataUnitResolve=[],this.pageSize=150,this._dataUnitObserver=t=>{const s={insertionMode:!1,hasNext:this.dataUnit.hasNext(),hasPrevious:this.dataUnit.hasPrevious(),copyMode:!1,isDirty:this.dataUnit.isDirty(),hasDirtyRecords:this.dataUnit.hasDirtyRecords(),selectedRecords:this.dataUnit.getSelectedRecords()};if(this.dataUnit.records.forEach((t=>{t.__record__id__.startsWith("NEW_")&&(s.insertionMode=!0,s.copyMode||(s.copyMode=null!=t.__record__source__id__))})),this.dataState=s,t.type===n.DATA_SAVED){const s=this.getMessage("snkDataUnit.saveInfo",t.payload.records[0]);null!=s&&this.showSuccessMessage(s)}if(t.type!==n.RECORDS_ADDED&&t.type!==n.RECORDS_COPIED||this.insertionMode.emit(),t.type===n.EDITION_CANCELED){this.cancelEdition.emit();const t=this.getMessage("snkDataUnit.cancelInfo");null!=t&&this.showSuccessMessage(t)}if(t.type===n.RECORDS_REMOVED){const s=this.getMessage("snkDataUnit.removeInfo",t.payload.cachedRecords[0]);null!=s&&this.showSuccessMessage(s)}this._application.messagesBuilder.currentOperation=this.getMessageOperation()}}observePageSize(){this.dataUnit&&(this.dataUnit.pageSize=this.pageSize)}observeDataUnitName(t,s){s!=t&&(this.dataUnit=void 0,this.dataUnitName=t,this.loadDataUnit())}observeEntityName(t,s){s!=t&&(this.dataUnit=void 0,this.entityName=t,this.loadDataUnit())}observeDataState(t,s){s!=t&&this.dataStateChange.emit(t)}observeDataUnit(){this.dataUnitReady.emit(this.dataUnit)}async getDataUnit(){return new Promise((t=>{this.dataUnit?t(this.dataUnit):this._onDataUnitResolve.push(t)}))}async interceptAction(t){return new Promise((s=>{switch(t.type){case n.RECORDS_ADDED:this.isAllowed("INSERT")?s(t):o.info(this.getMessage("snkDataUnit.forbiddenInsert"));break;case n.RECORDS_COPIED:this.isAllowed("CLONE")?s(t):o.info(this.getMessage("snkDataUnit.forbiddenClone"));break;case n.DATA_CHANGED:case n.CHANGING_DATA:this.isAllowed("UPDATE")?s(t):(this.dataUnit.cancelEdition(),o.alert(this.getMessage("snkDataUnit.forbidden"),this.getMessage("snkDataUnit.forbiddenUpdate")));break;case n.SAVING_DATA:if(this.beforeSave){const i=this.beforeSave(this.dataUnit);i instanceof Promise?i.then((i=>s(i?t:void 0))):s(i?t:void 0)}else s(t);break;case n.DATA_SAVED:this.afterSave?this.afterSave(this.dataUnit):s(t);break;case n.EDITION_CANCELED:if(this.dataState.hasDirtyRecords){const i=this.getMessage("snkDataUnit.cancelConfirmation");if(null==i)s(t);else{const e=this.getMessage("snkDataUnit.cancelConfirmationTitle");o.confirm(e,i).then((i=>s(i?t:void 0)))}}else s(t);break;case n.REMOVING_RECORDS:if(this.isAllowed("REMOVE")){const i=this.getMessage("snkDataUnit.removeConfirmation");if(null==i)s(t);else{const e=this.getMessage("snkDataUnit.removeConfirmationTitle");o.confirm(e,i,"delete",r.CRITICAL,{btnConfirmDanger:!0}).then((i=>s(i?t:void 0)))}}else o.info(this.getMessage("snkDataUnit.forbiddenRemove"));break;default:s(t)}}))}showSuccessMessage(t){o.info(t,{iconName:"check"})}isAllowed(t){return!!this._permissions&&(this._permissions.isSup||this._permissions[t])}getMessage(t,s){return s||(s=this.getMessageParams()),this._application.messagesBuilder.getMessage(t,s)}getMessageParams(){return this.dataState.selectedRecords?this.dataState.selectedRecords[0]:void 0}getMessageOperation(){return this.dataState.copyMode?c.CLONE:this.dataState.insertionMode?c.INSERT:this.dataState.isDirty?c.UPDATE:c.CLEAN}async loadDataUnit(){if(!this.dataUnit&&this._application&&this.entityName){const t=this.dataUnitName?this.dataUnitName:this.entityName;let s;for(this.dataUnit=await this._application.getDataUnit(this.entityName,t),this.dataUnit.pageSize=this.pageSize,this.dataUnit.unsubscribe(this._dataUnitObserver),this.dataUnit.addInterceptor(this),this.dataUnit.subscribe(this._dataUnitObserver);s=this._onDataUnitResolve.pop();)s(this.dataUnit)}}componentWillLoad(){this._application=h.getContextValue("__SNK__APPLICATION__"),this._application.getAllAccess().then((t=>this._permissions=t))}componentDidLoad(){this.loadDataUnit()}render(){return i(a,null)}get element(){return e(this)}static get watchers(){return{pageSize:["observePageSize"],dataUnitName:["observeDataUnitName"],entityName:["observeEntityName"],dataState:["observeDataState"],dataUnit:["observeDataUnit"]}}};l.style=".sc-snk-data-unit-h{display:flex;flex-direction:column;height:100%}";export{l as snk_data_unit}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as s,c as t,h as i,g as e}from"./p-fac2b6a9.js";import{ApplicationContext as a}from"@sankhyalabs/core";import{T as r}from"./p-86f15ffe.js";class n{constructor(s){this._defaultButtons=s}process(s,t,i,e=[]){var a;this.customButtons=new Map,this.buttons="",this.disabledButtons=[],null===(a=this.getButtonsArray(s,t,i))||void 0===a||a.forEach((a=>{let r;if("string"==typeof a)r=a;else{const s=a;this.customButtons.set(s.name,s),r=s.name}this.isEnabled(s,t,r,i,e)||this.disabledButtons.push(r),this.buttons.length>0&&(this.buttons+=","),this.buttons+=r}))}getButtonsArray(s,t,i){const e=this._defaultButtons[s];return t?t.getButtons(s,i,[...e]):e}isEnabled(s,t,i,e,a){const r=!a.includes(i);return t&&t.isEnabled?t.isEnabled(s,e,i,r):r}}const o=class{constructor(i){s(this,i),this.exit=t(this,"exit",7),this.actionClick=t(this,"actionClick",7),this._taskbarProcessor=new n({"snkForm.regular":["PREVIOUS","NEXT","DIVIDER","CLONE","REMOVE","MORE_OPTIONS","DIVIDER","GRID_MODE","INSERT"],"snkForm.finish_edition":["CANCEL","SAVE"]})}getFormConfig(){return this._dataState&&this._dataState.insertionMode?this._insertionFormConfig:this._editionFormConfig}getInsertionHiddenFields(s){const t=[];return null==s||s.forEach((s=>{const i=this._dataUnit.getField(s.name);(null==i?void 0:i.readOnly)&&t.push(s.name)})),t}exitForm(){this._dataUnit.isDirty()?this._dataUnit.cancelEdition({after:()=>this.exit.emit()}):this.exit.emit()}getDisabledButtons(){const s=[];return this._dataState.hasPrevious||s.push("PREVIOUS"),this._dataState.hasNext||s.push("NEXT"),s}loadInsertionConfig(){this._dataUnit&&this._configLoaded&&(this._insertionFormConfig=this._editionFormConfig.filter((s=>{const t=this._dataUnit.getField(s.name);return!(null==t?void 0:t.readOnly)})))}getMessage(s){return this._application.messagesBuilder.getMessage(s,this.getMessageParams())}getMessageParams(){var s;return(null===(s=this._dataState)||void 0===s?void 0:s.selectedRecords)?this._dataState.selectedRecords[0]:void 0}componentWillLoad(){this._application=a.getContextValue("__SNK__APPLICATION__"),this._application&&(this._application.loadFormConfig(this.configName).then((s=>{this._configLoaded=!0,this._editionFormConfig=s,this.loadInsertionConfig()})),this._application.getAllAccess());let s=this._element.parentElement;for(;s;){if("SNK-DATA-UNIT"===s.tagName.toUpperCase()){this._snkDataUnit=s,this._dataUnit=this._snkDataUnit.dataUnit,this._dataState=this._snkDataUnit.dataState,this._dataUnit?this.loadInsertionConfig():this._snkDataUnit.addEventListener("dataUnitReady",(s=>{this._dataUnit=s.detail,this.loadInsertionConfig()})),this._snkDataUnit.addEventListener("dataStateChange",(s=>{this._dataState=s.detail}));break}s=s.parentElement}}componentWillRender(){var s;const t=(null===(s=this._dataState)||void 0===s?void 0:s.isDirty)?"snkForm.finish_edition":"snkForm.regular",i=[];this._dataState&&this._dataState.hasPrevious||i.push("PREVIOUS"),this._dataState&&this._dataState.hasNext||i.push("NEXT"),this._taskbarProcessor.process(t,this.taskbarManager,this._dataState,i)}render(){var s;if(this._configLoaded&&this._dataUnit&&this._dataState)return i("section",{class:"snk-form"},i("div",{class:"snk-form__header snk-form__header--fixed ez-row"},i("div",{class:"ez-col ez-col--sd-6 ez-col--tb-6",key:"formHeader"},i("ez-button",{title:this.getMessage("snkForm.goBackTitle"),mode:"icon",iconName:"arrow_back",class:"ez-padding-right--medium",size:"small",onClick:()=>this.exitForm()}),i("h1",{class:"ez-title ez-title--primary ez-title--xlarge ez-align--middle"},this.getMessage("snkForm.title"))),i("div",{class:"ez-col ez-col--sd-6 ez-col--tb-6 ez-align--right"},i("snk-taskbar",{key:"formTaskbar",buttons:this._taskbarProcessor.buttons,disabledButtons:this._taskbarProcessor.disabledButtons,customButtons:this._taskbarProcessor.customButtons,actionsList:this.actionsList,primaryButton:(null===(s=this._dataState)||void 0===s?void 0:s.isDirty)?"SAVE":"INSERT",dataUnit:this._dataUnit}))),i("section",null,i("div",{class:"ez-row"},i("div",{class:"ez-col ez-col--sd-12"},i("ez-form",{key:"ezForm"+this._snkDataUnit.entityName,dataUnit:this._dataUnit,config:this.getFormConfig(),recordsValidator:this.recordsValidator})))))}get _element(){return e(this)}};o.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))}";const h=class{constructor(i){s(this,i),this.actionClick=t(this,"actionClick",7),this.gridDoubleClick=t(this,"gridDoubleClick",7),this._topTaskbarProcessor=new n({snkGridTopTaskbar:["FORM_MODE","CONFIG_GRID","INSERT"]}),this._headerTaskbarProcessor=new n({"snkGridHeaderTaskbar.unselected":["REFRESH"],"snkGridHeaderTaskbar.selected":["UPDATE","CLONE","REMOVE","MORE_OPTIONS","DIVIDER","REFRESH"]})}actionClickHandler(s){s.detail===r.CONFIG_GRID&&this._grid&&this._grid.openGridConfig()}saveConfig(s){const t=a.getContextValue("__SNK__APPLICATION__");t&&t.saveGridConfig(s)}componentWillLoad(){const s=a.getContextValue("__SNK__APPLICATION__");s&&(s.loadGridConfig(this.configName).then((s=>{this._gridConfig=s,this._configLoaded=!0})),s.getAllAccess());let t=this._element.parentElement;for(;t;){if("SNK-DATA-UNIT"===t.tagName.toUpperCase()){this._snkDataUnit=t,this._dataUnit=this._snkDataUnit.dataUnit,this._dataUnit||this._snkDataUnit.addEventListener("dataUnitReady",(s=>{this._dataUnit=s.detail})),this._snkDataUnit.addEventListener("dataStateChange",(s=>{this._dataState=s.detail}));break}t=t.parentElement}}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._configLoaded&&this._dataUnit)return i("div",{class:"snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large"},i("div",{class:"snk-grid__header ez-padding-bottom--medium ez-margin-bottom--medium"},i("snk-filter-bar",{dataUnit:this._dataUnit,class:"snk-grid__filter-bar ez-align--top",configName:this.configName}),i("hr",{class:"ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider"}),i("snk-taskbar",{class:"ez-padding-left--medium",onActionClick:s=>this.actionClickHandler(s),key:"topTaskbar",dataUnit:this._dataUnit,buttons:this._topTaskbarProcessor.buttons,disabledButtons:this._topTaskbarProcessor.disabledButtons,customButtons:this._topTaskbarProcessor.customButtons,primaryButton:"INSERT"})),i("ez-grid",{ref:s=>this._grid=s,dataUnit:this._dataUnit,key:"grid-"+this._snkDataUnit.entityName,config:this._gridConfig,onConfigChange:s=>{this.saveConfig(s.detail)},onEzDoubleClick:()=>this.gridDoubleClick.emit(),statusResolver:this.statusResolver},i("snk-taskbar",{dataUnit:this._dataUnit,buttons:this._headerTaskbarProcessor.buttons,disabledButtons:this._headerTaskbarProcessor.disabledButtons,customButtons:this._headerTaskbarProcessor.customButtons,slot:"leftButtons",actionsList:this.actionsList})),i("div",{class:"ez-col ez-col--sd-12"},i("slot",{name:"SnkGridFooter"})))}get _element(){return e(this)}};h.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{o as snk_form,h as snk_grid}
|