@sankhyalabs/sankhyablocks 1.3.31-beta.2 → 1.3.31-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/{index-1133bc2a.js → index-e42cb45d.js} +448 -9
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/sankhyablocks.cjs.js +2 -2
- package/dist/cjs/snk-application.cjs.entry.js +105 -79
- package/dist/cjs/snk-data-unit.cjs.entry.js +144 -0
- package/dist/cjs/snk-form.cjs.entry.js +95 -0
- package/dist/cjs/snk-grid.cjs.entry.js +64 -0
- package/dist/cjs/snk-pesquisa.cjs.entry.js +1 -1
- package/dist/cjs/snk-taskbar.cjs.entry.js +159 -0
- package/dist/cjs/taskbar-elements-bfa647c7.js +68 -0
- package/dist/cjs/teste-pesquisa.cjs.entry.js +1 -1
- package/dist/collection/collection-manifest.json +4 -0
- package/dist/collection/components/snk-application/snk-application.js +52 -5
- package/dist/collection/components/snk-data-unit/snk-data-unit.css +6 -0
- package/dist/collection/components/snk-data-unit/snk-data-unit.js +325 -0
- package/dist/collection/components/snk-form/snk-form.css +3 -0
- package/dist/collection/components/snk-form/snk-form.js +194 -0
- package/dist/collection/components/snk-grid/snk-grid.css +5 -0
- package/dist/collection/components/snk-grid/snk-grid.js +128 -0
- package/dist/collection/components/snk-taskbar/component/snk-popup-button.js +7 -0
- package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +63 -0
- package/dist/collection/components/snk-taskbar/snk-taskbar.css +3 -0
- package/dist/collection/components/snk-taskbar/snk-taskbar.js +268 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/dataunit-fetcher.js +32 -21
- package/dist/collection/lib/http/data-fetcher/fetchers/grid-config-fetcher.js +4 -3
- package/dist/components/snk-application2.js +105 -78
- package/dist/components/snk-data-unit.d.ts +11 -0
- package/dist/components/snk-data-unit.js +165 -0
- package/dist/components/snk-form.d.ts +11 -0
- package/dist/components/snk-form.js +121 -0
- package/dist/components/snk-grid.d.ts +11 -0
- package/dist/components/snk-grid.js +88 -0
- package/dist/components/snk-taskbar.d.ts +11 -0
- package/dist/components/snk-taskbar.js +6 -0
- package/dist/components/snk-taskbar2.js +239 -0
- package/dist/esm/{index-ffda6382.js → index-02c04e0f.js} +448 -10
- package/dist/esm/loader.js +2 -2
- package/dist/esm/sankhyablocks.js +2 -2
- package/dist/esm/snk-application.entry.js +105 -79
- package/dist/esm/snk-data-unit.entry.js +140 -0
- package/dist/esm/snk-form.entry.js +91 -0
- package/dist/esm/snk-grid.entry.js +60 -0
- package/dist/esm/snk-pesquisa.entry.js +1 -1
- package/dist/esm/snk-taskbar.entry.js +155 -0
- package/dist/esm/taskbar-elements-fe7cbf0e.js +66 -0
- package/dist/esm/teste-pesquisa.entry.js +1 -1
- package/dist/sankhyablocks/p-09e48ff8.entry.js +1 -0
- package/dist/sankhyablocks/{p-2a7b4cb3.entry.js → p-376004ef.entry.js} +1 -1
- package/dist/sankhyablocks/p-37b06977.entry.js +1 -0
- package/dist/sankhyablocks/p-64e2471c.js +1 -0
- package/dist/sankhyablocks/p-b80352ac.entry.js +69 -0
- package/dist/sankhyablocks/p-c156b1da.entry.js +1 -0
- package/dist/sankhyablocks/p-cc9c348a.entry.js +1 -0
- package/dist/sankhyablocks/p-db215c74.js +2 -0
- package/dist/sankhyablocks/{p-d62412bb.entry.js → p-e38386b1.entry.js} +1 -1
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-application/snk-application.d.ts +3 -1
- package/dist/types/components/snk-taskbar/component/snk-popup-button.d.ts +12 -0
- package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +24 -0
- package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +28 -0
- package/dist/types/components.d.ts +112 -1
- package/dist/types/lib/http/data-fetcher/fetchers/grid-config-fetcher.d.ts +1 -1
- package/package.json +5 -5
- package/react/components.d.ts +4 -0
- package/react/components.js +4 -0
- package/react/components.js.map +1 -1
- package/dist/sankhyablocks/p-e6e91d5f.entry.js +0 -69
- package/dist/sankhyablocks/p-edcb9d8e.js +0 -2
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, g as getElement } from './index-02c04e0f.js';
|
|
2
|
+
import { ApplicationContext } from '@sankhyalabs/core';
|
|
3
|
+
import { T as TaskbarElement } from './taskbar-elements-fe7cbf0e.js';
|
|
4
|
+
|
|
5
|
+
const snkGridCss = ".sc-snk-grid-h{display:flex;height:100%;width:100%}";
|
|
6
|
+
|
|
7
|
+
const SnkGrid = class {
|
|
8
|
+
constructor(hostRef) {
|
|
9
|
+
registerInstance(this, hostRef);
|
|
10
|
+
this.actionClick = createEvent(this, "actionClick", 7);
|
|
11
|
+
}
|
|
12
|
+
getHeaderButtons() {
|
|
13
|
+
return this._dataState && this._dataState.selectedRecords.length > 0 ? "UPDATE,CLONE,REMOVE,MORE_OPTIONS,DIVIDER,REFRESH" : "REFRESH";
|
|
14
|
+
}
|
|
15
|
+
actionClickHandler(evt) {
|
|
16
|
+
if (evt.detail === TaskbarElement.CONFIG_GRID && this._grid) {
|
|
17
|
+
this._grid.openGridConfig();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
componentWillLoad() {
|
|
21
|
+
let parent = this._element.parentElement;
|
|
22
|
+
while (parent) {
|
|
23
|
+
if (parent.tagName.toUpperCase() === "SNK-DATA-UNIT") {
|
|
24
|
+
this._snkDataUnit = parent;
|
|
25
|
+
this._dataUnit = this._snkDataUnit.dataUnit;
|
|
26
|
+
if (!this._dataUnit) {
|
|
27
|
+
this._snkDataUnit.addEventListener("dataUnitReady", (evt) => {
|
|
28
|
+
this._dataUnit = evt.detail;
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
this._snkDataUnit.addEventListener("dataStateChange", (evt) => {
|
|
32
|
+
this._dataState = evt.detail;
|
|
33
|
+
});
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
parent = parent.parentElement;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
componentWillRender() {
|
|
40
|
+
if (this._dataUnit && !this._configLoaded) {
|
|
41
|
+
const snkApplication = ApplicationContext.getContextValue("__SNK__APPLICATION__");
|
|
42
|
+
if (snkApplication) {
|
|
43
|
+
snkApplication.loadGridConfig(this.configName).then(cfg => {
|
|
44
|
+
this._gridConfig = cfg;
|
|
45
|
+
this._configLoaded = true;
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
render() {
|
|
51
|
+
if (!this._configLoaded || !this._dataUnit) {
|
|
52
|
+
return undefined;
|
|
53
|
+
}
|
|
54
|
+
return (h("div", { class: "ez-flex ez-flex--column ez-flex-item--auto ez-padding--large" }, h("div", { class: "ez-row ez-padding-bottom--medium ez-margin-bottom--medium" }, h("div", { class: "ez-col ez-col--sd-9 ez-col--tb-9 ez-align--bottom" }, h("slot", null)), h("div", { class: "ez-col ez-col--sd-3 ez-col--tb-3 ez-align--right" }, h("snk-taskbar", { onActionClick: evt => this.actionClickHandler(evt), key: "topTaskbar", dataUnit: this._dataUnit, buttons: "FORM_MODE,CONFIG_GRID,INSERT", primaryButton: "INSERT" }))), h("ez-grid", { ref: ref => this._grid = ref, dataUnit: this._dataUnit, key: "grid-" + this._snkDataUnit.entityName, config: this._gridConfig }, h("snk-taskbar", { dataUnit: this._dataUnit, buttons: this.getHeaderButtons(), slot: "leftButtons", actionsList: this.actionsList }))));
|
|
55
|
+
}
|
|
56
|
+
get _element() { return getElement(this); }
|
|
57
|
+
};
|
|
58
|
+
SnkGrid.style = snkGridCss;
|
|
59
|
+
|
|
60
|
+
export { SnkGrid as snk_grid };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, h, H as Host } from './index-
|
|
1
|
+
import { r as registerInstance, h, H as Host } from './index-02c04e0f.js';
|
|
2
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:var(--text--primary, #626e82);--snk-pesquisa__content-scrollbar--border-radius:var(--border--radius-medium, 12px);--snk-pesquisa__content-scrollbar--width:var(--space--medium, 12px) display: block;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-close.sc-snk-pesquisa{cursor:pointer}.snk-pesquisa__content.sc-snk-pesquisa{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding-right:var(--snk-pesquisa__content--padding-right)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar-track{background-color:#f0f2f5;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);border-radius:var(--snk-pesquisa__content-scrollbar--border-radius)}.snk-pesquisa__content.sc-snk-pesquisa::-webkit-scrollbar{background-color:#f0f2f5;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)}";
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { h, r as registerInstance, c as createEvent, H as Host } from './index-02c04e0f.js';
|
|
2
|
+
import { ApplicationContext } from '@sankhyalabs/core';
|
|
3
|
+
import { A as AuthorizationElements, T as TaskbarElement, b as buildElem } from './taskbar-elements-fe7cbf0e.js';
|
|
4
|
+
|
|
5
|
+
const SnkPopupButton = ({ className, title, source, opened, setOpened, actionClick }) => {
|
|
6
|
+
return (h("div", { class: "ez-flex " + className },
|
|
7
|
+
h("ez-button", { id: "moreOptionsButton", title: title, mode: "icon", iconName: "dots-vertical", size: "small", onClick: () => setOpened(true) }),
|
|
8
|
+
h("ez-popover", { opened: opened, autoClose: true, innerElement: ["moreOptionsButton", "moreOptionsDiv"], onEzVisibilityChange: (event) => setOpened(event.detail) },
|
|
9
|
+
h("div", { id: "moreOptionsDiv", class: "ez-padding--small" }, source.map((option, index) => h("ez-button", { className: "btn-options", size: "small", label: option.label, key: index, onClick: () => actionClick(option) }))))));
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const snkTaskbarCss = ".sc-snk-taskbar-h{display:flex}";
|
|
13
|
+
|
|
14
|
+
const SnkTaskbar = class {
|
|
15
|
+
constructor(hostRef) {
|
|
16
|
+
registerInstance(this, hostRef);
|
|
17
|
+
this.actionClick = createEvent(this, "actionClick", 7);
|
|
18
|
+
this._moreOptionsOpened = false;
|
|
19
|
+
}
|
|
20
|
+
observeButtons() {
|
|
21
|
+
this._definitions = undefined;
|
|
22
|
+
}
|
|
23
|
+
// Internal methods
|
|
24
|
+
elementsFromString(strButtons) {
|
|
25
|
+
const elements = [];
|
|
26
|
+
if (strButtons) {
|
|
27
|
+
strButtons.split(",").forEach(buttonName => {
|
|
28
|
+
buttonName = buttonName.trim();
|
|
29
|
+
if (this.isAllowed(buttonName)) {
|
|
30
|
+
elements.push(buttonName.trim());
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
return elements;
|
|
35
|
+
}
|
|
36
|
+
isAllowed(buttonName) {
|
|
37
|
+
if (AuthorizationElements[buttonName]) {
|
|
38
|
+
return this._permissions ? this._permissions.isSup || this._permissions[buttonName] : false;
|
|
39
|
+
}
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
getTitle(element) {
|
|
43
|
+
const pt_br = {
|
|
44
|
+
[TaskbarElement.UPDATE]: "Editar",
|
|
45
|
+
[TaskbarElement.PREVIOUS]: "Anterior",
|
|
46
|
+
[TaskbarElement.NEXT]: "Próximo",
|
|
47
|
+
[TaskbarElement.REFRESH]: "Atualizar",
|
|
48
|
+
[TaskbarElement.CLONE]: "Duplicar",
|
|
49
|
+
[TaskbarElement.REMOVE]: "Excluir",
|
|
50
|
+
[TaskbarElement.MORE_OPTIONS]: "Mais Opções",
|
|
51
|
+
[TaskbarElement.INSERT]: "Cadastrar",
|
|
52
|
+
[TaskbarElement.CANCEL]: "Cancelar",
|
|
53
|
+
[TaskbarElement.SAVE]: "Salvar",
|
|
54
|
+
[TaskbarElement.GRID_MODE]: "Modo Grade",
|
|
55
|
+
[TaskbarElement.CONFIG_GRID]: "Configuração da grade",
|
|
56
|
+
[TaskbarElement.FORM_MODE]: "Modo Formulário"
|
|
57
|
+
};
|
|
58
|
+
return pt_br[element] ? pt_br[element] : "";
|
|
59
|
+
}
|
|
60
|
+
elementClick(elem) {
|
|
61
|
+
if (this.dataUnit) {
|
|
62
|
+
switch (elem) {
|
|
63
|
+
case TaskbarElement.PREVIOUS:
|
|
64
|
+
this.dataUnit.previousRecord();
|
|
65
|
+
break;
|
|
66
|
+
case TaskbarElement.NEXT:
|
|
67
|
+
this.dataUnit.nextRecord();
|
|
68
|
+
break;
|
|
69
|
+
case TaskbarElement.REFRESH:
|
|
70
|
+
this.dataUnit.loadData();
|
|
71
|
+
break;
|
|
72
|
+
case TaskbarElement.CLONE:
|
|
73
|
+
this.dataUnit.copySelected();
|
|
74
|
+
break;
|
|
75
|
+
case TaskbarElement.REMOVE:
|
|
76
|
+
this.dataUnit.removeSelectedRecords();
|
|
77
|
+
break;
|
|
78
|
+
case TaskbarElement.INSERT:
|
|
79
|
+
this.dataUnit.addRecord();
|
|
80
|
+
break;
|
|
81
|
+
case TaskbarElement.CANCEL:
|
|
82
|
+
this.dataUnit.cancelEdition();
|
|
83
|
+
break;
|
|
84
|
+
case TaskbarElement.SAVE:
|
|
85
|
+
this.dataUnit.saveData();
|
|
86
|
+
break;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
this.actionClick.emit(elem);
|
|
90
|
+
}
|
|
91
|
+
actionClickHandler(act) {
|
|
92
|
+
this._moreOptionsOpened = false;
|
|
93
|
+
this.actionClick.emit(act.key);
|
|
94
|
+
}
|
|
95
|
+
isEnabled(elem) {
|
|
96
|
+
return !(this.disabledButtons && this.disabledButtons.includes(elem));
|
|
97
|
+
}
|
|
98
|
+
getElement(index, def) {
|
|
99
|
+
let element;
|
|
100
|
+
let className = def === this.primaryButton ? "ez-button--primary " : "";
|
|
101
|
+
if (index > 1) {
|
|
102
|
+
className += "ez-padding-left--medium";
|
|
103
|
+
}
|
|
104
|
+
if (def === TaskbarElement.MORE_OPTIONS) {
|
|
105
|
+
element = this.actionsList ? h(SnkPopupButton, { className: className, title: this.getTitle(def), source: this.actionsList, opened: this._moreOptionsOpened, setOpened: opened => this._moreOptionsOpened = opened, actionClick: act => this.actionClickHandler(act) }) : undefined;
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
element = buildElem(def, className, elem => this.getTitle(elem), elem => this.elementClick(elem), elem => this.isEnabled(elem));
|
|
109
|
+
}
|
|
110
|
+
return element;
|
|
111
|
+
}
|
|
112
|
+
// Lifecycle
|
|
113
|
+
componentWillRender() {
|
|
114
|
+
if (this._permissions === undefined) {
|
|
115
|
+
const snkApplication = ApplicationContext.getContextValue("__SNK__APPLICATION__");
|
|
116
|
+
if (snkApplication) {
|
|
117
|
+
snkApplication.getAllAccess().then(access => this._permissions = access);
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
this._permissions = {};
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
if (this._definitions == undefined) {
|
|
125
|
+
this._definitions = this.elementsFromString(this.buttons);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
render() {
|
|
130
|
+
if (this._definitions === undefined) {
|
|
131
|
+
return undefined;
|
|
132
|
+
}
|
|
133
|
+
let index = 0;
|
|
134
|
+
return (h(Host, null, this._definitions.map((btn) => {
|
|
135
|
+
if (btn === TaskbarElement.DIVIDER) {
|
|
136
|
+
index = 0;
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
index++;
|
|
140
|
+
}
|
|
141
|
+
if (TaskbarElement[btn]) {
|
|
142
|
+
return this.getElement(index, TaskbarElement[btn]);
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
return h("slot", { name: btn });
|
|
146
|
+
}
|
|
147
|
+
})));
|
|
148
|
+
}
|
|
149
|
+
static get watchers() { return {
|
|
150
|
+
"buttons": ["observeButtons"]
|
|
151
|
+
}; }
|
|
152
|
+
};
|
|
153
|
+
SnkTaskbar.style = snkTaskbarCss;
|
|
154
|
+
|
|
155
|
+
export { SnkTaskbar as snk_taskbar };
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { h } from './index-02c04e0f.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["CONFIG_GRID"] = "CONFIG_GRID";
|
|
17
|
+
TaskbarElement["MORE_OPTIONS"] = "MORE_OPTIONS";
|
|
18
|
+
TaskbarElement["DIVIDER"] = "DIVIDER";
|
|
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["CONFIG_GRID"] = "CONFIG_GRID";
|
|
27
|
+
})(AuthorizationElements || (AuthorizationElements = {}));
|
|
28
|
+
const buildElem = (element, className, getTitle, action, isEnabled) => {
|
|
29
|
+
switch (element) {
|
|
30
|
+
case TaskbarElement.PREVIOUS:
|
|
31
|
+
return iconButton("chevron-left", element, className, getTitle, action, isEnabled);
|
|
32
|
+
case TaskbarElement.NEXT:
|
|
33
|
+
return iconButton("chevron-right", element, className, getTitle, action, isEnabled);
|
|
34
|
+
case TaskbarElement.REFRESH:
|
|
35
|
+
return iconButton("sync", element, className, getTitle, action, isEnabled);
|
|
36
|
+
case TaskbarElement.UPDATE:
|
|
37
|
+
return iconButton("edit", element, className, getTitle, action, isEnabled);
|
|
38
|
+
case TaskbarElement.CLONE:
|
|
39
|
+
return iconButton("copy", element, className, getTitle, action, isEnabled);
|
|
40
|
+
case TaskbarElement.REMOVE:
|
|
41
|
+
return iconButton("delete", element, className, getTitle, action, isEnabled);
|
|
42
|
+
case TaskbarElement.INSERT:
|
|
43
|
+
return iconTextButton("plus", element, className, getTitle, action, isEnabled);
|
|
44
|
+
case TaskbarElement.CANCEL:
|
|
45
|
+
return h("ez-button", { label: getTitle(element), size: "small", enabled: isEnabled(element), onClick: () => action(element) });
|
|
46
|
+
case TaskbarElement.SAVE:
|
|
47
|
+
return iconTextButton("save", element, className, getTitle, action, isEnabled);
|
|
48
|
+
case TaskbarElement.GRID_MODE:
|
|
49
|
+
return iconButton("table", element, className, getTitle, action, isEnabled);
|
|
50
|
+
case TaskbarElement.FORM_MODE:
|
|
51
|
+
return iconButton("list", element, className, getTitle, action, isEnabled);
|
|
52
|
+
case TaskbarElement.CONFIG_GRID:
|
|
53
|
+
return iconButton("settings-inverted", element, className, getTitle, action, isEnabled);
|
|
54
|
+
case TaskbarElement.DIVIDER:
|
|
55
|
+
return h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-horizontal--medium" });
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
function iconButton(iconName, element, className, getTitle, action, isEnabled) {
|
|
59
|
+
return h("ez-button", { key: iconName, title: getTitle(element), mode: "icon", size: "small", class: className, iconName: iconName, enabled: isEnabled(element), onClick: () => action(element) });
|
|
60
|
+
}
|
|
61
|
+
function iconTextButton(iconName, element, className, getTitle, action, isEnabled) {
|
|
62
|
+
return h("ez-button", { key: iconName, title: getTitle(element), label: getTitle(element), size: "small", class: className, enabled: isEnabled(element), onClick: () => action(element) },
|
|
63
|
+
h("ez-icon", { class: "ez-padding-right--small", slot: "leftIcon", iconName: iconName }));
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export { AuthorizationElements as A, TaskbarElement as T, buildElem as b };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{h as t,r as s,c as e,H as i}from"./p-db215c74.js";import{ApplicationContext as a}from"@sankhyalabs/core";import{A as o,T as r,b as n}from"./p-64e2471c.js";const l=({className:s,title:e,source:i,opened:a,setOpened:o,actionClick:r})=>t("div",{class:"ez-flex "+s},t("ez-button",{id:"moreOptionsButton",title:e,mode:"icon",iconName:"dots-vertical",size:"small",onClick:()=>o(!0)}),t("ez-popover",{opened:a,autoClose:!0,innerElement:["moreOptionsButton","moreOptionsDiv"],onEzVisibilityChange:t=>o(t.detail)},t("div",{id:"moreOptionsDiv",class:"ez-padding--small"},i.map(((s,e)=>t("ez-button",{className:"btn-options",size:"small",label:s.label,key:e,onClick:()=>r(s)})))))),c=class{constructor(t){s(this,t),this.actionClick=e(this,"actionClick",7),this._moreOptionsOpened=!1}observeButtons(){this._definitions=void 0}elementsFromString(t){const s=[];return t&&t.split(",").forEach((t=>{t=t.trim(),this.isAllowed(t)&&s.push(t.trim())})),s}isAllowed(t){return!o[t]||!!this._permissions&&(this._permissions.isSup||this._permissions[t])}getTitle(t){const s={[r.UPDATE]:"Editar",[r.PREVIOUS]:"Anterior",[r.NEXT]:"Próximo",[r.REFRESH]:"Atualizar",[r.CLONE]:"Duplicar",[r.REMOVE]:"Excluir",[r.MORE_OPTIONS]:"Mais Opções",[r.INSERT]:"Cadastrar",[r.CANCEL]:"Cancelar",[r.SAVE]:"Salvar",[r.GRID_MODE]:"Modo Grade",[r.CONFIG_GRID]:"Configuração da grade",[r.FORM_MODE]:"Modo Formulário"};return s[t]?s[t]:""}elementClick(t){if(this.dataUnit)switch(t){case r.PREVIOUS:this.dataUnit.previousRecord();break;case r.NEXT:this.dataUnit.nextRecord();break;case r.REFRESH:this.dataUnit.loadData();break;case r.CLONE:this.dataUnit.copySelected();break;case r.REMOVE:this.dataUnit.removeSelectedRecords();break;case r.INSERT:this.dataUnit.addRecord();break;case r.CANCEL:this.dataUnit.cancelEdition();break;case r.SAVE:this.dataUnit.saveData()}this.actionClick.emit(t)}actionClickHandler(t){this._moreOptionsOpened=!1,this.actionClick.emit(t.key)}isEnabled(t){return!(this.disabledButtons&&this.disabledButtons.includes(t))}getElement(s,e){let i,a=e===this.primaryButton?"ez-button--primary ":"";return s>1&&(a+="ez-padding-left--medium"),i=e===r.MORE_OPTIONS?this.actionsList?t(l,{className:a,title:this.getTitle(e),source:this.actionsList,opened:this._moreOptionsOpened,setOpened:t=>this._moreOptionsOpened=t,actionClick:t=>this.actionClickHandler(t)}):void 0:n(e,a,(t=>this.getTitle(t)),(t=>this.elementClick(t)),(t=>this.isEnabled(t))),i}componentWillRender(){if(void 0===this._permissions){const t=a.getContextValue("__SNK__APPLICATION__");t?t.getAllAccess().then((t=>this._permissions=t)):this._permissions={}}else null==this._definitions&&(this._definitions=this.elementsFromString(this.buttons))}render(){if(void 0===this._definitions)return;let s=0;return t(i,null,this._definitions.map((e=>(e===r.DIVIDER?s=0:s++,r[e]?this.getElement(s,r[e]):t("slot",{name:e})))))}static get watchers(){return{buttons:["observeButtons"]}}};c.style=".sc-snk-taskbar-h{display:flex}";export{c as snk_taskbar}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as
|
|
1
|
+
import{r as a,h as e}from"./p-db215c74.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 t,c as i,h as s,g as e}from"./p-db215c74.js";import{ApplicationContext as a}from"@sankhyalabs/core";import{T as o}from"./p-64e2471c.js";const n=class{constructor(s){t(this,s),this.actionClick=i(this,"actionClick",7)}getHeaderButtons(){return this._dataState&&this._dataState.selectedRecords.length>0?"UPDATE,CLONE,REMOVE,MORE_OPTIONS,DIVIDER,REFRESH":"REFRESH"}actionClickHandler(t){t.detail===o.CONFIG_GRID&&this._grid&&this._grid.openGridConfig()}componentWillLoad(){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",(t=>{this._dataUnit=t.detail})),this._snkDataUnit.addEventListener("dataStateChange",(t=>{this._dataState=t.detail}));break}t=t.parentElement}}componentWillRender(){if(this._dataUnit&&!this._configLoaded){const t=a.getContextValue("__SNK__APPLICATION__");t&&t.loadGridConfig(this.configName).then((t=>{this._gridConfig=t,this._configLoaded=!0}))}}render(){if(this._configLoaded&&this._dataUnit)return s("div",{class:"ez-flex ez-flex--column ez-flex-item--auto ez-padding--large"},s("div",{class:"ez-row ez-padding-bottom--medium ez-margin-bottom--medium"},s("div",{class:"ez-col ez-col--sd-9 ez-col--tb-9 ez-align--bottom"},s("slot",null)),s("div",{class:"ez-col ez-col--sd-3 ez-col--tb-3 ez-align--right"},s("snk-taskbar",{onActionClick:t=>this.actionClickHandler(t),key:"topTaskbar",dataUnit:this._dataUnit,buttons:"FORM_MODE,CONFIG_GRID,INSERT",primaryButton:"INSERT"}))),s("ez-grid",{ref:t=>this._grid=t,dataUnit:this._dataUnit,key:"grid-"+this._snkDataUnit.entityName,config:this._gridConfig},s("snk-taskbar",{dataUnit:this._dataUnit,buttons:this.getHeaderButtons(),slot:"leftButtons",actionsList:this.actionsList})))}get _element(){return e(this)}};n.style=".sc-snk-grid-h{display:flex;height:100%;width:100%}";export{n as snk_grid}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{h as e}from"./p-db215c74.js";var t,n;!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={}));const r=(n,r,c,i,l)=>{switch(n){case t.PREVIOUS:return s("chevron-left",n,r,c,i,l);case t.NEXT:return s("chevron-right",n,r,c,i,l);case t.REFRESH:return s("sync",n,r,c,i,l);case t.UPDATE:return s("edit",n,r,c,i,l);case t.CLONE:return s("copy",n,r,c,i,l);case t.REMOVE:return s("delete",n,r,c,i,l);case t.INSERT:return a("plus",n,r,c,i,l);case t.CANCEL:return e("ez-button",{label:c(n),size:"small",enabled:l(n),onClick:()=>i(n)});case t.SAVE:return a("save",n,r,c,i,l);case t.GRID_MODE:return s("table",n,r,c,i,l);case t.FORM_MODE:return s("list",n,r,c,i,l);case t.CONFIG_GRID:return s("settings-inverted",n,r,c,i,l);case t.DIVIDER:return e("hr",{class:"ez-divider-vertical ez-divider--dark ez-margin-horizontal--medium"})}};function s(t,n,r,s,a,c){return e("ez-button",{key:t,title:s(n),mode:"icon",size:"small",class:r,iconName:t,enabled:c(n),onClick:()=>a(n)})}function a(t,n,r,s,a,c){return e("ez-button",{key:t,title:s(n),label:s(n),size:"small",class:r,enabled:c(n),onClick:()=>a(n)},e("ez-icon",{class:"ez-padding-right--small",slot:"leftIcon",iconName:t}))}export{n as A,t as T,r as b}
|