@sankhyalabs/sankhyablocks 0.0.0-bugfix-dev-KB-63774.0 → 0.0.0-bugfix-dev-KB-55889.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{ContinuousInsertUtils-807730a8.js → IExporterProvider-9ac15aaf.js} +3 -36
- package/dist/cjs/{SnkMessageBuilder-bae64d0d.js → SnkMessageBuilder-cceebbae.js} +1 -5
- package/dist/cjs/{dataunit-fetcher-f89461c1.js → dataunit-fetcher-4b12f70c.js} +17 -45
- package/dist/cjs/{field-search-68e34bf4.js → field-search-f56aa7d6.js} +1 -5
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/sankhyablocks.cjs.js +1 -1
- package/dist/cjs/snk-actions-button_4.cjs.entry.js +1 -1
- package/dist/cjs/snk-application.cjs.entry.js +2 -2
- package/dist/cjs/snk-attach.cjs.entry.js +4 -2
- package/dist/cjs/snk-crud.cjs.entry.js +2 -5
- package/dist/cjs/snk-data-exporter.cjs.entry.js +3 -3
- package/dist/cjs/{snk-data-unit-47202e42.js → snk-data-unit-ed17da6b.js} +18 -24
- package/dist/cjs/snk-data-unit.cjs.entry.js +3 -3
- package/dist/cjs/snk-detail-view.cjs.entry.js +4 -4
- package/dist/cjs/snk-filter-bar.cjs.entry.js +15 -19
- package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +1 -1
- package/dist/cjs/snk-grid.cjs.entry.js +14 -54
- package/dist/cjs/{snk-guides-viewer-68777d37.js → snk-guides-viewer-866447ab.js} +4 -8
- package/dist/cjs/snk-guides-viewer.cjs.entry.js +3 -3
- package/dist/cjs/snk-simple-bar.cjs.entry.js +1 -1
- package/dist/cjs/snk-simple-crud.cjs.entry.js +13 -45
- package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +4 -2
- package/dist/collection/components/snk-crud/snk-crud.js +1 -22
- package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +2 -24
- package/dist/collection/components/snk-data-unit/snk-data-unit.js +16 -22
- package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.js +1 -1
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +1 -1
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +14 -44
- package/dist/collection/components/snk-grid/snk-grid.css +1 -1
- package/dist/collection/components/snk-grid/snk-grid.js +7 -67
- package/dist/collection/components/snk-simple-bar/snk-simple-bar.js +1 -1
- package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +1 -0
- package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +9 -60
- package/dist/collection/components/snk-taskbar/processor/taskbar-processor.js +1 -5
- package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +3 -3
- package/dist/collection/lib/dataUnit/InMemoryLoader.js +4 -2
- package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +9 -34
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +2 -9
- package/dist/collection/lib/message/resources/snk-grid.msg.js +1 -5
- package/dist/components/{ContinuousInsertUtils.js → IExporterProvider.js} +5 -40
- package/dist/components/SnkMessageBuilder.js +1 -5
- package/dist/components/dataunit-fetcher.js +15 -45
- package/dist/components/snk-attach2.js +4 -2
- package/dist/components/snk-crud.js +1 -5
- package/dist/components/snk-data-unit2.js +17 -23
- package/dist/components/snk-detail-view2.js +3 -8
- package/dist/components/snk-filter-bar2.js +15 -20
- package/dist/components/snk-filter-checkbox-list.js +1 -1
- package/dist/components/snk-grid2.js +8 -50
- package/dist/components/snk-simple-bar2.js +1 -1
- package/dist/components/snk-simple-crud2.js +7 -41
- package/dist/esm/{ContinuousInsertUtils-1a82a768.js → IExporterProvider-09df2e3e.js} +5 -37
- package/dist/esm/{SnkMessageBuilder-6fff4a4c.js → SnkMessageBuilder-ae87b754.js} +1 -5
- package/dist/esm/{dataunit-fetcher-c24c76c6.js → dataunit-fetcher-3aac1a53.js} +15 -45
- package/dist/esm/{field-search-f8b1d91e.js → field-search-efbe307f.js} +1 -5
- package/dist/esm/loader.js +1 -1
- package/dist/esm/sankhyablocks.js +1 -1
- package/dist/esm/snk-actions-button_4.entry.js +1 -1
- package/dist/esm/snk-application.entry.js +2 -2
- package/dist/esm/snk-attach.entry.js +4 -2
- package/dist/esm/snk-crud.entry.js +2 -5
- package/dist/esm/snk-data-exporter.entry.js +3 -3
- package/dist/esm/{snk-data-unit-de45e0e1.js → snk-data-unit-6888df8f.js} +18 -24
- package/dist/esm/snk-data-unit.entry.js +3 -3
- package/dist/esm/snk-detail-view.entry.js +4 -4
- package/dist/esm/snk-filter-bar.entry.js +15 -19
- package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
- package/dist/esm/snk-grid.entry.js +9 -49
- package/dist/esm/{snk-guides-viewer-b5dd30e6.js → snk-guides-viewer-cb8a0b48.js} +4 -8
- package/dist/esm/snk-guides-viewer.entry.js +3 -3
- package/dist/esm/snk-simple-bar.entry.js +1 -1
- package/dist/esm/snk-simple-crud.entry.js +9 -41
- package/dist/sankhyablocks/p-0e9a872d.entry.js +1 -0
- package/dist/sankhyablocks/{p-694e1c4a.entry.js → p-16969508.entry.js} +1 -1
- package/dist/sankhyablocks/p-1ab19772.js +1 -0
- package/dist/sankhyablocks/p-1f47a0b2.entry.js +1 -0
- package/dist/sankhyablocks/p-3757394b.entry.js +1 -0
- package/dist/sankhyablocks/{p-eb9f0407.entry.js → p-3d542b58.entry.js} +1 -1
- package/dist/sankhyablocks/{p-da34270e.entry.js → p-439a50fb.entry.js} +1 -1
- package/dist/sankhyablocks/p-53c1d25d.entry.js +1 -0
- package/dist/sankhyablocks/{p-62e048c6.entry.js → p-559bfb9b.entry.js} +1 -1
- package/dist/sankhyablocks/{p-a42e7a1e.entry.js → p-640140b3.entry.js} +1 -1
- package/dist/sankhyablocks/p-7c4aabe2.js +1 -0
- package/dist/sankhyablocks/p-88aa931b.entry.js +1 -0
- package/dist/sankhyablocks/{p-bccfc262.js → p-9cbef862.js} +1 -1
- package/dist/sankhyablocks/p-a31e761f.js +1 -0
- package/dist/sankhyablocks/{p-5f157b09.entry.js → p-aaa3ee68.entry.js} +1 -1
- package/dist/sankhyablocks/p-b2caaaf9.entry.js +1 -0
- package/dist/sankhyablocks/{p-7eef0898.entry.js → p-bc4b94d2.entry.js} +1 -1
- package/dist/sankhyablocks/p-c2495304.js +1 -0
- package/dist/sankhyablocks/p-f8698ad3.js +60 -0
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-crud/snk-crud.d.ts +0 -4
- package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +0 -5
- package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +2 -2
- package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +0 -4
- package/dist/types/components/snk-grid/snk-grid.d.ts +0 -12
- package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +0 -10
- package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +0 -1
- package/dist/types/components.d.ts +0 -40
- package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +2 -12
- package/package.json +1 -1
- package/dist/collection/lib/utils/ContinuousInsertUtils.js +0 -31
- package/dist/sankhyablocks/p-0035ad6e.entry.js +0 -1
- package/dist/sankhyablocks/p-0911e61a.entry.js +0 -1
- package/dist/sankhyablocks/p-17425c72.js +0 -1
- package/dist/sankhyablocks/p-23736d75.js +0 -1
- package/dist/sankhyablocks/p-3ae9d08a.js +0 -1
- package/dist/sankhyablocks/p-3e3cc017.js +0 -1
- package/dist/sankhyablocks/p-50779ad3.entry.js +0 -1
- package/dist/sankhyablocks/p-7ac7932c.js +0 -60
- package/dist/sankhyablocks/p-b9679243.entry.js +0 -1
- package/dist/sankhyablocks/p-c2e468c9.entry.js +0 -1
- package/dist/sankhyablocks/p-e16e87fc.entry.js +0 -1
- package/dist/types/lib/utils/ContinuousInsertUtils.d.ts +0 -10
|
@@ -235,21 +235,6 @@ function applyFilter(records, dataUnit, filters) {
|
|
|
235
235
|
}
|
|
236
236
|
return records.filter(filterFunction);
|
|
237
237
|
}
|
|
238
|
-
function buildLoadDataResponse(recordsIn, dataUnit, request) {
|
|
239
|
-
let records = recordsIn ? [...recordsIn] : [];
|
|
240
|
-
records = applyFilter(records, dataUnit, request.filters);
|
|
241
|
-
records = applySorting(records, dataUnit, request.sort);
|
|
242
|
-
const { offset, limit } = request;
|
|
243
|
-
const paginationInfoBuilderParams = {
|
|
244
|
-
recordsLength: records.length,
|
|
245
|
-
offset,
|
|
246
|
-
recordsPerPage: limit,
|
|
247
|
-
};
|
|
248
|
-
return Promise.resolve({
|
|
249
|
-
records: getPagesByRecords(records, offset, limit),
|
|
250
|
-
paginationInfo: buildPaginationInfo(paginationInfoBuilderParams),
|
|
251
|
-
});
|
|
252
|
-
}
|
|
253
238
|
function applySorting(records, dataUnit, sorting) {
|
|
254
239
|
if (sorting == undefined || sorting.length == 0) {
|
|
255
240
|
return records;
|
|
@@ -260,28 +245,18 @@ function applySorting(records, dataUnit, sorting) {
|
|
|
260
245
|
}
|
|
261
246
|
return records.sort(sortingFunction);
|
|
262
247
|
}
|
|
263
|
-
function
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
function getPagesByRecords(records, offset = 0, limit = 0) {
|
|
267
|
-
if (!records || !records.length || !hasValidLimitAndOffset(offset, limit))
|
|
268
|
-
return [];
|
|
269
|
-
if (limit === 0 && offset === 0)
|
|
270
|
-
return records;
|
|
271
|
-
return records.slice(offset, offset + limit);
|
|
272
|
-
}
|
|
273
|
-
function buildPaginationInfo({ recordsLength = 0, offset = 0, recordsPerPage = 0 }) {
|
|
274
|
-
if (!recordsLength) {
|
|
275
|
-
return { currentPage: 0, firstRecord: 0, lastRecord: 0, total: 0, hasMore: false };
|
|
248
|
+
function buildPaginationInfo(records, offset = 0, limit = 0) {
|
|
249
|
+
if (records === undefined) {
|
|
250
|
+
return undefined;
|
|
276
251
|
}
|
|
277
|
-
const
|
|
278
|
-
const lastRecord =
|
|
252
|
+
const total = (records === null || records === void 0 ? void 0 : records.length) || 0;
|
|
253
|
+
const lastRecord = Math.min(offset + limit, total);
|
|
279
254
|
return {
|
|
280
|
-
currentPage:
|
|
281
|
-
firstRecord: offset
|
|
255
|
+
currentPage: limit === 0 ? 0 : Math.ceil(offset / limit),
|
|
256
|
+
firstRecord: offset,
|
|
282
257
|
lastRecord: lastRecord,
|
|
283
|
-
total:
|
|
284
|
-
hasMore:
|
|
258
|
+
total: total,
|
|
259
|
+
hasMore: !!(total - lastRecord),
|
|
285
260
|
};
|
|
286
261
|
}
|
|
287
262
|
|
|
@@ -367,7 +342,9 @@ class InMemoryLoader {
|
|
|
367
342
|
return StringUtils.generateUUID();
|
|
368
343
|
}
|
|
369
344
|
inMemoryLoader(dataUnit, request, recordsIn) {
|
|
370
|
-
|
|
345
|
+
let records = applyFilter(recordsIn, dataUnit, request.filters);
|
|
346
|
+
records = applySorting(records, dataUnit, request.sort);
|
|
347
|
+
return Promise.resolve({ records, paginationInfo: buildPaginationInfo(records, request.offset, request.limit) });
|
|
371
348
|
}
|
|
372
349
|
metadaLoader() {
|
|
373
350
|
return Promise.resolve(this._metadata);
|
|
@@ -447,19 +424,12 @@ class DatasetStrategy {
|
|
|
447
424
|
const records = this.processRecords(dataUnit, fields, responseRecords);
|
|
448
425
|
const loadingInProgress = pagerId != undefined;
|
|
449
426
|
const count = loadingInfo.count + records.length;
|
|
450
|
-
const isInsertingNewRecord = dataUnit.hasNewRecord();
|
|
451
427
|
const needReload = !loadingInProgress && localSorting.length > 0;
|
|
452
|
-
/**
|
|
453
|
-
* Caso precise recarregar dados, porém está no meio de uma inserção, os dados não devem recarregados instantaneamente,
|
|
454
|
-
* Mas sim, sinalizar que o dataUnit está aguardando para der recarregado.
|
|
455
|
-
*/
|
|
456
|
-
if (needReload && isInsertingNewRecord) {
|
|
457
|
-
dataUnit.setWaitingToReload(true);
|
|
458
|
-
}
|
|
459
428
|
return Promise.resolve({
|
|
460
429
|
records,
|
|
461
430
|
loadingInfo: Object.assign(Object.assign({}, loadingInfo), { pagerId,
|
|
462
|
-
loadingInProgress, total: loadingInProgress ? undefined : count, count,
|
|
431
|
+
loadingInProgress, total: loadingInProgress ? undefined : count, count,
|
|
432
|
+
needReload })
|
|
463
433
|
});
|
|
464
434
|
}
|
|
465
435
|
catch (error) {
|
|
@@ -1082,4 +1052,4 @@ class DataUnitFetcher {
|
|
|
1082
1052
|
}
|
|
1083
1053
|
}
|
|
1084
1054
|
|
|
1085
|
-
export { DataUnitFetcher as D, InMemoryLoader as I, PreloadManager as P,
|
|
1055
|
+
export { DataUnitFetcher as D, InMemoryLoader as I, PreloadManager as P, applyFilter as a, applySorting as b, buildPaginationInfo as c, DatasetStrategy as d, getRecordValue as g };
|
|
@@ -3,7 +3,7 @@ import { ApplicationContext, DataType, Action, UserInterface, StringUtils, DataU
|
|
|
3
3
|
import { D as DataFetcher } from './DataFetcher.js';
|
|
4
4
|
import './pesquisa-fetcher.js';
|
|
5
5
|
import { S as SaveErrorsEnum } from './ISave.js';
|
|
6
|
-
import { P as PreloadManager, b as
|
|
6
|
+
import { P as PreloadManager, a as applyFilter, b as applySorting, c as buildPaginationInfo, D as DataUnitFetcher, I as InMemoryLoader } from './dataunit-fetcher.js';
|
|
7
7
|
import './filter-item-type.enum.js';
|
|
8
8
|
import './form-config-fetcher.js';
|
|
9
9
|
import { V as VIEW_MODE } from './constants.js';
|
|
@@ -466,7 +466,9 @@ class AttachFetcherDataUnitFactory {
|
|
|
466
466
|
});
|
|
467
467
|
this._records = records;
|
|
468
468
|
}
|
|
469
|
-
|
|
469
|
+
let records = applyFilter(this._records, dataUnit, request.filters);
|
|
470
|
+
records = applySorting(records, dataUnit, request.sort);
|
|
471
|
+
return Promise.resolve({ records, paginationInfo: buildPaginationInfo(records, request.offset, request.limit) });
|
|
470
472
|
}
|
|
471
473
|
saveLoader(changes, fetcher) {
|
|
472
474
|
return new Promise((resolve) => {
|
|
@@ -80,7 +80,6 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
80
80
|
this.disablePersonalizedFilter = undefined;
|
|
81
81
|
this.autoLoad = undefined;
|
|
82
82
|
this.autoFocus = true;
|
|
83
|
-
this.enableGridInsert = false;
|
|
84
83
|
this.domainMessagesBuilder = undefined;
|
|
85
84
|
this.setCustomFormTitle = undefined;
|
|
86
85
|
this.customContainerId = `SNK-CRUD-CUSTOM-CONTAINER-${StringUtils.generateUUID()}`;
|
|
@@ -207,8 +206,6 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
207
206
|
ElementIDUtils.addIDInfo(this._element, null, dataInfo);
|
|
208
207
|
}
|
|
209
208
|
insertionModeHandler() {
|
|
210
|
-
if (this.enableGridInsert)
|
|
211
|
-
return;
|
|
212
209
|
this.gridToForm();
|
|
213
210
|
}
|
|
214
211
|
cancelHandler() {
|
|
@@ -423,7 +420,7 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
423
420
|
return;
|
|
424
421
|
}
|
|
425
422
|
this._snkDataUnit.ignoreSaveMessage = this._currentViewMode === VIEW_MODE.GRID;
|
|
426
|
-
return (h(Host, null, h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": "crud" }, h("stack-item", null, h("snk-grid", { ref: (ref) => this._snkGrid = ref, filterBarTitle: this.filterBarTitle, "data-element-id": "crud_grid", configName: this.configName, onGridDoubleClick: () => this.gridToForm(true), taskbarManager: this.taskbarManager, onActionClick: evt => this.executeAction(evt.detail), messagesBuilder: this.messagesBuilder, actionsList: this.actionsList, statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, presentationMode: this.presentationMode, recordsValidator: this.recordsValidator, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, canEdit: this._canEdit, resourceID: this._resourceID, disablePersonalizedFilter: this.disablePersonalizedFilter, gridLegacyConfigName: this.gridLegacyConfigName, filterBarLegacyConfigName: this.filterBarLegacyConfigName, autoLoad: this.autoLoad, autoFocus: this.autoFocus
|
|
423
|
+
return (h(Host, null, h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": "crud" }, h("stack-item", null, h("snk-grid", { ref: (ref) => this._snkGrid = ref, filterBarTitle: this.filterBarTitle, "data-element-id": "crud_grid", configName: this.configName, onGridDoubleClick: () => this.gridToForm(true), taskbarManager: this.taskbarManager, onActionClick: evt => this.executeAction(evt.detail), messagesBuilder: this.messagesBuilder, actionsList: this.actionsList, statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, presentationMode: this.presentationMode, recordsValidator: this.recordsValidator, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, canEdit: this._canEdit, resourceID: this._resourceID, disablePersonalizedFilter: this.disablePersonalizedFilter, gridLegacyConfigName: this.gridLegacyConfigName, filterBarLegacyConfigName: this.filterBarLegacyConfigName, autoLoad: this.autoLoad, autoFocus: this.autoFocus }, h("slot", { name: "GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkGridHeader" }), h("slot", { name: "SnkGridFooter" }), h("slot", { name: "SnkGridTaskBar" }))), h("stack-item", null, h("snk-guides-viewer", { ref: ref => this._guidesViewer = ref, entityPath: this._snkDataUnit.entityName, messagesBuilder: this.messagesBuilder, onExit: () => this.setViewMode(VIEW_MODE.GRID), dataState: this._dataState, dataUnit: this._dataUnit, actionsList: this.actionsList, taskbarManager: this.taskbarManager, configName: this.configName, onActionClick: evt => this.executeAction(evt.detail), presentationMode: this.presentationMode, "data-element-id": "crud_form", canEdit: this._canEdit, recordsValidator: this.recordsValidator, resourceID: this._resourceID, detailTaskbarCustomContainerId: this.customContainerId, formLegacyConfigName: this.formLegacyConfigName, getCustomTitle: this.setCustomFormTitle }, h("slot", { name: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkFormTaskBar" }))), h("stack-item", null, h("snk-attach", { registerKey: this.attachmentRegisterKey, messagesBuilder: this.messagesBuilder, entityName: this._snkDataUnit.entityName, onBack: this.backView.bind(this) })), h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this._currentViewMode, messagesBuilder: this.messagesBuilder, onConfigSelected: (evt) => this.setViewMode(evt.detail), onOpenConfig: (evt) => this.openConfig(evt.detail), showActionButtons: this.showActionButtons, onSave: evt => this.handleConfiguratorEvent(evt, 'SAVE'), onCancel: evt => this.handleConfiguratorEvent(evt, 'CANCEL'), resourceID: this._resourceID, customContainerId: this.customContainerId })), h("div", { id: `${this.customContainerId}` }, h("slot", { name: "SnkConfigContainerSlot" }), h("slot", { name: "DETAIL_GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" }))));
|
|
427
424
|
}
|
|
428
425
|
get _element() { return this; }
|
|
429
426
|
static get watchers() { return {
|
|
@@ -449,7 +446,6 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
449
446
|
"disablePersonalizedFilter": [4, "disable-personalized-filter"],
|
|
450
447
|
"autoLoad": [4, "auto-load"],
|
|
451
448
|
"autoFocus": [4, "auto-focus"],
|
|
452
|
-
"enableGridInsert": [4, "enable-grid-insert"],
|
|
453
449
|
"domainMessagesBuilder": [1, "domain-messages-builder"],
|
|
454
450
|
"setCustomFormTitle": [16],
|
|
455
451
|
"_dataUnit": [32],
|
|
@@ -2,7 +2,7 @@ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/
|
|
|
2
2
|
import { Action, ObjectUtils, DataUnitAction, StringUtils, ApplicationContext } from '@sankhyalabs/core';
|
|
3
3
|
import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
|
|
4
4
|
import { O as OperationMap, S as SnkMessageBuilder } from './SnkMessageBuilder.js';
|
|
5
|
-
import { g as getRecordValue,
|
|
5
|
+
import { g as getRecordValue, d as DatasetStrategy } from './dataunit-fetcher.js';
|
|
6
6
|
import { convertType } from '@sankhyalabs/core/dist/dataunit/metadata/DataType';
|
|
7
7
|
import { g as getSelectedRecordsIDsInfo } from './GetSelectedRecordsIDsInfo.js';
|
|
8
8
|
|
|
@@ -485,14 +485,7 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
485
485
|
}
|
|
486
486
|
handleRecordsRemoved(action) {
|
|
487
487
|
var _a, _b;
|
|
488
|
-
|
|
489
|
-
let removeFinishMsg;
|
|
490
|
-
if ((cachedRecords === null || cachedRecords === void 0 ? void 0 : cachedRecords.length) > 1) {
|
|
491
|
-
removeFinishMsg = this.getMessage("snkDataUnit.removeAllInfo", { size: cachedRecords.length });
|
|
492
|
-
}
|
|
493
|
-
else {
|
|
494
|
-
removeFinishMsg = this.getMessage("snkDataUnit.removeInfo", action.payload.cachedRecords[0]);
|
|
495
|
-
}
|
|
488
|
+
let removeFinishMsg = this.buildRemoveFinishMessage(action);
|
|
496
489
|
if (removeFinishMsg != undefined) {
|
|
497
490
|
this.showSuccessMessage(removeFinishMsg);
|
|
498
491
|
}
|
|
@@ -503,6 +496,14 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
503
496
|
this.dataUnit.gotoPage(page);
|
|
504
497
|
}
|
|
505
498
|
}
|
|
499
|
+
buildRemoveFinishMessage(action) {
|
|
500
|
+
const records = action.payload.records;
|
|
501
|
+
if (!records || !records.length)
|
|
502
|
+
return undefined;
|
|
503
|
+
if ((records === null || records === void 0 ? void 0 : records.length) > 1)
|
|
504
|
+
return this.getMessage('snkDataUnit.removeAllInfo', { size: records.length });
|
|
505
|
+
return this.getMessage('snkDataUnit.removeInfo', records);
|
|
506
|
+
}
|
|
506
507
|
/**
|
|
507
508
|
* Conforme mecanismo de mensagens, é possível customizar as mensagens dos blocos de construção
|
|
508
509
|
* através de um pequeno modulo na estrutura da aplicação:
|
|
@@ -546,26 +547,19 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
546
547
|
return await this._application.getDataUnit(this.entityName, cacheName, null, this.configName, this.resourceID);
|
|
547
548
|
}
|
|
548
549
|
}
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
this.fillFieldsWithRmPrecision(this.dataUnit.metadata);
|
|
552
|
-
const dataUnitUpdatedMetadata = this.handleDULinksOnMetadataLoaded(this.dataUnit.metadata);
|
|
553
|
-
this.dataUnit.metadata = dataUnitUpdatedMetadata;
|
|
554
|
-
}
|
|
555
|
-
async loadDataUnit() {
|
|
556
|
-
var _a, _b;
|
|
550
|
+
async loadDataUnit(forceMetadataLoad = true) {
|
|
551
|
+
var _a;
|
|
557
552
|
if (this.dataUnit == null && this._application && this.entityName) {
|
|
558
553
|
this.dataUnit = await this.getDataUnitParentOrChild();
|
|
559
554
|
}
|
|
560
555
|
if (this.dataUnit) {
|
|
561
556
|
this.dataUnit.pageSize = this.pageSize;
|
|
562
557
|
this.dataUnit.unsubscribe(this._dataUnitObserver);
|
|
563
|
-
this.dataUnit.subscribe(this._dataUnitObserver);
|
|
564
|
-
if ((_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.metadata) {
|
|
565
|
-
this.updateMetadataWithRMP();
|
|
566
|
-
}
|
|
567
558
|
this.dataUnit.addInterceptor(this);
|
|
568
|
-
|
|
559
|
+
this.dataUnit.subscribe(this._dataUnitObserver);
|
|
560
|
+
if (forceMetadataLoad || !this.dataUnit.metadata)
|
|
561
|
+
await this.dataUnit.loadMetadata();
|
|
562
|
+
if ((_a = this.dataUnit.records) === null || _a === void 0 ? void 0 : _a.length) {
|
|
569
563
|
const { records } = this.getMetadataByRow(this.dataUnit);
|
|
570
564
|
this.dataUnit.records = records;
|
|
571
565
|
}
|
|
@@ -653,7 +647,7 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
653
647
|
}
|
|
654
648
|
}
|
|
655
649
|
async componentDidLoad() {
|
|
656
|
-
await this.loadDataUnit();
|
|
650
|
+
await this.loadDataUnit(false);
|
|
657
651
|
this.handlerLinkFields();
|
|
658
652
|
}
|
|
659
653
|
render() {
|
|
@@ -12,7 +12,7 @@ import './filter-item-type.enum.js';
|
|
|
12
12
|
import './form-config-fetcher.js';
|
|
13
13
|
import { T as TaskbarElement, d as defineCustomElement$3 } from './snk-taskbar2.js';
|
|
14
14
|
import { V as VIEW_MODE } from './constants.js';
|
|
15
|
-
import { o as openFieldSearch, T as TaskbarProcessor, b as buildFieldSearch } from './
|
|
15
|
+
import { o as openFieldSearch, T as TaskbarProcessor, b as buildFieldSearch } from './IExporterProvider.js';
|
|
16
16
|
import { SelectionMode } from '@sankhyalabs/core/dist/dataunit/DataUnit';
|
|
17
17
|
import { d as defineCustomElement$u } from './snk-actions-button2.js';
|
|
18
18
|
import { d as defineCustomElement$t } from './snk-attach2.js';
|
|
@@ -70,7 +70,6 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
|
|
|
70
70
|
this.resourceID = undefined;
|
|
71
71
|
this.detailTaskbarCustomContainerId = undefined;
|
|
72
72
|
this.formLegacyConfigName = undefined;
|
|
73
|
-
this.enableGridInsert = false;
|
|
74
73
|
this.getCustomTitle = undefined;
|
|
75
74
|
this._hasToCreateFieldSearch = true;
|
|
76
75
|
this._breadcrumbItems = [];
|
|
@@ -140,7 +139,7 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
|
|
|
140
139
|
this._container.focus();
|
|
141
140
|
}
|
|
142
141
|
exitViewer() {
|
|
143
|
-
if (
|
|
142
|
+
if (this.dataUnit.isDirty()) {
|
|
144
143
|
this.dataUnit.cancelEdition({ after: () => this.exit.emit() });
|
|
145
144
|
}
|
|
146
145
|
else {
|
|
@@ -249,13 +248,10 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
|
|
|
249
248
|
const invisibleButtons = this.getInvisibleButtons();
|
|
250
249
|
this._taskbarProcessor = new TaskbarProcessor({
|
|
251
250
|
"snkGuideViewer.regular": btnsRegularMode,
|
|
252
|
-
"snkGuideViewer.finish_edition": ["CANCEL", "SAVE"
|
|
251
|
+
"snkGuideViewer.finish_edition": ["CANCEL", "SAVE"],
|
|
253
252
|
});
|
|
254
253
|
this._taskbarProcessor.process(taskbarId, this.taskbarManager, this.dataState, disabledButtons, invisibleButtons);
|
|
255
254
|
}
|
|
256
|
-
handleAddGridMode() {
|
|
257
|
-
return this.enableGridInsert ? TaskbarElement.GRID_MODE : "";
|
|
258
|
-
}
|
|
259
255
|
getInvisibleButtons() {
|
|
260
256
|
const invisibleButtons = [];
|
|
261
257
|
if (this.dataState && this.dataState.selectionInfo.mode === SelectionMode.ALL_RECORDS)
|
|
@@ -570,7 +566,6 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
|
|
|
570
566
|
"resourceID": [1, "resource-i-d"],
|
|
571
567
|
"detailTaskbarCustomContainerId": [1, "detail-taskbar-custom-container-id"],
|
|
572
568
|
"formLegacyConfigName": [1, "form-legacy-config-name"],
|
|
573
|
-
"enableGridInsert": [4, "enable-grid-insert"],
|
|
574
569
|
"getCustomTitle": [16],
|
|
575
570
|
"_hasToCreateFieldSearch": [32],
|
|
576
571
|
"_breadcrumbItems": [32],
|
|
@@ -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:8px}[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, 3px))}.snk-filter-bar__filter-item-container.sc-snk-filter-bar{display:flex;align-
|
|
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:8px}[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, 3px))}.snk-filter-bar__filter-item-container.sc-snk-filter-bar{display:flex;align-self:center}.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() {
|
|
@@ -279,7 +279,6 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
279
279
|
this._filtersComparator = (a, b) => {
|
|
280
280
|
return this._calculateSortIndex(b) - this._calculateSortIndex(a);
|
|
281
281
|
};
|
|
282
|
-
this.customFilterBarConfig = undefined;
|
|
283
282
|
this.dataUnit = undefined;
|
|
284
283
|
this.title = undefined;
|
|
285
284
|
this.configName = undefined;
|
|
@@ -589,23 +588,20 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
589
588
|
}
|
|
590
589
|
}
|
|
591
590
|
async loadConfigFromStorage(clearCache) {
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
}
|
|
606
|
-
catch (e) {
|
|
607
|
-
throw new ErrorException(this.getMessage("snkFilterBar.failToLoadConfig"), e);
|
|
608
|
-
}
|
|
591
|
+
if (clearCache) {
|
|
592
|
+
await ConfigStorage.deleteFilterBarConfigCache(this.configName, this.resourceID);
|
|
593
|
+
}
|
|
594
|
+
return new Promise(accept => {
|
|
595
|
+
ConfigStorage.loadFilterBarConfig(this.configName, this.resourceID, { contextURI: this.dataUnit.name })
|
|
596
|
+
.then((filters) => {
|
|
597
|
+
accept();
|
|
598
|
+
this.filterConfig = filters.map(item => this.normalizeItem(item));
|
|
599
|
+
this.filterConfig.sort((a, b) => this._filtersComparator(a, b));
|
|
600
|
+
})
|
|
601
|
+
.catch(reason => {
|
|
602
|
+
throw new ErrorException(this.getMessage("snkFilterBar.failToLoadConfig"), reason);
|
|
603
|
+
});
|
|
604
|
+
});
|
|
609
605
|
}
|
|
610
606
|
attachDataUnit() {
|
|
611
607
|
if (this.dataUnit == undefined) {
|
|
@@ -724,7 +720,6 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
724
720
|
}; }
|
|
725
721
|
static get style() { return snkFilterBarCss; }
|
|
726
722
|
}, [2, "snk-filter-bar", {
|
|
727
|
-
"customFilterBarConfig": [16],
|
|
728
723
|
"dataUnit": [1040],
|
|
729
724
|
"title": [1],
|
|
730
725
|
"configName": [1, "config-name"],
|
|
@@ -23,7 +23,7 @@ const SnkFilterCheckboxList$1 = /*@__PURE__*/ proxyCustomElement(class extends H
|
|
|
23
23
|
this.valueChanged.emit((_b = this.config) === null || _b === void 0 ? void 0 : _b.value);
|
|
24
24
|
}
|
|
25
25
|
renderOptions() {
|
|
26
|
-
return this.optionsList.map(option => (h("ez-check", { label: option.label, onEzChange: (event) => this.handleToggleCheck(option, event.detail), value: !!this.isChecked(option.name) })));
|
|
26
|
+
return this.optionsList.map(option => (h("ez-check", { label: option.label, compact: true, onEzChange: (event) => this.handleToggleCheck(option, event.detail), value: !!this.isChecked(option.name) })));
|
|
27
27
|
}
|
|
28
28
|
isChecked(itemName) {
|
|
29
29
|
var _a;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, h, Fragment } from '@stencil/core/internal/client';
|
|
2
2
|
import { Action, ElementIDUtils, ApplicationContext, StringUtils } from '@sankhyalabs/core';
|
|
3
|
-
import {
|
|
3
|
+
import { d as defineCustomElement$2, T as TaskbarElement } from './snk-taskbar2.js';
|
|
4
4
|
import { C as ConfigStorage } from './ConfigStorage.js';
|
|
5
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,
|
|
6
|
+
import { C as CommonsExporter, T as TaskbarProcessor, S as SnkMultiSelectionListDataSource, o as openFieldSearch, a as CrudUtils, R as RmPrecisionCustomValueFormatter, b as buildFieldSearch } from './IExporterProvider.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--
|
|
89
|
+
const snkGridCss = ".sc-snk-grid-h{--snk-grid-min-height:300px;--snk-grid-padding:var(--space--lg)}.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}";
|
|
90
90
|
|
|
91
91
|
const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
92
92
|
constructor() {
|
|
@@ -100,7 +100,7 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
100
100
|
"snkGridTopTaskbar.regular": ["FORM_MODE", "CONFIGURATOR", "INSERT"],
|
|
101
101
|
"snkGridTopTaskbar.regular.secondary": ["FORM_MODE", "CONFIGURATOR", "INSERT"],
|
|
102
102
|
"snkGridTopTaskbar.regular.singleTaskbar": [],
|
|
103
|
-
"snkGridTopTaskbar.finish_edition": ["CANCEL", "SAVE"
|
|
103
|
+
"snkGridTopTaskbar.finish_edition": ["CANCEL", "SAVE"],
|
|
104
104
|
"snkGridTopTaskbar.finish_edition.secondary": [],
|
|
105
105
|
"snkGridTopTaskbar.finish_edition.singleTaskbar": [],
|
|
106
106
|
});
|
|
@@ -113,7 +113,7 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
113
113
|
"snkGridHeaderTaskbar.singleTaskbar.selected": ["UPDATE", "CLONE", "REMOVE", "MORE_OPTIONS", "DIVIDER", "ATTACH", "FORM_MODE", "CONFIGURATOR", "REFRESH", "DATA_EXPORTER", "ACTIONS_BUTTON"],
|
|
114
114
|
"snkGridHeaderTaskbar.singleTaskbar.detail.unselected": ["INSERT", "FORM_MODE", "CONFIGURATOR", "REFRESH", "MORE_OPTIONS"],
|
|
115
115
|
"snkGridHeaderTaskbar.singleTaskbar.detail.selected": ["UPDATE", "ATTACH", "CLONE", "REMOVE", "MORE_OPTIONS", "DIVIDER", "FORM_MODE", "CONFIGURATOR", "REFRESH"],
|
|
116
|
-
"snkGridHeaderTaskbar.singleTaskbar.finish_edition": ["CANCEL", "SAVE"
|
|
116
|
+
"snkGridHeaderTaskbar.singleTaskbar.finish_edition": ["CANCEL", "SAVE"]
|
|
117
117
|
});
|
|
118
118
|
this.dataUnitInterceptor = {
|
|
119
119
|
interceptAction: async (action) => {
|
|
@@ -128,7 +128,6 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
128
128
|
this._gridConfig = undefined;
|
|
129
129
|
this._popUpGridConfig = false;
|
|
130
130
|
this._showSnkFilterBar = true;
|
|
131
|
-
this._enableContinuousInsert = false;
|
|
132
131
|
this.columnFilterDataSource = new SnkMultiSelectionListDataSource();
|
|
133
132
|
this.configName = undefined;
|
|
134
133
|
this.filterBarTitle = undefined;
|
|
@@ -152,7 +151,6 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
152
151
|
this.filterBarLegacyConfigName = undefined;
|
|
153
152
|
this.autoLoad = undefined;
|
|
154
153
|
this.autoFocus = true;
|
|
155
|
-
this.enableGridInsert = false;
|
|
156
154
|
}
|
|
157
155
|
/**
|
|
158
156
|
* Exibe a janela de configurações da grade.
|
|
@@ -239,16 +237,6 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
239
237
|
async setFocus() {
|
|
240
238
|
this._grid.setFocus();
|
|
241
239
|
}
|
|
242
|
-
async handleClick(event) {
|
|
243
|
-
if (this.hasToBlockEvent(event)) {
|
|
244
|
-
event.preventDefault();
|
|
245
|
-
event.stopPropagation();
|
|
246
|
-
await this._dataUnit.cancelEdition();
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
hasToBlockEvent(event) {
|
|
250
|
-
return this._snkFilterBar.contains(event.target) && this.enableGridInsert && this._dataUnit.hasNewRecord();
|
|
251
|
-
}
|
|
252
240
|
async handleGridLegacyConfigName(newLegacyConfig, oldLegacyConfig) {
|
|
253
241
|
if (!newLegacyConfig) {
|
|
254
242
|
return;
|
|
@@ -259,9 +247,6 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
259
247
|
this.addGridLegacyConfigName();
|
|
260
248
|
this.loadConfig();
|
|
261
249
|
}
|
|
262
|
-
handleAddFormMode() {
|
|
263
|
-
return this.enableGridInsert ? TaskbarElement.FORM_MODE : "";
|
|
264
|
-
}
|
|
265
250
|
openGridConfig() {
|
|
266
251
|
this._grid.getColumnsState()
|
|
267
252
|
.then((gridColumns) => {
|
|
@@ -386,21 +371,13 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
386
371
|
}
|
|
387
372
|
parent = parent.parentElement;
|
|
388
373
|
}
|
|
389
|
-
if (this._snkFilterBar) {
|
|
390
|
-
this._snkFilterBar.addEventListener('click', this.handleClick);
|
|
391
|
-
}
|
|
392
374
|
this._rmPrecisionCustomValueFormatter = new RmPrecisionCustomValueFormatter();
|
|
393
375
|
this.addGridLegacyConfigName();
|
|
394
376
|
this.loadConfig();
|
|
395
|
-
this._continuousInsertUtils = new ContinuousInsertUtils(this._application, this.resourceID, this.configName);
|
|
396
|
-
if (this.enableGridInsert) {
|
|
397
|
-
this._continuousInsertUtils.getConfig().then(value => this._enableContinuousInsert = value);
|
|
398
|
-
}
|
|
399
377
|
}
|
|
400
378
|
componentDidRender() {
|
|
401
|
-
var _a, _b;
|
|
402
379
|
this._rmPrecisionCustomValueFormatter.setGrid(this._grid);
|
|
403
|
-
this.loadGridCustomFormatters(
|
|
380
|
+
this.loadGridCustomFormatters(this._dataUnit.metadata.fields);
|
|
404
381
|
this.setCustomRenders();
|
|
405
382
|
this.setCustomEditors();
|
|
406
383
|
}
|
|
@@ -498,21 +475,12 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
498
475
|
eagerInitialize: true,
|
|
499
476
|
itemBuilder: (actionButton, item) => this.getColumnSearch(actionButton, item)
|
|
500
477
|
}];
|
|
501
|
-
if (this.enableGridInsert) {
|
|
502
|
-
hardList.push(this._continuousInsertUtils.actionContinuousInsert(this._enableContinuousInsert, this.handleEnableContinuousInsert));
|
|
503
|
-
}
|
|
504
|
-
if (this.isGridInsertActive())
|
|
505
|
-
return hardList;
|
|
506
478
|
if (this.taskbarManager != undefined && this.taskbarManager.getMoreOptions != undefined) {
|
|
507
479
|
const taskbarID = this.getTopTaskBarId();
|
|
508
480
|
return hardList.concat(this.taskbarManager.getMoreOptions(taskbarID, this.configName, this._dataState, this.actionsList));
|
|
509
481
|
}
|
|
510
482
|
return hardList.concat(this.actionsList);
|
|
511
483
|
}
|
|
512
|
-
handleEnableContinuousInsert() {
|
|
513
|
-
this._enableContinuousInsert = !this._enableContinuousInsert;
|
|
514
|
-
this._continuousInsertUtils.handleSaveConfig(this._enableContinuousInsert);
|
|
515
|
-
}
|
|
516
484
|
handleFilterConfigUpdated(filterConfig) {
|
|
517
485
|
if (!filterConfig.length) {
|
|
518
486
|
this._showSnkFilterBar = false;
|
|
@@ -524,20 +492,12 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
524
492
|
}
|
|
525
493
|
this._showSnkFilterBar = true;
|
|
526
494
|
}
|
|
527
|
-
getGridHeaderButtons() {
|
|
528
|
-
if (this.isGridInsertActive())
|
|
529
|
-
return TaskbarElement.MORE_OPTIONS;
|
|
530
|
-
return this._headerTaskbarProcessor.buttons;
|
|
531
|
-
}
|
|
532
|
-
isGridInsertActive() {
|
|
533
|
-
return this.enableGridInsert && this._dataUnit.hasNewRecord();
|
|
534
|
-
}
|
|
535
495
|
render() {
|
|
536
496
|
if (!this._dataUnit) {
|
|
537
497
|
return undefined;
|
|
538
498
|
}
|
|
539
|
-
return (h("div", { class: "snk-grid__container ez-flex ez-flex--column ez-flex-item--auto
|
|
540
|
-
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 }), 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
|
|
499
|
+
return (h("div", { class: "snk-grid__container ez-flex ez-flex--column ez-flex-item--auto" }, h("div", { class: "snk-grid__header ez-margin-bottom--medium" }, this._showSnkFilterBar &&
|
|
500
|
+
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 }), 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 }, h("snk-taskbar", { id: 'teste', dataUnit: this._dataUnit, configName: this.configName, messagesBuilder: this.messagesBuilder, "data-element-id": "grid_left", buttons: this._headerTaskbarProcessor.buttons, 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 }))));
|
|
541
501
|
}
|
|
542
502
|
get _element() { return this; }
|
|
543
503
|
static get watchers() { return {
|
|
@@ -568,13 +528,11 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
568
528
|
"filterBarLegacyConfigName": [1, "filter-bar-legacy-config-name"],
|
|
569
529
|
"autoLoad": [4, "auto-load"],
|
|
570
530
|
"autoFocus": [4, "auto-focus"],
|
|
571
|
-
"enableGridInsert": [4, "enable-grid-insert"],
|
|
572
531
|
"_dataUnit": [32],
|
|
573
532
|
"_dataState": [32],
|
|
574
533
|
"_gridConfig": [32],
|
|
575
534
|
"_popUpGridConfig": [32],
|
|
576
535
|
"_showSnkFilterBar": [32],
|
|
577
|
-
"_enableContinuousInsert": [32],
|
|
578
536
|
"showConfig": [64],
|
|
579
537
|
"hideConfig": [64],
|
|
580
538
|
"setConfig": [64],
|
|
@@ -33,7 +33,7 @@ const SnkSimpleBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
33
33
|
this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
|
|
34
34
|
}
|
|
35
35
|
render() {
|
|
36
|
-
return (h("div", { class: "simple-bar__container ez-margin-vertical--
|
|
36
|
+
return (h("div", { class: "simple-bar__container ez-margin-vertical--medium ez-padding--extra-small" }, h("div", { class: "simple-bar__left-slot" }, h("ez-button", { class: "ez-padding-right--medium", title: this.getMessage('snkSimpleBar.backTitle'), mode: 'icon', iconName: "arrow_back", size: 'medium', onClick: () => this.exit.emit() }), h("div", { class: "simple-bar__column" }, h("h1", { class: "ez-title ez-title--primary ez-title--extra-large" }, this.label), h("ez-breadcrumb", { items: this.breadcrumbItens, onSelectedItem: ({ detail }) => this.clickBreadcrumbItem.emit(detail) }))), h("div", { class: "simple-bar__right-slot" }, h("slot", { name: "rightSlot" }))));
|
|
37
37
|
}
|
|
38
38
|
get _element() { return this; }
|
|
39
39
|
static get style() { return snkSimpleBarCss; }
|