@sankhyalabs/sankhyablocks 0.0.0-bugfix-dev-KB-81085.0 → 0.0.0-bugfix-dev-KB-74406.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{ContinuousInsertUtils-aa63f0a9.js → ClientSideExporterProvider-6b781452.js} +71 -2
- package/dist/cjs/IFetchDataExporterParams-e78ec415.js +8 -0
- package/dist/cjs/{dataunit-fetcher-c32fdff7.js → dataunit-fetcher-8291ac21.js} +21 -7
- package/dist/cjs/{index-1dfc7a6e.js → index-e3e39724.js} +5 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/pesquisa-grid_2.cjs.entry.js +2 -2
- package/dist/cjs/sankhyablocks.cjs.js +1 -1
- package/dist/cjs/snk-actions-button_5.cjs.entry.js +3 -3
- package/dist/cjs/snk-application.cjs.entry.js +9 -2
- package/dist/cjs/snk-attach.cjs.entry.js +3 -3
- package/dist/cjs/snk-configurator.cjs.entry.js +1 -1
- package/dist/cjs/snk-crud.cjs.entry.js +3 -14
- package/dist/cjs/snk-data-exporter.cjs.entry.js +13 -16
- package/dist/cjs/{snk-data-unit-2c7c1964.js → snk-data-unit-d75e6220.js} +1 -1
- package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
- package/dist/cjs/snk-detail-view.cjs.entry.js +4 -4
- package/dist/cjs/snk-filter-bar_4.cjs.entry.js +9 -8
- package/dist/cjs/snk-filter-number.cjs.entry.js +1 -1
- package/dist/cjs/snk-grid.cjs.entry.js +34 -16
- package/dist/cjs/{snk-guides-viewer-c1c56eca.js → snk-guides-viewer-a029ff50.js} +3 -3
- package/dist/cjs/snk-guides-viewer.cjs.entry.js +4 -4
- package/dist/cjs/snk-pesquisa.cjs.entry.js +3 -3
- package/dist/cjs/snk-simple-crud.cjs.entry.js +25 -79
- package/dist/cjs/snk-taskbar.cjs.entry.js +2 -2
- package/dist/cjs/{taskbar-elements-9ad1f9c0.js → taskbar-elements-7e19882d.js} +1 -1
- package/dist/collection/components/snk-application/snk-application.js +8 -1
- package/dist/collection/components/snk-configurator/snk-configurator.css +1 -1
- package/dist/collection/components/snk-crud/snk-crud.js +0 -11
- package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +3 -9
- package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +17 -5
- package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +7 -4
- package/dist/collection/components/snk-filter-bar/filter-item/dataunitfilter/data-unit-filter-builder.js +3 -3
- package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-number.js +1 -1
- package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +4 -3
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +2 -2
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +1 -1
- package/dist/collection/components/snk-grid/snk-grid.css +6 -0
- package/dist/collection/components/snk-grid/snk-grid.js +47 -6
- package/dist/collection/components/snk-grid-config/snk-grid-config.css +1 -1
- package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +1 -1
- package/dist/collection/lib/@types/index.js +5 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +21 -7
- package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.js +6 -1
- package/dist/components/ContinuousInsertUtils.js +70 -2
- package/dist/components/ISave.js +6 -1
- package/dist/components/dataunit-fetcher.js +21 -7
- package/dist/components/snk-application2.js +8 -1
- package/dist/components/snk-configurator2.js +1 -1
- package/dist/components/snk-crud.js +0 -11
- package/dist/components/snk-data-exporter2.js +17 -14
- package/dist/components/snk-filter-bar2.js +5 -5
- package/dist/components/snk-filter-item2.js +4 -3
- package/dist/components/snk-filter-number.js +1 -1
- package/dist/components/snk-grid-config2.js +1 -1
- package/dist/components/snk-grid2.js +26 -8
- package/dist/components/snk-pesquisa2.js +1 -1
- package/dist/components/snk-simple-crud2.js +3 -59
- package/dist/esm/{ContinuousInsertUtils-af683684.js → ClientSideExporterProvider-ff89c7e9.js} +71 -3
- package/dist/esm/IFetchDataExporterParams-d73bed3d.js +8 -0
- package/dist/esm/{dataunit-fetcher-26c2bed4.js → dataunit-fetcher-5247a708.js} +21 -7
- package/dist/esm/{index-3aa4977a.js → index-b40568ff.js} +6 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/pesquisa-grid_2.entry.js +2 -2
- package/dist/esm/sankhyablocks.js +1 -1
- package/dist/esm/snk-actions-button_5.entry.js +3 -3
- package/dist/esm/snk-application.entry.js +9 -2
- package/dist/esm/snk-attach.entry.js +3 -3
- package/dist/esm/snk-configurator.entry.js +1 -1
- package/dist/esm/snk-crud.entry.js +3 -14
- package/dist/esm/snk-data-exporter.entry.js +13 -16
- package/dist/esm/{snk-data-unit-a36df23f.js → snk-data-unit-bfd10c71.js} +1 -1
- package/dist/esm/snk-data-unit.entry.js +2 -2
- package/dist/esm/snk-detail-view.entry.js +4 -4
- package/dist/esm/snk-filter-bar_4.entry.js +9 -8
- package/dist/esm/snk-filter-number.entry.js +1 -1
- package/dist/esm/snk-grid.entry.js +28 -10
- package/dist/esm/{snk-guides-viewer-2b96b7f7.js → snk-guides-viewer-fa45714d.js} +3 -3
- package/dist/esm/snk-guides-viewer.entry.js +4 -4
- package/dist/esm/snk-pesquisa.entry.js +3 -3
- package/dist/esm/snk-simple-crud.entry.js +7 -61
- package/dist/esm/snk-taskbar.entry.js +2 -2
- package/dist/esm/{taskbar-elements-d59867f1.js → taskbar-elements-d2353c64.js} +1 -1
- package/dist/sankhyablocks/{p-7d0627f4.entry.js → p-0b00d69c.entry.js} +1 -1
- package/dist/sankhyablocks/p-0f3698af.js +1 -0
- package/dist/sankhyablocks/{p-c4d87e71.entry.js → p-172848d4.entry.js} +1 -1
- package/dist/sankhyablocks/{p-c9eb2bf5.entry.js → p-29d08446.entry.js} +1 -1
- package/dist/sankhyablocks/p-38179225.js +60 -0
- package/dist/sankhyablocks/{p-7e7a7473.js → p-3fc82614.js} +1 -1
- package/dist/sankhyablocks/p-40e323f9.js +1 -0
- package/dist/sankhyablocks/{p-f4ceb72c.entry.js → p-4c9adf1c.entry.js} +1 -1
- package/dist/sankhyablocks/{p-70ae0779.js → p-655bdd60.js} +1 -1
- package/dist/sankhyablocks/p-700a4cc3.entry.js +1 -0
- package/dist/sankhyablocks/p-79f823f3.entry.js +1 -0
- package/dist/sankhyablocks/p-8f3f2306.js +1 -0
- package/dist/sankhyablocks/{p-28ca3908.entry.js → p-a962a3e4.entry.js} +1 -1
- package/dist/sankhyablocks/p-aa1a0f3e.entry.js +1 -0
- package/dist/sankhyablocks/{p-80dd8976.entry.js → p-b02e58fd.entry.js} +1 -1
- package/dist/sankhyablocks/{p-d5687306.entry.js → p-b0ff53b7.entry.js} +1 -1
- package/dist/sankhyablocks/{p-538b3174.entry.js → p-c82deea7.entry.js} +1 -1
- package/dist/sankhyablocks/{p-31c3c9d0.entry.js → p-d2d0535f.entry.js} +1 -1
- package/dist/sankhyablocks/{p-c6aefba8.js → p-de9da2f2.js} +1 -1
- package/dist/sankhyablocks/p-e10faff0.entry.js +11 -0
- package/dist/sankhyablocks/p-e36f89d1.entry.js +1 -0
- package/dist/sankhyablocks/{p-045398fb.entry.js → p-f8db6795.entry.js} +1 -1
- package/dist/sankhyablocks/p-fa0cf19c.entry.js +1 -0
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-data-exporter/data/export-result.d.ts +2 -1
- package/dist/types/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.d.ts +0 -1
- package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +2 -1
- package/dist/types/components/snk-data-exporter/interfaces/IRecordID.d.ts +1 -0
- package/dist/types/components/snk-data-exporter/providers/ClientSideExporterProvider.d.ts +3 -1
- package/dist/types/components/snk-grid/snk-grid.d.ts +7 -0
- package/dist/types/components.d.ts +9 -1
- package/dist/types/lib/@types/index.d.ts +4 -0
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +4 -0
- package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +5 -1
- package/package.json +1 -1
- package/dist/sankhyablocks/p-01ba23cd.entry.js +0 -1
- package/dist/sankhyablocks/p-0c50ba37.entry.js +0 -11
- package/dist/sankhyablocks/p-15f5f702.js +0 -1
- package/dist/sankhyablocks/p-30cf616e.js +0 -1
- package/dist/sankhyablocks/p-43d58b74.entry.js +0 -1
- package/dist/sankhyablocks/p-78d49c74.js +0 -60
- package/dist/sankhyablocks/p-bf6bc973.entry.js +0 -1
- package/dist/sankhyablocks/p-d434bb9a.entry.js +0 -1
- package/dist/sankhyablocks/p-edbe8e15.entry.js +0 -1
|
@@ -2,6 +2,9 @@ import { ObjectUtils } from "@sankhyalabs/core";
|
|
|
2
2
|
export class ArrayRepository {
|
|
3
3
|
constructor(equalsFunction) {
|
|
4
4
|
this._list = [];
|
|
5
|
+
this._listCopy = [];
|
|
6
|
+
this._listLastUpdate = 0;
|
|
7
|
+
this._listCopyLastUpdate = 0;
|
|
5
8
|
this._equalsFunction = equalsFunction;
|
|
6
9
|
}
|
|
7
10
|
async load(filterFunction, sortingFunction, offset, limit) {
|
|
@@ -40,13 +43,13 @@ export class ArrayRepository {
|
|
|
40
43
|
return Promise.resolve(new Map(processedItems.map(item => [item.key, item.value])));
|
|
41
44
|
}
|
|
42
45
|
async push(items) {
|
|
43
|
-
this.
|
|
46
|
+
this.updateList([...this._list, ...items]);
|
|
44
47
|
}
|
|
45
48
|
async clear() {
|
|
46
|
-
this.
|
|
49
|
+
this.updateList([]);
|
|
47
50
|
}
|
|
48
51
|
async delete(items) {
|
|
49
|
-
|
|
52
|
+
const list = this._list.filter(item => {
|
|
50
53
|
for (const removed of items) {
|
|
51
54
|
if (this._equalsFunction(item, removed)) {
|
|
52
55
|
return false;
|
|
@@ -54,20 +57,23 @@ export class ArrayRepository {
|
|
|
54
57
|
}
|
|
55
58
|
return true;
|
|
56
59
|
});
|
|
60
|
+
this.updateList(list);
|
|
57
61
|
}
|
|
58
62
|
async update(items) {
|
|
59
|
-
|
|
63
|
+
const list = this._list.map(existingItem => {
|
|
60
64
|
const newItem = items.find(newItem => this._equalsFunction(existingItem, newItem));
|
|
61
65
|
return newItem == undefined ? existingItem : newItem;
|
|
62
66
|
});
|
|
67
|
+
this.updateList(list);
|
|
63
68
|
}
|
|
64
69
|
async insert(itemReference, items) {
|
|
65
70
|
const itemPosition = this._list.indexOf(itemReference);
|
|
66
71
|
if (itemPosition == -1) {
|
|
67
|
-
this.
|
|
72
|
+
this.push(items);
|
|
68
73
|
return;
|
|
69
74
|
}
|
|
70
|
-
|
|
75
|
+
const list = this._list.slice(0, itemPosition).concat(items).concat(this._list.slice(itemPosition));
|
|
76
|
+
this.updateList(list);
|
|
71
77
|
}
|
|
72
78
|
isOperating() {
|
|
73
79
|
return true;
|
|
@@ -79,6 +85,14 @@ export class ArrayRepository {
|
|
|
79
85
|
return Promise.resolve(this._list.length);
|
|
80
86
|
}
|
|
81
87
|
getFromCache() {
|
|
82
|
-
|
|
88
|
+
if (this._listLastUpdate > this._listCopyLastUpdate) {
|
|
89
|
+
this._listCopyLastUpdate = this._listLastUpdate;
|
|
90
|
+
this._listCopy = ObjectUtils.copy(this._list);
|
|
91
|
+
}
|
|
92
|
+
return this._listCopy;
|
|
93
|
+
}
|
|
94
|
+
updateList(newList) {
|
|
95
|
+
this._list = newList;
|
|
96
|
+
this._listLastUpdate = Date.now();
|
|
83
97
|
}
|
|
84
98
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { D as DataFetcher } from './DataFetcher.js';
|
|
2
|
-
import './ISave.js';
|
|
2
|
+
import { D as DataExporterOption } from './ISave.js';
|
|
3
3
|
import { SortMode, ApplicationContext, UserInterface, DateUtils, ObjectUtils, StringUtils, NumberUtils, DataType } from '@sankhyalabs/core';
|
|
4
4
|
import '@sankhyalabs/ezui/dist/collection/utils/constants';
|
|
5
5
|
import { UserInterface as UserInterface$1 } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
|
|
@@ -9,6 +9,8 @@ import './form-config-fetcher.js';
|
|
|
9
9
|
import './constants.js';
|
|
10
10
|
import InMemoryFilterColumnDataSource from '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils/InMemoryFilterColumnDataSource';
|
|
11
11
|
import { h } from '@stencil/core/internal/client';
|
|
12
|
+
import { g as getSelectedRecordsIDsInfo } from './GetSelectedRecordsIDsInfo.js';
|
|
13
|
+
import { I as IExportType } from './snk-data-exporter2.js';
|
|
12
14
|
|
|
13
15
|
class CrudUtils {
|
|
14
16
|
static assertDefaultSorting(gridConfig, dataUnit) {
|
|
@@ -308,6 +310,72 @@ class CommonsExporter {
|
|
|
308
310
|
}
|
|
309
311
|
}
|
|
310
312
|
|
|
313
|
+
class ClientSideExporterProvider extends CommonsExporter {
|
|
314
|
+
getSelectedNumber() {
|
|
315
|
+
return this.dataUnit.getSelectionInfo().length;
|
|
316
|
+
}
|
|
317
|
+
getTotalRecords() {
|
|
318
|
+
var _a, _b, _c;
|
|
319
|
+
const { total } = ((_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getPaginationInfo()) || {};
|
|
320
|
+
return total !== null && total !== void 0 ? total : (_c = (_b = this.dataUnit) === null || _b === void 0 ? void 0 : _b.records) === null || _c === void 0 ? void 0 : _c.length;
|
|
321
|
+
}
|
|
322
|
+
getSelectedIDs() {
|
|
323
|
+
return getSelectedRecordsIDsInfo(this.dataUnit);
|
|
324
|
+
}
|
|
325
|
+
getRecordID() {
|
|
326
|
+
var _a, _b, _c;
|
|
327
|
+
return (_c = (_b = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.records) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.__record__id__;
|
|
328
|
+
}
|
|
329
|
+
async getRecords(exportType) {
|
|
330
|
+
if (this.dataUnit.records.length === 0)
|
|
331
|
+
return [];
|
|
332
|
+
switch (exportType) {
|
|
333
|
+
case IExportType.ALL:
|
|
334
|
+
return this.dataUnit.getSelectionInfo().getAllRecords();
|
|
335
|
+
case IExportType.SELECTION:
|
|
336
|
+
return this.resolveRecordsFromSelection();
|
|
337
|
+
case IExportType.PAGE:
|
|
338
|
+
return this.dataUnit.records;
|
|
339
|
+
default:
|
|
340
|
+
return this.resolveRecordsFromSelection();
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
resolveRecordsFromSelection() {
|
|
344
|
+
const selectionInfo = this.dataUnit.getSelectionInfo();
|
|
345
|
+
const selectionRecords = selectionInfo.isEmpty() || selectionInfo.isAllRecords() ? selectionInfo.getAllRecords() : selectionInfo.records;
|
|
346
|
+
return selectionRecords.length ? selectionRecords : this.dataUnit.records;
|
|
347
|
+
}
|
|
348
|
+
getHiddenOptions() {
|
|
349
|
+
return [
|
|
350
|
+
DataExporterOption.EXPORT_BY_EMAIL,
|
|
351
|
+
DataExporterOption.EXPORT_PDF_TO_EMAIL,
|
|
352
|
+
DataExporterOption.EXPORT_XLS_TO_EMAIL,
|
|
353
|
+
DataExporterOption.EXPORT_PAGE_TO_PDF,
|
|
354
|
+
DataExporterOption.EXPORT_PAGE_TO_XLS
|
|
355
|
+
];
|
|
356
|
+
}
|
|
357
|
+
formatValue(record, column) {
|
|
358
|
+
const { id, descriptionFrom } = column;
|
|
359
|
+
const value = record[descriptionFrom || id];
|
|
360
|
+
if (value == undefined) {
|
|
361
|
+
return "";
|
|
362
|
+
}
|
|
363
|
+
if (descriptionFrom != undefined) {
|
|
364
|
+
return value.label;
|
|
365
|
+
}
|
|
366
|
+
const fieldDescriptor = this.dataUnit.getField(id);
|
|
367
|
+
if (fieldDescriptor.userInterface === UserInterface.SEARCH) {
|
|
368
|
+
return value.value;
|
|
369
|
+
}
|
|
370
|
+
if (column.customFormatter) {
|
|
371
|
+
const ezGridColumn = this.getColumnsState().find(columnState => column.id === columnState.name);
|
|
372
|
+
const formattedValue = column.customFormatter.format(value, ezGridColumn, record.__record__id__);
|
|
373
|
+
return formattedValue;
|
|
374
|
+
}
|
|
375
|
+
return this.dataUnit.getFormattedValue(id, value);
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
|
|
311
379
|
class ContinuousInsertUtils {
|
|
312
380
|
constructor(snkApplication, resourceID, configName) {
|
|
313
381
|
this.snkApplication = snkApplication;
|
|
@@ -339,4 +407,4 @@ class ContinuousInsertUtils {
|
|
|
339
407
|
}
|
|
340
408
|
}
|
|
341
409
|
|
|
342
|
-
export { CommonsExporter as C, RmPrecisionCustomValueFormatter as R, SnkMultiSelectionListDataSource as S, TaskbarProcessor as T, CrudUtils as a, buildFieldSearch as b, ContinuousInsertUtils as c, openFieldSearch as o };
|
|
410
|
+
export { CommonsExporter as C, RmPrecisionCustomValueFormatter as R, SnkMultiSelectionListDataSource as S, TaskbarProcessor as T, CrudUtils as a, buildFieldSearch as b, ContinuousInsertUtils as c, ClientSideExporterProvider as d, openFieldSearch as o };
|
package/dist/components/ISave.js
CHANGED
|
@@ -396,6 +396,11 @@ var DataExporterType;
|
|
|
396
396
|
DataExporterType["EXPORT_PDF_TO_EMAIL"] = "PDF";
|
|
397
397
|
DataExporterType["EXPORT_XLS_TO_EMAIL"] = "XLS";
|
|
398
398
|
})(DataExporterType || (DataExporterType = {}));
|
|
399
|
+
var ExporterStrategy;
|
|
400
|
+
(function (ExporterStrategy) {
|
|
401
|
+
ExporterStrategy["SERVER_SIDE"] = "ServerSideExporterStrategy";
|
|
402
|
+
ExporterStrategy["CLIENT_SIDE"] = "ClientSideExporterStrategy";
|
|
403
|
+
})(ExporterStrategy || (ExporterStrategy = {}));
|
|
399
404
|
|
|
400
405
|
var SaveErrorsEnum;
|
|
401
406
|
(function (SaveErrorsEnum) {
|
|
@@ -405,4 +410,4 @@ var SaveErrorsEnum;
|
|
|
405
410
|
SaveErrorsEnum["DESCRIPTION_CANNOT_BE_CHANGED"] = "DESCRIPTION_CANNOT_BE_CHANGED";
|
|
406
411
|
})(SaveErrorsEnum || (SaveErrorsEnum = {}));
|
|
407
412
|
|
|
408
|
-
export { DataExporterOption as D, PresentationMode as P, SaveErrorsEnum as S, PesquisaFetcher as a, DataExporterType as b, DataExporterFormat as c, buildGridMetadata as d, PESQUISA_VIEW_MODE as e };
|
|
413
|
+
export { DataExporterOption as D, ExporterStrategy as E, PresentationMode as P, SaveErrorsEnum as S, PesquisaFetcher as a, DataExporterType as b, DataExporterFormat as c, buildGridMetadata as d, PESQUISA_VIEW_MODE as e };
|
|
@@ -9,6 +9,9 @@ import { R as ResourceIDUtils } from './ResourceIDUtils.js';
|
|
|
9
9
|
class ArrayRepository {
|
|
10
10
|
constructor(equalsFunction) {
|
|
11
11
|
this._list = [];
|
|
12
|
+
this._listCopy = [];
|
|
13
|
+
this._listLastUpdate = 0;
|
|
14
|
+
this._listCopyLastUpdate = 0;
|
|
12
15
|
this._equalsFunction = equalsFunction;
|
|
13
16
|
}
|
|
14
17
|
async load(filterFunction, sortingFunction, offset, limit) {
|
|
@@ -47,13 +50,13 @@ class ArrayRepository {
|
|
|
47
50
|
return Promise.resolve(new Map(processedItems.map(item => [item.key, item.value])));
|
|
48
51
|
}
|
|
49
52
|
async push(items) {
|
|
50
|
-
this.
|
|
53
|
+
this.updateList([...this._list, ...items]);
|
|
51
54
|
}
|
|
52
55
|
async clear() {
|
|
53
|
-
this.
|
|
56
|
+
this.updateList([]);
|
|
54
57
|
}
|
|
55
58
|
async delete(items) {
|
|
56
|
-
|
|
59
|
+
const list = this._list.filter(item => {
|
|
57
60
|
for (const removed of items) {
|
|
58
61
|
if (this._equalsFunction(item, removed)) {
|
|
59
62
|
return false;
|
|
@@ -61,20 +64,23 @@ class ArrayRepository {
|
|
|
61
64
|
}
|
|
62
65
|
return true;
|
|
63
66
|
});
|
|
67
|
+
this.updateList(list);
|
|
64
68
|
}
|
|
65
69
|
async update(items) {
|
|
66
|
-
|
|
70
|
+
const list = this._list.map(existingItem => {
|
|
67
71
|
const newItem = items.find(newItem => this._equalsFunction(existingItem, newItem));
|
|
68
72
|
return newItem == undefined ? existingItem : newItem;
|
|
69
73
|
});
|
|
74
|
+
this.updateList(list);
|
|
70
75
|
}
|
|
71
76
|
async insert(itemReference, items) {
|
|
72
77
|
const itemPosition = this._list.indexOf(itemReference);
|
|
73
78
|
if (itemPosition == -1) {
|
|
74
|
-
this.
|
|
79
|
+
this.push(items);
|
|
75
80
|
return;
|
|
76
81
|
}
|
|
77
|
-
|
|
82
|
+
const list = this._list.slice(0, itemPosition).concat(items).concat(this._list.slice(itemPosition));
|
|
83
|
+
this.updateList(list);
|
|
78
84
|
}
|
|
79
85
|
isOperating() {
|
|
80
86
|
return true;
|
|
@@ -86,7 +92,15 @@ class ArrayRepository {
|
|
|
86
92
|
return Promise.resolve(this._list.length);
|
|
87
93
|
}
|
|
88
94
|
getFromCache() {
|
|
89
|
-
|
|
95
|
+
if (this._listLastUpdate > this._listCopyLastUpdate) {
|
|
96
|
+
this._listCopyLastUpdate = this._listLastUpdate;
|
|
97
|
+
this._listCopy = ObjectUtils.copy(this._list);
|
|
98
|
+
}
|
|
99
|
+
return this._listCopy;
|
|
100
|
+
}
|
|
101
|
+
updateList(newList) {
|
|
102
|
+
this._list = newList;
|
|
103
|
+
this._listLastUpdate = Date.now();
|
|
90
104
|
}
|
|
91
105
|
}
|
|
92
106
|
|
|
@@ -536,7 +536,14 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
|
|
|
536
536
|
const allAccess = {};
|
|
537
537
|
allAccess['isSup'] = auths.isSup;
|
|
538
538
|
Object.entries(AutorizationType).forEach((data) => {
|
|
539
|
-
|
|
539
|
+
if (data[1] === AutorizationType.CLONE) {
|
|
540
|
+
const insertPermission = auths.actions[AutorizationType.INSERT] || false;
|
|
541
|
+
const clonePermission = auths.actions[AutorizationType.CLONE] || false;
|
|
542
|
+
allAccess[data[0]] = insertPermission && clonePermission;
|
|
543
|
+
}
|
|
544
|
+
else {
|
|
545
|
+
allAccess[data[0]] = auths.actions[data[1]] || false;
|
|
546
|
+
}
|
|
540
547
|
});
|
|
541
548
|
resolve(allAccess);
|
|
542
549
|
}).catch(error => reject(error));
|
|
@@ -3,7 +3,7 @@ import { ApplicationContext } from '@sankhyalabs/core';
|
|
|
3
3
|
import { V as VIEW_MODE } from './constants.js';
|
|
4
4
|
import { A as AuthorizationConfig } from './AuthorizationConfig.js';
|
|
5
5
|
|
|
6
|
-
const snkConfiguratorCss = ".sc-snk-configurator-h{--snk-configurator__button-close--padding-left:var(--space--medium, 12px);--snk-configurator__title--color:var(--title--primary, #2B3A54);--snk-configurator__title--font-family:var(--font-pattern, \"Roboto\");--snk-configurator__title--font-size:var(--title--large, 20px);--snk-configurator__title--font-weight:var(--text-weight--extra-large, 700);--snk-configurator__subtitle--color:var(--title--primary, #2B3A54);--snk-configurator__subtitle--font-family:var(--font-pattern, \"Roboto\");--snk-configurator__subtitle--font-size:var(--text--medium, 14px);--snk-configurator__subtitle--font-weight:var(--text-weight--large, 600);--snk-configurator__scrollbar--color-default:var(--scrollbar--default, #626e82);--snk-configurator__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--snk-configurator__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--snk-configurator__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--snk-configurator__scrollbar--border-radius:var(--border--radius-small, 6px);--snk-configurator__scrollbar--width:var(--space--
|
|
6
|
+
const snkConfiguratorCss = ".sc-snk-configurator-h{--snk-configurator__button-close--padding-left:var(--space--medium, 12px);--snk-configurator__title--color:var(--title--primary, #2B3A54);--snk-configurator__title--font-family:var(--font-pattern, \"Roboto\");--snk-configurator__title--font-size:var(--title--large, 20px);--snk-configurator__title--font-weight:var(--text-weight--extra-large, 700);--snk-configurator__subtitle--color:var(--title--primary, #2B3A54);--snk-configurator__subtitle--font-family:var(--font-pattern, \"Roboto\");--snk-configurator__subtitle--font-size:var(--text--medium, 14px);--snk-configurator__subtitle--font-weight:var(--text-weight--large, 600);--snk-configurator__scrollbar--color-default:var(--scrollbar--default, #626e82);--snk-configurator__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--snk-configurator__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--snk-configurator__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--snk-configurator__scrollbar--border-radius:var(--border--radius-small, 6px);--snk-configurator__scrollbar--width:var(--space--small, 6px)}.snk-configurator.sc-snk-configurator{display:grid;grid-template-rows:auto 1fr auto;max-height:100%;width:100%}.snk-configurator__collsable-box-action.sc-snk-configurator{width:100%}.snk-configurator__action-buttons.sc-snk-configurator{display:flex;flex-direction:row;justify-content:flex-end;gap:var(--space--medium)}.snk-configurator__outline.sc-snk-configurator{display:flex;flex-direction:column;gap:var(--space--small);margin-top:var(--space--small);margin-bottom:var(--space--large)}@media screen and (min-width: 480px){.snk-configurator.sc-snk-configurator{width:359px;max-width:359px}}.snk-configurator__button-config.sc-snk-configurator{--ez-button--min-width:100%}.snk-configurator__header.sc-snk-configurator{display:flex;justify-content:space-between;align-items:center;width:100%}.snk-configurator__title.sc-snk-configurator{display:flex;margin:0;line-height:normal;letter-spacing:0em;text-align:left;color:var(--snk-configurator__title--color);font-size:var(--snk-configurator__title--font-size);font-family:var(--snk-configurator__title--font-family);font-weight:var(--snk-configurator__title--font-weight)}.snk-configurator__subtitle.sc-snk-configurator{display:flex;margin:0;padding-top:var(--space--medium);padding-bottom:var(--space--small);color:var(--snk-configurator__subtitle--color);font-size:var(--snk-configurator__subtitle--font-size);font-family:var(--snk-configurator__subtitle--font-family);font-weight:var(--snk-configurator__subtitle--font-weight)}.snk-configurator__button-close.sc-snk-configurator{padding-left:var(--snk-configurator__button-close--padding-left)}.snk-configurator__main.sc-snk-configurator{overflow-y:auto;scrollbar-width:thin;margin:var(--space--medium) 0;scrollbar-color:var(--snk-configurator__scrollbar--color-clicked) var(--snk-configurator__scrollbar--color-background)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar{background-color:var(--snk-configurator__scrollbar--color-background);width:var(--snk-configurator__scrollbar--width);max-width:var(--snk-configurator__scrollbar--width);min-width:var(--snk-configurator__scrollbar--width)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-track{background-color:var(--snk-configurator__scrollbar--color-background);border-radius:var(--snk-configurator__scrollbar--border-radius)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb{background-color:var(--snk-configurator__scrollbar--color-default);border-radius:var(--snk-configurator__scrollbar--border-radius)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb:vertical:hover,.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--snk-configurator__scrollbar--color-hover)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb:vertical:active,.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--snk-configurator__scrollbar--color-clicked)}";
|
|
7
7
|
|
|
8
8
|
const SnkConfigurator = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
9
9
|
constructor() {
|
|
@@ -337,15 +337,6 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
337
337
|
.bind("F8", handleAddRecord.bind(this), { description: "Adiciona um novo registro.", element: this._element })
|
|
338
338
|
.bind("F9", dataUnit.removeSelectedRecords.bind(dataUnit), { description: "Remove o registro selecionado.", element: this._element })
|
|
339
339
|
.bind("ctrl + F9", dataUnit.removeSelectedRecords.bind(dataUnit), { description: "Remove o registro selecionado.", element: this._element })
|
|
340
|
-
.bind("ctrl + .", () => {
|
|
341
|
-
if (dataUnit.getSelectionInfo().records.length === 0) {
|
|
342
|
-
return dataUnit.selectFirst();
|
|
343
|
-
}
|
|
344
|
-
return dataUnit.nextRecord();
|
|
345
|
-
}, {
|
|
346
|
-
description: "Avança para o próximo registro.", element: this._element
|
|
347
|
-
})
|
|
348
|
-
.bind("ctrl + ,", dataUnit.previousRecord.bind(dataUnit), { description: "Retorna ao registro anterior.", element: this._element })
|
|
349
340
|
.bind("F5", async () => {
|
|
350
341
|
const currentView = await this._viewStack.getSelectedIndex();
|
|
351
342
|
if (VIEW_MODE.GRID === currentView) {
|
|
@@ -373,8 +364,6 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
373
364
|
.unbind("F8")
|
|
374
365
|
.unbind("F9")
|
|
375
366
|
.unbind("ctrl + F9")
|
|
376
|
-
.unbind("ctrl + .")
|
|
377
|
-
.unbind("ctrl + ,")
|
|
378
367
|
.unbind("F5")
|
|
379
368
|
.unbind("Escape");
|
|
380
369
|
}
|
|
@@ -12,6 +12,13 @@ import './filter-item-type.enum.js';
|
|
|
12
12
|
import './form-config-fetcher.js';
|
|
13
13
|
import { d as defineCustomElement$1 } from './snk-exporter-email-sender2.js';
|
|
14
14
|
|
|
15
|
+
var IExportType;
|
|
16
|
+
(function (IExportType) {
|
|
17
|
+
IExportType["ALL"] = "all";
|
|
18
|
+
IExportType["PAGE"] = "page";
|
|
19
|
+
IExportType["SELECTION"] = "selection";
|
|
20
|
+
})(IExportType || (IExportType = {}));
|
|
21
|
+
|
|
15
22
|
class ItemBuilder {
|
|
16
23
|
constructor(getMessage, selectedNumber) {
|
|
17
24
|
this._selectedNumber = 0;
|
|
@@ -348,17 +355,11 @@ class ClientSideExporterStrategy {
|
|
|
348
355
|
const visibleColumns = getVisibleColumns(columns);
|
|
349
356
|
return visibleColumns;
|
|
350
357
|
}
|
|
351
|
-
async getColumns(resolveProps) {
|
|
352
|
-
var _a;
|
|
353
|
-
if ((_a = getOptionKey(resolveProps === null || resolveProps === void 0 ? void 0 : resolveProps.exportOption)) === null || _a === void 0 ? void 0 : _a.includes("PDF")) {
|
|
354
|
-
return await this.getParsedColumns();
|
|
355
|
-
}
|
|
356
|
-
return await this._provider.getColumnsMetadata();
|
|
357
|
-
}
|
|
358
358
|
async executeExport(resolveProps) {
|
|
359
|
+
var _a;
|
|
359
360
|
const { methodName, gridTitle } = resolveProps;
|
|
360
|
-
const records = await this._provider.getRecords();
|
|
361
|
-
const columns = await this.
|
|
361
|
+
const records = await this._provider.getRecords(resolveProps.type);
|
|
362
|
+
const columns = ((_a = getOptionKey(resolveProps === null || resolveProps === void 0 ? void 0 : resolveProps.exportOption)) === null || _a === void 0 ? void 0 : _a.includes("PDF")) ? await this.getParsedColumns() : await this._provider.getColumnsMetadata();
|
|
362
363
|
const [serviceName, processor] = this.getExecutor(methodName);
|
|
363
364
|
const payload = {
|
|
364
365
|
serviceName,
|
|
@@ -538,7 +539,9 @@ const SnkDataExporter = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
|
|
|
538
539
|
});
|
|
539
540
|
}
|
|
540
541
|
getExporterStrategy() {
|
|
541
|
-
return this.provider.getRecords == undefined
|
|
542
|
+
return this.provider.getRecords == undefined
|
|
543
|
+
? new ServerSideExporterStrategy(this.provider)
|
|
544
|
+
: new ClientSideExporterStrategy(this.provider);
|
|
542
545
|
}
|
|
543
546
|
getOptionKey(option) {
|
|
544
547
|
return Object.keys(DataExporterOption)
|
|
@@ -548,12 +551,12 @@ const SnkDataExporter = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
|
|
|
548
551
|
}
|
|
549
552
|
getExportType(option) {
|
|
550
553
|
if (option === DataExporterOption.EXPORT_ALL_RECORDS_TO_PDF || option === DataExporterOption.EXPORT_ALL_RECORDS_TO_XLS) {
|
|
551
|
-
return
|
|
554
|
+
return IExportType.ALL;
|
|
552
555
|
}
|
|
553
556
|
if (option === DataExporterOption.EXPORT_PAGE_TO_PDF || option === DataExporterOption.EXPORT_PAGE_TO_XLS) {
|
|
554
|
-
return
|
|
557
|
+
return IExportType.PAGE;
|
|
555
558
|
}
|
|
556
|
-
return
|
|
559
|
+
return IExportType.SELECTION;
|
|
557
560
|
}
|
|
558
561
|
async dispatchExporter(option) {
|
|
559
562
|
var _a, _b, _c;
|
|
@@ -777,4 +780,4 @@ function defineCustomElement() {
|
|
|
777
780
|
} });
|
|
778
781
|
}
|
|
779
782
|
|
|
780
|
-
export { SnkDataExporter as S, defineCustomElement as d };
|
|
783
|
+
export { IExportType as I, SnkDataExporter as S, defineCustomElement as d };
|
|
@@ -139,7 +139,7 @@ function buildNumber(item) {
|
|
|
139
139
|
const variation = props.variation;
|
|
140
140
|
if (variation === FilterNumberVariation.INTERVAL) {
|
|
141
141
|
const { start, end } = value !== null && value !== void 0 ? value : { start: 0, end: 0 };
|
|
142
|
-
if (start && end) {
|
|
142
|
+
if (!isNaN(start) && !isNaN(end)) {
|
|
143
143
|
return {
|
|
144
144
|
name: id,
|
|
145
145
|
expression: props.intervalExpression.fullfill,
|
|
@@ -149,7 +149,7 @@ function buildNumber(item) {
|
|
|
149
149
|
]
|
|
150
150
|
};
|
|
151
151
|
}
|
|
152
|
-
if (start) {
|
|
152
|
+
if (!isNaN(start)) {
|
|
153
153
|
return {
|
|
154
154
|
name: id,
|
|
155
155
|
expression: props.intervalExpression.onlystart,
|
|
@@ -158,7 +158,7 @@ function buildNumber(item) {
|
|
|
158
158
|
]
|
|
159
159
|
};
|
|
160
160
|
}
|
|
161
|
-
if (end) {
|
|
161
|
+
if (!isNaN(end)) {
|
|
162
162
|
return {
|
|
163
163
|
name: id,
|
|
164
164
|
expression: props.intervalExpression.onlyend,
|
|
@@ -253,7 +253,7 @@ class SnkFilterModalFactory {
|
|
|
253
253
|
}
|
|
254
254
|
}
|
|
255
255
|
|
|
256
|
-
const snkFilterBarCss = ".sc-snk-filter-bar-h{display:grid;grid-template-columns:1fr minmax(100px, 100%) 1fr 1fr;--snk-personalized-filter--z-index:var(--elevation--20, 20);--snk-personalized-filter--background-color:var(--background--xlight, #fff)}.snk-filter-bar__title.sc-snk-filter-bar{max-width:260px;display:inline-block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:16px;font-family:var(--font-pattern, Arial);font-weight:var(--text-weight--large, 600);color:var(--color--title-primary, #2B3A54);margin-top:
|
|
256
|
+
const snkFilterBarCss = ".sc-snk-filter-bar-h{display:grid;grid-template-columns:1fr minmax(100px, 100%) 1fr 1fr;--snk-personalized-filter--z-index:var(--elevation--20, 20);--snk-personalized-filter--background-color:var(--background--xlight, #fff)}.snk-filter-bar__title.sc-snk-filter-bar{max-width:260px;display:inline-block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:16px;font-family:var(--font-pattern, Arial);font-weight:var(--text-weight--large, 600);color:var(--color--title-primary, #2B3A54);margin-top:12px}[data-mode=\"hidden\"].sc-snk-filter-bar-h{width:0px;height:0px}[data-mode=\"button\"].sc-snk-filter-bar-h{grid-template-columns:1fr;width:fit-content}.snk-filter__popover-container.sc-snk-filter-bar{display:flex;cursor:auto}.filter-bar__personalized-filter.sc-snk-filter-bar{display:flex;flex-direction:column;position:fixed;top:0;left:0;width:100%;height:100%;overflow:auto;z-index:var(--snk-personalized-filter--z-index);background-color:var(--snk-personalized-filter--background-color)}.snk-filter__popover.sc-snk-filter-bar{display:flex;flex-direction:column;position:absolute;width:fit-content;height:fit-content;min-width:265px;background-color:var(--background--xlight, #fff);border-radius:var(--border--radius-medium, 12px);box-shadow:var(--shadow, 0px 0px 16px 0px #000)}.snk-filter-item__editor-header.sc-snk-filter-bar{flex-grow:1;font-weight:var(--text-weight--medium, 400);color:var(--color--title-primary, #2B3A54)}.snk-filter__popover-rule.sc-snk-filter-bar{border-style:solid;border-color:var(--color--disable-secondary, #F2F5F8);border-radius:1px;border-width:1px;width:100%}.editor__ez-check.sc-snk-filter-bar{--ez-check__label--padding-left:0}.snk-filter-item__editor-header-button.sc-snk-filter-bar{cursor:pointer;background-color:transparent;border:none;padding:3px;outline-color:var(--color--primary)}.snk-filter-bar__divider.sc-snk-filter-bar{margin-bottom:var(--space--small)}.snk-filter-bar__scroller.sc-snk-filter-bar{height:calc(100% + var(--space-extra-small, 0px))}.snk-filter-bar__filter-item-container.sc-snk-filter-bar{display:flex;align-items:start}.snk-filter-bar__scroller.sc-snk-filter-bar .sc-snk-filter-bar:first-child{margin-left:var(--space-extra-small, 3px)}.snk-filter-bar__filter-list-items-container.sc-snk-filter-bar{overflow-y:auto;max-height:360px;margin-top:var(--space--small, 6px)}.snk-filter-bar__filter-list-item.sc-snk-filter-bar{cursor:pointer;border-radius:var(--border--radius-small, 6px);border:none;background-color:transparent}.snk-filter-bar__filter-list-item__label.sc-snk-filter-bar{color:var(--title--primary)}.snk-filter-bar__filter-list-item__label--secondary.sc-snk-filter-bar{color:var(--text--primary)}.snk-filter-bar__filter-list-item__icon.sc-snk-filter-bar{--ez-icon--color:var(--title--primary)}.snk-filter-bar__filter-list-item__icon--secondary.sc-snk-filter-bar{--ez-icon--color:var(--text--secondary)}.snk-filter-bar__filter-list-item.sc-snk-filter-bar:focus-visible{outline:none;background-color:var(--background--medium)}.snk-filter-bar__filter-list-item.sc-snk-filter-bar:hover{background-color:var(--background--medium)}.snk-filter-bar__filter-list-items-container--empty.sc-snk-filter-bar{width:100%;height:100px;display:flex;justify-content:center;align-self:center;align-items:center}.snk-filter-bar__filter-list-items-button--active.sc-snk-filter-bar{position:relative}.snk-filter-bar__filter-list-items-button--active.sc-snk-filter-bar::after{display:flex;position:absolute;content:\"\";width:8px;height:8px;top:7px;left:17px;background-color:var(--icon--alert--color, #008561);border-radius:50%}.snk-filter-bar__filter-modal-item.sc-snk-filter-bar{--modal-item-border-width:2px;display:flex;flex-direction:row;margin-left:var(--modal-item-border-width);border-radius:var(--border--radius-medium, 12px);background-color:var(--background--medium, #f0f3f7);border:none;width:100%}.snk-filter-bar__filter-modal-item.sc-snk-filter-bar:focus-visible{outline:var(--color--primary) solid var(--modal-item-border-width)}.snk-filter-bar__filter-modal-item__check.sc-snk-filter-bar{width:auto}.snk-filter-bar__filter-modal-item__label.sc-snk-filter-bar{font-weight:var(--text-weight--medium)}.snk-filter-bar__filter-modal-content.sc-snk-filter-bar{display:grid;grid-template-rows:auto auto 1fr auto;width:99%;height:100%}";
|
|
257
257
|
|
|
258
258
|
const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
259
259
|
constructor() {
|
|
@@ -735,7 +735,7 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
735
735
|
if (this.mode !== "regular") {
|
|
736
736
|
return (h(Host, { "data-mode": this.mode }, this.getPersonalizedFilterVariableItems(), this.mode === 'button' && (h("ez-button", { class: "ez-margin-left--medium", size: "small", label: this.getMessage('snkFilterBar.filters', undefined, 'Filtros'), onClick: this.showFilterModal.bind(this) }))));
|
|
737
737
|
}
|
|
738
|
-
return (h(Host, null, h("div", null, h("span", { class: "snk-filter-bar__title", title: this.title, "data-tooltip": this.title, "data-flow": "bottom" }, this.title)), h("ez-scroller", { class: "snk-filter-bar__scroller", direction: EzScrollDirection.HORIZONTAL, activeShadow: true, locked: this.scrollerLocked }, h("section", { class: "snk-filter-bar__filter-item-container" }, this.getFilterItems())), h("ez-button", { class: "ez-padding-left--medium", size: "small", label: this.getMessage('snkFilterBar.filters', undefined, 'Filtros'), onClick: this.showFilterModal.bind(this) }, h("ez-icon", { slot: "leftIcon", iconName: "plus", class: "ez-padding-right--small" }))));
|
|
738
|
+
return (h(Host, null, h("div", null, h("span", { class: "snk-filter-bar__title", title: this.title, "data-tooltip": this.title, "data-flow": "bottom" }, this.title)), h("ez-scroller", { class: "snk-filter-bar__scroller", direction: EzScrollDirection.HORIZONTAL, activeShadow: true, locked: this.scrollerLocked }, h("section", { class: "snk-filter-bar__filter-item-container" }, this.getFilterItems())), h("ez-button", { class: "ez-padding-left--medium ez-margin-top--extra-small", size: "small", label: this.getMessage('snkFilterBar.filters', undefined, 'Filtros'), onClick: this.showFilterModal.bind(this) }, h("ez-icon", { slot: "leftIcon", iconName: "plus", class: "ez-padding-right--small" }))));
|
|
739
739
|
}
|
|
740
740
|
get _element() { return this; }
|
|
741
741
|
static get watchers() { return {
|
|
@@ -33,6 +33,7 @@ const SnkFilterItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
33
33
|
this._filterItemElement.scrollIntoView({ behavior: "auto", block: "nearest", inline: "nearest" });
|
|
34
34
|
if (open) {
|
|
35
35
|
this._closeCallback = resolve;
|
|
36
|
+
this._chipElement.blur();
|
|
36
37
|
window.requestAnimationFrame(() => {
|
|
37
38
|
this._floatingID = FloatingManager.float(this._popover, this._popoverContainer, this.getFloatOptions());
|
|
38
39
|
this._popover.show();
|
|
@@ -207,13 +208,13 @@ const SnkFilterItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
207
208
|
}
|
|
208
209
|
if (type === FilterItemType.NUMBER && props.variation === FilterNumberVariation.INTERVAL) {
|
|
209
210
|
const { start, end } = value;
|
|
210
|
-
if (start && end) {
|
|
211
|
+
if (!isNaN(start) && !isNaN(end)) {
|
|
211
212
|
return this.getMessage('snkFilterBar.fullIntervalTooltip', { LABEL: label, START_LABEL: start, END_LABEL: end });
|
|
212
213
|
}
|
|
213
|
-
if (start) {
|
|
214
|
+
if (!isNaN(start)) {
|
|
214
215
|
return `${label}: ${this.getMessage('snkFilterBar.onlyStartToltip')} ${Number(start)}`;
|
|
215
216
|
}
|
|
216
|
-
if (end) {
|
|
217
|
+
if (!isNaN(end)) {
|
|
217
218
|
return `${label}: ${this.getMessage('snkFilterBar.onlyEndToltip')} ${Number(end)}`;
|
|
218
219
|
}
|
|
219
220
|
}
|
|
@@ -23,7 +23,7 @@ const SnkFilterPeriod = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
|
|
|
23
23
|
if (this.getVariation() === FilterNumberVariation.INTERVAL) {
|
|
24
24
|
const start = this._startInterval.value;
|
|
25
25
|
const end = this._endInterval.value;
|
|
26
|
-
this.value = (start || end ? { start, end } : undefined);
|
|
26
|
+
this.value = (!isNaN(start) || !isNaN(end) ? { start, end } : undefined);
|
|
27
27
|
this.valueChanged.emit(this.value);
|
|
28
28
|
return;
|
|
29
29
|
}
|
|
@@ -6,7 +6,7 @@ import { C as ConfigStorage } from './ConfigStorage.js';
|
|
|
6
6
|
import { O as ORDER_VALUES } from './constants.js';
|
|
7
7
|
import { d as defineCustomElement$1 } from './snk-select-box2.js';
|
|
8
8
|
|
|
9
|
-
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--
|
|
9
|
+
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--small, 6px);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)}";
|
|
10
10
|
|
|
11
11
|
const SnkGridConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
12
12
|
constructor() {
|
|
@@ -2,8 +2,8 @@ import { proxyCustomElement, HTMLElement, createEvent, h, Fragment } from '@sten
|
|
|
2
2
|
import { Action, ElementIDUtils, ApplicationContext, StringUtils } from '@sankhyalabs/core';
|
|
3
3
|
import { T as TaskbarElement, d as defineCustomElement$2 } from './snk-taskbar2.js';
|
|
4
4
|
import { C as ConfigStorage } from './ConfigStorage.js';
|
|
5
|
-
import { P as PresentationMode } from './ISave.js';
|
|
6
|
-
import { C as CommonsExporter, T as TaskbarProcessor, S as SnkMultiSelectionListDataSource, o as openFieldSearch, a as CrudUtils, R as RmPrecisionCustomValueFormatter, c as ContinuousInsertUtils, b as buildFieldSearch } from './ContinuousInsertUtils.js';
|
|
5
|
+
import { P as PresentationMode, E as ExporterStrategy } from './ISave.js';
|
|
6
|
+
import { C as CommonsExporter, T as TaskbarProcessor, S as SnkMultiSelectionListDataSource, o as openFieldSearch, a as CrudUtils, R as RmPrecisionCustomValueFormatter, c as ContinuousInsertUtils, b as buildFieldSearch, d as ClientSideExporterProvider } from './ContinuousInsertUtils.js';
|
|
7
7
|
import { s as store } from './index2.js';
|
|
8
8
|
import { SelectionMode } from '@sankhyalabs/core/dist/dataunit/DataUnit';
|
|
9
9
|
import './DataFetcher.js';
|
|
@@ -86,7 +86,7 @@ class ServerSideExporterProvider extends CommonsExporter {
|
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
-
const snkGridCss = ".sc-snk-grid-h{--snk-grid-min-height:300px;--snk-grid-padding:var(--space--small)}.snk-grid__container.sc-snk-grid{display:flex;height:100%;width:100%;padding:var(--snk-grid-padding)}.snk-grid__header.sc-snk-grid{width:100%;display:flex;flex-wrap:nowrap;justify-content:flex-end}.snk-grid__filter-bar.sc-snk-grid{width:100%}.snk-grid__header-divider.sc-snk-grid{margin-bottom:var(--space--medium)}.snk-grid__table.sc-snk-grid{min-height:var(--snk-grid-min-height)}.snk-grid-container__without-shadow.sc-snk-grid{--ezgrid__container--shadow:unset}";
|
|
89
|
+
const snkGridCss = ".sc-snk-grid-h{--snk-grid-min-height:300px;--snk-grid-padding:var(--space--small)}.snk-grid__container.sc-snk-grid{display:flex;height:100%;width:100%;padding:var(--snk-grid-padding)}.snk-grid__header.sc-snk-grid{width:100%;display:flex;flex-wrap:nowrap;justify-content:flex-end}.snk-grid__filter-bar.sc-snk-grid{width:100%}.snk-grid__header-divider.sc-snk-grid{margin-bottom:var(--space--medium)}.snk-grid__table.sc-snk-grid{min-height:var(--snk-grid-min-height)}.snk-grid-container__without-shadow.sc-snk-grid{--ezgrid__container--shadow:unset}.snk-grid-container__footer.sc-snk-grid{background-color:var(--background--xlight, #FFF);border-radius:0 0 var(--border--radius-medium) var(--border--radius-medium);box-shadow:var(--shadow--small)}";
|
|
90
90
|
|
|
91
91
|
const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
92
92
|
constructor() {
|
|
@@ -156,6 +156,7 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
156
156
|
this.autoFocus = true;
|
|
157
157
|
this.enableGridInsert = false;
|
|
158
158
|
this.outlineMode = false;
|
|
159
|
+
this.strategyExporter = ExporterStrategy.SERVER_SIDE;
|
|
159
160
|
}
|
|
160
161
|
reloadConfig() {
|
|
161
162
|
this.loadConfig();
|
|
@@ -291,10 +292,24 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
291
292
|
this._gridConfig = config;
|
|
292
293
|
CrudUtils.assertDefaultSorting(this._gridConfig, this._dataUnit);
|
|
293
294
|
}
|
|
295
|
+
fixColumNameCharset(columnName) {
|
|
296
|
+
try {
|
|
297
|
+
return decodeURIComponent(escape(columnName));
|
|
298
|
+
}
|
|
299
|
+
catch (e) {
|
|
300
|
+
return columnName;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
normalizeGridConfig(config) {
|
|
304
|
+
if (!config)
|
|
305
|
+
return config;
|
|
306
|
+
const columnsMapped = config.columns.map(column => (Object.assign(Object.assign({}, column), { name: this.fixColumNameCharset(column.name) })));
|
|
307
|
+
return Object.assign(Object.assign({}, config), { columns: columnsMapped });
|
|
308
|
+
}
|
|
294
309
|
loadConfig() {
|
|
295
310
|
ConfigStorage.loadGridConfig(this.configName, this.resourceID)
|
|
296
311
|
.then((config) => {
|
|
297
|
-
this.setGridConfig(config);
|
|
312
|
+
this.setGridConfig(this.normalizeGridConfig(config));
|
|
298
313
|
})
|
|
299
314
|
.catch((error) => {
|
|
300
315
|
console.warn(error);
|
|
@@ -306,12 +321,12 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
306
321
|
}
|
|
307
322
|
}
|
|
308
323
|
gridConfigChangeHandler(evt) {
|
|
309
|
-
const config = evt.detail;
|
|
324
|
+
const config = this.normalizeGridConfig(evt.detail);
|
|
310
325
|
ConfigStorage.saveGridConfig(config, this.configName, this.resourceID);
|
|
311
326
|
evt.stopPropagation();
|
|
312
327
|
}
|
|
313
328
|
modalConfigChangeHandler(evt) {
|
|
314
|
-
const config = evt.detail;
|
|
329
|
+
const config = this.normalizeGridConfig(evt.detail);
|
|
315
330
|
this._grid.setColumnsState(config.columns)
|
|
316
331
|
.then(() => {
|
|
317
332
|
this.setGridConfig(config);
|
|
@@ -321,7 +336,9 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
321
336
|
evt.stopPropagation();
|
|
322
337
|
}
|
|
323
338
|
async dataExporterProviderStore() {
|
|
324
|
-
const dataExporterProvider =
|
|
339
|
+
const dataExporterProvider = this.strategyExporter === ExporterStrategy.SERVER_SIDE
|
|
340
|
+
? new ServerSideExporterProvider(this._dataUnit, this._grid)
|
|
341
|
+
: new ClientSideExporterProvider(this._dataUnit, this._grid);
|
|
325
342
|
store.set("exporterProviders", Object.assign(Object.assign({}, store.get("exporterProviders")), { [this.configName]: dataExporterProvider }));
|
|
326
343
|
}
|
|
327
344
|
addElementID() {
|
|
@@ -547,7 +564,7 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
547
564
|
return undefined;
|
|
548
565
|
}
|
|
549
566
|
return (h("div", { class: "snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large" }, h("div", { class: "snk-grid__header ez-margin-bottom--extra-small" }, this._showSnkFilterBar &&
|
|
550
|
-
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", "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' }, 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) => { this.gridConfigChangeHandler(evt); }, 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 }, 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 }, h("slot", { name: this.gridHeaderCustomSlotId }))), h("div", { class: "ez-col ez-col--sd-12" }, h("slot", { name: "SnkGridFooter" })), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._popUpGridConfig, onEzCloseModal: () => 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 }))));
|
|
567
|
+
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", "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' }, 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) => { this.gridConfigChangeHandler(evt); }, 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 }, 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 }, h("slot", { name: this.gridHeaderCustomSlotId }))), h("div", { class: "ez-col ez-col--sd-12 snk-grid-container__footer" }, h("slot", { name: "SnkGridFooter" })), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._popUpGridConfig, onEzCloseModal: () => 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 }))));
|
|
551
568
|
}
|
|
552
569
|
get _element() { return this; }
|
|
553
570
|
static get watchers() { return {
|
|
@@ -582,6 +599,7 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
582
599
|
"autoFocus": [4, "auto-focus"],
|
|
583
600
|
"enableGridInsert": [4, "enable-grid-insert"],
|
|
584
601
|
"outlineMode": [4, "outline-mode"],
|
|
602
|
+
"strategyExporter": [1025, "strategy-exporter"],
|
|
585
603
|
"_dataUnit": [32],
|
|
586
604
|
"_dataState": [32],
|
|
587
605
|
"_gridConfig": [32],
|