@sankhyalabs/sankhyablocks 1.3.31-beta.6 → 1.3.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/cjs/{index-532bcc28.js → index-1133bc2a.js} +9 -419
  2. package/dist/cjs/loader.cjs.js +2 -2
  3. package/dist/cjs/sankhyablocks.cjs.js +2 -2
  4. package/dist/cjs/snk-application.cjs.entry.js +99 -213
  5. package/dist/cjs/snk-pesquisa.cjs.entry.js +6 -3
  6. package/dist/cjs/teste-pesquisa.cjs.entry.js +1 -1
  7. package/dist/collection/collection-manifest.json +0 -4
  8. package/dist/collection/components/snk-application/snk-application.js +48 -165
  9. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +49 -10
  10. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +5 -1
  11. package/dist/collection/lib/http/data-fetcher/fetchers/dataunit-fetcher.js +21 -52
  12. package/dist/collection/lib/http/data-fetcher/fetchers/grid-config-fetcher.js +3 -4
  13. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +2 -0
  14. package/dist/components/snk-application2.js +98 -213
  15. package/dist/components/snk-pesquisa2.js +5 -2
  16. package/dist/esm/{index-0b078db7.js → index-ffda6382.js} +10 -419
  17. package/dist/esm/loader.js +2 -2
  18. package/dist/esm/sankhyablocks.js +2 -2
  19. package/dist/esm/snk-application.entry.js +99 -213
  20. package/dist/esm/snk-pesquisa.entry.js +6 -3
  21. package/dist/esm/teste-pesquisa.entry.js +1 -1
  22. package/dist/sankhyablocks/p-24238a55.entry.js +1 -0
  23. package/dist/sankhyablocks/{p-a8305c35.entry.js → p-2a7b4cb3.entry.js} +1 -1
  24. package/dist/sankhyablocks/p-bd1b31db.entry.js +69 -0
  25. package/dist/sankhyablocks/p-edcb9d8e.js +2 -0
  26. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  27. package/dist/types/components/snk-application/snk-application.d.ts +13 -90
  28. package/dist/types/components.d.ts +2 -334
  29. package/dist/types/lib/http/data-fetcher/fetchers/dataunit-fetcher.d.ts +0 -2
  30. package/dist/types/lib/http/data-fetcher/fetchers/grid-config-fetcher.d.ts +1 -1
  31. package/package.json +5 -5
  32. package/react/components.d.ts +0 -4
  33. package/react/components.js +0 -4
  34. package/react/components.js.map +1 -1
  35. package/dist/cjs/snk-data-unit.cjs.entry.js +0 -189
  36. package/dist/cjs/snk-form.cjs.entry.js +0 -95
  37. package/dist/cjs/snk-grid.cjs.entry.js +0 -64
  38. package/dist/cjs/snk-taskbar.cjs.entry.js +0 -140
  39. package/dist/cjs/taskbar-elements-9d47b416.js +0 -70
  40. package/dist/collection/components/snk-data-unit/snk-data-unit.css +0 -6
  41. package/dist/collection/components/snk-data-unit/snk-data-unit.js +0 -449
  42. package/dist/collection/components/snk-form/snk-form.css +0 -3
  43. package/dist/collection/components/snk-form/snk-form.js +0 -194
  44. package/dist/collection/components/snk-grid/snk-grid.css +0 -5
  45. package/dist/collection/components/snk-grid/snk-grid.js +0 -128
  46. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +0 -65
  47. package/dist/collection/components/snk-taskbar/snk-taskbar.css +0 -3
  48. package/dist/collection/components/snk-taskbar/snk-taskbar.js +0 -252
  49. package/dist/components/snk-data-unit.d.ts +0 -11
  50. package/dist/components/snk-data-unit.js +0 -213
  51. package/dist/components/snk-form.d.ts +0 -11
  52. package/dist/components/snk-form.js +0 -121
  53. package/dist/components/snk-grid.d.ts +0 -11
  54. package/dist/components/snk-grid.js +0 -88
  55. package/dist/components/snk-taskbar.d.ts +0 -11
  56. package/dist/components/snk-taskbar.js +0 -6
  57. package/dist/components/snk-taskbar2.js +0 -221
  58. package/dist/esm/snk-data-unit.entry.js +0 -185
  59. package/dist/esm/snk-form.entry.js +0 -91
  60. package/dist/esm/snk-grid.entry.js +0 -60
  61. package/dist/esm/snk-taskbar.entry.js +0 -136
  62. package/dist/esm/taskbar-elements-3ba30bf4.js +0 -68
  63. package/dist/sankhyablocks/p-3cb106f7.entry.js +0 -69
  64. package/dist/sankhyablocks/p-3fce3190.entry.js +0 -1
  65. package/dist/sankhyablocks/p-560fdf54.entry.js +0 -1
  66. package/dist/sankhyablocks/p-574764bf.js +0 -1
  67. package/dist/sankhyablocks/p-8f7b9a85.entry.js +0 -1
  68. package/dist/sankhyablocks/p-9c225717.entry.js +0 -1
  69. package/dist/sankhyablocks/p-a45dba1a.js +0 -2
  70. package/dist/sankhyablocks/p-a670853c.entry.js +0 -1
  71. package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +0 -25
  72. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +0 -45
