@sankhyalabs/sankhyablocks 5.4.3 → 5.6.0
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/{SnkMessageBuilder-115e8a80.js → SnkMessageBuilder-e64dce7f.js} +49 -1
- package/dist/cjs/{constants-ae0ed870.js → constants-3787fa32.js} +1 -0
- package/dist/cjs/dataunit-fetcher-8f5ade55.js +319 -0
- package/dist/cjs/index-8d94b7e0.js +7 -0
- package/dist/cjs/{index-fc7ca86c.js → index-de79181a.js} +2 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/sankhyablocks.cjs.js +1 -1
- package/dist/cjs/snk-application.cjs.entry.js +3 -315
- package/dist/cjs/snk-attach.cjs.entry.js +450 -0
- package/dist/cjs/snk-config-options.cjs.entry.js +1 -1
- package/dist/cjs/snk-configurator.cjs.entry.js +1 -1
- package/dist/cjs/snk-crud.cjs.entry.js +23 -13
- package/dist/cjs/snk-data-exporter.cjs.entry.js +3 -3
- package/dist/cjs/{snk-data-unit-aa613f3b.js → snk-data-unit-85d6565e.js} +4 -1
- package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
- package/dist/cjs/snk-detail-view.cjs.entry.js +5 -5
- package/dist/cjs/snk-expression-item.cjs.entry.js +213 -0
- package/dist/cjs/snk-field-config.cjs.entry.js +1 -1
- package/dist/cjs/snk-filter-field-search_2.cjs.entry.js +435 -0
- package/dist/cjs/snk-form-config.cjs.entry.js +1 -1
- package/dist/cjs/snk-grid-config.cjs.entry.js +1 -1
- package/dist/cjs/snk-grid.cjs.entry.js +11 -3
- package/dist/cjs/{snk-guides-viewer-7db960c2.js → snk-guides-viewer-9784c527.js} +2 -2
- package/dist/cjs/snk-guides-viewer.cjs.entry.js +4 -4
- package/dist/cjs/snk-personalized-filter.cjs.entry.js +126 -0
- package/dist/cjs/snk-select-box.cjs.entry.js +1 -1
- package/dist/cjs/{snk-simple-crud.cjs.entry.js → snk-simple-bar_2.cjs.entry.js} +48 -5
- package/dist/cjs/snk-tab-config.cjs.entry.js +1 -1
- package/dist/cjs/snk-taskbar.cjs.entry.js +6 -4
- package/dist/cjs/{taskbar-elements-5e87cf44.js → taskbar-elements-bc2598f9.js} +4 -1
- package/dist/collection/collection-manifest.json +4 -1
- package/dist/collection/components/snk-attach/interfaces/index.js +1 -0
- package/dist/collection/components/snk-attach/snk-attach.css +8 -0
- package/dist/collection/components/snk-attach/snk-attach.js +202 -0
- package/dist/collection/components/snk-attach/structure/crud-config-builder.js +37 -0
- package/dist/collection/components/snk-attach/structure/data-unit-builder.js +106 -0
- package/dist/collection/components/snk-attach/structure/index.js +3 -0
- package/dist/collection/components/snk-attach/structure/taskbar-builder.js +47 -0
- package/dist/collection/components/snk-configurator/snk-configurator.js +3 -3
- package/dist/collection/components/snk-crud/snk-crud.js +22 -11
- package/dist/collection/components/snk-data-unit/snk-data-unit.js +21 -0
- package/dist/collection/components/snk-filter-field-search/snk-filter-field-search.js +62 -69
- package/dist/collection/components/snk-grid/snk-grid.js +11 -3
- package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.css +4 -0
- package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +87 -0
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-item/filter-operands/filter-operands.js +34 -0
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-item/snk-expression-item.css +97 -0
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-item/snk-expression-item.js +298 -0
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/snk-filter-param-config.js +2 -2
- package/dist/collection/components/snk-simple-bar/snk-simple-bar.js +37 -2
- package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +65 -2
- package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +3 -0
- package/dist/collection/components/snk-taskbar/snk-taskbar.js +4 -2
- package/dist/collection/lib/http/data-fetcher/fetchers/attach-fetcher.js +136 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDelete.js +1 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDownloadKey.js +1 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/fecthAttach/interfaces/ISave.js +6 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/fecthAttach/interfaces/index.js +3 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.js +63 -0
- package/dist/collection/lib/message/SnkMessageBuilder.js +7 -1
- package/dist/collection/lib/message/resources/snk-attach.msg.js +27 -0
- package/dist/collection/lib/message/resources/snk-personalized-filter.msg.js +12 -0
- package/dist/collection/lib/message/resources/snk-simple-bar.msg.js +3 -0
- package/dist/collection/lib/message/resources/snk-taskbar.msg.js +1 -0
- package/dist/collection/lib/store/index.js +2 -1
- package/dist/collection/lib/utils/constants.js +1 -0
- package/dist/components/SnkMessageBuilder.js +49 -1
- package/dist/components/constants.js +1 -0
- package/dist/components/dataunit-fetcher.js +317 -0
- package/dist/components/index.d.ts +3 -0
- package/dist/components/index.js +3 -0
- package/dist/components/index2.js +1 -1
- package/dist/components/index3.js +199 -0
- package/dist/components/snk-application2.js +2 -314
- package/dist/components/snk-attach.d.ts +11 -0
- package/dist/components/snk-attach.js +6 -0
- package/dist/components/snk-attach2.js +498 -0
- package/dist/components/snk-crud.js +77 -48
- package/dist/components/snk-data-exporter2.js +1 -1
- package/dist/components/snk-data-unit2.js +4 -0
- package/dist/components/snk-expression-item.d.ts +11 -0
- package/dist/components/snk-expression-item.js +6 -0
- package/dist/components/snk-expression-item2.js +241 -0
- package/dist/components/snk-filter-field-search.js +1 -200
- package/dist/{esm/snk-filter-field-search.entry.js → components/snk-filter-field-search2.js} +65 -38
- package/dist/components/snk-filter-param-config.js +1 -273
- package/dist/{esm/snk-filter-param-config.entry.js → components/snk-filter-param-config2.js} +35 -11
- package/dist/components/snk-grid2.js +12 -4
- package/dist/components/snk-personalized-filter.d.ts +11 -0
- package/dist/components/snk-personalized-filter.js +158 -0
- package/dist/components/snk-simple-bar.js +1 -41
- package/dist/components/snk-simple-bar2.js +59 -0
- package/dist/components/snk-simple-crud.js +1 -328
- package/dist/{esm/snk-simple-crud.entry.js → components/snk-simple-crud2.js} +73 -18
- package/dist/components/snk-taskbar2.js +10 -199
- package/dist/esm/{SnkMessageBuilder-a15d22f8.js → SnkMessageBuilder-f3590f65.js} +49 -1
- package/dist/esm/{constants-15617e7d.js → constants-e916ccc3.js} +1 -0
- package/dist/esm/dataunit-fetcher-d32c6a47.js +317 -0
- package/dist/esm/{index-6519a79e.js → index-507e19ec.js} +1 -1
- package/dist/esm/index-620ac460.js +7 -0
- package/dist/esm/{index-e467ade5.js → index-8efbf198.js} +2 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/sankhyablocks.js +1 -1
- package/dist/esm/snk-application.entry.js +3 -315
- package/dist/esm/snk-attach.entry.js +446 -0
- package/dist/esm/snk-config-options.entry.js +1 -1
- package/dist/esm/snk-configurator.entry.js +1 -1
- package/dist/esm/snk-crud.entry.js +25 -15
- package/dist/esm/snk-data-exporter.entry.js +4 -4
- package/dist/esm/{snk-data-unit-5ed93c0e.js → snk-data-unit-50b1660c.js} +4 -1
- package/dist/esm/snk-data-unit.entry.js +2 -2
- package/dist/esm/snk-detail-view.entry.js +6 -6
- package/dist/esm/snk-expression-item.entry.js +209 -0
- package/dist/esm/snk-field-config.entry.js +1 -1
- package/dist/esm/snk-filter-field-search_2.entry.js +430 -0
- package/dist/esm/snk-form-config.entry.js +1 -1
- package/dist/esm/snk-grid-config.entry.js +1 -1
- package/dist/esm/snk-grid.entry.js +13 -5
- package/dist/esm/{snk-guides-viewer-1e7c21f6.js → snk-guides-viewer-4d12f268.js} +3 -3
- package/dist/esm/snk-guides-viewer.entry.js +5 -5
- package/dist/esm/snk-personalized-filter.entry.js +122 -0
- package/dist/esm/snk-select-box.entry.js +1 -1
- package/dist/esm/snk-simple-bar_2.entry.js +325 -0
- package/dist/esm/snk-tab-config.entry.js +1 -1
- package/dist/esm/snk-taskbar.entry.js +7 -5
- package/dist/esm/{taskbar-elements-10d80c79.js → taskbar-elements-e6af3e93.js} +5 -2
- package/dist/sankhyablocks/p-17375123.js +1 -0
- package/dist/sankhyablocks/{p-b80cf644.entry.js → p-1c0ee011.entry.js} +1 -1
- package/dist/sankhyablocks/p-1dcfd32a.entry.js +1 -0
- package/dist/sankhyablocks/p-27e264d9.entry.js +1 -0
- package/dist/sankhyablocks/p-343699ad.entry.js +1 -0
- package/dist/sankhyablocks/p-3d3263b4.js +1 -0
- package/dist/sankhyablocks/p-3fbe2d69.entry.js +11 -0
- package/dist/sankhyablocks/p-433dfa63.entry.js +1 -0
- package/dist/sankhyablocks/{p-f132e371.js → p-4c2015a9.js} +1 -1
- package/dist/sankhyablocks/p-4eefe631.entry.js +1 -0
- package/dist/sankhyablocks/p-6a02e236.js +1 -0
- package/dist/sankhyablocks/{p-0a1e7f75.entry.js → p-6ac29569.entry.js} +1 -1
- package/dist/sankhyablocks/{p-f4d36823.entry.js → p-6f0b3cc0.entry.js} +1 -1
- package/dist/sankhyablocks/{p-6516f35a.entry.js → p-86f75e7a.entry.js} +1 -1
- package/dist/sankhyablocks/{p-32599159.entry.js → p-8b02b276.entry.js} +1 -1
- package/dist/sankhyablocks/p-8bdf5e57.entry.js +1 -0
- package/dist/sankhyablocks/{p-9bfa3cfb.entry.js → p-c4417efb.entry.js} +1 -1
- package/dist/sankhyablocks/p-c9477950.js +1 -0
- package/dist/sankhyablocks/{p-703dddb9.js → p-ccd26e3a.js} +1 -1
- package/dist/sankhyablocks/p-d410f45a.js +1 -0
- package/dist/sankhyablocks/p-df8f13b4.entry.js +1 -0
- package/dist/sankhyablocks/{p-3169584f.entry.js → p-e0b4aec3.entry.js} +1 -1
- package/dist/sankhyablocks/p-e9f42525.entry.js +1 -0
- package/dist/sankhyablocks/{p-1393dc00.entry.js → p-f344b811.entry.js} +1 -1
- package/dist/sankhyablocks/p-f4184ce7.js +1 -0
- package/dist/sankhyablocks/p-f821768b.js +74 -0
- package/dist/sankhyablocks/{p-f29caa0a.entry.js → p-f8c66aa3.entry.js} +1 -1
- package/dist/sankhyablocks/p-fd4ed40a.entry.js +1 -0
- package/dist/sankhyablocks/p-ff96b509.entry.js +27 -0
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-attach/interfaces/index.d.ts +10 -0
- package/dist/types/components/snk-attach/snk-attach.d.ts +45 -0
- package/dist/types/components/snk-attach/structure/crud-config-builder.d.ts +7 -0
- package/dist/types/components/snk-attach/structure/data-unit-builder.d.ts +16 -0
- package/dist/types/components/snk-attach/structure/index.d.ts +3 -0
- package/dist/types/components/snk-attach/structure/taskbar-builder.d.ts +8 -0
- package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +5 -0
- package/dist/types/components/snk-filter-field-search/interfaces/index.d.ts +14 -4
- package/dist/types/components/snk-filter-field-search/snk-filter-field-search.d.ts +13 -10
- package/dist/types/components/snk-personalized-filter/snk-personalized-filter.d.ts +20 -0
- package/dist/types/components/snk-personalized-filter/subcomponents/snk-expression-item/filter-operands/filter-operands.d.ts +9 -0
- package/dist/types/components/snk-personalized-filter/subcomponents/snk-expression-item/snk-expression-item.d.ts +54 -0
- package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-param-config/interfaces/IExpressionItem.d.ts +4 -2
- package/dist/types/components/snk-simple-bar/snk-simple-bar.d.ts +14 -0
- package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +2 -1
- package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +1 -0
- package/dist/types/components.d.ts +150 -9
- package/dist/types/global.d.ts +9 -0
- package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +8 -2
- package/dist/types/lib/http/data-fetcher/fetchers/attach-fetcher.d.ts +14 -0
- package/dist/types/lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDelete.d.ts +9 -0
- package/dist/types/lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDownloadKey.d.ts +13 -0
- package/dist/types/lib/http/data-fetcher/fetchers/fecthAttach/interfaces/ISave.d.ts +26 -0
- package/dist/types/lib/http/data-fetcher/fetchers/fecthAttach/interfaces/index.d.ts +3 -0
- package/dist/types/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.d.ts +7 -0
- package/dist/types/lib/message/resources/snk-attach.msg.d.ts +2 -0
- package/dist/types/lib/message/resources/snk-personalized-filter.msg.d.ts +1 -0
- package/dist/types/lib/message/resources/snk-simple-bar.msg.d.ts +1 -0
- package/dist/types/lib/store/index.d.ts +1 -0
- package/dist/types/lib/utils/constants.d.ts +2 -1
- package/package.json +1 -1
- package/react/components.d.ts +3 -0
- package/react/components.js +3 -0
- package/react/components.js.map +1 -1
- package/dist/cjs/snk-filter-field-search.cjs.entry.js +0 -185
- package/dist/cjs/snk-filter-param-config.cjs.entry.js +0 -256
- package/dist/cjs/snk-simple-bar.cjs.entry.js +0 -30
- package/dist/esm/snk-simple-bar.entry.js +0 -26
- package/dist/sankhyablocks/p-1c17eecf.entry.js +0 -1
- package/dist/sankhyablocks/p-2ecf14ff.js +0 -1
- package/dist/sankhyablocks/p-340d6fb0.entry.js +0 -84
- package/dist/sankhyablocks/p-74724fa7.js +0 -1
- package/dist/sankhyablocks/p-79d22df0.entry.js +0 -1
- package/dist/sankhyablocks/p-79f01b63.entry.js +0 -1
- package/dist/sankhyablocks/p-81e85890.entry.js +0 -1
- package/dist/sankhyablocks/p-93d8fe00.entry.js +0 -1
- package/dist/sankhyablocks/p-94e6fc90.entry.js +0 -1
- package/dist/sankhyablocks/p-98f7f796.js +0 -1
- package/dist/sankhyablocks/p-b3e71248.entry.js +0 -1
- package/dist/sankhyablocks/p-bc281de0.js +0 -1
- package/dist/sankhyablocks/p-d61759a5.entry.js +0 -1
- package/dist/sankhyablocks/p-d65809d5.entry.js +0 -1
- package/dist/sankhyablocks/p-f587a454.js +0 -1
- package/dist/types/components/snk-application/snk-application.d.ts +0 -259
- package/dist/types/components/snk-crud/snk-crud.d.ts +0 -73
- package/dist/types/components/snk-data-exporter/exporter-email-sender/snk-exporter-email-sender.d.ts +0 -40
- package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.d.ts +0 -27
- package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-multi-select.d.ts +0 -23
- package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-number.d.ts +0 -23
- package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-period.d.ts +0 -29
- package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-search.d.ts +0 -25
- package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-text.d.ts +0 -19
- package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +0 -38
- package/dist/types/components/snk-filter-bar/filter-list/snk-filter-list.d.ts +0 -74
- package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +0 -53
- package/dist/types/components/snk-grid/snk-grid.d.ts +0 -95
- package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +0 -59
@@ -1,185 +0,0 @@
|
|
1
|
-
'use strict';
|
2
|
-
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
4
|
-
|
5
|
-
const index = require('./index-21bd01e1.js');
|
6
|
-
const core = require('@sankhyalabs/core');
|
7
|
-
|
8
|
-
var SelectedItemType;
|
9
|
-
(function (SelectedItemType) {
|
10
|
-
SelectedItemType["LINK"] = "LINK";
|
11
|
-
SelectedItemType["FIELD"] = "FIELD";
|
12
|
-
})(SelectedItemType || (SelectedItemType = {}));
|
13
|
-
|
14
|
-
const ICON_MODES = {
|
15
|
-
[core.UserInterface.SHORTTEXT]: 'text',
|
16
|
-
[core.UserInterface.LONGTEXT]: 'text',
|
17
|
-
[core.UserInterface.INTEGERNUMBER]: 'number',
|
18
|
-
[core.UserInterface.DECIMALNUMBER]: 'number',
|
19
|
-
[core.UserInterface.DATE]: 'calendar',
|
20
|
-
[core.UserInterface.DATETIME]: 'calendar',
|
21
|
-
[core.UserInterface.SWITCH]: 'boolean',
|
22
|
-
[core.UserInterface.CHECKBOX]: 'check-circle-inverted',
|
23
|
-
[core.UserInterface.OPTIONSELECTOR]: 'list',
|
24
|
-
[core.UserInterface.SEARCH]: 'search',
|
25
|
-
[core.UserInterface.HTML]: 'tag_code',
|
26
|
-
[core.UserInterface.IMAGE]: 'png',
|
27
|
-
[core.UserInterface.FILE]: 'edit-file',
|
28
|
-
[core.UserInterface.TIME]: 'timer-outline',
|
29
|
-
[core.UserInterface.ELAPSEDTIME]: 'timer',
|
30
|
-
[core.UserInterface.MASKEDTEXT]: 'text',
|
31
|
-
[core.UserInterface.PASSWORD]: 'email',
|
32
|
-
};
|
33
|
-
const ListItem = ({ userInterface, description }) => {
|
34
|
-
return (index.h("ez-icon", { iconName: ICON_MODES[userInterface], className: "ez-padding-left--small", title: description }));
|
35
|
-
};
|
36
|
-
|
37
|
-
const snkFilterFieldSearchCss = ".sc-snk-filter-field-search-h{--snk-filter-field-search--container-width:468px;--snk-filter-field-search--container-height:322px}.snk-filter-field-search__container.sc-snk-filter-field-search{display:flex;flex-direction:column;padding:var(--space--medium);width:var(--snk-filter-field-search--container-width);height:var(--snk-filter-field-search--container-height)}.snk-filter-field-search__section.sc-snk-filter-field-search{display:grid;grid-template-columns:1fr 1fr;place-items:flex-start;overflow:hidden;gap:var(--space--small)}.snk-filter-field-search__input.sc-snk-filter-field-search{margin-bottom:var(--space--medium)}.snk-filter-field-search__list_container.sc-snk-filter-field-search{display:flex;flex-direction:column}.snk-filter-field-search__list.sc-snk-filter-field-search{overflow-y:auto}";
|
38
|
-
|
39
|
-
const SNK_CONTEXT_KEY = "__SNK__APPLICATION__";
|
40
|
-
const SnkFilterFieldSearch = class {
|
41
|
-
constructor(hostRef) {
|
42
|
-
index.registerInstance(this, hostRef);
|
43
|
-
this.ezSelectFilterItem = index.createEvent(this, "ezSelectFilterItem", 7);
|
44
|
-
this._filterMetadataStorage = new Map();
|
45
|
-
this._dataSource = null;
|
46
|
-
this._filterText = "";
|
47
|
-
this._isLoading = false;
|
48
|
-
this.searchable = true;
|
49
|
-
this.breadcrumbItems = [];
|
50
|
-
this.linkItems = [];
|
51
|
-
this.fieldItems = [];
|
52
|
-
}
|
53
|
-
/**
|
54
|
-
* Define a fonte de dados do componente.
|
55
|
-
* @param {IFilterLink} currentLink - Link atual da entidade.
|
56
|
-
* @param {IFilterMetadata} fetchData - callback que executa a busca de dados.
|
57
|
-
* @throws {Error} - Quando os metadados não forem válidos.
|
58
|
-
* @throws {Error} - Quando o link atual não for do tipo link.
|
59
|
-
*/
|
60
|
-
async setDataSource(currentLink, fetchData) {
|
61
|
-
var _a;
|
62
|
-
this._isLoading = true;
|
63
|
-
let metadata = this._filterMetadataStorage.get(currentLink.uri);
|
64
|
-
if (!metadata) {
|
65
|
-
metadata = await fetchData(currentLink);
|
66
|
-
this._filterMetadataStorage.set(currentLink.uri, metadata);
|
67
|
-
}
|
68
|
-
const { fields, links } = metadata || {};
|
69
|
-
if (!Array.isArray(fields) || !Array.isArray(links))
|
70
|
-
throw new Error('Invalid metadata');
|
71
|
-
if (currentLink.type !== SelectedItemType.LINK)
|
72
|
-
throw new Error('The current link must be a link type');
|
73
|
-
this._dataSource = metadata;
|
74
|
-
this._currentLink = currentLink;
|
75
|
-
this.mapDataSourceToLinkItems();
|
76
|
-
this.mapDataSourceToFieldItems();
|
77
|
-
this._isLoading = false;
|
78
|
-
(_a = this._ezPopover) === null || _a === void 0 ? void 0 : _a.show();
|
79
|
-
this._ezFieldList.scrollToTop();
|
80
|
-
this._ezLinkList.scrollToTop();
|
81
|
-
}
|
82
|
-
/**
|
83
|
-
* Filtra a fonte de dados do componente.
|
84
|
-
* @param {string} filterText - Texto para filtrar a fonte de dados.
|
85
|
-
* @throws {Error} - Quando o componente estiver com a propriedade searchable como true.
|
86
|
-
*/
|
87
|
-
async filterDataSource(filterText) {
|
88
|
-
if (this.searchable)
|
89
|
-
throw new Error('This method is not available when searchable is true');
|
90
|
-
this.handleFilterChange(filterText);
|
91
|
-
}
|
92
|
-
mapDataSourceToLinkItems() {
|
93
|
-
var _a;
|
94
|
-
const { links } = this._dataSource;
|
95
|
-
const filterLinkLabelMessage = this.getMessage('snkFilterFieldSearch.linkLabel', { link: (_a = this._currentLink) === null || _a === void 0 ? void 0 : _a.description });
|
96
|
-
const items = links.map(link => (Object.assign({ label: link.description }, link)));
|
97
|
-
this.linkItems = [{
|
98
|
-
group: filterLinkLabelMessage,
|
99
|
-
items
|
100
|
-
}];
|
101
|
-
if (this.breadcrumbItems.length === 0) {
|
102
|
-
this.breadcrumbItems = [Object.assign({ id: core.JSUtils.generateUUID(), label: this._currentLink.description }, this._currentLink)];
|
103
|
-
}
|
104
|
-
}
|
105
|
-
mapDataSourceToFieldItems() {
|
106
|
-
var _a;
|
107
|
-
const { fields } = this._dataSource;
|
108
|
-
const filterFieldLabelMessage = this.getMessage('snkFilterFieldSearch.fieldLabel', { link: (_a = this._currentLink) === null || _a === void 0 ? void 0 : _a.description });
|
109
|
-
const filteredFields = fields.filter(field => {
|
110
|
-
if (!this._currentLink)
|
111
|
-
return true;
|
112
|
-
const searchableByDescription = field.description.toLowerCase().includes(this._filterText.toLowerCase());
|
113
|
-
const searchableByName = field.name.toLowerCase().includes(this._filterText.toLowerCase());
|
114
|
-
return searchableByDescription || searchableByName;
|
115
|
-
});
|
116
|
-
const items = filteredFields.map(field => (Object.assign({ label: field.description }, field)));
|
117
|
-
this.fieldItems = [{
|
118
|
-
group: filterFieldLabelMessage,
|
119
|
-
items
|
120
|
-
}];
|
121
|
-
}
|
122
|
-
handleFilterChange(filterText) {
|
123
|
-
if (this._isLoading)
|
124
|
-
return;
|
125
|
-
this._filterText = filterText;
|
126
|
-
this.mapDataSourceToFieldItems();
|
127
|
-
}
|
128
|
-
handleSelectLink({ detail: item }) {
|
129
|
-
if (this._isLoading)
|
130
|
-
return;
|
131
|
-
const breadcrumbByIndex = this.breadcrumbItems.findIndex(breadcrumbItem => breadcrumbItem.id === item.id);
|
132
|
-
item.cache = this._filterMetadataStorage.has(item.uri);
|
133
|
-
if (breadcrumbByIndex > -1) {
|
134
|
-
this.breadcrumbItems = this.breadcrumbItems.slice(0, (breadcrumbByIndex + 1));
|
135
|
-
}
|
136
|
-
else {
|
137
|
-
this.breadcrumbItems = [...this.breadcrumbItems, Object.assign({ id: core.JSUtils.generateUUID(), label: item.description }, item)];
|
138
|
-
}
|
139
|
-
this.ezSelectFilterItem.emit(Object.assign(Object.assign({}, item), { type: SelectedItemType.LINK }));
|
140
|
-
}
|
141
|
-
handleSelectField({ detail: item }) {
|
142
|
-
var _a;
|
143
|
-
const breadcrumbPath = this.breadcrumbItems.map(breadcrumbItem => breadcrumbItem.label).join('>>');
|
144
|
-
const selectedField = Object.assign(Object.assign({}, item), { type: SelectedItemType.FIELD, path: `${breadcrumbPath} >> ${item.description}` });
|
145
|
-
this.ezSelectFilterItem.emit(selectedField);
|
146
|
-
(_a = this._ezPopover) === null || _a === void 0 ? void 0 : _a.hide();
|
147
|
-
}
|
148
|
-
getElementID(sufix) {
|
149
|
-
return {
|
150
|
-
[core.ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: core.ElementIDUtils.getInternalIDInfo(sufix)
|
151
|
-
};
|
152
|
-
}
|
153
|
-
/**
|
154
|
-
* Conforme mecanismo de mensagens, é possível customizar as mensagens dos blocos de construção
|
155
|
-
* através de um pequeno modulo na estrutura da aplicação:
|
156
|
-
* - Criar um arquivo no seguinte caminho: /messages/appmessages.msg.js.
|
157
|
-
* Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-filter-field-search.msg.ts"
|
158
|
-
*/
|
159
|
-
getMessage(key, params) {
|
160
|
-
var _a, _b, _c;
|
161
|
-
if (!this._application)
|
162
|
-
this._application = core.ApplicationContext.getContextValue(SNK_CONTEXT_KEY);
|
163
|
-
return (_c = (_b = (_a = this._application) === null || _a === void 0 ? void 0 : _a.messagesBuilder) === null || _b === void 0 ? void 0 : _b.getMessage) === null || _c === void 0 ? void 0 : _c.call(_b, key, params);
|
164
|
-
}
|
165
|
-
;
|
166
|
-
componentWillLoad() {
|
167
|
-
this._application = core.ApplicationContext.getContextValue(SNK_CONTEXT_KEY);
|
168
|
-
}
|
169
|
-
componentDidLoad() {
|
170
|
-
core.ElementIDUtils.addIDInfoIfNotExists(this._ezPopover, 'popover');
|
171
|
-
}
|
172
|
-
disconnectedCallback() {
|
173
|
-
var _a;
|
174
|
-
this._filterMetadataStorage.clear();
|
175
|
-
(_a = this._ezPopover) === null || _a === void 0 ? void 0 : _a.hide();
|
176
|
-
}
|
177
|
-
render() {
|
178
|
-
var _a;
|
179
|
-
const searchLabelMessage = this.getMessage('snkFilterFieldSearch.searchLabel');
|
180
|
-
return (index.h("ez-popover", Object.assign({ ref: (el) => this._ezPopover = el, role: "dialog", "aria-hidden": !((_a = this._ezPopover) === null || _a === void 0 ? void 0 : _a.opened) }, this.getElementID('EzPopover')), index.h("div", { class: "snk-filter-field-search__container" }, index.h("header", { class: "snk-filter-field-search__header" }, this.searchable && !!searchLabelMessage && (index.h("ez-filter-input", Object.assign({ class: "snk-filter-field-search__input", label: searchLabelMessage, asyncSearch: true, canShowError: false, onEzSearching: (event) => this.handleFilterChange.bind(this)(event.detail), "aria-label": searchLabelMessage, "aria-required": "false", "aria-invalid": "false" }, this.getElementID('EzFilterInput')))), this.breadcrumbItems.length > 0 && (index.h("ez-breadcrumb", Object.assign({ items: this.breadcrumbItems, onSelectedItem: this.handleSelectLink.bind(this), role: "navigation", "aria-current": "step" }, this.getElementID('EzBreadcrumb')))), index.h("hr", { class: "ez-divider-horizontal ez-margin-vertical--medium" })), index.h("section", { class: "snk-filter-field-search__section" }, index.h("ez-list", Object.assign({ ref: (el) => this._ezLinkList = el, class: "snk-filter-field-search__list", id: "filterLinkList", useGroups: true, dataSource: this.linkItems, onEzSelectItem: this.handleSelectLink.bind(this), hoverFeedback: true, ezSelectable: true, itemSlotBuilder: ({ fieldCount }) => index.h("ez-badge", { label: fieldCount }), "aria-describedby": "filterLinkLabel" }, this.getElementID('EzListLinks'))), index.h("ez-list", Object.assign({ ref: (el) => this._ezFieldList = el, class: "snk-filter-field-search__list", id: "filterFieldList", useGroups: true, dataSource: this.fieldItems, onEzSelectItem: this.handleSelectField.bind(this), hoverFeedback: true, ezSelectable: true, itemSlotBuilder: ListItem, "aria-describedby": "filterFieldLabel" }, this.getElementID('EzListFields')))))));
|
181
|
-
}
|
182
|
-
};
|
183
|
-
SnkFilterFieldSearch.style = snkFilterFieldSearchCss;
|
184
|
-
|
185
|
-
exports.snk_filter_field_search = SnkFilterFieldSearch;
|
@@ -1,256 +0,0 @@
|
|
1
|
-
'use strict';
|
2
|
-
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
4
|
-
|
5
|
-
const index$1 = require('./index-21bd01e1.js');
|
6
|
-
const core = require('@sankhyalabs/core');
|
7
|
-
const ezModalContainer = require('@sankhyalabs/ezui/dist/collection/components/ez-modal-container');
|
8
|
-
const index = require('./index-f400b1d6.js');
|
9
|
-
|
10
|
-
class PersonalizedFilterUtils {
|
11
|
-
/**
|
12
|
-
* Cria uma expressão de filtro a partir de um IExpressionItem.
|
13
|
-
* @param expressionItem - Objeto com os parâmetros necessários para montar a expressão.
|
14
|
-
* @returns Retorna a expressão de filtro.
|
15
|
-
*/
|
16
|
-
static buildFilterExpression(expressionItem) {
|
17
|
-
if (expressionItem == undefined) {
|
18
|
-
return;
|
19
|
-
}
|
20
|
-
const value = this.buildVariableParameterValue(expressionItem);
|
21
|
-
let expression = expressionItem.expression || "";
|
22
|
-
switch (expressionItem.operand) {
|
23
|
-
case index.FilterOperand.IN:
|
24
|
-
expression += ` ${expressionItem.operand} (${value})`;
|
25
|
-
break;
|
26
|
-
case index.FilterOperand.NULL:
|
27
|
-
case index.FilterOperand.NOT_NULL:
|
28
|
-
expression += ` IS ${value}`;
|
29
|
-
break;
|
30
|
-
case index.FilterOperand.LIKE:
|
31
|
-
expression += ` LIKE '%${value}%'`;
|
32
|
-
break;
|
33
|
-
case index.FilterOperand.START_WITH:
|
34
|
-
expression += ` LIKE '${value}%'`;
|
35
|
-
break;
|
36
|
-
case index.FilterOperand.FINISHED_WITH:
|
37
|
-
expression += ` LIKE '%${value}'`;
|
38
|
-
break;
|
39
|
-
default:
|
40
|
-
expression += ` ${expressionItem.operand} ${value}`;
|
41
|
-
}
|
42
|
-
return expression;
|
43
|
-
}
|
44
|
-
/**
|
45
|
-
* Obtém o valor do parâmetro a partir de um IExpressionItem.
|
46
|
-
* @param expressionItem - Objeto com os parâmetros necessários para montar a expressão.
|
47
|
-
* @returns Retorna o valor do parâmetro.
|
48
|
-
*/
|
49
|
-
static buildVariableParameterValue(expressionItem) {
|
50
|
-
if (expressionItem == undefined) {
|
51
|
-
return;
|
52
|
-
}
|
53
|
-
if (expressionItem.systemConfig != undefined) {
|
54
|
-
const systemConfig = expressionItem.systemConfig;
|
55
|
-
return `?:{entidade=${systemConfig.entity || ""};campo=${systemConfig.fieldName || ""}}`;
|
56
|
-
}
|
57
|
-
if (expressionItem.userConfig != undefined) {
|
58
|
-
const userConfig = expressionItem.userConfig;
|
59
|
-
return `?:{desc=${userConfig.description || ""};tipo=${userConfig.type || ""}}`;
|
60
|
-
}
|
61
|
-
return `?:{entidade=${expressionItem.entityName || ""};campo=${expressionItem.fieldName || ""}}`;
|
62
|
-
}
|
63
|
-
}
|
64
|
-
|
65
|
-
const snkFilterParamConfigCss = ".sc-snk-filter-param-config-h{--snk-filter-param-config__expression--color:var(--title--primary, #2b3a54);display:flex;position:relative}.snk-filter-param-config__expression.sc-snk-filter-param-config{--text-area__input--disabled--color:var(--snk-filter-param-config__expression--color)}";
|
66
|
-
|
67
|
-
const SnkFilterParamConfig = class {
|
68
|
-
constructor(hostRef) {
|
69
|
-
index$1.registerInstance(this, hostRef);
|
70
|
-
this._opened = false;
|
71
|
-
this._configType = index.FilterConfigType.SYSTEM_CONFIG;
|
72
|
-
this._expressionItem = undefined;
|
73
|
-
this._informedInstance = false;
|
74
|
-
this._canSave = false;
|
75
|
-
this.messagesBuilder = undefined;
|
76
|
-
}
|
77
|
-
open(expressionItem) {
|
78
|
-
this._opened = true;
|
79
|
-
this._expressionItem = expressionItem;
|
80
|
-
this.loadValues();
|
81
|
-
return new Promise(accept => {
|
82
|
-
this._promiseResolver = accept;
|
83
|
-
});
|
84
|
-
}
|
85
|
-
close() {
|
86
|
-
this._opened = false;
|
87
|
-
return new Promise(accept => {
|
88
|
-
this._promiseResolver = accept;
|
89
|
-
});
|
90
|
-
}
|
91
|
-
/**
|
92
|
-
* Conforme mecanismo de mensagens, é possível customizar as mensagens dos blocos de construção
|
93
|
-
* através de um pequeno modulo na estrutura da aplicação:
|
94
|
-
* - Criar um arquivo no seguinte caminho: /messages/appmessages.msg.js.
|
95
|
-
* Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-filter-param-config.msg.ts"
|
96
|
-
*/
|
97
|
-
getMessage(key, params) {
|
98
|
-
return this.messagesBuilder.getMessage(key, params);
|
99
|
-
}
|
100
|
-
getConfigValue(configName, inputName, inputAlias = "") {
|
101
|
-
var _a, _b, _c;
|
102
|
-
return ((_b = (_a = this._expressionItem) === null || _a === void 0 ? void 0 : _a[configName]) === null || _b === void 0 ? void 0 : _b[inputName])
|
103
|
-
|| ((_c = this._expressionItem) === null || _c === void 0 ? void 0 : _c[inputAlias || inputName]);
|
104
|
-
}
|
105
|
-
loadValues() {
|
106
|
-
var _a;
|
107
|
-
const entityName = this.getConfigValue("systemConfig", "entity", "entityName");
|
108
|
-
const fieldName = this.getConfigValue("systemConfig", "fieldName");
|
109
|
-
const description = this.getConfigValue("userConfig", "description");
|
110
|
-
const type = this.getConfigValue("userConfig", "type");
|
111
|
-
if (((_a = this._expressionItem) === null || _a === void 0 ? void 0 : _a.userConfig) != undefined) {
|
112
|
-
this._configType = index.FilterConfigType.USER_CONFIG;
|
113
|
-
}
|
114
|
-
else {
|
115
|
-
this._configType = index.FilterConfigType.SYSTEM_CONFIG;
|
116
|
-
}
|
117
|
-
if (!core.StringUtils.isEmpty(entityName) && !core.StringUtils.isEmpty(fieldName)) {
|
118
|
-
this._instanceElement.value = { value: entityName, label: "" };
|
119
|
-
this._fieldElement.value = { value: fieldName, label: "" };
|
120
|
-
}
|
121
|
-
if (!core.StringUtils.isEmpty(description) && !core.StringUtils.isEmpty(type)) {
|
122
|
-
this._descriptionElement.value = description;
|
123
|
-
this._typeElement.value = type;
|
124
|
-
}
|
125
|
-
this.buildFilterExpression();
|
126
|
-
}
|
127
|
-
changeDefinitionUsed(option) {
|
128
|
-
this._configType = option !== null && option !== void 0 ? option : index.FilterConfigType.SYSTEM_CONFIG;
|
129
|
-
if (this._configType === index.FilterConfigType.SYSTEM_CONFIG) {
|
130
|
-
const entityName = this.getConfigValue("systemConfig", "entity", "entityName");
|
131
|
-
const fieldName = this.getConfigValue("systemConfig", "fieldName");
|
132
|
-
this._instanceElement.value = this._instanceElement.value || { value: entityName, label: "" };
|
133
|
-
this._fieldElement.value = this._fieldElement.value || { value: fieldName, label: "" };
|
134
|
-
}
|
135
|
-
else if (this._configType === index.FilterConfigType.USER_CONFIG) {
|
136
|
-
const description = this.getConfigValue("userConfig", "description");
|
137
|
-
const type = this.getConfigValue("userConfig", "type");
|
138
|
-
this._descriptionElement.value = this._descriptionElement.value || description;
|
139
|
-
this._typeElement.value = this._typeElement.value || type;
|
140
|
-
}
|
141
|
-
this.buildFilterExpression();
|
142
|
-
}
|
143
|
-
getTypeValue() {
|
144
|
-
var _a;
|
145
|
-
const value = (_a = this._typeElement) === null || _a === void 0 ? void 0 : _a.value;
|
146
|
-
return ((value === null || value === void 0 ? void 0 : value.value) || value);
|
147
|
-
}
|
148
|
-
getExpressionValues() {
|
149
|
-
var _a, _b, _c, _d, _e;
|
150
|
-
let systemConfig;
|
151
|
-
let userConfig;
|
152
|
-
if (this._configType === index.FilterConfigType.SYSTEM_CONFIG) {
|
153
|
-
const entity = (_b = (_a = this._instanceElement) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.value;
|
154
|
-
const fieldName = (_d = (_c = this._fieldElement) === null || _c === void 0 ? void 0 : _c.value) === null || _d === void 0 ? void 0 : _d.value;
|
155
|
-
systemConfig = { entity, fieldName };
|
156
|
-
}
|
157
|
-
else if (this._configType === index.FilterConfigType.USER_CONFIG) {
|
158
|
-
const description = (_e = this._descriptionElement) === null || _e === void 0 ? void 0 : _e.value;
|
159
|
-
const type = this.getTypeValue();
|
160
|
-
userConfig = { description, type };
|
161
|
-
}
|
162
|
-
return Object.assign(Object.assign(Object.assign({}, this._expressionItem), { systemConfig }), { userConfig });
|
163
|
-
}
|
164
|
-
isEnabled(value) {
|
165
|
-
return this._configType === value;
|
166
|
-
}
|
167
|
-
isInformedInstance() {
|
168
|
-
var _a, _b;
|
169
|
-
return !core.StringUtils.isEmpty((_b = (_a = this._instanceElement) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.value);
|
170
|
-
}
|
171
|
-
save() {
|
172
|
-
var _a;
|
173
|
-
this._expressionItem = Object.assign(Object.assign({}, this.getExpressionValues()), { expression: (_a = this._expressionElement) === null || _a === void 0 ? void 0 : _a.value });
|
174
|
-
this._promiseResolver(this._expressionItem);
|
175
|
-
this._opened = false;
|
176
|
-
}
|
177
|
-
buildFilterExpression() {
|
178
|
-
var _a;
|
179
|
-
this._informedInstance = this.isInformedInstance();
|
180
|
-
const expression = PersonalizedFilterUtils.buildFilterExpression(this.getExpressionValues());
|
181
|
-
this._expressionElement.value = expression || ((_a = this._expressionItem) === null || _a === void 0 ? void 0 : _a.expression);
|
182
|
-
this._canSave = this.getCanSave();
|
183
|
-
}
|
184
|
-
handleChangeInstance() {
|
185
|
-
this._informedInstance = this.isInformedInstance();
|
186
|
-
if (this._fieldElement != undefined && !core.StringUtils.isEmpty(this._fieldElement.value)) {
|
187
|
-
this._fieldElement.value = null;
|
188
|
-
}
|
189
|
-
this.buildFilterExpression();
|
190
|
-
}
|
191
|
-
getInstanceCriteria() {
|
192
|
-
var _a, _b;
|
193
|
-
const value = (_b = (_a = this._instanceElement) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.value;
|
194
|
-
return {
|
195
|
-
expression: "this.NOMETAB = (SELECT NOMETAB FROM TDDINS WHERE NOMEINSTANCIA = ?)",
|
196
|
-
params: [
|
197
|
-
{
|
198
|
-
name: "NOMEINSTANCIA",
|
199
|
-
dataType: core.DataType.TEXT,
|
200
|
-
value
|
201
|
-
}
|
202
|
-
]
|
203
|
-
};
|
204
|
-
}
|
205
|
-
onSearch({ mode, argument }, entity) {
|
206
|
-
if (this._application == undefined) {
|
207
|
-
return;
|
208
|
-
}
|
209
|
-
const isField = entity === index.FilterEntities.FIELD;
|
210
|
-
const criteria = isField ? this.getInstanceCriteria() : undefined;
|
211
|
-
const messageKey = `snkFilterParamConfig.label${isField ? "Field" : "Instance"}`;
|
212
|
-
const entityDescription = this.getMessage(messageKey);
|
213
|
-
const searchOptions = {
|
214
|
-
descriptionFieldName: isField ? "DESCRCAMPO" : "DESCRINSTANCIA",
|
215
|
-
codeFieldName: isField ? "NOMECAMPO" : "NOMEINSTANCIA",
|
216
|
-
showInactives: false
|
217
|
-
};
|
218
|
-
const options = {
|
219
|
-
entity,
|
220
|
-
entityDescription,
|
221
|
-
criteria,
|
222
|
-
searchOptions
|
223
|
-
};
|
224
|
-
return this._application.executePreparedSearch(mode, argument, options);
|
225
|
-
}
|
226
|
-
getElementID(sufix) {
|
227
|
-
return {
|
228
|
-
[core.ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: core.ElementIDUtils.getInternalIDInfo(sufix)
|
229
|
-
};
|
230
|
-
}
|
231
|
-
getCanSave() {
|
232
|
-
var _a;
|
233
|
-
if (this._configType === index.FilterConfigType.USER_CONFIG) {
|
234
|
-
const description = (_a = this._descriptionElement) === null || _a === void 0 ? void 0 : _a.value;
|
235
|
-
const type = this.getTypeValue();
|
236
|
-
return !core.StringUtils.isEmpty(description) && !core.StringUtils.isEmpty(type);
|
237
|
-
}
|
238
|
-
return true;
|
239
|
-
}
|
240
|
-
componentWillLoad() {
|
241
|
-
this._application = core.ApplicationContext.getContextValue("__SNK__APPLICATION__");
|
242
|
-
}
|
243
|
-
render() {
|
244
|
-
core.ElementIDUtils.addIDInfoIfNotExists(this._element, 'snkFilterParamConfig');
|
245
|
-
return (index$1.h("ez-popup", Object.assign({ useHeader: false, size: "small", heightMode: "auto", opened: this._opened }, this.getElementID("popup")), index$1.h("ez-modal-container", Object.assign({ onEzModalAction: (evt) => {
|
246
|
-
if (evt.detail === ezModalContainer.ModalAction.CLOSE)
|
247
|
-
this.close();
|
248
|
-
}, modalTitle: this.getMessage("snkFilterParamConfig.modalTitle") }, this.getElementID("modalContainer")), index$1.h("div", { class: "ez-flex" }, index$1.h("div", { class: "ez-col ez-col--sd-6 ez-flex--column" }, index$1.h("ez-radio-button", Object.assign({ value: this._configType, onEzChange: (evt) => this.changeDefinitionUsed(evt.detail) }, this.getElementID("systemConfigOption")), index$1.h("ez-radio-button-option", { label: this.getMessage("snkFilterParamConfig.labelSystemConfig"), value: index.FilterConfigType.SYSTEM_CONFIG })), index$1.h("ez-search", Object.assign({ ref: (ref) => this._instanceElement = ref, label: this.getMessage("snkFilterParamConfig.labelInstance"), enabled: this.isEnabled(index.FilterConfigType.SYSTEM_CONFIG), suppressEmptyOption: true, showOptionValue: false, showSelectedValue: false, onEzChange: () => this.handleChangeInstance(), optionLoader: (searchArgument) => this.onSearch(searchArgument, index.FilterEntities.INSTANCE) }, this.getElementID("configFindEntity"))), index$1.h("ez-search", Object.assign({ ref: (ref) => this._fieldElement = ref, label: this.getMessage("snkFilterParamConfig.labelField"), enabled: this.isEnabled(index.FilterConfigType.SYSTEM_CONFIG) && this._informedInstance, suppressEmptyOption: true, showOptionValue: false, showSelectedValue: false, onEzChange: () => this.buildFilterExpression(), optionLoader: (searchArgument) => this.onSearch(searchArgument, index.FilterEntities.FIELD) }, this.getElementID("configFindField")))), index$1.h("div", { class: "ez-flex ez-padding--medium" }, index$1.h("hr", { class: "ez-divider-vertical" })), index$1.h("div", { class: "ez-col ez-col--sd-6 ez-flex--column" }, index$1.h("ez-radio-button", Object.assign({ value: this._configType, onEzChange: (evt) => this.changeDefinitionUsed(evt.detail) }, this.getElementID("userConfigOption")), index$1.h("ez-radio-button-option", { label: this.getMessage("snkFilterParamConfig.labelUserConfig"), value: index.FilterConfigType.USER_CONFIG })), index$1.h("ez-text-input", Object.assign({ ref: (ref) => this._descriptionElement = ref, label: this.getMessage("snkFilterParamConfig.labelDescription"), enabled: this.isEnabled(index.FilterConfigType.USER_CONFIG), onEzChange: () => this.buildFilterExpression() }, this.getElementID("configParamLabel"))), index$1.h("ez-combo-box", Object.assign({ ref: (ref) => this._typeElement = ref, label: this.getMessage("snkFilterParamConfig.labelType"), enabled: this.isEnabled(index.FilterConfigType.USER_CONFIG), suppressEmptyOption: true, onEzChange: () => this.buildFilterExpression() }, this.getElementID("configParamType")), Object.keys(index.FilterUserConfigTypes).map((configType) => {
|
249
|
-
return (index$1.h("option", { value: index.FilterUserConfigTypes[configType] }, this.getMessage(`snkFilterParamConfig.labelTypeValues.${configType.toLowerCase()}`)));
|
250
|
-
})))), index$1.h("ez-text-area", Object.assign({ ref: (ref) => this._expressionElement = ref, class: "snk-filter-param-config__expression", label: this.getMessage("snkFilterParamConfig.labelExpression"), enabled: false }, this.getElementID("presentationExpression"))), index$1.h("div", { class: "ez-col ez-col--sd-12 ez-flex--justify-end ez-margin-vertical--small" }, index$1.h("ez-button", Object.assign({ class: "ez-padding-right--medium", label: this.getMessage("snkFilterParamConfig.labelCancel"), onClick: () => this.close() }, this.getElementID("cancelEditParam"))), index$1.h("ez-button", Object.assign({ class: "ez-button--primary", label: this.getMessage("snkFilterParamConfig.labelSave"), onClick: () => this.save(), enabled: this._canSave }, this.getElementID("saveEditParam")))))));
|
251
|
-
}
|
252
|
-
get _element() { return index$1.getElement(this); }
|
253
|
-
};
|
254
|
-
SnkFilterParamConfig.style = snkFilterParamConfigCss;
|
255
|
-
|
256
|
-
exports.snk_filter_param_config = SnkFilterParamConfig;
|
@@ -1,30 +0,0 @@
|
|
1
|
-
'use strict';
|
2
|
-
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
4
|
-
|
5
|
-
const index = require('./index-21bd01e1.js');
|
6
|
-
const core = require('@sankhyalabs/core');
|
7
|
-
|
8
|
-
const snkSimpleBarCss = ".sc-snk-simple-bar-h{display:flex;height:100%;width:100%}.simple-bar__container.sc-snk-simple-bar{flex:1;display:flex;align-items:stretch;gap:var(--space--small)}.simple-bar__left-slot.sc-snk-simple-bar{min-width:280px;flex:1;display:flex;align-items:center}.simple-bar__right-slot.sc-snk-simple-bar{flex:1;display:flex;align-items:center;justify-content:flex-end}.simple-bar__column.sc-snk-simple-bar{flex:1;display:flex;flex-direction:column}";
|
9
|
-
|
10
|
-
const SnkSimpleBar = class {
|
11
|
-
constructor(hostRef) {
|
12
|
-
index.registerInstance(this, hostRef);
|
13
|
-
this.clickBreadcrumbItem = index.createEvent(this, "clickBreadcrumbItem", 3);
|
14
|
-
this.exit = index.createEvent(this, "exit", 3);
|
15
|
-
this.label = undefined;
|
16
|
-
this.breadcrumbItens = undefined;
|
17
|
-
}
|
18
|
-
componentDidLoad() {
|
19
|
-
if (!this._element)
|
20
|
-
return;
|
21
|
-
core.ElementIDUtils.addIDInfo(this._element);
|
22
|
-
}
|
23
|
-
render() {
|
24
|
-
return (index.h("div", { class: "simple-bar__container ez-margin-vertical--medium ez-padding--extra-small" }, index.h("div", { class: "simple-bar__left-slot" }, index.h("ez-button", { class: "ez-padding-right--medium", mode: 'icon', iconName: "arrow_back", size: 'medium', onClick: () => this.exit.emit() }), index.h("div", { class: "simple-bar__column" }, index.h("h1", { class: "ez-title ez-title--primary ez-title--extra-large" }, this.label), index.h("ez-breadcrumb", { items: this.breadcrumbItens, onSelectedItem: ({ detail }) => this.clickBreadcrumbItem.emit(detail) }))), index.h("div", { class: "simple-bar__right-slot" }, index.h("slot", { name: "rightSlot" }))));
|
25
|
-
}
|
26
|
-
get _element() { return index.getElement(this); }
|
27
|
-
};
|
28
|
-
SnkSimpleBar.style = snkSimpleBarCss;
|
29
|
-
|
30
|
-
exports.snk_simple_bar = SnkSimpleBar;
|
@@ -1,26 +0,0 @@
|
|
1
|
-
import { r as registerInstance, c as createEvent, h, g as getElement } from './index-cfd4bb13.js';
|
2
|
-
import { ElementIDUtils } from '@sankhyalabs/core';
|
3
|
-
|
4
|
-
const snkSimpleBarCss = ".sc-snk-simple-bar-h{display:flex;height:100%;width:100%}.simple-bar__container.sc-snk-simple-bar{flex:1;display:flex;align-items:stretch;gap:var(--space--small)}.simple-bar__left-slot.sc-snk-simple-bar{min-width:280px;flex:1;display:flex;align-items:center}.simple-bar__right-slot.sc-snk-simple-bar{flex:1;display:flex;align-items:center;justify-content:flex-end}.simple-bar__column.sc-snk-simple-bar{flex:1;display:flex;flex-direction:column}";
|
5
|
-
|
6
|
-
const SnkSimpleBar = class {
|
7
|
-
constructor(hostRef) {
|
8
|
-
registerInstance(this, hostRef);
|
9
|
-
this.clickBreadcrumbItem = createEvent(this, "clickBreadcrumbItem", 3);
|
10
|
-
this.exit = createEvent(this, "exit", 3);
|
11
|
-
this.label = undefined;
|
12
|
-
this.breadcrumbItens = undefined;
|
13
|
-
}
|
14
|
-
componentDidLoad() {
|
15
|
-
if (!this._element)
|
16
|
-
return;
|
17
|
-
ElementIDUtils.addIDInfo(this._element);
|
18
|
-
}
|
19
|
-
render() {
|
20
|
-
return (h("div", { class: "simple-bar__container ez-margin-vertical--medium ez-padding--extra-small" }, h("div", { class: "simple-bar__left-slot" }, h("ez-button", { class: "ez-padding-right--medium", mode: 'icon', iconName: "arrow_back", size: 'medium', onClick: () => this.exit.emit() }), h("div", { class: "simple-bar__column" }, h("h1", { class: "ez-title ez-title--primary ez-title--extra-large" }, this.label), h("ez-breadcrumb", { items: this.breadcrumbItens, onSelectedItem: ({ detail }) => this.clickBreadcrumbItem.emit(detail) }))), h("div", { class: "simple-bar__right-slot" }, h("slot", { name: "rightSlot" }))));
|
21
|
-
}
|
22
|
-
get _element() { return getElement(this); }
|
23
|
-
};
|
24
|
-
SnkSimpleBar.style = snkSimpleBarCss;
|
25
|
-
|
26
|
-
export { SnkSimpleBar as snk_simple_bar };
|
@@ -1 +0,0 @@
|
|
1
|
-
import{r as t,c as i,h as s,g as e}from"./p-b9667fbe.js";import{ElementIDUtils as h,ApplicationContext as a}from"@sankhyalabs/core";import{T as o}from"./p-74724fa7.js";import"./p-41d92871.js";import"./p-11028eba.js";import{P as n}from"./p-f132e371.js";import{c as r}from"./p-f587a454.js";import"./p-98f7f796.js";import"./p-112455b1.js";const d=class{constructor(s){t(this,s),this.actionClick=i(this,"actionClick",7),this._dataUnit=void 0,this._dataState=void 0,this._currentViewMode=r.GRID,this.configName=void 0,this.actionsList=void 0,this.taskbarManager=void 0,this.recordsValidator=void 0,this.statusResolver=void 0,this.multipleSelection=!0,this.presentationMode=n.PRIMARY,this.messagesBuilder=void 0}async goToView(t){this.executeAction(t)}async gridToForm(t=!1){this._backToGrid=!t&&await this._viewStack.getSelectedIndex()===r.GRID,this.setViewMode(r.FORM)}async executeAction(t){t===o.GRID_MODE?this.setViewMode(r.GRID):t===o.FORM_MODE||t===o.UPDATE?this.gridToForm(t!==o.UPDATE):t===o.CONFIGURATOR&&this._snkConfigurator.open()}setViewMode(t){this._viewStack.show(t),this._currentViewMode=t}openConfig(t){this._snkConfigurator.close(),t===r.GRID?this._snkGrid.showConfig():t===r.FORM&&this._guidesViewer.showFormConfig()}addDataElementID(){h.addIDInfo(this._element,null,{dataUnit:this._dataUnit})}insertionModeHandler(){this.gridToForm()}cancelHandler(){this._backToGrid&&this.setViewMode(r.GRID)}componentWillLoad(){let t=this._element.parentElement;for(;t;){if("SNK-DATA-UNIT"===t.tagName.toUpperCase()){this._snkDataUnit=t,this._snkDataUnit.addEventListener("insertionMode",(()=>this.insertionModeHandler())),this._snkDataUnit.addEventListener("cancelEdition",(()=>this.cancelHandler())),this._dataUnit=this._snkDataUnit.dataUnit,this._dataState=this._snkDataUnit.dataState,this._dataUnit?this.initDataUnit():this._snkDataUnit.addEventListener("dataUnitReady",(t=>{this._dataUnit=t.detail,this.initDataUnit()})),this._snkDataUnit.addEventListener("dataStateChange",(t=>{this._dataState=t.detail}));break}t=t.parentElement}if(!this.configName){const t=a.getContextValue("__SNK__APPLICATION__");this.configName=t.configName}}initDataUnit(){this.addDataElementID(),this.messagesBuilder||(this.messagesBuilder=this._snkDataUnit.messagesBuilder)}render(){return s("ez-view-stack",{ref:t=>this._viewStack=t,"data-element-id":"crud"},s("stack-item",null,s("snk-grid",{ref:t=>this._snkGrid=t,"data-element-id":"crud_grid",configName:this.configName,onGridDoubleClick:()=>this.gridToForm(!0),taskbarManager:this.taskbarManager,onActionClick:t=>this.executeAction(t.detail),messagesBuilder:this.messagesBuilder,actionsList:this.actionsList,statusResolver:this.statusResolver,multipleSelection:this.multipleSelection,presentationMode:this.presentationMode},s("slot",{name:"SnkGridHeader"}),s("slot",{name:"SnkGridFooter"}),s("slot",{name:"SnkGridTaskBar"}))),s("stack-item",null,s("snk-guides-viewer",{ref:t=>this._guidesViewer=t,entityPath:this._snkDataUnit.entityName,messagesBuilder:this.messagesBuilder,onExit:()=>this.setViewMode(r.GRID),dataState:this._dataState,dataUnit:this._dataUnit,actionsList:this.actionsList,taskbarManager:this.taskbarManager,configName:this.configName,onActionClick:t=>this.executeAction(t.detail),presentationMode:this.presentationMode,"data-element-id":"crud_form"},s("slot",{name:"SnkFormTaskBar"}))),s("snk-configurator",{ref:t=>this._snkConfigurator=t,viewMode:this._currentViewMode,messagesBuilder:this.messagesBuilder,onConfigSelected:t=>this.setViewMode(t.detail),onOpenConfig:t=>this.openConfig(t.detail)}))}get _element(){return e(this)}};d.style=".sc-snk-crud-h{display:flex;flex-direction:column;height:100%;width:100%}";export{d as snk_crud}
|
@@ -1 +0,0 @@
|
|
1
|
-
const e={saveInfo:{clone:"Duplicação realizada!",insert:"Inclusão realizada!",update:"Alteração realizada!"},cancelInfo:{clone:"Duplicação descartada!",insert:"A inclusão descartada!",update:"A edição foi descartada!"},confirm:{cancel:"Cancelar",delete:"Excluir",yes:"Sim",no:"Não"},removeInfo:"Registro removido com sucesso!",cancelConfirmationTitle:"Aviso",cancelConfirmation:"As alterações realizadas serão descartadas<br/><br/><b>Você realmente gostaria de cancelar?",removeConfirmationTitle:"Aviso",removeConfirmation:"Deseja realmente excluir o registro atual?",forbidden:"Sem permissão",forbiddenUpdate:"Não é possível fazer alterações. Verifique as permissões de acesso.",forbiddenInsert:"Não é possível incluir. Verifique as permissões de acesso.",forbiddenClone:"Não é possível duplicar. Verifique as permissões de acesso.",forbiddenRemove:"Não é possível remover. Verifique as permissões de acesso.",removeAllConfirmation:"Os <strong>{{size}} registros selecionados</strong> serão excluídos.<br/><br/><strong>Você realmente gostaria de continuar?</strong>",removeAllInfo:"Os {{size}} registros foram removidos com sucesso!"},a={addFilter:"Adicionar filtro",pinFilter:"Fixar filtro",unpinFilter:"Desfixar filtro",removeFilter:"Remover filtro",cleanFilter:"Limpar",applyFilter:"Aplicar",findFilter:"Buscar filtros...",findField:"Buscar filtros...",modalFindFilter:"Buscar filtro",emptyFiltersList:"Não há filtros disponíveis",emptyAppliedFiltersList:"Não há filtros aplicados",customFilter:"Filtro personalizado",defaultFilter:"Filtro padrão",failToLoadConfig:"Falha ao buscar configuração de filtros",clearAllFilters:"Limpar todos os filtros",successfullyCleaned:"Filtro limpo com sucesso!",activeFilter:"{{ACTIVE_FILTERS}} filtro aplicado",activeFilters:"{{ACTIVE_FILTERS}} filtros aplicados",noActiveFilters:"Nenhum filtro aplicado",modalDefaultFilterTitle:"Filtro padrão",modalInfoTextEditDefault:"Use o layout antigo para editar o seu filtro padrão, em breve traremos uma nova experiência.",modalInfoTextCreateDefault:"Use o layout antigo para criar o seu filtro padrão, em breve traremos uma nova experiência.",modalPersonalizedFilterTitle:"Filtro personalizado",modalPersonalizedFilterSubTitle:"Gerencie seus filtros",modalInfoTextCreateEditPersonalized:"Use o layout antigo para criar ou editar filtros, em breve traremos uma nova experiência",modalOkButtonLabel:"Aplicar",modalCancelButtonLabel:"Limpar"},r={titleUpdate:"Editar",titlePrevious:"Anterior",titleNext:"Próximo",titleRefresh:"Atualizar",titleClone:"Duplicar",titleRemove:"Excluir",titleMoreOptions:"Mais Opções",titleInsert:"Cadastrar",titleCancel:"Cancelar",titleSave:"Salvar",titleGridMode:"Modo Grade",titleFormMode:"Modo Formulário",titleConfigurator:"Configurações",forbidden:"Permissão não liberada"},o={errorArray:"CrudUtils.find deve receber um array de fields, ou uma lista separada por virgula."},i={emailSenderTitle:"Enviar por email",emailSenderBackButton:"Voltar",emailSenderNextButton:"Avançar",emailSenderCancelButton:"Cancelar",emailSenderSendButton:"Enviar",emailSenderOptStep_subtitle:"Primeiro, escolha o formato do arquivo",emailSenderOptStep_lblFormat:"Formato:",emailSenderOptStep_formatPDF:"PDF (.pdf)",emailSenderOptStep_formatXLSX:"Planilha (.xlsx)",emailSenderOptStep_export:"Exportar:",emailSenderOptStep_allData:"Toda a grade",emailSenderOptStep_currentPage:"Somente a página atual",emailSenderOptStep_someRecords:"{{SELECTION_COUNT}} linhas selecionadas",emailSenderOptStep_oneRecord:"Somente a linha selecionada",emailSenderInfoStep_subtitle:"Informações de email",emailSenderInfoStep_sendTo:"Enviar para",emailSenderInfoStep_subject:"Assunto",emailSenderInfoStep_message:"Mensagem"},s={title:{clone:"Duplicar registro",insert:"Cadastrar registro",update:"Alterar registro",clean:"{{ENTITY_NAME}}"},goBackTitle:"Voltar"},l={error:{title:"Erro na Exportação",message:"O usuário não possui permissão para exportar o arquivo."},message:{exportSuccess:"Exportado com sucesso!"}},t={label:{nameField:"Nome do Campo *",typeValueDefault:"Tipo de valor padrão *",valueDefault:"Valor Padrão",clearDuplicate:"Limpar ao Duplicar",requiredField:"Campo Obrigatório",protectedField:"Campo Protegido"},options:{valueFixed:"Valor Fixo",variable:"Variável"}},n={title:"Configuração do formulário",goBackTitle:"Voltar",applyConfig:"Aplicar configuração",availableFields:{title:"Campos disponíveis",labelNoFields:"Nenhum campo disponível",labelOneField:"1 campo disponível",labelAvailableFields:"Campos disponíveis",labelSearchField:"Procurar campo"},form:{subTitleInfo:"Inclua estes campos nos grupos ou deixe-os separados no topo do formulário!",labelDropField:"Arraste e solte um campo aqui",labelNewGroup:"Adicionar novo grupo",mainArea:"Área principal",tabGeneral:"Geral"},confirm:{title:"Aviso",deleteTab:"Você realmente deseja excluir a aba",cancel:"As alterações realizadas serão descartadas.<br/><br/><b>Gostaria de continuar?</b>",exit:"Ao sair as alterações serão descartadas.<br/><br/><b>Você realmente gostaria de sair?</b>",apply:"A <b>{0}</b> irá substituir a sua configuração {1}!<br/><br/><b>Deseja continuar?</b>",group:"Não é possível salvar as configurações com um grupo vazio!",labelCancel:"Cancelar",labelDelete:"Excluir"},alert:{titleGroupExists:"Já existe um grupo com título",infoValidTitle:"Por favor, digite um título válido.",inTab:"na aba"},info:{successfullyConfigSaved:"As configurações foram salvas com sucesso!"}},d={titleRemove:"Remover",titleConfigurations:"Configurações",titleAdd:"Adicionar"},c={labelRename:"Renomear",labelHide:"Ocultar",labelShow:"Exibir",labelDelete:"Excluir"},u={titleConfigurations:"Configurações",subTitleModeConfig:"Modo de visualização",labelConfigGrid:"Configurar grade",labelConfigForm:"Configurar formulário",labelGrid:"Grade",labelForm:"Formulário"},m={},p={gridConfiguration:"Configuração da Grade",columnVisibilityOrder:"Defina visibilidade e ordem das colunas.",sortingSequence:"Sequência da ordenação",findColumn:"Localizar coluna",cancel:"Cancelar",complete:"Concluir",tab:{columns:"Colunas",lineOrdering:"Ordenação das linhas"},info:{successfullyConfigSaved:"As configurações foram salvas com sucesso!"},confirm:{cancel:"Descartar",save:"Salvar",alert:"Aviso",msgCancel:"As alterações realizadas serão descartadas. Gostaria de salvar antes de sair?"},group:{visible:"Visíveis",hidden:"Ocultas"}},f={group:{export:{default:"Exportar para",multiSelected:"Exportar {0} linhas selecionadas",selectedLine:"Exportar somente 1 linha selecionada",title:"Exportar"},custom:"Personalizado"},label:{currentPage:"Somente a página atual",spreadsheet:"Planilha",cube:"Cubo",sendByEmail:"Enviar por email"},message:{emailSuccess:"E-mail enviado com sucesso",exportError:"Usuário sem permissão",exportPermission:"O usuário não possui permissão para exportar o arquivo."},title:{error:"Erro"},limitExceeded:{title:"Atenção",description:"Apenas os {{limit}} primeiros registros serão exportados. Deseja continuar?",subdescription:"Caso seja necessária uma quantidade maior de registros exportados, utilize o Extrator de Dados através de um Relatório Personalizado.",cancel:"Cancelar",continue:"Continuar"}},g={modalTitle:"Configuração de valor variável",labelSystemConfig:"Usar definições do sistema",labelUserConfig:"Usar definições personalizadas",labelInstance:"Categoria",labelField:"Campo",labelDescription:"Descrição (obrigatório) *",labelType:"Tipo (obrigatório) *",labelTypeValues:{date:"Data",text:"Texto",integer:"Número Inteiro",decimal:"Número com Decimal"},labelExpression:"Expressão",labelCancel:"Cancelar",labelSave:"Salvar"},b={searchLabel:"Buscar campo",fieldLabel:"Campos de {{link}}",linkLabel:"Categorias de {{link}}"};class v{constructor(v){this._defaults={snkDataUnit:e,snkFormConfig:n,snkConfigOptions:t,snkTaskbar:r,snkFieldConfig:d,snkFilterBar:a,snkConfigurator:u,snkTabConfig:c,crudUtils:o,snkGrid:m,snkGridConfig:p,snkExporter:i,snkDataExporter:f,snkCrud:s,fileViewer:l,snkFilterParamConfig:g,snkFilterFieldSearch:b},this._currentOperation=C.CLEAN,this._domainName=v,this.loadAppMessages().then((e=>{this._appMessages=e}),(e=>{console.info("O arquivo de mensagens personalizadas não foi encontrado no caminho /messages/appmessages.js",e)}))}set currentOperation(e){this._currentOperation=e}getMessage(e,a){if(null==e)return;var r=e.split(".");let o=this.resolveMessage(r,this.getDomainMessages());if(null==o&&(o=this.resolveMessage(r,this._defaults)),this.customMessageBuilder){const r=this.customMessageBuilder(e,o,a);o=r.message,a=r.params}return this.postProcess(o,a)}getDomainMessages(){return null==this._domainName?this._appMessages.Global||this._appMessages:null==this._appMessages?void 0:this._appMessages[this._domainName]}resolveMessage(e,a){if(null==a)return;const r=a[e[0]];return r?this.isOperationSensitive(r)?r[this._currentOperation]:1===e.length||null==r||"string"==typeof r?r:this.resolveMessage(e.slice(1),r):void 0}isOperationSensitive(e){return null!=e[C.CLONE]||null!=e[C.INSERT]||null!=e[C.UPDATE]||null!=e[C.CLEAN]}postProcess(e,a){if(e){const r=/(.*?)\{\{(.+?)\}\}/g;let o,i="",s=e;for(;null!==(o=r.exec(e));){const[r,l,t]=o,n=o.index+r.length;s=n<e.length?e.substring(n):"";let d=a?a[t]:void 0;null==d&&(d=""),i+=l+d}return i+s}return e}loadAppMessages(){return new Promise(((e,a)=>{const r="dev"!==window.applicationenv?`/${window.MGE_MODULE_NAME}/labsApps/${window.APPLICATION_NAME}/build/messages/appmessages.js`:"/messages/appmessages.js";import(r).then((a=>{e(a.default)})).catch((e=>{a(e)}))}))}}var C;!function(e){e.CLONE="clone",e.INSERT="insert",e.UPDATE="update",e.CLEAN="clean"}(C||(C={}));export{C as O,v as S}
|