@sankhyalabs/sankhyablocks 8.16.0-dev.3 → 8.16.0-dev.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{ConfigStorage-942ce74b.js → ConfigStorage-ecc0ed20.js} +3 -2
- package/dist/cjs/{IExporterProvider-597949f9.js → ContinuousInsertUtils-807730a8.js} +39 -6
- package/dist/cjs/{DataFetcher-313debd8.js → DataFetcher-cadeef8e.js} +21 -15
- package/dist/cjs/{RecordIDUtils-3735135c.js → GetSelectedRecordsIDsInfo-bd50caf1.js} +10 -10
- package/dist/cjs/{SnkFormConfigManager-1b13bacd.js → SnkFormConfigManager-f1c92f79.js} +74 -20
- package/dist/cjs/{SnkMessageBuilder-722b104e.js → SnkMessageBuilder-bae64d0d.js} +7 -3
- package/dist/cjs/{auth-fetcher-54f5ff9d.js → auth-fetcher-d68841bc.js} +1 -1
- package/dist/cjs/{dataunit-fetcher-688d3f05.js → dataunit-fetcher-f89461c1.js} +46 -18
- package/dist/cjs/{field-search-f56aa7d6.js → field-search-68e34bf4.js} +5 -1
- package/dist/cjs/{form-config-fetcher-2dd00e5b.js → form-config-fetcher-ed497282.js} +5 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{pesquisa-fetcher-680e198f.js → pesquisa-fetcher-ca89181c.js} +1 -1
- package/dist/cjs/sankhyablocks.cjs.js +1 -1
- package/dist/cjs/snk-actions-button_4.cjs.entry.js +17 -14
- package/dist/cjs/snk-application.cjs.entry.js +7 -7
- package/dist/cjs/snk-attach.cjs.entry.js +37 -28
- package/dist/cjs/snk-crud.cjs.entry.js +14 -6
- package/dist/cjs/snk-data-exporter.cjs.entry.js +19 -18
- package/dist/cjs/{snk-data-unit-685272e7.js → snk-data-unit-668dc5e8.js} +42 -22
- package/dist/cjs/snk-data-unit.cjs.entry.js +5 -5
- package/dist/cjs/snk-detail-view.cjs.entry.js +12 -13
- package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +1 -1
- package/dist/cjs/snk-filter-bar.cjs.entry.js +37 -25
- package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +1 -1
- package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
- package/dist/cjs/snk-form-config.cjs.entry.js +17 -6
- package/dist/cjs/snk-form.cjs.entry.js +7 -6
- package/dist/cjs/snk-grid.cjs.entry.js +61 -21
- package/dist/cjs/{snk-guides-viewer-67605336.js → snk-guides-viewer-68777d37.js} +24 -12
- package/dist/cjs/snk-guides-viewer.cjs.entry.js +9 -9
- package/dist/cjs/snk-personalized-filter.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 +64 -26
- package/dist/cjs/snk-taskbar.cjs.entry.js +23 -1
- package/dist/collection/components/snk-actions-button/actions/index.js +12 -9
- package/dist/collection/components/snk-attach/snk-attach.js +24 -15
- package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +2 -4
- package/dist/collection/components/snk-crud/snk-crud.js +78 -1
- package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +3 -4
- package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +51 -6
- package/dist/collection/components/snk-data-exporter/exporter-email-sender/options-step.js +1 -1
- package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +4 -4
- package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +5 -5
- package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +1 -1
- package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +1 -1
- package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +2 -2
- package/dist/collection/components/snk-data-exporter/structure/ItemBuilder.js +2 -2
- package/dist/collection/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.js +4 -4
- package/dist/collection/components/snk-data-unit/snk-data-unit.js +57 -20
- 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 +59 -21
- package/dist/collection/components/snk-form/snk-form.js +2 -2
- package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +72 -18
- package/dist/collection/components/snk-form-config/snk-form-config.css +8 -3
- package/dist/collection/components/snk-form-config/snk-form-config.js +14 -3
- package/dist/collection/components/snk-grid/snk-grid.css +2 -0
- package/dist/collection/components/snk-grid/snk-grid.js +68 -8
- package/dist/collection/components/snk-simple-bar/snk-simple-bar.js +1 -1
- package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +0 -1
- package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +89 -15
- package/dist/collection/components/snk-taskbar/processor/taskbar-processor.js +5 -1
- package/dist/collection/components/snk-taskbar/snk-taskbar.js +64 -0
- package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +3 -3
- package/dist/collection/lib/configs/ConfigStorage.js +1 -0
- package/dist/collection/lib/dataUnit/InMemoryLoader.js +2 -4
- package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +34 -9
- package/dist/collection/lib/http/data-fetcher/DataFetcher.js +22 -16
- package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.js +7 -5
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +9 -2
- package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +4 -1
- package/dist/collection/lib/message/resources/snk-data-unit.msg.js +1 -1
- package/dist/collection/lib/message/resources/snk-exporter.msg.js +1 -1
- package/dist/collection/lib/message/resources/snk-grid.msg.js +5 -1
- package/dist/collection/lib/utils/ContinuousInsertUtils.js +31 -0
- package/dist/collection/{components/snk-data-exporter/utils/RecordIDUtils.js → lib/utils/GetSelectedRecordsIDsInfo.js} +9 -9
- package/dist/components/ConfigStorage.js +1 -0
- package/dist/components/{IExporterProvider.js → ContinuousInsertUtils.js} +40 -5
- package/dist/components/DataFetcher.js +22 -16
- package/dist/{esm/RecordIDUtils-87d02110.js → components/GetSelectedRecordsIDsInfo.js} +10 -10
- package/dist/components/SnkFormConfigManager.js +72 -18
- package/dist/components/SnkMessageBuilder.js +7 -3
- package/dist/components/dataunit-fetcher.js +45 -15
- package/dist/components/form-config-fetcher.js +4 -1
- package/dist/components/snk-actions-button2.js +12 -9
- package/dist/components/snk-attach2.js +33 -24
- package/dist/components/snk-crud.js +12 -1
- package/dist/components/snk-data-exporter2.js +12 -11
- package/dist/components/snk-data-unit2.js +44 -60
- package/dist/components/snk-detail-view2.js +24 -11
- package/dist/components/snk-exporter-email-sender2.js +1 -1
- package/dist/components/snk-filter-bar2.js +35 -22
- package/dist/components/snk-filter-checkbox-list.js +1 -1
- package/dist/components/snk-form-config2.js +15 -4
- package/dist/components/snk-form.js +2 -2
- package/dist/components/snk-grid2.js +53 -11
- package/dist/components/snk-simple-bar2.js +1 -1
- package/dist/components/snk-simple-crud2.js +57 -15
- package/dist/components/snk-taskbar2.js +24 -2
- package/dist/esm/{ConfigStorage-86187da3.js → ConfigStorage-7b36d041.js} +3 -2
- package/dist/esm/{IExporterProvider-63a188b6.js → ContinuousInsertUtils-1a82a768.js} +40 -8
- package/dist/esm/{DataFetcher-c1baf61d.js → DataFetcher-a9c598f2.js} +22 -16
- package/dist/esm/GetSelectedRecordsIDsInfo-9fa41508.js +41 -0
- package/dist/esm/{SnkFormConfigManager-d4554df9.js → SnkFormConfigManager-139f09fa.js} +74 -20
- package/dist/esm/{SnkMessageBuilder-89925609.js → SnkMessageBuilder-6fff4a4c.js} +7 -3
- package/dist/esm/{auth-fetcher-039abba3.js → auth-fetcher-749d880f.js} +1 -1
- package/dist/esm/{dataunit-fetcher-264191b2.js → dataunit-fetcher-c24c76c6.js} +46 -16
- package/dist/esm/{field-search-efbe307f.js → field-search-f8b1d91e.js} +5 -1
- package/dist/esm/{form-config-fetcher-30fb808f.js → form-config-fetcher-adbe5d34.js} +5 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{pesquisa-fetcher-03c8f919.js → pesquisa-fetcher-8edaa8cd.js} +1 -1
- package/dist/esm/sankhyablocks.js +1 -1
- package/dist/esm/snk-actions-button_4.entry.js +17 -14
- package/dist/esm/snk-application.entry.js +7 -7
- package/dist/esm/snk-attach.entry.js +37 -28
- package/dist/esm/snk-crud.entry.js +14 -6
- package/dist/esm/snk-data-exporter.entry.js +19 -18
- package/dist/esm/{snk-data-unit-63f83504.js → snk-data-unit-0fdfb6c2.js} +42 -22
- package/dist/esm/snk-data-unit.entry.js +5 -5
- package/dist/esm/snk-detail-view.entry.js +12 -13
- package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
- package/dist/esm/snk-filter-bar.entry.js +37 -25
- package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
- package/dist/esm/snk-filter-modal-item.entry.js +3 -3
- package/dist/esm/snk-form-config.entry.js +17 -6
- package/dist/esm/snk-form.entry.js +7 -6
- package/dist/esm/snk-grid.entry.js +56 -16
- package/dist/esm/{snk-guides-viewer-151f6091.js → snk-guides-viewer-b5dd30e6.js} +24 -12
- package/dist/esm/snk-guides-viewer.entry.js +9 -9
- package/dist/esm/snk-personalized-filter.entry.js +3 -3
- package/dist/esm/snk-simple-bar.entry.js +1 -1
- package/dist/esm/snk-simple-crud.entry.js +60 -22
- package/dist/esm/snk-taskbar.entry.js +23 -1
- package/dist/sankhyablocks/p-0035ad6e.entry.js +1 -0
- package/dist/sankhyablocks/{p-df5451c7.js → p-06421fdb.js} +2 -2
- package/dist/sankhyablocks/p-16a1dd18.entry.js +1 -0
- package/dist/sankhyablocks/p-17425c72.js +1 -0
- package/dist/sankhyablocks/p-18ed15f4.entry.js +1 -0
- package/dist/sankhyablocks/{p-af8efd95.js → p-1bf06cd3.js} +2 -2
- package/dist/sankhyablocks/{p-a1d72395.entry.js → p-212213d9.entry.js} +1 -1
- package/dist/sankhyablocks/p-23736d75.js +1 -0
- package/dist/sankhyablocks/p-3ae9d08a.js +1 -0
- package/dist/sankhyablocks/p-3e3cc017.js +1 -0
- package/dist/sankhyablocks/p-430e4d3c.entry.js +1 -0
- package/dist/sankhyablocks/{p-aff76a53.js → p-4d9549cf.js} +2 -2
- package/dist/sankhyablocks/p-50779ad3.entry.js +1 -0
- package/dist/sankhyablocks/p-5dd8cf4f.js +1 -0
- package/dist/sankhyablocks/{p-aaa3ee68.entry.js → p-5f157b09.entry.js} +1 -1
- package/dist/sankhyablocks/p-60b29483.entry.js +1 -0
- package/dist/sankhyablocks/p-694e1c4a.entry.js +1 -0
- package/dist/sankhyablocks/p-7ac7932c.js +60 -0
- package/dist/sankhyablocks/p-7dd49d15.js +1 -0
- package/dist/sankhyablocks/p-7eef0898.entry.js +1 -0
- package/dist/sankhyablocks/{p-82a0bfb0.entry.js → p-a42e7a1e.entry.js} +2 -2
- package/dist/sankhyablocks/p-afbb070d.js +1 -0
- package/dist/sankhyablocks/p-b9679243.entry.js +1 -0
- package/dist/sankhyablocks/p-b9c67e45.entry.js +1 -0
- package/dist/sankhyablocks/p-c2e468c9.entry.js +1 -0
- package/dist/sankhyablocks/{p-913a9979.js → p-ca5ec380.js} +1 -1
- package/dist/sankhyablocks/p-d80a84fd.entry.js +1 -0
- package/dist/sankhyablocks/p-d836f72b.entry.js +1 -0
- package/dist/sankhyablocks/p-e16e87fc.entry.js +1 -0
- package/dist/sankhyablocks/p-eb9f0407.entry.js +1 -0
- package/dist/sankhyablocks/p-f3434fc4.js +1 -0
- package/dist/sankhyablocks/{p-eae7a817.entry.js → p-fb34e0cf.entry.js} +1 -1
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-actions-button/actions/index.d.ts +1 -0
- package/dist/types/components/snk-attach/snk-attach.d.ts +1 -0
- package/dist/types/components/snk-crud/snk-crud.d.ts +13 -0
- package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +11 -0
- package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +3 -3
- package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +7 -0
- package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +5 -0
- package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +9 -4
- package/dist/types/components/snk-grid/snk-grid.d.ts +12 -0
- package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +14 -0
- package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +1 -0
- package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +11 -0
- package/dist/types/components.d.ts +89 -0
- package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +12 -2
- package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.d.ts +3 -2
- package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +1 -1
- package/dist/types/lib/utils/ContinuousInsertUtils.d.ts +10 -0
- package/dist/types/lib/utils/GetSelectedRecordsIDsInfo.d.ts +3 -0
- package/package.json +2 -2
- package/dist/sankhyablocks/p-14a08904.entry.js +0 -1
- package/dist/sankhyablocks/p-14b9f964.entry.js +0 -1
- package/dist/sankhyablocks/p-219f888d.entry.js +0 -1
- package/dist/sankhyablocks/p-3a212712.js +0 -1
- package/dist/sankhyablocks/p-3a216b81.entry.js +0 -1
- package/dist/sankhyablocks/p-47b60deb.entry.js +0 -1
- package/dist/sankhyablocks/p-7505da04.entry.js +0 -1
- package/dist/sankhyablocks/p-75f83d1d.entry.js +0 -1
- package/dist/sankhyablocks/p-7a337364.js +0 -1
- package/dist/sankhyablocks/p-829d4045.js +0 -1
- package/dist/sankhyablocks/p-88aa931b.entry.js +0 -1
- package/dist/sankhyablocks/p-8fc470e5.entry.js +0 -1
- package/dist/sankhyablocks/p-941bf3ef.entry.js +0 -1
- package/dist/sankhyablocks/p-9863d682.js +0 -1
- package/dist/sankhyablocks/p-b4b21558.entry.js +0 -1
- package/dist/sankhyablocks/p-bad55caa.entry.js +0 -1
- package/dist/sankhyablocks/p-c053256c.entry.js +0 -1
- package/dist/sankhyablocks/p-c2495304.js +0 -1
- package/dist/sankhyablocks/p-c5268346.entry.js +0 -1
- package/dist/sankhyablocks/p-cefba299.js +0 -1
- package/dist/sankhyablocks/p-dc7c9047.js +0 -1
- package/dist/sankhyablocks/p-f2809746.entry.js +0 -1
- package/dist/sankhyablocks/p-fcac4dfc.js +0 -1
- package/dist/sankhyablocks/p-fe79f83a.js +0 -60
- package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +0 -3
|
@@ -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,
|
|
6
|
+
import { P as PreloadManager, b as buildLoadDataResponse, 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';
|
|
@@ -119,21 +119,23 @@ const SERVICE = {
|
|
|
119
119
|
download: "AnexoSistemaSP.baixar",
|
|
120
120
|
};
|
|
121
121
|
class AnexoSistemaFetcher {
|
|
122
|
-
constructor(entityName,
|
|
122
|
+
constructor(entityName, dataUnitName) {
|
|
123
123
|
var _a;
|
|
124
124
|
this.entityName = entityName;
|
|
125
|
-
this.registerKey = registerKey;
|
|
126
125
|
this.dataUnitName = dataUnitName;
|
|
127
126
|
this.validateFields = (fields) => {
|
|
128
127
|
if (!!fields.LINK && !!fields.NOMEARQUIVO)
|
|
129
128
|
throw new Error(SaveErrorsEnum.LINK_AND_FILE_AT_THE_SAME_TIME);
|
|
130
129
|
if (!fields.LINK && !fields.NOMEARQUIVO)
|
|
131
130
|
throw new Error(SaveErrorsEnum.ANY_LINK_OR_FILE_FILLED);
|
|
132
|
-
if (!this.
|
|
131
|
+
if (!this._registerKey)
|
|
133
132
|
throw new Error('Register key can not be null');
|
|
134
133
|
};
|
|
135
134
|
this.resourceID = (window["resourceID"] || ((_a = window["workspace"]) === null || _a === void 0 ? void 0 : _a.resourceID));
|
|
136
135
|
}
|
|
136
|
+
set registerKey(registerKey) {
|
|
137
|
+
this._registerKey = registerKey;
|
|
138
|
+
}
|
|
137
139
|
async save(change) {
|
|
138
140
|
var _a, _b;
|
|
139
141
|
let { updatingFields: fields } = change;
|
|
@@ -152,7 +154,7 @@ class AnexoSistemaFetcher {
|
|
|
152
154
|
nameAttach: fileInfo === null || fileInfo === void 0 ? void 0 : fileInfo.name,
|
|
153
155
|
link: fields.LINK,
|
|
154
156
|
nameEntity: this.entityName,
|
|
155
|
-
pkEntity: this.
|
|
157
|
+
pkEntity: this._registerKey,
|
|
156
158
|
typeAcess: fields.TIPOACESSO,
|
|
157
159
|
typeApres: fields.TIPOAPRES,
|
|
158
160
|
}
|
|
@@ -192,7 +194,7 @@ class AnexoSistemaFetcher {
|
|
|
192
194
|
nameAttach: fileInfo === null || fileInfo === void 0 ? void 0 : fileInfo.name,
|
|
193
195
|
link: fields.LINK,
|
|
194
196
|
nameEntity: this.entityName,
|
|
195
|
-
pkEntity: this.
|
|
197
|
+
pkEntity: this._registerKey,
|
|
196
198
|
typeAcess: fields.TIPOACESSO,
|
|
197
199
|
typeApres: fields.TIPOAPRES,
|
|
198
200
|
}
|
|
@@ -464,9 +466,7 @@ class AttachFetcherDataUnitFactory {
|
|
|
464
466
|
});
|
|
465
467
|
this._records = records;
|
|
466
468
|
}
|
|
467
|
-
|
|
468
|
-
records = applySorting(records, dataUnit, request.sort);
|
|
469
|
-
return Promise.resolve({ records, paginationInfo: buildPaginationInfo(records, request.offset, request.limit) });
|
|
469
|
+
return buildLoadDataResponse(this._records, dataUnit, request);
|
|
470
470
|
}
|
|
471
471
|
saveLoader(changes, fetcher) {
|
|
472
472
|
return new Promise((resolve) => {
|
|
@@ -663,11 +663,20 @@ const SnkAttach = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
663
663
|
this.loadAttachmentDataUnit();
|
|
664
664
|
}
|
|
665
665
|
if (oldRegisterKey !== newRegisterKey) {
|
|
666
|
+
if (this._currentFetcher instanceof AnexoSistemaFetcher) {
|
|
667
|
+
this._currentFetcher.registerKey = newRegisterKey;
|
|
668
|
+
}
|
|
666
669
|
await ((_a = this._currentDataUnit) === null || _a === void 0 ? void 0 : _a.loadData());
|
|
667
670
|
}
|
|
668
671
|
}
|
|
672
|
+
getAnexoSistemaFetcherInstance() {
|
|
673
|
+
var _a;
|
|
674
|
+
const anexoSistemaFetcher = new AnexoSistemaFetcher(this.entityName, (_a = this._currentDataUnit) === null || _a === void 0 ? void 0 : _a.name);
|
|
675
|
+
anexoSistemaFetcher.registerKey = this.registerKey;
|
|
676
|
+
return anexoSistemaFetcher;
|
|
677
|
+
}
|
|
669
678
|
async initAttach() {
|
|
670
|
-
var _a, _b, _c, _d, _e
|
|
679
|
+
var _a, _b, _c, _d, _e;
|
|
671
680
|
if (!this.fetcherType && !this.registerKey)
|
|
672
681
|
return;
|
|
673
682
|
if (!this.fetcherType) {
|
|
@@ -675,18 +684,18 @@ const SnkAttach = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
675
684
|
}
|
|
676
685
|
this.returnToGridMode();
|
|
677
686
|
if (this.fetcherType === "AnexoSistema") {
|
|
678
|
-
this._currentFetcher =
|
|
679
|
-
(
|
|
680
|
-
await ((
|
|
687
|
+
this._currentFetcher = this.getAnexoSistemaFetcherInstance();
|
|
688
|
+
(_a = this._currentDataUnitBuilder) === null || _a === void 0 ? void 0 : _a.initLoaders(this._currentDataUnit, this._currentFetcher, this.returnToGridMode.bind(this));
|
|
689
|
+
await ((_b = this._currentDataUnit) === null || _b === void 0 ? void 0 : _b.loadData());
|
|
681
690
|
return;
|
|
682
691
|
}
|
|
683
692
|
if (this.fetcherType === "Attach") {
|
|
684
|
-
const hasMoreOneItem = ((
|
|
693
|
+
const hasMoreOneItem = ((_c = this.registerKey) === null || _c === void 0 ? void 0 : _c.split("_").length) > 1;
|
|
685
694
|
if (hasMoreOneItem)
|
|
686
695
|
return;
|
|
687
696
|
}
|
|
688
|
-
await ((
|
|
689
|
-
await ((
|
|
697
|
+
await ((_d = this._currentDataUnit) === null || _d === void 0 ? void 0 : _d.loadMetadata());
|
|
698
|
+
await ((_e = this._currentDataUnit) === null || _e === void 0 ? void 0 : _e.loadData(undefined, undefined, true, this.registerKey));
|
|
690
699
|
}
|
|
691
700
|
/**
|
|
692
701
|
* Conforme mecanismo de mensagens, é possível customizar as mensagens dos blocos de construção
|
|
@@ -745,11 +754,11 @@ const SnkAttach = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
745
754
|
}
|
|
746
755
|
}
|
|
747
756
|
async loadAnexoSistema() {
|
|
748
|
-
var _a, _b
|
|
757
|
+
var _a, _b;
|
|
749
758
|
this._currentDataUnit = new DataUnitFetcher().getDataUnit(RESOURCE_ID, DATA_UNIT_NAME);
|
|
750
|
-
this._currentFetcher =
|
|
759
|
+
this._currentFetcher = this.getAnexoSistemaFetcherInstance();
|
|
751
760
|
if (!this._currentDataUnit.metadata) {
|
|
752
|
-
await ((
|
|
761
|
+
await ((_a = this._currentDataUnit) === null || _a === void 0 ? void 0 : _a.loadMetadata());
|
|
753
762
|
this.crudConfig = Object.assign({}, anexoSistemaCrudConfig);
|
|
754
763
|
}
|
|
755
764
|
this.initDataUnitLoaders();
|
|
@@ -759,7 +768,7 @@ const SnkAttach = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
759
768
|
this._currentDataUnit.addInterceptor({
|
|
760
769
|
interceptAction: (action) => this._currentDataUnitBuilder.getInterceptions(this._currentDataUnit, action, this._crudElement)
|
|
761
770
|
});
|
|
762
|
-
await ((
|
|
771
|
+
await ((_b = this._currentDataUnit) === null || _b === void 0 ? void 0 : _b.loadData());
|
|
763
772
|
this.disableEditFieldsNotInForm();
|
|
764
773
|
}
|
|
765
774
|
async loadAttach() {
|
|
@@ -785,16 +794,16 @@ const SnkAttach = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
785
794
|
}
|
|
786
795
|
}
|
|
787
796
|
initDataUnitLoaders() {
|
|
788
|
-
var _a, _b
|
|
797
|
+
var _a, _b;
|
|
789
798
|
if (this.fetcherType === "AnexoSistema") {
|
|
790
|
-
this._currentFetcher =
|
|
799
|
+
this._currentFetcher = this.getAnexoSistemaFetcherInstance();
|
|
791
800
|
this._currentDataUnitBuilder = new AnexoSistemaDataUnitFactory(this.entityName, this.getMessage.bind(this));
|
|
792
|
-
(
|
|
801
|
+
(_a = this._currentDataUnitBuilder) === null || _a === void 0 ? void 0 : _a.initLoaders(this._currentDataUnit, this._currentFetcher, this.returnToGridMode.bind(this));
|
|
793
802
|
}
|
|
794
803
|
if (this.fetcherType === "Attach") {
|
|
795
804
|
this._currentFetcher = new AttachFetcher();
|
|
796
805
|
this._currentDataUnitBuilder = new AttachFetcherDataUnitFactory(this.getMessage.bind(this));
|
|
797
|
-
(
|
|
806
|
+
(_b = this._currentDataUnitBuilder) === null || _b === void 0 ? void 0 : _b.initLoaders(this._currentDataUnit, this._currentFetcher, async () => {
|
|
798
807
|
this.returnToGridMode();
|
|
799
808
|
await this._currentDataUnit.loadData(undefined, undefined, true, this.registerKey);
|
|
800
809
|
});
|
|
@@ -51,6 +51,7 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
51
51
|
this.configuratorSave = createEvent(this, "configuratorSave", 7);
|
|
52
52
|
this.configuratorCancel = createEvent(this, "configuratorCancel", 7);
|
|
53
53
|
this.formItemsReady = createEvent(this, "formItemsReady", 7);
|
|
54
|
+
this.viewModeChanged = createEvent(this, "viewModeChanged", 7);
|
|
54
55
|
this._keyDownHandler = async (event) => this.keyDownListener(event);
|
|
55
56
|
this._viewHistory = [];
|
|
56
57
|
this._customEditors = new Map();
|
|
@@ -79,6 +80,9 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
79
80
|
this.disablePersonalizedFilter = undefined;
|
|
80
81
|
this.autoLoad = undefined;
|
|
81
82
|
this.autoFocus = true;
|
|
83
|
+
this.enableGridInsert = false;
|
|
84
|
+
this.domainMessagesBuilder = undefined;
|
|
85
|
+
this.setCustomFormTitle = undefined;
|
|
82
86
|
this.customContainerId = `SNK-CRUD-CUSTOM-CONTAINER-${StringUtils.generateUUID()}`;
|
|
83
87
|
}
|
|
84
88
|
/**
|
|
@@ -187,6 +191,7 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
187
191
|
else if (viewMode === VIEW_MODE.FORM) {
|
|
188
192
|
this._guidesViewer.setFocus();
|
|
189
193
|
}
|
|
194
|
+
this.viewModeChanged.emit(viewMode);
|
|
190
195
|
}
|
|
191
196
|
openConfig(viewMode) {
|
|
192
197
|
this._snkConfigurator.close();
|
|
@@ -202,6 +207,8 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
202
207
|
ElementIDUtils.addIDInfo(this._element, null, dataInfo);
|
|
203
208
|
}
|
|
204
209
|
insertionModeHandler() {
|
|
210
|
+
if (this.enableGridInsert)
|
|
211
|
+
return;
|
|
205
212
|
this.gridToForm();
|
|
206
213
|
}
|
|
207
214
|
cancelHandler() {
|
|
@@ -250,6 +257,7 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
250
257
|
this._snkDataUnit = parent;
|
|
251
258
|
this._snkDataUnit.addEventListener("insertionMode", () => this.insertionModeHandler());
|
|
252
259
|
this._snkDataUnit.addEventListener("cancelEdition", () => this.cancelHandler());
|
|
260
|
+
this._snkDataUnit.domainMessagesBuilder = this.domainMessagesBuilder;
|
|
253
261
|
this._dataUnit = this._snkDataUnit.dataUnit;
|
|
254
262
|
this._dataState = this._snkDataUnit.dataState;
|
|
255
263
|
if (!this._dataUnit) {
|
|
@@ -415,7 +423,7 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
415
423
|
return;
|
|
416
424
|
}
|
|
417
425
|
this._snkDataUnit.ignoreSaveMessage = this._currentViewMode === VIEW_MODE.GRID;
|
|
418
|
-
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 }, 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" }))));
|
|
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, enableGridInsert: this.enableGridInsert }, h("slot", { name: "GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkGridHeader" }), h("slot", { name: "SnkGridFooter" }), h("slot", { name: "SnkGridTaskBar" }))), h("stack-item", null, h("snk-guides-viewer", { ref: ref => this._guidesViewer = ref, entityPath: this._snkDataUnit.entityName, messagesBuilder: this.messagesBuilder, onExit: () => this.setViewMode(VIEW_MODE.GRID), dataState: this._dataState, dataUnit: this._dataUnit, actionsList: this.actionsList, taskbarManager: this.taskbarManager, configName: this.configName, onActionClick: evt => this.executeAction(evt.detail), presentationMode: this.presentationMode, "data-element-id": "crud_form", canEdit: this._canEdit, recordsValidator: this.recordsValidator, resourceID: this._resourceID, detailTaskbarCustomContainerId: this.customContainerId, formLegacyConfigName: this.formLegacyConfigName, enableGridInsert: this.enableGridInsert, getCustomTitle: this.setCustomFormTitle }, 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" }))));
|
|
419
427
|
}
|
|
420
428
|
get _element() { return this; }
|
|
421
429
|
static get watchers() { return {
|
|
@@ -441,6 +449,9 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
441
449
|
"disablePersonalizedFilter": [4, "disable-personalized-filter"],
|
|
442
450
|
"autoLoad": [4, "auto-load"],
|
|
443
451
|
"autoFocus": [4, "auto-focus"],
|
|
452
|
+
"enableGridInsert": [4, "enable-grid-insert"],
|
|
453
|
+
"domainMessagesBuilder": [1, "domain-messages-builder"],
|
|
454
|
+
"setCustomFormTitle": [16],
|
|
444
455
|
"_dataUnit": [32],
|
|
445
456
|
"_dataState": [32],
|
|
446
457
|
"attachmentRegisterKey": [32],
|
|
@@ -124,7 +124,7 @@ class ItemBuilder {
|
|
|
124
124
|
getExportToXLS(groupName) {
|
|
125
125
|
return {
|
|
126
126
|
id: DataExporterOption.EXPORT_TO_XLS,
|
|
127
|
-
label: `${this._getMessage("snkDataExporter.label.spreadsheet")} (.
|
|
127
|
+
label: `${this._getMessage("snkDataExporter.label.spreadsheet")} (.xls)`,
|
|
128
128
|
group: groupName
|
|
129
129
|
};
|
|
130
130
|
}
|
|
@@ -167,7 +167,7 @@ class ItemBuilder {
|
|
|
167
167
|
getExportPageToXLS() {
|
|
168
168
|
return {
|
|
169
169
|
id: DataExporterOption.EXPORT_PAGE_TO_XLS,
|
|
170
|
-
label: `${this._getMessage("snkDataExporter.label.spreadsheet")} (.
|
|
170
|
+
label: `${this._getMessage("snkDataExporter.label.spreadsheet")} (.xls)`
|
|
171
171
|
};
|
|
172
172
|
}
|
|
173
173
|
/**
|
|
@@ -284,11 +284,11 @@ class ServerSideExporterStrategy {
|
|
|
284
284
|
return visibleColumns;
|
|
285
285
|
}
|
|
286
286
|
async getParams(resolveProps) {
|
|
287
|
-
var _a, _b, _c, _d, _e, _f;
|
|
287
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
288
288
|
const filters = (_b = (_a = this._provider).getFilters) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
289
|
-
const columns =
|
|
290
|
-
const sort = (
|
|
291
|
-
const resourceURI = (
|
|
289
|
+
const columns = ((_c = getOptionKey(resolveProps === null || resolveProps === void 0 ? void 0 : resolveProps.exportOption)) === null || _c === void 0 ? void 0 : _c.includes("PDF")) ? await this.getParsedColumns() : await this._provider.getColumnsMetadata();
|
|
290
|
+
const sort = (_e = (_d = this._provider).getOrders) === null || _e === void 0 ? void 0 : _e.call(_d);
|
|
291
|
+
const resourceURI = (_g = (_f = this._provider).getResourceURI) === null || _g === void 0 ? void 0 : _g.call(_f);
|
|
292
292
|
const selectedIDs = this._provider.getSelectedIDs();
|
|
293
293
|
const option = resolveProps.exportOption;
|
|
294
294
|
const currentPageOptions = [
|
|
@@ -343,15 +343,16 @@ class ClientSideExporterStrategy {
|
|
|
343
343
|
return visibleColumns;
|
|
344
344
|
}
|
|
345
345
|
async executeExport(resolveProps) {
|
|
346
|
-
|
|
346
|
+
var _a;
|
|
347
|
+
const { methodName, gridTitle } = resolveProps;
|
|
347
348
|
const records = await this._provider.getRecords();
|
|
348
|
-
const columns =
|
|
349
|
+
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();
|
|
349
350
|
const [serviceName, processor] = this.getExecutor(methodName);
|
|
350
351
|
const payload = {
|
|
351
352
|
serviceName,
|
|
352
353
|
requestBody: {
|
|
353
354
|
grid: {
|
|
354
|
-
|
|
355
|
+
gridTitle,
|
|
355
356
|
columns: this.buildColumnsObject(columns),
|
|
356
357
|
rows: this.buildRowsObject(columns, records),
|
|
357
358
|
customOptions: { xlsxExtension: false }
|
|
@@ -462,7 +463,7 @@ const SnkDataExporter = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
|
|
|
462
463
|
resolver: ({ type, format, email: { to, subject, message } }) => {
|
|
463
464
|
var _a;
|
|
464
465
|
const methodName = (_a = DataExporterFormat[format === null || format === void 0 ? void 0 : format.toUpperCase()]) !== null && _a !== void 0 ? _a : DataExporterFormat.PDF;
|
|
465
|
-
this.resolveExporter({ type, methodName, to, subject, message, fileName: this._appLabel,
|
|
466
|
+
this.resolveExporter({ type, methodName, to, subject, message, fileName: this._appLabel, gridTitle: this._appLabel }, () => {
|
|
466
467
|
this._snkEmailSender.close();
|
|
467
468
|
ApplicationUtils.info(this.getMessage("snkDataExporter.message.emailSuccess"), { iconName: "check" });
|
|
468
469
|
});
|
|
@@ -550,7 +551,7 @@ const SnkDataExporter = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
|
|
|
550
551
|
const params = {
|
|
551
552
|
methodName: DataExporterOption[`EXPORT_TO_${fileType}`],
|
|
552
553
|
fileName: this._appLabel,
|
|
553
|
-
|
|
554
|
+
gridTitle: this._appLabel,
|
|
554
555
|
exportOption: option,
|
|
555
556
|
limit: (_c = (_b = this.provider) === null || _b === void 0 ? void 0 : _b.getExportLimit) === null || _c === void 0 ? void 0 : _c.call(_b),
|
|
556
557
|
type: this.getExportType(option),
|
|
@@ -1,47 +1,10 @@
|
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
2
|
-
import {
|
|
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, a as DatasetStrategy } from './dataunit-fetcher.js';
|
|
6
6
|
import { convertType } from '@sankhyalabs/core/dist/dataunit/metadata/DataType';
|
|
7
|
-
|
|
8
|
-
const getSelectedIDs = (dataUnit) => {
|
|
9
|
-
const selectionInfo = dataUnit.getSelectionInfo();
|
|
10
|
-
if (selectionInfo === null || selectionInfo === void 0 ? void 0 : selectionInfo.isAllRecords()) {
|
|
11
|
-
return [];
|
|
12
|
-
}
|
|
13
|
-
const selectedRecordsIDsInfo = [];
|
|
14
|
-
const selectedRecords = selectionInfo === null || selectionInfo === void 0 ? void 0 : selectionInfo.recordIds;
|
|
15
|
-
if ((selectedRecords === null || selectedRecords === void 0 ? void 0 : selectedRecords.length) > 0) {
|
|
16
|
-
selectedRecords.forEach(recordId => {
|
|
17
|
-
if (!dataUnit.isNewRecord(recordId)) {
|
|
18
|
-
/*
|
|
19
|
-
Esse if foi necessário para tratar corretamente o ID
|
|
20
|
-
do record quando está sendo utilizado no modo standAlone
|
|
21
|
-
isso não faz a exportação da grid funcionar no modo standAlone
|
|
22
|
-
mas deixa de causar erro nas oprações de CRUD.
|
|
23
|
-
*/
|
|
24
|
-
if (!JSUtils.isBase64(recordId)) {
|
|
25
|
-
selectedRecordsIDsInfo.push({
|
|
26
|
-
name: "__record__id__",
|
|
27
|
-
type: DataType.TEXT,
|
|
28
|
-
value: recordId
|
|
29
|
-
});
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
const revertBase64ToObject = JSON.parse(window.atob(recordId));
|
|
33
|
-
Object.entries(revertBase64ToObject).forEach(([name, value]) => {
|
|
34
|
-
const metadataField = dataUnit === null || dataUnit === void 0 ? void 0 : dataUnit.getField(name);
|
|
35
|
-
if (metadataField == undefined) {
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
selectedRecordsIDsInfo.push(Object.assign({ name, type: metadataField.dataType }, value));
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
return selectedRecordsIDsInfo;
|
|
44
|
-
};
|
|
7
|
+
import { g as getSelectedRecordsIDsInfo } from './GetSelectedRecordsIDsInfo.js';
|
|
45
8
|
|
|
46
9
|
const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
47
10
|
constructor() {
|
|
@@ -97,6 +60,7 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
97
60
|
this.ignoreSaveMessage = undefined;
|
|
98
61
|
this.configName = undefined;
|
|
99
62
|
this.resourceID = undefined;
|
|
63
|
+
this.domainMessagesBuilder = undefined;
|
|
100
64
|
}
|
|
101
65
|
observePageSize() {
|
|
102
66
|
if (this.dataUnit) {
|
|
@@ -152,7 +116,7 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
152
116
|
* @returns Retorna a lista de IDs dos registros selecionados.
|
|
153
117
|
*/
|
|
154
118
|
async getSelectedRecordsIDsInfo() {
|
|
155
|
-
return
|
|
119
|
+
return getSelectedRecordsIDsInfo(this.dataUnit);
|
|
156
120
|
}
|
|
157
121
|
/**
|
|
158
122
|
* Retorna os campos que possuem a propriedade "rmp" (Row Metadata Provider).
|
|
@@ -513,21 +477,15 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
513
477
|
if (this.ignoreSaveMessage) {
|
|
514
478
|
return;
|
|
515
479
|
}
|
|
516
|
-
const
|
|
480
|
+
const saveOperation = action.payload.changes[0]._operation.toLowerCase();
|
|
481
|
+
const msg = this.getMessage("snkDataUnit.saveInfo", action.payload.records[0], saveOperation);
|
|
517
482
|
if (msg != undefined) {
|
|
518
483
|
this.showSuccessMessage(msg);
|
|
519
484
|
}
|
|
520
485
|
}
|
|
521
486
|
handleRecordsRemoved(action) {
|
|
522
487
|
var _a, _b;
|
|
523
|
-
|
|
524
|
-
let removeFinishMsg;
|
|
525
|
-
if ((cachedRecords === null || cachedRecords === void 0 ? void 0 : cachedRecords.length) > 1) {
|
|
526
|
-
removeFinishMsg = this.getMessage("snkDataUnit.removeAllInfo", { size: cachedRecords.length });
|
|
527
|
-
}
|
|
528
|
-
else {
|
|
529
|
-
removeFinishMsg = this.getMessage("snkDataUnit.removeInfo", action.payload.cachedRecords[0]);
|
|
530
|
-
}
|
|
488
|
+
let removeFinishMsg = this.buildRemoveFinishMessage(action);
|
|
531
489
|
if (removeFinishMsg != undefined) {
|
|
532
490
|
this.showSuccessMessage(removeFinishMsg);
|
|
533
491
|
}
|
|
@@ -538,16 +496,27 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
538
496
|
this.dataUnit.gotoPage(page);
|
|
539
497
|
}
|
|
540
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
|
+
}
|
|
541
507
|
/**
|
|
542
508
|
* Conforme mecanismo de mensagens, é possível customizar as mensagens dos blocos de construção
|
|
543
509
|
* através de um pequeno modulo na estrutura da aplicação:
|
|
544
510
|
* - Criar um arquivo no seguinte caminho: /messages/appmessages.msg.js.
|
|
545
511
|
* Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-data-unit.msg.ts"
|
|
546
512
|
*/
|
|
547
|
-
getMessage(key, params = undefined) {
|
|
513
|
+
getMessage(key, params = undefined, customOperation) {
|
|
548
514
|
if (!params) {
|
|
549
515
|
params = this.getMessageParams();
|
|
550
516
|
}
|
|
517
|
+
if (customOperation) {
|
|
518
|
+
this.messagesBuilder.currentOperation = customOperation;
|
|
519
|
+
}
|
|
551
520
|
return this.messagesBuilder.getMessage(key, params);
|
|
552
521
|
}
|
|
553
522
|
getMessageParams() {
|
|
@@ -578,19 +547,28 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
578
547
|
return await this._application.getDataUnit(this.entityName, cacheName, null, this.configName, this.resourceID);
|
|
579
548
|
}
|
|
580
549
|
}
|
|
550
|
+
updateMetadataWithRMP() {
|
|
551
|
+
this.fillFieldsWithRmp(this.dataUnit.metadata);
|
|
552
|
+
this.fillFieldsWithRmPrecision(this.dataUnit.metadata);
|
|
553
|
+
const dataUnitUpdatedMetadata = this.handleDULinksOnMetadataLoaded(this.dataUnit.metadata);
|
|
554
|
+
this.dataUnit.metadata = dataUnitUpdatedMetadata;
|
|
555
|
+
}
|
|
581
556
|
async loadDataUnit() {
|
|
582
|
-
var _a;
|
|
557
|
+
var _a, _b;
|
|
583
558
|
if (this.dataUnit == null && this._application && this.entityName) {
|
|
584
559
|
this.dataUnit = await this.getDataUnitParentOrChild();
|
|
585
560
|
}
|
|
586
561
|
if (this.dataUnit) {
|
|
587
562
|
this.dataUnit.pageSize = this.pageSize;
|
|
588
563
|
this.dataUnit.unsubscribe(this._dataUnitObserver);
|
|
589
|
-
this.dataUnit.addInterceptor(this);
|
|
590
564
|
this.dataUnit.subscribe(this._dataUnitObserver);
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
565
|
+
if ((_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.metadata) {
|
|
566
|
+
this.updateMetadataWithRMP();
|
|
567
|
+
}
|
|
568
|
+
this.dataUnit.addInterceptor(this);
|
|
569
|
+
if ((_b = this.dataUnit.records) === null || _b === void 0 ? void 0 : _b.length) {
|
|
570
|
+
const { records } = this.getMetadataByRow(this.dataUnit);
|
|
571
|
+
this.dataUnit.records = records;
|
|
594
572
|
}
|
|
595
573
|
this.dataState = this.buildDataState();
|
|
596
574
|
let resolver;
|
|
@@ -654,6 +632,13 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
654
632
|
parent = parent.parentElement;
|
|
655
633
|
}
|
|
656
634
|
}
|
|
635
|
+
instanceMessagesBuilder() {
|
|
636
|
+
var _a;
|
|
637
|
+
if (this.messagesBuilder) {
|
|
638
|
+
return;
|
|
639
|
+
}
|
|
640
|
+
this.messagesBuilder = new SnkMessageBuilder((_a = this.domainMessagesBuilder) !== null && _a !== void 0 ? _a : this.entityName);
|
|
641
|
+
}
|
|
657
642
|
//---------------------------------------------
|
|
658
643
|
// Lifecycle web component
|
|
659
644
|
//---------------------------------------------
|
|
@@ -661,9 +646,7 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
661
646
|
this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
|
|
662
647
|
this._application.getAllAccess(this.resourceID).then(access => this._permissions = access);
|
|
663
648
|
this._parentSnkDataUnit = this.getParentSnkDataUnit();
|
|
664
|
-
|
|
665
|
-
this.messagesBuilder = new SnkMessageBuilder(this.entityName);
|
|
666
|
-
}
|
|
649
|
+
this.instanceMessagesBuilder();
|
|
667
650
|
}
|
|
668
651
|
disconnectedCallback() {
|
|
669
652
|
if (this.dataUnit) {
|
|
@@ -699,6 +682,7 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
699
682
|
"ignoreSaveMessage": [4, "ignore-save-message"],
|
|
700
683
|
"configName": [1, "config-name"],
|
|
701
684
|
"resourceID": [1, "resource-i-d"],
|
|
685
|
+
"domainMessagesBuilder": [1, "domain-messages-builder"],
|
|
702
686
|
"fieldsToLink": [32],
|
|
703
687
|
"getDataUnit": [64],
|
|
704
688
|
"getSelectedRecordsIDsInfo": [64],
|
|
@@ -744,4 +728,4 @@ function defineCustomElement() {
|
|
|
744
728
|
} });
|
|
745
729
|
}
|
|
746
730
|
|
|
747
|
-
export { SnkDataUnit as S, defineCustomElement as d
|
|
731
|
+
export { SnkDataUnit as S, defineCustomElement as d };
|
|
@@ -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 './ContinuousInsertUtils.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,6 +70,8 @@ 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
|
+
this.getCustomTitle = undefined;
|
|
73
75
|
this._hasToCreateFieldSearch = true;
|
|
74
76
|
this._breadcrumbItems = [];
|
|
75
77
|
this._guides = undefined;
|
|
@@ -138,7 +140,7 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
|
|
|
138
140
|
this._container.focus();
|
|
139
141
|
}
|
|
140
142
|
exitViewer() {
|
|
141
|
-
if (this.dataUnit.isDirty()) {
|
|
143
|
+
if (!this.enableGridInsert && this.dataUnit.isDirty()) {
|
|
142
144
|
this.dataUnit.cancelEdition({ after: () => this.exit.emit() });
|
|
143
145
|
}
|
|
144
146
|
else {
|
|
@@ -156,7 +158,7 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
|
|
|
156
158
|
}
|
|
157
159
|
onContentCardChanged(evt) {
|
|
158
160
|
SnkGuidesViewer.updateContentCard(evt.detail.formName, evt.detail.cardConfig, evt.detail.propertyChanged, this._configManager)
|
|
159
|
-
.then(() => this.masterFormConfig = this._configManager.getConfig(this.
|
|
161
|
+
.then(() => this.masterFormConfig = this._configManager.getConfig(this.dataUnit));
|
|
160
162
|
}
|
|
161
163
|
/**
|
|
162
164
|
* Conforme mecanismo de mensagens, é possível customizar as mensagens dos blocos de construção
|
|
@@ -247,10 +249,13 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
|
|
|
247
249
|
const invisibleButtons = this.getInvisibleButtons();
|
|
248
250
|
this._taskbarProcessor = new TaskbarProcessor({
|
|
249
251
|
"snkGuideViewer.regular": btnsRegularMode,
|
|
250
|
-
"snkGuideViewer.finish_edition": ["CANCEL", "SAVE"],
|
|
252
|
+
"snkGuideViewer.finish_edition": ["CANCEL", "SAVE", this.handleAddGridMode()],
|
|
251
253
|
});
|
|
252
254
|
this._taskbarProcessor.process(taskbarId, this.taskbarManager, this.dataState, disabledButtons, invisibleButtons);
|
|
253
255
|
}
|
|
256
|
+
handleAddGridMode() {
|
|
257
|
+
return this.enableGridInsert ? TaskbarElement.GRID_MODE : "";
|
|
258
|
+
}
|
|
254
259
|
getInvisibleButtons() {
|
|
255
260
|
const invisibleButtons = [];
|
|
256
261
|
if (this.dataState && this.dataState.selectionInfo.mode === SelectionMode.ALL_RECORDS)
|
|
@@ -403,11 +408,14 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
|
|
|
403
408
|
this._configManager.addFormLegacyConfig(this.formLegacyConfigName);
|
|
404
409
|
}
|
|
405
410
|
}
|
|
411
|
+
setMasterFormConfig(config) {
|
|
412
|
+
this.masterFormConfig = config;
|
|
413
|
+
}
|
|
406
414
|
componentWillLoad() {
|
|
407
415
|
if (this.resourceID == undefined) {
|
|
408
416
|
throw new Error("Erro interno: resourceID não informado");
|
|
409
417
|
}
|
|
410
|
-
this._configManager = new SnkFormConfigManager(this.configName, this.resourceID,
|
|
418
|
+
this._configManager = new SnkFormConfigManager(this.configName, this.resourceID, this.setMasterFormConfig.bind(this), this.dataUnit);
|
|
411
419
|
this.addFormLegacyConfigName();
|
|
412
420
|
this._configManager.loadConfig();
|
|
413
421
|
}
|
|
@@ -435,7 +443,7 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
|
|
|
435
443
|
return this._fieldSearch;
|
|
436
444
|
}
|
|
437
445
|
fieldsOptionLoader(argument) {
|
|
438
|
-
return Promise.resolve(this._configManager.getFieldsList(
|
|
446
|
+
return Promise.resolve(this._configManager.getFieldsList(argument)
|
|
439
447
|
.map(field => ({ value: field.name, label: field.label })));
|
|
440
448
|
}
|
|
441
449
|
onSelectField(option, actionButton) {
|
|
@@ -507,6 +515,10 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
|
|
|
507
515
|
}
|
|
508
516
|
return "";
|
|
509
517
|
}
|
|
518
|
+
getTitle() {
|
|
519
|
+
var _a, _b;
|
|
520
|
+
return (_b = (_a = this.getCustomTitle) === null || _a === void 0 ? void 0 : _a.call(this)) !== null && _b !== void 0 ? _b : this.getMessage("snkCrud.title");
|
|
521
|
+
}
|
|
510
522
|
componentDidLoad() {
|
|
511
523
|
this.dataUnit.subscribe(this.dataUnitActionHandler.bind(this));
|
|
512
524
|
}
|
|
@@ -520,7 +532,7 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
|
|
|
520
532
|
}
|
|
521
533
|
this.loadTaskbarProcessor();
|
|
522
534
|
const showGuides = this._guides && (this._guides.length > 1);
|
|
523
|
-
return (h("section", { class: "snk-guides-viewer", ref: ref => this._container = ref, tabindex: -1 }, h("div", { class: "ez-row snk-guides-viewer__header" }, h("div", { class: "snk-guides-viewer__header-breadcrumb ez-flex--align-items-center ez-flex-item--align-center ez-padding-left--large", key: "header" }, h("ez-button", { onClick: () => this.exitViewer(), title: this.getMessage("snkCrud.goBackTitle"), mode: "icon", iconName: "arrow_back", class: "ez-padding-right--medium", size: "small" }), h("div", { class: "ez-flex ez-flex--column ez-flex-item--auto" }, h("h1", { class: "ez-title ez-title--primary ez-title--xlarge" }, this.
|
|
535
|
+
return (h("section", { class: "snk-guides-viewer", ref: ref => this._container = ref, tabindex: -1 }, h("div", { class: "ez-row snk-guides-viewer__header" }, h("div", { class: "snk-guides-viewer__header-breadcrumb ez-flex--align-items-center ez-flex-item--align-center ez-padding-left--large", key: "header" }, h("ez-button", { onClick: () => this.exitViewer(), title: this.getMessage("snkCrud.goBackTitle"), mode: "icon", iconName: "arrow_back", class: "ez-padding-right--medium", size: "small" }), h("div", { class: "ez-flex ez-flex--column ez-flex-item--auto" }, h("h1", { class: "ez-title ez-title--primary ez-title--xlarge" }, this.getTitle()), ((_a = this._breadcrumbItems) === null || _a === void 0 ? void 0 : _a.length) > 1 &&
|
|
524
536
|
h("div", { class: "ez-margin-top--extra-small" }, h("ez-breadcrumb", Object.assign({ items: this._breadcrumbItems, onSelectedItem: (evt) => this.onBreadcrumbClickHandler(evt === null || evt === void 0 ? void 0 : evt.detail) }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `${ElementIDUtils.getInternalIDInfo("breadcrumb")}` }))))), this.presentationMode != PresentationMode.SECONDARY && this.buildTaskBar()), h("div", { class: "snk-guides-viewer__container" }, showGuides ?
|
|
525
537
|
h("ez-guide-navigator", { ref: (ref) => this._guideNavigator = ref, class: "snk-guides-viewer__guide-navigator", items: this._guides, selectedId: this.selectedGuide ? this.selectedGuide.id : undefined, onEzSelectionChange: evt => this.updateSelectedGuideHandler(evt.detail) })
|
|
526
538
|
:
|
|
@@ -558,6 +570,8 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
|
|
|
558
570
|
"resourceID": [1, "resource-i-d"],
|
|
559
571
|
"detailTaskbarCustomContainerId": [1, "detail-taskbar-custom-container-id"],
|
|
560
572
|
"formLegacyConfigName": [1, "form-legacy-config-name"],
|
|
573
|
+
"enableGridInsert": [4, "enable-grid-insert"],
|
|
574
|
+
"getCustomTitle": [16],
|
|
561
575
|
"_hasToCreateFieldSearch": [32],
|
|
562
576
|
"_breadcrumbItems": [32],
|
|
563
577
|
"_guides": [32],
|
|
@@ -938,14 +952,13 @@ const SnkDetailView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
938
952
|
return guideId.replace(SnkDetailView.REGEX_FORM_ID, "");
|
|
939
953
|
}
|
|
940
954
|
loadMetadata() {
|
|
941
|
-
var _a;
|
|
942
955
|
if (!this.dataUnit) {
|
|
943
956
|
return;
|
|
944
957
|
}
|
|
945
958
|
if (!this.formConfigManager.isLoaded) {
|
|
946
959
|
return;
|
|
947
960
|
}
|
|
948
|
-
const formConfig = this.formConfigManager.getConfig(
|
|
961
|
+
const formConfig = this.formConfigManager.getConfig(this.dataUnit);
|
|
949
962
|
//this._cardsState = formConfig?.cardsState;
|
|
950
963
|
this._formMetadata = buildFormMetadata(formConfig == undefined || formConfig.fields.length === 0 ? undefined : formConfig, this.dataUnit, true);
|
|
951
964
|
}
|
|
@@ -979,7 +992,7 @@ const SnkDetailView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
979
992
|
this.emitSwitchEvent(VIEW_MODE.GRID);
|
|
980
993
|
evt.stopPropagation();
|
|
981
994
|
}
|
|
982
|
-
if (evt.detail === TaskbarElement.FORM_MODE) {
|
|
995
|
+
if (evt.detail === TaskbarElement.FORM_MODE || evt.detail === TaskbarElement.UPDATE) {
|
|
983
996
|
this.emitSwitchEvent(VIEW_MODE.FORM);
|
|
984
997
|
evt.stopPropagation();
|
|
985
998
|
}
|
|
@@ -1003,7 +1016,7 @@ const SnkDetailView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
1003
1016
|
}
|
|
1004
1017
|
componentWillLoad() {
|
|
1005
1018
|
this._configName = `dynaform.${this.entityName}`;
|
|
1006
|
-
this.formConfigManager = new SnkFormConfigManager(this._configName, this.resourceID, () => this.loadMetadata());
|
|
1019
|
+
this.formConfigManager = new SnkFormConfigManager(this._configName, this.resourceID, () => this.loadMetadata(), this.dataUnit);
|
|
1007
1020
|
this.formConfigManager.loadConfig();
|
|
1008
1021
|
if (this.messagesBuilder == undefined) {
|
|
1009
1022
|
this.messagesBuilder = new SnkMessageBuilder(this.entityName);
|
|
@@ -16,7 +16,7 @@ const OptionsStep = ({ getMessage, changeInfo, data }) => {
|
|
|
16
16
|
const selectionCount = (data === null || data === void 0 ? void 0 : data.selectedRows) || 0;
|
|
17
17
|
const formatOptions = [
|
|
18
18
|
{ label: getMessage("snkExporter.emailSenderOptStep_formatPDF"), value: "pdf" },
|
|
19
|
-
{ label: getMessage("snkExporter.
|
|
19
|
+
{ label: getMessage("snkExporter.emailSenderOptStep_formatXLS"), value: "xls" }
|
|
20
20
|
];
|
|
21
21
|
const typeOptions = [
|
|
22
22
|
{ label: getMessage("snkExporter.emailSenderOptStep_allData"), value: "all" },
|