@sankhyalabs/sankhyablocks 8.1.0-dev.1 → 8.1.0-dev.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/README.md +1 -1
- package/dist/cjs/{ConfigStorage-73e7afff.js → ConfigStorage-e32e1391.js} +4 -4
- package/dist/cjs/{DataFetcher-004811c6.js → DataFetcher-d2c6ae38.js} +29 -0
- package/dist/cjs/{SnkFormConfigManager-d1f1a222.js → SnkFormConfigManager-5e61b0a9.js} +2 -2
- package/dist/cjs/{auth-fetcher-58237931.js → auth-fetcher-da975ac5.js} +1 -1
- package/dist/cjs/{dataunit-fetcher-029eafbd.js → dataunit-fetcher-58ad78a7.js} +1 -1
- package/dist/cjs/{filter-bar-config-fetcher-2b8ed9d0.js → filter-bar-config-fetcher-80b033ce.js} +1 -1
- package/dist/cjs/{form-config-fetcher-181767c9.js → form-config-fetcher-761994b9.js} +2 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{pesquisa-fetcher-9a97994a.js → pesquisa-fetcher-bb0bb679.js} +1 -1
- package/dist/cjs/{resource-fetcher-c0332609.js → resource-fetcher-95d24dff.js} +1 -1
- package/dist/cjs/sankhyablocks.cjs.js +1 -1
- package/dist/cjs/snk-actions-button.cjs.entry.js +2 -2
- package/dist/cjs/snk-application.cjs.entry.js +8 -8
- package/dist/cjs/snk-attach.cjs.entry.js +2 -2
- package/dist/cjs/snk-crud.cjs.entry.js +5 -4
- package/dist/cjs/snk-data-exporter.cjs.entry.js +2 -2
- package/dist/cjs/{snk-data-unit-cc7a7ed0.js → snk-data-unit-e89e07bd.js} +0 -1
- package/dist/cjs/snk-data-unit.cjs.entry.js +1 -1
- package/dist/cjs/snk-detail-view.cjs.entry.js +10 -9
- package/dist/cjs/snk-filter-bar.cjs.entry.js +6 -6
- package/dist/cjs/snk-filter-detail.cjs.entry.js +3 -3
- package/dist/cjs/snk-filter-modal-item.cjs.entry.js +5 -5
- package/dist/cjs/snk-form-config.cjs.entry.js +3 -3
- package/dist/cjs/snk-form-view.cjs.entry.js +6 -1
- package/dist/cjs/snk-form.cjs.entry.js +7 -6
- package/dist/cjs/snk-grid-config.cjs.entry.js +5 -5
- package/dist/cjs/snk-grid.cjs.entry.js +10 -9
- package/dist/cjs/{snk-guides-viewer-27f87d90.js → snk-guides-viewer-eb0a79a4.js} +4 -3
- package/dist/cjs/snk-guides-viewer.cjs.entry.js +8 -8
- package/dist/cjs/snk-personalized-filter.cjs.entry.js +5 -5
- package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
- package/dist/cjs/snk-simple-crud.cjs.entry.js +15 -71
- package/dist/collection/components/snk-crud/snk-crud.js +22 -0
- package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +23 -1
- package/dist/collection/components/snk-crud/subcomponents/snk-form-view.js +27 -1
- package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +22 -0
- package/dist/collection/components/snk-data-unit/snk-data-unit.js +0 -18
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +1 -1
- package/dist/collection/components/snk-form/snk-form.js +22 -0
- package/dist/collection/components/snk-grid/snk-grid.js +25 -4
- package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +22 -0
- package/dist/collection/components/teste-pesquisa/teste-pesquisa.css +1 -1
- package/dist/collection/lib/dataUnit/InMemoryLoader.js +2 -59
- package/dist/collection/lib/utils/urlutils.js +29 -0
- package/dist/components/DataFetcher.js +29 -0
- package/dist/components/snk-crud.js +1 -0
- package/dist/components/snk-data-unit2.js +0 -1
- package/dist/components/snk-detail-view2.js +3 -1
- package/dist/components/snk-filter-bar2.js +1 -1
- package/dist/components/snk-form-view2.js +6 -1
- package/dist/components/snk-form.js +1 -0
- package/dist/components/snk-grid2.js +7 -5
- package/dist/components/snk-simple-crud2.js +3 -59
- package/dist/esm/{ConfigStorage-19a7260b.js → ConfigStorage-b6aefe42.js} +4 -4
- package/dist/esm/{DataFetcher-e0fc5549.js → DataFetcher-aaaff866.js} +29 -0
- package/dist/esm/{SnkFormConfigManager-1a42eb02.js → SnkFormConfigManager-80901f2d.js} +2 -2
- package/dist/esm/{auth-fetcher-83a946f8.js → auth-fetcher-7860d777.js} +1 -1
- package/dist/esm/{dataunit-fetcher-6a695723.js → dataunit-fetcher-9dfcdb1d.js} +1 -1
- package/dist/esm/{filter-bar-config-fetcher-06e02851.js → filter-bar-config-fetcher-317cb6bf.js} +1 -1
- package/dist/esm/{form-config-fetcher-9e167008.js → form-config-fetcher-4a34b86a.js} +2 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{pesquisa-fetcher-9118eb7a.js → pesquisa-fetcher-01d058e6.js} +1 -1
- package/dist/esm/{resource-fetcher-768d5556.js → resource-fetcher-b36ac145.js} +1 -1
- package/dist/esm/sankhyablocks.js +1 -1
- package/dist/esm/snk-actions-button.entry.js +2 -2
- package/dist/esm/snk-application.entry.js +8 -8
- package/dist/esm/snk-attach.entry.js +2 -2
- package/dist/esm/snk-crud.entry.js +5 -4
- package/dist/esm/snk-data-exporter.entry.js +2 -2
- package/dist/esm/{snk-data-unit-77508763.js → snk-data-unit-8c4d944d.js} +0 -1
- package/dist/esm/snk-data-unit.entry.js +1 -1
- package/dist/esm/snk-detail-view.entry.js +10 -9
- package/dist/esm/snk-filter-bar.entry.js +6 -6
- package/dist/esm/snk-filter-detail.entry.js +3 -3
- package/dist/esm/snk-filter-modal-item.entry.js +5 -5
- package/dist/esm/snk-form-config.entry.js +3 -3
- package/dist/esm/snk-form-view.entry.js +6 -1
- package/dist/esm/snk-form.entry.js +7 -6
- package/dist/esm/snk-grid-config.entry.js +5 -5
- package/dist/esm/snk-grid.entry.js +10 -9
- package/dist/esm/{snk-guides-viewer-c47cd45e.js → snk-guides-viewer-ee42eb53.js} +4 -3
- package/dist/esm/snk-guides-viewer.entry.js +8 -8
- package/dist/esm/snk-personalized-filter.entry.js +5 -5
- package/dist/esm/snk-print-selector.entry.js +1 -1
- package/dist/esm/snk-simple-crud.entry.js +5 -61
- package/dist/sankhyablocks/{p-e7e54737.entry.js → p-05bcad8a.entry.js} +1 -1
- package/dist/sankhyablocks/p-0b64f036.entry.js +1 -0
- package/dist/sankhyablocks/p-0e97ec46.entry.js +1 -0
- package/dist/sankhyablocks/{p-0ed0fc02.entry.js → p-1b81c379.entry.js} +1 -1
- package/dist/sankhyablocks/{p-98f9d076.js → p-2dd0f891.js} +2 -2
- package/dist/sankhyablocks/p-330f584a.entry.js +1 -0
- package/dist/sankhyablocks/{p-bc735728.entry.js → p-35ecafcb.entry.js} +1 -1
- package/dist/sankhyablocks/{p-d1b89765.js → p-42843f0e.js} +1 -1
- package/dist/sankhyablocks/p-459d4267.entry.js +1 -0
- package/dist/sankhyablocks/{p-be684b38.entry.js → p-557affc8.entry.js} +1 -1
- package/dist/sankhyablocks/p-564efc43.js +1 -0
- package/dist/sankhyablocks/{p-df8621b4.js → p-60791bb6.js} +1 -1
- package/dist/sankhyablocks/{p-815a42c0.entry.js → p-6295424d.entry.js} +1 -1
- package/dist/sankhyablocks/{p-f88c45bf.js → p-64c2cec3.js} +1 -1
- package/dist/sankhyablocks/{p-34085ced.entry.js → p-77ecc583.entry.js} +1 -1
- package/dist/sankhyablocks/p-803b79d6.js +1 -0
- package/dist/sankhyablocks/{p-7e285d6c.entry.js → p-80729c9b.entry.js} +1 -1
- package/dist/sankhyablocks/{p-0a4c753d.js → p-85affa29.js} +1 -1
- package/dist/sankhyablocks/p-95fa8af6.entry.js +1 -0
- package/dist/sankhyablocks/{p-8a41172a.entry.js → p-96c1ae78.entry.js} +1 -1
- package/dist/sankhyablocks/p-b556fadc.entry.js +1 -0
- package/dist/sankhyablocks/{p-2ac9c585.js → p-bee6b5d7.js} +1 -1
- package/dist/sankhyablocks/p-bf3bd954.entry.js +1 -0
- package/dist/sankhyablocks/p-c32b9d7c.entry.js +1 -0
- package/dist/sankhyablocks/p-c555075c.entry.js +1 -0
- package/dist/sankhyablocks/{p-8f8184ff.js → p-dd1fa35d.js} +1 -1
- package/dist/sankhyablocks/{p-976e56e9.js → p-e42f1f2a.js} +1 -1
- package/dist/sankhyablocks/{p-c0f656af.entry.js → p-f24c4bc7.entry.js} +1 -1
- package/dist/sankhyablocks/{p-7b8b8ae9.js → p-f737f7e1.js} +1 -1
- package/dist/sankhyablocks/{p-f31bfdee.entry.js → p-fd69eab9.entry.js} +1 -1
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-crud/snk-crud.d.ts +4 -0
- package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +4 -0
- package/dist/types/components/snk-crud/subcomponents/snk-form-view.d.ts +5 -0
- package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +4 -0
- package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +0 -4
- package/dist/types/components/snk-form/snk-form.d.ts +4 -0
- package/dist/types/components/snk-grid/snk-grid.d.ts +1 -1
- package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +4 -0
- package/dist/types/components.d.ts +26 -0
- package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +0 -7
- package/dist/types/lib/utils/urlutils.d.ts +14 -0
- package/package.json +3 -3
- package/dist/sankhyablocks/p-216f081a.entry.js +0 -1
- package/dist/sankhyablocks/p-22c6fe1a.entry.js +0 -1
- package/dist/sankhyablocks/p-34a1357a.entry.js +0 -1
- package/dist/sankhyablocks/p-4721c3db.js +0 -1
- package/dist/sankhyablocks/p-6759adae.entry.js +0 -1
- package/dist/sankhyablocks/p-968741cc.js +0 -1
- package/dist/sankhyablocks/p-c44f6aaf.entry.js +0 -1
- package/dist/sankhyablocks/p-c57bd935.entry.js +0 -1
- package/dist/sankhyablocks/p-cfd7da4a.entry.js +0 -1
- package/dist/sankhyablocks/p-e28129aa.entry.js +0 -1
- package/dist/sankhyablocks/p-fe010e54.entry.js +0 -1
@@ -174,6 +174,28 @@ export class SnkForm {
|
|
174
174
|
"resolved": "string",
|
175
175
|
"references": {}
|
176
176
|
}
|
177
|
+
}, {
|
178
|
+
"method": "formItemsReady",
|
179
|
+
"name": "formItemsReady",
|
180
|
+
"bubbles": true,
|
181
|
+
"cancelable": true,
|
182
|
+
"composed": true,
|
183
|
+
"docs": {
|
184
|
+
"tags": [],
|
185
|
+
"text": "Respons\u00E1vel por notificar quando ocorrer a renderiza\u00E7\u00E3o de itens do formul\u00E1rio."
|
186
|
+
},
|
187
|
+
"complexType": {
|
188
|
+
"original": "Array<HTMLElement>",
|
189
|
+
"resolved": "HTMLElement[]",
|
190
|
+
"references": {
|
191
|
+
"Array": {
|
192
|
+
"location": "global"
|
193
|
+
},
|
194
|
+
"HTMLElement": {
|
195
|
+
"location": "global"
|
196
|
+
}
|
197
|
+
}
|
198
|
+
}
|
177
199
|
}];
|
178
200
|
}
|
179
201
|
static get methods() {
|
@@ -10,7 +10,6 @@ import SnkMultiSelectionListDataSource from './filtercolumn/SnkMultiSelectionLis
|
|
10
10
|
import { SelectionMode } from '@sankhyalabs/core/dist/dataunit/DataUnit';
|
11
11
|
export class SnkGrid {
|
12
12
|
constructor() {
|
13
|
-
this._multiSelectionListDataSource = new SnkMultiSelectionListDataSource();
|
14
13
|
this._topTaskbarProcessor = new TaskbarProcessor({
|
15
14
|
"snkGridTopTaskbar.regular": ["FORM_MODE", "CONFIGURATOR", "INSERT"],
|
16
15
|
"snkGridTopTaskbar.regular.secondary": ["FORM_MODE", "CONFIGURATOR", "INSERT"],
|
@@ -27,6 +26,7 @@ export class SnkGrid {
|
|
27
26
|
this._dataState = undefined;
|
28
27
|
this._gridConfig = undefined;
|
29
28
|
this._popUpGridConfig = false;
|
29
|
+
this.columnFilterDataSource = new SnkMultiSelectionListDataSource();
|
30
30
|
this.configName = undefined;
|
31
31
|
this.selectionToastConfig = undefined;
|
32
32
|
this.actionsList = undefined;
|
@@ -212,10 +212,11 @@ export class SnkGrid {
|
|
212
212
|
ElementIDUtils.addIDInfo(this._element, null, dataInfo);
|
213
213
|
}
|
214
214
|
finshLoading() {
|
215
|
+
var _a, _b;
|
215
216
|
this._dataUnitLoadLockerResolver = this._dataUnit.addLoadingLocker();
|
216
217
|
this.addElementID();
|
217
|
-
this.
|
218
|
-
this.
|
218
|
+
(_a = this.columnFilterDataSource) === null || _a === void 0 ? void 0 : _a.setApplication(this._application);
|
219
|
+
(_b = this.columnFilterDataSource) === null || _b === void 0 ? void 0 : _b.setDataUnit(this._dataUnit);
|
219
220
|
}
|
220
221
|
componentWillLoad() {
|
221
222
|
this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
|
@@ -307,7 +308,7 @@ export class SnkGrid {
|
|
307
308
|
return undefined;
|
308
309
|
}
|
309
310
|
return (h("div", { class: "snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large" }, h("div", { class: "snk-grid__header ez-margin-bottom--medium" }, h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, dataUnit: this._dataUnit, "data-element-id": "gridFilter", class: "snk-grid__filter-bar ez-align--top", configName: this.configName, messagesBuilder: this.messagesBuilder }), ((_b = (_a = this._snkFilterBar) === null || _a === void 0 ? void 0 : _a.filterConfig) === null || _b === void 0 ? void 0 : _b.length) > 0 &&
|
310
|
-
h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" }), h("snk-taskbar", { class: "ez-padding-left--medium", "data-element-id": "grid_top", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: this.getPrimaryButton() })), h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === PresentationMode.SECONDARY ? "snk-grid-container__without-shadow " : "") + "snk-grid__table", "data-element-id": "embedded", dataUnit: this._dataUnit, key: "grid-" + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => { this.gridConfigChangeHandler(evt); }, onEzDoubleClick: () => this.gridDoubleClick.emit(), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, onComponentReady: () => this.onEzGridReady(), columnfilterDataSource: this.
|
311
|
+
h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" }), h("snk-taskbar", { class: "ez-padding-left--medium", "data-element-id": "grid_top", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: this.getPrimaryButton() })), h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === PresentationMode.SECONDARY ? "snk-grid-container__without-shadow " : "") + "snk-grid__table", "data-element-id": "embedded", dataUnit: this._dataUnit, key: "grid-" + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => { this.gridConfigChangeHandler(evt); }, onEzDoubleClick: () => this.gridDoubleClick.emit(), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, onComponentReady: () => this.onEzGridReady(), columnfilterDataSource: this.columnFilterDataSource, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, recordsValidator: this.recordsValidator, canEdit: this.canEdit }, h("snk-taskbar", { dataUnit: this._dataUnit, configName: this.configName, messagesBuilder: this.messagesBuilder, "data-element-id": "grid_left", buttons: this._headerTaskbarProcessor.buttons, disabledButtons: this._headerTaskbarProcessor.disabledButtons, customButtons: this._headerTaskbarProcessor.customButtons, slot: "leftButtons", actionsList: this.actionsList })), h("div", { class: "ez-col ez-col--sd-12" }, h("slot", { name: "SnkGridFooter" })), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._popUpGridConfig, onEzCloseModal: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), application: this._application, selectedIndex: 0, configName: this.configName, onConfigChange: (evt) => this.modalConfigChangeHandler(evt), onConfigCancel: () => this.closeGridConfig() }))));
|
311
312
|
}
|
312
313
|
static get is() { return "snk-grid"; }
|
313
314
|
static get encapsulation() { return "scoped"; }
|
@@ -323,6 +324,26 @@ export class SnkGrid {
|
|
323
324
|
}
|
324
325
|
static get properties() {
|
325
326
|
return {
|
327
|
+
"columnFilterDataSource": {
|
328
|
+
"type": "unknown",
|
329
|
+
"mutable": true,
|
330
|
+
"complexType": {
|
331
|
+
"original": "SnkMultiSelectionListDataSource",
|
332
|
+
"resolved": "SnkMultiSelectionListDataSource",
|
333
|
+
"references": {
|
334
|
+
"SnkMultiSelectionListDataSource": {
|
335
|
+
"location": "global"
|
336
|
+
}
|
337
|
+
}
|
338
|
+
},
|
339
|
+
"required": false,
|
340
|
+
"optional": false,
|
341
|
+
"docs": {
|
342
|
+
"tags": [],
|
343
|
+
"text": ""
|
344
|
+
},
|
345
|
+
"defaultValue": "new SnkMultiSelectionListDataSource()"
|
346
|
+
},
|
326
347
|
"configName": {
|
327
348
|
"type": "string",
|
328
349
|
"mutable": false,
|
@@ -452,6 +452,28 @@ export class SnkSimpleCrud {
|
|
452
452
|
"resolved": "string",
|
453
453
|
"references": {}
|
454
454
|
}
|
455
|
+
}, {
|
456
|
+
"method": "formItemsReady",
|
457
|
+
"name": "formItemsReady",
|
458
|
+
"bubbles": true,
|
459
|
+
"cancelable": true,
|
460
|
+
"composed": true,
|
461
|
+
"docs": {
|
462
|
+
"tags": [],
|
463
|
+
"text": "Respons\u00E1vel por notificar quando ocorrer a renderiza\u00E7\u00E3o de itens do formul\u00E1rio."
|
464
|
+
},
|
465
|
+
"complexType": {
|
466
|
+
"original": "Array<HTMLElement>",
|
467
|
+
"resolved": "HTMLElement[]",
|
468
|
+
"references": {
|
469
|
+
"Array": {
|
470
|
+
"location": "global"
|
471
|
+
},
|
472
|
+
"HTMLElement": {
|
473
|
+
"location": "global"
|
474
|
+
}
|
475
|
+
}
|
476
|
+
}
|
455
477
|
}];
|
456
478
|
}
|
457
479
|
static get methods() {
|
@@ -1,12 +1,11 @@
|
|
1
|
-
import { ChangeOperation,
|
2
|
-
import { DISTINCT_FILTER_NAME_PREFIX } from "@sankhyalabs/ezui/dist/collection/utils/constants";
|
1
|
+
import { ChangeOperation, DataUnit, defaultDataLoader, StringUtils, } from '@sankhyalabs/core';
|
3
2
|
export default class InMemoryLoader {
|
4
3
|
constructor(metadata, records) {
|
5
4
|
this.records = records || [];
|
6
5
|
this.metadata = metadata;
|
7
6
|
this._dataUnit = new DataUnit(InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME);
|
8
7
|
this._dataUnit.metadataLoader = () => this.metadaLoader();
|
9
|
-
this._dataUnit.dataLoader = (dataUnit, request) =>
|
8
|
+
this._dataUnit.dataLoader = (dataUnit, request) => defaultDataLoader(dataUnit, request, this._records);
|
10
9
|
this._dataUnit.saveLoader = (_dataUnit, changes) => this.saveLoader(_dataUnit, changes);
|
11
10
|
this._dataUnit.removeLoader = (_dataUnit, recordIds) => this.removeLoader(_dataUnit, recordIds);
|
12
11
|
this.dataUnit.loadMetadata().then(() => this.dataUnit.loadData());
|
@@ -43,62 +42,6 @@ export default class InMemoryLoader {
|
|
43
42
|
metadaLoader() {
|
44
43
|
return Promise.resolve(this._metadata);
|
45
44
|
}
|
46
|
-
dataLoader(dataUnit, request) {
|
47
|
-
const filters = this.getColumnFilters(dataUnit);
|
48
|
-
let records = this.applyFilters(filters);
|
49
|
-
if (request.sort) {
|
50
|
-
request.sort.forEach(sort => {
|
51
|
-
records = records.sort((recordA, recordB) => {
|
52
|
-
const fieldA = recordA[sort.field];
|
53
|
-
const fieldB = recordB[sort.field];
|
54
|
-
const sortFn = this.getSortFn(sort.dataType);
|
55
|
-
return sortFn(fieldA, fieldB) * (sort.mode == SortMode.ASC ? 1 : -1);
|
56
|
-
});
|
57
|
-
});
|
58
|
-
}
|
59
|
-
return Promise.resolve({ records: records });
|
60
|
-
}
|
61
|
-
applyFilters(filters) {
|
62
|
-
let records = [...this._records];
|
63
|
-
filters.forEach(filter => {
|
64
|
-
records = records.filter(record => { var _a; return filter.values.includes((_a = record[filter.column]) === null || _a === void 0 ? void 0 : _a.toString()); });
|
65
|
-
});
|
66
|
-
return records;
|
67
|
-
}
|
68
|
-
getColumnFilters(dataUnit) {
|
69
|
-
var _a, _b;
|
70
|
-
const allFilters = (_a = dataUnit.getFilters()) !== null && _a !== void 0 ? _a : [];
|
71
|
-
const columnFilters = (_b = allFilters.filter(filter => { var _a; return (_a = filter.name) === null || _a === void 0 ? void 0 : _a.includes(DISTINCT_FILTER_NAME_PREFIX); })) !== null && _b !== void 0 ? _b : [];
|
72
|
-
return columnFilters.map(filter => {
|
73
|
-
var _a, _b;
|
74
|
-
return {
|
75
|
-
column: (_b = (_a = filter.name) === null || _a === void 0 ? void 0 : _a.replace(DISTINCT_FILTER_NAME_PREFIX, "")) !== null && _b !== void 0 ? _b : "",
|
76
|
-
values: filter.params.map(param => param.value),
|
77
|
-
};
|
78
|
-
});
|
79
|
-
}
|
80
|
-
getSortFn(type) {
|
81
|
-
switch (type) {
|
82
|
-
case DataType.NUMBER:
|
83
|
-
return this.sortNumber;
|
84
|
-
case DataType.DATE:
|
85
|
-
return this.sortDate;
|
86
|
-
case DataType.OBJECT:
|
87
|
-
return this.sortObject;
|
88
|
-
default:
|
89
|
-
return StringUtils.compare;
|
90
|
-
}
|
91
|
-
}
|
92
|
-
sortObject(a, b) {
|
93
|
-
return StringUtils.compare(a === null || a === void 0 ? void 0 : a["label"], b === null || b === void 0 ? void 0 : b["label"]);
|
94
|
-
}
|
95
|
-
sortNumber(a, b) {
|
96
|
-
return a - b;
|
97
|
-
}
|
98
|
-
sortDate(a, b) {
|
99
|
-
let timeA = a.getTime(), timeB = b.getTime();
|
100
|
-
return timeA === timeB ? 0 : (timeA < timeB ? -1 : 1);
|
101
|
-
}
|
102
45
|
saveLoader(_dataUnit, changes) {
|
103
46
|
return new Promise((resolve) => {
|
104
47
|
let dataUnitRecords = [];
|
@@ -22,4 +22,33 @@ export default class UrlUtils {
|
|
22
22
|
return window['mock_url'];
|
23
23
|
return `${location.protocol}//${location.hostname}${location.port ? ":" + location.port : ""}`;
|
24
24
|
}
|
25
|
+
/**
|
26
|
+
* Extrai da URL o parâmetro que contém o resourceId da tela desejada.
|
27
|
+
*
|
28
|
+
*/
|
29
|
+
static getResourceIdFromUrlToken(url) {
|
30
|
+
try {
|
31
|
+
const parts = url.split('/');
|
32
|
+
const encodedValue = parts[1];
|
33
|
+
return atob(encodedValue);
|
34
|
+
}
|
35
|
+
catch (error) {
|
36
|
+
throw new Error('Erro ao obter resourceId:' + error);
|
37
|
+
}
|
38
|
+
}
|
39
|
+
/**
|
40
|
+
* Extrai da URL o parâmetro que contém o o objeto com a PK do registro específico.
|
41
|
+
*
|
42
|
+
*/
|
43
|
+
static getPkObjectFromUrlToken(url) {
|
44
|
+
try {
|
45
|
+
const parts = url.split('/');
|
46
|
+
const encodedObjectPart = parts[parts.length - 2];
|
47
|
+
const decodedObjectPart = atob(encodedObjectPart);
|
48
|
+
return JSON.parse(decodedObjectPart);
|
49
|
+
}
|
50
|
+
catch (error) {
|
51
|
+
throw new Error('Erro ao obter a PK do objeto:' + error);
|
52
|
+
}
|
53
|
+
}
|
25
54
|
}
|
@@ -6434,6 +6434,35 @@ class UrlUtils {
|
|
6434
6434
|
return window['mock_url'];
|
6435
6435
|
return `${location.protocol}//${location.hostname}${location.port ? ":" + location.port : ""}`;
|
6436
6436
|
}
|
6437
|
+
/**
|
6438
|
+
* Extrai da URL o parâmetro que contém o resourceId da tela desejada.
|
6439
|
+
*
|
6440
|
+
*/
|
6441
|
+
static getResourceIdFromUrlToken(url) {
|
6442
|
+
try {
|
6443
|
+
const parts = url.split('/');
|
6444
|
+
const encodedValue = parts[1];
|
6445
|
+
return atob(encodedValue);
|
6446
|
+
}
|
6447
|
+
catch (error) {
|
6448
|
+
throw new Error('Erro ao obter resourceId:' + error);
|
6449
|
+
}
|
6450
|
+
}
|
6451
|
+
/**
|
6452
|
+
* Extrai da URL o parâmetro que contém o o objeto com a PK do registro específico.
|
6453
|
+
*
|
6454
|
+
*/
|
6455
|
+
static getPkObjectFromUrlToken(url) {
|
6456
|
+
try {
|
6457
|
+
const parts = url.split('/');
|
6458
|
+
const encodedObjectPart = parts[parts.length - 2];
|
6459
|
+
const decodedObjectPart = atob(encodedObjectPart);
|
6460
|
+
return JSON.parse(decodedObjectPart);
|
6461
|
+
}
|
6462
|
+
catch (error) {
|
6463
|
+
throw new Error('Erro ao obter a PK do objeto:' + error);
|
6464
|
+
}
|
6465
|
+
}
|
6437
6466
|
}
|
6438
6467
|
|
6439
6468
|
class ServiceBrokerRecaller {
|
@@ -44,6 +44,7 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
44
44
|
this.actionClick = createEvent(this, "actionClick", 7);
|
45
45
|
this.configuratorSave = createEvent(this, "configuratorSave", 7);
|
46
46
|
this.configuratorCancel = createEvent(this, "configuratorCancel", 7);
|
47
|
+
this.formItemsReady = createEvent(this, "formItemsReady", 7);
|
47
48
|
this._viewHistory = [];
|
48
49
|
this._dataUnit = undefined;
|
49
50
|
this._dataState = undefined;
|
@@ -71,7 +71,6 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
71
71
|
this.useCancelConfirm = true;
|
72
72
|
this.ignoreSaveMessage = undefined;
|
73
73
|
this.configName = undefined;
|
74
|
-
this.configName = undefined;
|
75
74
|
}
|
76
75
|
observePageSize() {
|
77
76
|
if (this.dataUnit) {
|
@@ -47,6 +47,7 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
|
|
47
47
|
this.__registerHost();
|
48
48
|
this.exit = createEvent(this, "exit", 7);
|
49
49
|
this.actionClick = createEvent(this, "actionClick", 7);
|
50
|
+
this.formItemsReady = createEvent(this, "formItemsReady", 7);
|
50
51
|
this._guideBuilders = new Map();
|
51
52
|
this.dataUnit = undefined;
|
52
53
|
this.dataState = undefined;
|
@@ -586,6 +587,7 @@ const SnkDetailView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
586
587
|
this.__registerHost();
|
587
588
|
this.snkDetailGuidesChange = createEvent(this, "snkDetailGuidesChange", 7);
|
588
589
|
this.snkSwitchGuide = createEvent(this, "snkSwitchGuide", 7);
|
590
|
+
this.formItemsReady = createEvent(this, "formItemsReady", 7);
|
589
591
|
this._disabledButtons = undefined;
|
590
592
|
this._currentView = undefined;
|
591
593
|
this.attachmentRegisterKey = undefined;
|
@@ -769,7 +771,7 @@ const SnkDetailView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
769
771
|
render() {
|
770
772
|
this.updateLabel();
|
771
773
|
//const cardConfig: IFormCardConfig = this._cardsState?.get(this.selectedForm);
|
772
|
-
return (h(Host, null, h("snk-data-unit", { ref: (el) => this._snkDataUnit = el, dataUnitName: `${this.dataUnitName}`, onDataUnitReady: evt => this.dataUnitReadyHandler(evt), entityName: this.entityName, onDataStateChange: this.handleDataStateChange.bind(this), ignoreSaveMessage: this._currentView === VIEW_MODE.GRID, messagesBuilder: this.messagesBuilder, configName: this._configName }, h("ez-view-stack", { ref: (ref) => this.updateViewStack(ref) }, h("stack-item", null, h("div", { class: "ez-box ez-box--shadow grid-container" }, h("div", { class: "ez-flex ez-title--primary ez-size-width--full ez-padding--large detail-header" }, h("div", { class: "ez-flex ez-text ez-text--bold ez-flex--justify-start ez-flex--align-items-center" }, this._levelPath ? h("span", { class: "level-path" }, this._levelPath + " /") : undefined, this.label)), h("snk-grid", { class: "ez-size-width--full ez-size-height--full", ref: (ref) => this._snkGrid = ref, configName: this._configName, messagesBuilder: this.messagesBuilder, onGridDoubleClick: () => this.emitSwitchEvent(VIEW_MODE.FORM), onActionClick: (evt) => this.executeActionHandler(evt), presentationMode: PresentationMode.SECONDARY, canEdit: this.canEdit, isDetail: true }))), h("stack-item", null, h("snk-form-view", { ref: (ref) => this._snkFormView = ref, canExpand: false, canFix: false, name: this.selectedForm, formMetadata: this._formMetadata, dataUnit: this.dataUnit, fields: this.getFormFields(), label: this.label, levelPath: this._levelPath }, h("snk-taskbar", { key: "guideViewerTaskbar", class: "form-taskbar", "data-element-id": "guideViewer", configName: this._configName, messagesBuilder: this.messagesBuilder, disabledButtons: this._disabledButtons, buttons: "INSERT,PREVIOUS,NEXT,DIVIDER,CLONE,REMOVE,MORE_OPTIONS,DIVIDER,GRID_MODE,CONFIGURATOR", primaryButton: "INSERT", presentationMode: PresentationMode.SECONDARY, onActionClick: evt => this.executeActionHandler(evt), dataUnit: this.dataUnit }))), h("stack-item", null, h("snk-attach", { registerKey: this.attachmentRegisterKey, messagesBuilder: this.messagesBuilder, entityName: this.entityName, onBack: this.handleAttachBack.bind(this) }))))));
|
774
|
+
return (h(Host, null, h("snk-data-unit", { ref: (el) => this._snkDataUnit = el, dataUnitName: `${this.dataUnitName}`, onDataUnitReady: evt => this.dataUnitReadyHandler(evt), entityName: this.entityName, onDataStateChange: this.handleDataStateChange.bind(this), ignoreSaveMessage: this._currentView === VIEW_MODE.GRID, messagesBuilder: this.messagesBuilder, configName: this._configName }, h("ez-view-stack", { ref: (ref) => this.updateViewStack(ref) }, h("stack-item", null, h("div", { class: "ez-box ez-box--shadow grid-container" }, h("div", { class: "ez-flex ez-title--primary ez-size-width--full ez-padding--large detail-header" }, h("div", { class: "ez-flex ez-text ez-text--bold ez-flex--justify-start ez-flex--align-items-center" }, this._levelPath ? h("span", { class: "level-path" }, this._levelPath + " /") : undefined, this.label)), h("snk-grid", { class: "ez-size-width--full ez-size-height--full", ref: (ref) => this._snkGrid = ref, configName: this._configName, messagesBuilder: this.messagesBuilder, onGridDoubleClick: () => this.emitSwitchEvent(VIEW_MODE.FORM), onActionClick: (evt) => this.executeActionHandler(evt), presentationMode: PresentationMode.SECONDARY, canEdit: this.canEdit, isDetail: true }))), h("stack-item", null, h("snk-form-view", { ref: (ref) => this._snkFormView = ref, canExpand: false, canFix: false, name: this.selectedForm, formMetadata: this._formMetadata, dataUnit: this.dataUnit, fields: this.getFormFields(), label: this.label, levelPath: this._levelPath, onFormItemsReady: ({ detail: formItems }) => this.formItemsReady.emit(formItems) }, h("snk-taskbar", { key: "guideViewerTaskbar", class: "form-taskbar", "data-element-id": "guideViewer", configName: this._configName, messagesBuilder: this.messagesBuilder, disabledButtons: this._disabledButtons, buttons: "INSERT,PREVIOUS,NEXT,DIVIDER,CLONE,REMOVE,MORE_OPTIONS,DIVIDER,GRID_MODE,CONFIGURATOR", primaryButton: "INSERT", presentationMode: PresentationMode.SECONDARY, onActionClick: evt => this.executeActionHandler(evt), dataUnit: this.dataUnit }))), h("stack-item", null, h("snk-attach", { registerKey: this.attachmentRegisterKey, messagesBuilder: this.messagesBuilder, entityName: this.entityName, onBack: this.handleAttachBack.bind(this) }))))));
|
773
775
|
}
|
774
776
|
static get watchers() { return {
|
775
777
|
"dataState": ["observerDataState"]
|
@@ -283,7 +283,7 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
283
283
|
return;
|
284
284
|
}
|
285
285
|
this._loadingPending = false;
|
286
|
-
this.dataUnit.loadData();
|
286
|
+
this.dataUnit.loadData(undefined, undefined, true);
|
287
287
|
}
|
288
288
|
if (this._configUpdated) {
|
289
289
|
this._configUpdated = false;
|
@@ -10,6 +10,7 @@ const SnkFormView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
10
10
|
super();
|
11
11
|
this.__registerHost();
|
12
12
|
this.snkContentCardChanged = createEvent(this, "snkContentCardChanged", 7);
|
13
|
+
this.formItemsReady = createEvent(this, "formItemsReady", 7);
|
13
14
|
this.levelPath = undefined;
|
14
15
|
this.label = undefined;
|
15
16
|
this.name = undefined;
|
@@ -77,6 +78,10 @@ const SnkFormView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
77
78
|
this._dataBinder.bind(fields, this.dataUnit.dataUnitId, this.formMetadata, this.recordsValidator);
|
78
79
|
}
|
79
80
|
}
|
81
|
+
handleFormItemsReady(event) {
|
82
|
+
event.stopPropagation();
|
83
|
+
this.formItemsReady.emit(Object.assign(Object.assign({}, event.detail), { formId: this.name }));
|
84
|
+
}
|
80
85
|
disconnectedCallback() {
|
81
86
|
if (this._dataBinder != undefined) {
|
82
87
|
this._dataBinder.onDisconnectedCallback();
|
@@ -89,7 +94,7 @@ const SnkFormView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
89
94
|
?
|
90
95
|
h("snk-form-summary", { summary: this.getCardSummary() })
|
91
96
|
:
|
92
|
-
h("ez-form-view", { ref: ref => this._formView = ref, fields: this.fields, onEzContentReady: evt => this.bindFields(evt.detail) })));
|
97
|
+
h("ez-form-view", { ref: ref => this._formView = ref, fields: this.fields, onEzContentReady: evt => this.bindFields(evt.detail), onFormItemsReady: (event) => this.handleFormItemsReady(event) })));
|
93
98
|
}
|
94
99
|
static get style() { return snkFormViewCss; }
|
95
100
|
}, [6, "snk-form-view", {
|
@@ -14,6 +14,7 @@ const SnkForm$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
14
14
|
this.__registerHost();
|
15
15
|
this.exit = createEvent(this, "exit", 7);
|
16
16
|
this.actionClick = createEvent(this, "actionClick", 7);
|
17
|
+
this.formItemsReady = createEvent(this, "formItemsReady", 7);
|
17
18
|
this._dataUnit = undefined;
|
18
19
|
this._dataState = undefined;
|
19
20
|
this._showFormConfig = false;
|
@@ -4,7 +4,7 @@ import { UserInterface } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMeta
|
|
4
4
|
import { d as defineCustomElement$1, T as TaskbarElement } from './snk-taskbar2.js';
|
5
5
|
import { C as ConfigStorage } from './ConfigStorage.js';
|
6
6
|
import { P as PresentationMode } from './index2.js';
|
7
|
-
import {
|
7
|
+
import { T as TaskbarProcessor, S as SnkMultiSelectionListDataSource } from './SnkMultiSelectionListDataSource.js';
|
8
8
|
import { s as store } from './index3.js';
|
9
9
|
import { SelectionMode } from '@sankhyalabs/core/dist/dataunit/DataUnit';
|
10
10
|
import { d as defineCustomElement$h } from './snk-actions-button2.js';
|
@@ -32,7 +32,6 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
32
32
|
this.__registerHost();
|
33
33
|
this.actionClick = createEvent(this, "actionClick", 7);
|
34
34
|
this.gridDoubleClick = createEvent(this, "gridDoubleClick", 7);
|
35
|
-
this._multiSelectionListDataSource = new SnkMultiSelectionListDataSource();
|
36
35
|
this._topTaskbarProcessor = new TaskbarProcessor({
|
37
36
|
"snkGridTopTaskbar.regular": ["FORM_MODE", "CONFIGURATOR", "INSERT"],
|
38
37
|
"snkGridTopTaskbar.regular.secondary": ["FORM_MODE", "CONFIGURATOR", "INSERT"],
|
@@ -49,6 +48,7 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
49
48
|
this._dataState = undefined;
|
50
49
|
this._gridConfig = undefined;
|
51
50
|
this._popUpGridConfig = false;
|
51
|
+
this.columnFilterDataSource = new SnkMultiSelectionListDataSource();
|
52
52
|
this.configName = undefined;
|
53
53
|
this.selectionToastConfig = undefined;
|
54
54
|
this.actionsList = undefined;
|
@@ -234,10 +234,11 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
234
234
|
ElementIDUtils.addIDInfo(this._element, null, dataInfo);
|
235
235
|
}
|
236
236
|
finshLoading() {
|
237
|
+
var _a, _b;
|
237
238
|
this._dataUnitLoadLockerResolver = this._dataUnit.addLoadingLocker();
|
238
239
|
this.addElementID();
|
239
|
-
this.
|
240
|
-
this.
|
240
|
+
(_a = this.columnFilterDataSource) === null || _a === void 0 ? void 0 : _a.setApplication(this._application);
|
241
|
+
(_b = this.columnFilterDataSource) === null || _b === void 0 ? void 0 : _b.setDataUnit(this._dataUnit);
|
241
242
|
}
|
242
243
|
componentWillLoad() {
|
243
244
|
this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
|
@@ -329,11 +330,12 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
329
330
|
return undefined;
|
330
331
|
}
|
331
332
|
return (h("div", { class: "snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large" }, h("div", { class: "snk-grid__header ez-margin-bottom--medium" }, h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, dataUnit: this._dataUnit, "data-element-id": "gridFilter", class: "snk-grid__filter-bar ez-align--top", configName: this.configName, messagesBuilder: this.messagesBuilder }), ((_b = (_a = this._snkFilterBar) === null || _a === void 0 ? void 0 : _a.filterConfig) === null || _b === void 0 ? void 0 : _b.length) > 0 &&
|
332
|
-
h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" }), h("snk-taskbar", { class: "ez-padding-left--medium", "data-element-id": "grid_top", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: this.getPrimaryButton() })), h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === PresentationMode.SECONDARY ? "snk-grid-container__without-shadow " : "") + "snk-grid__table", "data-element-id": "embedded", dataUnit: this._dataUnit, key: "grid-" + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => { this.gridConfigChangeHandler(evt); }, onEzDoubleClick: () => this.gridDoubleClick.emit(), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, onComponentReady: () => this.onEzGridReady(), columnfilterDataSource: this.
|
333
|
+
h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" }), h("snk-taskbar", { class: "ez-padding-left--medium", "data-element-id": "grid_top", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: this.getPrimaryButton() })), h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === PresentationMode.SECONDARY ? "snk-grid-container__without-shadow " : "") + "snk-grid__table", "data-element-id": "embedded", dataUnit: this._dataUnit, key: "grid-" + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => { this.gridConfigChangeHandler(evt); }, onEzDoubleClick: () => this.gridDoubleClick.emit(), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, onComponentReady: () => this.onEzGridReady(), columnfilterDataSource: this.columnFilterDataSource, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, recordsValidator: this.recordsValidator, canEdit: this.canEdit }, h("snk-taskbar", { dataUnit: this._dataUnit, configName: this.configName, messagesBuilder: this.messagesBuilder, "data-element-id": "grid_left", buttons: this._headerTaskbarProcessor.buttons, disabledButtons: this._headerTaskbarProcessor.disabledButtons, customButtons: this._headerTaskbarProcessor.customButtons, slot: "leftButtons", actionsList: this.actionsList })), h("div", { class: "ez-col ez-col--sd-12" }, h("slot", { name: "SnkGridFooter" })), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._popUpGridConfig, onEzCloseModal: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), application: this._application, selectedIndex: 0, configName: this.configName, onConfigChange: (evt) => this.modalConfigChangeHandler(evt), onConfigCancel: () => this.closeGridConfig() }))));
|
333
334
|
}
|
334
335
|
get _element() { return this; }
|
335
336
|
static get style() { return snkGridCss; }
|
336
337
|
}, [6, "snk-grid", {
|
338
|
+
"columnFilterDataSource": [1040],
|
337
339
|
"configName": [1, "config-name"],
|
338
340
|
"selectionToastConfig": [16],
|
339
341
|
"actionsList": [16],
|
@@ -1,12 +1,11 @@
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
|
2
|
-
import { DataUnit,
|
2
|
+
import { DataUnit, defaultDataLoader, StringUtils, ChangeOperation, ObjectUtils, ApplicationContext, DataType, UserInterface } from '@sankhyalabs/core';
|
3
3
|
import { V as VIEW_MODE, S as SIMPLE_CRUD_MODE } from './constants.js';
|
4
4
|
import { T as TaskbarElement, d as defineCustomElement$1 } from './snk-taskbar2.js';
|
5
5
|
import './DataFetcher.js';
|
6
6
|
import './pesquisa-fetcher.js';
|
7
7
|
import { P as PresentationMode } from './index2.js';
|
8
8
|
import { S as SnkMultiSelectionListDataSource, T as TaskbarProcessor } from './SnkMultiSelectionListDataSource.js';
|
9
|
-
import { DISTINCT_FILTER_NAME_PREFIX } from '@sankhyalabs/ezui/dist/collection/utils/constants';
|
10
9
|
import { d as defineCustomElement$5 } from './snk-actions-button2.js';
|
11
10
|
import { d as defineCustomElement$4 } from './snk-data-exporter2.js';
|
12
11
|
import { d as defineCustomElement$3 } from './snk-data-unit2.js';
|
@@ -18,7 +17,7 @@ class InMemoryLoader {
|
|
18
17
|
this.metadata = metadata;
|
19
18
|
this._dataUnit = new DataUnit(InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME);
|
20
19
|
this._dataUnit.metadataLoader = () => this.metadaLoader();
|
21
|
-
this._dataUnit.dataLoader = (dataUnit, request) =>
|
20
|
+
this._dataUnit.dataLoader = (dataUnit, request) => defaultDataLoader(dataUnit, request, this._records);
|
22
21
|
this._dataUnit.saveLoader = (_dataUnit, changes) => this.saveLoader(_dataUnit, changes);
|
23
22
|
this._dataUnit.removeLoader = (_dataUnit, recordIds) => this.removeLoader(_dataUnit, recordIds);
|
24
23
|
this.dataUnit.loadMetadata().then(() => this.dataUnit.loadData());
|
@@ -55,62 +54,6 @@ class InMemoryLoader {
|
|
55
54
|
metadaLoader() {
|
56
55
|
return Promise.resolve(this._metadata);
|
57
56
|
}
|
58
|
-
dataLoader(dataUnit, request) {
|
59
|
-
const filters = this.getColumnFilters(dataUnit);
|
60
|
-
let records = this.applyFilters(filters);
|
61
|
-
if (request.sort) {
|
62
|
-
request.sort.forEach(sort => {
|
63
|
-
records = records.sort((recordA, recordB) => {
|
64
|
-
const fieldA = recordA[sort.field];
|
65
|
-
const fieldB = recordB[sort.field];
|
66
|
-
const sortFn = this.getSortFn(sort.dataType);
|
67
|
-
return sortFn(fieldA, fieldB) * (sort.mode == SortMode.ASC ? 1 : -1);
|
68
|
-
});
|
69
|
-
});
|
70
|
-
}
|
71
|
-
return Promise.resolve({ records: records });
|
72
|
-
}
|
73
|
-
applyFilters(filters) {
|
74
|
-
let records = [...this._records];
|
75
|
-
filters.forEach(filter => {
|
76
|
-
records = records.filter(record => { var _a; return filter.values.includes((_a = record[filter.column]) === null || _a === void 0 ? void 0 : _a.toString()); });
|
77
|
-
});
|
78
|
-
return records;
|
79
|
-
}
|
80
|
-
getColumnFilters(dataUnit) {
|
81
|
-
var _a, _b;
|
82
|
-
const allFilters = (_a = dataUnit.getFilters()) !== null && _a !== void 0 ? _a : [];
|
83
|
-
const columnFilters = (_b = allFilters.filter(filter => { var _a; return (_a = filter.name) === null || _a === void 0 ? void 0 : _a.includes(DISTINCT_FILTER_NAME_PREFIX); })) !== null && _b !== void 0 ? _b : [];
|
84
|
-
return columnFilters.map(filter => {
|
85
|
-
var _a, _b;
|
86
|
-
return {
|
87
|
-
column: (_b = (_a = filter.name) === null || _a === void 0 ? void 0 : _a.replace(DISTINCT_FILTER_NAME_PREFIX, "")) !== null && _b !== void 0 ? _b : "",
|
88
|
-
values: filter.params.map(param => param.value),
|
89
|
-
};
|
90
|
-
});
|
91
|
-
}
|
92
|
-
getSortFn(type) {
|
93
|
-
switch (type) {
|
94
|
-
case DataType.NUMBER:
|
95
|
-
return this.sortNumber;
|
96
|
-
case DataType.DATE:
|
97
|
-
return this.sortDate;
|
98
|
-
case DataType.OBJECT:
|
99
|
-
return this.sortObject;
|
100
|
-
default:
|
101
|
-
return StringUtils.compare;
|
102
|
-
}
|
103
|
-
}
|
104
|
-
sortObject(a, b) {
|
105
|
-
return StringUtils.compare(a === null || a === void 0 ? void 0 : a["label"], b === null || b === void 0 ? void 0 : b["label"]);
|
106
|
-
}
|
107
|
-
sortNumber(a, b) {
|
108
|
-
return a - b;
|
109
|
-
}
|
110
|
-
sortDate(a, b) {
|
111
|
-
let timeA = a.getTime(), timeB = b.getTime();
|
112
|
-
return timeA === timeB ? 0 : (timeA < timeB ? -1 : 1);
|
113
|
-
}
|
114
57
|
saveLoader(_dataUnit, changes) {
|
115
58
|
return new Promise((resolve) => {
|
116
59
|
let dataUnitRecords = [];
|
@@ -154,6 +97,7 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
154
97
|
this.dataStateChange = createEvent(this, "dataStateChange", 3);
|
155
98
|
this.dataUnitReady = createEvent(this, "dataUnitReady", 3);
|
156
99
|
this.actionClick = createEvent(this, "actionClick", 7);
|
100
|
+
this.formItemsReady = createEvent(this, "formItemsReady", 7);
|
157
101
|
this.REGULAR_DEFAULT_BTNS = ["INSERT", "REFRESH", "PREVIOUS", "NEXT", "DIVIDER"];
|
158
102
|
this.REGULAR_SELECTED_BTNS = ["INSERT", "REFRESH", "PREVIOUS", "NEXT", "DIVIDER", "CLONE", "REMOVE", "DIVIDER"];
|
159
103
|
this._multiSelectionListDataSource = new SnkMultiSelectionListDataSource();
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { ApplicationContext } from '@sankhyalabs/core';
|
2
|
-
import { F as FormConfigFetcher } from './form-config-fetcher-
|
3
|
-
import { R as ResourceFetcher } from './resource-fetcher-
|
4
|
-
import { F as FilterBarConfigFetcher } from './filter-bar-config-fetcher-
|
5
|
-
import { d as dist, D as DataFetcher } from './DataFetcher-
|
2
|
+
import { F as FormConfigFetcher } from './form-config-fetcher-4a34b86a.js';
|
3
|
+
import { R as ResourceFetcher } from './resource-fetcher-b36ac145.js';
|
4
|
+
import { F as FilterBarConfigFetcher } from './filter-bar-config-fetcher-317cb6bf.js';
|
5
|
+
import { d as dist, D as DataFetcher } from './DataFetcher-aaaff866.js';
|
6
6
|
|
7
7
|
class GridConfigFetcher extends ResourceFetcher {
|
8
8
|
constructor() {
|
@@ -6434,6 +6434,35 @@ class UrlUtils {
|
|
6434
6434
|
return window['mock_url'];
|
6435
6435
|
return `${location.protocol}//${location.hostname}${location.port ? ":" + location.port : ""}`;
|
6436
6436
|
}
|
6437
|
+
/**
|
6438
|
+
* Extrai da URL o parâmetro que contém o resourceId da tela desejada.
|
6439
|
+
*
|
6440
|
+
*/
|
6441
|
+
static getResourceIdFromUrlToken(url) {
|
6442
|
+
try {
|
6443
|
+
const parts = url.split('/');
|
6444
|
+
const encodedValue = parts[1];
|
6445
|
+
return atob(encodedValue);
|
6446
|
+
}
|
6447
|
+
catch (error) {
|
6448
|
+
throw new Error('Erro ao obter resourceId:' + error);
|
6449
|
+
}
|
6450
|
+
}
|
6451
|
+
/**
|
6452
|
+
* Extrai da URL o parâmetro que contém o o objeto com a PK do registro específico.
|
6453
|
+
*
|
6454
|
+
*/
|
6455
|
+
static getPkObjectFromUrlToken(url) {
|
6456
|
+
try {
|
6457
|
+
const parts = url.split('/');
|
6458
|
+
const encodedObjectPart = parts[parts.length - 2];
|
6459
|
+
const decodedObjectPart = atob(encodedObjectPart);
|
6460
|
+
return JSON.parse(decodedObjectPart);
|
6461
|
+
}
|
6462
|
+
catch (error) {
|
6463
|
+
throw new Error('Erro ao obter a PK do objeto:' + error);
|
6464
|
+
}
|
6465
|
+
}
|
6437
6466
|
}
|
6438
6467
|
|
6439
6468
|
class ServiceBrokerRecaller {
|
@@ -1,6 +1,6 @@
|
|
1
|
-
import { C as ConfigStorage } from './ConfigStorage-
|
1
|
+
import { C as ConfigStorage } from './ConfigStorage-b6aefe42.js';
|
2
2
|
import { ObjectUtils } from '@sankhyalabs/core';
|
3
|
-
import { F as FormConfigFetcher } from './form-config-fetcher-
|
3
|
+
import { F as FormConfigFetcher } from './form-config-fetcher-4a34b86a.js';
|
4
4
|
|
5
5
|
class SnkFormConfigManager {
|
6
6
|
constructor(configName, onConfigChange) {
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { DataUnit, StringUtils, DataType, DataUnitStorage, ChangeOperation } from '@sankhyalabs/core';
|
2
|
-
import { d as dist, D as DataFetcher } from './DataFetcher-
|
2
|
+
import { d as dist, D as DataFetcher } from './DataFetcher-aaaff866.js';
|
3
3
|
import { DISTINCT_FILTER_NAME_PREFIX } from '@sankhyalabs/ezui/dist/collection/utils/constants';
|
4
4
|
import { DataUnitTransient } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
|
5
5
|
|
package/dist/esm/{filter-bar-config-fetcher-06e02851.js → filter-bar-config-fetcher-317cb6bf.js}
RENAMED
@@ -1,5 +1,5 @@
|
|
1
1
|
import { F as FilterItemType } from './filter-item-type.enum-5028ed3f.js';
|
2
|
-
import { R as ResourceFetcher } from './resource-fetcher-
|
2
|
+
import { R as ResourceFetcher } from './resource-fetcher-b36ac145.js';
|
3
3
|
|
4
4
|
var __rest = (undefined && undefined.__rest) || function (s, e) {
|
5
5
|
var t = {};
|
@@ -1,6 +1,6 @@
|
|
1
|
-
import { d as dist, D as DataFetcher } from './DataFetcher-
|
1
|
+
import { d as dist, D as DataFetcher } from './DataFetcher-aaaff866.js';
|
2
2
|
import { ObjectUtils } from '@sankhyalabs/core';
|
3
|
-
import { R as ResourceFetcher } from './resource-fetcher-
|
3
|
+
import { R as ResourceFetcher } from './resource-fetcher-b36ac145.js';
|
4
4
|
|
5
5
|
class FormConfigFetcher extends ResourceFetcher {
|
6
6
|
constructor() {
|