@sankhyalabs/sankhyablocks 8.16.0-dev.3 → 8.16.0-dev.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{ConfigStorage-942ce74b.js → ConfigStorage-ecc0ed20.js} +3 -2
- package/dist/cjs/{IExporterProvider-597949f9.js → ContinuousInsertUtils-807730a8.js} +39 -6
- package/dist/cjs/{DataFetcher-313debd8.js → DataFetcher-cadeef8e.js} +21 -15
- package/dist/cjs/{RecordIDUtils-3735135c.js → GetSelectedRecordsIDsInfo-bd50caf1.js} +10 -10
- package/dist/cjs/{SnkFormConfigManager-1b13bacd.js → SnkFormConfigManager-f1c92f79.js} +74 -20
- package/dist/cjs/{SnkMessageBuilder-722b104e.js → SnkMessageBuilder-bae64d0d.js} +7 -3
- package/dist/cjs/{auth-fetcher-54f5ff9d.js → auth-fetcher-d68841bc.js} +1 -1
- package/dist/cjs/{dataunit-fetcher-688d3f05.js → dataunit-fetcher-f89461c1.js} +46 -18
- package/dist/cjs/{field-search-f56aa7d6.js → field-search-68e34bf4.js} +5 -1
- package/dist/cjs/{form-config-fetcher-2dd00e5b.js → form-config-fetcher-ed497282.js} +5 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{pesquisa-fetcher-680e198f.js → pesquisa-fetcher-ca89181c.js} +1 -1
- package/dist/cjs/sankhyablocks.cjs.js +1 -1
- package/dist/cjs/snk-actions-button_4.cjs.entry.js +17 -14
- package/dist/cjs/snk-application.cjs.entry.js +7 -7
- package/dist/cjs/snk-attach.cjs.entry.js +37 -28
- package/dist/cjs/snk-crud.cjs.entry.js +14 -6
- package/dist/cjs/snk-data-exporter.cjs.entry.js +9 -9
- package/dist/cjs/{snk-data-unit-685272e7.js → snk-data-unit-668dc5e8.js} +42 -22
- package/dist/cjs/snk-data-unit.cjs.entry.js +5 -5
- package/dist/cjs/snk-detail-view.cjs.entry.js +12 -13
- package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +1 -1
- package/dist/cjs/snk-filter-bar.cjs.entry.js +37 -25
- package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +1 -1
- package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
- package/dist/cjs/snk-form-config.cjs.entry.js +17 -6
- package/dist/cjs/snk-form.cjs.entry.js +7 -6
- package/dist/cjs/snk-grid.cjs.entry.js +61 -21
- package/dist/cjs/{snk-guides-viewer-67605336.js → snk-guides-viewer-68777d37.js} +24 -12
- package/dist/cjs/snk-guides-viewer.cjs.entry.js +9 -9
- package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
- package/dist/cjs/snk-simple-bar.cjs.entry.js +1 -1
- package/dist/cjs/snk-simple-crud.cjs.entry.js +64 -26
- package/dist/cjs/snk-taskbar.cjs.entry.js +23 -1
- package/dist/collection/components/snk-actions-button/actions/index.js +12 -9
- package/dist/collection/components/snk-attach/snk-attach.js +24 -15
- package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +2 -4
- package/dist/collection/components/snk-crud/snk-crud.js +78 -1
- package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +3 -4
- package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +51 -6
- package/dist/collection/components/snk-data-exporter/exporter-email-sender/options-step.js +1 -1
- package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +1 -1
- package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +1 -1
- package/dist/collection/components/snk-data-exporter/structure/ItemBuilder.js +2 -2
- package/dist/collection/components/snk-data-unit/snk-data-unit.js +57 -20
- package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.js +1 -1
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +1 -1
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +59 -21
- package/dist/collection/components/snk-form/snk-form.js +2 -2
- package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +72 -18
- package/dist/collection/components/snk-form-config/snk-form-config.css +8 -3
- package/dist/collection/components/snk-form-config/snk-form-config.js +14 -3
- package/dist/collection/components/snk-grid/snk-grid.css +2 -0
- package/dist/collection/components/snk-grid/snk-grid.js +68 -8
- package/dist/collection/components/snk-simple-bar/snk-simple-bar.js +1 -1
- package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +0 -1
- package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +89 -15
- package/dist/collection/components/snk-taskbar/processor/taskbar-processor.js +5 -1
- package/dist/collection/components/snk-taskbar/snk-taskbar.js +64 -0
- package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +3 -3
- package/dist/collection/lib/configs/ConfigStorage.js +1 -0
- package/dist/collection/lib/dataUnit/InMemoryLoader.js +2 -4
- package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +34 -9
- package/dist/collection/lib/http/data-fetcher/DataFetcher.js +22 -16
- package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.js +7 -5
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +9 -2
- package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +4 -1
- package/dist/collection/lib/message/resources/snk-data-unit.msg.js +1 -1
- package/dist/collection/lib/message/resources/snk-exporter.msg.js +1 -1
- package/dist/collection/lib/message/resources/snk-grid.msg.js +5 -1
- package/dist/collection/lib/utils/ContinuousInsertUtils.js +31 -0
- package/dist/collection/{components/snk-data-exporter/utils/RecordIDUtils.js → lib/utils/GetSelectedRecordsIDsInfo.js} +9 -9
- package/dist/components/ConfigStorage.js +1 -0
- package/dist/components/{IExporterProvider.js → ContinuousInsertUtils.js} +40 -5
- package/dist/components/DataFetcher.js +22 -16
- package/dist/{esm/RecordIDUtils-87d02110.js → components/GetSelectedRecordsIDsInfo.js} +10 -10
- package/dist/components/SnkFormConfigManager.js +72 -18
- package/dist/components/SnkMessageBuilder.js +7 -3
- package/dist/components/dataunit-fetcher.js +45 -15
- package/dist/components/form-config-fetcher.js +4 -1
- package/dist/components/snk-actions-button2.js +12 -9
- package/dist/components/snk-attach2.js +33 -24
- package/dist/components/snk-crud.js +12 -1
- package/dist/components/snk-data-exporter2.js +2 -2
- package/dist/components/snk-data-unit2.js +44 -60
- package/dist/components/snk-detail-view2.js +24 -11
- package/dist/components/snk-exporter-email-sender2.js +1 -1
- package/dist/components/snk-filter-bar2.js +35 -22
- package/dist/components/snk-filter-checkbox-list.js +1 -1
- package/dist/components/snk-form-config2.js +15 -4
- package/dist/components/snk-form.js +2 -2
- package/dist/components/snk-grid2.js +53 -11
- package/dist/components/snk-simple-bar2.js +1 -1
- package/dist/components/snk-simple-crud2.js +57 -15
- package/dist/components/snk-taskbar2.js +24 -2
- package/dist/esm/{ConfigStorage-86187da3.js → ConfigStorage-7b36d041.js} +3 -2
- package/dist/esm/{IExporterProvider-63a188b6.js → ContinuousInsertUtils-1a82a768.js} +40 -8
- package/dist/esm/{DataFetcher-c1baf61d.js → DataFetcher-a9c598f2.js} +22 -16
- package/dist/esm/GetSelectedRecordsIDsInfo-9fa41508.js +41 -0
- package/dist/esm/{SnkFormConfigManager-d4554df9.js → SnkFormConfigManager-139f09fa.js} +74 -20
- package/dist/esm/{SnkMessageBuilder-89925609.js → SnkMessageBuilder-6fff4a4c.js} +7 -3
- package/dist/esm/{auth-fetcher-039abba3.js → auth-fetcher-749d880f.js} +1 -1
- package/dist/esm/{dataunit-fetcher-264191b2.js → dataunit-fetcher-c24c76c6.js} +46 -16
- package/dist/esm/{field-search-efbe307f.js → field-search-f8b1d91e.js} +5 -1
- package/dist/esm/{form-config-fetcher-30fb808f.js → form-config-fetcher-adbe5d34.js} +5 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{pesquisa-fetcher-03c8f919.js → pesquisa-fetcher-8edaa8cd.js} +1 -1
- package/dist/esm/sankhyablocks.js +1 -1
- package/dist/esm/snk-actions-button_4.entry.js +17 -14
- package/dist/esm/snk-application.entry.js +7 -7
- package/dist/esm/snk-attach.entry.js +37 -28
- package/dist/esm/snk-crud.entry.js +14 -6
- package/dist/esm/snk-data-exporter.entry.js +9 -9
- package/dist/esm/{snk-data-unit-63f83504.js → snk-data-unit-0fdfb6c2.js} +42 -22
- package/dist/esm/snk-data-unit.entry.js +5 -5
- package/dist/esm/snk-detail-view.entry.js +12 -13
- package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
- package/dist/esm/snk-filter-bar.entry.js +37 -25
- package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
- package/dist/esm/snk-filter-modal-item.entry.js +3 -3
- package/dist/esm/snk-form-config.entry.js +17 -6
- package/dist/esm/snk-form.entry.js +7 -6
- package/dist/esm/snk-grid.entry.js +56 -16
- package/dist/esm/{snk-guides-viewer-151f6091.js → snk-guides-viewer-b5dd30e6.js} +24 -12
- package/dist/esm/snk-guides-viewer.entry.js +9 -9
- package/dist/esm/snk-personalized-filter.entry.js +3 -3
- package/dist/esm/snk-simple-bar.entry.js +1 -1
- package/dist/esm/snk-simple-crud.entry.js +60 -22
- package/dist/esm/snk-taskbar.entry.js +23 -1
- package/dist/sankhyablocks/p-0035ad6e.entry.js +1 -0
- package/dist/sankhyablocks/{p-df5451c7.js → p-06421fdb.js} +2 -2
- package/dist/sankhyablocks/p-16a1dd18.entry.js +1 -0
- package/dist/sankhyablocks/p-17425c72.js +1 -0
- package/dist/sankhyablocks/p-18ed15f4.entry.js +1 -0
- package/dist/sankhyablocks/{p-af8efd95.js → p-1bf06cd3.js} +2 -2
- package/dist/sankhyablocks/p-1e4c25e3.entry.js +1 -0
- package/dist/sankhyablocks/{p-a1d72395.entry.js → p-212213d9.entry.js} +1 -1
- package/dist/sankhyablocks/p-23736d75.js +1 -0
- package/dist/sankhyablocks/p-3ae9d08a.js +1 -0
- package/dist/sankhyablocks/p-3e3cc017.js +1 -0
- package/dist/sankhyablocks/{p-aff76a53.js → p-4d9549cf.js} +2 -2
- package/dist/sankhyablocks/p-50779ad3.entry.js +1 -0
- package/dist/sankhyablocks/p-5dd8cf4f.js +1 -0
- package/dist/sankhyablocks/{p-aaa3ee68.entry.js → p-5f157b09.entry.js} +1 -1
- package/dist/sankhyablocks/p-60b29483.entry.js +1 -0
- package/dist/sankhyablocks/p-694e1c4a.entry.js +1 -0
- package/dist/sankhyablocks/p-7ac7932c.js +60 -0
- package/dist/sankhyablocks/p-7dd49d15.js +1 -0
- package/dist/sankhyablocks/p-7eef0898.entry.js +1 -0
- package/dist/sankhyablocks/{p-82a0bfb0.entry.js → p-a42e7a1e.entry.js} +2 -2
- package/dist/sankhyablocks/p-afbb070d.js +1 -0
- package/dist/sankhyablocks/p-b9679243.entry.js +1 -0
- package/dist/sankhyablocks/p-b9c67e45.entry.js +1 -0
- package/dist/sankhyablocks/p-c2e468c9.entry.js +1 -0
- package/dist/sankhyablocks/{p-913a9979.js → p-ca5ec380.js} +1 -1
- package/dist/sankhyablocks/p-d80a84fd.entry.js +1 -0
- package/dist/sankhyablocks/p-d836f72b.entry.js +1 -0
- package/dist/sankhyablocks/p-e16e87fc.entry.js +1 -0
- package/dist/sankhyablocks/p-eb9f0407.entry.js +1 -0
- package/dist/sankhyablocks/p-f3434fc4.js +1 -0
- package/dist/sankhyablocks/{p-eae7a817.entry.js → p-fb34e0cf.entry.js} +1 -1
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-actions-button/actions/index.d.ts +1 -0
- package/dist/types/components/snk-attach/snk-attach.d.ts +1 -0
- package/dist/types/components/snk-crud/snk-crud.d.ts +13 -0
- package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +11 -0
- package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +7 -0
- package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +5 -0
- package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +9 -4
- package/dist/types/components/snk-grid/snk-grid.d.ts +12 -0
- package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +14 -0
- package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +1 -0
- package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +11 -0
- package/dist/types/components.d.ts +89 -0
- package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +12 -2
- package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.d.ts +3 -2
- package/dist/types/lib/utils/ContinuousInsertUtils.d.ts +10 -0
- package/dist/types/lib/utils/GetSelectedRecordsIDsInfo.d.ts +3 -0
- package/package.json +2 -2
- package/dist/sankhyablocks/p-14a08904.entry.js +0 -1
- package/dist/sankhyablocks/p-14b9f964.entry.js +0 -1
- package/dist/sankhyablocks/p-219f888d.entry.js +0 -1
- package/dist/sankhyablocks/p-3a212712.js +0 -1
- package/dist/sankhyablocks/p-3a216b81.entry.js +0 -1
- package/dist/sankhyablocks/p-47b60deb.entry.js +0 -1
- package/dist/sankhyablocks/p-7505da04.entry.js +0 -1
- package/dist/sankhyablocks/p-75f83d1d.entry.js +0 -1
- package/dist/sankhyablocks/p-7a337364.js +0 -1
- package/dist/sankhyablocks/p-829d4045.js +0 -1
- package/dist/sankhyablocks/p-88aa931b.entry.js +0 -1
- package/dist/sankhyablocks/p-8fc470e5.entry.js +0 -1
- package/dist/sankhyablocks/p-941bf3ef.entry.js +0 -1
- package/dist/sankhyablocks/p-9863d682.js +0 -1
- package/dist/sankhyablocks/p-b4b21558.entry.js +0 -1
- package/dist/sankhyablocks/p-bad55caa.entry.js +0 -1
- package/dist/sankhyablocks/p-c053256c.entry.js +0 -1
- package/dist/sankhyablocks/p-c2495304.js +0 -1
- package/dist/sankhyablocks/p-c5268346.entry.js +0 -1
- package/dist/sankhyablocks/p-cefba299.js +0 -1
- package/dist/sankhyablocks/p-dc7c9047.js +0 -1
- package/dist/sankhyablocks/p-f2809746.entry.js +0 -1
- package/dist/sankhyablocks/p-fcac4dfc.js +0 -1
- package/dist/sankhyablocks/p-fe79f83a.js +0 -60
- package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +0 -3
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
import { JSUtils, DataType } from '@sankhyalabs/core';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
const selectionInfo = dataUnit.getSelectionInfo();
|
|
3
|
+
function getSelectedRecordsIDsInfo(dataUnit) {
|
|
4
|
+
const selectionInfo = dataUnit === null || dataUnit === void 0 ? void 0 : dataUnit.getSelectionInfo();
|
|
5
5
|
if (selectionInfo === null || selectionInfo === void 0 ? void 0 : selectionInfo.isAllRecords()) {
|
|
6
6
|
return [];
|
|
7
7
|
}
|
|
8
8
|
const selectedRecordsIDsInfo = [];
|
|
9
|
-
const selectedRecords = selectionInfo === null || selectionInfo === void 0 ? void 0 : selectionInfo.
|
|
9
|
+
const selectedRecords = selectionInfo === null || selectionInfo === void 0 ? void 0 : selectionInfo.records;
|
|
10
10
|
if ((selectedRecords === null || selectedRecords === void 0 ? void 0 : selectedRecords.length) > 0) {
|
|
11
|
-
selectedRecords.forEach(
|
|
12
|
-
if (!dataUnit.isNewRecord(
|
|
11
|
+
selectedRecords.forEach(({ __record__id__ }) => {
|
|
12
|
+
if (!dataUnit.isNewRecord(__record__id__)) {
|
|
13
13
|
/*
|
|
14
14
|
Esse if foi necessário para tratar corretamente o ID
|
|
15
15
|
do record quando está sendo utilizado no modo standAlone
|
|
16
16
|
isso não faz a exportação da grid funcionar no modo standAlone
|
|
17
17
|
mas deixa de causar erro nas oprações de CRUD.
|
|
18
18
|
*/
|
|
19
|
-
if (!JSUtils.isBase64(
|
|
19
|
+
if (!JSUtils.isBase64(__record__id__)) {
|
|
20
20
|
selectedRecordsIDsInfo.push({
|
|
21
21
|
name: "__record__id__",
|
|
22
22
|
type: DataType.TEXT,
|
|
23
|
-
value:
|
|
23
|
+
value: __record__id__
|
|
24
24
|
});
|
|
25
25
|
return;
|
|
26
26
|
}
|
|
27
|
-
const revertBase64ToObject = JSON.parse(window.atob(
|
|
27
|
+
const revertBase64ToObject = JSON.parse(window.atob(__record__id__));
|
|
28
28
|
Object.entries(revertBase64ToObject).forEach(([name, value]) => {
|
|
29
29
|
const metadataField = dataUnit === null || dataUnit === void 0 ? void 0 : dataUnit.getField(name);
|
|
30
30
|
if (metadataField == undefined) {
|
|
@@ -36,6 +36,6 @@ const getSelectedIDs = (dataUnit) => {
|
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
38
|
return selectedRecordsIDsInfo;
|
|
39
|
-
}
|
|
39
|
+
}
|
|
40
40
|
|
|
41
|
-
export {
|
|
41
|
+
export { getSelectedRecordsIDsInfo as g };
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { C as ConfigStorage } from './ConfigStorage.js';
|
|
2
2
|
import { ObjectUtils, StringUtils } from '@sankhyalabs/core';
|
|
3
3
|
import { F as FormConfigFetcher } from './form-config-fetcher.js';
|
|
4
|
+
import { c as TAB_NAMES } from './constants.js';
|
|
4
5
|
|
|
5
6
|
class SnkFormConfigManager {
|
|
6
|
-
constructor(configName, resourceID, onConfigChange) {
|
|
7
|
+
constructor(configName, resourceID, onConfigChange, dataUnit) {
|
|
7
8
|
this._resourceID = resourceID;
|
|
8
9
|
this._configName = configName;
|
|
9
10
|
this._onConfigChange = onConfigChange;
|
|
11
|
+
this._dataUnit = dataUnit;
|
|
10
12
|
}
|
|
11
13
|
addFormLegacyConfig(legacyConfigName) {
|
|
12
14
|
if (this._configName) {
|
|
@@ -17,6 +19,7 @@ class SnkFormConfigManager {
|
|
|
17
19
|
return new Promise(resolve => {
|
|
18
20
|
ConfigStorage.loadFormConfig(this._configName, this._resourceID)
|
|
19
21
|
.then((config) => {
|
|
22
|
+
config = this.buildFormMetadataUITabs(config);
|
|
20
23
|
this.setConfig(config);
|
|
21
24
|
resolve(config);
|
|
22
25
|
})
|
|
@@ -25,6 +28,10 @@ class SnkFormConfigManager {
|
|
|
25
28
|
});
|
|
26
29
|
});
|
|
27
30
|
}
|
|
31
|
+
getEmptyConfig() {
|
|
32
|
+
const config = this.buildFormMetadataUITabs({ fields: [], emptyConfig: true }, true);
|
|
33
|
+
return config;
|
|
34
|
+
}
|
|
28
35
|
saveConfig(config) {
|
|
29
36
|
const configToSave = ObjectUtils.copy(config);
|
|
30
37
|
return new Promise(accept => {
|
|
@@ -68,27 +75,36 @@ class SnkFormConfigManager {
|
|
|
68
75
|
}
|
|
69
76
|
return updatingCardConfig;
|
|
70
77
|
}
|
|
71
|
-
|
|
78
|
+
hasConfig(config) {
|
|
79
|
+
var _a;
|
|
80
|
+
const currentConfig = config !== null && config !== void 0 ? config : this._config;
|
|
81
|
+
if (currentConfig && ((_a = currentConfig.fields) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
getFieldsList(descriptionFilter, forceEmptyConfig = false) {
|
|
72
87
|
var _a;
|
|
73
88
|
const fields = (_a = this._config) === null || _a === void 0 ? void 0 : _a.fields;
|
|
74
|
-
|
|
75
|
-
|
|
89
|
+
const hasConfig = this.hasConfig();
|
|
90
|
+
if (hasConfig && !forceEmptyConfig) {
|
|
91
|
+
return fields.map(({ label, name, readOnly, visible, required, tab }) => {
|
|
92
|
+
var _a;
|
|
76
93
|
if (label == undefined) {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
visible,
|
|
80
|
-
required });
|
|
94
|
+
const currentField = (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.getField(name);
|
|
95
|
+
return Object.assign(Object.assign({}, currentField), { name: name !== null && name !== void 0 ? name : currentField.name, readOnly: readOnly !== null && readOnly !== void 0 ? readOnly : currentField.readOnly, visible: visible !== null && visible !== void 0 ? visible : currentField.visible, required: required !== null && required !== void 0 ? required : currentField.required, tab: tab });
|
|
81
96
|
}
|
|
82
|
-
return { name, label, readOnly, visible, required };
|
|
97
|
+
return { name, label, readOnly, visible, required, tab };
|
|
83
98
|
})
|
|
84
99
|
.filter(field => this.isFieldVisible(field, descriptionFilter));
|
|
85
100
|
}
|
|
86
|
-
if (
|
|
87
|
-
return
|
|
88
|
-
.filter(field => this.isFieldVisible(field, descriptionFilter))
|
|
89
|
-
.map(({ label, name, readOnly }) => { return { label, name, readOnly }; });
|
|
101
|
+
if (!this._dataUnit) {
|
|
102
|
+
return [];
|
|
90
103
|
}
|
|
91
|
-
|
|
104
|
+
const filteredFields = this._dataUnit.metadata.fields
|
|
105
|
+
.filter(field => this.isFieldVisible(field, descriptionFilter))
|
|
106
|
+
.map(({ label, name, readOnly, visible, required, properties }) => ({ label, name, readOnly, visible, required, tab: properties === null || properties === void 0 ? void 0 : properties.UITabName }));
|
|
107
|
+
return filteredFields;
|
|
92
108
|
}
|
|
93
109
|
isFieldVisible(field, descriptionFilter) {
|
|
94
110
|
if (field.visible === false) {
|
|
@@ -101,8 +117,8 @@ class SnkFormConfigManager {
|
|
|
101
117
|
const normalizedFilter = StringUtils.replaceAccentuatedCharsLower(descriptionFilter.toLocaleLowerCase());
|
|
102
118
|
return normalizedText.includes(normalizedFilter);
|
|
103
119
|
}
|
|
104
|
-
|
|
105
|
-
let fields = this.getFieldsList(
|
|
120
|
+
getFormConfig(dataUnit, ignoreReadOnlyFormFields, forceEmptyConfig = false) {
|
|
121
|
+
let fields = this.getFieldsList(undefined, forceEmptyConfig);
|
|
106
122
|
if (ignoreReadOnlyFormFields) {
|
|
107
123
|
fields = fields.filter(field => {
|
|
108
124
|
if (dataUnit) {
|
|
@@ -133,8 +149,8 @@ class SnkFormConfigManager {
|
|
|
133
149
|
this._onConfigChange(Object.assign({}, this._config));
|
|
134
150
|
}
|
|
135
151
|
}
|
|
136
|
-
getConfig(
|
|
137
|
-
return
|
|
152
|
+
getConfig(dataUnit, ignoreReadOnlyFormFields) {
|
|
153
|
+
return this.getFormConfig(dataUnit, ignoreReadOnlyFormFields !== null && ignoreReadOnlyFormFields !== void 0 ? ignoreReadOnlyFormFields : true);
|
|
138
154
|
}
|
|
139
155
|
getFormConfigFetcher() {
|
|
140
156
|
if (this._formConfigFetcher == undefined) {
|
|
@@ -155,6 +171,44 @@ class SnkFormConfigManager {
|
|
|
155
171
|
async fetchDefaultConfig() {
|
|
156
172
|
return this.getFormConfigFetcher().fetchDefaultConfig(this._configName, this._resourceID);
|
|
157
173
|
}
|
|
174
|
+
parseObjectList(object) {
|
|
175
|
+
if (!object) {
|
|
176
|
+
return [];
|
|
177
|
+
}
|
|
178
|
+
return Array.isArray(object) ? object : [object];
|
|
179
|
+
}
|
|
180
|
+
buildFormMetadataUITabs(config, forceEmptyConfig = false) {
|
|
181
|
+
var _a;
|
|
182
|
+
const hasConfig = this.hasConfig(config);
|
|
183
|
+
if (!forceEmptyConfig && (!this._dataUnit || hasConfig)) {
|
|
184
|
+
return config;
|
|
185
|
+
}
|
|
186
|
+
config = this.getFormConfig(this._dataUnit, false, true);
|
|
187
|
+
config.tabs = this.parseObjectList(config.tabs);
|
|
188
|
+
config.emptyConfig = false;
|
|
189
|
+
config.defaultConfiguration = true;
|
|
190
|
+
const fields = this._dataUnit.metadata.fields;
|
|
191
|
+
for (const currentField of fields) {
|
|
192
|
+
const field = config.fields.find(field => field.name === currentField.name);
|
|
193
|
+
const uiTabName = (_a = currentField.properties) === null || _a === void 0 ? void 0 : _a.UITabName;
|
|
194
|
+
if (!uiTabName || uiTabName === TAB_NAMES.main) {
|
|
195
|
+
continue;
|
|
196
|
+
}
|
|
197
|
+
const haveTab = config.tabs.some((tab) => tab.label === uiTabName);
|
|
198
|
+
if (!haveTab) {
|
|
199
|
+
config.tabs.push({
|
|
200
|
+
label: uiTabName,
|
|
201
|
+
name: uiTabName,
|
|
202
|
+
order: 0,
|
|
203
|
+
visible: true,
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
if (field) {
|
|
207
|
+
field.tab = uiTabName;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
return config;
|
|
211
|
+
}
|
|
158
212
|
}
|
|
159
213
|
|
|
160
214
|
export { SnkFormConfigManager as S };
|
|
@@ -8,7 +8,7 @@ const snkDataUnitMessages = {
|
|
|
8
8
|
},
|
|
9
9
|
cancelInfo: {
|
|
10
10
|
clone: "Duplicação descartada!",
|
|
11
|
-
insert: "A inclusão descartada!",
|
|
11
|
+
insert: "A inclusão foi descartada!",
|
|
12
12
|
update: "A edição foi descartada!"
|
|
13
13
|
},
|
|
14
14
|
confirm: {
|
|
@@ -122,7 +122,7 @@ const snkExporterMessages = {
|
|
|
122
122
|
emailSenderOptStep_subtitle: "Primeiro, escolha o formato do arquivo",
|
|
123
123
|
emailSenderOptStep_lblFormat: "Formato:",
|
|
124
124
|
emailSenderOptStep_formatPDF: "PDF (.pdf)",
|
|
125
|
-
|
|
125
|
+
emailSenderOptStep_formatXLS: "Planilha (.xls)",
|
|
126
126
|
emailSenderOptStep_export: "Exportar:",
|
|
127
127
|
emailSenderOptStep_allData: "Toda a grade",
|
|
128
128
|
emailSenderOptStep_currentPage: "Somente a página atual",
|
|
@@ -245,7 +245,11 @@ const snkConfiguratorMessages = {
|
|
|
245
245
|
};
|
|
246
246
|
|
|
247
247
|
const snkGridMessages = {
|
|
248
|
-
findColumn: "Busca de colunas"
|
|
248
|
+
findColumn: "Busca de colunas",
|
|
249
|
+
cancelConfirmation: {
|
|
250
|
+
title: "Aviso",
|
|
251
|
+
message: "As alterações realizadas serão descartadas<br/><br/><b>Você realmente gostaria de cancelar?</b>",
|
|
252
|
+
}
|
|
249
253
|
};
|
|
250
254
|
const snkGridConfigMessages = {
|
|
251
255
|
gridConfiguration: "Configuração da Grade",
|
|
@@ -235,6 +235,21 @@ function applyFilter(records, dataUnit, filters) {
|
|
|
235
235
|
}
|
|
236
236
|
return records.filter(filterFunction);
|
|
237
237
|
}
|
|
238
|
+
function buildLoadDataResponse(recordsIn, dataUnit, request) {
|
|
239
|
+
let records = recordsIn ? [...recordsIn] : [];
|
|
240
|
+
records = applyFilter(records, dataUnit, request.filters);
|
|
241
|
+
records = applySorting(records, dataUnit, request.sort);
|
|
242
|
+
const { offset, limit } = request;
|
|
243
|
+
const paginationInfoBuilderParams = {
|
|
244
|
+
recordsLength: records.length,
|
|
245
|
+
offset,
|
|
246
|
+
recordsPerPage: limit,
|
|
247
|
+
};
|
|
248
|
+
return Promise.resolve({
|
|
249
|
+
records: getPagesByRecords(records, offset, limit),
|
|
250
|
+
paginationInfo: buildPaginationInfo(paginationInfoBuilderParams),
|
|
251
|
+
});
|
|
252
|
+
}
|
|
238
253
|
function applySorting(records, dataUnit, sorting) {
|
|
239
254
|
if (sorting == undefined || sorting.length == 0) {
|
|
240
255
|
return records;
|
|
@@ -245,18 +260,28 @@ function applySorting(records, dataUnit, sorting) {
|
|
|
245
260
|
}
|
|
246
261
|
return records.sort(sortingFunction);
|
|
247
262
|
}
|
|
248
|
-
function
|
|
249
|
-
|
|
250
|
-
|
|
263
|
+
function hasValidLimitAndOffset(offset, limit) {
|
|
264
|
+
return offset >= 0 && limit >= 0;
|
|
265
|
+
}
|
|
266
|
+
function getPagesByRecords(records, offset = 0, limit = 0) {
|
|
267
|
+
if (!records || !records.length || !hasValidLimitAndOffset(offset, limit))
|
|
268
|
+
return [];
|
|
269
|
+
if (limit === 0 && offset === 0)
|
|
270
|
+
return records;
|
|
271
|
+
return records.slice(offset, offset + limit);
|
|
272
|
+
}
|
|
273
|
+
function buildPaginationInfo({ recordsLength = 0, offset = 0, recordsPerPage = 0 }) {
|
|
274
|
+
if (!recordsLength) {
|
|
275
|
+
return { currentPage: 0, firstRecord: 0, lastRecord: 0, total: 0, hasMore: false };
|
|
251
276
|
}
|
|
252
|
-
const
|
|
253
|
-
const lastRecord = Math.min(
|
|
277
|
+
const lastRecordIndex = offset + recordsPerPage;
|
|
278
|
+
const lastRecord = lastRecordIndex ? Math.min(lastRecordIndex, recordsLength) : recordsLength;
|
|
254
279
|
return {
|
|
255
|
-
currentPage:
|
|
256
|
-
firstRecord: offset,
|
|
280
|
+
currentPage: recordsPerPage === 0 ? 0 : Math.ceil(offset / recordsPerPage),
|
|
281
|
+
firstRecord: offset + 1,
|
|
257
282
|
lastRecord: lastRecord,
|
|
258
|
-
total:
|
|
259
|
-
hasMore:
|
|
283
|
+
total: recordsLength,
|
|
284
|
+
hasMore: lastRecord < recordsLength,
|
|
260
285
|
};
|
|
261
286
|
}
|
|
262
287
|
|
|
@@ -342,9 +367,7 @@ class InMemoryLoader {
|
|
|
342
367
|
return StringUtils.generateUUID();
|
|
343
368
|
}
|
|
344
369
|
inMemoryLoader(dataUnit, request, recordsIn) {
|
|
345
|
-
|
|
346
|
-
records = applySorting(records, dataUnit, request.sort);
|
|
347
|
-
return Promise.resolve({ records, paginationInfo: buildPaginationInfo(records, request.offset, request.limit) });
|
|
370
|
+
return buildLoadDataResponse(recordsIn, dataUnit, request);
|
|
348
371
|
}
|
|
349
372
|
metadaLoader() {
|
|
350
373
|
return Promise.resolve(this._metadata);
|
|
@@ -424,12 +447,19 @@ class DatasetStrategy {
|
|
|
424
447
|
const records = this.processRecords(dataUnit, fields, responseRecords);
|
|
425
448
|
const loadingInProgress = pagerId != undefined;
|
|
426
449
|
const count = loadingInfo.count + records.length;
|
|
450
|
+
const isInsertingNewRecord = dataUnit.hasNewRecord();
|
|
427
451
|
const needReload = !loadingInProgress && localSorting.length > 0;
|
|
452
|
+
/**
|
|
453
|
+
* Caso precise recarregar dados, porém está no meio de uma inserção, os dados não devem recarregados instantaneamente,
|
|
454
|
+
* Mas sim, sinalizar que o dataUnit está aguardando para der recarregado.
|
|
455
|
+
*/
|
|
456
|
+
if (needReload && isInsertingNewRecord) {
|
|
457
|
+
dataUnit.setWaitingToReload(true);
|
|
458
|
+
}
|
|
428
459
|
return Promise.resolve({
|
|
429
460
|
records,
|
|
430
461
|
loadingInfo: Object.assign(Object.assign({}, loadingInfo), { pagerId,
|
|
431
|
-
loadingInProgress, total: loadingInProgress ? undefined : count, count,
|
|
432
|
-
needReload })
|
|
462
|
+
loadingInProgress, total: loadingInProgress ? undefined : count, count, needReload: needReload && !isInsertingNewRecord })
|
|
433
463
|
});
|
|
434
464
|
}
|
|
435
465
|
catch (error) {
|
|
@@ -1052,4 +1082,4 @@ class DataUnitFetcher {
|
|
|
1052
1082
|
}
|
|
1053
1083
|
}
|
|
1054
1084
|
|
|
1055
|
-
export { DataUnitFetcher as D, InMemoryLoader as I, PreloadManager as P,
|
|
1085
|
+
export { DataUnitFetcher as D, InMemoryLoader as I, PreloadManager as P, DatasetStrategy as a, buildLoadDataResponse as b, getRecordValue as g };
|
|
@@ -217,7 +217,10 @@ class FormConfigFetcher extends ResourceFetcher {
|
|
|
217
217
|
query: this.queryConfig.get("fetchDefaultConfig"),
|
|
218
218
|
})
|
|
219
219
|
.then((result) => {
|
|
220
|
-
|
|
220
|
+
if (!(result === null || result === void 0 ? void 0 : result.resource)) {
|
|
221
|
+
resolve(null);
|
|
222
|
+
}
|
|
223
|
+
resolve(ObjectUtils.stringToObject(result === null || result === void 0 ? void 0 : result.resource));
|
|
221
224
|
})
|
|
222
225
|
.catch((error) => {
|
|
223
226
|
reject(error);
|
|
@@ -9,6 +9,7 @@ import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
|
|
|
9
9
|
import './dataunit-fetcher.js';
|
|
10
10
|
import './filter-item-type.enum.js';
|
|
11
11
|
import './form-config-fetcher.js';
|
|
12
|
+
import { g as getSelectedRecordsIDsInfo } from './GetSelectedRecordsIDsInfo.js';
|
|
12
13
|
import { R as ResourceIDUtils } from './ResourceIDUtils.js';
|
|
13
14
|
|
|
14
15
|
const SERVICE_ACTION_EXECUTE_JAVA = 'ActionButtonsSP.executeJava';
|
|
@@ -161,7 +162,6 @@ var RefreshType;
|
|
|
161
162
|
|
|
162
163
|
const MASTER_ROW_PROPERTY = "__MASTER_ROW__";
|
|
163
164
|
const ENTITY_NAME_PROPERTY = '__ENTITY_NAME__';
|
|
164
|
-
const NUFIN_COLUMN = 'NUFIN';
|
|
165
165
|
const SERVICE_GET_CONFIGURATIONS = 'SystemUtilsSP.getConf';
|
|
166
166
|
class Actions {
|
|
167
167
|
constructor(actionsExecuteInterface, dataUnit, appResourceId) {
|
|
@@ -173,6 +173,10 @@ class Actions {
|
|
|
173
173
|
this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
|
|
174
174
|
this._appResourceId = appResourceId;
|
|
175
175
|
}
|
|
176
|
+
getPrimaryKeys() {
|
|
177
|
+
const ids = getSelectedRecordsIDsInfo(this._dataUnit);
|
|
178
|
+
return ids.map(({ name }) => name);
|
|
179
|
+
}
|
|
176
180
|
apply(action, hasParamsToSave) {
|
|
177
181
|
this._application.closePopUp();
|
|
178
182
|
this._actionsExecuteInterface.execute(action, this._dataUnit)
|
|
@@ -441,6 +445,7 @@ class Actions {
|
|
|
441
445
|
executeAction(execSource);
|
|
442
446
|
}
|
|
443
447
|
addRows(execSource) {
|
|
448
|
+
const primaryKeys = this.getPrimaryKeys();
|
|
444
449
|
const rows = {
|
|
445
450
|
row: []
|
|
446
451
|
};
|
|
@@ -454,15 +459,13 @@ class Actions {
|
|
|
454
459
|
delete sourceRow[MASTER_ROW_PROPERTY];
|
|
455
460
|
delete sourceRow[ENTITY_NAME_PROPERTY];
|
|
456
461
|
}
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
row.field = [];
|
|
462
|
-
}
|
|
462
|
+
if (!row.field) {
|
|
463
|
+
row.field = [];
|
|
464
|
+
}
|
|
465
|
+
for (const primaryKey of primaryKeys) {
|
|
463
466
|
row.field.push({
|
|
464
|
-
fieldName:
|
|
465
|
-
$: sourceRow[
|
|
467
|
+
fieldName: primaryKey,
|
|
468
|
+
$: sourceRow[primaryKey]
|
|
466
469
|
});
|
|
467
470
|
}
|
|
468
471
|
rows.row.push(row);
|
|
@@ -3,7 +3,7 @@ import { ApplicationContext, DataType, Action, UserInterface, StringUtils, DataU
|
|
|
3
3
|
import { D as DataFetcher } from './DataFetcher.js';
|
|
4
4
|
import './pesquisa-fetcher.js';
|
|
5
5
|
import { S as SaveErrorsEnum } from './ISave.js';
|
|
6
|
-
import { P as PreloadManager,
|
|
6
|
+
import { P as PreloadManager, b as buildLoadDataResponse, D as DataUnitFetcher, I as InMemoryLoader } from './dataunit-fetcher.js';
|
|
7
7
|
import './filter-item-type.enum.js';
|
|
8
8
|
import './form-config-fetcher.js';
|
|
9
9
|
import { V as VIEW_MODE } from './constants.js';
|
|
@@ -119,21 +119,23 @@ const SERVICE = {
|
|
|
119
119
|
download: "AnexoSistemaSP.baixar",
|
|
120
120
|
};
|
|
121
121
|
class AnexoSistemaFetcher {
|
|
122
|
-
constructor(entityName,
|
|
122
|
+
constructor(entityName, dataUnitName) {
|
|
123
123
|
var _a;
|
|
124
124
|
this.entityName = entityName;
|
|
125
|
-
this.registerKey = registerKey;
|
|
126
125
|
this.dataUnitName = dataUnitName;
|
|
127
126
|
this.validateFields = (fields) => {
|
|
128
127
|
if (!!fields.LINK && !!fields.NOMEARQUIVO)
|
|
129
128
|
throw new Error(SaveErrorsEnum.LINK_AND_FILE_AT_THE_SAME_TIME);
|
|
130
129
|
if (!fields.LINK && !fields.NOMEARQUIVO)
|
|
131
130
|
throw new Error(SaveErrorsEnum.ANY_LINK_OR_FILE_FILLED);
|
|
132
|
-
if (!this.
|
|
131
|
+
if (!this._registerKey)
|
|
133
132
|
throw new Error('Register key can not be null');
|
|
134
133
|
};
|
|
135
134
|
this.resourceID = (window["resourceID"] || ((_a = window["workspace"]) === null || _a === void 0 ? void 0 : _a.resourceID));
|
|
136
135
|
}
|
|
136
|
+
set registerKey(registerKey) {
|
|
137
|
+
this._registerKey = registerKey;
|
|
138
|
+
}
|
|
137
139
|
async save(change) {
|
|
138
140
|
var _a, _b;
|
|
139
141
|
let { updatingFields: fields } = change;
|
|
@@ -152,7 +154,7 @@ class AnexoSistemaFetcher {
|
|
|
152
154
|
nameAttach: fileInfo === null || fileInfo === void 0 ? void 0 : fileInfo.name,
|
|
153
155
|
link: fields.LINK,
|
|
154
156
|
nameEntity: this.entityName,
|
|
155
|
-
pkEntity: this.
|
|
157
|
+
pkEntity: this._registerKey,
|
|
156
158
|
typeAcess: fields.TIPOACESSO,
|
|
157
159
|
typeApres: fields.TIPOAPRES,
|
|
158
160
|
}
|
|
@@ -192,7 +194,7 @@ class AnexoSistemaFetcher {
|
|
|
192
194
|
nameAttach: fileInfo === null || fileInfo === void 0 ? void 0 : fileInfo.name,
|
|
193
195
|
link: fields.LINK,
|
|
194
196
|
nameEntity: this.entityName,
|
|
195
|
-
pkEntity: this.
|
|
197
|
+
pkEntity: this._registerKey,
|
|
196
198
|
typeAcess: fields.TIPOACESSO,
|
|
197
199
|
typeApres: fields.TIPOAPRES,
|
|
198
200
|
}
|
|
@@ -464,9 +466,7 @@ class AttachFetcherDataUnitFactory {
|
|
|
464
466
|
});
|
|
465
467
|
this._records = records;
|
|
466
468
|
}
|
|
467
|
-
|
|
468
|
-
records = applySorting(records, dataUnit, request.sort);
|
|
469
|
-
return Promise.resolve({ records, paginationInfo: buildPaginationInfo(records, request.offset, request.limit) });
|
|
469
|
+
return buildLoadDataResponse(this._records, dataUnit, request);
|
|
470
470
|
}
|
|
471
471
|
saveLoader(changes, fetcher) {
|
|
472
472
|
return new Promise((resolve) => {
|
|
@@ -663,11 +663,20 @@ const SnkAttach = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
663
663
|
this.loadAttachmentDataUnit();
|
|
664
664
|
}
|
|
665
665
|
if (oldRegisterKey !== newRegisterKey) {
|
|
666
|
+
if (this._currentFetcher instanceof AnexoSistemaFetcher) {
|
|
667
|
+
this._currentFetcher.registerKey = newRegisterKey;
|
|
668
|
+
}
|
|
666
669
|
await ((_a = this._currentDataUnit) === null || _a === void 0 ? void 0 : _a.loadData());
|
|
667
670
|
}
|
|
668
671
|
}
|
|
672
|
+
getAnexoSistemaFetcherInstance() {
|
|
673
|
+
var _a;
|
|
674
|
+
const anexoSistemaFetcher = new AnexoSistemaFetcher(this.entityName, (_a = this._currentDataUnit) === null || _a === void 0 ? void 0 : _a.name);
|
|
675
|
+
anexoSistemaFetcher.registerKey = this.registerKey;
|
|
676
|
+
return anexoSistemaFetcher;
|
|
677
|
+
}
|
|
669
678
|
async initAttach() {
|
|
670
|
-
var _a, _b, _c, _d, _e
|
|
679
|
+
var _a, _b, _c, _d, _e;
|
|
671
680
|
if (!this.fetcherType && !this.registerKey)
|
|
672
681
|
return;
|
|
673
682
|
if (!this.fetcherType) {
|
|
@@ -675,18 +684,18 @@ const SnkAttach = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
675
684
|
}
|
|
676
685
|
this.returnToGridMode();
|
|
677
686
|
if (this.fetcherType === "AnexoSistema") {
|
|
678
|
-
this._currentFetcher =
|
|
679
|
-
(
|
|
680
|
-
await ((
|
|
687
|
+
this._currentFetcher = this.getAnexoSistemaFetcherInstance();
|
|
688
|
+
(_a = this._currentDataUnitBuilder) === null || _a === void 0 ? void 0 : _a.initLoaders(this._currentDataUnit, this._currentFetcher, this.returnToGridMode.bind(this));
|
|
689
|
+
await ((_b = this._currentDataUnit) === null || _b === void 0 ? void 0 : _b.loadData());
|
|
681
690
|
return;
|
|
682
691
|
}
|
|
683
692
|
if (this.fetcherType === "Attach") {
|
|
684
|
-
const hasMoreOneItem = ((
|
|
693
|
+
const hasMoreOneItem = ((_c = this.registerKey) === null || _c === void 0 ? void 0 : _c.split("_").length) > 1;
|
|
685
694
|
if (hasMoreOneItem)
|
|
686
695
|
return;
|
|
687
696
|
}
|
|
688
|
-
await ((
|
|
689
|
-
await ((
|
|
697
|
+
await ((_d = this._currentDataUnit) === null || _d === void 0 ? void 0 : _d.loadMetadata());
|
|
698
|
+
await ((_e = this._currentDataUnit) === null || _e === void 0 ? void 0 : _e.loadData(undefined, undefined, true, this.registerKey));
|
|
690
699
|
}
|
|
691
700
|
/**
|
|
692
701
|
* Conforme mecanismo de mensagens, é possível customizar as mensagens dos blocos de construção
|
|
@@ -745,11 +754,11 @@ const SnkAttach = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
745
754
|
}
|
|
746
755
|
}
|
|
747
756
|
async loadAnexoSistema() {
|
|
748
|
-
var _a, _b
|
|
757
|
+
var _a, _b;
|
|
749
758
|
this._currentDataUnit = new DataUnitFetcher().getDataUnit(RESOURCE_ID, DATA_UNIT_NAME);
|
|
750
|
-
this._currentFetcher =
|
|
759
|
+
this._currentFetcher = this.getAnexoSistemaFetcherInstance();
|
|
751
760
|
if (!this._currentDataUnit.metadata) {
|
|
752
|
-
await ((
|
|
761
|
+
await ((_a = this._currentDataUnit) === null || _a === void 0 ? void 0 : _a.loadMetadata());
|
|
753
762
|
this.crudConfig = Object.assign({}, anexoSistemaCrudConfig);
|
|
754
763
|
}
|
|
755
764
|
this.initDataUnitLoaders();
|
|
@@ -759,7 +768,7 @@ const SnkAttach = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
759
768
|
this._currentDataUnit.addInterceptor({
|
|
760
769
|
interceptAction: (action) => this._currentDataUnitBuilder.getInterceptions(this._currentDataUnit, action, this._crudElement)
|
|
761
770
|
});
|
|
762
|
-
await ((
|
|
771
|
+
await ((_b = this._currentDataUnit) === null || _b === void 0 ? void 0 : _b.loadData());
|
|
763
772
|
this.disableEditFieldsNotInForm();
|
|
764
773
|
}
|
|
765
774
|
async loadAttach() {
|
|
@@ -785,16 +794,16 @@ const SnkAttach = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
785
794
|
}
|
|
786
795
|
}
|
|
787
796
|
initDataUnitLoaders() {
|
|
788
|
-
var _a, _b
|
|
797
|
+
var _a, _b;
|
|
789
798
|
if (this.fetcherType === "AnexoSistema") {
|
|
790
|
-
this._currentFetcher =
|
|
799
|
+
this._currentFetcher = this.getAnexoSistemaFetcherInstance();
|
|
791
800
|
this._currentDataUnitBuilder = new AnexoSistemaDataUnitFactory(this.entityName, this.getMessage.bind(this));
|
|
792
|
-
(
|
|
801
|
+
(_a = this._currentDataUnitBuilder) === null || _a === void 0 ? void 0 : _a.initLoaders(this._currentDataUnit, this._currentFetcher, this.returnToGridMode.bind(this));
|
|
793
802
|
}
|
|
794
803
|
if (this.fetcherType === "Attach") {
|
|
795
804
|
this._currentFetcher = new AttachFetcher();
|
|
796
805
|
this._currentDataUnitBuilder = new AttachFetcherDataUnitFactory(this.getMessage.bind(this));
|
|
797
|
-
(
|
|
806
|
+
(_b = this._currentDataUnitBuilder) === null || _b === void 0 ? void 0 : _b.initLoaders(this._currentDataUnit, this._currentFetcher, async () => {
|
|
798
807
|
this.returnToGridMode();
|
|
799
808
|
await this._currentDataUnit.loadData(undefined, undefined, true, this.registerKey);
|
|
800
809
|
});
|
|
@@ -51,6 +51,7 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
51
51
|
this.configuratorSave = createEvent(this, "configuratorSave", 7);
|
|
52
52
|
this.configuratorCancel = createEvent(this, "configuratorCancel", 7);
|
|
53
53
|
this.formItemsReady = createEvent(this, "formItemsReady", 7);
|
|
54
|
+
this.viewModeChanged = createEvent(this, "viewModeChanged", 7);
|
|
54
55
|
this._keyDownHandler = async (event) => this.keyDownListener(event);
|
|
55
56
|
this._viewHistory = [];
|
|
56
57
|
this._customEditors = new Map();
|
|
@@ -79,6 +80,9 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
79
80
|
this.disablePersonalizedFilter = undefined;
|
|
80
81
|
this.autoLoad = undefined;
|
|
81
82
|
this.autoFocus = true;
|
|
83
|
+
this.enableGridInsert = false;
|
|
84
|
+
this.domainMessagesBuilder = undefined;
|
|
85
|
+
this.setCustomFormTitle = undefined;
|
|
82
86
|
this.customContainerId = `SNK-CRUD-CUSTOM-CONTAINER-${StringUtils.generateUUID()}`;
|
|
83
87
|
}
|
|
84
88
|
/**
|
|
@@ -187,6 +191,7 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
187
191
|
else if (viewMode === VIEW_MODE.FORM) {
|
|
188
192
|
this._guidesViewer.setFocus();
|
|
189
193
|
}
|
|
194
|
+
this.viewModeChanged.emit(viewMode);
|
|
190
195
|
}
|
|
191
196
|
openConfig(viewMode) {
|
|
192
197
|
this._snkConfigurator.close();
|
|
@@ -202,6 +207,8 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
202
207
|
ElementIDUtils.addIDInfo(this._element, null, dataInfo);
|
|
203
208
|
}
|
|
204
209
|
insertionModeHandler() {
|
|
210
|
+
if (this.enableGridInsert)
|
|
211
|
+
return;
|
|
205
212
|
this.gridToForm();
|
|
206
213
|
}
|
|
207
214
|
cancelHandler() {
|
|
@@ -250,6 +257,7 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
250
257
|
this._snkDataUnit = parent;
|
|
251
258
|
this._snkDataUnit.addEventListener("insertionMode", () => this.insertionModeHandler());
|
|
252
259
|
this._snkDataUnit.addEventListener("cancelEdition", () => this.cancelHandler());
|
|
260
|
+
this._snkDataUnit.domainMessagesBuilder = this.domainMessagesBuilder;
|
|
253
261
|
this._dataUnit = this._snkDataUnit.dataUnit;
|
|
254
262
|
this._dataState = this._snkDataUnit.dataState;
|
|
255
263
|
if (!this._dataUnit) {
|
|
@@ -415,7 +423,7 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
415
423
|
return;
|
|
416
424
|
}
|
|
417
425
|
this._snkDataUnit.ignoreSaveMessage = this._currentViewMode === VIEW_MODE.GRID;
|
|
418
|
-
return (h(Host, null, h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": "crud" }, h("stack-item", null, h("snk-grid", { ref: (ref) => this._snkGrid = ref, filterBarTitle: this.filterBarTitle, "data-element-id": "crud_grid", configName: this.configName, onGridDoubleClick: () => this.gridToForm(true), taskbarManager: this.taskbarManager, onActionClick: evt => this.executeAction(evt.detail), messagesBuilder: this.messagesBuilder, actionsList: this.actionsList, statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, presentationMode: this.presentationMode, recordsValidator: this.recordsValidator, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, canEdit: this._canEdit, resourceID: this._resourceID, disablePersonalizedFilter: this.disablePersonalizedFilter, gridLegacyConfigName: this.gridLegacyConfigName, filterBarLegacyConfigName: this.filterBarLegacyConfigName, autoLoad: this.autoLoad, autoFocus: this.autoFocus }, h("slot", { name: "GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkGridHeader" }), h("slot", { name: "SnkGridFooter" }), h("slot", { name: "SnkGridTaskBar" }))), h("stack-item", null, h("snk-guides-viewer", { ref: ref => this._guidesViewer = ref, entityPath: this._snkDataUnit.entityName, messagesBuilder: this.messagesBuilder, onExit: () => this.setViewMode(VIEW_MODE.GRID), dataState: this._dataState, dataUnit: this._dataUnit, actionsList: this.actionsList, taskbarManager: this.taskbarManager, configName: this.configName, onActionClick: evt => this.executeAction(evt.detail), presentationMode: this.presentationMode, "data-element-id": "crud_form", canEdit: this._canEdit, recordsValidator: this.recordsValidator, resourceID: this._resourceID, detailTaskbarCustomContainerId: this.customContainerId, formLegacyConfigName: this.formLegacyConfigName }, h("slot", { name: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkFormTaskBar" }))), h("stack-item", null, h("snk-attach", { registerKey: this.attachmentRegisterKey, messagesBuilder: this.messagesBuilder, entityName: this._snkDataUnit.entityName, onBack: this.backView.bind(this) })), h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this._currentViewMode, messagesBuilder: this.messagesBuilder, onConfigSelected: (evt) => this.setViewMode(evt.detail), onOpenConfig: (evt) => this.openConfig(evt.detail), showActionButtons: this.showActionButtons, onSave: evt => this.handleConfiguratorEvent(evt, 'SAVE'), onCancel: evt => this.handleConfiguratorEvent(evt, 'CANCEL'), resourceID: this._resourceID, customContainerId: this.customContainerId })), h("div", { id: `${this.customContainerId}` }, h("slot", { name: "SnkConfigContainerSlot" }), h("slot", { name: "DETAIL_GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" }))));
|
|
426
|
+
return (h(Host, null, h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": "crud" }, h("stack-item", null, h("snk-grid", { ref: (ref) => this._snkGrid = ref, filterBarTitle: this.filterBarTitle, "data-element-id": "crud_grid", configName: this.configName, onGridDoubleClick: () => this.gridToForm(true), taskbarManager: this.taskbarManager, onActionClick: evt => this.executeAction(evt.detail), messagesBuilder: this.messagesBuilder, actionsList: this.actionsList, statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, presentationMode: this.presentationMode, recordsValidator: this.recordsValidator, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, canEdit: this._canEdit, resourceID: this._resourceID, disablePersonalizedFilter: this.disablePersonalizedFilter, gridLegacyConfigName: this.gridLegacyConfigName, filterBarLegacyConfigName: this.filterBarLegacyConfigName, autoLoad: this.autoLoad, autoFocus: this.autoFocus, enableGridInsert: this.enableGridInsert }, h("slot", { name: "GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkGridHeader" }), h("slot", { name: "SnkGridFooter" }), h("slot", { name: "SnkGridTaskBar" }))), h("stack-item", null, h("snk-guides-viewer", { ref: ref => this._guidesViewer = ref, entityPath: this._snkDataUnit.entityName, messagesBuilder: this.messagesBuilder, onExit: () => this.setViewMode(VIEW_MODE.GRID), dataState: this._dataState, dataUnit: this._dataUnit, actionsList: this.actionsList, taskbarManager: this.taskbarManager, configName: this.configName, onActionClick: evt => this.executeAction(evt.detail), presentationMode: this.presentationMode, "data-element-id": "crud_form", canEdit: this._canEdit, recordsValidator: this.recordsValidator, resourceID: this._resourceID, detailTaskbarCustomContainerId: this.customContainerId, formLegacyConfigName: this.formLegacyConfigName, enableGridInsert: this.enableGridInsert, getCustomTitle: this.setCustomFormTitle }, h("slot", { name: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkFormTaskBar" }))), h("stack-item", null, h("snk-attach", { registerKey: this.attachmentRegisterKey, messagesBuilder: this.messagesBuilder, entityName: this._snkDataUnit.entityName, onBack: this.backView.bind(this) })), h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this._currentViewMode, messagesBuilder: this.messagesBuilder, onConfigSelected: (evt) => this.setViewMode(evt.detail), onOpenConfig: (evt) => this.openConfig(evt.detail), showActionButtons: this.showActionButtons, onSave: evt => this.handleConfiguratorEvent(evt, 'SAVE'), onCancel: evt => this.handleConfiguratorEvent(evt, 'CANCEL'), resourceID: this._resourceID, customContainerId: this.customContainerId })), h("div", { id: `${this.customContainerId}` }, h("slot", { name: "SnkConfigContainerSlot" }), h("slot", { name: "DETAIL_GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" }))));
|
|
419
427
|
}
|
|
420
428
|
get _element() { return this; }
|
|
421
429
|
static get watchers() { return {
|
|
@@ -441,6 +449,9 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
441
449
|
"disablePersonalizedFilter": [4, "disable-personalized-filter"],
|
|
442
450
|
"autoLoad": [4, "auto-load"],
|
|
443
451
|
"autoFocus": [4, "auto-focus"],
|
|
452
|
+
"enableGridInsert": [4, "enable-grid-insert"],
|
|
453
|
+
"domainMessagesBuilder": [1, "domain-messages-builder"],
|
|
454
|
+
"setCustomFormTitle": [16],
|
|
444
455
|
"_dataUnit": [32],
|
|
445
456
|
"_dataState": [32],
|
|
446
457
|
"attachmentRegisterKey": [32],
|
|
@@ -124,7 +124,7 @@ class ItemBuilder {
|
|
|
124
124
|
getExportToXLS(groupName) {
|
|
125
125
|
return {
|
|
126
126
|
id: DataExporterOption.EXPORT_TO_XLS,
|
|
127
|
-
label: `${this._getMessage("snkDataExporter.label.spreadsheet")} (.
|
|
127
|
+
label: `${this._getMessage("snkDataExporter.label.spreadsheet")} (.xls)`,
|
|
128
128
|
group: groupName
|
|
129
129
|
};
|
|
130
130
|
}
|
|
@@ -167,7 +167,7 @@ class ItemBuilder {
|
|
|
167
167
|
getExportPageToXLS() {
|
|
168
168
|
return {
|
|
169
169
|
id: DataExporterOption.EXPORT_PAGE_TO_XLS,
|
|
170
|
-
label: `${this._getMessage("snkDataExporter.label.spreadsheet")} (.
|
|
170
|
+
label: `${this._getMessage("snkDataExporter.label.spreadsheet")} (.xls)`
|
|
171
171
|
};
|
|
172
172
|
}
|
|
173
173
|
/**
|