@sankhyalabs/sankhyablocks 8.16.0-dev.102 → 8.16.0-dev.105
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-bae64d0d.js → SnkMessageBuilder-aecd7c18.js} +31 -24
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/sankhyablocks.cjs.js +1 -1
- package/dist/cjs/snk-actions-button_7.cjs.entry.js +2 -2
- package/dist/cjs/snk-application.cjs.entry.js +1 -1
- package/dist/cjs/snk-attach.cjs.entry.js +1 -1
- package/dist/cjs/snk-crud.cjs.entry.js +18 -10
- package/dist/cjs/snk-data-exporter.cjs.entry.js +2 -2
- package/dist/cjs/{snk-data-unit-4b510d6e.js → snk-data-unit-9a463a4f.js} +225 -11
- package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
- package/dist/cjs/snk-detail-view.cjs.entry.js +3 -3
- package/dist/cjs/snk-grid.cjs.entry.js +21 -7
- package/dist/cjs/{snk-guides-viewer-e8e5f7b4.js → snk-guides-viewer-c9e1e97b.js} +98 -43
- package/dist/cjs/snk-guides-viewer.cjs.entry.js +2 -2
- package/dist/cjs/snk-simple-crud.cjs.entry.js +65 -22
- package/dist/cjs/snk-taskbar.cjs.entry.js +2 -1
- package/dist/cjs/{taskbar-elements-7e19882d.js → taskbar-elements-02379452.js} +3 -0
- package/dist/collection/components/snk-crud/snk-crud.js +35 -9
- package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +117 -43
- package/dist/collection/components/snk-data-unit/MultipleUpdateHelper.js +128 -0
- package/dist/collection/components/snk-data-unit/snk-data-unit.js +107 -12
- package/dist/collection/components/snk-grid/snk-grid.js +38 -6
- package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +83 -22
- package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.css +13 -0
- package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +1 -1
- package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +3 -0
- package/dist/collection/components/snk-taskbar/snk-taskbar.js +2 -2
- package/dist/collection/lib/message/SnkMessageBuilder.js +1 -0
- package/dist/collection/lib/message/resources/snk-data-unit.msg.js +28 -23
- package/dist/collection/lib/message/resources/snk-taskbar.msg.js +1 -0
- package/dist/components/SnkMessageBuilder.js +31 -24
- package/dist/components/snk-crud.js +18 -9
- package/dist/components/snk-data-unit2.js +225 -11
- package/dist/components/snk-detail-view2.js +98 -43
- package/dist/components/snk-grid2.js +21 -6
- package/dist/components/snk-simple-crud2.js +66 -22
- package/dist/components/snk-taskbar2.js +4 -0
- package/dist/components/taskbar-actions-button2.js +2 -2
- package/dist/esm/{SnkMessageBuilder-6fff4a4c.js → SnkMessageBuilder-12f5fe1a.js} +31 -24
- package/dist/esm/loader.js +1 -1
- package/dist/esm/sankhyablocks.js +1 -1
- package/dist/esm/snk-actions-button_7.entry.js +2 -2
- package/dist/esm/snk-application.entry.js +1 -1
- package/dist/esm/snk-attach.entry.js +1 -1
- package/dist/esm/snk-crud.entry.js +18 -10
- package/dist/esm/snk-data-exporter.entry.js +2 -2
- package/dist/esm/{snk-data-unit-7d0ce406.js → snk-data-unit-affee080.js} +225 -11
- package/dist/esm/snk-data-unit.entry.js +2 -2
- package/dist/esm/snk-detail-view.entry.js +3 -3
- package/dist/esm/snk-grid.entry.js +21 -7
- package/dist/esm/{snk-guides-viewer-c44b3839.js → snk-guides-viewer-3befd409.js} +99 -44
- package/dist/esm/snk-guides-viewer.entry.js +2 -2
- package/dist/esm/snk-simple-crud.entry.js +66 -23
- package/dist/esm/snk-taskbar.entry.js +2 -1
- package/dist/esm/{taskbar-elements-d2353c64.js → taskbar-elements-c62b6c66.js} +3 -0
- package/dist/sankhyablocks/{p-35f85998.entry.js → p-2101be8b.entry.js} +1 -1
- package/dist/sankhyablocks/{p-ef6f0a1b.entry.js → p-21a5acc4.entry.js} +1 -1
- package/dist/sankhyablocks/p-2d6df7e7.entry.js +1 -0
- package/dist/sankhyablocks/p-3f624cbe.js +1 -0
- package/dist/sankhyablocks/p-53e1de0a.entry.js +1 -0
- package/dist/sankhyablocks/{p-b2a2a83e.entry.js → p-624390bb.entry.js} +1 -1
- package/dist/sankhyablocks/{p-5cc206bb.entry.js → p-6541bb6d.entry.js} +1 -1
- package/dist/sankhyablocks/p-80f8c22c.js +1 -0
- package/dist/sankhyablocks/p-82177c24.js +1 -0
- package/dist/sankhyablocks/{p-754559b9.entry.js → p-a5e5574c.entry.js} +1 -1
- package/dist/sankhyablocks/{p-5503e89f.entry.js → p-cbb4c043.entry.js} +1 -1
- package/dist/sankhyablocks/p-cf685cef.entry.js +1 -0
- package/dist/sankhyablocks/p-dcfc8b35.entry.js +1 -0
- package/dist/sankhyablocks/{p-38e3ffda.entry.js → p-ea55f2ab.entry.js} +1 -1
- package/dist/sankhyablocks/p-fb0f0087.js +1 -0
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-crud/snk-crud.d.ts +4 -0
- package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +10 -1
- package/dist/types/components/snk-data-unit/MultipleUpdateHelper.d.ts +9 -0
- package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +17 -0
- package/dist/types/components/snk-grid/snk-grid.d.ts +5 -0
- package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +9 -2
- 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 +28 -0
- package/dist/types/lib/message/SnkMessageBuilder.d.ts +2 -1
- package/package.json +1 -1
- package/dist/sankhyablocks/p-17425c72.js +0 -1
- package/dist/sankhyablocks/p-3fc82614.js +0 -1
- package/dist/sankhyablocks/p-460f1827.entry.js +0 -1
- package/dist/sankhyablocks/p-6e0a5314.js +0 -1
- package/dist/sankhyablocks/p-835128f5.entry.js +0 -1
- package/dist/sankhyablocks/p-92778d5a.js +0 -1
- package/dist/sankhyablocks/p-a962a3e4.entry.js +0 -1
- package/dist/sankhyablocks/p-e35fe2bd.entry.js +0 -1
@@ -6,7 +6,7 @@ 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 constants = require('./constants-77c1b8bd.js');
|
9
|
-
const taskbarElements = require('./taskbar-elements-
|
9
|
+
const taskbarElements = require('./taskbar-elements-02379452.js');
|
10
10
|
require('./DataFetcher-1afdb18e.js');
|
11
11
|
require('./ISave-c76e2c51.js');
|
12
12
|
const ClientSideExporterProvider = require('./ClientSideExporterProvider-8c219037.js');
|
@@ -47,13 +47,6 @@ const SnkSimpleCrud = class {
|
|
47
47
|
this._formConfigFetcher = new formConfigFetcher.FormConfigFetcher();
|
48
48
|
this._customEditors = new Map();
|
49
49
|
this._customRenders = new Map();
|
50
|
-
this._taskbarProcessor = new fieldSearch.TaskbarProcessor({
|
51
|
-
"snkSimpleCrudTaskbar.form_regular": this.getButtons(false, [taskbarElements.TaskbarElement.GRID_MODE], true),
|
52
|
-
"snkSimpleCrudTaskbar.grid_regular": this.getButtons(false, [taskbarElements.TaskbarElement.DATA_EXPORTER, taskbarElements.TaskbarElement.FORM_MODE]),
|
53
|
-
"snkSimpleCrudTaskbar.form_selected": this.getButtons(true, [taskbarElements.TaskbarElement.GRID_MODE], true),
|
54
|
-
"snkSimpleCrudTaskbar.grid_selected": this.getButtons(true, [taskbarElements.TaskbarElement.DATA_EXPORTER, taskbarElements.TaskbarElement.FORM_MODE]),
|
55
|
-
"snkSimpleCrudTaskbar.finish_edition": this.getFinishEditionButtonsCallback.bind(this)
|
56
|
-
});
|
57
50
|
this._showPopUpGridConfig = false;
|
58
51
|
this._currentViewMode = constants.VIEW_MODE.GRID;
|
59
52
|
this._config = undefined;
|
@@ -86,6 +79,7 @@ const SnkSimpleCrud = class {
|
|
86
79
|
this.ignoreReadOnlyFormFields = false;
|
87
80
|
this.autoFocus = true;
|
88
81
|
this.domainMessagesBuilder = undefined;
|
82
|
+
this.multipleEditionEnabled = true;
|
89
83
|
this.layoutFormConfig = false;
|
90
84
|
this.autoLoad = undefined;
|
91
85
|
this.outlineMode = false;
|
@@ -146,8 +140,25 @@ const SnkSimpleCrud = class {
|
|
146
140
|
newCustomFieldProps.set(fieldName, Object.assign(Object.assign({}, currentProps), { [propName]: value }));
|
147
141
|
this._fieldsProps = newCustomFieldProps;
|
148
142
|
}
|
143
|
+
loadTaskbarProcessor() {
|
144
|
+
const taskbarIDs = {};
|
145
|
+
taskbarIDs[TASKBAR_ID.FORM_REGULAR] = this.getButtons(false, [taskbarElements.TaskbarElement.GRID_MODE], true);
|
146
|
+
taskbarIDs[TASKBAR_ID.GRID_REGULAR] = this.getButtons(false, [taskbarElements.TaskbarElement.DATA_EXPORTER, taskbarElements.TaskbarElement.FORM_MODE]);
|
147
|
+
taskbarIDs[TASKBAR_ID.FORM_SELECTED] = this.getButtons(true, [taskbarElements.TaskbarElement.GRID_MODE], true);
|
148
|
+
taskbarIDs[TASKBAR_ID.GRID_SELECTED] = this.getGridSelectedButtonsCallBack.bind(this);
|
149
|
+
taskbarIDs[TASKBAR_ID.FINISH_EDITION] = this.getFinishEditionButtonsCallback.bind(this);
|
150
|
+
taskbarIDs[TASKBAR_ID.MULTIPLE_EDITION] = [taskbarElements.TaskbarElement.CANCEL];
|
151
|
+
this._taskbarProcessor = new fieldSearch.TaskbarProcessor(taskbarIDs);
|
152
|
+
}
|
153
|
+
getGridSelectedButtonsCallBack() {
|
154
|
+
var _a, _b, _c;
|
155
|
+
if (!this.multipleEditionEnabled || ((_c = (_b = (_a = this.dataState) === null || _a === void 0 ? void 0 : _a.selectionInfo) === null || _b === void 0 ? void 0 : _b.records) === null || _c === void 0 ? void 0 : _c.length) === 1) {
|
156
|
+
return this.getButtons(true, [taskbarElements.TaskbarElement.DATA_EXPORTER, taskbarElements.TaskbarElement.FORM_MODE]);
|
157
|
+
}
|
158
|
+
return this.getButtons(true, [taskbarElements.TaskbarElement.UPDATE_MULTIPLE, taskbarElements.TaskbarElement.DATA_EXPORTER, taskbarElements.TaskbarElement.FORM_MODE]);
|
159
|
+
}
|
149
160
|
getFinishEditionButtonsCallback() {
|
150
|
-
const btns = [
|
161
|
+
const btns = [taskbarElements.TaskbarElement.CANCEL, taskbarElements.TaskbarElement.SAVE];
|
151
162
|
if (this.enableGridInsert && this._currentViewMode !== constants.VIEW_MODE.ATTACHMENT) {
|
152
163
|
btns.push(this._currentViewMode === constants.VIEW_MODE.GRID ? taskbarElements.TaskbarElement.FORM_MODE : taskbarElements.TaskbarElement.GRID_MODE);
|
153
164
|
}
|
@@ -183,22 +194,32 @@ const SnkSimpleCrud = class {
|
|
183
194
|
async goToView(view) {
|
184
195
|
this._currentViewMode = view;
|
185
196
|
if (this._viewStack) {
|
197
|
+
if (view === constants.VIEW_MODE.GRID)
|
198
|
+
this.dataUnit.isMultipleEdition = false;
|
186
199
|
this._viewStack.show(view);
|
187
200
|
}
|
188
201
|
}
|
189
202
|
actionClickListener(evt) {
|
190
|
-
|
191
|
-
if (act === taskbarElements.TaskbarElement.CONFIGURATOR) {
|
192
|
-
this._snkConfigurator.open();
|
193
|
-
}
|
194
|
-
else if (act === taskbarElements.TaskbarElement.GRID_MODE) {
|
195
|
-
this.goToView(constants.VIEW_MODE.GRID);
|
196
|
-
}
|
197
|
-
else if (act === taskbarElements.TaskbarElement.FORM_MODE) {
|
198
|
-
this.goToView(constants.VIEW_MODE.FORM);
|
199
|
-
}
|
203
|
+
this.handleTaskbarAction(evt.detail);
|
200
204
|
evt.stopPropagation();
|
201
205
|
}
|
206
|
+
handleTaskbarAction(action) {
|
207
|
+
switch (action) {
|
208
|
+
case taskbarElements.TaskbarElement.CONFIGURATOR:
|
209
|
+
this._snkConfigurator.open();
|
210
|
+
break;
|
211
|
+
case taskbarElements.TaskbarElement.GRID_MODE:
|
212
|
+
this.goToView(constants.VIEW_MODE.GRID);
|
213
|
+
break;
|
214
|
+
case taskbarElements.TaskbarElement.FORM_MODE:
|
215
|
+
this.goToView(constants.VIEW_MODE.FORM);
|
216
|
+
break;
|
217
|
+
case taskbarElements.TaskbarElement.UPDATE_MULTIPLE:
|
218
|
+
this.dataUnit.isMultipleEdition = true;
|
219
|
+
this.goToView(constants.VIEW_MODE.FORM);
|
220
|
+
break;
|
221
|
+
}
|
222
|
+
}
|
202
223
|
async onChangeEntityName(newValue) {
|
203
224
|
if (this.dataUnit)
|
204
225
|
return;
|
@@ -330,8 +351,10 @@ const SnkSimpleCrud = class {
|
|
330
351
|
this.setFormConfig(await this._formConfigManager.loadConfig());
|
331
352
|
}
|
332
353
|
async componentWillRender() {
|
354
|
+
this.loadTaskbarProcessor();
|
333
355
|
this._resourceID = await this.application.getResourceID();
|
334
356
|
this.dataExporterProviderStore();
|
357
|
+
this.dataExporterProviderStore();
|
335
358
|
this._taskbarProcessor.process(this.getTaskBarId(), this.taskbarManager, this.dataState, this.getTaskBarDisabledButtons());
|
336
359
|
if (this.configName === undefined) {
|
337
360
|
return;
|
@@ -363,6 +386,14 @@ const SnkSimpleCrud = class {
|
|
363
386
|
componentDidLoad() {
|
364
387
|
utils.CSSVarsUtils.applyVarsGrid(this._element, this._grid);
|
365
388
|
this.initKeyboardManager();
|
389
|
+
this.dataUnit.subscribe(this.dataUnitActionHandler.bind(this));
|
390
|
+
}
|
391
|
+
async dataUnitActionHandler(action) {
|
392
|
+
if (action.type === core.Action.EDITION_CANCELED || action.type === core.Action.DATA_SAVED) {
|
393
|
+
if (this.dataUnit.isMultipleEdition) {
|
394
|
+
this.goToView(constants.VIEW_MODE.GRID);
|
395
|
+
}
|
396
|
+
}
|
366
397
|
}
|
367
398
|
setCustomRenders() {
|
368
399
|
if (!this._grid) {
|
@@ -401,14 +432,17 @@ const SnkSimpleCrud = class {
|
|
401
432
|
getTaskBarId() {
|
402
433
|
var _a, _b;
|
403
434
|
if ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) {
|
404
|
-
return
|
435
|
+
return TASKBAR_ID.FINISH_EDITION;
|
436
|
+
}
|
437
|
+
if (this.dataUnit.isMultipleEdition) {
|
438
|
+
return TASKBAR_ID.MULTIPLE_EDITION;
|
405
439
|
}
|
406
440
|
if (((_b = this.dataState) === null || _b === void 0 ? void 0 : _b.selectionInfo) &&
|
407
441
|
!this.dataState.selectionInfo.isAllRecords() &&
|
408
442
|
this.dataState.selectionInfo.length > 0) {
|
409
|
-
return this._currentViewMode === constants.VIEW_MODE.GRID ?
|
443
|
+
return this._currentViewMode === constants.VIEW_MODE.GRID ? TASKBAR_ID.GRID_SELECTED : TASKBAR_ID.FORM_SELECTED;
|
410
444
|
}
|
411
|
-
return this._currentViewMode === constants.VIEW_MODE.GRID ?
|
445
|
+
return this._currentViewMode === constants.VIEW_MODE.GRID ? TASKBAR_ID.GRID_REGULAR : TASKBAR_ID.FORM_REGULAR;
|
412
446
|
}
|
413
447
|
initInMemoryDataUnit() {
|
414
448
|
this._inMemoryLoader = new dataunitFetcher.InMemoryLoader(this._metadata, undefined, { autoLoad: this.autoLoad });
|
@@ -794,6 +828,15 @@ const SnkSimpleCrud = class {
|
|
794
828
|
"gridLegacyConfigName": ["observeGridLegacy"]
|
795
829
|
}; }
|
796
830
|
};
|
831
|
+
var TASKBAR_ID;
|
832
|
+
(function (TASKBAR_ID) {
|
833
|
+
TASKBAR_ID["FORM_REGULAR"] = "snkSimpleCrudTaskbar.form_regular";
|
834
|
+
TASKBAR_ID["GRID_REGULAR"] = "snkSimpleCrudTaskbar.grid_regular";
|
835
|
+
TASKBAR_ID["FORM_SELECTED"] = "snkSimpleCrudTaskbar.form_selected";
|
836
|
+
TASKBAR_ID["GRID_SELECTED"] = "snkSimpleCrudTaskbar.grid_selected";
|
837
|
+
TASKBAR_ID["FINISH_EDITION"] = "snkSimpleCrudTaskbar.finish_edition";
|
838
|
+
TASKBAR_ID["MULTIPLE_EDITION"] = "snkSimpleCrudTaskbar.multiple_edition";
|
839
|
+
})(TASKBAR_ID || (TASKBAR_ID = {}));
|
797
840
|
SnkSimpleCrud.style = snkSimpleCrudCss;
|
798
841
|
|
799
842
|
exports.snk_simple_crud = SnkSimpleCrud;
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
const index = require('./index-f9e81701.js');
|
6
6
|
const core = require('@sankhyalabs/core');
|
7
7
|
const AuthorizationConfig = require('./AuthorizationConfig-79ffae4b.js');
|
8
|
-
const taskbarElements = require('./taskbar-elements-
|
8
|
+
const taskbarElements = require('./taskbar-elements-02379452.js');
|
9
9
|
const index$1 = require('./index-e3e39724.js');
|
10
10
|
require('./index-102ba62d.js');
|
11
11
|
|
@@ -22,6 +22,7 @@ const SnkTaskbar = class {
|
|
22
22
|
this.ACTIONS_BUTTON_TAG = 'TASKBAR-ACTIONS-BUTTON';
|
23
23
|
this.NOT_OVERFLOW_ELEMENTS = ["moreOptions", "dataExporter_snkDataExporter", "actionsButton_snkActionsButton"];
|
24
24
|
this._titleKeyByElement = {
|
25
|
+
[taskbarElements.TaskbarElement.UPDATE_MULTIPLE]: "snkTaskbar.titleUpdateMultiple",
|
25
26
|
[taskbarElements.TaskbarElement.UPDATE]: "snkTaskbar.titleUpdate",
|
26
27
|
[taskbarElements.TaskbarElement.PREVIOUS]: "snkTaskbar.titlePrevious",
|
27
28
|
[taskbarElements.TaskbarElement.NEXT]: "snkTaskbar.titleNext",
|
@@ -23,6 +23,7 @@ exports.TaskbarElement = void 0;
|
|
23
23
|
TaskbarElement["DATA_EXPORTER"] = "DATA_EXPORTER";
|
24
24
|
TaskbarElement["ATTACH"] = "ATTACH";
|
25
25
|
TaskbarElement["ACTIONS_BUTTON"] = "ACTIONS_BUTTON";
|
26
|
+
TaskbarElement["UPDATE_MULTIPLE"] = "UPDATE_MULTIPLE";
|
26
27
|
})(exports.TaskbarElement || (exports.TaskbarElement = {}));
|
27
28
|
exports.AuthorizationElements = void 0;
|
28
29
|
(function (AuthorizationElements) {
|
@@ -62,6 +63,8 @@ const buildElem = (element, className, dataElementId, getTitle, action, isEnable
|
|
62
63
|
return iconButton("sync", element, className, dataElementId, title, action, isEnabled);
|
63
64
|
case exports.TaskbarElement.UPDATE:
|
64
65
|
return iconButton("edit", element, className, dataElementId, title, action, isEnabled);
|
66
|
+
case exports.TaskbarElement.UPDATE_MULTIPLE:
|
67
|
+
return iconButton("edit-table", element, className, dataElementId, title, action, isEnabled);
|
65
68
|
case exports.TaskbarElement.CLONE:
|
66
69
|
return iconButton("copy", element, className, dataElementId, title, action, isEnabled);
|
67
70
|
case exports.TaskbarElement.REMOVE:
|
@@ -48,6 +48,7 @@ export class SnkCrud {
|
|
48
48
|
this.setCustomFormTitle = undefined;
|
49
49
|
this.strategyExporter = ExporterStrategy.SERVER_SIDE;
|
50
50
|
this.layoutFormConfig = false;
|
51
|
+
this.multipleEditionEnabled = true;
|
51
52
|
this.customContainerId = `SNK-CRUD-CUSTOM-CONTAINER-${StringUtils.generateUUID()}`;
|
52
53
|
}
|
53
54
|
/**
|
@@ -134,14 +135,20 @@ export class SnkCrud {
|
|
134
135
|
this.setViewMode(VIEW_MODE.FORM);
|
135
136
|
}
|
136
137
|
async executeAction(act) {
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
138
|
+
switch (act) {
|
139
|
+
case TaskbarElement.GRID_MODE:
|
140
|
+
return this.setViewMode(VIEW_MODE.GRID);
|
141
|
+
case TaskbarElement.FORM_MODE:
|
142
|
+
case TaskbarElement.UPDATE:
|
143
|
+
return this.gridToForm(act !== TaskbarElement.UPDATE);
|
144
|
+
case TaskbarElement.UPDATE_MULTIPLE:
|
145
|
+
this._dataUnit.isMultipleEdition = true;
|
146
|
+
return this.setViewMode(VIEW_MODE.FORM);
|
147
|
+
case TaskbarElement.CONFIGURATOR:
|
148
|
+
return this._snkConfigurator.open();
|
149
|
+
case TaskbarElement.ATTACH:
|
150
|
+
return this.setViewMode(VIEW_MODE.ATTACHMENT);
|
151
|
+
}
|
145
152
|
}
|
146
153
|
backView() {
|
147
154
|
const lastView = this._viewHistory.at(-2) || VIEW_MODE.GRID;
|
@@ -151,6 +158,7 @@ export class SnkCrud {
|
|
151
158
|
this._viewStack.show(viewMode);
|
152
159
|
this._currentViewMode = viewMode;
|
153
160
|
if (viewMode === VIEW_MODE.GRID) {
|
161
|
+
this._dataUnit.isMultipleEdition = false;
|
154
162
|
this._snkGrid.setFocus();
|
155
163
|
}
|
156
164
|
else if (viewMode === VIEW_MODE.FORM) {
|
@@ -371,7 +379,7 @@ export class SnkCrud {
|
|
371
379
|
return;
|
372
380
|
}
|
373
381
|
this._snkDataUnit.ignoreSaveMessage = (this._currentViewMode === VIEW_MODE.GRID && !this.enableGridInsert);
|
374
|
-
return (h(Host, null, h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": "crud" }, h("stack-item", { class: 'ez-flex ez-flex--column ez-size-height--full ez-size-width--full ez-padding--medium' }, h("snk-grid", { ref: (ref) => this._snkGrid = ref, class: 'ez-flex ez-flex--column ez-size-height--full ez-size-width--full', filterBarTitle: this.filterBarTitle, "data-element-id": "crud_grid", configName: this.configName, onGridDoubleClick: () => this.gridToForm(true), taskbarManager: this.taskbarManager, onActionClick: evt => this.executeAction(evt.detail), messagesBuilder: this.messagesBuilder, actionsList: this.actionsList, statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, presentationMode: this.presentationMode, recordsValidator: this.recordsValidator, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, canEdit: this._canEdit, resourceID: this._resourceID, disablePersonalizedFilter: this.disablePersonalizedFilter, gridLegacyConfigName: this.gridLegacyConfigName, filterBarLegacyConfigName: this.filterBarLegacyConfigName, autoLoad: this.autoLoad, autoFocus: this.autoFocus, enableGridInsert: this.enableGridInsert, enableLockManagerTaskbarClick: this.enableLockManagerTaskbarClick, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp, strategyExporter: this.strategyExporter }, h("slot", { name: "GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkGridHeader" }), h("slot", { name: "SnkGridFooter" }), h("slot", { name: "SnkGridTaskBar" }))), h("stack-item", null, h("snk-guides-viewer", { ref: ref => this._guidesViewer = ref, entityPath: this._snkDataUnit.entityName, messagesBuilder: this.messagesBuilder, onExit: () => this.setViewMode(VIEW_MODE.GRID), dataState: this._dataState, dataUnit: this._dataUnit, actionsList: this.actionsList, taskbarManager: this.taskbarManager, configName: this.configName, onActionClick: evt => this.executeAction(evt.detail), presentationMode: this.presentationMode, "data-element-id": "crud_form", canEdit: this._canEdit, recordsValidator: this.recordsValidator, resourceID: this._resourceID, detailTaskbarCustomContainerId: this.customContainerId, formLegacyConfigName: this.formLegacyConfigName, enableGridInsert: this.enableGridInsert, getCustomTitle: this.setCustomFormTitle, ignoreReadOnlyFormFields: this.ignoreReadOnlyFormFields }, h("slot", { name: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkFormTaskBar" }))), h("stack-item", null, h("snk-attach", { registerKey: this.attachmentRegisterKey, messagesBuilder: this.messagesBuilder, entityName: this._snkDataUnit.entityName, onBack: this.backView.bind(this) })), h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this._currentViewMode, messagesBuilder: this.messagesBuilder, onConfigSelected: (evt) => this.setViewMode(evt.detail), onOpenConfig: (evt) => this.openConfig(evt.detail), showActionButtons: this.showActionButtons, onSave: evt => this.handleConfiguratorEvent(evt, 'SAVE'), onCancel: evt => this.handleConfiguratorEvent(evt, 'CANCEL'), resourceID: this._resourceID, customContainerId: this.customContainerId, layoutFormConfig: this.layoutFormConfig })), h("div", { id: `${this.customContainerId}` }, h("slot", { name: "SnkConfigContainerSlot" }), h("slot", { name: "DETAIL_GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" }))));
|
382
|
+
return (h(Host, null, h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": "crud" }, h("stack-item", { class: 'ez-flex ez-flex--column ez-size-height--full ez-size-width--full ez-padding--medium' }, h("snk-grid", { ref: (ref) => this._snkGrid = ref, class: 'ez-flex ez-flex--column ez-size-height--full ez-size-width--full', filterBarTitle: this.filterBarTitle, "data-element-id": "crud_grid", configName: this.configName, onGridDoubleClick: () => this.gridToForm(true), taskbarManager: this.taskbarManager, onActionClick: evt => this.executeAction(evt.detail), messagesBuilder: this.messagesBuilder, actionsList: this.actionsList, statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, presentationMode: this.presentationMode, recordsValidator: this.recordsValidator, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, canEdit: this._canEdit, resourceID: this._resourceID, disablePersonalizedFilter: this.disablePersonalizedFilter, gridLegacyConfigName: this.gridLegacyConfigName, filterBarLegacyConfigName: this.filterBarLegacyConfigName, autoLoad: this.autoLoad, autoFocus: this.autoFocus, enableGridInsert: this.enableGridInsert, enableLockManagerTaskbarClick: this.enableLockManagerTaskbarClick, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp, strategyExporter: this.strategyExporter, multipleEditionEnabled: this.multipleEditionEnabled }, h("slot", { name: "GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkGridHeader" }), h("slot", { name: "SnkGridFooter" }), h("slot", { name: "SnkGridTaskBar" }))), h("stack-item", null, h("snk-guides-viewer", { ref: ref => this._guidesViewer = ref, entityPath: this._snkDataUnit.entityName, messagesBuilder: this.messagesBuilder, onExit: () => this.setViewMode(VIEW_MODE.GRID), dataState: this._dataState, dataUnit: this._dataUnit, actionsList: this.actionsList, taskbarManager: this.taskbarManager, configName: this.configName, onActionClick: evt => this.executeAction(evt.detail), presentationMode: this.presentationMode, "data-element-id": "crud_form", canEdit: this._canEdit, recordsValidator: this.recordsValidator, resourceID: this._resourceID, detailTaskbarCustomContainerId: this.customContainerId, formLegacyConfigName: this.formLegacyConfigName, enableGridInsert: this.enableGridInsert, getCustomTitle: this.setCustomFormTitle, ignoreReadOnlyFormFields: this.ignoreReadOnlyFormFields }, h("slot", { name: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkFormTaskBar" }))), h("stack-item", null, h("snk-attach", { registerKey: this.attachmentRegisterKey, messagesBuilder: this.messagesBuilder, entityName: this._snkDataUnit.entityName, onBack: this.backView.bind(this) })), h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this._currentViewMode, messagesBuilder: this.messagesBuilder, onConfigSelected: (evt) => this.setViewMode(evt.detail), onOpenConfig: (evt) => this.openConfig(evt.detail), showActionButtons: this.showActionButtons, onSave: evt => this.handleConfiguratorEvent(evt, 'SAVE'), onCancel: evt => this.handleConfiguratorEvent(evt, 'CANCEL'), resourceID: this._resourceID, customContainerId: this.customContainerId, layoutFormConfig: this.layoutFormConfig })), h("div", { id: `${this.customContainerId}` }, h("slot", { name: "SnkConfigContainerSlot" }), h("slot", { name: "DETAIL_GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" }))));
|
375
383
|
}
|
376
384
|
static get is() { return "snk-crud"; }
|
377
385
|
static get encapsulation() { return "scoped"; }
|
@@ -871,6 +879,24 @@ export class SnkCrud {
|
|
871
879
|
"attribute": "layout-form-config",
|
872
880
|
"reflect": false,
|
873
881
|
"defaultValue": "false"
|
882
|
+
},
|
883
|
+
"multipleEditionEnabled": {
|
884
|
+
"type": "boolean",
|
885
|
+
"mutable": false,
|
886
|
+
"complexType": {
|
887
|
+
"original": "boolean",
|
888
|
+
"resolved": "boolean",
|
889
|
+
"references": {}
|
890
|
+
},
|
891
|
+
"required": false,
|
892
|
+
"optional": false,
|
893
|
+
"docs": {
|
894
|
+
"tags": [],
|
895
|
+
"text": "Habilita a edi\u00E7\u00E3o de m\u00FAltiplos registros simult\u00E2neos."
|
896
|
+
},
|
897
|
+
"attribute": "multiple-edition-enabled",
|
898
|
+
"reflect": false,
|
899
|
+
"defaultValue": "true"
|
874
900
|
}
|
875
901
|
};
|
876
902
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Action as DUAction, ElementIDUtils } from '@sankhyalabs/core';
|
1
|
+
import { Action as DUAction, ElementIDUtils, ObjectUtils } from '@sankhyalabs/core';
|
2
2
|
import { Fragment, h } from '@stencil/core';
|
3
3
|
import { SnkFormConfigManager } from '../../snk-form-config/SnkFormConfigManager';
|
4
4
|
import { buildFormMetadata, FormMetadata } from '@sankhyalabs/ezui/dist/collection/utils/form';
|
@@ -44,14 +44,16 @@ export class SnkGuidesViewer {
|
|
44
44
|
this.loadGuides(true);
|
45
45
|
}
|
46
46
|
observeDataState(newValue, oldValue) {
|
47
|
-
|
48
|
-
const
|
49
|
-
|
47
|
+
var _a, _b, _c, _d, _e, _f;
|
48
|
+
const newRecordsIds = (_b = (_a = newValue === null || newValue === void 0 ? void 0 : newValue.selectionInfo) === null || _a === void 0 ? void 0 : _a.recordIds) !== null && _b !== void 0 ? _b : (_c = newValue === null || newValue === void 0 ? void 0 : newValue.selectedRecord) === null || _c === void 0 ? void 0 : _c['__record__id__'];
|
49
|
+
const oldRecordsIds = (_e = (_d = oldValue === null || oldValue === void 0 ? void 0 : oldValue.selectionInfo) === null || _d === void 0 ? void 0 : _d.recordIds) !== null && _e !== void 0 ? _e : (_f = oldValue === null || oldValue === void 0 ? void 0 : oldValue.selectedRecord) === null || _f === void 0 ? void 0 : _f['__record__id__'];
|
50
|
+
if (!ObjectUtils.equals(newRecordsIds, oldRecordsIds)) {
|
50
51
|
this.loadGuides((oldValue === null || oldValue === void 0 ? void 0 : oldValue.insertionMode) != (newValue === null || newValue === void 0 ? void 0 : newValue.insertionMode));
|
51
52
|
}
|
52
53
|
}
|
53
54
|
observeMasterFormConfig() {
|
54
55
|
this.loadGuides(this.noGuideSelected());
|
56
|
+
this.snkMasterFormConfigChange.emit(this.masterFormConfig);
|
55
57
|
}
|
56
58
|
/**
|
57
59
|
* Abre o configurador do formulário
|
@@ -125,6 +127,11 @@ export class SnkGuidesViewer {
|
|
125
127
|
* Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-crud.msg.ts"
|
126
128
|
*/
|
127
129
|
getMessage(key) {
|
130
|
+
var _a, _b;
|
131
|
+
if (this.dataUnit.isMultipleEdition) {
|
132
|
+
const selectedRecords = (_b = (_a = this.dataUnit.getSelectionInfo()) === null || _a === void 0 ? void 0 : _a.records) !== null && _b !== void 0 ? _b : [];
|
133
|
+
return `Editando ${selectedRecords.length} registros`;
|
134
|
+
}
|
128
135
|
return this.messagesBuilder.getMessage(key, this.dataUnit.getSelectedRecord());
|
129
136
|
}
|
130
137
|
loadGuides(changeSelection) {
|
@@ -137,12 +144,12 @@ export class SnkGuidesViewer {
|
|
137
144
|
this._masterFormMetadata = buildFormMetadata(this.masterFormConfig, this.dataUnit, true);
|
138
145
|
const allSheets = this._masterFormMetadata.getAllSheets();
|
139
146
|
const currentRecord = this.dataUnit.getSelectedRecord();
|
140
|
-
const disableDetails =
|
147
|
+
const disableDetails = this.hasToDisableDetails(currentRecord);
|
141
148
|
const guides = [];
|
142
149
|
Array.from(allSheets.values()).forEach((sheet) => {
|
143
150
|
const item = { id: sheet.name, label: sheet.label };
|
144
151
|
if (this.isDetail(sheet.name) && disableDetails) {
|
145
|
-
item.tooltip = "Para alterar detalhes é necessário estar com um registro selecionado.";
|
152
|
+
item.tooltip = "Para alterar detalhes é necessário estar com um (e apenas um) registro selecionado.";
|
146
153
|
item.disabled = true;
|
147
154
|
}
|
148
155
|
guides.push(item);
|
@@ -155,6 +162,11 @@ export class SnkGuidesViewer {
|
|
155
162
|
this.selectedGuide = this._guides.length > 0 ? this._guides[0] : undefined;
|
156
163
|
}
|
157
164
|
}
|
165
|
+
hasToDisableDetails(currentRecord) {
|
166
|
+
return !currentRecord
|
167
|
+
|| this.dataUnit.isNewRecord(currentRecord.__record__id__)
|
168
|
+
|| this.dataUnit.isMultipleEdition;
|
169
|
+
}
|
158
170
|
isDetail(formId) {
|
159
171
|
return FormMetadata.getDetailName(formId) != undefined;
|
160
172
|
}
|
@@ -177,47 +189,59 @@ export class SnkGuidesViewer {
|
|
177
189
|
}
|
178
190
|
getTaskBarId() {
|
179
191
|
var _a;
|
180
|
-
|
181
|
-
|
182
|
-
loadTaskbarProcessor() {
|
183
|
-
var _a;
|
184
|
-
const taskbarId = this.getTaskBarId();
|
185
|
-
const disabledButtons = [];
|
186
|
-
if (!this.dataState || !this.dataState.hasPrevious) {
|
187
|
-
disabledButtons.push("PREVIOUS");
|
192
|
+
if ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) {
|
193
|
+
return TASKBAR_ID.FINISH_EDITION;
|
188
194
|
}
|
189
|
-
if (
|
190
|
-
|
195
|
+
if (this.dataUnit.isMultipleEdition) {
|
196
|
+
return TASKBAR_ID.MUTIPLE_EDITION;
|
191
197
|
}
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
198
|
+
return TASKBAR_ID.REGULAR;
|
199
|
+
}
|
200
|
+
loadTaskbarProcessor() {
|
201
|
+
const taskbarIDs = {};
|
202
|
+
taskbarIDs[TASKBAR_ID.REGULAR] = this.buildBtnsRegularMode();
|
203
|
+
taskbarIDs[TASKBAR_ID.FINISH_EDITION] = [TaskbarElement.CANCEL, TaskbarElement.SAVE, this.handleAddGridMode()];
|
204
|
+
taskbarIDs[TASKBAR_ID.MUTIPLE_EDITION] = [TaskbarElement.CANCEL];
|
205
|
+
this._taskbarProcessor = new TaskbarProcessor(taskbarIDs);
|
206
|
+
this._taskbarProcessor.process(this.getTaskBarId(), this.taskbarManager, this.dataState, this.buildDisabledButtons(), this.buildInvisibleButtons());
|
207
|
+
}
|
208
|
+
buildBtnsRegularMode() {
|
209
|
+
var _a, _b;
|
210
|
+
const btnsRegularMode = [
|
211
|
+
TaskbarElement.ATTACH, TaskbarElement.CLONE, TaskbarElement.REMOVE, TaskbarElement.MORE_OPTIONS,
|
212
|
+
TaskbarElement.ACTIONS_BUTTON, TaskbarElement.DIVIDER, TaskbarElement.GRID_MODE, TaskbarElement.CONFIGURATOR,
|
213
|
+
];
|
214
|
+
if (((_b = (_a = this.dataState) === null || _a === void 0 ? void 0 : _a.selectionInfo) === null || _b === void 0 ? void 0 : _b.length) <= 1) {
|
215
|
+
btnsRegularMode.unshift(TaskbarElement.PREVIOUS, TaskbarElement.NEXT, TaskbarElement.DIVIDER);
|
199
216
|
}
|
200
|
-
const btnsRegularMode = ["PREVIOUS", "NEXT", "DIVIDER", "ATTACH", "CLONE", "REMOVE", "MORE_OPTIONS", "ACTIONS_BUTTON", "DIVIDER", "GRID_MODE", "CONFIGURATOR"];
|
201
217
|
if (this.presentationMode == PresentationMode.SECONDARY) {
|
202
|
-
btnsRegularMode.unshift(
|
218
|
+
btnsRegularMode.unshift(TaskbarElement.INSERT);
|
203
219
|
}
|
204
220
|
else {
|
205
|
-
btnsRegularMode.push(
|
221
|
+
btnsRegularMode.push(TaskbarElement.INSERT);
|
206
222
|
}
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
223
|
+
return btnsRegularMode;
|
224
|
+
}
|
225
|
+
buildDisabledButtons() {
|
226
|
+
var _a, _b, _c, _d, _e, _f;
|
227
|
+
const disabledButtons = [];
|
228
|
+
if (!((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.hasPrevious))
|
229
|
+
disabledButtons.push(TaskbarElement.PREVIOUS);
|
230
|
+
if (!((_b = this.dataState) === null || _b === void 0 ? void 0 : _b.hasNext))
|
231
|
+
disabledButtons.push(TaskbarElement.NEXT);
|
232
|
+
if (((_d = (_c = this.dataState) === null || _c === void 0 ? void 0 : _c.selectionInfo) === null || _d === void 0 ? void 0 : _d.length) > 1)
|
233
|
+
disabledButtons.push(TaskbarElement.CLONE);
|
234
|
+
if ((_f = (_e = this.dataState) === null || _e === void 0 ? void 0 : _e.selectionInfo) === null || _f === void 0 ? void 0 : _f.isAllRecords())
|
235
|
+
disabledButtons.push(TaskbarElement.REMOVE);
|
236
|
+
return disabledButtons;
|
213
237
|
}
|
214
238
|
handleAddGridMode() {
|
215
239
|
return this.enableGridInsert ? TaskbarElement.GRID_MODE : "";
|
216
240
|
}
|
217
|
-
|
241
|
+
buildInvisibleButtons() {
|
218
242
|
const invisibleButtons = [];
|
219
243
|
if (this.dataState && this.dataState.selectionInfo.mode === SelectionMode.ALL_RECORDS)
|
220
|
-
invisibleButtons.push(
|
244
|
+
invisibleButtons.push(TaskbarElement.ACTIONS_BUTTON);
|
221
245
|
return invisibleButtons;
|
222
246
|
}
|
223
247
|
static updateContentCard(formName, cardConfig, propertyChanged, configManager) {
|
@@ -430,17 +454,27 @@ export class SnkGuidesViewer {
|
|
430
454
|
}
|
431
455
|
buildTaskBar() {
|
432
456
|
var _a;
|
433
|
-
return h("div", { class: `snk-guides-viewer__header-taskbar ${this.presentationMode != PresentationMode.SECONDARY ? 'ez-align--right' : 'ez-padding-bottom--medium'}` }, h("snk-taskbar", { key: "guideViewerTaskbar", "data-element-id": "guideViewer", configName: this.configName, buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, actionsList: this.getActionsList(), messagesBuilder: this.messagesBuilder, presentationMode: this.presentationMode, primaryButton: ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ?
|
457
|
+
return h("div", { class: `snk-guides-viewer__header-taskbar ${this.presentationMode != PresentationMode.SECONDARY ? 'ez-align--right' : 'ez-padding-bottom--medium'}` }, h("snk-taskbar", { key: "guideViewerTaskbar", "data-element-id": "guideViewer", configName: this.configName, buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, actionsList: this.getActionsList(), messagesBuilder: this.messagesBuilder, presentationMode: this.presentationMode, primaryButton: ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? TaskbarElement.SAVE : TaskbarElement.INSERT, "data-taskbar-owner": "master", dataUnit: this.dataUnit, resourceID: this.resourceID, customSlotId: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS", alignRigth: true }, h("slot", { name: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" })));
|
434
458
|
}
|
435
459
|
async dataUnitActionHandler(action) {
|
436
460
|
var _a;
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
461
|
+
switch (action.type) {
|
462
|
+
case DUAction.EDITION_CANCELED:
|
463
|
+
case DUAction.DATA_SAVED:
|
464
|
+
if (this.dataUnit.isMultipleEdition) {
|
465
|
+
this.exitViewer();
|
466
|
+
this.dataUnit.isMultipleEdition = false;
|
467
|
+
}
|
468
|
+
break;
|
469
|
+
case DUAction.FIELD_INVALIDATED:
|
470
|
+
const guideName = this.getGuideName((_a = action.payload) === null || _a === void 0 ? void 0 : _a.fieldName);
|
471
|
+
await this.addErrorBadgeToGuide(guideName);
|
472
|
+
await this.openGuideNavigator(guideName);
|
473
|
+
break;
|
474
|
+
case DUAction.METADATA_LOADED:
|
475
|
+
case DUAction.MULTIPLE_EDITION_CHANGED:
|
476
|
+
this.loadGuides(this.noGuideSelected());
|
477
|
+
break;
|
444
478
|
}
|
445
479
|
}
|
446
480
|
async addErrorBadgeToGuide(guideName) {
|
@@ -480,6 +514,20 @@ export class SnkGuidesViewer {
|
|
480
514
|
var _a, _b;
|
481
515
|
return (_b = (_a = this.getCustomTitle) === null || _a === void 0 ? void 0 : _a.call(this)) !== null && _b !== void 0 ? _b : this.getMessage("snkCrud.title");
|
482
516
|
}
|
517
|
+
getTitleTooltip() {
|
518
|
+
if (!this.dataUnit.isMultipleEdition)
|
519
|
+
return;
|
520
|
+
return this.buildRecordIdsArray();
|
521
|
+
}
|
522
|
+
buildRecordIdsArray() {
|
523
|
+
var _a, _b;
|
524
|
+
const selectedRecords = (_b = (_a = this.dataUnit.getSelectionInfo()) === null || _a === void 0 ? void 0 : _a.records) !== null && _b !== void 0 ? _b : [];
|
525
|
+
if (selectedRecords.length === 0) {
|
526
|
+
return "[]";
|
527
|
+
}
|
528
|
+
const labels = selectedRecords.map(record => this.messagesBuilder.getMessage("snkCrud.title", record));
|
529
|
+
return `[${labels.join(", ")}]`;
|
530
|
+
}
|
483
531
|
componentDidLoad() {
|
484
532
|
this.dataUnit.subscribe(this.dataUnitActionHandler.bind(this));
|
485
533
|
}
|
@@ -493,7 +541,7 @@ export class SnkGuidesViewer {
|
|
493
541
|
}
|
494
542
|
this.loadTaskbarProcessor();
|
495
543
|
const showGuides = this._guides && (this._guides.length > 1);
|
496
|
-
return (h("section", { class: "snk-guides-viewer", ref: ref => this._container = ref, tabindex: -1 }, h("div", { class: "ez-row snk-guides-viewer__header" }, h("div", { class: "snk-guides-viewer__header-breadcrumb ez-flex--align-items-center ez-flex-item--align-center ez-padding-left--large", key: "header" }, h("ez-button", { onClick: () => this.exitViewer(), title: this.getMessage("snkCrud.goBackTitle"), mode: "icon", iconName: "arrow_back", class: "ez-padding-right--medium", size: "small" }), h("div", { class: "ez-flex ez-flex--column ez-flex-item--auto" }, h("h1", { class: "ez-title ez-title--primary ez-title--xlarge" }, this.getTitle()), ((_a = this._breadcrumbItems) === null || _a === void 0 ? void 0 : _a.length) > 1 &&
|
544
|
+
return (h("section", { class: "snk-guides-viewer", ref: ref => this._container = ref, tabindex: -1 }, h("div", { class: "ez-row snk-guides-viewer__header" }, h("div", { class: "snk-guides-viewer__header-breadcrumb ez-flex--align-items-center ez-flex-item--align-center ez-padding-left--large", key: "header" }, h("ez-button", { onClick: () => this.exitViewer(), title: this.getMessage("snkCrud.goBackTitle"), mode: "icon", iconName: "arrow_back", class: "ez-padding-right--medium", size: "small" }), h("div", { class: "ez-flex ez-flex--column ez-flex-item--auto" }, h("h1", { class: "ez-title ez-title--primary ez-title--xlarge", title: this.getTitleTooltip() }, this.getTitle()), ((_a = this._breadcrumbItems) === null || _a === void 0 ? void 0 : _a.length) > 1 &&
|
497
545
|
h("div", { class: "ez-margin-top--extra-small" }, h("ez-breadcrumb", Object.assign({ items: this._breadcrumbItems, onSelectedItem: (evt) => this.onBreadcrumbClickHandler(evt === null || evt === void 0 ? void 0 : evt.detail) }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `${ElementIDUtils.getInternalIDInfo("breadcrumb")}` }))))), this.presentationMode != PresentationMode.SECONDARY && this.buildTaskBar()), h("div", { class: "snk-guides-viewer__container" }, showGuides ?
|
498
546
|
h("ez-guide-navigator", { ref: (ref) => this._guideNavigator = ref, class: "snk-guides-viewer__guide-navigator", items: this._guides, selectedId: this.selectedGuide ? this.selectedGuide.id : undefined, onEzSelectionChange: evt => this.updateSelectedGuideHandler(evt.detail) })
|
499
547
|
:
|
@@ -878,6 +926,26 @@ export class SnkGuidesViewer {
|
|
878
926
|
}
|
879
927
|
static get events() {
|
880
928
|
return [{
|
929
|
+
"method": "snkMasterFormConfigChange",
|
930
|
+
"name": "snkMasterFormConfigChange",
|
931
|
+
"bubbles": true,
|
932
|
+
"cancelable": true,
|
933
|
+
"composed": true,
|
934
|
+
"docs": {
|
935
|
+
"tags": [],
|
936
|
+
"text": "Emitido quando a configura\u00E7\u00E3o do formul\u00E1rio master \u00E9 definida."
|
937
|
+
},
|
938
|
+
"complexType": {
|
939
|
+
"original": "IFormConfig",
|
940
|
+
"resolved": "IFormConfig",
|
941
|
+
"references": {
|
942
|
+
"IFormConfig": {
|
943
|
+
"location": "import",
|
944
|
+
"path": "@sankhyalabs/ezui/dist/types/utils/form/interfaces"
|
945
|
+
}
|
946
|
+
}
|
947
|
+
}
|
948
|
+
}, {
|
881
949
|
"method": "exit",
|
882
950
|
"name": "exit",
|
883
951
|
"bubbles": true,
|
@@ -1097,3 +1165,9 @@ export class SnkGuidesViewer {
|
|
1097
1165
|
}];
|
1098
1166
|
}
|
1099
1167
|
}
|
1168
|
+
var TASKBAR_ID;
|
1169
|
+
(function (TASKBAR_ID) {
|
1170
|
+
TASKBAR_ID["FINISH_EDITION"] = "snkGuideViewer.finish_edition";
|
1171
|
+
TASKBAR_ID["MUTIPLE_EDITION"] = "snkGuideViewer.multiple_edition";
|
1172
|
+
TASKBAR_ID["REGULAR"] = "snkGuideViewer.regular";
|
1173
|
+
})(TASKBAR_ID || (TASKBAR_ID = {}));
|