@sankhyalabs/sankhyablocks 1.3.30 → 1.3.31-beta.10
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-c6671817.js} +416 -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 +280 -107
- package/dist/cjs/snk-crud.cjs.entry.js +64 -0
- package/dist/cjs/snk-data-unit.cjs.entry.js +218 -0
- package/dist/cjs/snk-form_2.cjs.entry.js +170 -0
- package/dist/cjs/snk-pesquisa.cjs.entry.js +6 -3
- package/dist/cjs/snk-taskbar.cjs.entry.js +140 -0
- package/dist/cjs/taskbar-elements-7f99f0c9.js +70 -0
- package/dist/cjs/teste-pesquisa.cjs.entry.js +1 -1
- package/dist/collection/collection-manifest.json +5 -0
- package/dist/collection/components/snk-application/errorhandler/snk-error-handler.js +2 -2
- package/dist/collection/components/snk-application/snk-application.js +237 -62
- package/dist/collection/components/snk-crud/snk-crud.css +5 -0
- package/dist/collection/components/snk-crud/snk-crud.js +149 -0
- package/dist/collection/components/snk-data-unit/snk-data-unit.css +6 -0
- package/dist/collection/components/snk-data-unit/snk-data-unit.js +492 -0
- package/dist/collection/components/snk-form/snk-form.css +34 -0
- package/dist/collection/components/snk-form/snk-form.js +230 -0
- package/dist/collection/components/snk-grid/snk-grid.css +5 -0
- package/dist/collection/components/snk-grid/snk-grid.js +148 -0
- package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +56 -13
- package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +5 -1
- package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +65 -0
- package/dist/collection/components/snk-taskbar/snk-taskbar.css +3 -0
- package/dist/collection/components/snk-taskbar/snk-taskbar.js +252 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/dataunit-fetcher.js +52 -21
- package/dist/collection/lib/http/data-fetcher/fetchers/grid-config-fetcher.js +4 -3
- package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +2 -0
- package/dist/components/snk-application2.js +280 -106
- package/dist/components/snk-crud.d.ts +11 -0
- package/dist/components/snk-crud.js +102 -0
- package/dist/components/snk-data-unit.d.ts +11 -0
- package/dist/components/snk-data-unit.js +242 -0
- package/dist/components/snk-form.d.ts +11 -0
- package/dist/components/snk-form.js +6 -0
- package/dist/components/snk-form2.js +134 -0
- package/dist/components/snk-grid.d.ts +11 -0
- package/dist/components/snk-grid.js +6 -0
- package/dist/components/snk-grid2.js +91 -0
- package/dist/components/snk-pesquisa2.js +5 -2
- package/dist/components/snk-taskbar.d.ts +11 -0
- package/dist/components/snk-taskbar.js +6 -0
- package/dist/components/snk-taskbar2.js +221 -0
- package/dist/esm/{index-ffda6382.js → index-6a83ac96.js} +416 -10
- package/dist/esm/loader.js +2 -2
- package/dist/esm/sankhyablocks.js +2 -2
- package/dist/esm/snk-application.entry.js +280 -107
- package/dist/esm/snk-crud.entry.js +60 -0
- package/dist/esm/snk-data-unit.entry.js +214 -0
- package/dist/esm/snk-form_2.entry.js +165 -0
- package/dist/esm/snk-pesquisa.entry.js +6 -3
- package/dist/esm/snk-taskbar.entry.js +136 -0
- package/dist/esm/taskbar-elements-e0b8a285.js +68 -0
- package/dist/esm/teste-pesquisa.entry.js +1 -1
- package/dist/sankhyablocks/p-18fe0469.entry.js +69 -0
- package/dist/sankhyablocks/p-4c7b32d6.entry.js +1 -0
- package/dist/sankhyablocks/p-5b5afdbe.entry.js +1 -0
- package/dist/sankhyablocks/p-7fe9e5c2.entry.js +1 -0
- package/dist/sankhyablocks/p-8650ae26.entry.js +1 -0
- package/dist/sankhyablocks/p-a5439706.js +1 -0
- package/dist/sankhyablocks/p-c3d20542.entry.js +1 -0
- package/dist/sankhyablocks/p-cd1dc099.js +2 -0
- package/dist/sankhyablocks/{p-2a7b4cb3.entry.js → p-d25637c9.entry.js} +1 -1
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-application/snk-application.d.ts +103 -15
- package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +25 -0
- package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +45 -0
- package/dist/types/components.d.ts +381 -6
- package/dist/types/lib/http/data-fetcher/fetchers/dataunit-fetcher.d.ts +2 -0
- package/dist/types/lib/http/data-fetcher/fetchers/grid-config-fetcher.d.ts +3 -3
- package/package.json +5 -5
- package/react/components.d.ts +5 -0
- package/react/components.js +5 -0
- package/react/components.js.map +1 -1
- package/dist/sankhyablocks/p-d62412bb.entry.js +0 -1
- package/dist/sankhyablocks/p-e6e91d5f.entry.js +0 -69
- package/dist/sankhyablocks/p-edcb9d8e.js +0 -2
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
import { h, proxyCustomElement, HTMLElement, createEvent, Host } from '@stencil/core/internal/client';
|
|
2
|
+
import { ApplicationContext } from '@sankhyalabs/core';
|
|
3
|
+
|
|
4
|
+
var TaskbarElement;
|
|
5
|
+
(function (TaskbarElement) {
|
|
6
|
+
TaskbarElement["PREVIOUS"] = "PREVIOUS";
|
|
7
|
+
TaskbarElement["NEXT"] = "NEXT";
|
|
8
|
+
TaskbarElement["REFRESH"] = "REFRESH";
|
|
9
|
+
TaskbarElement["UPDATE"] = "UPDATE";
|
|
10
|
+
TaskbarElement["CLONE"] = "CLONE";
|
|
11
|
+
TaskbarElement["REMOVE"] = "REMOVE";
|
|
12
|
+
TaskbarElement["INSERT"] = "INSERT";
|
|
13
|
+
TaskbarElement["CANCEL"] = "CANCEL";
|
|
14
|
+
TaskbarElement["SAVE"] = "SAVE";
|
|
15
|
+
TaskbarElement["GRID_MODE"] = "GRID_MODE";
|
|
16
|
+
TaskbarElement["FORM_MODE"] = "FORM_MODE";
|
|
17
|
+
TaskbarElement["CONFIG_GRID"] = "CONFIG_GRID";
|
|
18
|
+
TaskbarElement["MORE_OPTIONS"] = "MORE_OPTIONS";
|
|
19
|
+
TaskbarElement["DIVIDER"] = "DIVIDER";
|
|
20
|
+
})(TaskbarElement || (TaskbarElement = {}));
|
|
21
|
+
var AuthorizationElements;
|
|
22
|
+
(function (AuthorizationElements) {
|
|
23
|
+
AuthorizationElements["UPDATE"] = "UPDATE";
|
|
24
|
+
AuthorizationElements["CLONE"] = "CLONE";
|
|
25
|
+
AuthorizationElements["REMOVE"] = "REMOVE";
|
|
26
|
+
AuthorizationElements["INSERT"] = "INSERT";
|
|
27
|
+
AuthorizationElements["CONFIG_GRID"] = "CONFIG_GRID";
|
|
28
|
+
})(AuthorizationElements || (AuthorizationElements = {}));
|
|
29
|
+
const buildElem = (element, className, getTitle, action, isEnabled, actions) => {
|
|
30
|
+
switch (element) {
|
|
31
|
+
case TaskbarElement.PREVIOUS:
|
|
32
|
+
return iconButton("chevron-left", element, className, getTitle, action, isEnabled);
|
|
33
|
+
case TaskbarElement.NEXT:
|
|
34
|
+
return iconButton("chevron-right", element, className, getTitle, action, isEnabled);
|
|
35
|
+
case TaskbarElement.REFRESH:
|
|
36
|
+
return iconButton("sync", element, className, getTitle, action, isEnabled);
|
|
37
|
+
case TaskbarElement.UPDATE:
|
|
38
|
+
return iconButton("edit", element, className, getTitle, action, isEnabled);
|
|
39
|
+
case TaskbarElement.CLONE:
|
|
40
|
+
return iconButton("copy", element, className, getTitle, action, isEnabled);
|
|
41
|
+
case TaskbarElement.REMOVE:
|
|
42
|
+
return iconButton("delete", element, className, getTitle, action, isEnabled);
|
|
43
|
+
case TaskbarElement.INSERT:
|
|
44
|
+
return iconTextButton("plus", element, className, getTitle, action, isEnabled);
|
|
45
|
+
case TaskbarElement.CANCEL:
|
|
46
|
+
return h("ez-button", { label: getTitle(element), size: "small", enabled: isEnabled(element), onClick: () => action(element) });
|
|
47
|
+
case TaskbarElement.SAVE:
|
|
48
|
+
return iconTextButton("save", element, className, getTitle, action, isEnabled);
|
|
49
|
+
case TaskbarElement.GRID_MODE:
|
|
50
|
+
return iconButton("table", element, className, getTitle, action, isEnabled);
|
|
51
|
+
case TaskbarElement.FORM_MODE:
|
|
52
|
+
return iconButton("list", element, className, getTitle, action, isEnabled);
|
|
53
|
+
case TaskbarElement.CONFIG_GRID:
|
|
54
|
+
return iconButton("settings-inverted", element, className, getTitle, action, isEnabled);
|
|
55
|
+
case TaskbarElement.MORE_OPTIONS:
|
|
56
|
+
return actions && actions.length > 0 ? h("ez-actions-button", { title: getTitle(element), size: "small", class: className, enabled: isEnabled(element), onEzAction: (evt) => action(evt.detail.value), actions: actions }) : undefined;
|
|
57
|
+
case TaskbarElement.DIVIDER:
|
|
58
|
+
return h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-horizontal--medium" });
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
function iconButton(iconName, element, className, getTitle, action, isEnabled) {
|
|
62
|
+
return h("ez-button", { key: iconName, title: getTitle(element), mode: "icon", size: "small", class: className, iconName: iconName, enabled: isEnabled(element), onClick: () => action(element) });
|
|
63
|
+
}
|
|
64
|
+
function iconTextButton(iconName, element, className, getTitle, action, isEnabled) {
|
|
65
|
+
return h("ez-button", { key: iconName, title: getTitle(element), label: getTitle(element), size: "small", class: className, enabled: isEnabled(element), onClick: () => action(element) },
|
|
66
|
+
h("ez-icon", { class: "ez-padding-right--small", slot: "leftIcon", iconName: iconName }));
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
const snkTaskbarCss = ".sc-snk-taskbar-h{display:flex}";
|
|
70
|
+
|
|
71
|
+
const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
72
|
+
constructor() {
|
|
73
|
+
super();
|
|
74
|
+
this.__registerHost();
|
|
75
|
+
this.actionClick = createEvent(this, "actionClick", 7);
|
|
76
|
+
}
|
|
77
|
+
observeButtons() {
|
|
78
|
+
this._definitions = undefined;
|
|
79
|
+
}
|
|
80
|
+
// Internal methods
|
|
81
|
+
elementsFromString(strButtons) {
|
|
82
|
+
const elements = [];
|
|
83
|
+
if (strButtons) {
|
|
84
|
+
strButtons.split(",").forEach(buttonName => {
|
|
85
|
+
buttonName = buttonName.trim();
|
|
86
|
+
if (this.isAllowed(buttonName)) {
|
|
87
|
+
elements.push(buttonName.trim());
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
return elements;
|
|
92
|
+
}
|
|
93
|
+
isAllowed(buttonName) {
|
|
94
|
+
if (AuthorizationElements[buttonName]) {
|
|
95
|
+
return this._permissions ? this._permissions.isSup || this._permissions[buttonName] : false;
|
|
96
|
+
}
|
|
97
|
+
return true;
|
|
98
|
+
}
|
|
99
|
+
getTitle(element) {
|
|
100
|
+
const pt_br = {
|
|
101
|
+
[TaskbarElement.UPDATE]: "Editar",
|
|
102
|
+
[TaskbarElement.PREVIOUS]: "Anterior",
|
|
103
|
+
[TaskbarElement.NEXT]: "Próximo",
|
|
104
|
+
[TaskbarElement.REFRESH]: "Atualizar",
|
|
105
|
+
[TaskbarElement.CLONE]: "Duplicar",
|
|
106
|
+
[TaskbarElement.REMOVE]: "Excluir",
|
|
107
|
+
[TaskbarElement.MORE_OPTIONS]: "Mais Opções",
|
|
108
|
+
[TaskbarElement.INSERT]: "Cadastrar",
|
|
109
|
+
[TaskbarElement.CANCEL]: "Cancelar",
|
|
110
|
+
[TaskbarElement.SAVE]: "Salvar",
|
|
111
|
+
[TaskbarElement.GRID_MODE]: "Modo Grade",
|
|
112
|
+
[TaskbarElement.CONFIG_GRID]: "Configuração da grade",
|
|
113
|
+
[TaskbarElement.FORM_MODE]: "Modo Formulário"
|
|
114
|
+
};
|
|
115
|
+
return pt_br[element] ? pt_br[element] : "";
|
|
116
|
+
}
|
|
117
|
+
elementClick(elem) {
|
|
118
|
+
if (this.dataUnit) {
|
|
119
|
+
switch (elem) {
|
|
120
|
+
case TaskbarElement.PREVIOUS:
|
|
121
|
+
this.dataUnit.previousRecord();
|
|
122
|
+
break;
|
|
123
|
+
case TaskbarElement.NEXT:
|
|
124
|
+
this.dataUnit.nextRecord();
|
|
125
|
+
break;
|
|
126
|
+
case TaskbarElement.REFRESH:
|
|
127
|
+
this.dataUnit.loadData();
|
|
128
|
+
break;
|
|
129
|
+
case TaskbarElement.CLONE:
|
|
130
|
+
this.dataUnit.copySelected();
|
|
131
|
+
break;
|
|
132
|
+
case TaskbarElement.REMOVE:
|
|
133
|
+
this.dataUnit.removeSelectedRecords();
|
|
134
|
+
break;
|
|
135
|
+
case TaskbarElement.INSERT:
|
|
136
|
+
this.dataUnit.addRecord();
|
|
137
|
+
break;
|
|
138
|
+
case TaskbarElement.CANCEL:
|
|
139
|
+
this.dataUnit.cancelEdition();
|
|
140
|
+
break;
|
|
141
|
+
case TaskbarElement.SAVE:
|
|
142
|
+
this.dataUnit.saveData();
|
|
143
|
+
break;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
this.actionClick.emit(elem);
|
|
147
|
+
}
|
|
148
|
+
isEnabled(elem) {
|
|
149
|
+
return !(this.disabledButtons && this.disabledButtons.includes(elem));
|
|
150
|
+
}
|
|
151
|
+
getElement(index, def) {
|
|
152
|
+
let element;
|
|
153
|
+
let className = def === this.primaryButton ? "ez-button--primary " : "";
|
|
154
|
+
if (index > 1) {
|
|
155
|
+
className += "ez-padding-left--medium";
|
|
156
|
+
}
|
|
157
|
+
element = buildElem(def, className, elem => this.getTitle(elem), elem => this.elementClick(elem), elem => this.isEnabled(elem), this.actionsList);
|
|
158
|
+
return element;
|
|
159
|
+
}
|
|
160
|
+
// Lifecycle
|
|
161
|
+
componentWillLoad() {
|
|
162
|
+
const snkApplication = ApplicationContext.getContextValue("__SNK__APPLICATION__");
|
|
163
|
+
if (snkApplication) {
|
|
164
|
+
snkApplication.getAllAccess().then(access => this._permissions = access);
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
this._permissions = {};
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
componentWillRender() {
|
|
171
|
+
if (this._definitions == undefined && this._permissions) {
|
|
172
|
+
this._definitions = this.elementsFromString(this.buttons);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
render() {
|
|
176
|
+
if (this._definitions === undefined) {
|
|
177
|
+
return undefined;
|
|
178
|
+
}
|
|
179
|
+
let index = 0;
|
|
180
|
+
return (h(Host, null, this._definitions.map((btn) => {
|
|
181
|
+
if (btn === TaskbarElement.DIVIDER) {
|
|
182
|
+
index = 0;
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
index++;
|
|
186
|
+
}
|
|
187
|
+
if (TaskbarElement[btn]) {
|
|
188
|
+
return this.getElement(index, TaskbarElement[btn]);
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
return h("slot", { name: btn });
|
|
192
|
+
}
|
|
193
|
+
})));
|
|
194
|
+
}
|
|
195
|
+
static get watchers() { return {
|
|
196
|
+
"buttons": ["observeButtons"]
|
|
197
|
+
}; }
|
|
198
|
+
static get style() { return snkTaskbarCss; }
|
|
199
|
+
}, [6, "snk-taskbar", {
|
|
200
|
+
"buttons": [1],
|
|
201
|
+
"actionsList": [16],
|
|
202
|
+
"primaryButton": [1, "primary-button"],
|
|
203
|
+
"disabledButtons": [16],
|
|
204
|
+
"dataUnit": [16],
|
|
205
|
+
"_permissions": [32]
|
|
206
|
+
}]);
|
|
207
|
+
function defineCustomElement() {
|
|
208
|
+
if (typeof customElements === "undefined") {
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
const components = ["snk-taskbar"];
|
|
212
|
+
components.forEach(tagName => { switch (tagName) {
|
|
213
|
+
case "snk-taskbar":
|
|
214
|
+
if (!customElements.get(tagName)) {
|
|
215
|
+
customElements.define(tagName, SnkTaskbar);
|
|
216
|
+
}
|
|
217
|
+
break;
|
|
218
|
+
} });
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
export { SnkTaskbar as S, TaskbarElement as T, defineCustomElement as d };
|