@sankhyalabs/sankhyablocks 8.9.5 → 8.10.0-rc.1
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-90552fe8.js → ConfigStorage-49d4681c.js} +1 -1
- package/dist/cjs/{PersonalizedFilterUtils-2f7823fc.js → PersonalizedFilterUtils-0184ffbb.js} +1 -1
- package/dist/cjs/{SnkFormConfigManager-0561602d.js → SnkFormConfigManager-d4184bfa.js} +1 -1
- package/dist/cjs/{filter-item-type.enum-aa823a00.js → filter-item-type.enum-a7ffdaa6.js} +1 -0
- package/dist/cjs/index-f9e81701.js +4 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/sankhyablocks.cjs.js +1 -1
- package/dist/cjs/snk-actions-button.cjs.entry.js +1 -1
- package/dist/cjs/snk-application.cjs.entry.js +37 -2
- package/dist/cjs/snk-crud.cjs.entry.js +72 -8
- package/dist/cjs/snk-detail-view.cjs.entry.js +4 -4
- package/dist/cjs/snk-filter-advanced-mode_2.cjs.entry.js +2 -2
- package/dist/cjs/snk-filter-bar.cjs.entry.js +27 -4
- package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
- package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +52 -0
- package/dist/cjs/snk-filter-detail.cjs.entry.js +9 -2
- package/dist/cjs/snk-filter-field-search_2.cjs.entry.js +2 -2
- package/dist/cjs/snk-filter-item.cjs.entry.js +25 -14
- package/dist/cjs/snk-filter-modal-item.cjs.entry.js +5 -3
- package/dist/cjs/snk-filter-modal.cjs.entry.js +16 -5
- package/dist/cjs/snk-filter-multi-select.cjs.entry.js +1 -1
- package/dist/cjs/snk-filter-number.cjs.entry.js +1 -1
- package/dist/cjs/snk-filter-period.cjs.entry.js +1 -1
- package/dist/cjs/snk-filter-search.cjs.entry.js +1 -1
- package/dist/cjs/snk-form.cjs.entry.js +3 -3
- package/dist/cjs/snk-grid-config.cjs.entry.js +2 -2
- package/dist/cjs/snk-grid.cjs.entry.js +2 -2
- package/dist/cjs/{snk-guides-viewer-676dd526.js → snk-guides-viewer-0d5aad6b.js} +2 -2
- package/dist/cjs/snk-guides-viewer.cjs.entry.js +4 -4
- package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +1 -1
- package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
- package/dist/cjs/snk-simple-crud.cjs.entry.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/snk-application/snk-application.js +47 -1
- package/dist/collection/components/snk-crud/snk-crud.js +71 -7
- package/dist/collection/components/snk-filter-bar/filter-item/dataunitfilter/data-unit-filter-builder.js +19 -0
- package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.js +95 -0
- package/dist/collection/components/snk-filter-bar/filter-item/filter-item-type.enum.js +1 -0
- package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +7 -0
- package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +24 -13
- package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +14 -3
- package/dist/collection/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.js +3 -1
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +5 -1
- package/dist/collection/lib/workspace/workspace.js +12 -0
- package/dist/components/filter-item-type.enum.js +1 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.js +1 -0
- package/dist/components/snk-application2.js +37 -1
- package/dist/components/snk-crud.js +71 -7
- package/dist/components/snk-filter-bar2.js +24 -1
- package/dist/components/snk-filter-checkbox-list.d.ts +11 -0
- package/dist/components/snk-filter-checkbox-list.js +68 -0
- package/dist/components/snk-filter-detail2.js +7 -0
- package/dist/components/snk-filter-item2.js +24 -13
- package/dist/components/snk-filter-modal-item2.js +3 -1
- package/dist/components/snk-filter-modal.js +14 -3
- package/dist/esm/{ConfigStorage-84abda58.js → ConfigStorage-9a086412.js} +1 -1
- package/dist/esm/{PersonalizedFilterUtils-49a5dcb7.js → PersonalizedFilterUtils-e2b38ef7.js} +1 -1
- package/dist/esm/{SnkFormConfigManager-655943d0.js → SnkFormConfigManager-709e68a2.js} +1 -1
- package/dist/esm/{filter-item-type.enum-5028ed3f.js → filter-item-type.enum-d45e026f.js} +1 -0
- package/dist/esm/index-a7d3d3f1.js +4 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/sankhyablocks.js +1 -1
- package/dist/esm/snk-actions-button.entry.js +1 -1
- package/dist/esm/snk-application.entry.js +38 -3
- package/dist/esm/snk-crud.entry.js +72 -8
- package/dist/esm/snk-detail-view.entry.js +4 -4
- package/dist/esm/snk-filter-advanced-mode_2.entry.js +2 -2
- package/dist/esm/snk-filter-bar.entry.js +27 -4
- package/dist/esm/snk-filter-binary-select.entry.js +1 -1
- package/dist/esm/snk-filter-checkbox-list.entry.js +48 -0
- package/dist/esm/snk-filter-detail.entry.js +9 -2
- package/dist/esm/snk-filter-field-search_2.entry.js +2 -2
- package/dist/esm/snk-filter-item.entry.js +25 -14
- package/dist/esm/snk-filter-modal-item.entry.js +5 -3
- package/dist/esm/snk-filter-modal.entry.js +16 -5
- package/dist/esm/snk-filter-multi-select.entry.js +1 -1
- package/dist/esm/snk-filter-number.entry.js +1 -1
- package/dist/esm/snk-filter-period.entry.js +1 -1
- package/dist/esm/snk-filter-search.entry.js +1 -1
- package/dist/esm/snk-form.entry.js +3 -3
- package/dist/esm/snk-grid-config.entry.js +2 -2
- package/dist/esm/snk-grid.entry.js +2 -2
- package/dist/esm/{snk-guides-viewer-746e2547.js → snk-guides-viewer-9c50ebea.js} +2 -2
- package/dist/esm/snk-guides-viewer.entry.js +4 -4
- package/dist/esm/snk-personalized-filter-editor.entry.js +1 -1
- package/dist/esm/snk-personalized-filter.entry.js +3 -3
- package/dist/esm/snk-simple-crud.entry.js +1 -1
- package/dist/sankhyablocks/{p-29529c8f.entry.js → p-01ba23cd.entry.js} +1 -1
- package/dist/sankhyablocks/{p-43b2aad5.js → p-057fad05.js} +1 -1
- package/dist/sankhyablocks/p-117b0848.entry.js +11 -0
- package/dist/sankhyablocks/{p-c6800fd4.entry.js → p-1626c58f.entry.js} +1 -1
- package/dist/sankhyablocks/{p-6e32de4b.entry.js → p-1b7105ae.entry.js} +1 -1
- package/dist/sankhyablocks/{p-cb37982f.entry.js → p-20726710.entry.js} +1 -1
- package/dist/sankhyablocks/{p-8f307ef2.entry.js → p-29ffb7d7.entry.js} +1 -1
- package/dist/sankhyablocks/{p-a3fbded7.entry.js → p-2e1a8609.entry.js} +1 -1
- package/dist/sankhyablocks/{p-c78a80ae.entry.js → p-3ab6df3d.entry.js} +1 -1
- package/dist/sankhyablocks/{p-5eb3ac18.js → p-3fd145ac.js} +1 -1
- package/dist/sankhyablocks/{p-eb636e15.entry.js → p-41f8bfa3.entry.js} +1 -1
- package/dist/sankhyablocks/{p-d7665a57.entry.js → p-57196255.entry.js} +1 -1
- package/dist/sankhyablocks/{p-a9b6acf1.js → p-5cff2f60.js} +1 -1
- package/dist/sankhyablocks/p-6977a26c.entry.js +1 -0
- package/dist/sankhyablocks/{p-fc257290.entry.js → p-7e2ded86.entry.js} +1 -1
- package/dist/sankhyablocks/{p-c0931902.entry.js → p-8002dcd0.entry.js} +1 -1
- package/dist/sankhyablocks/p-84a53f61.entry.js +1 -0
- package/dist/sankhyablocks/p-a037f5b4.entry.js +1 -0
- package/dist/sankhyablocks/p-aaa3ee68.entry.js +1 -0
- package/dist/sankhyablocks/{p-26ad62b9.entry.js → p-c758265f.entry.js} +1 -1
- package/dist/sankhyablocks/{p-fe49067d.entry.js → p-c8622597.entry.js} +1 -1
- package/dist/sankhyablocks/p-d05d3e37.entry.js +1 -0
- package/dist/sankhyablocks/p-d6317851.entry.js +1 -0
- package/dist/sankhyablocks/{p-718ecd01.entry.js → p-df841828.entry.js} +1 -1
- package/dist/sankhyablocks/{p-a4401f5f.entry.js → p-e1aec599.entry.js} +1 -1
- package/dist/sankhyablocks/p-fab8339c.entry.js +1 -0
- package/dist/sankhyablocks/{p-b54e06ca.js → p-fad0a721.js} +1 -1
- package/dist/sankhyablocks/{p-584d7212.js → p-ff1990ad.js} +1 -1
- package/dist/sankhyablocks/{p-0d5e8a37.entry.js → p-ff90e0e6.entry.js} +1 -1
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-application/snk-application.d.ts +10 -1
- package/dist/types/components/snk-crud/snk-crud.d.ts +6 -0
- package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.d.ts +27 -0
- package/dist/types/components/snk-filter-bar/filter-item/filter-item-type.enum.d.ts +2 -1
- package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +2 -0
- package/dist/types/components.d.ts +35 -1
- package/dist/types/lib/workspace/workspace.d.ts +3 -0
- package/package.json +1 -1
- package/react/components.d.ts +1 -0
- package/react/components.js +1 -0
- package/react/components.js.map +1 -1
- package/dist/sankhyablocks/p-1ae31937.entry.js +0 -1
- package/dist/sankhyablocks/p-25df73bf.entry.js +0 -1
- package/dist/sankhyablocks/p-2640ba03.entry.js +0 -1
- package/dist/sankhyablocks/p-993e27ad.entry.js +0 -1
- package/dist/sankhyablocks/p-c606c748.entry.js +0 -1
- package/dist/sankhyablocks/p-d4c72815.entry.js +0 -1
- package/dist/sankhyablocks/p-f3479d53.entry.js +0 -11
@@ -0,0 +1,52 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
4
|
+
|
5
|
+
const index = require('./index-f9e81701.js');
|
6
|
+
const core = require('@sankhyalabs/core');
|
7
|
+
const filterItemType_enum = require('./filter-item-type.enum-a7ffdaa6.js');
|
8
|
+
|
9
|
+
const SnkFilterCheckboxList = class {
|
10
|
+
constructor(hostRef) {
|
11
|
+
index.registerInstance(this, hostRef);
|
12
|
+
this.valueChanged = index.createEvent(this, "valueChanged", 7);
|
13
|
+
this.config = undefined;
|
14
|
+
this.optionsList = [];
|
15
|
+
}
|
16
|
+
componentDidLoad() {
|
17
|
+
if (this._element) {
|
18
|
+
core.ElementIDUtils.addIDInfo(this._element, 'filterContentEditor');
|
19
|
+
}
|
20
|
+
}
|
21
|
+
handleToggleCheck(itemChanged, checked) {
|
22
|
+
var _a, _b;
|
23
|
+
let configValueMap = (_a = this.config.value) !== null && _a !== void 0 ? _a : {};
|
24
|
+
configValueMap[itemChanged.name] = checked;
|
25
|
+
this.config = Object.assign(Object.assign({}, this.config), { value: configValueMap });
|
26
|
+
this.valueChanged.emit((_b = this.config) === null || _b === void 0 ? void 0 : _b.value);
|
27
|
+
}
|
28
|
+
renderOptions() {
|
29
|
+
return this.optionsList.map(option => (index.h("ez-check", { label: option.label, compact: true, onEzChange: (event) => this.handleToggleCheck(option, event.detail), value: !!this.isChecked(option.name) })));
|
30
|
+
}
|
31
|
+
isChecked(itemName) {
|
32
|
+
var _a;
|
33
|
+
return (_a = this.config.value) === null || _a === void 0 ? void 0 : _a[itemName];
|
34
|
+
}
|
35
|
+
buidOptions() {
|
36
|
+
var _a, _b, _c;
|
37
|
+
const propsOptions = (_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.props) === null || _b === void 0 ? void 0 : _b.options) !== null && _c !== void 0 ? _c : [];
|
38
|
+
this.optionsList = [...propsOptions];
|
39
|
+
}
|
40
|
+
componentWillRender() {
|
41
|
+
this.buidOptions();
|
42
|
+
}
|
43
|
+
render() {
|
44
|
+
if (!this.config || this.config.type !== filterItemType_enum.FilterItemType.CHECK_BOX_LIST) {
|
45
|
+
return undefined;
|
46
|
+
}
|
47
|
+
return (index.h("div", { class: 'ez-flex ez-flex--column' }, this.renderOptions()));
|
48
|
+
}
|
49
|
+
get _element() { return index.getElement(this); }
|
50
|
+
};
|
51
|
+
|
52
|
+
exports.snk_filter_checkbox_list = SnkFilterCheckboxList;
|
@@ -4,10 +4,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
5
5
|
const index = require('./index-f9e81701.js');
|
6
6
|
const utils = require('@sankhyalabs/ezui/dist/collection/utils');
|
7
|
-
const filterItemType_enum = require('./filter-item-type.enum-
|
7
|
+
const filterItemType_enum = require('./filter-item-type.enum-a7ffdaa6.js');
|
8
8
|
const core = require('@sankhyalabs/core');
|
9
9
|
const presentationMode = require('./presentationMode-52ec3bdd.js');
|
10
|
-
const PersonalizedFilterUtils = require('./PersonalizedFilterUtils-
|
10
|
+
const PersonalizedFilterUtils = require('./PersonalizedFilterUtils-0184ffbb.js');
|
11
11
|
require('./index-c5771aba.js');
|
12
12
|
|
13
13
|
const SnkFilterDetail = class {
|
@@ -59,6 +59,13 @@ const SnkFilterDetail = class {
|
|
59
59
|
}
|
60
60
|
};
|
61
61
|
return snkFilterPersonalizedProps;
|
62
|
+
case filterItemType_enum.FilterItemType.CHECK_BOX_LIST:
|
63
|
+
return {
|
64
|
+
tag: "snk-filter-checkbox-list",
|
65
|
+
props: {
|
66
|
+
onValueChanged: evt => this.config = Object.assign(Object.assign({}, this.config), { value: evt.detail })
|
67
|
+
}
|
68
|
+
};
|
62
69
|
case filterItemType_enum.FilterItemType.MULTI_LIST:
|
63
70
|
return {
|
64
71
|
tag: "snk-entity-list",
|
@@ -7,8 +7,8 @@ const index$1 = require('./index-8d94b7e0.js');
|
|
7
7
|
const core = require('@sankhyalabs/core');
|
8
8
|
const ezModalContainer = require('@sankhyalabs/ezui/dist/collection/components/ez-modal-container');
|
9
9
|
const index$2 = require('./index-c5771aba.js');
|
10
|
-
const PersonalizedFilterUtils = require('./PersonalizedFilterUtils-
|
11
|
-
require('./filter-item-type.enum-
|
10
|
+
const PersonalizedFilterUtils = require('./PersonalizedFilterUtils-0184ffbb.js');
|
11
|
+
require('./filter-item-type.enum-a7ffdaa6.js');
|
12
12
|
|
13
13
|
const ICON_MODES = {
|
14
14
|
[core.UserInterface.SHORTTEXT]: 'text',
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
5
5
|
const index = require('./index-f9e81701.js');
|
6
6
|
const core = require('@sankhyalabs/core');
|
7
|
-
const filterItemType_enum = require('./filter-item-type.enum-
|
7
|
+
const filterItemType_enum = require('./filter-item-type.enum-a7ffdaa6.js');
|
8
8
|
const filterNumberVariation = require('./filterNumberVariation-d65332da.js');
|
9
9
|
|
10
10
|
const SnkFilterItem = class {
|
@@ -132,7 +132,7 @@ const SnkFilterItem = class {
|
|
132
132
|
}
|
133
133
|
}
|
134
134
|
getLabel(isTooltipLabel = false) {
|
135
|
-
var _a;
|
135
|
+
var _a, _b;
|
136
136
|
const { type, value, label, props, groupedItems = [] } = this.config;
|
137
137
|
if (value || groupedItems.length) {
|
138
138
|
if (type === filterItemType_enum.FilterItemType.BINARY_SELECT) {
|
@@ -193,18 +193,15 @@ const SnkFilterItem = class {
|
|
193
193
|
}
|
194
194
|
if (type === filterItemType_enum.FilterItemType.MULTI_LIST) {
|
195
195
|
const selectedOptions = ((_a = value.elements) !== null && _a !== void 0 ? _a : value).filter(item => item === null || item === void 0 ? void 0 : item.check);
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
}
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
return `${label}: ${checkedAmount} ${this.getMessage('snkFilterBar.multiListToltip')}`;
|
206
|
-
}
|
207
|
-
return `${label}: ${selectedOptions[0].label}`;
|
196
|
+
return this.getLabelFromCheckedOptions(selectedOptions, label, isTooltipLabel);
|
197
|
+
}
|
198
|
+
if (type === filterItemType_enum.FilterItemType.CHECK_BOX_LIST) {
|
199
|
+
const selectedValues = Object.entries(value !== null && value !== void 0 ? value : {})
|
200
|
+
.filter(([_, value]) => value === true)
|
201
|
+
.map(([key, _]) => key);
|
202
|
+
const options = (_b = props.options) !== null && _b !== void 0 ? _b : [];
|
203
|
+
const selectedOptions = options.filter(option => selectedValues.includes(option.name));
|
204
|
+
return this.getLabelFromCheckedOptions(selectedOptions, label, isTooltipLabel);
|
208
205
|
}
|
209
206
|
if (type === filterItemType_enum.FilterItemType.NUMBER && props.variation === filterNumberVariation.FilterNumberVariation.INTERVAL) {
|
210
207
|
const { start, end } = value;
|
@@ -222,6 +219,20 @@ const SnkFilterItem = class {
|
|
222
219
|
}
|
223
220
|
return label;
|
224
221
|
}
|
222
|
+
getLabelFromCheckedOptions(selectedOptions, label, isTooltipLabel) {
|
223
|
+
const checkedAmount = selectedOptions.length;
|
224
|
+
if (checkedAmount === 0) {
|
225
|
+
return `${label}`;
|
226
|
+
}
|
227
|
+
if (checkedAmount > 1) {
|
228
|
+
if (isTooltipLabel) {
|
229
|
+
const selectedOptionsDescrptions = selectedOptions.map(item => item.label);
|
230
|
+
return `${label}: ${selectedOptionsDescrptions.join(',')}`;
|
231
|
+
}
|
232
|
+
return `${label}: ${checkedAmount} ${this.getMessage('snkFilterBar.multiListToltip')}`;
|
233
|
+
}
|
234
|
+
return `${label}: ${selectedOptions[0].label}`;
|
235
|
+
}
|
225
236
|
calculateActiveCount(groupedItems) {
|
226
237
|
return groupedItems.reduce((total, item) => {
|
227
238
|
if (!!item.visible)
|
@@ -4,9 +4,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
5
5
|
const index = require('./index-f9e81701.js');
|
6
6
|
const core = require('@sankhyalabs/core');
|
7
|
-
const filterItemType_enum = require('./filter-item-type.enum-
|
7
|
+
const filterItemType_enum = require('./filter-item-type.enum-a7ffdaa6.js');
|
8
8
|
const presentationMode = require('./presentationMode-52ec3bdd.js');
|
9
|
-
const ConfigStorage = require('./ConfigStorage-
|
9
|
+
const ConfigStorage = require('./ConfigStorage-49d4681c.js');
|
10
10
|
const filterType_enum = require('./filter-type.enum-b14ce507.js');
|
11
11
|
require('./form-config-fetcher-00372ac0.js');
|
12
12
|
require('./DataFetcher-1b1e9ff0.js');
|
@@ -46,6 +46,8 @@ const SnkFilterModalItem = class {
|
|
46
46
|
return { tag: "snk-filter-number", props };
|
47
47
|
case filterItemType_enum.FilterItemType.PERSONALIZED:
|
48
48
|
return this.buildSnkFilterPersonalizedProps();
|
49
|
+
case filterItemType_enum.FilterItemType.CHECK_BOX_LIST:
|
50
|
+
return { tag: "snk-filter-checkbox-list", props };
|
49
51
|
case filterItemType_enum.FilterItemType.MULTI_LIST:
|
50
52
|
return { tag: "snk-entity-list", props: { maxHeightList: "640px", rightListSlotBuilder: item => this.buildRightSlot(item) } };
|
51
53
|
}
|
@@ -69,7 +71,7 @@ const SnkFilterModalItem = class {
|
|
69
71
|
this.filterItem = Object.assign(Object.assign({}, this.filterItem), { visible: newValue > 0, value: newValue, groupedItems: data.items });
|
70
72
|
}
|
71
73
|
else {
|
72
|
-
this.filterItem = Object.assign(Object.assign({}, this.filterItem), { value: this.filterItem.type === filterItemType_enum.FilterItemType.SEARCH ? data : newValue, visible: this.isVisible(newValue) });
|
74
|
+
this.filterItem = Object.assign(Object.assign({}, this.filterItem), { value: this.filterItem.type === (filterItemType_enum.FilterItemType.SEARCH || filterItemType_enum.FilterItemType.CHECK_BOX_LIST) ? data : newValue, visible: this.isVisible(newValue) });
|
73
75
|
}
|
74
76
|
}
|
75
77
|
handleDeleteFilter(filter, filterItemType) {
|
@@ -6,9 +6,9 @@ const index = require('./index-f9e81701.js');
|
|
6
6
|
const ezModalContainer = require('@sankhyalabs/ezui/dist/collection/components/ez-modal-container');
|
7
7
|
const utils = require('@sankhyalabs/ezui/dist/collection/utils');
|
8
8
|
const filterType_enum = require('./filter-type.enum-b14ce507.js');
|
9
|
-
const filterItemType_enum = require('./filter-item-type.enum-
|
9
|
+
const filterItemType_enum = require('./filter-item-type.enum-a7ffdaa6.js');
|
10
10
|
const core = require('@sankhyalabs/core');
|
11
|
-
const PersonalizedFilterUtils = require('./PersonalizedFilterUtils-
|
11
|
+
const PersonalizedFilterUtils = require('./PersonalizedFilterUtils-0184ffbb.js');
|
12
12
|
const filterNumberVariation = require('./filterNumberVariation-d65332da.js');
|
13
13
|
require('./index-c5771aba.js');
|
14
14
|
|
@@ -128,10 +128,15 @@ const SnkFilterModal = class {
|
|
128
128
|
const index = filterListCopy.findIndex(item => item.id === filterItem.id);
|
129
129
|
filterListCopy.splice(index, 1, filterItemCopy);
|
130
130
|
this.filters = core.ObjectUtils.copy(filterListCopy);
|
131
|
+
return;
|
131
132
|
}
|
132
|
-
|
133
|
-
|
133
|
+
if (filterItemType_enum.FilterItemType.CHECK_BOX_LIST === filterItem.type) {
|
134
|
+
const filterListCopy = core.ObjectUtils.copy(this.filters);
|
135
|
+
filterListCopy.find(filter => filter.id === filterItem.id).value = undefined;
|
136
|
+
this.filters = core.ObjectUtils.copy(filterListCopy);
|
137
|
+
return;
|
134
138
|
}
|
139
|
+
this.filters.find(filter => filter.id === filterItem.id).value = undefined;
|
135
140
|
}
|
136
141
|
uncheckFilterValues(valueList) {
|
137
142
|
valueList.forEach(value => {
|
@@ -180,11 +185,17 @@ const SnkFilterModal = class {
|
|
180
185
|
getIformedFiltersCount(listItems) {
|
181
186
|
let countInformedItens = 0;
|
182
187
|
listItems.forEach(item => {
|
183
|
-
var _a, _b, _c, _d, _e;
|
188
|
+
var _a, _b, _c, _d, _e, _f;
|
184
189
|
if (filterItemType_enum.FilterItemType.MULTI_LIST === item.type) {
|
185
190
|
countInformedItens += (_e = (_d = (_c = ((_b = (_a = item.value) === null || _a === void 0 ? void 0 : _a.elements) !== null && _b !== void 0 ? _b : item.value)) === null || _c === void 0 ? void 0 : _c.filter(value => value === null || value === void 0 ? void 0 : value.check)) === null || _d === void 0 ? void 0 : _d.length) !== null && _e !== void 0 ? _e : 0;
|
186
191
|
return;
|
187
192
|
}
|
193
|
+
if (filterItemType_enum.FilterItemType.CHECK_BOX_LIST === item.type) {
|
194
|
+
countInformedItens += Object.entries((_f = item.value) !== null && _f !== void 0 ? _f : {})
|
195
|
+
.filter(([_, value]) => value === true)
|
196
|
+
.map(([key, _]) => key).length;
|
197
|
+
return;
|
198
|
+
}
|
188
199
|
if (item.groupedItems != undefined) {
|
189
200
|
countInformedItens = item.groupedItems.filter(item => item.visible).length;
|
190
201
|
return;
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
5
5
|
const index = require('./index-f9e81701.js');
|
6
6
|
const core = require('@sankhyalabs/core');
|
7
|
-
const filterItemType_enum = require('./filter-item-type.enum-
|
7
|
+
const filterItemType_enum = require('./filter-item-type.enum-a7ffdaa6.js');
|
8
8
|
|
9
9
|
const SnkFilterMultiSelect = class {
|
10
10
|
constructor(hostRef) {
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
5
5
|
const index = require('./index-f9e81701.js');
|
6
6
|
const core = require('@sankhyalabs/core');
|
7
|
-
const filterItemType_enum = require('./filter-item-type.enum-
|
7
|
+
const filterItemType_enum = require('./filter-item-type.enum-a7ffdaa6.js');
|
8
8
|
const presentationMode = require('./presentationMode-52ec3bdd.js');
|
9
9
|
const filterNumberVariation = require('./filterNumberVariation-d65332da.js');
|
10
10
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
5
5
|
const index = require('./index-f9e81701.js');
|
6
6
|
const core = require('@sankhyalabs/core');
|
7
|
-
const filterItemType_enum = require('./filter-item-type.enum-
|
7
|
+
const filterItemType_enum = require('./filter-item-type.enum-a7ffdaa6.js');
|
8
8
|
const presentationMode = require('./presentationMode-52ec3bdd.js');
|
9
9
|
|
10
10
|
const SnkFilterPeriod = class {
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
5
5
|
const index = require('./index-f9e81701.js');
|
6
6
|
const core = require('@sankhyalabs/core');
|
7
|
-
const filterItemType_enum = require('./filter-item-type.enum-
|
7
|
+
const filterItemType_enum = require('./filter-item-type.enum-a7ffdaa6.js');
|
8
8
|
|
9
9
|
const SnkFilterSearch = class {
|
10
10
|
constructor(hostRef) {
|
@@ -4,14 +4,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
5
5
|
const index = require('./index-f9e81701.js');
|
6
6
|
const core = require('@sankhyalabs/core');
|
7
|
-
const SnkFormConfigManager = require('./SnkFormConfigManager-
|
7
|
+
const SnkFormConfigManager = require('./SnkFormConfigManager-d4184bfa.js');
|
8
8
|
const ResourceIDUtils = require('./ResourceIDUtils-5ff86aa7.js');
|
9
|
-
require('./ConfigStorage-
|
9
|
+
require('./ConfigStorage-49d4681c.js');
|
10
10
|
require('./form-config-fetcher-00372ac0.js');
|
11
11
|
require('./DataFetcher-1b1e9ff0.js');
|
12
12
|
require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
|
13
13
|
require('./PrintUtils-bcaeb82f.js');
|
14
|
-
require('./filter-item-type.enum-
|
14
|
+
require('./filter-item-type.enum-a7ffdaa6.js');
|
15
15
|
|
16
16
|
const snkFormCss = ".sc-snk-form-h{--snk-form__header--min-height:94px;display:block}.snk-form__form--hidden.sc-snk-form{display:none}";
|
17
17
|
|
@@ -6,13 +6,13 @@ const index = require('./index-f9e81701.js');
|
|
6
6
|
const core = require('@sankhyalabs/core');
|
7
7
|
const utils = require('@sankhyalabs/ezui/dist/collection/utils');
|
8
8
|
const CheckMode = require('@sankhyalabs/ezui/dist/collection/components/ez-check/CheckMode');
|
9
|
-
const ConfigStorage = require('./ConfigStorage-
|
9
|
+
const ConfigStorage = require('./ConfigStorage-49d4681c.js');
|
10
10
|
const constants = require('./constants-35ddd366.js');
|
11
11
|
require('./form-config-fetcher-00372ac0.js');
|
12
12
|
require('./DataFetcher-1b1e9ff0.js');
|
13
13
|
require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
|
14
14
|
require('./PrintUtils-bcaeb82f.js');
|
15
|
-
require('./filter-item-type.enum-
|
15
|
+
require('./filter-item-type.enum-a7ffdaa6.js');
|
16
16
|
|
17
17
|
const snkGridConfigCss = ".sc-snk-grid-config-h{--snk-grid-config__footer--padding-top:var(--space--medium, 12px);--snk-grid-config__main--padding-right:var(--space--medium, 12px);--snk-grid-config__tabselector-container--padding:var(--space--medium, 12px);--snk-grid-config__button-close--padding-left:var(--space--medium, 12px);--snk-grid-config__title--color:var(--title--primary, #2B3A54);--snk-grid-config__title--font-family:var(--font-pattern, \"Roboto\");--snk-grid-config__title--font-size:var(--title--large, 20px);--snk-grid-config__title--font-weight:var(--text-weight--extra-large, 700);--snk-grid-config__subtitle--font-family:var(--font-pattern, \"Roboto\");--snk-grid-config__subtitle--font-size:var(--text--medium, 14px);--snk-grid-config__group--font-family:var(--font-pattern, \"Roboto\");--snk-grid-config__group--font-size:var(--text--medium, 14px);--snk-grid-config__group--font-weight:var(--text-weight--large, 600);--snk-grid-config__group--padding-bottom:var(--space-small, 6px);--snk-grid-config__scrollbar--color-default:var(--scrollbar--default, #626e82);--snk-grid-config__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--snk-grid-config__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--snk-grid-config__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--snk-grid-config__scrollbar--border-radius:var(--border--radius-small, 6px);--snk-grid-config__scrollbar--width:var(--space--medium, 12px);display:grid;grid-template-rows:auto 1fr auto;max-height:100%;width:100%}@media screen and (min-width: 480px){.sc-snk-grid-config-h{width:359px;max-width:359px}}.padding-right--medium.sc-snk-grid-config{padding-right:var(--space--medium)}ez-list.sc-snk-grid-config{height:100%}.height-calc.sc-snk-grid-config{max-height:calc(100% - 24px)}.grid-config__footer.sc-snk-grid-config{display:flex;justify-content:flex-end;width:100%;padding-top:var(--snk-grid-config__footer--padding-top)}.hidden.sc-snk-grid-config{display:none}.tabselector-container.sc-snk-grid-config{padding:var(--snk-grid-config__tabselector-container--padding) 0}.button-close.sc-snk-grid-config{padding-left:var(--snk-grid-config__button-close--padding-left)}.title-container.sc-snk-grid-config{display:flex;justify-content:space-between;align-items:center;width:100%}.title.sc-snk-grid-config{display:flex;margin:0;line-height:normal;letter-spacing:0em;text-align:left;color:var(--snk-grid-config__title--color);font-size:var(--snk-grid-config__title--font-size);font-family:var(--snk-grid-config__title--font-family);font-weight:var(--snk-grid-config__title--font-weight)}.subtitle.sc-snk-grid-config{color:var(--text--primary);font-size:var(--snk-grid-config__subtitle--font-size);font-family:var(--snk-grid-config__subtitle--font-family)}.grid-config__main.sc-snk-grid-config{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--snk-grid-config__scrollbar--color-clicked) var(--snk-grid-config__scrollbar--color-background);padding-right:var(--snk-grid-config__main--padding-right)}.grid-config__main.sc-snk-grid-config::-webkit-scrollbar{width:var(--snk-grid-config__scrollbar--width);max-width:var(--snk-grid-config__scrollbar--width);min-width:var(--snk-grid-config__scrollbar--width);background-color:var(--snk-grid-config__scrollbar--color-background)}.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-track{background-color:var(--snk-grid-config__scrollbar--color-background);border-radius:var(--snk-grid-config__scrollbar--border-radius)}.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-thumb{background-color:var(--snk-grid-config__scrollbar--color-default);border-radius:var(--snk-grid-config__scrollbar--border-radius)}.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-thumb:vertical:hover,.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--snk-grid-config__scrollbar--color-hover)}.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-thumb:vertical:active,.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--snk-grid-config__scrollbar--color-clicked)}.group-name.sc-snk-grid-config{font-family:var(--snk-grid-config__group--font-family);font-size:var(--snk-grid-config__group--font-size);font-weight:var(--snk-grid-config__group--font-weight);padding-bottom:var(--snk-grid-config__group--padding-bottom)}";
|
18
18
|
|
@@ -6,7 +6,7 @@ const index = require('./index-f9e81701.js');
|
|
6
6
|
const core = require('@sankhyalabs/core');
|
7
7
|
const UnitMetadata = require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
|
8
8
|
const taskbarElements = require('./taskbar-elements-39949c7a.js');
|
9
|
-
const ConfigStorage = require('./ConfigStorage-
|
9
|
+
const ConfigStorage = require('./ConfigStorage-49d4681c.js');
|
10
10
|
const index$1 = require('./index-0e663819.js');
|
11
11
|
const taskbarProcessor = require('./taskbar-processor-bce3f499.js');
|
12
12
|
const index$2 = require('./index-102ba62d.js');
|
@@ -15,7 +15,7 @@ const DataUnit = require('@sankhyalabs/core/dist/dataunit/DataUnit');
|
|
15
15
|
require('./form-config-fetcher-00372ac0.js');
|
16
16
|
require('./DataFetcher-1b1e9ff0.js');
|
17
17
|
require('./PrintUtils-bcaeb82f.js');
|
18
|
-
require('./filter-item-type.enum-
|
18
|
+
require('./filter-item-type.enum-a7ffdaa6.js');
|
19
19
|
require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils/InMemoryFilterColumnDataSource');
|
20
20
|
require('./PreloadManager-84466da6.js');
|
21
21
|
require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
const index = require('./index-f9e81701.js');
|
4
4
|
const core = require('@sankhyalabs/core');
|
5
|
-
const SnkFormConfigManager = require('./SnkFormConfigManager-
|
5
|
+
const SnkFormConfigManager = require('./SnkFormConfigManager-d4184bfa.js');
|
6
6
|
const form = require('@sankhyalabs/ezui/dist/collection/utils/form');
|
7
7
|
const taskbarProcessor = require('./taskbar-processor-bce3f499.js');
|
8
8
|
const taskbarElements = require('./taskbar-elements-39949c7a.js');
|
@@ -15,7 +15,7 @@ require('@sankhyalabs/ezui/dist/collection/utils/constants');
|
|
15
15
|
require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
|
16
16
|
require('./dataunit-fetcher-38233d72.js');
|
17
17
|
require('./PreloadManager-84466da6.js');
|
18
|
-
require('./filter-item-type.enum-
|
18
|
+
require('./filter-item-type.enum-a7ffdaa6.js');
|
19
19
|
require('./form-config-fetcher-00372ac0.js');
|
20
20
|
const DataUnit = require('@sankhyalabs/core/dist/dataunit/DataUnit');
|
21
21
|
|
@@ -2,16 +2,16 @@
|
|
2
2
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
4
4
|
|
5
|
-
const snkGuidesViewer = require('./snk-guides-viewer-
|
5
|
+
const snkGuidesViewer = require('./snk-guides-viewer-0d5aad6b.js');
|
6
6
|
require('./index-f9e81701.js');
|
7
7
|
require('@sankhyalabs/core');
|
8
|
-
require('./SnkFormConfigManager-
|
9
|
-
require('./ConfigStorage-
|
8
|
+
require('./SnkFormConfigManager-d4184bfa.js');
|
9
|
+
require('./ConfigStorage-49d4681c.js');
|
10
10
|
require('./form-config-fetcher-00372ac0.js');
|
11
11
|
require('./DataFetcher-1b1e9ff0.js');
|
12
12
|
require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
|
13
13
|
require('./PrintUtils-bcaeb82f.js');
|
14
|
-
require('./filter-item-type.enum-
|
14
|
+
require('./filter-item-type.enum-a7ffdaa6.js');
|
15
15
|
require('@sankhyalabs/ezui/dist/collection/utils/form');
|
16
16
|
require('./taskbar-processor-bce3f499.js');
|
17
17
|
require('./taskbar-elements-39949c7a.js');
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
5
5
|
const index = require('./index-f9e81701.js');
|
6
6
|
const core = require('@sankhyalabs/core');
|
7
|
-
const filterItemType_enum = require('./filter-item-type.enum-
|
7
|
+
const filterItemType_enum = require('./filter-item-type.enum-a7ffdaa6.js');
|
8
8
|
const presentationMode = require('./presentationMode-52ec3bdd.js');
|
9
9
|
const EzScrollDirection = require('@sankhyalabs/ezui/dist/collection/components/ez-scroller/EzScrollDirection');
|
10
10
|
const utils = require('@sankhyalabs/ezui/dist/collection/utils');
|
@@ -4,12 +4,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
5
5
|
const index = require('./index-f9e81701.js');
|
6
6
|
const core = require('@sankhyalabs/core');
|
7
|
-
const PersonalizedFilterUtils = require('./PersonalizedFilterUtils-
|
8
|
-
const ConfigStorage = require('./ConfigStorage-
|
7
|
+
const PersonalizedFilterUtils = require('./PersonalizedFilterUtils-0184ffbb.js');
|
8
|
+
const ConfigStorage = require('./ConfigStorage-49d4681c.js');
|
9
9
|
const utils = require('@sankhyalabs/ezui/dist/collection/utils');
|
10
10
|
const index$1 = require('./index-c5771aba.js');
|
11
11
|
const index$2 = require('./index-102ba62d.js');
|
12
|
-
require('./filter-item-type.enum-
|
12
|
+
require('./filter-item-type.enum-a7ffdaa6.js');
|
13
13
|
require('./form-config-fetcher-00372ac0.js');
|
14
14
|
require('./DataFetcher-1b1e9ff0.js');
|
15
15
|
require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
|
@@ -14,7 +14,7 @@ require('@sankhyalabs/ezui/dist/collection/utils/constants');
|
|
14
14
|
require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
|
15
15
|
const dataunitFetcher = require('./dataunit-fetcher-38233d72.js');
|
16
16
|
require('./PreloadManager-84466da6.js');
|
17
|
-
require('./filter-item-type.enum-
|
17
|
+
require('./filter-item-type.enum-a7ffdaa6.js');
|
18
18
|
require('./form-config-fetcher-00372ac0.js');
|
19
19
|
const taskbarProcessor = require('./taskbar-processor-bce3f499.js');
|
20
20
|
const SnkMultiSelectionListDataSource = require('./SnkMultiSelectionListDataSource-ba5838c2.js');
|
@@ -24,6 +24,7 @@
|
|
24
24
|
"./components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js",
|
25
25
|
"./components/snk-filter-bar/filter-item/snk-filter-detail.js",
|
26
26
|
"./components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.js",
|
27
|
+
"./components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.js",
|
27
28
|
"./components/snk-filter-bar/filter-item/editors/snk-filter-multi-select.js",
|
28
29
|
"./components/snk-filter-bar/filter-item/editors/snk-filter-number.js",
|
29
30
|
"./components/snk-filter-bar/filter-item/editors/snk-filter-period.js",
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { ApplicationContext, DataType, DependencyType, ElementIDUtils, ErrorTracking, OnboardingUtils, StringUtils } from "@sankhyalabs/core";
|
1
|
+
import { ApplicationContext, DataType, DependencyType, ElementIDUtils, ErrorTracking, OnboardingUtils, StringUtils, KeyboardManager } from "@sankhyalabs/core";
|
2
2
|
import { ApplicationUtils } from "@sankhyalabs/ezui/dist/collection/utils";
|
3
3
|
import { h } from "@stencil/core";
|
4
4
|
import AppletCaller from "../../lib/applet-caller/applet-caller";
|
@@ -24,6 +24,7 @@ export class SnkApplication {
|
|
24
24
|
constructor() {
|
25
25
|
this.NEW_VERSION_POPUP_LOCKER = "NEW_VERSION_POPUP_LOCKER";
|
26
26
|
this._authPromises = [];
|
27
|
+
this._keyboardManager = new KeyboardManager();
|
27
28
|
this._duCache = new Map();
|
28
29
|
this._duPromises = new Map();
|
29
30
|
this._requestListener = new RequestListenerLoadingBar();
|
@@ -83,6 +84,14 @@ export class SnkApplication {
|
|
83
84
|
});
|
84
85
|
}
|
85
86
|
}
|
87
|
+
/**
|
88
|
+
* Obtém o controlador de teclado.
|
89
|
+
*
|
90
|
+
* @return {KeyboardManager} the keyboard manager
|
91
|
+
*/
|
92
|
+
async getKeyboardManager() {
|
93
|
+
return Promise.resolve(this._keyboardManager);
|
94
|
+
}
|
86
95
|
/**
|
87
96
|
* Obtém `true` caso o usuário logado seja o SUP.
|
88
97
|
*/
|
@@ -858,6 +867,7 @@ export class SnkApplication {
|
|
858
867
|
}
|
859
868
|
disconnectedCallback() {
|
860
869
|
DataFetcher.removeRequestListener(this._requestListener);
|
870
|
+
this.removeShortcuts();
|
861
871
|
}
|
862
872
|
async componentDidLoad() {
|
863
873
|
this.applicationLoading.emit(true);
|
@@ -868,6 +878,19 @@ export class SnkApplication {
|
|
868
878
|
});
|
869
879
|
ElementIDUtils.addIDInfo(this._element, `resource_${this.applicationResourceID}`);
|
870
880
|
await this.handleShowNewVersionPopup();
|
881
|
+
this.initKeyboardManager();
|
882
|
+
}
|
883
|
+
initKeyboardManager() {
|
884
|
+
this._keyboardManager
|
885
|
+
.bind("ctrl + g", Workspace.searchApp.bind(this), { description: "Pesquisar por telas" })
|
886
|
+
.bind("ctrl + d", Workspace.showDesktop.bind(this), { description: "Mostrar o desktop" })
|
887
|
+
.bind("F1", Workspace.openHelp.bind(this), { description: "Abrir ajuda" });
|
888
|
+
}
|
889
|
+
removeShortcuts() {
|
890
|
+
this._keyboardManager
|
891
|
+
.unbind("ctrl + g")
|
892
|
+
.unbind("ctrl + d")
|
893
|
+
.unbind("F1");
|
871
894
|
}
|
872
895
|
render() {
|
873
896
|
return (h("div", null, h("ez-loading-bar", { ref: (ref) => this._requestListener.loadingBar = ref }), h("ez-popup", { opened: false, ref: (ref) => this._popUp = ref, onEzClosePopup: () => this.closePopUp() }), h("ez-modal", { opened: false, ref: (ref) => this._rightModal = ref, "modal-size": "small", closeOutsideClick: true, closeEsc: true })));
|
@@ -979,6 +1002,29 @@ export class SnkApplication {
|
|
979
1002
|
}
|
980
1003
|
static get methods() {
|
981
1004
|
return {
|
1005
|
+
"getKeyboardManager": {
|
1006
|
+
"complexType": {
|
1007
|
+
"signature": "() => Promise<KeyboardManager>",
|
1008
|
+
"parameters": [],
|
1009
|
+
"references": {
|
1010
|
+
"Promise": {
|
1011
|
+
"location": "global"
|
1012
|
+
},
|
1013
|
+
"KeyboardManager": {
|
1014
|
+
"location": "import",
|
1015
|
+
"path": "@sankhyalabs/core"
|
1016
|
+
}
|
1017
|
+
},
|
1018
|
+
"return": "Promise<KeyboardManager>"
|
1019
|
+
},
|
1020
|
+
"docs": {
|
1021
|
+
"text": "Obt\u00E9m o controlador de teclado.",
|
1022
|
+
"tags": [{
|
1023
|
+
"name": "return",
|
1024
|
+
"text": "the keyboard manager"
|
1025
|
+
}]
|
1026
|
+
}
|
1027
|
+
},
|
982
1028
|
"isUserSup": {
|
983
1029
|
"complexType": {
|
984
1030
|
"signature": "() => Promise<boolean>",
|
@@ -118,9 +118,11 @@ export class SnkCrud {
|
|
118
118
|
return joinedPrimaryKeys;
|
119
119
|
}
|
120
120
|
componentWillLoad() {
|
121
|
-
|
122
|
-
application.hasAccess(AutorizationType.UPDATE, this._resourceID).then(canEdit => this._canEdit = canEdit);
|
121
|
+
this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
|
123
122
|
let parent = this._element.parentElement;
|
123
|
+
this._application
|
124
|
+
.hasAccess(AutorizationType.UPDATE, this._resourceID)
|
125
|
+
.then(canEdit => this._canEdit = canEdit);
|
124
126
|
while (parent) {
|
125
127
|
if (parent.tagName.toUpperCase() === "SNK-DATA-UNIT") {
|
126
128
|
this._snkDataUnit = parent;
|
@@ -131,11 +133,11 @@ export class SnkCrud {
|
|
131
133
|
if (!this._dataUnit) {
|
132
134
|
this._snkDataUnit.addEventListener("dataUnitReady", (evt) => {
|
133
135
|
this._dataUnit = evt.detail;
|
134
|
-
this.initDataUnit(
|
136
|
+
this.initDataUnit();
|
135
137
|
});
|
136
138
|
}
|
137
139
|
else {
|
138
|
-
this.initDataUnit(
|
140
|
+
this.initDataUnit();
|
139
141
|
}
|
140
142
|
this._snkDataUnit.addEventListener("dataStateChange", async ({ detail: dataState }) => {
|
141
143
|
this._dataState = dataState;
|
@@ -148,10 +150,72 @@ export class SnkCrud {
|
|
148
150
|
parent = parent.parentElement;
|
149
151
|
}
|
150
152
|
if (!this.configName) {
|
151
|
-
this.configName =
|
153
|
+
this.configName = this._application.configName;
|
152
154
|
}
|
153
155
|
}
|
154
|
-
|
156
|
+
componentDidLoad() {
|
157
|
+
this.initKeyboardManager();
|
158
|
+
}
|
159
|
+
disconnectedCallback() {
|
160
|
+
this.removeShortcuts();
|
161
|
+
}
|
162
|
+
async initKeyboardManager() {
|
163
|
+
const keyboardManager = await this._application.getKeyboardManager();
|
164
|
+
if (keyboardManager) {
|
165
|
+
const dataUnit = this._dataUnit || await this._snkDataUnit.getDataUnit();
|
166
|
+
keyboardManager
|
167
|
+
.bind("F6", this.toggleView.bind(this), { description: "Alterna entre modo formulário e grade." })
|
168
|
+
.bind("F7", dataUnit.saveData.bind(dataUnit), { description: "Salva os dados." })
|
169
|
+
.bind("ctrl + \\", dataUnit.saveData.bind(dataUnit), { description: "Salva os dados." })
|
170
|
+
.bind("F8", dataUnit.addRecord.bind(dataUnit), { description: "Adiciona um novo registro." })
|
171
|
+
.bind("F9", dataUnit.removeSelectedRecords.bind(dataUnit), { description: "Remove o registro selecionado." })
|
172
|
+
.bind("ctrl + F9", dataUnit.removeSelectedRecords.bind(dataUnit), { description: "Remove o registro selecionado." })
|
173
|
+
.bind("ctrl + .", () => {
|
174
|
+
if (dataUnit.getSelectionInfo().records.length === 0) {
|
175
|
+
return dataUnit.selectFirst();
|
176
|
+
}
|
177
|
+
return dataUnit.nextRecord();
|
178
|
+
}, {
|
179
|
+
description: "Avança para o próximo registro."
|
180
|
+
})
|
181
|
+
.bind("ctrl + ,", dataUnit.previousRecord.bind(dataUnit), { description: "Retorna ao registro anterior." })
|
182
|
+
.bind("F5", async () => {
|
183
|
+
const currentView = await this._viewStack.getSelectedIndex();
|
184
|
+
if (VIEW_MODE.GRID === currentView) {
|
185
|
+
dataUnit.loadData();
|
186
|
+
}
|
187
|
+
}, { description: "Atualiza os dados." })
|
188
|
+
.bind("Escape", () => {
|
189
|
+
if (dataUnit.isDirty()) {
|
190
|
+
dataUnit.cancelEdition();
|
191
|
+
}
|
192
|
+
}, {
|
193
|
+
debounceTime: 1000,
|
194
|
+
description: "Cancela uma ação."
|
195
|
+
});
|
196
|
+
}
|
197
|
+
}
|
198
|
+
async removeShortcuts() {
|
199
|
+
const keyboardManager = await this._application.getKeyboardManager();
|
200
|
+
if (keyboardManager) {
|
201
|
+
keyboardManager
|
202
|
+
.unbind("F6")
|
203
|
+
.unbind("F7")
|
204
|
+
.unbind("ctrl + \\")
|
205
|
+
.unbind("F8")
|
206
|
+
.unbind("F9")
|
207
|
+
.unbind("ctrl + F9")
|
208
|
+
.unbind("ctrl + .")
|
209
|
+
.unbind("ctrl + ,")
|
210
|
+
.unbind("F5")
|
211
|
+
.unbind("Escape");
|
212
|
+
}
|
213
|
+
}
|
214
|
+
async toggleView() {
|
215
|
+
const currentView = await this._viewStack.getSelectedIndex();
|
216
|
+
this.setViewMode(VIEW_MODE.GRID === currentView ? VIEW_MODE.FORM : VIEW_MODE.GRID);
|
217
|
+
}
|
218
|
+
async initDataUnit() {
|
155
219
|
this.addDataElementID();
|
156
220
|
if (!this.messagesBuilder) {
|
157
221
|
this.messagesBuilder = this._snkDataUnit.messagesBuilder;
|
@@ -160,7 +224,7 @@ export class SnkCrud {
|
|
160
224
|
//Tenta pegar o resourceID do snkDataUnit;
|
161
225
|
this._resourceID = this._snkDataUnit.resourceID;
|
162
226
|
if (this._resourceID == undefined) {
|
163
|
-
this._resourceID = await
|
227
|
+
this._resourceID = await this._application.getResourceID();
|
164
228
|
}
|
165
229
|
}
|
166
230
|
}
|