@@ -1,121 +0,0 @@
1
- import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
- import { ApplicationContext } from '@sankhyalabs/core';
3
- import { d as defineCustomElement$2 } from './snk-taskbar2.js';
4
-
5
- const snkFormCss = ".sc-snk-form-h{display:block}";
6
-
7
- const SnkForm$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
8
- constructor() {
9
- super();
10
- this.__registerHost();
11
- this.exit = createEvent(this, "exit", 7);
12
- this.actionClick = createEvent(this, "actionClick", 7);
13
- }
14
- getFormConfig() {
15
- return (this._dataState && this._dataState.insertionMode ? this._insertionFormConfig : this._editionFormConfig);
16
- }
17
- getInsertionHiddenFields(formConfig) {
18
- const hiddenFields = [];
19
- formConfig === null || formConfig === void 0 ? void 0 : formConfig.forEach(cfg => {
20
- const def = this._dataUnit.getField(cfg.name);
21
- if (def === null || def === void 0 ? void 0 : def.readOnly) {
22
- hiddenFields.push(cfg.name);
23
- }
24
- });
25
- return hiddenFields;
26
- }
27
- exitForm() {
28
- if (this._dataUnit.isDirty()) {
29
- this._dataUnit.cancelEdition({ after: () => this.exit.emit() });
30
- }
31
- else {
32
- this.exit.emit();
33
- }
34
- }
35
- getDisabledButtons() {
36
- const disabled = [];
37
- if (!this._dataState.hasPrevious) {
38
- disabled.push("PREVIOUS");
39
- }
40
- if (!this._dataState.hasNext) {
41
- disabled.push("NEXT");
42
- }
43
- return disabled;
44
- }
45
- componentWillLoad() {
46
- let parent = this._element.parentElement;
47
- while (parent) {
48
- if (parent.tagName.toUpperCase() === "SNK-DATA-UNIT") {
49
- this._snkDataUnit = parent;
50
- this._dataUnit = this._snkDataUnit.dataUnit;
51
- this._dataState = this._snkDataUnit.dataState;
52
- if (!this._dataUnit) {
53
- this._snkDataUnit.addEventListener("dataUnitReady", (evt) => {
54
- this._dataUnit = evt.detail;
55
- });
56
- }
57
- this._snkDataUnit.addEventListener("dataStateChange", (evt) => {
58
- this._dataState = evt.detail;
59
- });
60
- break;
61
- }
62
- parent = parent.parentElement;
63
- }
64
- }
65
- componentWillRender() {
66
- if (this._dataUnit && !this._configLoaded) {
67
- const snkApplication = ApplicationContext.getContextValue("__SNK__APPLICATION__");
68
- if (snkApplication) {
69
- snkApplication.loadFormConfig(this.configName).then(cfg => {
70
- this._configLoaded = true;
71
- this._editionFormConfig = cfg;
72
- this._insertionFormConfig = cfg.filter(fieldCfg => {
73
- const def = this._dataUnit.getField(fieldCfg.name);
74
- if (def === null || def === void 0 ? void 0 : def.readOnly) {
75
- return false;
76
- }
77
- return true;
78
- });
79
- });
80
- }
81
- }
82
- }
83
- render() {
84
- if (!this._configLoaded || !this._dataUnit || !this._dataState) {
85
- return undefined;
86
- }
87
- return (h("section", { class: "ez-padding--large" }, h("div", { class: "ez-row ez-padding-bottom--medium" }, h("div", { class: "ez-col ez-col--sd-6 ez-col--tb-6", key: "formHeader" }, h("ez-button", { mode: "icon", iconName: "arrow_back", class: "ez-padding-right--medium", size: "small", onClick: () => this.exitForm() }), h("h1", { class: "ez-title ez-title--primary ez-title--xlarge ez-align--middle" }, this.formTitle)), h("div", { class: "ez-col ez-col--sd-6 ez-col--tb-6 ez-align--right" }, h("snk-taskbar", { key: "formTaskbar", buttons: this._dataState.isDirty ? "CANCEL,SAVE" : "PREVIOUS,NEXT,DIVIDER,CLONE,REMOVE,MORE_OPTIONS,DIVIDER,GRID_MODE,INSERT", primaryButton: this._dataState.isDirty ? "SAVE" : "INSERT", disabledButtons: this.getDisabledButtons(), actionsList: this.actionsList, dataUnit: this._dataUnit }))), h("div", { class: "ez-padding--small" }), h("section", null, h("div", { class: "ez-row" }, h("div", { class: "ez-col ez-col--sd-12" }, h("ez-form", { key: "ezForm" + this._snkDataUnit.entityName, dataUnit: this._dataUnit, config: this.getFormConfig() }))))));
88
- }
89
- get _element() { return this; }
90
- static get style() { return snkFormCss; }
91
- }, [2, "snk-form", {
92
- "formTitle": [1, "form-title"],
93
- "configName": [1, "config-name"],
94
- "actionsList": [16],
95
- "_dataUnit": [32],
96
- "_configLoaded": [32],
97
- "_dataState": [32]
98
- }]);
99
- function defineCustomElement$1() {
100
- if (typeof customElements === "undefined") {
101
- return;
102
- }
103
- const components = ["snk-form", "snk-taskbar"];
104
- components.forEach(tagName => { switch (tagName) {
105
- case "snk-form":
106
- if (!customElements.get(tagName)) {
107
- customElements.define(tagName, SnkForm$1);
108
- }
109
- break;
110
- case "snk-taskbar":
111
- if (!customElements.get(tagName)) {
112
- defineCustomElement$2();
113
- }
114
- break;
115
- } });
116
- }
117
-
118
- const SnkForm = SnkForm$1;
119
- const defineCustomElement = defineCustomElement$1;
120
-
121
- export { SnkForm, defineCustomElement };
@@ -1,11 +0,0 @@
1
- import type { Components, JSX } from "../types/components";
2
-
3
- interface SnkGrid extends Components.SnkGrid, HTMLElement {}
4
- export const SnkGrid: {
5
- prototype: SnkGrid;
6
- new (): SnkGrid;
7
- };
8
- /**
9
- * Used to define this component and all nested components recursively.
10
- */
11
- export const defineCustomElement: () => void;
@@ -1,88 +0,0 @@
1
- import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
- import { ApplicationContext } from '@sankhyalabs/core';
3
- import { T as TaskbarElement, d as defineCustomElement$2 } from './snk-taskbar2.js';
4
-
5
- const snkGridCss = ".sc-snk-grid-h{display:flex;height:100%;width:100%}";
6
-
7
- const SnkGrid$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
8
- constructor() {
9
- super();
10
- this.__registerHost();
11
- this.actionClick = createEvent(this, "actionClick", 7);
12
- }
13
- getHeaderButtons() {
14
- return this._dataState && this._dataState.selectedRecords.length > 0 ? "UPDATE,CLONE,REMOVE,MORE_OPTIONS,DIVIDER,REFRESH" : "REFRESH";
15
- }
16
- actionClickHandler(evt) {
17
- if (evt.detail === TaskbarElement.CONFIG_GRID && this._grid) {
18
- this._grid.openGridConfig();
19
- }
20
- }
21
- componentWillLoad() {
22
- let parent = this._element.parentElement;
23
- while (parent) {
24
- if (parent.tagName.toUpperCase() === "SNK-DATA-UNIT") {
25
- this._snkDataUnit = parent;
26
- this._dataUnit = this._snkDataUnit.dataUnit;
27
- if (!this._dataUnit) {
28
- this._snkDataUnit.addEventListener("dataUnitReady", (evt) => {
29
- this._dataUnit = evt.detail;
30
- });
31
- }
32
- this._snkDataUnit.addEventListener("dataStateChange", (evt) => {
33
- this._dataState = evt.detail;
34
- });
35
- break;
36
- }
37
- parent = parent.parentElement;
38
- }
39
- }
40
- componentWillRender() {
41
- if (this._dataUnit && !this._configLoaded) {
42
- const snkApplication = ApplicationContext.getContextValue("__SNK__APPLICATION__");
43
- if (snkApplication) {
44
- snkApplication.loadGridConfig(this.configName).then(cfg => {
45
- this._gridConfig = cfg;
46
- this._configLoaded = true;
47
- });
48
- }
49
- }
50
- }
51
- render() {
52
- if (!this._configLoaded || !this._dataUnit) {
53
- return undefined;
54
- }
55
- 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 }))));
56
- }
57
- get _element() { return this; }
58
- static get style() { return snkGridCss; }
59
- }, [6, "snk-grid", {
60
- "configName": [1, "config-name"],
61
- "actionsList": [16],
62
- "_dataUnit": [32],
63
- "_configLoaded": [32],
64
- "_dataState": [32]
65
- }]);
66
- function defineCustomElement$1() {
67
- if (typeof customElements === "undefined") {
68
- return;
69
- }
70
- const components = ["snk-grid", "snk-taskbar"];
71
- components.forEach(tagName => { switch (tagName) {
72
- case "snk-grid":
73
- if (!customElements.get(tagName)) {
74
- customElements.define(tagName, SnkGrid$1);
75
- }
76
- break;
77
- case "snk-taskbar":
78
- if (!customElements.get(tagName)) {
79
- defineCustomElement$2();
80
- }
81
- break;
82
- } });
83
- }
84
-
85
- const SnkGrid = SnkGrid$1;
86
- const defineCustomElement = defineCustomElement$1;
87
-
88
- export { SnkGrid, defineCustomElement };
@@ -1,11 +0,0 @@
1
- import type { Components, JSX } from "../types/components";
2
-
3
- interface SnkTaskbar extends Components.SnkTaskbar, HTMLElement {}
4
- export const SnkTaskbar: {
5
- prototype: SnkTaskbar;
6
- new (): SnkTaskbar;
7
- };
8
- /**
9
- * Used to define this component and all nested components recursively.
10
- */
11
- export const defineCustomElement: () => void;
@@ -1,6 +0,0 @@
1
- import { S as SnkTaskbar$1, d as defineCustomElement$1 } from './snk-taskbar2.js';
2
-
3
- const SnkTaskbar = SnkTaskbar$1;
4
- const defineCustomElement = defineCustomElement$1;
5
-
6
- export { SnkTaskbar, defineCustomElement };
@@ -1,221 +0,0 @@
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 h("ez-actions-button", { size: "small", class: className, enabled: isEnabled(element), onEzAction: (evt) => action(evt.detail.value), actions: actions });
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 };
@@ -1,185 +0,0 @@
1
- import { r as registerInstance, c as createEvent, h, g as getElement, H as Host } from './index-0b078db7.js';
2
- import { Action, ApplicationContext } from '@sankhyalabs/core';
3
- import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
4
-
5
- const snkDataUnitCss = ".sc-snk-data-unit-h{display:flex;flex-direction:column;height:100%}";
6
-
7
- const SnkDataUnit = class {
8
- constructor(hostRef) {
9
- registerInstance(this, hostRef);
10
- this.dataStateChange = createEvent(this, "dataStateChange", 7);
11
- this.dataUnitReady = createEvent(this, "dataUnitReady", 7);
12
- this.insertionMode = createEvent(this, "insertionMode", 7);
13
- this._onDataUnitResolve = [];
14
- /**
15
- * Determina quantas linhas são retornadas por página
16
- */
17
- this.pageSize = 150;
18
- /**
19
- * Quando ativada essa propriedade faz com que haja uma carga imediata no DataUnit
20
- */
21
- this.autoLoad = true;
22
- this._dataUnitObserver = (action) => {
23
- let msg = this.getActionInfo(action.type);
24
- if (msg) {
25
- ApplicationUtils.info(msg);
26
- }
27
- if (action.type === Action.RECORDS_ADDED || action.type === Action.RECORDS_COPIED) {
28
- this.insertionMode.emit();
29
- }
30
- const duState = {
31
- insertionMode: false,
32
- hasNext: this.dataUnit.hasNext(),
33
- hasPrevious: this.dataUnit.hasPrevious(),
34
- copyMode: false,
35
- isDirty: this.dataUnit.isDirty(),
36
- selectedRecords: this.dataUnit.getSelectedRecords()
37
- };
38
- this.dataUnit.records.forEach(r => {
39
- if (r.__record__id__.startsWith('NEW_')) {
40
- duState.insertionMode = true;
41
- duState.copyMode || (duState.copyMode = r['__record__source__id__'] != undefined);
42
- }
43
- });
44
- this.dataState = duState;
45
- };
46
- }
47
- observePageSize() {
48
- if (this.dataUnit) {
49
- this.dataUnit.pageSize = this.pageSize;
50
- }
51
- }
52
- observeDataUnitName(newValue, oldValue) {
53
- if (oldValue != newValue) {
54
- this.dataUnit = undefined;
55
- this.dataUnitName = newValue;
56
- this.loadDataUnit();
57
- }
58
- }
59
- observeEntityName(newValue, oldValue) {
60
- if (oldValue != newValue) {
61
- this.dataUnit = undefined;
62
- this.entityName = newValue;
63
- this.loadDataUnit();
64
- }
65
- }
66
- observeDataState(newValue, oldValue) {
67
- if (oldValue != newValue) {
68
- this.dataStateChange.emit(newValue);
69
- }
70
- }
71
- observeDataUnit() {
72
- this.dataUnitReady.emit(this.dataUnit);
73
- }
74
- /**
75
- * Pode-se obter o dataUnit através desse método. Outra forma, é ouvir o evento de
76
- *
77
- * @returns dataUnit
78
- */
79
- async getDataUnit() {
80
- return new Promise((resolve) => {
81
- if (this.dataUnit) {
82
- resolve(this.dataUnit);
83
- }
84
- else {
85
- this._onDataUnitResolve.push(resolve);
86
- }
87
- });
88
- }
89
- async interceptAction(action) {
90
- return new Promise(resolve => {
91
- switch (action.type) {
92
- case Action.SAVING_DATA:
93
- if (this.beforeSave) {
94
- const continueAction = this.beforeSave(this.dataUnit);
95
- if (continueAction instanceof Promise) {
96
- continueAction.then(result => resolve(result ? action : undefined));
97
- }
98
- else {
99
- resolve(continueAction ? action : undefined);
100
- }
101
- }
102
- else {
103
- resolve(action);
104
- }
105
- break;
106
- case Action.DATA_SAVED:
107
- if (this.afterSave) {
108
- this.afterSave(this.dataUnit);
109
- }
110
- else {
111
- resolve(action);
112
- }
113
- break;
114
- case Action.EDITION_CANCELED:
115
- ApplicationUtils.confirm(this.i18n("components.warning"), this.i18n("components.confirmCancelEdition"))
116
- .then((result) => resolve(result ? action : undefined));
117
- break;
118
- case Action.REMOVING_RECORDS:
119
- ApplicationUtils.confirm(this.i18n("components.delete"), this.i18n("components.confirmRemoveRecord"), "delete", true, { btnConfirmDanger: true })
120
- .then((result) => resolve(result ? action : undefined));
121
- break;
122
- default:
123
- resolve(action);
124
- }
125
- });
126
- }
127
- getActionInfo(action) {
128
- if (this.messageBuilder) {
129
- return this.messageBuilder(action, this.dataState, this.dataUnit);
130
- }
131
- if (action === Action.EDITION_CANCELED) {
132
- return this.i18n("components.editionCanceled");
133
- }
134
- }
135
- async loadDataUnit() {
136
- if (!this.dataUnit) {
137
- const app = ApplicationContext.getContextValue("__SNK__APPLICATION__");
138
- if (app && this.entityName) {
139
- const cacheName = this.dataUnitName ? this.dataUnitName : this.entityName;
140
- this.dataUnit = await app.getDataUnit(this.entityName, cacheName);
141
- this.dataUnit.pageSize = this.pageSize;
142
- this.dataUnit.unsubscribe(this._dataUnitObserver);
143
- this.dataUnit.addInterceptor(this);
144
- this.dataUnit.subscribe(this._dataUnitObserver);
145
- let resolver;
146
- while (resolver = this._onDataUnitResolve.pop()) {
147
- resolver(this.dataUnit);
148
- }
149
- if (this.autoLoad) {
150
- this.dataUnit.loadData();
151
- }
152
- }
153
- }
154
- }
155
- i18n(key) {
156
- const pt_br = {
157
- "components.warning": "Aviso",
158
- "components.delete": "Excluir",
159
- "components.confirmRemoveRecord": "Deseja realmente excluir o registro atual?",
160
- "components.confirmCancelEdition": "As alterações realizadas serão descartadas<br/><br/><b>Você realmente gostaria de sair?</b>",
161
- "components.editionCanceled": "Todas as alterações foram descartadas.",
162
- };
163
- return pt_br[key];
164
- }
165
- //---------------------------------------------
166
- // Lifecycle web component
167
- //---------------------------------------------
168
- componentDidRender() {
169
- this.loadDataUnit();
170
- }
171
- render() {
172
- return (h(Host, null));
173
- }
174
- get element() { return getElement(this); }
175
- static get watchers() { return {
176
- "pageSize": ["observePageSize"],
177
- "dataUnitName": ["observeDataUnitName"],
178
- "entityName": ["observeEntityName"],
179
- "dataState": ["observeDataState"],
180
- "dataUnit": ["observeDataUnit"]
181
- }; }
182
- };
183
- SnkDataUnit.style = snkDataUnitCss;
184
-
185
- export { SnkDataUnit as snk_data_unit };