@sankhyalabs/sankhyablocks 1.4.0-beta.2 → 1.4.0-beta.4

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 (152) hide show
  1. package/dist/cjs/{index-b0b676c5.js → index-6fcf07f3.js} +159 -1515
  2. package/dist/cjs/loader.cjs.js +2 -18
  3. package/dist/cjs/sankhyablocks.cjs.js +4 -116
  4. package/dist/cjs/snk-application.cjs.entry.js +53 -217
  5. package/dist/cjs/snk-crud.cjs.entry.js +9 -3
  6. package/dist/cjs/snk-data-unit.cjs.entry.js +23 -23
  7. package/dist/cjs/snk-filter-bar_5.cjs.entry.js +883 -0
  8. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
  9. package/dist/cjs/snk-filter-detail.cjs.entry.js +32 -21
  10. package/dist/cjs/snk-filter-multi-select.cjs.entry.js +1 -1
  11. package/dist/cjs/snk-filter-number.cjs.entry.js +1 -1
  12. package/dist/cjs/snk-filter-period.cjs.entry.js +1 -1
  13. package/dist/cjs/snk-filter-personalized.cjs.entry.js +23 -31
  14. package/dist/cjs/snk-filter-search.cjs.entry.js +3 -12
  15. package/dist/cjs/snk-filter-text.cjs.entry.js +1 -1
  16. package/dist/cjs/{snk-form.cjs.entry.js → snk-form_2.cjs.entry.js} +119 -5
  17. package/dist/cjs/snk-pesquisa.cjs.entry.js +5 -5
  18. package/dist/cjs/{taskbar-elements-283c737e.js → taskbar-elements-aedfeae6.js} +1 -1
  19. package/dist/cjs/teste-pesquisa.cjs.entry.js +5 -5
  20. package/dist/collection/components/snk-crud/snk-crud.js +29 -0
  21. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-personalized.js +0 -39
  22. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-search.js +0 -39
  23. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +30 -36
  24. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +3 -14
  25. package/dist/collection/components/snk-filter-bar/filter-list/snk-filter-list.js +4 -12
  26. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +3 -3
  27. package/dist/components/index.js +0 -4
  28. package/dist/components/snk-application2.js +13 -177
  29. package/dist/components/snk-crud.js +9 -2
  30. package/dist/components/snk-data-unit.js +2 -2
  31. package/dist/components/snk-filter-bar2.js +4 -2
  32. package/dist/components/snk-filter-detail2.js +31 -21
  33. package/dist/components/snk-filter-item2.js +4 -15
  34. package/dist/components/snk-filter-list2.js +5 -13
  35. package/dist/components/snk-filter-modal2.js +4 -19
  36. package/dist/components/snk-filter-personalized.js +3 -13
  37. package/dist/components/snk-filter-search.js +2 -13
  38. package/dist/components/snk-form2.js +1 -1
  39. package/dist/components/snk-grid2.js +1 -1
  40. package/dist/components/snk-pesquisa2.js +1 -1
  41. package/dist/components/snk-taskbar2.js +1 -1
  42. package/dist/components/teste-pesquisa.js +1 -1
  43. package/dist/{sankhyablocks/index-2b4d2d14.js → esm/index-81dda3cf.js} +160 -1508
  44. package/dist/esm/loader.js +2 -18
  45. package/dist/esm/sankhyablocks.js +4 -116
  46. package/dist/esm/snk-application.entry.js +14 -178
  47. package/dist/esm/snk-crud.entry.js +8 -2
  48. package/dist/esm/snk-data-unit.entry.js +3 -3
  49. package/dist/esm/{snk-filter-bar.entry.js → snk-filter-bar_5.entry.js} +417 -4
  50. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  51. package/dist/esm/snk-filter-detail.entry.js +32 -21
  52. package/dist/esm/snk-filter-multi-select.entry.js +1 -1
  53. package/dist/esm/snk-filter-number.entry.js +1 -1
  54. package/dist/esm/snk-filter-period.entry.js +1 -1
  55. package/dist/esm/snk-filter-personalized.entry.js +3 -11
  56. package/dist/esm/snk-filter-search.entry.js +2 -11
  57. package/dist/esm/snk-filter-text.entry.js +1 -1
  58. package/dist/{sankhyablocks/snk-form.entry.js → esm/snk-form_2.entry.js} +117 -4
  59. package/dist/esm/snk-pesquisa.entry.js +2 -2
  60. package/dist/esm/{taskbar-elements-35d64ff9.js → taskbar-elements-38eb5d51.js} +1 -1
  61. package/dist/esm/teste-pesquisa.entry.js +2 -2
  62. package/dist/sankhyablocks/index.esm.js +0 -1
  63. package/dist/sankhyablocks/p-01823784.entry.js +1 -0
  64. package/dist/sankhyablocks/p-0352c0e2.entry.js +1 -0
  65. package/dist/sankhyablocks/p-07ebda01.entry.js +1 -0
  66. package/dist/sankhyablocks/p-46caa101.entry.js +1 -0
  67. package/dist/sankhyablocks/p-586e2522.js +1 -0
  68. package/dist/sankhyablocks/p-6f8303f3.entry.js +1 -0
  69. package/dist/sankhyablocks/p-746fc78b.entry.js +1 -0
  70. package/dist/sankhyablocks/p-77216252.entry.js +1 -0
  71. package/dist/sankhyablocks/p-86f15ffe.js +1 -0
  72. package/dist/sankhyablocks/p-8bbc0cbb.entry.js +74 -0
  73. package/dist/sankhyablocks/p-8f3c5709.entry.js +1 -0
  74. package/dist/sankhyablocks/p-97009a2c.entry.js +1 -0
  75. package/dist/sankhyablocks/p-9dd2b8cb.js +1 -0
  76. package/dist/sankhyablocks/p-aecf3e0a.entry.js +1 -0
  77. package/dist/sankhyablocks/p-c1c3b5d8.entry.js +1 -0
  78. package/dist/sankhyablocks/p-c9eec639.entry.js +1 -0
  79. package/dist/sankhyablocks/p-eea6444c.entry.js +1 -0
  80. package/dist/sankhyablocks/p-fac2b6a9.js +2 -0
  81. package/dist/sankhyablocks/p-fb705f81.entry.js +1 -0
  82. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -129
  83. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-personalized.d.ts +0 -2
  84. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-search.d.ts +0 -2
  85. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +1 -1
  86. package/dist/types/components/snk-filter-bar/filter-list/snk-filter-list.d.ts +1 -1
  87. package/dist/types/components.d.ts +4 -10
  88. package/package.json +1 -1
  89. package/react/components.d.ts +19 -0
  90. package/react/components.js +19 -0
  91. package/react/components.js.map +1 -1
  92. package/dist/cjs/app-globals-3a1e7e63.js +0 -5
  93. package/dist/cjs/css-shim-b8158822.js +0 -6
  94. package/dist/cjs/dom-36862b77.js +0 -75
  95. package/dist/cjs/index-84fe3b86.js +0 -20
  96. package/dist/cjs/index-93965c41.js +0 -141
  97. package/dist/cjs/index-e90ae303.js +0 -2408
  98. package/dist/cjs/shadow-css-346c0795.js +0 -389
  99. package/dist/cjs/snk-filter-bar.cjs.entry.js +0 -466
  100. package/dist/cjs/snk-filter-item.cjs.entry.js +0 -177
  101. package/dist/cjs/snk-filter-list.cjs.entry.js +0 -91
  102. package/dist/cjs/snk-filter-modal.cjs.entry.js +0 -37
  103. package/dist/cjs/snk-grid.cjs.entry.js +0 -79
  104. package/dist/cjs/snk-taskbar.cjs.entry.js +0 -160
  105. package/dist/cjs/taskbar-processor-6bd0d35c.js +0 -47
  106. package/dist/components/index2.js +0 -2394
  107. package/dist/components/index3.js +0 -139
  108. package/dist/esm/app-globals-0f993ce5.js +0 -3
  109. package/dist/esm/css-shim-b3f2ee8d.js +0 -4
  110. package/dist/esm/dom-665d6011.js +0 -73
  111. package/dist/esm/index-2b4d2d14.js +0 -3262
  112. package/dist/esm/index-5992b7e6.js +0 -139
  113. package/dist/esm/index-c683b2b0.js +0 -2394
  114. package/dist/esm/index-c71285cb.js +0 -17
  115. package/dist/esm/shadow-css-b18e99d7.js +0 -387
  116. package/dist/esm/snk-filter-item.entry.js +0 -173
  117. package/dist/esm/snk-filter-list.entry.js +0 -87
  118. package/dist/esm/snk-filter-modal.entry.js +0 -33
  119. package/dist/esm/snk-form.entry.js +0 -129
  120. package/dist/esm/snk-grid.entry.js +0 -75
  121. package/dist/esm/snk-taskbar.entry.js +0 -156
  122. package/dist/esm/taskbar-processor-aa6772c9.js +0 -45
  123. package/dist/sankhyablocks/SnkMessageBuilder-35a20271.js +0 -199
  124. package/dist/sankhyablocks/app-globals-0f993ce5.js +0 -3
  125. package/dist/sankhyablocks/css-shim-b3f2ee8d.js +0 -4
  126. package/dist/sankhyablocks/dom-665d6011.js +0 -73
  127. package/dist/sankhyablocks/filter-item-type.enum-a79b2fa8.js +0 -14
  128. package/dist/sankhyablocks/index-5992b7e6.js +0 -139
  129. package/dist/sankhyablocks/index-c683b2b0.js +0 -2394
  130. package/dist/sankhyablocks/index-c71285cb.js +0 -17
  131. package/dist/sankhyablocks/shadow-css-b18e99d7.js +0 -387
  132. package/dist/sankhyablocks/snk-application.entry.js +0 -8166
  133. package/dist/sankhyablocks/snk-crud.entry.js +0 -66
  134. package/dist/sankhyablocks/snk-data-unit.entry.js +0 -268
  135. package/dist/sankhyablocks/snk-filter-bar.entry.js +0 -462
  136. package/dist/sankhyablocks/snk-filter-binary-select.entry.js +0 -43
  137. package/dist/sankhyablocks/snk-filter-detail.entry.js +0 -80
  138. package/dist/sankhyablocks/snk-filter-item.entry.js +0 -173
  139. package/dist/sankhyablocks/snk-filter-list.entry.js +0 -87
  140. package/dist/sankhyablocks/snk-filter-modal.entry.js +0 -33
  141. package/dist/sankhyablocks/snk-filter-multi-select.entry.js +0 -19
  142. package/dist/sankhyablocks/snk-filter-number.entry.js +0 -20
  143. package/dist/sankhyablocks/snk-filter-period.entry.js +0 -33
  144. package/dist/sankhyablocks/snk-filter-personalized.entry.js +0 -85
  145. package/dist/sankhyablocks/snk-filter-search.entry.js +0 -40
  146. package/dist/sankhyablocks/snk-filter-text.entry.js +0 -18
  147. package/dist/sankhyablocks/snk-grid.entry.js +0 -75
  148. package/dist/sankhyablocks/snk-pesquisa.entry.js +0 -311
  149. package/dist/sankhyablocks/snk-taskbar.entry.js +0 -156
  150. package/dist/sankhyablocks/taskbar-elements-35d64ff9.js +0 -90
  151. package/dist/sankhyablocks/taskbar-processor-aa6772c9.js +0 -45
  152. package/dist/sankhyablocks/teste-pesquisa.entry.js +0 -33
