@sankhyalabs/sankhyablocks 8.14.11 → 8.15.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/dist/cjs/{ConfigStorage-8009ecb2.js → ConfigStorage-302bbbd4.js} +24 -14
- package/dist/cjs/{ISave-d68ce3cd.js → ISave-e91b70a7.js} +1 -0
- package/dist/cjs/{SnkFormConfigManager-7d850fbc.js → SnkFormConfigManager-71c4768e.js} +1 -1
- package/dist/cjs/{SnkMessageBuilder-7293d0ad.js → SnkMessageBuilder-e7dcf408.js} +13 -0
- package/dist/cjs/{field-search-ca27041a.js → field-search-f56aa7d6.js} +29 -1
- package/dist/cjs/{index-0e663819.js → index-0922807b.js} +1 -0
- package/dist/cjs/index-f9e81701.js +2 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{dataunit-fetcher-d839c5d7.js → pesquisa-fetcher-7a08d110.js} +173 -6
- package/dist/cjs/sankhyablocks.cjs.js +1 -1
- package/dist/cjs/{snk-actions-button.cjs.entry.js → snk-actions-button_2.cjs.entry.js} +133 -4
- package/dist/cjs/snk-application.cjs.entry.js +65 -6
- package/dist/cjs/snk-attach.cjs.entry.js +389 -58
- package/dist/cjs/snk-crud.cjs.entry.js +8 -9
- package/dist/cjs/snk-data-exporter.cjs.entry.js +3 -3
- package/dist/cjs/{snk-data-unit-1bc69073.js → snk-data-unit-82c08a8c.js} +1 -1
- package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
- package/dist/cjs/snk-detail-view.cjs.entry.js +9 -10
- package/dist/cjs/snk-filter-bar.cjs.entry.js +6 -3
- package/dist/cjs/snk-filter-item.cjs.entry.js +47 -1
- package/dist/cjs/snk-filter-modal-item.cjs.entry.js +1 -1
- package/dist/cjs/snk-form.cjs.entry.js +2 -2
- package/dist/cjs/snk-grid-config.cjs.entry.js +1 -1
- package/dist/cjs/snk-grid.cjs.entry.js +51 -42
- package/dist/cjs/{snk-guides-viewer-88a7f880.js → snk-guides-viewer-546509df.js} +10 -21
- package/dist/cjs/snk-guides-viewer.cjs.entry.js +8 -9
- package/dist/cjs/snk-personalized-filter.cjs.entry.js +1 -1
- package/dist/cjs/snk-simple-crud.cjs.entry.js +20 -42
- package/dist/cjs/snk-taskbar.cjs.entry.js +2 -2
- package/dist/cjs/{taskbar-elements-39949c7a.js → taskbar-elements-01b85b99.js} +4 -4
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/components/snk-application/snk-application.js +65 -5
- package/dist/collection/components/snk-attach/snk-attach.js +188 -39
- package/dist/collection/components/snk-attach/structure/{crud-config-builder.js → builder/anexo-sistema-crud-config.builder.js} +1 -1
- package/dist/collection/components/snk-attach/structure/builder/attach-crud-config.builder.js +62 -0
- package/dist/collection/components/snk-attach/structure/{taskbar-builder.js → builder/taskbar-builder.js} +1 -1
- package/dist/collection/components/snk-attach/structure/fetcher/facade/fetcher.facade.js +1 -0
- package/dist/collection/components/snk-attach/structure/{data-unit-builder.js → fetcher/factory/anexo-sistema-data-unit.factory.js} +14 -11
- package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +111 -0
- package/dist/collection/components/snk-attach/structure/index.js +6 -3
- package/dist/collection/components/snk-crud/snk-crud.js +5 -5
- package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +6 -19
- package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +47 -1
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +5 -2
- package/dist/collection/components/snk-grid/snk-grid.js +59 -53
- package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +15 -36
- package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.css +6 -0
- package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +324 -0
- package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +3 -3
- package/dist/collection/components/snk-taskbar/snk-taskbar.js +1 -2
- package/dist/collection/components/snk-taskbar/subcomponents/field-search.js +28 -1
- package/dist/collection/lib/@types/index.js +1 -0
- package/dist/collection/lib/configs/ConfigStorage.js +24 -14
- package/dist/collection/lib/http/data-fetcher/fetchers/{attach-fetcher.js → AttachFetcher/anexo-sistema-fetcher.js} +16 -15
- package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/attach-fetcher.js +90 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/facade/attach-fetcher.facade.js +1 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/index.js +2 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/interfaces/IDelete.js +1 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/interfaces/IDownloadKey.js +1 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/ISave.js +1 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +11 -6
- package/dist/collection/lib/index.js +1 -1
- package/dist/collection/lib/message/resources/snk-attach.msg.js +13 -0
- package/dist/components/ConfigStorage.js +24 -14
- package/dist/components/SnkMessageBuilder.js +13 -0
- package/dist/components/dataunit-fetcher.js +11 -6
- package/dist/components/field-search.js +29 -2
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.js +1 -0
- package/dist/components/index2.js +1 -0
- package/dist/components/snk-actions-button2.js +1 -0
- package/dist/components/snk-application2.js +62 -2
- package/dist/components/snk-attach2.js +414 -71
- package/dist/components/snk-crud.js +69 -63
- package/dist/components/snk-detail-view2.js +95 -94
- package/dist/components/snk-filter-bar2.js +5 -2
- package/dist/components/snk-filter-item2.js +47 -1
- package/dist/components/snk-grid2.js +91 -76
- package/dist/components/snk-simple-crud2.js +31 -46
- package/dist/components/snk-taskbar2.js +15 -9
- package/dist/components/taskbar-actions-button.d.ts +11 -0
- package/dist/components/taskbar-actions-button.js +6 -0
- package/dist/components/taskbar-actions-button2.js +154 -0
- package/dist/esm/{ConfigStorage-1244b8b0.js → ConfigStorage-4151acc8.js} +24 -14
- package/dist/esm/{ISave-4412b20c.js → ISave-d8c8bc59.js} +1 -0
- package/dist/esm/{SnkFormConfigManager-9be0e7d4.js → SnkFormConfigManager-5c7d3771.js} +1 -1
- package/dist/esm/{SnkMessageBuilder-ca843d1b.js → SnkMessageBuilder-0fb796b9.js} +13 -0
- package/dist/esm/{field-search-c6938ee4.js → field-search-efbe307f.js} +29 -2
- package/dist/esm/{index-1564817d.js → index-0ece87a6.js} +1 -0
- package/dist/esm/index-a7d3d3f1.js +2 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{dataunit-fetcher-cf01a8f4.js → pesquisa-fetcher-d6ff9386.js} +173 -7
- package/dist/esm/sankhyablocks.js +1 -1
- package/dist/esm/{snk-actions-button.entry.js → snk-actions-button_2.entry.js} +134 -6
- package/dist/esm/snk-application.entry.js +65 -6
- package/dist/esm/snk-attach.entry.js +390 -59
- package/dist/esm/snk-crud.entry.js +8 -9
- package/dist/esm/snk-data-exporter.entry.js +3 -3
- package/dist/esm/{snk-data-unit-6208ebf0.js → snk-data-unit-5d201fb3.js} +1 -1
- package/dist/esm/snk-data-unit.entry.js +2 -2
- package/dist/esm/snk-detail-view.entry.js +9 -10
- package/dist/esm/snk-filter-bar.entry.js +6 -3
- package/dist/esm/snk-filter-item.entry.js +47 -1
- package/dist/esm/snk-filter-modal-item.entry.js +1 -1
- package/dist/esm/snk-form.entry.js +2 -2
- package/dist/esm/snk-grid-config.entry.js +1 -1
- package/dist/esm/snk-grid.entry.js +52 -43
- package/dist/esm/{snk-guides-viewer-fde509bf.js → snk-guides-viewer-4e56a2e0.js} +10 -21
- package/dist/esm/snk-guides-viewer.entry.js +8 -9
- package/dist/esm/snk-personalized-filter.entry.js +1 -1
- package/dist/esm/snk-simple-crud.entry.js +19 -41
- package/dist/esm/snk-taskbar.entry.js +2 -2
- package/dist/esm/{taskbar-elements-0a6b8b95.js → taskbar-elements-d4d0b424.js} +4 -4
- package/dist/sankhyablocks/{p-ff6064e7.js → p-05243555.js} +1 -1
- package/dist/sankhyablocks/{p-fd8814b9.entry.js → p-1d75d9f9.entry.js} +1 -1
- package/dist/sankhyablocks/{p-9e7d65a4.js → p-21749402.js} +1 -1
- package/dist/sankhyablocks/p-32460e98.entry.js +11 -0
- package/dist/sankhyablocks/p-374d03f6.js +1 -0
- package/dist/sankhyablocks/p-38289a55.js +1 -0
- package/dist/sankhyablocks/{p-35fe6e61.entry.js → p-3963b9c1.entry.js} +1 -1
- package/dist/sankhyablocks/p-42af1bbf.js +65 -0
- package/dist/sankhyablocks/{p-776ee8e3.js → p-573a07c5.js} +1 -1
- package/dist/sankhyablocks/{p-d4fb9642.entry.js → p-69efa80d.entry.js} +1 -1
- package/dist/sankhyablocks/{p-6977a26c.entry.js → p-71439fd9.entry.js} +1 -1
- package/dist/sankhyablocks/{p-11081798.entry.js → p-761ed32f.entry.js} +1 -1
- package/dist/sankhyablocks/p-7d8d7fe9.entry.js +1 -0
- package/dist/sankhyablocks/{p-f514913b.entry.js → p-7f3c7b09.entry.js} +1 -1
- package/dist/sankhyablocks/p-8c74258e.entry.js +1 -0
- package/dist/sankhyablocks/p-8f0488b8.entry.js +1 -0
- package/dist/sankhyablocks/p-9ebcfeb6.entry.js +1 -0
- package/dist/sankhyablocks/p-aa95fb2c.js +56 -0
- package/dist/sankhyablocks/p-b05ab13d.entry.js +1 -0
- package/dist/sankhyablocks/p-c2137023.entry.js +1 -0
- package/dist/sankhyablocks/p-c2495304.js +1 -0
- package/dist/sankhyablocks/p-c4874327.entry.js +1 -0
- package/dist/sankhyablocks/p-d82f6eda.entry.js +1 -0
- package/dist/sankhyablocks/p-dcb6aad1.entry.js +1 -0
- package/dist/sankhyablocks/{p-3520c088.entry.js → p-e0fd9555.entry.js} +1 -1
- package/dist/sankhyablocks/p-e8812d8a.js +1 -0
- package/dist/sankhyablocks/{p-32f0935f.js → p-f3d1c48e.js} +1 -1
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-actions-button/subcomponents/snk-actions-form.d.ts +1 -1
- package/dist/types/components/snk-application/snk-application.d.ts +4 -1
- package/dist/types/components/snk-attach/{structure/crud-config-builder.d.ts → interfaces/ICrudConfig.d.ts} +1 -2
- package/dist/types/components/snk-attach/interfaces/TFetcherType.d.ts +1 -0
- package/dist/types/components/snk-attach/snk-attach.d.ts +27 -6
- package/dist/types/components/snk-attach/structure/builder/anexo-sistema-crud-config.builder.d.ts +2 -0
- package/dist/types/components/snk-attach/structure/builder/attach-crud-config.builder.d.ts +31 -0
- package/dist/types/components/snk-attach/structure/{taskbar-builder.d.ts → builder/taskbar-builder.d.ts} +1 -1
- package/dist/types/components/snk-attach/structure/fetcher/facade/fetcher.facade.d.ts +11 -0
- package/dist/types/components/snk-attach/structure/fetcher/factory/anexo-sistema-data-unit.factory.d.ts +17 -0
- package/dist/types/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.d.ts +15 -0
- package/dist/types/components/snk-attach/structure/index.d.ts +6 -3
- package/dist/types/components/snk-crud/snk-crud.d.ts +1 -1
- package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +1 -0
- package/dist/types/components/snk-grid/snk-grid.d.ts +5 -4
- package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +6 -5
- package/dist/types/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.d.ts +60 -0
- package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +16 -0
- package/dist/types/components/snk-taskbar/subcomponents/field-search.d.ts +2 -0
- package/dist/types/components.d.ts +111 -11
- package/dist/types/lib/@types/index.d.ts +2 -1
- package/dist/types/lib/configs/ConfigStorage.d.ts +4 -0
- package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -1
- package/dist/types/lib/http/data-fetcher/fetchers/{attach-fetcher.d.ts → AttachFetcher/anexo-sistema-fetcher.d.ts} +3 -2
- package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/attach-fetcher.d.ts +11 -0
- package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/facade/attach-fetcher.facade.d.ts +8 -0
- package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/index.d.ts +3 -0
- package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/ISave.d.ts +2 -1
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +1 -0
- package/dist/types/lib/index.d.ts +1 -1
- package/package.json +8 -6
- package/react/components.d.ts +1 -0
- package/react/components.js +1 -0
- package/react/components.js.map +1 -1
- package/dist/cjs/pesquisa-fetcher-ef050a47.js +0 -167
- package/dist/esm/pesquisa-fetcher-dd3ca0a5.js +0 -165
- package/dist/sankhyablocks/p-08ced1fd.entry.js +0 -1
- package/dist/sankhyablocks/p-3160fa64.js +0 -60
- package/dist/sankhyablocks/p-34774923.entry.js +0 -1
- package/dist/sankhyablocks/p-38ab8a3b.entry.js +0 -1
- package/dist/sankhyablocks/p-3ab540cc.entry.js +0 -11
- package/dist/sankhyablocks/p-3ecd72a4.js +0 -1
- package/dist/sankhyablocks/p-4775a293.entry.js +0 -1
- package/dist/sankhyablocks/p-5534e08c.js +0 -1
- package/dist/sankhyablocks/p-585294ee.js +0 -56
- package/dist/sankhyablocks/p-6ea96bb1.entry.js +0 -1
- package/dist/sankhyablocks/p-936addf1.js +0 -1
- package/dist/sankhyablocks/p-c53926eb.entry.js +0 -1
- package/dist/sankhyablocks/p-c9841939.js +0 -1
- package/dist/sankhyablocks/p-cfbebb49.entry.js +0 -1
- package/dist/sankhyablocks/p-d2923a2a.entry.js +0 -1
- package/dist/sankhyablocks/p-d9bb09b3.js +0 -6
- package/dist/sankhyablocks/p-f2056f66.entry.js +0 -1
- package/dist/types/components/snk-attach/structure/data-unit-builder.d.ts +0 -15
- /package/dist/collection/{lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDelete.js → components/snk-attach/interfaces/ICrudConfig.js} +0 -0
- /package/dist/collection/{lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDownloadKey.js → components/snk-attach/interfaces/TFetcherType.js} +0 -0
- /package/dist/collection/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/index.js +0 -0
- /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/IDelete.d.ts +0 -0
- /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/IDownloadKey.d.ts +0 -0
- /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/index.d.ts +0 -0
@@ -86,7 +86,7 @@ export const buildElem = (element, className, dataElementId, getTitle, action, i
|
|
86
86
|
case TaskbarElement.CONFIGURATOR:
|
87
87
|
return iconButton("settings-inverted", element, className, dataElementId, title, action, isEnabled);
|
88
88
|
case TaskbarElement.MORE_OPTIONS:
|
89
|
-
return actionButton(element,
|
89
|
+
return actionButton(element, dataElementId, title, isEnabled, actions, action);
|
90
90
|
case TaskbarElement.DIVIDER:
|
91
91
|
return h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-horizontal--medium", "data-taskbar-divider": true });
|
92
92
|
case TaskbarElement.DATA_EXPORTER:
|
@@ -107,8 +107,8 @@ function iconButton(iconName, name, className, dataElementId, title, action, isE
|
|
107
107
|
function iconTextButton(iconName, name, className, dataElementId, text, title, action, isEnabled) {
|
108
108
|
return h("ez-button", { key: dataElementId, title: title, label: text, size: "small", class: className, "data-element-id": dataElementId, enabled: isEnabled(name), onClick: () => action(name) }, h("ez-icon", { class: "ez-padding-right--small", slot: "leftIcon", iconName: iconName }));
|
109
109
|
}
|
110
|
-
function actionButton(element,
|
110
|
+
function actionButton(element, dataElementId, title, isEnabled, actions, action) {
|
111
111
|
return actions && actions.length > 0
|
112
|
-
? h("
|
112
|
+
? h("taskbar-actions-button", { key: dataElementId, title: title, "data-element-id": dataElementId, enabled: isEnabled(element), actions: actions, onTaskbarActionSelected: (evt) => action(evt.detail.value) })
|
113
113
|
: undefined;
|
114
114
|
}
|
@@ -472,7 +472,7 @@ export class SnkTaskbar {
|
|
472
472
|
"mutable": true,
|
473
473
|
"complexType": {
|
474
474
|
"original": "PresentationMode",
|
475
|
-
"resolved": "PresentationMode.PRIMARY | PresentationMode.SECONDARY",
|
475
|
+
"resolved": "PresentationMode.PRIMARY | PresentationMode.SECONDARY | PresentationMode.SINGLE_TASKBAR",
|
476
476
|
"references": {
|
477
477
|
"PresentationMode": {
|
478
478
|
"location": "import",
|
@@ -546,4 +546,3 @@ export class SnkTaskbar {
|
|
546
546
|
}];
|
547
547
|
}
|
548
548
|
}
|
549
|
-
;
|
@@ -1,4 +1,31 @@
|
|
1
1
|
import { h } from '@stencil/core';
|
2
|
+
const EVENT_NAME = 'taskbarActionsOpened';
|
2
3
|
export const buildFieldSearch = (action, optionLoader, onSelectField) => {
|
3
|
-
return h("ez-search", { class:
|
4
|
+
return h("ez-search", { class: 'ez-actions-button--bottom-padding', canShowError: 'false', showSelectedValue: 'false', showOptionValue: 'false', suppressEmptyOption: 'true', label: action.label, value: '', optionLoader: optionLoader, onEzChange: (evt) => onSelectField(evt.detail), ignoreLimitCharsToSearch: true });
|
5
|
+
};
|
6
|
+
async function focusOnFieldSerch(field) {
|
7
|
+
requestAnimationFrame(async () => {
|
8
|
+
if (field) {
|
9
|
+
const realElement = field['$elm$'];
|
10
|
+
if (!realElement)
|
11
|
+
return;
|
12
|
+
realElement.value = null;
|
13
|
+
await realElement.setFocus();
|
14
|
+
}
|
15
|
+
});
|
16
|
+
}
|
17
|
+
export const openFieldSearch = async (moreOptions, field) => {
|
18
|
+
if (!moreOptions) {
|
19
|
+
return;
|
20
|
+
}
|
21
|
+
if ((await moreOptions.isOpened())) {
|
22
|
+
await focusOnFieldSerch(field);
|
23
|
+
return;
|
24
|
+
}
|
25
|
+
const eventHandler = () => {
|
26
|
+
focusOnFieldSerch(field);
|
27
|
+
moreOptions.removeEventListener(EVENT_NAME, eventHandler);
|
28
|
+
};
|
29
|
+
moreOptions.addEventListener(EVENT_NAME, eventHandler);
|
30
|
+
await moreOptions.showActions();
|
4
31
|
};
|
@@ -2,6 +2,7 @@ export var PresentationMode;
|
|
2
2
|
(function (PresentationMode) {
|
3
3
|
PresentationMode["PRIMARY"] = "primary";
|
4
4
|
PresentationMode["SECONDARY"] = "secondary";
|
5
|
+
PresentationMode["SINGLE_TASKBAR"] = "singleTaskbar";
|
5
6
|
})(PresentationMode || (PresentationMode = {}));
|
6
7
|
export var DataExporterOption;
|
7
8
|
(function (DataExporterOption) {
|
@@ -2,11 +2,12 @@ import { FormConfigFetcher } from "../http/data-fetcher/fetchers/form-config-fet
|
|
2
2
|
import GridConfigFetcher from "../http/data-fetcher/fetchers/grid-config-fetcher";
|
3
3
|
import FilterBarConfigFetcher from "../http/data-fetcher/fetchers/filter-bar-config-fetcher";
|
4
4
|
import PersonalizedFilterFetcher from "../http/data-fetcher/fetchers/personalized-filter-fetcher";
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
5
|
+
var CONFIG_SOURCE;
|
6
|
+
(function (CONFIG_SOURCE) {
|
7
|
+
CONFIG_SOURCE["form"] = "form";
|
8
|
+
CONFIG_SOURCE["grid"] = "grid";
|
9
|
+
CONFIG_SOURCE["filterBar"] = "filterBar";
|
10
|
+
})(CONFIG_SOURCE || (CONFIG_SOURCE = {}));
|
10
11
|
export class ConfigStorage {
|
11
12
|
static preload(resourceID, configName) {
|
12
13
|
ConfigStorage.loadFormConfig(configName, resourceID);
|
@@ -34,13 +35,11 @@ export class ConfigStorage {
|
|
34
35
|
return ConfigStorage.configById.get(cacheID);
|
35
36
|
}
|
36
37
|
static async saveFilterBarConfig(config, name, resourceID) {
|
37
|
-
|
38
|
-
this.configById.delete(cacheID);
|
38
|
+
await this.deleteFilterBarConfigCache(name, resourceID);
|
39
39
|
return this.filterBarConfigFetcher.saveConfig(config, resourceID, name);
|
40
40
|
}
|
41
41
|
static async saveFormConfig(config, name, resourceID) {
|
42
|
-
|
43
|
-
this.configById.delete(cacheID);
|
42
|
+
await this.deleteFormConfigCache(name, resourceID);
|
44
43
|
return this.formConfigFetcher.saveConfig(config, name, resourceID);
|
45
44
|
}
|
46
45
|
static async saveCardState(config, name, resourceID) {
|
@@ -50,18 +49,16 @@ export class ConfigStorage {
|
|
50
49
|
if (config == undefined) {
|
51
50
|
return;
|
52
51
|
}
|
53
|
-
|
54
|
-
this.configById.delete(cacheID);
|
52
|
+
await this.deleteGridConfigCache(name, resourceID);
|
55
53
|
return this.gridConfigFetcher.saveConfig(config, name, resourceID);
|
56
54
|
}
|
57
55
|
static async loadPersonalizedFilter(filterId, resourceID, configName) {
|
58
56
|
return this.personalizedFilterFetcher.loadPersonalizedFilter(resourceID, filterId, configName);
|
59
57
|
}
|
60
58
|
static async savePersonalizedFilter(personalizedFilter, resourceID, configName) {
|
61
|
-
//Ao criar ou alterar um filtro personalizado,
|
59
|
+
//Ao criar ou alterar um filtro personalizado,
|
62
60
|
//precisamos remover o cache do status da filterbar.
|
63
|
-
|
64
|
-
this.configById.delete(cacheID);
|
61
|
+
await this.deleteFilterBarConfigCache(configName, resourceID);
|
65
62
|
return this.personalizedFilterFetcher.savePersonalizedFilter(personalizedFilter, resourceID, configName);
|
66
63
|
}
|
67
64
|
static async removePersonalizedFilter(personalizedFilter, resourceID, configName) {
|
@@ -70,6 +67,19 @@ export class ConfigStorage {
|
|
70
67
|
static async validatePersonalizedFilter(dataUnitName, expression) {
|
71
68
|
return this.personalizedFilterFetcher.validatePersonalizedFilter(dataUnitName, expression);
|
72
69
|
}
|
70
|
+
static async deleteGridConfigCache(name, resourceID) {
|
71
|
+
await this.deleteConfigCache(name, resourceID, CONFIG_SOURCE.grid);
|
72
|
+
}
|
73
|
+
static async deleteFormConfigCache(name, resourceID) {
|
74
|
+
await this.deleteConfigCache(name, resourceID, CONFIG_SOURCE.form);
|
75
|
+
}
|
76
|
+
static async deleteFilterBarConfigCache(name, resourceID) {
|
77
|
+
await this.deleteConfigCache(name, resourceID, CONFIG_SOURCE.filterBar);
|
78
|
+
}
|
79
|
+
static async deleteConfigCache(name, resourceID, source) {
|
80
|
+
const cacheID = ConfigStorage.buildCacheID(name, source, resourceID);
|
81
|
+
this.configById.delete(cacheID);
|
82
|
+
}
|
73
83
|
static buildCacheID(name, source, resourceID) {
|
74
84
|
if (name == undefined) {
|
75
85
|
return `req_${source}_${resourceID}`;
|
@@ -1,6 +1,11 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
3
|
-
|
1
|
+
import { SaveErrorsEnum } from "./interfaces";
|
2
|
+
import { DataFetcher } from "../../DataFetcher";
|
3
|
+
const SERVICE = {
|
4
|
+
save: "AnexoSistemaSP.salvar",
|
5
|
+
delete: "AnexoSistemaSP.excluir",
|
6
|
+
download: "AnexoSistemaSP.baixar",
|
7
|
+
};
|
8
|
+
export class AnexoSistemaFetcher {
|
4
9
|
constructor(entityName, registerKey, dataUnitName) {
|
5
10
|
var _a;
|
6
11
|
this.entityName = entityName;
|
@@ -18,14 +23,13 @@ export class AttachFetcher {
|
|
18
23
|
}
|
19
24
|
async save(change) {
|
20
25
|
var _a, _b;
|
21
|
-
const serviceName = "AnexoSistemaSP.salvar";
|
22
26
|
let { updatingFields: fields } = change;
|
23
27
|
fields = Object.assign(Object.assign({}, fields), { NOMEARQUIVO: (_a = fields.NOMEARQUIVO) === null || _a === void 0 ? void 0 : _a[0] });
|
24
28
|
try {
|
25
29
|
this.validateFields(fields);
|
26
30
|
const fileInfo = !fields.LINK ? fields.NOMEARQUIVO : null;
|
27
31
|
const reqBody = {
|
28
|
-
serviceName,
|
32
|
+
serviceName: SERVICE.save,
|
29
33
|
requestBody: {
|
30
34
|
params: {
|
31
35
|
resourceID: this.resourceID,
|
@@ -41,7 +45,7 @@ export class AttachFetcher {
|
|
41
45
|
}
|
42
46
|
}
|
43
47
|
};
|
44
|
-
const result = await DataFetcher.get().callServiceBroker(
|
48
|
+
const result = await DataFetcher.get().callServiceBroker(SERVICE.save, JSON.stringify(reqBody));
|
45
49
|
return Promise.resolve([Object.assign(Object.assign(Object.assign({}, result), fields), { ARQUIVOOULINK: !!fields.LINK ? fields.LINK : fileInfo === null || fileInfo === void 0 ? void 0 : fileInfo.name, __owner__dataunit__name__: this.dataUnitName })]);
|
46
50
|
}
|
47
51
|
catch (error) {
|
@@ -50,7 +54,6 @@ export class AttachFetcher {
|
|
50
54
|
}
|
51
55
|
async edit(change) {
|
52
56
|
var _a, _b, _c;
|
53
|
-
const serviceName = "AnexoSistemaSP.salvar";
|
54
57
|
let { updatingFields: fields, record } = change;
|
55
58
|
const getFieldValue = (fieldValue) => {
|
56
59
|
if (fields[fieldValue] !== undefined)
|
@@ -64,7 +67,7 @@ export class AttachFetcher {
|
|
64
67
|
try {
|
65
68
|
this.validateFields(fields);
|
66
69
|
const reqBody = {
|
67
|
-
serviceName,
|
70
|
+
serviceName: SERVICE.save,
|
68
71
|
requestBody: {
|
69
72
|
params: {
|
70
73
|
resourceID: this.resourceID,
|
@@ -82,7 +85,7 @@ export class AttachFetcher {
|
|
82
85
|
}
|
83
86
|
}
|
84
87
|
};
|
85
|
-
const result = await DataFetcher.get().callServiceBroker(
|
88
|
+
const result = await DataFetcher.get().callServiceBroker(SERVICE.save, JSON.stringify(reqBody));
|
86
89
|
return Promise.resolve([Object.assign(Object.assign(Object.assign({}, result), fields), { ARQUIVOOULINK: !!fields.LINK ? fields.LINK : fileInfo === null || fileInfo === void 0 ? void 0 : fileInfo.name, __owner__dataunit__name__: this.dataUnitName })]);
|
87
90
|
}
|
88
91
|
catch (error) {
|
@@ -91,10 +94,9 @@ export class AttachFetcher {
|
|
91
94
|
}
|
92
95
|
delete(record) {
|
93
96
|
var _a;
|
94
|
-
const serviceName = "AnexoSistemaSP.excluir";
|
95
97
|
const attachField = ((_a = record.NOMEARQUIVO) === null || _a === void 0 ? void 0 : _a[0]) || {};
|
96
98
|
const reqBody = {
|
97
|
-
serviceName,
|
99
|
+
serviceName: SERVICE.delete,
|
98
100
|
requestBody: {
|
99
101
|
paramsDelete: {
|
100
102
|
keyAttach: record.CHAVEARQUIVO,
|
@@ -106,17 +108,16 @@ export class AttachFetcher {
|
|
106
108
|
}
|
107
109
|
};
|
108
110
|
return new Promise((resolve, reject) => {
|
109
|
-
DataFetcher.get().callServiceBroker(
|
111
|
+
DataFetcher.get().callServiceBroker(SERVICE.delete, JSON.stringify(reqBody))
|
110
112
|
.then(result => resolve(result))
|
111
113
|
.catch(error => reject(error));
|
112
114
|
});
|
113
115
|
}
|
114
116
|
getDownloadKey(record) {
|
115
117
|
var _a;
|
116
|
-
const serviceName = "AnexoSistemaSP.baixar";
|
117
118
|
const attachField = ((_a = record.NOMEARQUIVO) === null || _a === void 0 ? void 0 : _a[0]) || {};
|
118
119
|
const reqBody = {
|
119
|
-
serviceName,
|
120
|
+
serviceName: SERVICE.download,
|
120
121
|
requestBody: {
|
121
122
|
paramsDown: {
|
122
123
|
nameAttach: attachField === null || attachField === void 0 ? void 0 : attachField.name,
|
@@ -128,7 +129,7 @@ export class AttachFetcher {
|
|
128
129
|
}
|
129
130
|
};
|
130
131
|
return new Promise((resolve, reject) => {
|
131
|
-
DataFetcher.get().callServiceBroker(
|
132
|
+
DataFetcher.get().callServiceBroker(SERVICE.download, JSON.stringify(reqBody))
|
132
133
|
.then(result => resolve(result))
|
133
134
|
.catch(error => reject(error));
|
134
135
|
});
|
@@ -0,0 +1,90 @@
|
|
1
|
+
import { SaveErrorsEnum } from "./interfaces";
|
2
|
+
import { DataFetcher } from "../../DataFetcher";
|
3
|
+
const SERVICE = {
|
4
|
+
save: "Attach.save",
|
5
|
+
delete: "Attach.remove",
|
6
|
+
view: "Attach.view",
|
7
|
+
repository: "RepositorioArquivoSP.abreArquivo"
|
8
|
+
};
|
9
|
+
export class AttachFetcher {
|
10
|
+
constructor(dataUnitName) {
|
11
|
+
this.dataUnitName = dataUnitName;
|
12
|
+
}
|
13
|
+
async save({ dataUnit: dataUnitName, record, updatingFields: fields, operation }) {
|
14
|
+
var _a, _b;
|
15
|
+
const isInsert = operation == "INSERT";
|
16
|
+
const dataBody = isInsert ? fields : record;
|
17
|
+
if (!isInsert && (fields === null || fields === void 0 ? void 0 : fields.DESCRICAO) && (fields === null || fields === void 0 ? void 0 : fields.DESCRICAO) !== (record === null || record === void 0 ? void 0 : record.DESCRICAO)) {
|
18
|
+
throw new Error(SaveErrorsEnum.DESCRIPTION_CANNOT_BE_CHANGED);
|
19
|
+
}
|
20
|
+
const reqBody = {
|
21
|
+
"anexo": {
|
22
|
+
"codata": isInsert ? fields === null || fields === void 0 ? void 0 : fields.REGISTER_KEY : record === null || record === void 0 ? void 0 : record.CODATA,
|
23
|
+
"sequencia": (dataBody === null || dataBody === void 0 ? void 0 : dataBody.SEQUENCIA) || "0",
|
24
|
+
"tipo": (dataBody === null || dataBody === void 0 ? void 0 : dataBody.TIPO) || "N",
|
25
|
+
"descricao": dataBody === null || dataBody === void 0 ? void 0 : dataBody.DESCRICAO,
|
26
|
+
"arquivo": (_b = (_a = fields.CAMINHO_ARQUIVO) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.name,
|
27
|
+
"ehInclusao": isInsert ? "S" : "N",
|
28
|
+
"ehArquivoRepositorio": "N"
|
29
|
+
}
|
30
|
+
};
|
31
|
+
return new Promise((resolve, reject) => {
|
32
|
+
DataFetcher.get().callServiceBroker(SERVICE.save, JSON.stringify(reqBody))
|
33
|
+
.then(result => {
|
34
|
+
var _a;
|
35
|
+
return resolve([Object.assign(Object.assign(Object.assign({}, result), fields), { __owner__dataunit__name__: (_a = this.dataUnitName) !== null && _a !== void 0 ? _a : dataUnitName })]);
|
36
|
+
})
|
37
|
+
.catch(error => reject(error));
|
38
|
+
});
|
39
|
+
}
|
40
|
+
async edit(change) {
|
41
|
+
throw new Error("Method not implemented.");
|
42
|
+
}
|
43
|
+
async delete(record) {
|
44
|
+
var request = {
|
45
|
+
anexo: {
|
46
|
+
codata: record.CODATA,
|
47
|
+
tipo: record.TIPO,
|
48
|
+
descricao: record.DESCRICAO,
|
49
|
+
}
|
50
|
+
};
|
51
|
+
const result = await DataFetcher.get().callServiceBroker(SERVICE.delete, JSON.stringify(request));
|
52
|
+
return Promise.resolve(result);
|
53
|
+
}
|
54
|
+
async getDownloadKey(record) {
|
55
|
+
var _a, _b, _c;
|
56
|
+
if (record.EHARQUIVOREPOSITORIO == 'S') {
|
57
|
+
const request = {
|
58
|
+
config: {
|
59
|
+
path: record.ARQUIVO,
|
60
|
+
tipoconteudo: record.TIPOCONTEUDO
|
61
|
+
}
|
62
|
+
};
|
63
|
+
const result = await DataFetcher.get().callServiceBroker(SERVICE.repository, JSON.stringify(request));
|
64
|
+
return Promise.resolve({
|
65
|
+
chave: {
|
66
|
+
valor: (_b = (_a = result === null || result === void 0 ? void 0 : result.responseBody) === null || _a === void 0 ? void 0 : _a.chave) === null || _b === void 0 ? void 0 : _b.valor
|
67
|
+
}
|
68
|
+
});
|
69
|
+
}
|
70
|
+
const criteria = {
|
71
|
+
anexo: {
|
72
|
+
codata: record.CODATA,
|
73
|
+
codemp: record.CODEMP,
|
74
|
+
sequencia: record.SEQUENCIA,
|
75
|
+
tipo: record.TIPO,
|
76
|
+
descricao: record.DESCRICAO,
|
77
|
+
tipoConteudo: record.TIPOCONTEUDO
|
78
|
+
}
|
79
|
+
};
|
80
|
+
const result = await DataFetcher.get().callServiceBroker(SERVICE.view, JSON.stringify(criteria));
|
81
|
+
if (result === null || result === void 0 ? void 0 : result.chaveAnexo) {
|
82
|
+
return Promise.resolve({
|
83
|
+
chave: {
|
84
|
+
valor: (_c = result === null || result === void 0 ? void 0 : result.chaveAnexo) === null || _c === void 0 ? void 0 : _c.idChaveAnexo
|
85
|
+
}
|
86
|
+
});
|
87
|
+
}
|
88
|
+
return Promise.reject(new Error("File not found."));
|
89
|
+
}
|
90
|
+
}
|
package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/facade/attach-fetcher.facade.js
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/interfaces/IDownloadKey.js
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -3,4 +3,5 @@ export var SaveErrorsEnum;
|
|
3
3
|
SaveErrorsEnum["LINK_AND_FILE_AT_THE_SAME_TIME"] = "LINK_AND_FILE_AT_THE_SAME_TIME";
|
4
4
|
SaveErrorsEnum["ANY_LINK_OR_FILE_FILLED"] = "ANY_LINK_OR_FILE_FILLED";
|
5
5
|
SaveErrorsEnum["UNKNOWN"] = "UNKNOWN";
|
6
|
+
SaveErrorsEnum["DESCRIPTION_CANNOT_BE_CHANGED"] = "DESCRIPTION_CANNOT_BE_CHANGED";
|
6
7
|
})(SaveErrorsEnum || (SaveErrorsEnum = {}));
|
package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js
CHANGED
@@ -51,13 +51,21 @@ export class DatasetStrategy {
|
|
51
51
|
getFieldsList(dataUnit) {
|
52
52
|
let fields = ["__record__id__", "__record__label__"];
|
53
53
|
dataUnit.metadata.fields.forEach((descriptor) => {
|
54
|
-
if (descriptor.standAlone)
|
54
|
+
if (descriptor.standAlone)
|
55
55
|
return;
|
56
|
-
}
|
57
56
|
fields = fields.concat(this.getFieldNames(descriptor));
|
58
57
|
});
|
59
58
|
return fields;
|
60
59
|
}
|
60
|
+
getStandAloneFieldsList(dataUnit) {
|
61
|
+
let fields = {};
|
62
|
+
dataUnit.metadata.fields.forEach((currentField) => {
|
63
|
+
if (!currentField.standAlone)
|
64
|
+
return;
|
65
|
+
fields = Object.assign(Object.assign({}, fields), { [currentField.name]: { fieldType: currentField.dataType, userType: currentField.userInterface } });
|
66
|
+
});
|
67
|
+
return fields;
|
68
|
+
}
|
61
69
|
getFieldNames(descriptor) {
|
62
70
|
const descriptionField = this.getSearchDescriptionField(descriptor);
|
63
71
|
if (descriptionField == undefined) {
|
@@ -80,10 +88,7 @@ export class DatasetStrategy {
|
|
80
88
|
totalRecordsCount: loadingInfo.count,
|
81
89
|
pagerID: loadingInfo.pagerId,
|
82
90
|
standAlone: false,
|
83
|
-
standAloneFieldsMD: {
|
84
|
-
__record__id__: { "fieldType": "S", "userType": "P" },
|
85
|
-
__record__label__: { "fieldType": "S", "userType": "P" }
|
86
|
-
},
|
91
|
+
standAloneFieldsMD: Object.assign({ __record__id__: { "fieldType": "S", "userType": "P" }, __record__label__: { "fieldType": "S", "userType": "P" } }, this.getStandAloneFieldsList(dataUnit)),
|
87
92
|
tryJoinedFields: true,
|
88
93
|
parallelLoader: useParallelLoader,
|
89
94
|
crudListener: `br.com.sankhya.bff.${this.getModuleName()}.BFFDataUnitDatasetAdapter`,
|
@@ -4,7 +4,7 @@ export { CrudUtils } from './utils/CrudUtils';
|
|
4
4
|
export { PresentationMode } from "./@types";
|
5
5
|
export { TotalsFetcher } from './http/data-fetcher/fetchers/totals-fetcher';
|
6
6
|
export { default as ApplicationConfigFetcher } from './http/data-fetcher/fetchers/application-config-fetcher';
|
7
|
-
export { AttachFetcher } from './http/data-fetcher/fetchers/
|
7
|
+
export { AttachFetcher, AnexoSistemaFetcher } from './http/data-fetcher/fetchers/AttachFetcher';
|
8
8
|
export { default as DataUnitFetcher } from './http/data-fetcher/fetchers/data-unit/dataunit-fetcher';
|
9
9
|
export { default as FilterBarConfigFetcher } from './http/data-fetcher/fetchers/filter-bar-config-fetcher';
|
10
10
|
export { FormConfigFetcher } from './http/data-fetcher/fetchers/form-config-fetcher';
|
@@ -17,11 +17,24 @@ export const snkAttachMessages = {
|
|
17
17
|
anyLinkOrFileFilled: {
|
18
18
|
title: "Atenção",
|
19
19
|
message: `É necessário preencher o campo "Link" ou anexar um arquivo.`
|
20
|
+
},
|
21
|
+
descriptionCannotBeChanged: {
|
22
|
+
title: "Atenção",
|
23
|
+
message: "O campo 'Descrição' não pode ser alterado."
|
20
24
|
}
|
21
25
|
},
|
22
26
|
taskbar: {
|
23
27
|
titleDownload: "Fazer download",
|
24
28
|
titleLink: "Abrir link",
|
29
|
+
},
|
30
|
+
attachMetadata: {
|
31
|
+
lblCode: "Código",
|
32
|
+
lblDescription: "Descrição",
|
33
|
+
lblFileOrLink: "Arquivo / Link",
|
34
|
+
lblUser: "Usuário",
|
35
|
+
lblDate: "Data de alteração",
|
36
|
+
lblFile: "Arquivo",
|
37
|
+
lblSubTitle: "Clique para selecionar um arquivo",
|
25
38
|
}
|
26
39
|
};
|
27
40
|
export default snkAttachMessages;
|
@@ -351,11 +351,12 @@ class PersonalizedFilterFetcher {
|
|
351
351
|
}
|
352
352
|
}
|
353
353
|
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
354
|
+
var CONFIG_SOURCE;
|
355
|
+
(function (CONFIG_SOURCE) {
|
356
|
+
CONFIG_SOURCE["form"] = "form";
|
357
|
+
CONFIG_SOURCE["grid"] = "grid";
|
358
|
+
CONFIG_SOURCE["filterBar"] = "filterBar";
|
359
|
+
})(CONFIG_SOURCE || (CONFIG_SOURCE = {}));
|
359
360
|
class ConfigStorage {
|
360
361
|
static preload(resourceID, configName) {
|
361
362
|
ConfigStorage.loadFormConfig(configName, resourceID);
|
@@ -383,13 +384,11 @@ class ConfigStorage {
|
|
383
384
|
return ConfigStorage.configById.get(cacheID);
|
384
385
|
}
|
385
386
|
static async saveFilterBarConfig(config, name, resourceID) {
|
386
|
-
|
387
|
-
this.configById.delete(cacheID);
|
387
|
+
await this.deleteFilterBarConfigCache(name, resourceID);
|
388
388
|
return this.filterBarConfigFetcher.saveConfig(config, resourceID, name);
|
389
389
|
}
|
390
390
|
static async saveFormConfig(config, name, resourceID) {
|
391
|
-
|
392
|
-
this.configById.delete(cacheID);
|
391
|
+
await this.deleteFormConfigCache(name, resourceID);
|
393
392
|
return this.formConfigFetcher.saveConfig(config, name, resourceID);
|
394
393
|
}
|
395
394
|
static async saveCardState(config, name, resourceID) {
|
@@ -399,18 +398,16 @@ class ConfigStorage {
|
|
399
398
|
if (config == undefined) {
|
400
399
|
return;
|
401
400
|
}
|
402
|
-
|
403
|
-
this.configById.delete(cacheID);
|
401
|
+
await this.deleteGridConfigCache(name, resourceID);
|
404
402
|
return this.gridConfigFetcher.saveConfig(config, name, resourceID);
|
405
403
|
}
|
406
404
|
static async loadPersonalizedFilter(filterId, resourceID, configName) {
|
407
405
|
return this.personalizedFilterFetcher.loadPersonalizedFilter(resourceID, filterId, configName);
|
408
406
|
}
|
409
407
|
static async savePersonalizedFilter(personalizedFilter, resourceID, configName) {
|
410
|
-
//Ao criar ou alterar um filtro personalizado,
|
408
|
+
//Ao criar ou alterar um filtro personalizado,
|
411
409
|
//precisamos remover o cache do status da filterbar.
|
412
|
-
|
413
|
-
this.configById.delete(cacheID);
|
410
|
+
await this.deleteFilterBarConfigCache(configName, resourceID);
|
414
411
|
return this.personalizedFilterFetcher.savePersonalizedFilter(personalizedFilter, resourceID, configName);
|
415
412
|
}
|
416
413
|
static async removePersonalizedFilter(personalizedFilter, resourceID, configName) {
|
@@ -419,6 +416,19 @@ class ConfigStorage {
|
|
419
416
|
static async validatePersonalizedFilter(dataUnitName, expression) {
|
420
417
|
return this.personalizedFilterFetcher.validatePersonalizedFilter(dataUnitName, expression);
|
421
418
|
}
|
419
|
+
static async deleteGridConfigCache(name, resourceID) {
|
420
|
+
await this.deleteConfigCache(name, resourceID, CONFIG_SOURCE.grid);
|
421
|
+
}
|
422
|
+
static async deleteFormConfigCache(name, resourceID) {
|
423
|
+
await this.deleteConfigCache(name, resourceID, CONFIG_SOURCE.form);
|
424
|
+
}
|
425
|
+
static async deleteFilterBarConfigCache(name, resourceID) {
|
426
|
+
await this.deleteConfigCache(name, resourceID, CONFIG_SOURCE.filterBar);
|
427
|
+
}
|
428
|
+
static async deleteConfigCache(name, resourceID, source) {
|
429
|
+
const cacheID = ConfigStorage.buildCacheID(name, source, resourceID);
|
430
|
+
this.configById.delete(cacheID);
|
431
|
+
}
|
422
432
|
static buildCacheID(name, source, resourceID) {
|
423
433
|
if (name == undefined) {
|
424
434
|
return `req_${source}_${resourceID}`;
|
@@ -351,11 +351,24 @@ const snkAttachMessages = {
|
|
351
351
|
anyLinkOrFileFilled: {
|
352
352
|
title: "Atenção",
|
353
353
|
message: `É necessário preencher o campo "Link" ou anexar um arquivo.`
|
354
|
+
},
|
355
|
+
descriptionCannotBeChanged: {
|
356
|
+
title: "Atenção",
|
357
|
+
message: "O campo 'Descrição' não pode ser alterado."
|
354
358
|
}
|
355
359
|
},
|
356
360
|
taskbar: {
|
357
361
|
titleDownload: "Fazer download",
|
358
362
|
titleLink: "Abrir link",
|
363
|
+
},
|
364
|
+
attachMetadata: {
|
365
|
+
lblCode: "Código",
|
366
|
+
lblDescription: "Descrição",
|
367
|
+
lblFileOrLink: "Arquivo / Link",
|
368
|
+
lblUser: "Usuário",
|
369
|
+
lblDate: "Data de alteração",
|
370
|
+
lblFile: "Arquivo",
|
371
|
+
lblSubTitle: "Clique para selecionar um arquivo",
|
359
372
|
}
|
360
373
|
};
|
361
374
|
|
@@ -576,13 +576,21 @@ class DatasetStrategy {
|
|
576
576
|
getFieldsList(dataUnit) {
|
577
577
|
let fields = ["__record__id__", "__record__label__"];
|
578
578
|
dataUnit.metadata.fields.forEach((descriptor) => {
|
579
|
-
if (descriptor.standAlone)
|
579
|
+
if (descriptor.standAlone)
|
580
580
|
return;
|
581
|
-
}
|
582
581
|
fields = fields.concat(this.getFieldNames(descriptor));
|
583
582
|
});
|
584
583
|
return fields;
|
585
584
|
}
|
585
|
+
getStandAloneFieldsList(dataUnit) {
|
586
|
+
let fields = {};
|
587
|
+
dataUnit.metadata.fields.forEach((currentField) => {
|
588
|
+
if (!currentField.standAlone)
|
589
|
+
return;
|
590
|
+
fields = Object.assign(Object.assign({}, fields), { [currentField.name]: { fieldType: currentField.dataType, userType: currentField.userInterface } });
|
591
|
+
});
|
592
|
+
return fields;
|
593
|
+
}
|
586
594
|
getFieldNames(descriptor) {
|
587
595
|
const descriptionField = this.getSearchDescriptionField(descriptor);
|
588
596
|
if (descriptionField == undefined) {
|
@@ -605,10 +613,7 @@ class DatasetStrategy {
|
|
605
613
|
totalRecordsCount: loadingInfo.count,
|
606
614
|
pagerID: loadingInfo.pagerId,
|
607
615
|
standAlone: false,
|
608
|
-
standAloneFieldsMD: {
|
609
|
-
__record__id__: { "fieldType": "S", "userType": "P" },
|
610
|
-
__record__label__: { "fieldType": "S", "userType": "P" }
|
611
|
-
},
|
616
|
+
standAloneFieldsMD: Object.assign({ __record__id__: { "fieldType": "S", "userType": "P" }, __record__label__: { "fieldType": "S", "userType": "P" } }, this.getStandAloneFieldsList(dataUnit)),
|
612
617
|
tryJoinedFields: true,
|
613
618
|
parallelLoader: useParallelLoader,
|
614
619
|
crudListener: `br.com.sankhya.bff.${this.getModuleName()}.BFFDataUnitDatasetAdapter`,
|
@@ -87,8 +87,35 @@ class SnkMultiSelectionListDataSource {
|
|
87
87
|
}
|
88
88
|
}
|
89
89
|
|
90
|
+
const EVENT_NAME = 'taskbarActionsOpened';
|
90
91
|
const buildFieldSearch = (action, optionLoader, onSelectField) => {
|
91
|
-
return h("ez-search", { class:
|
92
|
+
return h("ez-search", { class: 'ez-actions-button--bottom-padding', canShowError: 'false', showSelectedValue: 'false', showOptionValue: 'false', suppressEmptyOption: 'true', label: action.label, value: '', optionLoader: optionLoader, onEzChange: (evt) => onSelectField(evt.detail), ignoreLimitCharsToSearch: true });
|
93
|
+
};
|
94
|
+
async function focusOnFieldSerch(field) {
|
95
|
+
requestAnimationFrame(async () => {
|
96
|
+
if (field) {
|
97
|
+
const realElement = field['$elm$'];
|
98
|
+
if (!realElement)
|
99
|
+
return;
|
100
|
+
realElement.value = null;
|
101
|
+
await realElement.setFocus();
|
102
|
+
}
|
103
|
+
});
|
104
|
+
}
|
105
|
+
const openFieldSearch = async (moreOptions, field) => {
|
106
|
+
if (!moreOptions) {
|
107
|
+
return;
|
108
|
+
}
|
109
|
+
if ((await moreOptions.isOpened())) {
|
110
|
+
await focusOnFieldSerch(field);
|
111
|
+
return;
|
112
|
+
}
|
113
|
+
const eventHandler = () => {
|
114
|
+
focusOnFieldSerch(field);
|
115
|
+
moreOptions.removeEventListener(EVENT_NAME, eventHandler);
|
116
|
+
};
|
117
|
+
moreOptions.addEventListener(EVENT_NAME, eventHandler);
|
118
|
+
await moreOptions.showActions();
|
92
119
|
};
|
93
120
|
|
94
|
-
export { SnkMultiSelectionListDataSource as S, TaskbarProcessor as T, buildFieldSearch as b };
|
121
|
+
export { SnkMultiSelectionListDataSource as S, TaskbarProcessor as T, buildFieldSearch as b, openFieldSearch as o };
|
@@ -49,6 +49,7 @@ export { SnkSimpleBar as SnkSimpleBar } from '../types/components/snk-simple-bar
|
|
49
49
|
export { SnkSimpleCrud as SnkSimpleCrud } from '../types/components/snk-simple-crud/snk-simple-crud';
|
50
50
|
export { SnkTabConfig as SnkTabConfig } from '../types/components/snk-form/subcomponents/snk-tab-config/snk-tab-config';
|
51
51
|
export { SnkTaskbar as SnkTaskbar } from '../types/components/snk-taskbar/snk-taskbar';
|
52
|
+
export { TaskbarActionsButton as TaskbarActionsButton } from '../types/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button';
|
52
53
|
export { TestePesquisa as TestePesquisa } from '../types/components/teste-pesquisa/teste-pesquisa';
|
53
54
|
|
54
55
|
/**
|
package/dist/components/index.js
CHANGED
@@ -49,4 +49,5 @@ export { SnkSimpleBar, defineCustomElement as defineCustomElementSnkSimpleBar }
|
|
49
49
|
export { SnkSimpleCrud, defineCustomElement as defineCustomElementSnkSimpleCrud } from './snk-simple-crud.js';
|
50
50
|
export { SnkTabConfig, defineCustomElement as defineCustomElementSnkTabConfig } from './snk-tab-config.js';
|
51
51
|
export { SnkTaskbar, defineCustomElement as defineCustomElementSnkTaskbar } from './snk-taskbar.js';
|
52
|
+
export { TaskbarActionsButton, defineCustomElement as defineCustomElementTaskbarActionsButton } from './taskbar-actions-button.js';
|
52
53
|
export { TestePesquisa, defineCustomElement as defineCustomElementTestePesquisa } from './teste-pesquisa.js';
|
@@ -2,6 +2,7 @@ var PresentationMode;
|
|
2
2
|
(function (PresentationMode) {
|
3
3
|
PresentationMode["PRIMARY"] = "primary";
|
4
4
|
PresentationMode["SECONDARY"] = "secondary";
|
5
|
+
PresentationMode["SINGLE_TASKBAR"] = "singleTaskbar";
|
5
6
|
})(PresentationMode || (PresentationMode = {}));
|
6
7
|
var DataExporterOption;
|
7
8
|
(function (DataExporterOption) {
|