dts-backoffice-util 4.0.0 → 6.0.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/README.md +1 -1
- package/dts-backoffice-util.d.ts +1 -0
- package/{esm2015/dts-backoffice-util.js → esm2020/dts-backoffice-util.mjs} +0 -0
- package/esm2020/lib/components/totvs-schedule-execution/totvs-schedule-execution.component.mjs +269 -0
- package/{esm2015/lib/components/totvs-schedule-execution/totvs-schedule-execution.model.js → esm2020/lib/components/totvs-schedule-execution/totvs-schedule-execution.model.mjs} +0 -0
- package/esm2020/lib/components/totvs-schedule-execution/totvs-schedule-execution.service.mjs +183 -0
- package/esm2020/lib/dts-backoffice-util.module.mjs +56 -0
- package/{esm2015/lib/interfaces/filter-range.interface.js → esm2020/lib/interfaces/filter-range.interface.mjs} +0 -0
- package/{esm2015/lib/interfaces/totvs-response.interface.js → esm2020/lib/interfaces/totvs-response.interface.mjs} +0 -0
- package/{esm2015/lib/model/session-info.model.js → esm2020/lib/model/session-info.model.mjs} +0 -0
- package/esm2020/lib/pipes/dts-date-format.pipe.mjs +20 -0
- package/esm2020/lib/services/breadcrumb-control.service.mjs +82 -0
- package/esm2020/lib/services/cache-params.service.mjs +25 -0
- package/esm2020/lib/services/menu-datasul.service.mjs +41 -0
- package/esm2020/lib/services/profile.service.mjs +55 -0
- package/esm2020/lib/services/report.service.mjs +57 -0
- package/esm2020/lib/services/session-info.service.mjs +36 -0
- package/esm2020/lib/services/translate.service.mjs +23 -0
- package/{esm2015/lib/utils/date.util.js → esm2020/lib/utils/date.util.mjs} +0 -0
- package/{esm2015/lib/utils/disclaimer.util.js → esm2020/lib/utils/disclaimer.util.mjs} +0 -0
- package/{esm2015/lib/utils/field-validation.util.js → esm2020/lib/utils/field-validation.util.mjs} +0 -0
- package/esm2020/lib/utils/file.util.mjs +129 -0
- package/{esm2015/lib/utils/filter-range.util.js → esm2020/lib/utils/filter-range.util.mjs} +0 -0
- package/{esm2015/lib/utils/generic-functions.utils.js → esm2020/lib/utils/generic-functions.utils.mjs} +0 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/fesm2015/{dts-backoffice-util.js → dts-backoffice-util.mjs} +131 -111
- package/fesm2015/dts-backoffice-util.mjs.map +1 -0
- package/fesm2020/dts-backoffice-util.mjs +1851 -0
- package/fesm2020/dts-backoffice-util.mjs.map +1 -0
- package/lib/components/totvs-schedule-execution/totvs-schedule-execution.component.d.ts +3 -0
- package/lib/components/totvs-schedule-execution/totvs-schedule-execution.service.d.ts +3 -0
- package/lib/dts-backoffice-util.module.d.ts +10 -0
- package/lib/pipes/dts-date-format.pipe.d.ts +3 -0
- package/lib/services/breadcrumb-control.service.d.ts +3 -0
- package/lib/services/cache-params.service.d.ts +3 -0
- package/lib/services/menu-datasul.service.d.ts +3 -0
- package/lib/services/profile.service.d.ts +3 -0
- package/lib/services/report.service.d.ts +3 -0
- package/lib/services/session-info.service.d.ts +3 -0
- package/lib/services/translate.service.d.ts +3 -0
- package/package.json +22 -10
- package/bundles/dts-backoffice-util.umd.js +0 -1935
- package/bundles/dts-backoffice-util.umd.js.map +0 -1
- package/bundles/dts-backoffice-util.umd.min.js +0 -2
- package/bundles/dts-backoffice-util.umd.min.js.map +0 -1
- package/dts-backoffice-util.metadata.json +0 -1
- package/esm2015/lib/components/totvs-schedule-execution/totvs-schedule-execution.component.js +0 -266
- package/esm2015/lib/components/totvs-schedule-execution/totvs-schedule-execution.service.js +0 -183
- package/esm2015/lib/dts-backoffice-util.module.js +0 -39
- package/esm2015/lib/pipes/dts-date-format.pipe.js +0 -16
- package/esm2015/lib/services/breadcrumb-control.service.js +0 -81
- package/esm2015/lib/services/cache-params.service.js +0 -25
- package/esm2015/lib/services/menu-datasul.service.js +0 -40
- package/esm2015/lib/services/profile.service.js +0 -58
- package/esm2015/lib/services/report.service.js +0 -58
- package/esm2015/lib/services/session-info.service.js +0 -39
- package/esm2015/lib/services/translate.service.js +0 -20
- package/esm2015/lib/utils/file.util.js +0 -128
- package/fesm2015/dts-backoffice-util.js.map +0 -1
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { of } from 'rxjs';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common/http";
|
|
6
|
+
export class UserLoginService {
|
|
7
|
+
constructor(http) {
|
|
8
|
+
this.http = http;
|
|
9
|
+
this.apiUrl = '/totvs-menu/rest/getSessionInfo';
|
|
10
|
+
this.userLogin = undefined;
|
|
11
|
+
}
|
|
12
|
+
getUserLogin() {
|
|
13
|
+
if (localStorage.getItem('username')) {
|
|
14
|
+
return of(localStorage.getItem('username'));
|
|
15
|
+
}
|
|
16
|
+
if (this.userLogin) {
|
|
17
|
+
return of(this.userLogin);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
return this.http.get(`${this.apiUrl}`)
|
|
21
|
+
.pipe(map((response) => {
|
|
22
|
+
this.userLogin = response.userName;
|
|
23
|
+
return response.userName;
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/** @nocollapse */ UserLoginService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UserLoginService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
29
|
+
/** @nocollapse */ UserLoginService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UserLoginService, providedIn: 'root' });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UserLoginService, decorators: [{
|
|
31
|
+
type: Injectable,
|
|
32
|
+
args: [{
|
|
33
|
+
providedIn: 'root'
|
|
34
|
+
}]
|
|
35
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1pbmZvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy9saWIvc2VydmljZXMvc2Vzc2lvbi1pbmZvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBS3JDLE1BQU0sT0FBTyxnQkFBZ0I7SUFLekIsWUFBbUIsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUgxQixXQUFNLEdBQUcsaUNBQWlDLENBQUM7UUFDcEQsY0FBUyxHQUFHLFNBQVMsQ0FBQztJQUVpQixDQUFDO0lBRXhDLFlBQVk7UUFDUixJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDbEMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1NBQy9DO1FBRUQsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUM3QjthQUFNO1lBQ0gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBZSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztpQkFDL0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUM7Z0JBQ25DLE9BQU8sUUFBUSxDQUFDLFFBQVEsQ0FBQztZQUM3QixDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ1g7SUFDTCxDQUFDOztpSUFyQlEsZ0JBQWdCO3FJQUFoQixnQkFBZ0IsY0FGYixNQUFNOzRGQUVULGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IElTZXNzaW9uSW5mbyB9IGZyb20gJy4uL21vZGVsL3Nlc3Npb24taW5mby5tb2RlbCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlckxvZ2luU2VydmljZSB7XHJcblxyXG4gICAgcmVhZG9ubHkgYXBpVXJsID0gJy90b3R2cy1tZW51L3Jlc3QvZ2V0U2Vzc2lvbkluZm8nO1xyXG4gICAgdXNlckxvZ2luID0gdW5kZWZpbmVkO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBodHRwOiBIdHRwQ2xpZW50KSB7IH1cclxuXHJcbiAgICBnZXRVc2VyTG9naW4oKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcclxuICAgICAgICBpZiAobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJuYW1lJykpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG9mKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VybmFtZScpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnVzZXJMb2dpbikge1xyXG4gICAgICAgICAgICByZXR1cm4gb2YodGhpcy51c2VyTG9naW4pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PElTZXNzaW9uSW5mbz4oYCR7dGhpcy5hcGlVcmx9YClcclxuICAgICAgICAgICAgICAgIC5waXBlKG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnVzZXJMb2dpbiA9IHJlc3BvbnNlLnVzZXJOYW1lO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS51c2VyTmFtZTtcclxuICAgICAgICAgICAgICAgIH0pKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class TranslateService {
|
|
4
|
+
static getSuportLanguage() {
|
|
5
|
+
return ['pt-BR', 'pt', 'en-US', 'en', 'es'];
|
|
6
|
+
}
|
|
7
|
+
static getDefaultCurrencyCode() {
|
|
8
|
+
return '$';
|
|
9
|
+
}
|
|
10
|
+
static getCurrentLanguage() {
|
|
11
|
+
const locale = localStorage.getItem('user.language') || navigator.language;
|
|
12
|
+
if (locale && this.getSuportLanguage().includes(locale)) {
|
|
13
|
+
return locale;
|
|
14
|
+
}
|
|
15
|
+
return 'en-US';
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
/** @nocollapse */ TranslateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TranslateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
19
|
+
/** @nocollapse */ TranslateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TranslateService });
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TranslateService, decorators: [{
|
|
21
|
+
type: Injectable
|
|
22
|
+
}] });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy9saWIvc2VydmljZXMvdHJhbnNsYXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLGdCQUFnQjtJQUV6QixNQUFNLENBQUMsaUJBQWlCO1FBQ3BCLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELE1BQU0sQ0FBQyxzQkFBc0I7UUFDekIsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLGtCQUFrQjtRQUNyQixNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUM7UUFFM0UsSUFBSSxNQUFNLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQUUsT0FBTyxNQUFNLENBQUM7U0FBRTtRQUUzRSxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDOztpSUFoQlEsZ0JBQWdCO3FJQUFoQixnQkFBZ0I7NEZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0ZVNlcnZpY2Uge1xyXG5cclxuICAgIHN0YXRpYyBnZXRTdXBvcnRMYW5ndWFnZSgpIHtcclxuICAgICAgICByZXR1cm4gWydwdC1CUicsICdwdCcsICdlbi1VUycsICdlbicsICdlcyddO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXREZWZhdWx0Q3VycmVuY3lDb2RlKCkge1xyXG4gICAgICAgIHJldHVybiAnJCc7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldEN1cnJlbnRMYW5ndWFnZSgpIHtcclxuICAgICAgICBjb25zdCBsb2NhbGUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlci5sYW5ndWFnZScpIHx8IG5hdmlnYXRvci5sYW5ndWFnZTtcclxuXHJcbiAgICAgICAgaWYgKGxvY2FsZSAmJiB0aGlzLmdldFN1cG9ydExhbmd1YWdlKCkuaW5jbHVkZXMobG9jYWxlKSkgeyByZXR1cm4gbG9jYWxlOyB9XHJcblxyXG4gICAgICAgIHJldHVybiAnZW4tVVMnO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
File without changes
|
|
File without changes
|
package/{esm2015/lib/utils/field-validation.util.js → esm2020/lib/utils/field-validation.util.mjs}
RENAMED
|
File without changes
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
export class FileUtil {
|
|
2
|
+
constructor() { }
|
|
3
|
+
static downloadFile(data, fileName, contentType, base64) {
|
|
4
|
+
base64 = (base64 === false) ? false : true;
|
|
5
|
+
const dataBlob = base64 ? this.b64toBlob(data, contentType) : data;
|
|
6
|
+
this.download(dataBlob, fileName);
|
|
7
|
+
}
|
|
8
|
+
static downloadData(data, dwldDataParam = null) {
|
|
9
|
+
if (!data) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
if (!dwldDataParam) {
|
|
13
|
+
dwldDataParam = new DownloadDataParams();
|
|
14
|
+
}
|
|
15
|
+
if (!dwldDataParam.fileName) {
|
|
16
|
+
dwldDataParam.fileName = 'data.csv';
|
|
17
|
+
}
|
|
18
|
+
if (!dwldDataParam.literals) {
|
|
19
|
+
dwldDataParam.literals = {};
|
|
20
|
+
}
|
|
21
|
+
if (!dwldDataParam.columnDelimiter) {
|
|
22
|
+
dwldDataParam.columnDelimiter = ';';
|
|
23
|
+
}
|
|
24
|
+
if (!dwldDataParam.columnList) {
|
|
25
|
+
dwldDataParam.columnList = [];
|
|
26
|
+
}
|
|
27
|
+
if (!dwldDataParam.columnExclude) {
|
|
28
|
+
dwldDataParam.columnExclude = [];
|
|
29
|
+
}
|
|
30
|
+
const datab64 = btoa(this.jsonToString(data, dwldDataParam));
|
|
31
|
+
this.downloadFile(datab64, dwldDataParam.fileName, 'text/csv');
|
|
32
|
+
}
|
|
33
|
+
static download(file, fileName) {
|
|
34
|
+
const binaryData = [file];
|
|
35
|
+
const downloadLink = document.createElement('a');
|
|
36
|
+
const urlDownload = window.URL.createObjectURL(new Blob(binaryData, { type: file.type }));
|
|
37
|
+
/**Verifica se é ie ou edge, pois o mesmo tem tratamento próprio para arquivos blob */
|
|
38
|
+
const nav = window.navigator;
|
|
39
|
+
if (nav && nav.msSaveOrOpenBlob) {
|
|
40
|
+
nav.msSaveOrOpenBlob(file, fileName);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
downloadLink.href = urlDownload;
|
|
44
|
+
downloadLink.setAttribute('download', fileName);
|
|
45
|
+
document.body.appendChild(downloadLink);
|
|
46
|
+
downloadLink.click();
|
|
47
|
+
window.URL.revokeObjectURL(urlDownload);
|
|
48
|
+
downloadLink.remove();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
static b64toBlob(b64Data, contentType, sliceSize) {
|
|
52
|
+
contentType = contentType || '';
|
|
53
|
+
sliceSize = sliceSize || 512;
|
|
54
|
+
const byteCharacters = atob(b64Data);
|
|
55
|
+
const byteArrays = [];
|
|
56
|
+
for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {
|
|
57
|
+
const slice = byteCharacters.slice(offset, offset + sliceSize);
|
|
58
|
+
const byteNumbers = new Array(slice.length);
|
|
59
|
+
for (let i = 0; i < slice.length; i++) {
|
|
60
|
+
byteNumbers[i] = slice.charCodeAt(i);
|
|
61
|
+
}
|
|
62
|
+
const byteArray = new Uint8Array(byteNumbers);
|
|
63
|
+
byteArrays.push(byteArray);
|
|
64
|
+
}
|
|
65
|
+
const blob = new Blob(byteArrays, { type: contentType });
|
|
66
|
+
return blob;
|
|
67
|
+
}
|
|
68
|
+
static jsonToString(jsonData, dwldDataParam) {
|
|
69
|
+
if (!jsonData || jsonData.length === 0) {
|
|
70
|
+
return '';
|
|
71
|
+
}
|
|
72
|
+
const lineDelimiter = '\n';
|
|
73
|
+
let columnOrig = null;
|
|
74
|
+
let columnHeader = null;
|
|
75
|
+
const keys = [];
|
|
76
|
+
let includeKey;
|
|
77
|
+
if (dwldDataParam.columnList &&
|
|
78
|
+
dwldDataParam.columnList.length > 0) {
|
|
79
|
+
columnOrig = dwldDataParam.columnList;
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
columnOrig = Object.keys(jsonData[0]);
|
|
83
|
+
}
|
|
84
|
+
columnOrig.forEach(key => {
|
|
85
|
+
includeKey = true;
|
|
86
|
+
if (dwldDataParam.columnExclude &&
|
|
87
|
+
dwldDataParam.columnExclude.length > 0 &&
|
|
88
|
+
dwldDataParam.columnExclude.indexOf(key) !== -1) {
|
|
89
|
+
includeKey = false;
|
|
90
|
+
}
|
|
91
|
+
if (includeKey) {
|
|
92
|
+
keys.push(key);
|
|
93
|
+
columnHeader = (!columnHeader) ? '' : columnHeader + dwldDataParam.columnDelimiter;
|
|
94
|
+
columnHeader += (dwldDataParam.literals[key]) ? dwldDataParam.literals[key] : key;
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
const lineStr = jsonData.reduce((accLineStr, currentItem) => {
|
|
98
|
+
let first = true;
|
|
99
|
+
let columnValue = null;
|
|
100
|
+
keys.forEach(key => {
|
|
101
|
+
if (!first) {
|
|
102
|
+
accLineStr += dwldDataParam.columnDelimiter;
|
|
103
|
+
}
|
|
104
|
+
columnValue = currentItem[key];
|
|
105
|
+
if (columnValue === null || columnValue === undefined) {
|
|
106
|
+
columnValue = '';
|
|
107
|
+
}
|
|
108
|
+
switch (typeof (columnValue)) {
|
|
109
|
+
case 'number':
|
|
110
|
+
columnValue = columnValue.toLocaleString();
|
|
111
|
+
break;
|
|
112
|
+
case 'boolean':
|
|
113
|
+
columnValue = (dwldDataParam.literals[`${columnValue}`]) ?
|
|
114
|
+
dwldDataParam.literals[`${columnValue}`] : columnValue;
|
|
115
|
+
break;
|
|
116
|
+
case 'object':
|
|
117
|
+
columnValue = JSON.stringify(columnValue);
|
|
118
|
+
}
|
|
119
|
+
accLineStr += columnValue;
|
|
120
|
+
first = false;
|
|
121
|
+
});
|
|
122
|
+
return accLineStr + lineDelimiter;
|
|
123
|
+
}, columnHeader + lineDelimiter);
|
|
124
|
+
return lineStr;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
export class DownloadDataParams {
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHRzLWJhY2tvZmZpY2UtdXRpbC9zcmMvbGliL3V0aWxzL2ZpbGUudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sUUFBUTtJQUVqQixnQkFDSSxDQUFDO0lBRUwsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFTLEVBQUUsUUFBZ0IsRUFBRSxXQUFvQixFQUFFLE1BQWdCO1FBQ25GLE1BQU0sR0FBRyxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDM0MsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ25FLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLElBQWdCLEVBQUUsZ0JBQXFDLElBQUk7UUFDM0UsSUFBSSxDQUFDLElBQUksRUFBRTtZQUFFLE9BQU87U0FBRTtRQUV0QixJQUFJLENBQUMsYUFBYSxFQUFFO1lBQUUsYUFBYSxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztTQUFFO1FBQ2pFLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFO1lBQUUsYUFBYSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7U0FBRTtRQUNyRSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRTtZQUFFLGFBQWEsQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1NBQUU7UUFDN0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLEVBQUU7WUFBRSxhQUFhLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQztTQUFFO1FB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RUgsT0FBTyxVQUFVLEdBQUcsYUFBYSxDQUFDO1FBRXRDLENBQUMsRUFBRSxZQUFZLEdBQUcsYUFBYSxDQUFDLENBQUM7UUFFakMsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztDQUNKO0FBVUQsTUFBTSxPQUFPLGtCQUFrQjtDQU05QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBGaWxlVXRpbCB7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICApIHsgfVxyXG5cclxuICAgIHN0YXRpYyBkb3dubG9hZEZpbGUoZGF0YTogYW55LCBmaWxlTmFtZTogc3RyaW5nLCBjb250ZW50VHlwZT86IHN0cmluZywgYmFzZTY0PzogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIGJhc2U2NCA9IChiYXNlNjQgPT09IGZhbHNlKSA/IGZhbHNlIDogdHJ1ZTtcclxuICAgICAgICBjb25zdCBkYXRhQmxvYiA9IGJhc2U2NCA/IHRoaXMuYjY0dG9CbG9iKGRhdGEsIGNvbnRlbnRUeXBlKSA6IGRhdGE7XHJcbiAgICAgICAgdGhpcy5kb3dubG9hZChkYXRhQmxvYiwgZmlsZU5hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBkb3dubG9hZERhdGEoZGF0YTogQXJyYXk8YW55PiwgZHdsZERhdGFQYXJhbTogSURvd25sb2FkRGF0YVBhcmFtcyA9IG51bGwpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIWRhdGEpIHsgcmV0dXJuOyB9XHJcblxyXG4gICAgICAgIGlmICghZHdsZERhdGFQYXJhbSkgeyBkd2xkRGF0YVBhcmFtID0gbmV3IERvd25sb2FkRGF0YVBhcmFtcygpOyB9XHJcbiAgICAgICAgaWYgKCFkd2xkRGF0YVBhcmFtLmZpbGVOYW1lKSB7IGR3bGREYXRhUGFyYW0uZmlsZU5hbWUgPSAnZGF0YS5jc3YnOyB9XHJcbiAgICAgICAgaWYgKCFkd2xkRGF0YVBhcmFtLmxpdGVyYWxzKSB7IGR3bGREYXRhUGFyYW0ubGl0ZXJhbHMgPSB7fTsgfVxyXG4gICAgICAgIGlmICghZHdsZERhdGFQYXJhbS5jb2x1bW5EZWxpbWl0ZXIpIHsgZHdsZERhdGFQYXJhbS5jb2x1bW5EZWxpbWl0ZXIgPSAnOyc7IH1cclxuICAgICAgICBpZiAoIWR3bGREYXRhUGFyYW0uY29sdW1uTGlzdCkgeyBkd2xkRGF0YVBhcmFtLmNvbHVtbkxpc3QgPSBbXTsgfVxyXG4gICAgICAgIGlmICghZHdsZERhdGFQYXJhbS5jb2x1bW5FeGNsdWRlKSB7IGR3bGREYXRhUGFyYW0uY29sdW1uRXhjbHVkZSA9IFtdOyB9XHJcblxyXG4gICAgICAgIGNvbnN0IGRhdGFiNjQgPSBidG9hKHRoaXMuanNvblRvU3RyaW5nKGRhdGEsIGR3bGREYXRhUGFyYW0pKTtcclxuICAgICAgICB0aGlzLmRvd25sb2FkRmlsZShkYXRhYjY0LCBkd2xkRGF0YVBhcmFtLmZpbGVOYW1lLCAndGV4dC9jc3YnKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBkb3dubG9hZChmaWxlOiBCbG9iLCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgYmluYXJ5RGF0YSA9IFtmaWxlXTtcclxuICAgICAgICBjb25zdCBkb3dubG9hZExpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICAgICAgY29uc3QgdXJsRG93bmxvYWQgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChuZXcgQmxvYihiaW5hcnlEYXRhLCB7IHR5cGU6IGZpbGUudHlwZSB9KSk7XHJcblxyXG4gICAgICAgIC8qKlZlcmlmaWNhIHNlIMOpIGllIG91IGVkZ2UsIHBvaXMgbyBtZXNtbyB0ZW0gdHJhdGFtZW50byBwcsOzcHJpbyBwYXJhIGFycXVpdm9zIGJsb2IgKi9cclxuICAgICAgICBjb25zdCBuYXYgPSAod2luZG93Lm5hdmlnYXRvciBhcyBhbnkpO1xyXG4gICAgICAgIGlmIChuYXYgJiYgbmF2Lm1zU2F2ZU9yT3BlbkJsb2IpIHtcclxuICAgICAgICAgICAgbmF2Lm1zU2F2ZU9yT3BlbkJsb2IoZmlsZSwgZmlsZU5hbWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGRvd25sb2FkTGluay5ocmVmID0gdXJsRG93bmxvYWQ7XHJcbiAgICAgICAgICAgIGRvd25sb2FkTGluay5zZXRBdHRyaWJ1dGUoJ2Rvd25sb2FkJywgZmlsZU5hbWUpO1xyXG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvd25sb2FkTGluayk7XHJcbiAgICAgICAgICAgIGRvd25sb2FkTGluay5jbGljaygpO1xyXG4gICAgICAgICAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmxEb3dubG9hZCk7XHJcbiAgICAgICAgICAgIGRvd25sb2FkTGluay5yZW1vdmUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgYjY0dG9CbG9iKGI2NERhdGE6IGFueSwgY29udGVudFR5cGU/OiBzdHJpbmcsIHNsaWNlU2l6ZT86IG51bWJlcik6IEJsb2Ige1xyXG4gICAgICAgIGNvbnRlbnRUeXBlID0gY29udGVudFR5cGUgfHwgJyc7XHJcbiAgICAgICAgc2xpY2VTaXplID0gc2xpY2VTaXplIHx8IDUxMjtcclxuXHJcbiAgICAgICAgY29uc3QgYnl0ZUNoYXJhY3RlcnMgPSBhdG9iKGI2NERhdGEpO1xyXG4gICAgICAgIGNvbnN0IGJ5dGVBcnJheXMgPSBbXTtcclxuXHJcbiAgICAgICAgZm9yIChsZXQgb2Zmc2V0ID0gMDsgb2Zmc2V0IDwgYnl0ZUNoYXJhY3RlcnMubGVuZ3RoOyBvZmZzZXQgKz0gc2xpY2VTaXplKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNsaWNlID0gYnl0ZUNoYXJhY3RlcnMuc2xpY2Uob2Zmc2V0LCBvZmZzZXQgKyBzbGljZVNpemUpO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgYnl0ZU51bWJlcnMgPSBuZXcgQXJyYXkoc2xpY2UubGVuZ3RoKTtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzbGljZS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgYnl0ZU51bWJlcnNbaV0gPSBzbGljZS5jaGFyQ29kZUF0KGkpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBjb25zdCBieXRlQXJyYXkgPSBuZXcgVWludDhBcnJheShieXRlTnVtYmVycyk7XHJcbiAgICAgICAgICAgIGJ5dGVBcnJheXMucHVzaChieXRlQXJyYXkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKGJ5dGVBcnJheXMsIHsgdHlwZTogY29udGVudFR5cGUgfSk7XHJcbiAgICAgICAgcmV0dXJuIGJsb2I7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMganNvblRvU3RyaW5nKGpzb25EYXRhOiBBcnJheTxhbnk+LCBkd2xkRGF0YVBhcmFtOiBJRG93bmxvYWREYXRhUGFyYW1zKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoIWpzb25EYXRhIHx8IGpzb25EYXRhLmxlbmd0aCA9PT0gMCkgeyByZXR1cm4gJyc7IH1cclxuXHJcbiAgICAgICAgY29uc3QgbGluZURlbGltaXRlciA9ICdcXG4nO1xyXG5cclxuICAgICAgICBsZXQgY29sdW1uT3JpZyA9IG51bGw7XHJcbiAgICAgICAgbGV0IGNvbHVtbkhlYWRlciA9IG51bGw7XHJcbiAgICAgICAgY29uc3Qga2V5cyA9IFtdO1xyXG4gICAgICAgIGxldCBpbmNsdWRlS2V5OiBib29sZWFuO1xyXG5cclxuICAgICAgICBpZiAoZHdsZERhdGFQYXJhbS5jb2x1bW5MaXN0ICYmXHJcbiAgICAgICAgICAgIGR3bGREYXRhUGFyYW0uY29sdW1uTGlzdC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGNvbHVtbk9yaWcgPSBkd2xkRGF0YVBhcmFtLmNvbHVtbkxpc3Q7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29sdW1uT3JpZyA9IE9iamVjdC5rZXlzKGpzb25EYXRhWzBdKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbHVtbk9yaWcuZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICAgICAgICBpbmNsdWRlS2V5ID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgIGlmIChkd2xkRGF0YVBhcmFtLmNvbHVtbkV4Y2x1ZGUgJiZcclxuICAgICAgICAgICAgICAgIGR3bGREYXRhUGFyYW0uY29sdW1uRXhjbHVkZS5sZW5ndGggPiAwICYmXHJcbiAgICAgICAgICAgICAgICBkd2xkRGF0YVBhcmFtLmNvbHVtbkV4Y2x1ZGUuaW5kZXhPZihrZXkpICE9PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgaW5jbHVkZUtleSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoaW5jbHVkZUtleSkge1xyXG4gICAgICAgICAgICAgICAga2V5cy5wdXNoKGtleSk7XHJcbiAgICAgICAgICAgICAgICBjb2x1bW5IZWFkZXIgPSAoIWNvbHVtbkhlYWRlcikgPyAnJyA6IGNvbHVtbkhlYWRlciArIGR3bGREYXRhUGFyYW0uY29sdW1uRGVsaW1pdGVyO1xyXG4gICAgICAgICAgICAgICAgY29sdW1uSGVhZGVyICs9IChkd2xkRGF0YVBhcmFtLmxpdGVyYWxzW2tleV0pID8gZHdsZERhdGFQYXJhbS5saXRlcmFsc1trZXldIDoga2V5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGNvbnN0IGxpbmVTdHIgPSBqc29uRGF0YS5yZWR1Y2UoKGFjY0xpbmVTdHIsIGN1cnJlbnRJdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBmaXJzdCA9IHRydWU7XHJcbiAgICAgICAgICAgIGxldCBjb2x1bW5WYWx1ZSA9IG51bGw7XHJcblxyXG4gICAgICAgICAgICBrZXlzLmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICghZmlyc3QpIHsgYWNjTGluZVN0ciArPSBkd2xkRGF0YVBhcmFtLmNvbHVtbkRlbGltaXRlcjsgfVxyXG5cclxuICAgICAgICAgICAgICAgIGNvbHVtblZhbHVlID0gY3VycmVudEl0ZW1ba2V5XTtcclxuICAgICAgICAgICAgICAgIGlmIChjb2x1bW5WYWx1ZSA9PT0gbnVsbCB8fCBjb2x1bW5WYWx1ZSA9PT0gdW5kZWZpbmVkKSB7IGNvbHVtblZhbHVlID0gJyc7IH1cclxuICAgICAgICAgICAgICAgIHN3aXRjaCAodHlwZW9mIChjb2x1bW5WYWx1ZSkpIHtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlICdudW1iZXInOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5WYWx1ZSA9IGNvbHVtblZhbHVlLnRvTG9jYWxlU3RyaW5nKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5WYWx1ZSA9IChkd2xkRGF0YVBhcmFtLmxpdGVyYWxzW2Ake2NvbHVtblZhbHVlfWBdKSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkd2xkRGF0YVBhcmFtLmxpdGVyYWxzW2Ake2NvbHVtblZhbHVlfWBdIDogY29sdW1uVmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ29iamVjdCc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtblZhbHVlID0gSlNPTi5zdHJpbmdpZnkoY29sdW1uVmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYWNjTGluZVN0ciArPSBjb2x1bW5WYWx1ZTtcclxuXHJcbiAgICAgICAgICAgICAgICBmaXJzdCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiBhY2NMaW5lU3RyICsgbGluZURlbGltaXRlcjtcclxuXHJcbiAgICAgICAgfSwgY29sdW1uSGVhZGVyICsgbGluZURlbGltaXRlcik7XHJcblxyXG4gICAgICAgIHJldHVybiBsaW5lU3RyO1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElEb3dubG9hZERhdGFQYXJhbXMge1xyXG4gICAgZmlsZU5hbWU6IHN0cmluZztcclxuICAgIGxpdGVyYWxzOiBhbnk7XHJcbiAgICBjb2x1bW5EZWxpbWl0ZXI6IHN0cmluZztcclxuICAgIGNvbHVtbkxpc3Q6IEFycmF5PHN0cmluZz47XHJcbiAgICBjb2x1bW5FeGNsdWRlOiBBcnJheTxzdHJpbmc+O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgRG93bmxvYWREYXRhUGFyYW1zIGltcGxlbWVudHMgSURvd25sb2FkRGF0YVBhcmFtcyB7XHJcbiAgICBmaWxlTmFtZTogc3RyaW5nO1xyXG4gICAgbGl0ZXJhbHM6IGFueTtcclxuICAgIGNvbHVtbkRlbGltaXRlcjogc3RyaW5nO1xyXG4gICAgY29sdW1uTGlzdDogQXJyYXk8c3RyaW5nPjtcclxuICAgIGNvbHVtbkV4Y2x1ZGU6IEFycmF5PHN0cmluZz47XHJcbn1cclxuIl19
|
|
File without changes
|
|
File without changes
|
|
File without changes
|