@@ -1,66 +0,0 @@
1
- import { r as registerInstance, e as createEvent, h, g as getElement } from './index-2b4d2d14.js';
2
- import { A as ApplicationContext } from './index-c683b2b0.js';
3
-
4
- const snkCrudCss = ".sc-snk-crud-h{display:flex;flex-direction:column;height:100%;width:100%}";
5
-
6
- const GRID_MODE = 0;
7
- const FORM_MODE = 1;
8
- const SnkCrud = class {
9
- constructor(hostRef) {
10
- registerInstance(this, hostRef);
11
- this.actionClick = createEvent(this, "actionClick", 7);
12
- }
13
- async gridToForm(keepFormMode = false) {
14
- this._backToGrid = !keepFormMode && await this._viewStack.getSelectedIndex() === GRID_MODE;
15
- this._viewStack.show(FORM_MODE);
16
- }
17
- async executeAction(act) {
18
- if (act === "GRID_MODE") {
19
- this._viewStack.show(GRID_MODE);
20
- }
21
- else if (act === "FORM_MODE" || act === "UPDATE") {
22
- this.gridToForm(act !== "UPDATE");
23
- }
24
- }
25
- insertionModeHandler() {
26
- this.gridToForm();
27
- }
28
- cancelHandler() {
29
- if (this._backToGrid) {
30
- this._viewStack.show(GRID_MODE);
31
- }
32
- }
33
- componentWillLoad() {
34
- let parent = this._element.parentElement;
35
- while (parent) {
36
- if (parent.tagName.toUpperCase() === "SNK-DATA-UNIT") {
37
- this._snkDataUnit = parent;
38
- this._snkDataUnit.addEventListener("insertionMode", () => this.insertionModeHandler());
39
- this._snkDataUnit.addEventListener("cancelEdition", () => this.cancelHandler());
40
- this._dataUnit = this._snkDataUnit.dataUnit;
41
- this._dataState = this._snkDataUnit.dataState;
42
- if (!this._dataUnit) {
43
- this._snkDataUnit.addEventListener("dataUnitReady", (evt) => {
44
- this._dataUnit = evt.detail;
45
- });
46
- }
47
- this._snkDataUnit.addEventListener("dataStateChange", (evt) => {
48
- this._dataState = evt.detail;
49
- });
50
- break;
51
- }
52
- parent = parent.parentElement;
53
- }
54
- if (!this.configName) {
55
- const application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
56
- this.configName = application.configName;
57
- }
58
- }
59
- render() {
60
- return (h("ez-view-stack", { ref: (ref) => this._viewStack = ref }, h("stack-item", null, h("snk-grid", { configName: this.configName, onGridDoubleClick: () => this.gridToForm(true), taskbarManager: this.taskbarManager, onActionClick: evt => this.executeAction(evt.detail), actionsList: this.actionsList, statusResolver: this.statusResolver }, h("slot", { name: "SnkGridHeader" }), h("slot", { name: "SnkGridFooter" }), h("slot", { name: "SnkGridTaskBar" }))), h("stack-item", null, h("snk-form", { configName: this.configName, actionsList: this.actionsList, onExit: () => this._viewStack.show(GRID_MODE), recordsValidator: this.recordsValidator, taskbarManager: this.taskbarManager, onActionClick: evt => this.executeAction(evt.detail) }, h("slot", { name: "SnkFormTaskBar" })))));
61
- }
62
- get _element() { return getElement(this); }
63
- };
64
- SnkCrud.style = snkCrudCss;
65
-
66
- export { SnkCrud as snk_crud };
@@ -1,268 +0,0 @@
1
- import { r as registerInstance, e as createEvent, h, f as Host, g as getElement } from './index-2b4d2d14.js';
2
- import { a as Action, A as ApplicationContext } from './index-c683b2b0.js';
3
- import { A as ApplicationUtils, D as DialogType } from './index-5992b7e6.js';
4
- import { O as OperationMap } from './SnkMessageBuilder-35a20271.js';
5
-
6
- const snkDataUnitCss = ".sc-snk-data-unit-h{display:flex;flex-direction:column;height:100%}";
7
-
8
- const SnkDataUnit = class {
9
- constructor(hostRef) {
10
- registerInstance(this, hostRef);
11
- this.dataStateChange = createEvent(this, "dataStateChange", 7);
12
- this.dataUnitReady = createEvent(this, "dataUnitReady", 7);
13
- this.insertionMode = createEvent(this, "insertionMode", 7);
14
- this.cancelEdition = createEvent(this, "cancelEdition", 7);
15
- this._onDataUnitResolve = [];
16
- /**
17
- * Determina quantas linhas são retornadas por página
18
- */
19
- this.pageSize = 150;
20
- this._dataUnitObserver = (action) => {
21
- const duState = {
22
- insertionMode: false,
23
- hasNext: this.dataUnit.hasNext(),
24
- hasPrevious: this.dataUnit.hasPrevious(),
25
- copyMode: false,
26
- isDirty: this.dataUnit.isDirty(),
27
- hasDirtyRecords: this.dataUnit.hasDirtyRecords(),
28
- selectedRecords: this.dataUnit.getSelectedRecords()
29
- };
30
- this.dataUnit.records.forEach(r => {
31
- if (r.__record__id__.startsWith('NEW_')) {
32
- duState.insertionMode = true;
33
- duState.copyMode || (duState.copyMode = r['__record__source__id__'] != undefined);
34
- }
35
- });
36
- this.dataState = duState;
37
- if (action.type === Action.DATA_SAVED) {
38
- const msg = this.getMessage("snkDataUnit.saveInfo", action.payload.records[0]);
39
- if (msg != undefined) {
40
- this.showSuccessMessage(msg);
41
- }
42
- }
43
- if (action.type === Action.RECORDS_ADDED || action.type === Action.RECORDS_COPIED) {
44
- this.insertionMode.emit();
45
- }
46
- if (action.type === Action.EDITION_CANCELED) {
47
- this.cancelEdition.emit();
48
- const cancelFinishMsg = this.getMessage("snkDataUnit.cancelInfo");
49
- if (cancelFinishMsg != undefined) {
50
- this.showSuccessMessage(cancelFinishMsg);
51
- }
52
- }
53
- if (action.type === Action.RECORDS_REMOVED) {
54
- const removeFinishMsg = this.getMessage("snkDataUnit.removeInfo", action.payload.cachedRecords[0]);
55
- if (removeFinishMsg != undefined) {
56
- this.showSuccessMessage(removeFinishMsg);
57
- }
58
- }
59
- this._application.messagesBuilder.currentOperation = this.getMessageOperation();
60
- };
61
- }
62
- observePageSize() {
63
- if (this.dataUnit) {
64
- this.dataUnit.pageSize = this.pageSize;
65
- }
66
- }
67
- observeDataUnitName(newValue, oldValue) {
68
- if (oldValue != newValue) {
69
- this.dataUnit = undefined;
70
- this.dataUnitName = newValue;
71
- this.loadDataUnit();
72
- }
73
- }
74
- observeEntityName(newValue, oldValue) {
75
- if (oldValue != newValue) {
76
- this.dataUnit = undefined;
77
- this.entityName = newValue;
78
- this.loadDataUnit();
79
- }
80
- }
81
- observeDataState(newValue, oldValue) {
82
- if (oldValue != newValue) {
83
- this.dataStateChange.emit(newValue);
84
- }
85
- }
86
- observeDataUnit() {
87
- this.dataUnitReady.emit(this.dataUnit);
88
- }
89
- /**
90
- * Pode-se obter o dataUnit através desse método. Outra forma, é ouvir o evento de
91
- *
92
- * @returns dataUnit
93
- */
94
- async getDataUnit() {
95
- return new Promise((resolve) => {
96
- if (this.dataUnit) {
97
- resolve(this.dataUnit);
98
- }
99
- else {
100
- this._onDataUnitResolve.push(resolve);
101
- }
102
- });
103
- }
104
- async interceptAction(action) {
105
- return new Promise(resolve => {
106
- switch (action.type) {
107
- case Action.RECORDS_ADDED:
108
- if (this.isAllowed("INSERT")) {
109
- resolve(action);
110
- }
111
- else {
112
- ApplicationUtils.info(this.getMessage("snkDataUnit.forbiddenInsert"));
113
- }
114
- break;
115
- case Action.RECORDS_COPIED:
116
- if (this.isAllowed("CLONE")) {
117
- resolve(action);
118
- }
119
- else {
120
- ApplicationUtils.info(this.getMessage("snkDataUnit.forbiddenClone"));
121
- }
122
- break;
123
- case Action.DATA_CHANGED:
124
- case Action.CHANGING_DATA:
125
- if (this.isAllowed("UPDATE")) {
126
- resolve(action);
127
- }
128
- else {
129
- this.dataUnit.cancelEdition();
130
- ApplicationUtils.alert(this.getMessage("snkDataUnit.forbidden"), this.getMessage("snkDataUnit.forbiddenUpdate"));
131
- }
132
- break;
133
- case Action.SAVING_DATA:
134
- if (this.beforeSave) {
135
- const continueAction = this.beforeSave(this.dataUnit);
136
- if (continueAction instanceof Promise) {
137
- continueAction.then(result => resolve(result ? action : undefined));
138
- }
139
- else {
140
- resolve(continueAction ? action : undefined);
141
- }
142
- }
143
- else {
144
- resolve(action);
145
- }
146
- break;
147
- case Action.DATA_SAVED:
148
- if (this.afterSave) {
149
- this.afterSave(this.dataUnit);
150
- }
151
- else {
152
- resolve(action);
153
- }
154
- break;
155
- case Action.EDITION_CANCELED:
156
- if (this.dataState.hasDirtyRecords) {
157
- const cancelConfirmation = this.getMessage("snkDataUnit.cancelConfirmation");
158
- if (cancelConfirmation == undefined) {
159
- resolve(action);
160
- }
161
- else {
162
- const cancelConfirmationTitle = this.getMessage("snkDataUnit.cancelConfirmationTitle");
163
- ApplicationUtils.confirm(cancelConfirmationTitle, cancelConfirmation)
164
- .then((result) => resolve(result ? action : undefined));
165
- }
166
- }
167
- else {
168
- resolve(action);
169
- }
170
- break;
171
- case Action.REMOVING_RECORDS:
172
- if (this.isAllowed("REMOVE")) {
173
- const removeConfirmation = this.getMessage("snkDataUnit.removeConfirmation");
174
- if (removeConfirmation == undefined) {
175
- resolve(action);
176
- }
177
- else {
178
- const removeConfirmationTitle = this.getMessage("snkDataUnit.removeConfirmationTitle");
179
- ApplicationUtils.confirm(removeConfirmationTitle, removeConfirmation, "delete", DialogType.CRITICAL, { btnConfirmDanger: true })
180
- .then((result) => resolve(result ? action : undefined));
181
- }
182
- }
183
- else {
184
- ApplicationUtils.info(this.getMessage("snkDataUnit.forbiddenRemove"));
185
- }
186
- break;
187
- default:
188
- resolve(action);
189
- }
190
- });
191
- }
192
- showSuccessMessage(message) {
193
- ApplicationUtils.info(message, { iconName: "check" });
194
- }
195
- isAllowed(flag) {
196
- return this._permissions ? this._permissions.isSup || this._permissions[flag] : false;
197
- }
198
- /**
199
- * Conforme mecanismo de mensagens, é possível customizar as mensagens dos blocos de construção
200
- * através de um pequeno modulo na estrutura da aplicação:
201
- * - Criar um arquivo no seguinte caminho: /messages/appmessages.msg.js.
202
- * Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-data-unit.msg.ts"
203
- */
204
- getMessage(key, params = undefined) {
205
- if (!params) {
206
- params = this.getMessageParams();
207
- }
208
- return this._application.messagesBuilder.getMessage(key, params);
209
- }
210
- getMessageParams() {
211
- //TODO: Atualmente ainda não usamos o recurso de multiseleção do dataunit, mas no futuro
212
- //precisaremos criar um mecanismo para oferecer todos os registros selecionados para a
213
- //mensagem
214
- return this.dataState.selectedRecords ? this.dataState.selectedRecords[0] : undefined;
215
- }
216
- getMessageOperation() {
217
- if (this.dataState.copyMode) {
218
- return OperationMap.CLONE;
219
- }
220
- if (this.dataState.insertionMode) {
221
- return OperationMap.INSERT;
222
- }
223
- if (this.dataState.isDirty) {
224
- return OperationMap.UPDATE;
225
- }
226
- return OperationMap.CLEAN;
227
- }
228
- async loadDataUnit() {
229
- if (!this.dataUnit) {
230
- if (this._application && this.entityName) {
231
- const cacheName = this.dataUnitName ? this.dataUnitName : this.entityName;
232
- this.dataUnit = await this._application.getDataUnit(this.entityName, cacheName);
233
- this.dataUnit.pageSize = this.pageSize;
234
- this.dataUnit.unsubscribe(this._dataUnitObserver);
235
- this.dataUnit.addInterceptor(this);
236
- this.dataUnit.subscribe(this._dataUnitObserver);
237
- let resolver;
238
- while (resolver = this._onDataUnitResolve.pop()) {
239
- resolver(this.dataUnit);
240
- }
241
- }
242
- }
243
- }
244
- //---------------------------------------------
245
- // Lifecycle web component
246
- //---------------------------------------------
247
- componentWillLoad() {
248
- this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
249
- this._application.getAllAccess().then(access => this._permissions = access);
250
- }
251
- componentDidLoad() {
252
- this.loadDataUnit();
253
- }
254
- render() {
255
- return (h(Host, null));
256
- }
257
- get element() { return getElement(this); }
258
- static get watchers() { return {
259
- "pageSize": ["observePageSize"],
260
- "dataUnitName": ["observeDataUnitName"],
261
- "entityName": ["observeEntityName"],
262
- "dataState": ["observeDataState"],
263
- "dataUnit": ["observeDataUnit"]
264
- }; }
265
- };
266
- SnkDataUnit.style = snkDataUnitCss;
267
-
268
- export { SnkDataUnit as snk_data_unit };