@sankhyalabs/sankhyablocks 9.2.0-ms.14 → 9.2.0-ms.16
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/{ClientSideExporterProvider-994f6e26.js → ClientSideExporterProvider-bb0b2273.js} +8 -5
- package/dist/cjs/{ConfigStorage-1931defc.js → ConfigStorage-0ebc800f.js} +2 -2
- package/dist/cjs/{DataFetcher-ad9fb3bb.js → DataFetcher-602cdc72.js} +1 -1
- package/dist/cjs/{ISave-18ffb73e.js → ISave-18205d86.js} +1 -1
- package/dist/cjs/{SnkFormConfigManager-65e5288e.js → SnkFormConfigManager-4b651537.js} +2 -2
- package/dist/cjs/{auth-fetcher-afbe69ab.js → auth-fetcher-82317d4d.js} +1 -1
- package/dist/cjs/{dataunit-fetcher-c7253b02.js → dataunit-fetcher-93077a2f.js} +1 -1
- package/dist/cjs/{form-config-fetcher-f6e66d64.js → form-config-fetcher-05d210e7.js} +1 -1
- package/dist/cjs/{index-0ad2baeb.js → index-13d05f03.js} +21 -5
- package/dist/cjs/pesquisa-grid_2.cjs.entry.js +4 -4
- package/dist/cjs/snk-actions-button_8.cjs.entry.js +5 -5
- package/dist/cjs/snk-application.cjs.entry.js +6 -6
- package/dist/cjs/snk-attach.cjs.entry.js +7 -7
- package/dist/cjs/snk-crud.cjs.entry.js +7 -7
- package/dist/cjs/snk-data-exporter.cjs.entry.js +5 -5
- package/dist/cjs/{snk-data-unit-72715da9.js → snk-data-unit-28d629e4.js} +2 -2
- package/dist/cjs/snk-data-unit.cjs.entry.js +3 -3
- package/dist/cjs/snk-detail-view.cjs.entry.js +9 -9
- package/dist/cjs/snk-entity-list.cjs.entry.js +5 -1
- package/dist/cjs/snk-expression-group_2.cjs.entry.js +1 -1
- package/dist/cjs/snk-filter-bar_4.cjs.entry.js +3 -3
- package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
- package/dist/cjs/snk-form_2.cjs.entry.js +4 -4
- package/dist/cjs/snk-grid.cjs.entry.js +75 -48
- package/dist/cjs/{snk-guides-viewer-c23ed218.js → snk-guides-viewer-73d40f42.js} +6 -6
- package/dist/cjs/snk-guides-viewer.cjs.entry.js +9 -9
- package/dist/cjs/snk-personalized-filter.cjs.entry.js +4 -4
- package/dist/cjs/snk-pesquisa.cjs.entry.js +4 -4
- package/dist/cjs/snk-simple-crud.cjs.entry.js +9 -9
- package/dist/cjs/snk-taskbar.cjs.entry.js +2 -2
- package/dist/cjs/{taskbar-elements-3b74cd21.js → taskbar-elements-fb5d1e08.js} +1 -1
- package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +4 -1
- package/dist/collection/components/snk-entity-list/snk-entity-list.js +5 -1
- package/dist/collection/components/snk-grid/snk-grid.js +70 -43
- package/dist/components/ContinuousInsertUtils.js +4 -1
- package/dist/components/DataFetcher.js +1 -1
- package/dist/components/index2.js +21 -5
- package/dist/components/snk-entity-list.js +5 -1
- package/dist/components/snk-grid2.js +67 -40
- package/dist/esm/{ClientSideExporterProvider-7c2781f4.js → ClientSideExporterProvider-21a99af1.js} +8 -5
- package/dist/esm/{ConfigStorage-b5a1dba3.js → ConfigStorage-fc4e3a42.js} +2 -2
- package/dist/esm/{DataFetcher-6f6de657.js → DataFetcher-01ce1a4f.js} +1 -1
- package/dist/esm/{ISave-7ecdca20.js → ISave-d36bade4.js} +1 -1
- package/dist/esm/{SnkFormConfigManager-34fc1dc7.js → SnkFormConfigManager-71dae34e.js} +2 -2
- package/dist/esm/{auth-fetcher-7332a9a9.js → auth-fetcher-2e565c35.js} +1 -1
- package/dist/esm/{dataunit-fetcher-f21cbad0.js → dataunit-fetcher-14ba162b.js} +1 -1
- package/dist/esm/{form-config-fetcher-6ab4e805.js → form-config-fetcher-a1ccc944.js} +1 -1
- package/dist/esm/{index-b72af127.js → index-446f9341.js} +21 -5
- package/dist/esm/pesquisa-grid_2.entry.js +4 -4
- package/dist/esm/snk-actions-button_8.entry.js +5 -5
- package/dist/esm/snk-application.entry.js +6 -6
- package/dist/esm/snk-attach.entry.js +7 -7
- package/dist/esm/snk-crud.entry.js +7 -7
- package/dist/esm/snk-data-exporter.entry.js +5 -5
- package/dist/esm/{snk-data-unit-d31619fb.js → snk-data-unit-3977725e.js} +2 -2
- package/dist/esm/snk-data-unit.entry.js +3 -3
- package/dist/esm/snk-detail-view.entry.js +9 -9
- package/dist/esm/snk-entity-list.entry.js +5 -1
- package/dist/esm/snk-expression-group_2.entry.js +1 -1
- package/dist/esm/snk-filter-bar_4.entry.js +3 -3
- package/dist/esm/snk-filter-modal-item.entry.js +3 -3
- package/dist/esm/snk-form_2.entry.js +4 -4
- package/dist/esm/snk-grid.entry.js +75 -48
- package/dist/esm/{snk-guides-viewer-fbfece85.js → snk-guides-viewer-f800c9aa.js} +6 -6
- package/dist/esm/snk-guides-viewer.entry.js +9 -9
- package/dist/esm/snk-personalized-filter.entry.js +4 -4
- package/dist/esm/snk-pesquisa.entry.js +4 -4
- package/dist/esm/snk-simple-crud.entry.js +9 -9
- package/dist/esm/snk-taskbar.entry.js +2 -2
- package/dist/esm/{taskbar-elements-171476d4.js → taskbar-elements-faaf5d8f.js} +1 -1
- package/dist/sankhyablocks/{p-4e63ffed.entry.js → p-082e7ba8.entry.js} +1 -1
- package/dist/sankhyablocks/{p-8b601472.js → p-2b2c2718.js} +1 -1
- package/dist/sankhyablocks/p-3143bb44.entry.js +1 -0
- package/dist/sankhyablocks/{p-eb0616d3.entry.js → p-34222890.entry.js} +1 -1
- package/dist/sankhyablocks/{p-16fc4acd.js → p-353b4a74.js} +1 -1
- package/dist/sankhyablocks/p-3a10f9ea.entry.js +1 -0
- package/dist/sankhyablocks/{p-3dba3468.js → p-3cdfd7fb.js} +1 -1
- package/dist/sankhyablocks/{p-b49281be.entry.js → p-41e5a485.entry.js} +1 -1
- package/dist/sankhyablocks/{p-c6331595.js → p-51209229.js} +1 -1
- package/dist/sankhyablocks/p-55798617.js +1 -0
- package/dist/sankhyablocks/{p-ba4979b4.js → p-7535d592.js} +1 -1
- package/dist/sankhyablocks/{p-f39b0ebe.entry.js → p-7a1d3cb6.entry.js} +1 -1
- package/dist/sankhyablocks/{p-eacff4b7.entry.js → p-7b97f9af.entry.js} +1 -1
- package/dist/sankhyablocks/{p-72c8c847.entry.js → p-95c71f5e.entry.js} +1 -1
- package/dist/sankhyablocks/{p-69b815ab.entry.js → p-a60028f1.entry.js} +1 -1
- package/dist/sankhyablocks/{p-ad2ae575.entry.js → p-aba06047.entry.js} +1 -1
- package/dist/sankhyablocks/{p-1210500e.js → p-ae2ebab7.js} +1 -1
- package/dist/sankhyablocks/p-b21aa190.entry.js +1 -0
- package/dist/sankhyablocks/{p-d377aa7a.entry.js → p-b6b42620.entry.js} +1 -1
- package/dist/sankhyablocks/{p-7de79adf.js → p-b987e15d.js} +1 -1
- package/dist/sankhyablocks/{p-6a015ba2.js → p-c3bab5f4.js} +1 -1
- package/dist/sankhyablocks/{p-735a1175.entry.js → p-c3dbf441.entry.js} +1 -1
- package/dist/sankhyablocks/{p-a2e8c7a7.entry.js → p-c3eea705.entry.js} +1 -1
- package/dist/sankhyablocks/{p-cf7063a4.entry.js → p-c8932b14.entry.js} +1 -1
- package/dist/sankhyablocks/{p-c9e6d720.js → p-dc8bb41f.js} +1 -1
- package/dist/sankhyablocks/{p-5e282b33.entry.js → p-dde9da7a.entry.js} +1 -1
- package/dist/sankhyablocks/{p-6fa3d474.entry.js → p-dfbe4d7f.entry.js} +1 -1
- package/dist/sankhyablocks/{p-4872dc3a.entry.js → p-e5571279.entry.js} +1 -1
- package/dist/sankhyablocks/{p-b35574b5.js → p-e63cc25f.js} +1 -1
- package/dist/sankhyablocks/{p-665dd170.entry.js → p-f4bf0517.entry.js} +1 -1
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-grid/snk-grid.d.ts +17 -15
- package/package.json +1 -1
- package/dist/sankhyablocks/p-295b83ae.entry.js +0 -1
- package/dist/sankhyablocks/p-5c7af8a9.entry.js +0 -1
- package/dist/sankhyablocks/p-82729ec0.entry.js +0 -1
- package/dist/sankhyablocks/p-a349689a.js +0 -1
- /package/dist/sankhyablocks/{p-0dac8fef.js → p-65517fcf.js} +0 -0
@@ -1,10 +1,10 @@
|
|
1
|
-
import {
|
2
|
-
import { Action as DUAction, ApplicationContext, ElementIDUtils, StringUtils,
|
1
|
+
import { Fragment, h, } from '@stencil/core';
|
2
|
+
import { Action as DUAction, ApplicationContext, ElementIDUtils, KeyboardManager, StringUtils, } from '@sankhyalabs/core';
|
3
3
|
import { TaskbarElement } from '../snk-taskbar/elements/taskbar-elements';
|
4
4
|
import { ConfigStorage } from '../../lib/configs/ConfigStorage';
|
5
5
|
import { ExporterStrategy, PresentationMode } from '../../lib/@types';
|
6
6
|
import TaskbarProcessor from '../snk-taskbar/processor/taskbar-processor';
|
7
|
-
import store from
|
7
|
+
import store from '../../lib/store';
|
8
8
|
import SnkMultiSelectionListDataSource from './filtercolumn/SnkMultiSelectionListDataSource';
|
9
9
|
import { SelectionMode } from '@sankhyalabs/core/dist/dataunit/DataUnit';
|
10
10
|
import { CrudUtils } from '../../lib';
|
@@ -19,23 +19,23 @@ export class SnkGrid {
|
|
19
19
|
this._customRenders = new Map();
|
20
20
|
this._keyboardManager = new KeyboardManager();
|
21
21
|
this._topTaskbarProcessor = new TaskbarProcessor({
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
22
|
+
'snkGridTopTaskbar.regular': ['FORM_MODE', 'CONFIGURATOR', 'INSERT'],
|
23
|
+
'snkGridTopTaskbar.regular.secondary': ['FORM_MODE', 'CONFIGURATOR', 'INSERT'],
|
24
|
+
'snkGridTopTaskbar.regular.singleTaskbar': [],
|
25
|
+
'snkGridTopTaskbar.finish_edition': ['CANCEL', 'SAVE', this.handleAddFormMode()],
|
26
|
+
'snkGridTopTaskbar.finish_edition.secondary': [],
|
27
|
+
'snkGridTopTaskbar.finish_edition.singleTaskbar': [],
|
28
28
|
});
|
29
29
|
this._headerTaskbarProcessor = new TaskbarProcessor({
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
30
|
+
'snkGridHeaderTaskbar.unselected': ['REFRESH', 'DATA_EXPORTER', 'ACTIONS_BUTTON', 'MORE_OPTIONS'],
|
31
|
+
'snkGridHeaderTaskbar.selected': this.getGridHeaderSelectedBtns(),
|
32
|
+
'snkGridHeaderTaskbar.detail.unselected': ['REFRESH', 'MORE_OPTIONS'],
|
33
|
+
'snkGridHeaderTaskbar.detail.selected': ['UPDATE', 'ATTACH', 'CLONE', 'REMOVE', 'MORE_OPTIONS', 'DIVIDER', 'REFRESH'],
|
34
|
+
'snkGridHeaderTaskbar.singleTaskbar.unselected': ['INSERT', 'FORM_MODE', 'CONFIGURATOR', 'REFRESH', 'DATA_EXPORTER', 'ACTIONS_BUTTON', 'MORE_OPTIONS'],
|
35
|
+
'snkGridHeaderTaskbar.singleTaskbar.selected': ['UPDATE', 'CLONE', 'REMOVE', 'MORE_OPTIONS', 'DIVIDER', 'ATTACH', 'FORM_MODE', 'CONFIGURATOR', 'REFRESH', 'DATA_EXPORTER', 'ACTIONS_BUTTON'],
|
36
|
+
'snkGridHeaderTaskbar.singleTaskbar.detail.unselected': ['INSERT', 'FORM_MODE', 'CONFIGURATOR', 'REFRESH', 'MORE_OPTIONS'],
|
37
|
+
'snkGridHeaderTaskbar.singleTaskbar.detail.selected': ['UPDATE', 'ATTACH', 'CLONE', 'REMOVE', 'MORE_OPTIONS', 'DIVIDER', 'FORM_MODE', 'CONFIGURATOR', 'REFRESH'],
|
38
|
+
'snkGridHeaderTaskbar.singleTaskbar.finish_edition': ['CANCEL', 'SAVE', this.handleAddFormMode()],
|
39
39
|
});
|
40
40
|
this.dataUnitInterceptor = {
|
41
41
|
interceptAction: async (action) => {
|
@@ -43,7 +43,7 @@ export class SnkGrid {
|
|
43
43
|
return await this.interceptMetadataLoaded(action);
|
44
44
|
}
|
45
45
|
return action;
|
46
|
-
}
|
46
|
+
},
|
47
47
|
};
|
48
48
|
this._dataUnit = undefined;
|
49
49
|
this._dataState = undefined;
|
@@ -91,7 +91,7 @@ export class SnkGrid {
|
|
91
91
|
const btns = [
|
92
92
|
TaskbarElement.UPDATE, TaskbarElement.CLONE, TaskbarElement.REMOVE,
|
93
93
|
TaskbarElement.MORE_OPTIONS, TaskbarElement.DIVIDER, TaskbarElement.ATTACH, TaskbarElement.FORM_MODE,
|
94
|
-
TaskbarElement.CONFIGURATOR, TaskbarElement.REFRESH, TaskbarElement.DATA_EXPORTER, TaskbarElement.ACTIONS_BUTTON
|
94
|
+
TaskbarElement.CONFIGURATOR, TaskbarElement.REFRESH, TaskbarElement.DATA_EXPORTER, TaskbarElement.ACTIONS_BUTTON,
|
95
95
|
];
|
96
96
|
if (this.multipleEditionEnabled)
|
97
97
|
btns.unshift(TaskbarElement.UPDATE_MULTIPLE);
|
@@ -255,7 +255,7 @@ export class SnkGrid {
|
|
255
255
|
this.loadConfig();
|
256
256
|
}
|
257
257
|
handleAddFormMode() {
|
258
|
-
return this.enableGridInsert ? TaskbarElement.FORM_MODE :
|
258
|
+
return this.enableGridInsert ? TaskbarElement.FORM_MODE : '';
|
259
259
|
}
|
260
260
|
openGridConfig() {
|
261
261
|
this._grid.getColumnsState()
|
@@ -299,6 +299,17 @@ export class SnkGrid {
|
|
299
299
|
ConfigStorage.addGridLegacyConfig(this.configName, this.gridLegacyConfigName);
|
300
300
|
}
|
301
301
|
}
|
302
|
+
hasCalculatedFields(columnNames) {
|
303
|
+
let hasCalculatedFields = false;
|
304
|
+
columnNames.forEach(name => {
|
305
|
+
var _a;
|
306
|
+
const field = this._dataUnit.getField(name);
|
307
|
+
if (((_a = field.properties) === null || _a === void 0 ? void 0 : _a.calculated) === 'true') {
|
308
|
+
hasCalculatedFields = true;
|
309
|
+
}
|
310
|
+
});
|
311
|
+
return hasCalculatedFields;
|
312
|
+
}
|
302
313
|
gridConfigChangeHandler(evt) {
|
303
314
|
const config = this.normalizeGridConfig(evt.detail);
|
304
315
|
ConfigStorage.saveGridConfig(config, this.configName, this.resourceID);
|
@@ -314,11 +325,25 @@ export class SnkGrid {
|
|
314
325
|
});
|
315
326
|
evt.stopPropagation();
|
316
327
|
}
|
328
|
+
async hasToForceClientSideExporter() {
|
329
|
+
if (!this._grid) {
|
330
|
+
return false;
|
331
|
+
}
|
332
|
+
const filters = await this._grid.getAppliedColumnFilters();
|
333
|
+
const columnNames = filters.map(filter => filter.name.replace('FILTRO_COLUNA_', ''));
|
334
|
+
return this.hasCalculatedFields(columnNames);
|
335
|
+
}
|
317
336
|
async dataExporterProviderStore() {
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
337
|
+
/**
|
338
|
+
* O ServerSideExporterProvider do SankhyaOm não suporta a filtragem de campos calculados.
|
339
|
+
* Por esse motivo, precisamos verificar os filtros aplicados no momento e recriar o dataExporterProvider conforme necessário.
|
340
|
+
* Se houver campos calculados, forçamos o uso do clientSide, caso contrário é seguido o fluxo padrão.
|
341
|
+
*/
|
342
|
+
const forceClientSide = await this.hasToForceClientSideExporter();
|
343
|
+
const dataExporterProvider = (forceClientSide || this.strategyExporter === ExporterStrategy.CLIENT_SIDE)
|
344
|
+
? new ClientSideExporterProvider(this._dataUnit, this._grid)
|
345
|
+
: new ServerSideExporterProvider(this._dataUnit, this._grid);
|
346
|
+
store.set('exporterProviders', Object.assign(Object.assign({}, store.get('exporterProviders')), { [this.configName]: dataExporterProvider }));
|
322
347
|
}
|
323
348
|
addElementID() {
|
324
349
|
const dataInfo = { dataUnit: this._dataUnit };
|
@@ -367,15 +392,15 @@ export class SnkGrid {
|
|
367
392
|
}
|
368
393
|
}
|
369
394
|
componentWillLoad() {
|
370
|
-
this._application = ApplicationContext.getContextValue(
|
395
|
+
this._application = ApplicationContext.getContextValue('__SNK__APPLICATION__');
|
371
396
|
//TODO: substituir pelo metodo nativo closest
|
372
397
|
let parent = this._element.parentElement;
|
373
398
|
while (parent) {
|
374
|
-
if (parent.tagName.toUpperCase() ===
|
399
|
+
if (parent.tagName.toUpperCase() === 'SNK-DATA-UNIT') {
|
375
400
|
this._snkDataUnit = parent;
|
376
401
|
this._dataUnit = this._snkDataUnit.dataUnit;
|
377
402
|
if (!this._dataUnit) {
|
378
|
-
this._snkDataUnit.addEventListener(
|
403
|
+
this._snkDataUnit.addEventListener('dataUnitReady', (evt) => {
|
379
404
|
this._dataUnit = evt.detail;
|
380
405
|
this.finishLoading();
|
381
406
|
});
|
@@ -385,8 +410,8 @@ export class SnkGrid {
|
|
385
410
|
}
|
386
411
|
if (!this.messagesBuilder)
|
387
412
|
this.messagesBuilder = this._snkDataUnit.messagesBuilder;
|
388
|
-
this._snkDataUnit.addEventListener(
|
389
|
-
this._snkDataUnit.addEventListener(
|
413
|
+
this._snkDataUnit.addEventListener('dataStateChange', this.handleDataStateChange.bind(this));
|
414
|
+
this._snkDataUnit.addEventListener('cancelEdition', () => {
|
390
415
|
var _a;
|
391
416
|
if ((_a = this._dataState) === null || _a === void 0 ? void 0 : _a.recordsIsEmpty) {
|
392
417
|
this._dataUnit.clearSelection();
|
@@ -449,23 +474,23 @@ export class SnkGrid {
|
|
449
474
|
var _a, _b;
|
450
475
|
const hasSelectedRecord = this._dataState && !!((_a = this._dataState.selectionInfo) === null || _a === void 0 ? void 0 : _a.length);
|
451
476
|
const taskbarIdPrefixLookup = {
|
452
|
-
primary: this.isDetail ?
|
453
|
-
secondary: this.isDetail ?
|
454
|
-
singleTaskbar: this.isDetail ?
|
477
|
+
primary: this.isDetail ? 'snkGridHeaderTaskbar.detail' : 'snkGridHeaderTaskbar',
|
478
|
+
secondary: this.isDetail ? 'snkGridHeaderTaskbar.detail' : 'snkGridHeaderTaskbar',
|
479
|
+
singleTaskbar: this.isDetail ? 'snkGridHeaderTaskbar.singleTaskbar.detail' : 'snkGridHeaderTaskbar.singleTaskbar',
|
455
480
|
};
|
456
481
|
const taskbarIdPrefix = taskbarIdPrefixLookup[this.presentationMode];
|
457
482
|
let headerTaskbarId = hasSelectedRecord ? `${taskbarIdPrefix}.selected` : `${taskbarIdPrefix}.unselected`;
|
458
483
|
if (((_b = this._dataState) === null || _b === void 0 ? void 0 : _b.isDirty) && this.presentationMode === PresentationMode.SINGLE_TASKBAR) {
|
459
|
-
headerTaskbarId =
|
484
|
+
headerTaskbarId = 'snkGridHeaderTaskbar.singleTaskbar.finish_edition';
|
460
485
|
}
|
461
486
|
return headerTaskbarId;
|
462
487
|
}
|
463
488
|
getTopTaskBarId() {
|
464
489
|
var _a;
|
465
490
|
const suffixLookup = {
|
466
|
-
primary:
|
467
|
-
secondary:
|
468
|
-
singleTaskbar:
|
491
|
+
primary: '',
|
492
|
+
secondary: '.secondary',
|
493
|
+
singleTaskbar: '.singleTaskbar',
|
469
494
|
};
|
470
495
|
const sufix = suffixLookup[this.presentationMode];
|
471
496
|
if ((_a = this._dataState) === null || _a === void 0 ? void 0 : _a.isDirty) {
|
@@ -475,9 +500,9 @@ export class SnkGrid {
|
|
475
500
|
}
|
476
501
|
getPrimaryButton() {
|
477
502
|
const primaryButtonLookup = {
|
478
|
-
primary:
|
479
|
-
secondary:
|
480
|
-
singleTaskbar:
|
503
|
+
primary: 'INSERT',
|
504
|
+
secondary: '',
|
505
|
+
singleTaskbar: 'INSERT',
|
481
506
|
};
|
482
507
|
return primaryButtonLookup[this.presentationMode];
|
483
508
|
}
|
@@ -517,10 +542,10 @@ export class SnkGrid {
|
|
517
542
|
getActionsSettingsList() {
|
518
543
|
const hardList = [{
|
519
544
|
value: StringUtils.generateUUID(),
|
520
|
-
label: this.messagesBuilder.getMessage(
|
545
|
+
label: this.messagesBuilder.getMessage('snkGrid.findColumn', {}),
|
521
546
|
disableCloseOnSelect: true,
|
522
547
|
eagerInitialize: true,
|
523
|
-
itemBuilder: (_, item) => this.getColumnSearch(item)
|
548
|
+
itemBuilder: (_, item) => this.getColumnSearch(item),
|
524
549
|
}];
|
525
550
|
return hardList;
|
526
551
|
}
|
@@ -548,7 +573,9 @@ export class SnkGrid {
|
|
548
573
|
return undefined;
|
549
574
|
}
|
550
575
|
return (h("div", { class: "snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large ez-box--no-outline", tabindex: "0" }, h("div", { class: "snk-grid__header ez-margin-bottom--extra-small" }, this._showSnkFilterBar &&
|
551
|
-
h(Fragment, null, h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, title: this.filterBarTitle, dataUnit: this._dataUnit, "data-element-id": "gridFilter", class: "snk-grid__filter-bar ez-align--top", configName: this.configName, messagesBuilder: this.messagesBuilder, resourceID: this.resourceID, onConfigUpdated: evt => this.handleFilterConfigUpdated(evt.detail), disablePersonalizedFilter: this.disablePersonalizedFilter, filterBarLegacyConfigName: this.filterBarLegacyConfigName, autoLoad: this.autoLoad, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp }), h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" })), h("snk-taskbar", { class: "ez-padding-left--medium ez-padding-top--extra-small", "data-element-id": "grid_top", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.topTaskbarCustomSlotId, overflowStrategy: 'none', actionsSettingsList: this.getActionsSettingsList() }, h("slot", { name: this.topTaskbarCustomSlotId }))), h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === PresentationMode.SECONDARY ?
|
576
|
+
h(Fragment, null, h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, title: this.filterBarTitle, dataUnit: this._dataUnit, "data-element-id": "gridFilter", class: "snk-grid__filter-bar ez-align--top", configName: this.configName, messagesBuilder: this.messagesBuilder, resourceID: this.resourceID, onConfigUpdated: evt => this.handleFilterConfigUpdated(evt.detail), disablePersonalizedFilter: this.disablePersonalizedFilter, filterBarLegacyConfigName: this.filterBarLegacyConfigName, autoLoad: this.autoLoad, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp }), h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" })), h("snk-taskbar", { class: "ez-padding-left--medium ez-padding-top--extra-small", "data-element-id": "grid_top", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.topTaskbarCustomSlotId, overflowStrategy: 'none', actionsSettingsList: this.getActionsSettingsList() }, h("slot", { name: this.topTaskbarCustomSlotId }))), h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === PresentationMode.SECONDARY ? 'snk-grid-container__without-shadow ' : '') + 'snk-grid__table', "data-element-id": "embedded", dataUnit: this._dataUnit, key: 'grid-' + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => {
|
577
|
+
this.gridConfigChangeHandler(evt);
|
578
|
+
}, onEzColumnFilterChanged: async () => await this.dataExporterProviderStore(), onEzDoubleClick: (evt) => this.gridDoubleClick.emit(evt.detail), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, columnfilterDataSource: this.columnFilterDataSource, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, recordsValidator: this.recordsValidator, canEdit: this.canEdit, autoFocus: this.autoFocus, enableGridInsert: this.enableGridInsert, enableContinuousInsert: this._enableContinuousInsert, enableLockManagerTaskbarClick: this.enableLockManagerTaskbarClick, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp, outlineMode: this.outlineMode, useSearchColumn: this.useSearchColumn, suppressHorizontalScroll: this.suppressHorizontalScroll, paginationCounterMode: this.paginationCounterMode, suppressCheckboxColumn: this.suppressCheckboxColumn, suppressFilterColumn: this.suppressFilterColumn, compact: this.compact }, h("snk-taskbar", { id: 'teste', dataUnit: this._dataUnit, configName: this.configName, messagesBuilder: this.messagesBuilder, "data-element-id": "grid_left", buttons: this.getGridHeaderButtons(), presentationMode: this.presentationMode, disabledButtons: this._headerTaskbarProcessor.disabledButtons, customButtons: this._headerTaskbarProcessor.customButtons, slot: "leftButtons", actionsList: this.getActionsList(), primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.gridHeaderCustomSlotId, actionsSettingsList: this.getActionsSettingsList() }, h("slot", { name: this.gridHeaderCustomSlotId }))), h("div", { class: "ez-col ez-col--sd-12 snk-grid-container__footer" }, h("slot", { name: "SnkGridFooter" })), h("ez-popup", { size: "medium", heightMode: "auto", useHeader: false, opened: this._popUpGridConfig, onEzClosePopup: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), selectedIndex: 0, configName: this.configName, onConfigChange: (evt) => this.modalConfigChangeHandler(evt), onConfigCancel: () => this.closeGridConfig(), resourceID: this.resourceID }))));
|
552
579
|
}
|
553
580
|
static get is() { return "snk-grid"; }
|
554
581
|
static get encapsulation() { return "scoped"; }
|
@@ -348,7 +348,10 @@ class ClientSideExporterProvider extends CommonsExporter {
|
|
348
348
|
}
|
349
349
|
resolveRecordsFromSelection() {
|
350
350
|
const selectionInfo = this.dataUnit.getSelectionInfo();
|
351
|
-
|
351
|
+
if (selectionInfo.isEmpty()) {
|
352
|
+
return this.dataUnit.records;
|
353
|
+
}
|
354
|
+
const selectionRecords = selectionInfo.isAllRecords() ? selectionInfo.getAllRecords() : selectionInfo.records;
|
352
355
|
return selectionRecords.length ? selectionRecords : this.dataUnit.records;
|
353
356
|
}
|
354
357
|
getHiddenOptions() {
|
@@ -5603,7 +5603,7 @@ var _public = {
|
|
5603
5603
|
};
|
5604
5604
|
|
5605
5605
|
/* eslint-env browser */
|
5606
|
-
var browser = typeof self
|
5606
|
+
var browser = typeof self === 'object' ? self.FormData : window.FormData;
|
5607
5607
|
|
5608
5608
|
var defaultJsonSerializer = createCommonjsModule(function (module, exports) {
|
5609
5609
|
Object.defineProperty(exports, "__esModule", { value: true });
|
@@ -76,6 +76,8 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
|
|
76
76
|
set: [],
|
77
77
|
reset: [],
|
78
78
|
};
|
79
|
+
// Track onChange listeners to enable removeListener functionality
|
80
|
+
const changeListeners = new Map();
|
79
81
|
const reset = () => {
|
80
82
|
// When resetting the state, the default state may be a function - unwrap it to invoke it.
|
81
83
|
// otherwise, the state won't be properly reset
|
@@ -129,17 +131,21 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
|
|
129
131
|
};
|
130
132
|
};
|
131
133
|
const onChange = (propName, cb) => {
|
132
|
-
const
|
134
|
+
const setHandler = (key, newValue) => {
|
133
135
|
if (key === propName) {
|
134
136
|
cb(newValue);
|
135
137
|
}
|
136
|
-
}
|
137
|
-
|
138
|
-
//
|
139
|
-
const
|
138
|
+
};
|
139
|
+
const resetHandler = () => cb(unwrap(defaultState)[propName]);
|
140
|
+
// Register the handlers
|
141
|
+
const unSet = on('set', setHandler);
|
142
|
+
const unReset = on('reset', resetHandler);
|
143
|
+
// Track the relationship between the user callback and internal handlers
|
144
|
+
changeListeners.set(cb, { setHandler, resetHandler, propName });
|
140
145
|
return () => {
|
141
146
|
unSet();
|
142
147
|
unReset();
|
148
|
+
changeListeners.delete(cb);
|
143
149
|
};
|
144
150
|
};
|
145
151
|
const use = (...subscriptions) => {
|
@@ -164,6 +170,15 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
|
|
164
170
|
const oldValue = states.get(key);
|
165
171
|
handlers.set.forEach((cb) => cb(key, oldValue, oldValue));
|
166
172
|
};
|
173
|
+
const removeListener = (propName, listener) => {
|
174
|
+
const listenerInfo = changeListeners.get(listener);
|
175
|
+
if (listenerInfo && listenerInfo.propName === propName) {
|
176
|
+
// Remove the specific handlers that were created for this listener
|
177
|
+
removeFromArray(handlers.set, listenerInfo.setHandler);
|
178
|
+
removeFromArray(handlers.reset, listenerInfo.resetHandler);
|
179
|
+
changeListeners.delete(listener);
|
180
|
+
}
|
181
|
+
};
|
167
182
|
return {
|
168
183
|
state,
|
169
184
|
get,
|
@@ -174,6 +189,7 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
|
|
174
189
|
dispose,
|
175
190
|
reset,
|
176
191
|
forceUpdate,
|
192
|
+
removeListener,
|
177
193
|
};
|
178
194
|
};
|
179
195
|
const removeFromArray = (array, item) => {
|
@@ -75,7 +75,11 @@ const SnkEntityList$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
|
|
75
75
|
onEzSearchChange(evt) {
|
76
76
|
var _a, _b, _c, _d;
|
77
77
|
const newValueIsEmpty = ObjectUtils.isEmptySafetyCheck(evt.detail);
|
78
|
-
const hasConfingOnList = (_a = this.getListConfigValue(this.config)) === null || _a === void 0 ? void 0 : _a.find((
|
78
|
+
const hasConfingOnList = (_a = this.getListConfigValue(this.config)) === null || _a === void 0 ? void 0 : _a.find((item) => {
|
79
|
+
var _a;
|
80
|
+
const itemId = typeof item.id === 'number' ? String(item.id) : item.id;
|
81
|
+
return itemId === ((_a = evt.detail) === null || _a === void 0 ? void 0 : _a.value);
|
82
|
+
});
|
79
83
|
if (newValueIsEmpty || hasConfingOnList) {
|
80
84
|
return;
|
81
85
|
}
|
@@ -101,23 +101,23 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
101
101
|
this._customRenders = new Map();
|
102
102
|
this._keyboardManager = new KeyboardManager();
|
103
103
|
this._topTaskbarProcessor = new TaskbarProcessor({
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
104
|
+
'snkGridTopTaskbar.regular': ['FORM_MODE', 'CONFIGURATOR', 'INSERT'],
|
105
|
+
'snkGridTopTaskbar.regular.secondary': ['FORM_MODE', 'CONFIGURATOR', 'INSERT'],
|
106
|
+
'snkGridTopTaskbar.regular.singleTaskbar': [],
|
107
|
+
'snkGridTopTaskbar.finish_edition': ['CANCEL', 'SAVE', this.handleAddFormMode()],
|
108
|
+
'snkGridTopTaskbar.finish_edition.secondary': [],
|
109
|
+
'snkGridTopTaskbar.finish_edition.singleTaskbar': [],
|
110
110
|
});
|
111
111
|
this._headerTaskbarProcessor = new TaskbarProcessor({
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
112
|
+
'snkGridHeaderTaskbar.unselected': ['REFRESH', 'DATA_EXPORTER', 'ACTIONS_BUTTON', 'MORE_OPTIONS'],
|
113
|
+
'snkGridHeaderTaskbar.selected': this.getGridHeaderSelectedBtns(),
|
114
|
+
'snkGridHeaderTaskbar.detail.unselected': ['REFRESH', 'MORE_OPTIONS'],
|
115
|
+
'snkGridHeaderTaskbar.detail.selected': ['UPDATE', 'ATTACH', 'CLONE', 'REMOVE', 'MORE_OPTIONS', 'DIVIDER', 'REFRESH'],
|
116
|
+
'snkGridHeaderTaskbar.singleTaskbar.unselected': ['INSERT', 'FORM_MODE', 'CONFIGURATOR', 'REFRESH', 'DATA_EXPORTER', 'ACTIONS_BUTTON', 'MORE_OPTIONS'],
|
117
|
+
'snkGridHeaderTaskbar.singleTaskbar.selected': ['UPDATE', 'CLONE', 'REMOVE', 'MORE_OPTIONS', 'DIVIDER', 'ATTACH', 'FORM_MODE', 'CONFIGURATOR', 'REFRESH', 'DATA_EXPORTER', 'ACTIONS_BUTTON'],
|
118
|
+
'snkGridHeaderTaskbar.singleTaskbar.detail.unselected': ['INSERT', 'FORM_MODE', 'CONFIGURATOR', 'REFRESH', 'MORE_OPTIONS'],
|
119
|
+
'snkGridHeaderTaskbar.singleTaskbar.detail.selected': ['UPDATE', 'ATTACH', 'CLONE', 'REMOVE', 'MORE_OPTIONS', 'DIVIDER', 'FORM_MODE', 'CONFIGURATOR', 'REFRESH'],
|
120
|
+
'snkGridHeaderTaskbar.singleTaskbar.finish_edition': ['CANCEL', 'SAVE', this.handleAddFormMode()],
|
121
121
|
});
|
122
122
|
this.dataUnitInterceptor = {
|
123
123
|
interceptAction: async (action) => {
|
@@ -125,7 +125,7 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
125
125
|
return await this.interceptMetadataLoaded(action);
|
126
126
|
}
|
127
127
|
return action;
|
128
|
-
}
|
128
|
+
},
|
129
129
|
};
|
130
130
|
this._dataUnit = undefined;
|
131
131
|
this._dataState = undefined;
|
@@ -173,7 +173,7 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
173
173
|
const btns = [
|
174
174
|
TaskbarElement.UPDATE, TaskbarElement.CLONE, TaskbarElement.REMOVE,
|
175
175
|
TaskbarElement.MORE_OPTIONS, TaskbarElement.DIVIDER, TaskbarElement.ATTACH, TaskbarElement.FORM_MODE,
|
176
|
-
TaskbarElement.CONFIGURATOR, TaskbarElement.REFRESH, TaskbarElement.DATA_EXPORTER, TaskbarElement.ACTIONS_BUTTON
|
176
|
+
TaskbarElement.CONFIGURATOR, TaskbarElement.REFRESH, TaskbarElement.DATA_EXPORTER, TaskbarElement.ACTIONS_BUTTON,
|
177
177
|
];
|
178
178
|
if (this.multipleEditionEnabled)
|
179
179
|
btns.unshift(TaskbarElement.UPDATE_MULTIPLE);
|
@@ -337,7 +337,7 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
337
337
|
this.loadConfig();
|
338
338
|
}
|
339
339
|
handleAddFormMode() {
|
340
|
-
return this.enableGridInsert ? TaskbarElement.FORM_MODE :
|
340
|
+
return this.enableGridInsert ? TaskbarElement.FORM_MODE : '';
|
341
341
|
}
|
342
342
|
openGridConfig() {
|
343
343
|
this._grid.getColumnsState()
|
@@ -381,6 +381,17 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
381
381
|
ConfigStorage.addGridLegacyConfig(this.configName, this.gridLegacyConfigName);
|
382
382
|
}
|
383
383
|
}
|
384
|
+
hasCalculatedFields(columnNames) {
|
385
|
+
let hasCalculatedFields = false;
|
386
|
+
columnNames.forEach(name => {
|
387
|
+
var _a;
|
388
|
+
const field = this._dataUnit.getField(name);
|
389
|
+
if (((_a = field.properties) === null || _a === void 0 ? void 0 : _a.calculated) === 'true') {
|
390
|
+
hasCalculatedFields = true;
|
391
|
+
}
|
392
|
+
});
|
393
|
+
return hasCalculatedFields;
|
394
|
+
}
|
384
395
|
gridConfigChangeHandler(evt) {
|
385
396
|
const config = this.normalizeGridConfig(evt.detail);
|
386
397
|
ConfigStorage.saveGridConfig(config, this.configName, this.resourceID);
|
@@ -396,11 +407,25 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
396
407
|
});
|
397
408
|
evt.stopPropagation();
|
398
409
|
}
|
410
|
+
async hasToForceClientSideExporter() {
|
411
|
+
if (!this._grid) {
|
412
|
+
return false;
|
413
|
+
}
|
414
|
+
const filters = await this._grid.getAppliedColumnFilters();
|
415
|
+
const columnNames = filters.map(filter => filter.name.replace('FILTRO_COLUNA_', ''));
|
416
|
+
return this.hasCalculatedFields(columnNames);
|
417
|
+
}
|
399
418
|
async dataExporterProviderStore() {
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
419
|
+
/**
|
420
|
+
* O ServerSideExporterProvider do SankhyaOm não suporta a filtragem de campos calculados.
|
421
|
+
* Por esse motivo, precisamos verificar os filtros aplicados no momento e recriar o dataExporterProvider conforme necessário.
|
422
|
+
* Se houver campos calculados, forçamos o uso do clientSide, caso contrário é seguido o fluxo padrão.
|
423
|
+
*/
|
424
|
+
const forceClientSide = await this.hasToForceClientSideExporter();
|
425
|
+
const dataExporterProvider = (forceClientSide || this.strategyExporter === ExporterStrategy.CLIENT_SIDE)
|
426
|
+
? new ClientSideExporterProvider(this._dataUnit, this._grid)
|
427
|
+
: new ServerSideExporterProvider(this._dataUnit, this._grid);
|
428
|
+
store.set('exporterProviders', Object.assign(Object.assign({}, store.get('exporterProviders')), { [this.configName]: dataExporterProvider }));
|
404
429
|
}
|
405
430
|
addElementID() {
|
406
431
|
const dataInfo = { dataUnit: this._dataUnit };
|
@@ -449,15 +474,15 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
449
474
|
}
|
450
475
|
}
|
451
476
|
componentWillLoad() {
|
452
|
-
this._application = ApplicationContext.getContextValue(
|
477
|
+
this._application = ApplicationContext.getContextValue('__SNK__APPLICATION__');
|
453
478
|
//TODO: substituir pelo metodo nativo closest
|
454
479
|
let parent = this._element.parentElement;
|
455
480
|
while (parent) {
|
456
|
-
if (parent.tagName.toUpperCase() ===
|
481
|
+
if (parent.tagName.toUpperCase() === 'SNK-DATA-UNIT') {
|
457
482
|
this._snkDataUnit = parent;
|
458
483
|
this._dataUnit = this._snkDataUnit.dataUnit;
|
459
484
|
if (!this._dataUnit) {
|
460
|
-
this._snkDataUnit.addEventListener(
|
485
|
+
this._snkDataUnit.addEventListener('dataUnitReady', (evt) => {
|
461
486
|
this._dataUnit = evt.detail;
|
462
487
|
this.finishLoading();
|
463
488
|
});
|
@@ -467,8 +492,8 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
467
492
|
}
|
468
493
|
if (!this.messagesBuilder)
|
469
494
|
this.messagesBuilder = this._snkDataUnit.messagesBuilder;
|
470
|
-
this._snkDataUnit.addEventListener(
|
471
|
-
this._snkDataUnit.addEventListener(
|
495
|
+
this._snkDataUnit.addEventListener('dataStateChange', this.handleDataStateChange.bind(this));
|
496
|
+
this._snkDataUnit.addEventListener('cancelEdition', () => {
|
472
497
|
var _a;
|
473
498
|
if ((_a = this._dataState) === null || _a === void 0 ? void 0 : _a.recordsIsEmpty) {
|
474
499
|
this._dataUnit.clearSelection();
|
@@ -531,23 +556,23 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
531
556
|
var _a, _b;
|
532
557
|
const hasSelectedRecord = this._dataState && !!((_a = this._dataState.selectionInfo) === null || _a === void 0 ? void 0 : _a.length);
|
533
558
|
const taskbarIdPrefixLookup = {
|
534
|
-
primary: this.isDetail ?
|
535
|
-
secondary: this.isDetail ?
|
536
|
-
singleTaskbar: this.isDetail ?
|
559
|
+
primary: this.isDetail ? 'snkGridHeaderTaskbar.detail' : 'snkGridHeaderTaskbar',
|
560
|
+
secondary: this.isDetail ? 'snkGridHeaderTaskbar.detail' : 'snkGridHeaderTaskbar',
|
561
|
+
singleTaskbar: this.isDetail ? 'snkGridHeaderTaskbar.singleTaskbar.detail' : 'snkGridHeaderTaskbar.singleTaskbar',
|
537
562
|
};
|
538
563
|
const taskbarIdPrefix = taskbarIdPrefixLookup[this.presentationMode];
|
539
564
|
let headerTaskbarId = hasSelectedRecord ? `${taskbarIdPrefix}.selected` : `${taskbarIdPrefix}.unselected`;
|
540
565
|
if (((_b = this._dataState) === null || _b === void 0 ? void 0 : _b.isDirty) && this.presentationMode === PresentationMode.SINGLE_TASKBAR) {
|
541
|
-
headerTaskbarId =
|
566
|
+
headerTaskbarId = 'snkGridHeaderTaskbar.singleTaskbar.finish_edition';
|
542
567
|
}
|
543
568
|
return headerTaskbarId;
|
544
569
|
}
|
545
570
|
getTopTaskBarId() {
|
546
571
|
var _a;
|
547
572
|
const suffixLookup = {
|
548
|
-
primary:
|
549
|
-
secondary:
|
550
|
-
singleTaskbar:
|
573
|
+
primary: '',
|
574
|
+
secondary: '.secondary',
|
575
|
+
singleTaskbar: '.singleTaskbar',
|
551
576
|
};
|
552
577
|
const sufix = suffixLookup[this.presentationMode];
|
553
578
|
if ((_a = this._dataState) === null || _a === void 0 ? void 0 : _a.isDirty) {
|
@@ -557,9 +582,9 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
557
582
|
}
|
558
583
|
getPrimaryButton() {
|
559
584
|
const primaryButtonLookup = {
|
560
|
-
primary:
|
561
|
-
secondary:
|
562
|
-
singleTaskbar:
|
585
|
+
primary: 'INSERT',
|
586
|
+
secondary: '',
|
587
|
+
singleTaskbar: 'INSERT',
|
563
588
|
};
|
564
589
|
return primaryButtonLookup[this.presentationMode];
|
565
590
|
}
|
@@ -599,10 +624,10 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
599
624
|
getActionsSettingsList() {
|
600
625
|
const hardList = [{
|
601
626
|
value: StringUtils.generateUUID(),
|
602
|
-
label: this.messagesBuilder.getMessage(
|
627
|
+
label: this.messagesBuilder.getMessage('snkGrid.findColumn', {}),
|
603
628
|
disableCloseOnSelect: true,
|
604
629
|
eagerInitialize: true,
|
605
|
-
itemBuilder: (_, item) => this.getColumnSearch(item)
|
630
|
+
itemBuilder: (_, item) => this.getColumnSearch(item),
|
606
631
|
}];
|
607
632
|
return hardList;
|
608
633
|
}
|
@@ -630,7 +655,9 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
630
655
|
return undefined;
|
631
656
|
}
|
632
657
|
return (h("div", { class: "snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large ez-box--no-outline", tabindex: "0" }, h("div", { class: "snk-grid__header ez-margin-bottom--extra-small" }, this._showSnkFilterBar &&
|
633
|
-
h(Fragment, null, h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, title: this.filterBarTitle, dataUnit: this._dataUnit, "data-element-id": "gridFilter", class: "snk-grid__filter-bar ez-align--top", configName: this.configName, messagesBuilder: this.messagesBuilder, resourceID: this.resourceID, onConfigUpdated: evt => this.handleFilterConfigUpdated(evt.detail), disablePersonalizedFilter: this.disablePersonalizedFilter, filterBarLegacyConfigName: this.filterBarLegacyConfigName, autoLoad: this.autoLoad, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp }), h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" })), h("snk-taskbar", { class: "ez-padding-left--medium ez-padding-top--extra-small", "data-element-id": "grid_top", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.topTaskbarCustomSlotId, overflowStrategy: 'none', actionsSettingsList: this.getActionsSettingsList() }, h("slot", { name: this.topTaskbarCustomSlotId }))), h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === PresentationMode.SECONDARY ?
|
658
|
+
h(Fragment, null, h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, title: this.filterBarTitle, dataUnit: this._dataUnit, "data-element-id": "gridFilter", class: "snk-grid__filter-bar ez-align--top", configName: this.configName, messagesBuilder: this.messagesBuilder, resourceID: this.resourceID, onConfigUpdated: evt => this.handleFilterConfigUpdated(evt.detail), disablePersonalizedFilter: this.disablePersonalizedFilter, filterBarLegacyConfigName: this.filterBarLegacyConfigName, autoLoad: this.autoLoad, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp }), h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" })), h("snk-taskbar", { class: "ez-padding-left--medium ez-padding-top--extra-small", "data-element-id": "grid_top", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.topTaskbarCustomSlotId, overflowStrategy: 'none', actionsSettingsList: this.getActionsSettingsList() }, h("slot", { name: this.topTaskbarCustomSlotId }))), h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === PresentationMode.SECONDARY ? 'snk-grid-container__without-shadow ' : '') + 'snk-grid__table', "data-element-id": "embedded", dataUnit: this._dataUnit, key: 'grid-' + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => {
|
659
|
+
this.gridConfigChangeHandler(evt);
|
660
|
+
}, onEzColumnFilterChanged: async () => await this.dataExporterProviderStore(), onEzDoubleClick: (evt) => this.gridDoubleClick.emit(evt.detail), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, columnfilterDataSource: this.columnFilterDataSource, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, recordsValidator: this.recordsValidator, canEdit: this.canEdit, autoFocus: this.autoFocus, enableGridInsert: this.enableGridInsert, enableContinuousInsert: this._enableContinuousInsert, enableLockManagerTaskbarClick: this.enableLockManagerTaskbarClick, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp, outlineMode: this.outlineMode, useSearchColumn: this.useSearchColumn, suppressHorizontalScroll: this.suppressHorizontalScroll, paginationCounterMode: this.paginationCounterMode, suppressCheckboxColumn: this.suppressCheckboxColumn, suppressFilterColumn: this.suppressFilterColumn, compact: this.compact }, h("snk-taskbar", { id: 'teste', dataUnit: this._dataUnit, configName: this.configName, messagesBuilder: this.messagesBuilder, "data-element-id": "grid_left", buttons: this.getGridHeaderButtons(), presentationMode: this.presentationMode, disabledButtons: this._headerTaskbarProcessor.disabledButtons, customButtons: this._headerTaskbarProcessor.customButtons, slot: "leftButtons", actionsList: this.getActionsList(), primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.gridHeaderCustomSlotId, actionsSettingsList: this.getActionsSettingsList() }, h("slot", { name: this.gridHeaderCustomSlotId }))), h("div", { class: "ez-col ez-col--sd-12 snk-grid-container__footer" }, h("slot", { name: "SnkGridFooter" })), h("ez-popup", { size: "medium", heightMode: "auto", useHeader: false, opened: this._popUpGridConfig, onEzClosePopup: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), selectedIndex: 0, configName: this.configName, onConfigChange: (evt) => this.modalConfigChangeHandler(evt), onConfigCancel: () => this.closeGridConfig(), resourceID: this.resourceID }))));
|
634
661
|
}
|
635
662
|
get _element() { return this; }
|
636
663
|
static get watchers() { return {
|
package/dist/esm/{ClientSideExporterProvider-7c2781f4.js → ClientSideExporterProvider-21a99af1.js}
RENAMED
@@ -1,12 +1,12 @@
|
|
1
|
-
import { D as DataFetcher } from './DataFetcher-
|
2
|
-
import './ISave-
|
1
|
+
import { D as DataFetcher } from './DataFetcher-01ce1a4f.js';
|
2
|
+
import './ISave-d36bade4.js';
|
3
3
|
import { SortMode, ApplicationContext, UserInterface, DateUtils, ObjectUtils, StringUtils, NumberUtils, DataType } from '@sankhyalabs/core';
|
4
4
|
import { D as DataExporterOption } from './index-b40568ff.js';
|
5
5
|
import '@sankhyalabs/ezui/dist/collection/utils/constants';
|
6
6
|
import { UserInterface as UserInterface$1 } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
|
7
|
-
import { P as PreloadManager } from './dataunit-fetcher-
|
7
|
+
import { P as PreloadManager } from './dataunit-fetcher-14ba162b.js';
|
8
8
|
import './filter-item-type.enum-d45e026f.js';
|
9
|
-
import './form-config-fetcher-
|
9
|
+
import './form-config-fetcher-a1ccc944.js';
|
10
10
|
import './constants-7b422de0.js';
|
11
11
|
import InMemoryFilterColumnDataSource from '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils/InMemoryFilterColumnDataSource';
|
12
12
|
import { h } from './index-479e1293.js';
|
@@ -334,7 +334,10 @@ class ClientSideExporterProvider extends CommonsExporter {
|
|
334
334
|
}
|
335
335
|
resolveRecordsFromSelection() {
|
336
336
|
const selectionInfo = this.dataUnit.getSelectionInfo();
|
337
|
-
|
337
|
+
if (selectionInfo.isEmpty()) {
|
338
|
+
return this.dataUnit.records;
|
339
|
+
}
|
340
|
+
const selectionRecords = selectionInfo.isAllRecords() ? selectionInfo.getAllRecords() : selectionInfo.records;
|
338
341
|
return selectionRecords.length ? selectionRecords : this.dataUnit.records;
|
339
342
|
}
|
340
343
|
getHiddenOptions() {
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { R as ResourceFetcher, F as FormConfigFetcher } from './form-config-fetcher-
|
2
|
-
import { D as DataFetcher, d as dist } from './DataFetcher-
|
1
|
+
import { R as ResourceFetcher, F as FormConfigFetcher } from './form-config-fetcher-a1ccc944.js';
|
2
|
+
import { D as DataFetcher, d as dist } from './DataFetcher-01ce1a4f.js';
|
3
3
|
import { F as FilterItemType } from './filter-item-type.enum-d45e026f.js';
|
4
4
|
import { ObjectUtils } from '@sankhyalabs/core';
|
5
5
|
|
@@ -5603,7 +5603,7 @@ var _public = {
|
|
5603
5603
|
};
|
5604
5604
|
|
5605
5605
|
/* eslint-env browser */
|
5606
|
-
var browser = typeof self
|
5606
|
+
var browser = typeof self === 'object' ? self.FormData : window.FormData;
|
5607
5607
|
|
5608
5608
|
var defaultJsonSerializer = createCommonjsModule(function (module, exports) {
|
5609
5609
|
Object.defineProperty(exports, "__esModule", { value: true });
|