sion-data-import 1.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.
Files changed (36) hide show
  1. package/esm2020/index.mjs +5 -0
  2. package/esm2020/lib/domain/ImportsColumn.mjs +6 -0
  3. package/esm2020/lib/domain/ImportsTable.mjs +3 -0
  4. package/esm2020/lib/domain/TableDto.mjs +8 -0
  5. package/esm2020/lib/service/http.service.mjs +70 -0
  6. package/esm2020/lib/sion-data-import.module.mjs +253 -0
  7. package/esm2020/lib/utils/urlutil.mjs +18 -0
  8. package/esm2020/lib/utils/util.mjs +129 -0
  9. package/esm2020/lib/views/import-table-list/import-table-data/import-table-data.component.mjs +145 -0
  10. package/esm2020/lib/views/import-table-list/import-table-detail/import-table-detail.component.mjs +469 -0
  11. package/esm2020/lib/views/import-table-list/import-table-list.component.mjs +245 -0
  12. package/esm2020/sion-data-import.mjs +5 -0
  13. package/index.d.ts +5 -0
  14. package/index.d.ts.map +1 -0
  15. package/lib/domain/ImportsColumn.d.ts +12 -0
  16. package/lib/domain/ImportsColumn.d.ts.map +1 -0
  17. package/lib/domain/ImportsTable.d.ts +11 -0
  18. package/lib/domain/ImportsTable.d.ts.map +1 -0
  19. package/lib/domain/TableDto.d.ts +7 -0
  20. package/lib/domain/TableDto.d.ts.map +1 -0
  21. package/lib/service/http.service.d.ts +22 -0
  22. package/lib/service/http.service.d.ts.map +1 -0
  23. package/lib/sion-data-import.module.d.ts +57 -0
  24. package/lib/sion-data-import.module.d.ts.map +1 -0
  25. package/lib/utils/urlutil.d.ts +18 -0
  26. package/lib/utils/urlutil.d.ts.map +1 -0
  27. package/lib/utils/util.d.ts +11 -0
  28. package/lib/utils/util.d.ts.map +1 -0
  29. package/lib/views/import-table-list/import-table-data/import-table-data.component.d.ts +39 -0
  30. package/lib/views/import-table-list/import-table-data/import-table-data.component.d.ts.map +1 -0
  31. package/lib/views/import-table-list/import-table-detail/import-table-detail.component.d.ts +51 -0
  32. package/lib/views/import-table-list/import-table-detail/import-table-detail.component.d.ts.map +1 -0
  33. package/lib/views/import-table-list/import-table-list.component.d.ts +57 -0
  34. package/lib/views/import-table-list/import-table-list.component.d.ts.map +1 -0
  35. package/package.json +39 -0
  36. package/sion-data-import.d.ts.map +1 -0
@@ -0,0 +1,5 @@
1
+ export * from './lib/sion-data-import.module';
2
+ export { ImportTableListComponent } from "./lib/views/import-table-list/import-table-list.component";
3
+ export { ImportTableDetailComponent } from "./lib/views/import-table-list/import-table-detail/import-table-detail.component";
4
+ export { ImportTableDataComponent } from "./lib/views/import-table-list/import-table-data/import-table-data.component";
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3Npb24tZGF0YS1pbXBvcnQvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsK0JBQStCLENBQUM7QUFFOUMsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDbkcsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0saUZBQWlGLENBQUM7QUFDM0gsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sNkVBQTZFLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9zaW9uLWRhdGEtaW1wb3J0Lm1vZHVsZSc7XHJcblxyXG5leHBvcnQge0ltcG9ydFRhYmxlTGlzdENvbXBvbmVudH0gZnJvbSBcIi4vbGliL3ZpZXdzL2ltcG9ydC10YWJsZS1saXN0L2ltcG9ydC10YWJsZS1saXN0LmNvbXBvbmVudFwiO1xyXG5leHBvcnQge0ltcG9ydFRhYmxlRGV0YWlsQ29tcG9uZW50fSBmcm9tIFwiLi9saWIvdmlld3MvaW1wb3J0LXRhYmxlLWxpc3QvaW1wb3J0LXRhYmxlLWRldGFpbC9pbXBvcnQtdGFibGUtZGV0YWlsLmNvbXBvbmVudFwiO1xyXG5leHBvcnQge0ltcG9ydFRhYmxlRGF0YUNvbXBvbmVudH0gZnJvbSBcIi4vbGliL3ZpZXdzL2ltcG9ydC10YWJsZS1saXN0L2ltcG9ydC10YWJsZS1kYXRhL2ltcG9ydC10YWJsZS1kYXRhLmNvbXBvbmVudFwiXHJcbiJdfQ==
@@ -0,0 +1,6 @@
1
+ export class ImportsColumn {
2
+ constructor() {
3
+ this.data_format = '';
4
+ }
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW1wb3J0c0NvbHVtbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2lvbi1kYXRhLWltcG9ydC9zcmMvbGliL2RvbWFpbi9JbXBvcnRzQ29sdW1uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxhQUFhO0lBQTFCO1FBS0UsZ0JBQVcsR0FBWSxFQUFFLENBQUM7SUFLNUIsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEltcG9ydHNDb2x1bW57XHJcbiAgbmFtZT86IHN0cmluZztcclxuICB0aXRsZT86IHN0cmluZztcclxuICBjb2x1bW5fdHlwZT86IHN0cmluZztcclxuICBkZWZhdWx0X3ZhbHVlPzpvYmplY3Q7XHJcbiAgZGF0YV9mb3JtYXQ/OiBzdHJpbmcgPSAnJztcclxuICB0YWJsZV9pZD86b2JqZWN0O1xyXG4gIHNlcT86IG51bWJlcjtcclxuICBwcmltYXJ5X2tleT86IG51bWJlcjtcclxuICBtYXhfbGVuZ3RoPzogbnVtYmVyO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export class ImportsTable {
2
+ }
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW1wb3J0c1RhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zaW9uLWRhdGEtaW1wb3J0L3NyYy9saWIvZG9tYWluL0ltcG9ydHNUYWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sWUFBWTtDQVN4QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBJbXBvcnRzVGFibGV7XHJcbiAgaWQ/Om9iamVjdDtcclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIGNyZWF0ZV9kYXRlX3RpbWU/OiBzdHJpbmc7XHJcbiAgdXBkYXRlX2RhdGVfdGltZT86IHN0cmluZztcclxuICBpbXBvcnRzX3R5cGU/OiBzdHJpbmc7XHJcbiAgZmlsZV9wYXRoPzogc3RyaW5nO1xyXG4gIGRiX3R5cGU/OiBzdHJpbmc7XHJcbn1cclxuIl19
@@ -0,0 +1,8 @@
1
+ import { ImportsTable } from "./ImportsTable";
2
+ export class TableDto {
3
+ constructor() {
4
+ this.table = new ImportsTable();
5
+ this.columnList = [];
6
+ }
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFibGVEdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Npb24tZGF0YS1pbXBvcnQvc3JjL2xpYi9kb21haW4vVGFibGVEdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRzVDLE1BQU0sT0FBTyxRQUFRO0lBQXJCO1FBQ0UsVUFBSyxHQUFnQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3hDLGVBQVUsR0FBbUIsRUFBRSxDQUFDO0lBQ2xDLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW1wb3J0c1RhYmxlfSBmcm9tIFwiLi9JbXBvcnRzVGFibGVcIjtcclxuaW1wb3J0IHtJbXBvcnRzQ29sdW1ufSBmcm9tIFwiLi9JbXBvcnRzQ29sdW1uXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgVGFibGVEdG97XHJcbiAgdGFibGU6SW1wb3J0c1RhYmxlID0gbmV3IEltcG9ydHNUYWJsZSgpO1xyXG4gIGNvbHVtbkxpc3Q6SW1wb3J0c0NvbHVtbltdID0gW107XHJcbn1cclxuIl19
@@ -0,0 +1,70 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { HttpClient } from "@angular/common/http";
3
+ import { UrlUtil } from "../utils/urlutil";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common/http";
6
+ export class HttpService {
7
+ constructor(http) {
8
+ this.http = http;
9
+ }
10
+ //
11
+ // post(url: any, body:any, params: any,nextFunc?: ((value: any) => void) | null, errorFunc?: ((error: any) => void) | null): void {
12
+ // const me = this;
13
+ // const observer = {
14
+ // nextFunc,
15
+ // errorFunc,
16
+ // complete(){
17
+ // }
18
+ // };
19
+ // me.http.post(url, body, {params: params}).subscribe(observer);
20
+ // }
21
+ //
22
+ // get(url: any, params: any,nextFunc?: ((value: any) => void) | null, errorFunc?: ((error: any) => void) | null): void {
23
+ // const me = this;
24
+ // const observer = {
25
+ // nextFunc,
26
+ // errorFunc,
27
+ // complete(){
28
+ // }
29
+ // };
30
+ // me.http.get(url, {params: params}).subscribe(observer);
31
+ // }
32
+ //
33
+ post(url, body, params, callback) {
34
+ this.http.post(url, body, { params: params }).subscribe(res => {
35
+ callback.call(callback, res, true);
36
+ }, err => {
37
+ callback.call(callback, err, false);
38
+ });
39
+ }
40
+ get(url, params, callback) {
41
+ this.http.get(url, { params: params }).subscribe(res => {
42
+ callback.call(callback, res, true);
43
+ }, err => {
44
+ callback.call(callback, err, false);
45
+ });
46
+ }
47
+ //条件查询
48
+ listTable(query, callback) { this.post(UrlUtil.listTable, query, {}, callback); }
49
+ //创建和修改
50
+ importSave(data, callback) { this.post(UrlUtil.importSave, data, {}, callback); }
51
+ //获取当前默认的数据库类型
52
+ getDbType(callback) { this.post(UrlUtil.getDbType, {}, {}, callback); }
53
+ // 参数 数据库类型
54
+ listColumnType(dbType, callback) { this.post(UrlUtil.listColumnType, { db_type: dbType }, {}, callback); }
55
+ //
56
+ regFields(filePath, type, dbType, callback) { this.post(UrlUtil.regFields, {}, { filePath: filePath, type: type, db_type: dbType }, callback); }
57
+ findColumnById(id, callback) { this.get(UrlUtil.findColumnById + "?tableId=" + id, {}, callback); }
58
+ updateTable(data, callback) { this.post(UrlUtil.updateTable, data, {}, callback); }
59
+ removeTable(data, callback) { this.post(UrlUtil.removeTable, data, {}, callback); }
60
+ listData(tableId, body, callback) { this.post(UrlUtil.listData + "?tableId=" + tableId, body, {}, callback); }
61
+ }
62
+ HttpService.ɵfac = function HttpService_Factory(t) { return new (t || HttpService)(i0.ɵɵinject(i1.HttpClient)); };
63
+ HttpService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: HttpService, factory: HttpService.ɵfac, providedIn: 'root' });
64
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(HttpService, [{
65
+ type: Injectable,
66
+ args: [{
67
+ providedIn: 'root'
68
+ }]
69
+ }], function () { return [{ type: i1.HttpClient }]; }, null); })();
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zaW9uLWRhdGEtaW1wb3J0L3NyYy9saWIvc2VydmljZS9odHRwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLGtCQUFrQixDQUFDOzs7QUFPekMsTUFBTSxPQUFPLFdBQVc7SUFFdEIsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUFJLENBQUM7SUFDekMsRUFBRTtJQUNGLG9JQUFvSTtJQUNwSSxxQkFBcUI7SUFDckIsdUJBQXVCO0lBQ3ZCLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLFFBQVE7SUFDUixPQUFPO0lBQ1AsbUVBQW1FO0lBQ25FLElBQUk7SUFDSixFQUFFO0lBQ0YseUhBQXlIO0lBQ3pILHFCQUFxQjtJQUNyQix1QkFBdUI7SUFDdkIsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsUUFBUTtJQUNSLE9BQU87SUFDUCw0REFBNEQ7SUFDNUQsSUFBSTtJQUNKLEVBQUU7SUFDRixJQUFJLENBQUMsR0FBUSxFQUFFLElBQVMsRUFBRSxNQUFXLEVBQUUsUUFBYTtRQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUMsTUFBTSxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUMsU0FBUyxDQUNuRCxHQUFHLENBQUMsRUFBRTtZQUNKLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUNwQyxDQUFDLEVBQ0QsR0FBRyxDQUFDLEVBQUU7WUFD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bnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0h0dHBDbGllbnR9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQge1VybFV0aWx9IGZyb20gXCIuLi91dGlscy91cmx1dGlsXCI7XHJcbmltcG9ydCB7SW1wb3J0c1RhYmxlfSBmcm9tIFwiLi4vZG9tYWluL0ltcG9ydHNUYWJsZVwiO1xyXG5pbXBvcnQge1RhYmxlRHRvfSBmcm9tIFwiLi4vZG9tYWluL1RhYmxlRHRvXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIdHRwU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkgeyB9XHJcbiAgLy9cclxuICAvLyBwb3N0KHVybDogYW55LCBib2R5OmFueSwgcGFyYW1zOiBhbnksbmV4dEZ1bmM/OiAoKHZhbHVlOiBhbnkpID0+IHZvaWQpIHwgbnVsbCwgZXJyb3JGdW5jPzogKChlcnJvcjogYW55KSA9PiB2b2lkKSB8IG51bGwpOiB2b2lkIHtcclxuICAvLyAgIGNvbnN0IG1lID0gdGhpcztcclxuICAvLyAgIGNvbnN0IG9ic2VydmVyID0ge1xyXG4gIC8vICAgICBuZXh0RnVuYyxcclxuICAvLyAgICAgZXJyb3JGdW5jLFxyXG4gIC8vICAgICBjb21wbGV0ZSgpe1xyXG4gIC8vICAgICB9XHJcbiAgLy8gICB9O1xyXG4gIC8vICAgbWUuaHR0cC5wb3N0KHVybCwgYm9keSwge3BhcmFtczogcGFyYW1zfSkuc3Vic2NyaWJlKG9ic2VydmVyKTtcclxuICAvLyB9XHJcbiAgLy9cclxuICAvLyBnZXQodXJsOiBhbnksIHBhcmFtczogYW55LG5leHRGdW5jPzogKCh2YWx1ZTogYW55KSA9PiB2b2lkKSB8IG51bGwsIGVycm9yRnVuYz86ICgoZXJyb3I6IGFueSkgPT4gdm9pZCkgfCBudWxsKTogdm9pZCB7XHJcbiAgLy8gICBjb25zdCBtZSA9IHRoaXM7XHJcbiAgLy8gICBjb25zdCBvYnNlcnZlciA9IHtcclxuICAvLyAgICAgbmV4dEZ1bmMsXHJcbiAgLy8gICAgIGVycm9yRnVuYyxcclxuICAvLyAgICAgY29tcGxldGUoKXtcclxuICAvLyAgICAgfVxyXG4gIC8vICAgfTtcclxuICAvLyAgIG1lLmh0dHAuZ2V0KHVybCwge3BhcmFtczogcGFyYW1zfSkuc3Vic2NyaWJlKG9ic2VydmVyKTtcclxuICAvLyB9XHJcbiAgLy9cclxuICBwb3N0KHVybDogYW55LCBib2R5OiBhbnksIHBhcmFtczogYW55LCBjYWxsYmFjazogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmh0dHAucG9zdCh1cmwsIGJvZHksIHtwYXJhbXM6IHBhcmFtc30pLnN1YnNjcmliZShcclxuICAgICAgcmVzID0+IHtcclxuICAgICAgICBjYWxsYmFjay5jYWxsKGNhbGxiYWNrLCByZXMsdHJ1ZSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVyciA9PiB7XHJcbiAgICAgICAgY2FsbGJhY2suY2FsbChjYWxsYmFjaywgZXJyLGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldCh1cmw6IGFueSwgcGFyYW1zOiBhbnksIGNhbGxiYWNrOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuaHR0cC5nZXQodXJsLCB7cGFyYW1zOiBwYXJhbXN9KS5zdWJzY3JpYmUoXHJcbiAgICAgIHJlcyA9PiB7XHJcbiAgICAgICAgY2FsbGJhY2suY2FsbChjYWxsYmFjaywgcmVzLHRydWUpO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnIgPT4ge1xyXG4gICAgICAgIGNhbGxiYWNrLmNhbGwoY2FsbGJhY2ssIGVycixmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvL+adoeS7tuafpeivolxyXG4gIGxpc3RUYWJsZShxdWVyeTphbnksIGNhbGxiYWNrOiBhbnkpe3RoaXMucG9zdChVcmxVdGlsLmxpc3RUYWJsZSwgcXVlcnkgLHt9LGNhbGxiYWNrKTt9XHJcbiAgLy/liJvlu7rlkozkv67mlLlcclxuICBpbXBvcnRTYXZlKGRhdGE6VGFibGVEdG8sIGNhbGxiYWNrOiBhbnkpe3RoaXMucG9zdChVcmxVdGlsLmltcG9ydFNhdmUsIGRhdGEse30sIGNhbGxiYWNrKTt9XHJcbiAgLy/ojrflj5blvZPliY3pu5jorqTnmoTmlbDmja7lupPnsbvlnotcclxuICBnZXREYlR5cGUoIGNhbGxiYWNrOiBhbnkpe3RoaXMucG9zdChVcmxVdGlsLmdldERiVHlwZSwge30se30sY2FsbGJhY2spO31cclxuICAvLyDlj4LmlbAgIOaVsOaNruW6k+exu+Wei1xyXG4gIGxpc3RDb2x1bW5UeXBlKGRiVHlwZTpzdHJpbmcsY2FsbGJhY2s6IGFueSl7dGhpcy5wb3N0KFVybFV0aWwubGlzdENvbHVtblR5cGUsIHtkYl90eXBlOmRiVHlwZX0se30sY2FsbGJhY2spO31cclxuICAvL1xyXG4gIHJlZ0ZpZWxkcyhmaWxlUGF0aDpzdHJpbmcsdHlwZTpzdHJpbmcsZGJUeXBlOnN0cmluZyxjYWxsYmFjazogYW55KXt0aGlzLnBvc3QoVXJsVXRpbC5yZWdGaWVsZHMsIHt9LHtmaWxlUGF0aDpmaWxlUGF0aCx0eXBlOnR5cGUsZGJfdHlwZTpkYlR5cGV9LGNhbGxiYWNrKTt9XHJcblxyXG4gIGZpbmRDb2x1bW5CeUlkKGlkOnN0cmluZyxjYWxsYmFjazogYW55KXt0aGlzLmdldChVcmxVdGlsLmZpbmRDb2x1bW5CeUlkK1wiP3RhYmxlSWQ9XCIraWQsIHt9LGNhbGxiYWNrKTt9XHJcblxyXG4gIHVwZGF0ZVRhYmxlKGRhdGE6VGFibGVEdG8sIGNhbGxiYWNrOiBhbnkpe3RoaXMucG9zdChVcmxVdGlsLnVwZGF0ZVRhYmxlLCBkYXRhLHt9LCBjYWxsYmFjayk7fVxyXG4gIHJlbW92ZVRhYmxlKGRhdGE6SW1wb3J0c1RhYmxlLCBjYWxsYmFjazogYW55KXt0aGlzLnBvc3QoVXJsVXRpbC5yZW1vdmVUYWJsZSwgZGF0YSx7fSwgY2FsbGJhY2spO31cclxuICBsaXN0RGF0YSh0YWJsZUlkOnN0cmluZyxib2R5OmFueSxjYWxsYmFjazogYW55KXt0aGlzLnBvc3QoVXJsVXRpbC5saXN0RGF0YStcIj90YWJsZUlkPVwiK3RhYmxlSWQsIGJvZHkse30sY2FsbGJhY2spO31cclxufVxyXG4iXX0=
@@ -0,0 +1,253 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { registerLocaleData } from '@angular/common';
3
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
+ import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
5
+ import { HttpClientModule } from '@angular/common/http';
6
+ import { NzCardModule } from 'ng-zorro-antd/card';
7
+ import { NzAvatarModule } from 'ng-zorro-antd/avatar';
8
+ import { NzListModule } from 'ng-zorro-antd/list';
9
+ import { NzGridModule } from 'ng-zorro-antd/grid';
10
+ import { NzTransferModule } from 'ng-zorro-antd/transfer';
11
+ import { NzButtonModule } from 'ng-zorro-antd/button';
12
+ import { NzModalModule } from 'ng-zorro-antd/modal';
13
+ import { NzTableModule } from 'ng-zorro-antd/table';
14
+ import { NzLayoutModule } from 'ng-zorro-antd/layout';
15
+ import { NzIconModule } from 'ng-zorro-antd/icon';
16
+ import { NzEmptyModule } from 'ng-zorro-antd/empty';
17
+ import { NzTreeSelectModule } from 'ng-zorro-antd/tree-select';
18
+ import { NzSpinModule } from 'ng-zorro-antd/spin';
19
+ import { NzInputNumberModule } from 'ng-zorro-antd/input-number';
20
+ import { NzDividerModule } from 'ng-zorro-antd/divider';
21
+ import { NzStepsModule } from 'ng-zorro-antd/steps';
22
+ import { NzSkeletonModule } from 'ng-zorro-antd/skeleton';
23
+ import { NzSpaceModule } from 'ng-zorro-antd/space';
24
+ import { NzSelectModule } from 'ng-zorro-antd/select';
25
+ import { NzInputModule } from 'ng-zorro-antd/input';
26
+ import { NzFormModule } from 'ng-zorro-antd/form';
27
+ import { NzPaginationModule } from 'ng-zorro-antd/pagination';
28
+ import { NzAffixModule } from 'ng-zorro-antd/affix';
29
+ import { NzMessageServiceModule } from 'ng-zorro-antd/message';
30
+ import { NzRadioModule } from 'ng-zorro-antd/radio';
31
+ import { NzDatePickerModule } from 'ng-zorro-antd/date-picker';
32
+ import { NzTreeViewModule } from 'ng-zorro-antd/tree-view';
33
+ import { NzDrawerModule } from 'ng-zorro-antd/drawer';
34
+ import { NzTreeModule } from 'ng-zorro-antd/tree';
35
+ import { NzSwitchModule } from 'ng-zorro-antd/switch';
36
+ import { NzCheckboxModule } from 'ng-zorro-antd/checkbox';
37
+ import { NzTimePickerModule } from 'ng-zorro-antd/time-picker';
38
+ import { NzUploadModule } from 'ng-zorro-antd/upload';
39
+ import { NzDropDownModule } from 'ng-zorro-antd/dropdown';
40
+ import { NzTabsModule } from 'ng-zorro-antd/tabs';
41
+ import { NzTypographyModule } from 'ng-zorro-antd/typography';
42
+ import { NzPopconfirmModule } from 'ng-zorro-antd/popconfirm';
43
+ import { NzStatisticModule } from 'ng-zorro-antd/statistic';
44
+ import { NzPageHeaderModule } from 'ng-zorro-antd/page-header';
45
+ import { NzSliderModule } from 'ng-zorro-antd/slider';
46
+ import { NzResizableModule } from 'ng-zorro-antd/resizable';
47
+ import { NzProgressModule } from 'ng-zorro-antd/progress';
48
+ import zh from '@angular/common/locales/zh';
49
+ // 引入你需要的图标
50
+ import { HddTwoTone, DollarTwoTone, DashboardTwoTone, ApartmentOutline, FontColorsOutline, SearchOutline, ArrowUpOutline, ArrowDownOutline, CheckCircleTwoTone, UploadOutline, CaretDownOutline, PlusCircleOutline, DatabaseOutline, FileOutline, TableOutline, EyeInvisibleFill, EyeInvisibleOutline, MoreOutline, } from '@ant-design/icons-angular/icons';
51
+ import { NzBreadCrumbModule } from 'ng-zorro-antd/breadcrumb';
52
+ import { NzPopoverModule } from 'ng-zorro-antd/popover';
53
+ import { ImportTableListComponent } from "./views/import-table-list/import-table-list.component";
54
+ import { ImportTableDetailComponent } from "./views/import-table-list/import-table-detail/import-table-detail.component";
55
+ import { ImportTableDataComponent } from "./views/import-table-list/import-table-data/import-table-data.component";
56
+ import * as i0 from "@angular/core";
57
+ import * as i1 from "ng-zorro-antd/icon";
58
+ // import "node_modules/ng-zorro-antd/resizable/style/entry.less"
59
+ registerLocaleData(zh);
60
+ const icons = [
61
+ HddTwoTone,
62
+ DollarTwoTone,
63
+ DashboardTwoTone,
64
+ ApartmentOutline,
65
+ FontColorsOutline,
66
+ SearchOutline,
67
+ ArrowUpOutline,
68
+ ArrowDownOutline,
69
+ CheckCircleTwoTone,
70
+ UploadOutline,
71
+ CaretDownOutline,
72
+ PlusCircleOutline,
73
+ DatabaseOutline,
74
+ FileOutline,
75
+ TableOutline,
76
+ EyeInvisibleFill,
77
+ EyeInvisibleOutline,
78
+ MoreOutline,
79
+ ];
80
+ export class SionDataImportModule {
81
+ }
82
+ SionDataImportModule.ɵfac = function SionDataImportModule_Factory(t) { return new (t || SionDataImportModule)(); };
83
+ SionDataImportModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: SionDataImportModule });
84
+ SionDataImportModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [FormsModule,
85
+ ReactiveFormsModule,
86
+ BrowserAnimationsModule,
87
+ HttpClientModule,
88
+ NzCardModule,
89
+ NzAvatarModule,
90
+ NzListModule,
91
+ NzGridModule,
92
+ NzButtonModule,
93
+ NzModalModule,
94
+ NzTableModule,
95
+ NzLayoutModule,
96
+ NzIconModule,
97
+ NzEmptyModule,
98
+ NzTreeSelectModule,
99
+ NzSpinModule,
100
+ NzInputNumberModule,
101
+ NzSelectModule,
102
+ NzInputModule,
103
+ NzFormModule,
104
+ NzPaginationModule,
105
+ NzRadioModule,
106
+ NzMessageServiceModule,
107
+ NzAffixModule,
108
+ NzTimePickerModule,
109
+ NzDatePickerModule,
110
+ NzSpaceModule,
111
+ NzTreeViewModule,
112
+ NzTreeViewModule,
113
+ NzDrawerModule,
114
+ NzTreeModule,
115
+ NzSkeletonModule,
116
+ NzSwitchModule,
117
+ NzStepsModule,
118
+ NzDividerModule,
119
+ NzTransferModule,
120
+ NzCheckboxModule,
121
+ NzUploadModule,
122
+ NzDropDownModule,
123
+ NzTabsModule,
124
+ NzTypographyModule,
125
+ NzPopconfirmModule,
126
+ NzStatisticModule,
127
+ NzPageHeaderModule,
128
+ NzSliderModule,
129
+ NzIconModule.forRoot(icons),
130
+ NzBreadCrumbModule,
131
+ NzResizableModule,
132
+ NzPopoverModule,
133
+ NzProgressModule] });
134
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SionDataImportModule, [{
135
+ type: NgModule,
136
+ args: [{
137
+ declarations: [
138
+ ImportTableDetailComponent,
139
+ ImportTableListComponent,
140
+ ImportTableDataComponent,
141
+ ],
142
+ imports: [
143
+ FormsModule,
144
+ ReactiveFormsModule,
145
+ BrowserAnimationsModule,
146
+ HttpClientModule,
147
+ NzCardModule,
148
+ NzAvatarModule,
149
+ NzListModule,
150
+ NzGridModule,
151
+ NzButtonModule,
152
+ NzModalModule,
153
+ NzTableModule,
154
+ NzLayoutModule,
155
+ NzIconModule,
156
+ NzEmptyModule,
157
+ NzTreeSelectModule,
158
+ NzSpinModule,
159
+ NzInputNumberModule,
160
+ NzSelectModule,
161
+ NzInputModule,
162
+ NzFormModule,
163
+ NzPaginationModule,
164
+ NzRadioModule,
165
+ NzMessageServiceModule,
166
+ NzAffixModule,
167
+ NzTimePickerModule,
168
+ NzDatePickerModule,
169
+ NzSpaceModule,
170
+ NzTreeViewModule,
171
+ NzTreeViewModule,
172
+ NzDrawerModule,
173
+ NzTreeModule,
174
+ NzSkeletonModule,
175
+ NzSwitchModule,
176
+ NzStepsModule,
177
+ NzDividerModule,
178
+ NzTransferModule,
179
+ NzCheckboxModule,
180
+ NzUploadModule,
181
+ NzDropDownModule,
182
+ NzTabsModule,
183
+ NzTypographyModule,
184
+ NzPopconfirmModule,
185
+ NzStatisticModule,
186
+ NzPageHeaderModule,
187
+ NzSliderModule,
188
+ NzIconModule.forRoot(icons),
189
+ NzBreadCrumbModule,
190
+ NzResizableModule,
191
+ NzPopoverModule,
192
+ NzProgressModule,
193
+ ],
194
+ exports: [
195
+ ImportTableDetailComponent,
196
+ ImportTableListComponent,
197
+ ImportTableDataComponent
198
+ ],
199
+ }]
200
+ }], null, null); })();
201
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(SionDataImportModule, { declarations: [ImportTableDetailComponent,
202
+ ImportTableListComponent,
203
+ ImportTableDataComponent], imports: [FormsModule,
204
+ ReactiveFormsModule,
205
+ BrowserAnimationsModule,
206
+ HttpClientModule,
207
+ NzCardModule,
208
+ NzAvatarModule,
209
+ NzListModule,
210
+ NzGridModule,
211
+ NzButtonModule,
212
+ NzModalModule,
213
+ NzTableModule,
214
+ NzLayoutModule,
215
+ NzIconModule,
216
+ NzEmptyModule,
217
+ NzTreeSelectModule,
218
+ NzSpinModule,
219
+ NzInputNumberModule,
220
+ NzSelectModule,
221
+ NzInputModule,
222
+ NzFormModule,
223
+ NzPaginationModule,
224
+ NzRadioModule,
225
+ NzMessageServiceModule,
226
+ NzAffixModule,
227
+ NzTimePickerModule,
228
+ NzDatePickerModule,
229
+ NzSpaceModule,
230
+ NzTreeViewModule,
231
+ NzTreeViewModule,
232
+ NzDrawerModule,
233
+ NzTreeModule,
234
+ NzSkeletonModule,
235
+ NzSwitchModule,
236
+ NzStepsModule,
237
+ NzDividerModule,
238
+ NzTransferModule,
239
+ NzCheckboxModule,
240
+ NzUploadModule,
241
+ NzDropDownModule,
242
+ NzTabsModule,
243
+ NzTypographyModule,
244
+ NzPopconfirmModule,
245
+ NzStatisticModule,
246
+ NzPageHeaderModule,
247
+ NzSliderModule, i1.NzIconModule, NzBreadCrumbModule,
248
+ NzResizableModule,
249
+ NzPopoverModule,
250
+ NzProgressModule], exports: [ImportTableDetailComponent,
251
+ ImportTableListComponent,
252
+ ImportTableDataComponent] }); })();
253
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lvbi1kYXRhLWltcG9ydC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3Npb24tZGF0YS1pbXBvcnQvc3JjL2xpYi9zaW9uLWRhdGEtaW1wb3J0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBZ0Isa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTFELE9BQU8sRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBSTVDLFdBQVc7QUFDWCxPQUFPLEVBQ0wsVUFBVSxFQUNWLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsY0FBYyxFQUNkLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsZUFBZSxFQUNmLFdBQVcsRUFDWCxZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLG1CQUFtQixFQUNuQixXQUFXLEdBQ1osTUFBTSxpQ0FBaUMsQ0FBQztBQUd6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sdURBQXVELENBQUM7QUFDL0YsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sNkVBQTZFLENBQUM7QUFDdkgsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0seUVBQXlFLENBQUM7OztBQTlCakgsaUVBQWlFO0FBQ2pFLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBK0J2QixNQUFNLEtBQUssR0FBcUI7SUFDOUIsVUFBVTtJQUNWLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2IsY0FBYztJQUNkLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsYUFBYTtJQUNiLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsZUFBZTtJQUNmLFdBQVc7SUFDWCxZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLG1CQUFtQjtJQUNuQixXQUFXO0NBQ1osQ0FBQztBQWtFRixNQUFNLE9BQU8sb0JBQW9COzt3RkFBcEIsb0JBQW9CO3NFQUFwQixvQkFBb0I7MEVBekQ3QixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLHVCQUF1QjtRQUN2QixnQkFBZ0I7UUFDaEIsWUFBWTtRQUNaLGNBQWM7UUFDZCxZQUFZO1FBQ1osWUFBWTtRQUNaLGNBQWM7UUFDZCxhQUFhO1FBQ2IsYUFBYTtRQUNiLGNBQWM7UUFDZCxZQUFZO1FBQ1osYUFBYTtRQUNiLGtCQUFrQjtRQUNsQixZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLGNBQWM7UUFDZCxhQUFhO1FBQ2IsWUFBWTtRQUNaLGtCQUFrQjtRQUNsQixhQUFhO1FBQ2Isc0JBQXNCO1FBQ3RCLGFBQWE7UUFDYixrQkFBa0I7UUFDbEIsa0JBQWtCO1FBQ2xCLGFBQWE7UUFDYixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGNBQWM7UUFDZCxZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLGNBQWM7UUFDZCxhQUFhO1FBQ2IsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsY0FBYztRQUNkLGdCQUFnQjtRQUNoQixZQUFZO1FBQ1osa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUMzQixrQkFBa0I7UUFDbEIsaUJBQWlCO1FBQ2pCLGVBQWU7UUFDZixnQkFBZ0I7dUZBUVAsb0JBQW9CO2NBaEVoQyxRQUFRO2VBQUM7Z0JBQ1IsWUFBWSxFQUFFO29CQUNaLDBCQUEwQjtvQkFDMUIsd0JBQXdCO29CQUN4Qix3QkFBd0I7aUJBQ3pCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxXQUFXO29CQUNYLG1CQUFtQjtvQkFDbkIsdUJBQXVCO29CQUN2QixnQkFBZ0I7b0JBQ2hCLFlBQVk7b0JBQ1osY0FBYztvQkFDZCxZQUFZO29CQUNaLFlBQVk7b0JBQ1osY0FBYztvQkFDZCxhQUFhO29CQUNiLGFBQWE7b0JBQ2IsY0FBYztvQkFDZCxZQUFZO29CQUNaLGFBQWE7b0JBQ2Isa0JBQWtCO29CQUNsQixZQUFZO29CQUNaLG1CQUFtQjtvQkFDbkIsY0FBYztvQkFDZCxhQUFhO29CQUNiLFlBQVk7b0JBQ1osa0JBQWtCO29CQUNsQixhQUFhO29CQUNiLHNCQUFzQjtvQkFDdEIsYUFBYTtvQkFDYixrQkFBa0I7b0JBQ2xCLGtCQUFrQjtvQkFDbEIsYUFBYTtvQkFDYixnQkFBZ0I7b0JBQ2hCLGdCQUFnQjtvQkFDaEIsY0FBYztvQkFDZCxZQUFZO29CQUNaLGdCQUFnQjtvQkFDaEIsY0FBYztvQkFDZCxhQUFhO29CQUNiLGVBQWU7b0JBQ2YsZ0JBQWdCO29CQUNoQixnQkFBZ0I7b0JBQ2hCLGNBQWM7b0JBQ2QsZ0JBQWdCO29CQUNoQixZQUFZO29CQUNaLGtCQUFrQjtvQkFDbEIsa0JBQWtCO29CQUNsQixpQkFBaUI7b0JBQ2pCLGtCQUFrQjtvQkFDbEIsY0FBYztvQkFDZCxZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztvQkFDM0Isa0JBQWtCO29CQUNsQixpQkFBaUI7b0JBQ2pCLGVBQWU7b0JBQ2YsZ0JBQWdCO2lCQUNqQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsMEJBQTBCO29CQUMxQix3QkFBd0I7b0JBQ3hCLHdCQUF3QjtpQkFDekI7YUFDRjs7d0ZBQ1ksb0JBQW9CLG1CQTlEN0IsMEJBQTBCO1FBQzFCLHdCQUF3QjtRQUN4Qix3QkFBd0IsYUFHeEIsV0FBVztRQUNYLG1CQUFtQjtRQUNuQix1QkFBdUI7UUFDdkIsZ0JBQWdCO1FBQ2hCLFlBQVk7UUFDWixjQUFjO1FBQ2QsWUFBWTtRQUNaLFlBQVk7UUFDWixjQUFjO1FBQ2QsYUFBYTtRQUNiLGFBQWE7UUFDYixjQUFjO1FBQ2QsWUFBWTtRQUNaLGFBQWE7UUFDYixrQkFBa0I7UUFDbEIsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixjQUFjO1FBQ2QsYUFBYTtRQUNiLFlBQVk7UUFDWixrQkFBa0I7UUFDbEIsYUFBYTtRQUNiLHNCQUFzQjtRQUN0QixhQUFhO1FBQ2Isa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQixhQUFhO1FBQ2IsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixjQUFjO1FBQ2QsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixjQUFjO1FBQ2QsYUFBYTtRQUNiLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGNBQWM7UUFDZCxnQkFBZ0I7UUFDaEIsWUFBWTtRQUNaLGtCQUFrQjtRQUNsQixrQkFBa0I7UUFDbEIsaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQixjQUFjLG1CQUVkLGtCQUFrQjtRQUNsQixpQkFBaUI7UUFDakIsZUFBZTtRQUNmLGdCQUFnQixhQUdoQiwwQkFBMEI7UUFDMUIsd0JBQXdCO1FBQ3hCLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgcmVnaXN0ZXJMb2NhbGVEYXRhIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEJyb3dzZXJBbmltYXRpb25zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgTnpDYXJkTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9jYXJkJztcclxuaW1wb3J0IHsgTnpBdmF0YXJNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2F2YXRhcic7XHJcbmltcG9ydCB7IE56TGlzdE1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvbGlzdCc7XHJcbmltcG9ydCB7IE56R3JpZE1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvZ3JpZCc7XHJcbmltcG9ydCB7IE56VHJhbnNmZXJNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3RyYW5zZmVyJztcclxuaW1wb3J0IHsgTnpCdXR0b25Nb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2J1dHRvbic7XHJcbmltcG9ydCB7IE56TW9kYWxNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL21vZGFsJztcclxuaW1wb3J0IHsgTnpUYWJsZU1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvdGFibGUnO1xyXG5pbXBvcnQgeyBOekxheW91dE1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvbGF5b3V0JztcclxuaW1wb3J0IHsgTnpJY29uTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9pY29uJztcclxuaW1wb3J0IHsgTnpFbXB0eU1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvZW1wdHknO1xyXG5pbXBvcnQgeyBOelRyZWVTZWxlY3RNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3RyZWUtc2VsZWN0JztcclxuaW1wb3J0IHsgTnpTcGluTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9zcGluJztcclxuaW1wb3J0IHsgTnpJbnB1dE51bWJlck1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvaW5wdXQtbnVtYmVyJztcclxuaW1wb3J0IHsgTnpEaXZpZGVyTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9kaXZpZGVyJztcclxuaW1wb3J0IHsgTnpTdGVwc01vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvc3RlcHMnO1xyXG5pbXBvcnQgeyBOelNrZWxldG9uTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9za2VsZXRvbic7XHJcbmltcG9ydCB7IE56U3BhY2VNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3NwYWNlJztcclxuaW1wb3J0IHsgTnpTZWxlY3RNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3NlbGVjdCc7XHJcbmltcG9ydCB7IE56SW5wdXRNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2lucHV0JztcclxuaW1wb3J0IHsgTnpGb3JtTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9mb3JtJztcclxuaW1wb3J0IHsgTnpQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9wYWdpbmF0aW9uJztcclxuaW1wb3J0IHsgTnpBZmZpeE1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvYWZmaXgnO1xyXG5pbXBvcnQgeyBOek1lc3NhZ2VTZXJ2aWNlTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9tZXNzYWdlJztcclxuaW1wb3J0IHsgTnpSYWRpb01vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvcmFkaW8nO1xyXG5pbXBvcnQgeyBOekRhdGVQaWNrZXJNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2RhdGUtcGlja2VyJztcclxuaW1wb3J0IHsgTnpUcmVlVmlld01vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvdHJlZS12aWV3JztcclxuaW1wb3J0IHsgTnpEcmF3ZXJNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2RyYXdlcic7XHJcbmltcG9ydCB7IE56VHJlZU1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvdHJlZSc7XHJcbmltcG9ydCB7IE56U3dpdGNoTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9zd2l0Y2gnO1xyXG5pbXBvcnQgeyBOekNoZWNrYm94TW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9jaGVja2JveCc7XHJcbmltcG9ydCB7IE56VGltZVBpY2tlck1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvdGltZS1waWNrZXInO1xyXG5pbXBvcnQgeyBOelVwbG9hZE1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvdXBsb2FkJztcclxuaW1wb3J0IHsgTnpEcm9wRG93bk1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvZHJvcGRvd24nO1xyXG5pbXBvcnQgeyBOelRhYnNNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3RhYnMnO1xyXG5pbXBvcnQgeyBOelR5cG9ncmFwaHlNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3R5cG9ncmFwaHknO1xyXG5pbXBvcnQgeyBOelBvcGNvbmZpcm1Nb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3BvcGNvbmZpcm0nO1xyXG5pbXBvcnQgeyBOelN0YXRpc3RpY01vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvc3RhdGlzdGljJztcclxuaW1wb3J0IHsgTnpQYWdlSGVhZGVyTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9wYWdlLWhlYWRlcic7XHJcbmltcG9ydCB7IE56U2xpZGVyTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9zbGlkZXInO1xyXG5pbXBvcnQgeyBOelJlc2l6YWJsZU1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvcmVzaXphYmxlJztcclxuaW1wb3J0IHsgTnpQcm9ncmVzc01vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvcHJvZ3Jlc3MnO1xyXG5cclxuaW1wb3J0IHpoIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL3poJztcclxuLy8gaW1wb3J0IFwibm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvcmVzaXphYmxlL3N0eWxlL2VudHJ5Lmxlc3NcIlxyXG5yZWdpc3RlckxvY2FsZURhdGEoemgpO1xyXG5cclxuLy8g5byV5YWl5L2g6ZyA6KaB55qE5Zu+5qCHXHJcbmltcG9ydCB7XHJcbiAgSGRkVHdvVG9uZSxcclxuICBEb2xsYXJUd29Ub25lLFxyXG4gIERhc2hib2FyZFR3b1RvbmUsXHJcbiAgQXBhcnRtZW50T3V0bGluZSxcclxuICBGb250Q29sb3JzT3V0bGluZSxcclxuICBTZWFyY2hPdXRsaW5lLFxyXG4gIEFycm93VXBPdXRsaW5lLFxyXG4gIEFycm93RG93bk91dGxpbmUsXHJcbiAgQ2hlY2tDaXJjbGVUd29Ub25lLFxyXG4gIFVwbG9hZE91dGxpbmUsXHJcbiAgQ2FyZXREb3duT3V0bGluZSxcclxuICBQbHVzQ2lyY2xlT3V0bGluZSxcclxuICBEYXRhYmFzZU91dGxpbmUsXHJcbiAgRmlsZU91dGxpbmUsXHJcbiAgVGFibGVPdXRsaW5lLFxyXG4gIEV5ZUludmlzaWJsZUZpbGwsXHJcbiAgRXllSW52aXNpYmxlT3V0bGluZSxcclxuICBNb3JlT3V0bGluZSxcclxufSBmcm9tICdAYW50LWRlc2lnbi9pY29ucy1hbmd1bGFyL2ljb25zJztcclxuaW1wb3J0IHsgSWNvbkRlZmluaXRpb24gfSBmcm9tICdAYW50LWRlc2lnbi9pY29ucy1hbmd1bGFyJztcclxuXHJcbmltcG9ydCB7IE56QnJlYWRDcnVtYk1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvYnJlYWRjcnVtYic7XHJcbmltcG9ydCB7IE56UG9wb3Zlck1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvcG9wb3Zlcic7XHJcbmltcG9ydCB7SW1wb3J0VGFibGVMaXN0Q29tcG9uZW50fSBmcm9tIFwiLi92aWV3cy9pbXBvcnQtdGFibGUtbGlzdC9pbXBvcnQtdGFibGUtbGlzdC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtJbXBvcnRUYWJsZURldGFpbENvbXBvbmVudH0gZnJvbSBcIi4vdmlld3MvaW1wb3J0LXRhYmxlLWxpc3QvaW1wb3J0LXRhYmxlLWRldGFpbC9pbXBvcnQtdGFibGUtZGV0YWlsLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0ltcG9ydFRhYmxlRGF0YUNvbXBvbmVudH0gZnJvbSBcIi4vdmlld3MvaW1wb3J0LXRhYmxlLWxpc3QvaW1wb3J0LXRhYmxlLWRhdGEvaW1wb3J0LXRhYmxlLWRhdGEuY29tcG9uZW50XCI7XHJcblxyXG5jb25zdCBpY29uczogSWNvbkRlZmluaXRpb25bXSA9IFtcclxuICBIZGRUd29Ub25lLFxyXG4gIERvbGxhclR3b1RvbmUsXHJcbiAgRGFzaGJvYXJkVHdvVG9uZSxcclxuICBBcGFydG1lbnRPdXRsaW5lLFxyXG4gIEZvbnRDb2xvcnNPdXRsaW5lLFxyXG4gIFNlYXJjaE91dGxpbmUsXHJcbiAgQXJyb3dVcE91dGxpbmUsXHJcbiAgQXJyb3dEb3duT3V0bGluZSxcclxuICBDaGVja0NpcmNsZVR3b1RvbmUsXHJcbiAgVXBsb2FkT3V0bGluZSxcclxuICBDYXJldERvd25PdXRsaW5lLFxyXG4gIFBsdXNDaXJjbGVPdXRsaW5lLFxyXG4gIERhdGFiYXNlT3V0bGluZSxcclxuICBGaWxlT3V0bGluZSxcclxuICBUYWJsZU91dGxpbmUsXHJcbiAgRXllSW52aXNpYmxlRmlsbCxcclxuICBFeWVJbnZpc2libGVPdXRsaW5lLFxyXG4gIE1vcmVPdXRsaW5lLFxyXG5dO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEltcG9ydFRhYmxlRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgSW1wb3J0VGFibGVMaXN0Q29tcG9uZW50LFxyXG4gICAgSW1wb3J0VGFibGVEYXRhQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgTnpDYXJkTW9kdWxlLFxyXG4gICAgTnpBdmF0YXJNb2R1bGUsXHJcbiAgICBOekxpc3RNb2R1bGUsXHJcbiAgICBOekdyaWRNb2R1bGUsXHJcbiAgICBOekJ1dHRvbk1vZHVsZSxcclxuICAgIE56TW9kYWxNb2R1bGUsXHJcbiAgICBOelRhYmxlTW9kdWxlLFxyXG4gICAgTnpMYXlvdXRNb2R1bGUsXHJcbiAgICBOekljb25Nb2R1bGUsXHJcbiAgICBOekVtcHR5TW9kdWxlLFxyXG4gICAgTnpUcmVlU2VsZWN0TW9kdWxlLFxyXG4gICAgTnpTcGluTW9kdWxlLFxyXG4gICAgTnpJbnB1dE51bWJlck1vZHVsZSxcclxuICAgIE56U2VsZWN0TW9kdWxlLFxyXG4gICAgTnpJbnB1dE1vZHVsZSxcclxuICAgIE56Rm9ybU1vZHVsZSxcclxuICAgIE56UGFnaW5hdGlvbk1vZHVsZSxcclxuICAgIE56UmFkaW9Nb2R1bGUsXHJcbiAgICBOek1lc3NhZ2VTZXJ2aWNlTW9kdWxlLFxyXG4gICAgTnpBZmZpeE1vZHVsZSxcclxuICAgIE56VGltZVBpY2tlck1vZHVsZSxcclxuICAgIE56RGF0ZVBpY2tlck1vZHVsZSxcclxuICAgIE56U3BhY2VNb2R1bGUsXHJcbiAgICBOelRyZWVWaWV3TW9kdWxlLFxyXG4gICAgTnpUcmVlVmlld01vZHVsZSxcclxuICAgIE56RHJhd2VyTW9kdWxlLFxyXG4gICAgTnpUcmVlTW9kdWxlLFxyXG4gICAgTnpTa2VsZXRvbk1vZHVsZSxcclxuICAgIE56U3dpdGNoTW9kdWxlLFxyXG4gICAgTnpTdGVwc01vZHVsZSxcclxuICAgIE56RGl2aWRlck1vZHVsZSxcclxuICAgIE56VHJhbnNmZXJNb2R1bGUsXHJcbiAgICBOekNoZWNrYm94TW9kdWxlLFxyXG4gICAgTnpVcGxvYWRNb2R1bGUsXHJcbiAgICBOekRyb3BEb3duTW9kdWxlLFxyXG4gICAgTnpUYWJzTW9kdWxlLFxyXG4gICAgTnpUeXBvZ3JhcGh5TW9kdWxlLFxyXG4gICAgTnpQb3Bjb25maXJtTW9kdWxlLFxyXG4gICAgTnpTdGF0aXN0aWNNb2R1bGUsXHJcbiAgICBOelBhZ2VIZWFkZXJNb2R1bGUsXHJcbiAgICBOelNsaWRlck1vZHVsZSxcclxuICAgIE56SWNvbk1vZHVsZS5mb3JSb290KGljb25zKSxcclxuICAgIE56QnJlYWRDcnVtYk1vZHVsZSxcclxuICAgIE56UmVzaXphYmxlTW9kdWxlLFxyXG4gICAgTnpQb3BvdmVyTW9kdWxlLFxyXG4gICAgTnpQcm9ncmVzc01vZHVsZSxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIEltcG9ydFRhYmxlRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgSW1wb3J0VGFibGVMaXN0Q29tcG9uZW50LFxyXG4gICAgSW1wb3J0VGFibGVEYXRhQ29tcG9uZW50XHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNpb25EYXRhSW1wb3J0TW9kdWxlIHt9XHJcbiJdfQ==
@@ -0,0 +1,18 @@
1
+ export class UrlUtil {
2
+ }
3
+ UrlUtil.baseUrl = "../";
4
+ /**
5
+ *
6
+ */
7
+ UrlUtil.importSave = UrlUtil.baseUrl + "dataImports/addTable";
8
+ UrlUtil.getDbType = UrlUtil.baseUrl + "dataImports/getDbType"; //获取当前数据库类型
9
+ UrlUtil.listColumnType = UrlUtil.baseUrl + "dataImports/listColumnType"; // 参数 数据库类型
10
+ UrlUtil.uploadFile = UrlUtil.baseUrl + "dataImports/uploadFile";
11
+ UrlUtil.downLoadFile = UrlUtil.baseUrl + "dataImports/downLoadFile";
12
+ UrlUtil.regFields = UrlUtil.baseUrl + "dataImports/regFields"; //根据文件,和 文件类型, 数据库类型 getDbType, 识别列头
13
+ UrlUtil.findColumnById = UrlUtil.baseUrl + "dataImports/findColumnById";
14
+ UrlUtil.listData = UrlUtil.baseUrl + "dataImports/listData"; //根据tableID 查询 数据
15
+ UrlUtil.listTable = UrlUtil.baseUrl + "dataImports/listTable";
16
+ UrlUtil.updateTable = UrlUtil.baseUrl + "dataImports/updateTable";
17
+ UrlUtil.removeTable = UrlUtil.baseUrl + "dataImports/removeTable";
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2lvbi1kYXRhLWltcG9ydC9zcmMvbGliL3V0aWxzL3VybHV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLE9BQU87O0FBQ1gsZUFBTyxHQUFHLEtBQUssQ0FBQztBQUV2Qjs7R0FFRztBQUNJLGtCQUFVLEdBQUksT0FBTyxDQUFDLE9BQU8sR0FBRyxzQkFBc0IsQ0FBQTtBQUN0RCxpQkFBUyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEdBQUcsdUJBQXVCLENBQUEsQ0FBQSxXQUFXO0FBQ2hFLHNCQUFjLEdBQUcsT0FBTyxDQUFDLE9BQU8sR0FBRyw0QkFBNEIsQ0FBQSxDQUFBLFlBQVk7QUFDM0Usa0JBQVUsR0FBRyxPQUFPLENBQUMsT0FBTyxHQUFHLHdCQUF3QixDQUFBO0FBQ3ZELG9CQUFZLEdBQUcsT0FBTyxDQUFDLE9BQU8sR0FBRywwQkFBMEIsQ0FBQTtBQUMzRCxpQkFBUyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEdBQUcsdUJBQXVCLENBQUEsQ0FBQSxvQ0FBb0M7QUFDekYsc0JBQWMsR0FBRyxPQUFPLENBQUMsT0FBTyxHQUFHLDRCQUE0QixDQUFBO0FBQy9ELGdCQUFRLEdBQUcsT0FBTyxDQUFDLE9BQU8sR0FBRyxzQkFBc0IsQ0FBQSxDQUFBLGlCQUFpQjtBQUNwRSxpQkFBUyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEdBQUcsdUJBQXVCLENBQUE7QUFDckQsbUJBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxHQUFHLHlCQUF5QixDQUFBO0FBQ3pELG1CQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sR0FBRyx5QkFBeUIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBVcmxVdGlsIHtcclxuICBzdGF0aWMgYmFzZVVybCA9IFwiLi4vXCI7XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICovXHJcbiAgc3RhdGljIGltcG9ydFNhdmUgID0gVXJsVXRpbC5iYXNlVXJsICsgXCJkYXRhSW1wb3J0cy9hZGRUYWJsZVwiXHJcbiAgc3RhdGljIGdldERiVHlwZSA9IFVybFV0aWwuYmFzZVVybCArIFwiZGF0YUltcG9ydHMvZ2V0RGJUeXBlXCIvL+iOt+WPluW9k+WJjeaVsOaNruW6k+exu+Wei1xyXG4gIHN0YXRpYyBsaXN0Q29sdW1uVHlwZSA9IFVybFV0aWwuYmFzZVVybCArIFwiZGF0YUltcG9ydHMvbGlzdENvbHVtblR5cGVcIi8vIOWPguaVsCAg5pWw5o2u5bqT57G75Z6LXHJcbiAgc3RhdGljIHVwbG9hZEZpbGUgPSBVcmxVdGlsLmJhc2VVcmwgKyBcImRhdGFJbXBvcnRzL3VwbG9hZEZpbGVcIlxyXG4gIHN0YXRpYyBkb3duTG9hZEZpbGUgPSBVcmxVdGlsLmJhc2VVcmwgKyBcImRhdGFJbXBvcnRzL2Rvd25Mb2FkRmlsZVwiXHJcbiAgc3RhdGljIHJlZ0ZpZWxkcyA9IFVybFV0aWwuYmFzZVVybCArIFwiZGF0YUltcG9ydHMvcmVnRmllbGRzXCIvL+agueaNruaWh+S7tu+8jOWSjCDmlofku7bnsbvlnovvvIwg5pWw5o2u5bqT57G75Z6LIGdldERiVHlwZe+8jCDor4bliKvliJflpLRcclxuICBzdGF0aWMgZmluZENvbHVtbkJ5SWQgPSBVcmxVdGlsLmJhc2VVcmwgKyBcImRhdGFJbXBvcnRzL2ZpbmRDb2x1bW5CeUlkXCJcclxuICBzdGF0aWMgbGlzdERhdGEgPSBVcmxVdGlsLmJhc2VVcmwgKyBcImRhdGFJbXBvcnRzL2xpc3REYXRhXCIvL+agueaNrnRhYmxlSUQg5p+l6K+iIOaVsOaNrlxyXG4gIHN0YXRpYyBsaXN0VGFibGUgPSBVcmxVdGlsLmJhc2VVcmwgKyBcImRhdGFJbXBvcnRzL2xpc3RUYWJsZVwiXHJcbiAgc3RhdGljIHVwZGF0ZVRhYmxlID0gVXJsVXRpbC5iYXNlVXJsICsgXCJkYXRhSW1wb3J0cy91cGRhdGVUYWJsZVwiXHJcbiAgc3RhdGljIHJlbW92ZVRhYmxlID0gVXJsVXRpbC5iYXNlVXJsICsgXCJkYXRhSW1wb3J0cy9yZW1vdmVUYWJsZVwiXHJcblxyXG5cclxufVxyXG4iXX0=
@@ -0,0 +1,129 @@
1
+ import { formatDate } from "@angular/common";
2
+ export class Utils {
3
+ static getId() {
4
+ let left = Math.round(Math.random() * 10000000000);
5
+ const length = left.toString().length;
6
+ for (let i = length; i < 10; i++) {
7
+ left = left * 10;
8
+ }
9
+ let idStr = Date.now().toString(12);
10
+ idStr += left.toString(36).substr(3);
11
+ return idStr;
12
+ }
13
+ // // 生成mongodb id字符串
14
+ // public static getObjectId(){
15
+ // // 生成ObjectId
16
+ // const objectId:any = new ObjectId();
17
+ // let idStr:string = objectId.toString();
18
+ // return idStr;
19
+ // }
20
+ static copy(from, to) {
21
+ return Object.assign(to, from);
22
+ }
23
+ static deepCopyArr(obj) {
24
+ // 只拷贝对象
25
+ if (typeof obj !== 'object')
26
+ return;
27
+ // 根据obj的类型判断是新建一个数组还是一个对象
28
+ const newObj = obj instanceof Array ? [] : {};
29
+ for (const key in obj) {
30
+ // 遍历obj,并且判断是obj的属性才拷贝
31
+ if (obj.hasOwnProperty(key)) {
32
+ // 判断属性值的类型,如果是对象递归调用深拷贝
33
+ // newObj[key] = typeof obj[key] === 'object' ? me.deepCopyArr(obj[key]) : obj[key];
34
+ newObj[key] = ((obj[key] != null) && (typeof obj[key] === 'object')) ? this.deepCopyArr(obj[key]) : obj[key];
35
+ }
36
+ }
37
+ return newObj;
38
+ }
39
+ static StrToDate(str, dateType) {
40
+ let res = undefined;
41
+ if (str && dateType === 'Date') {
42
+ if (str.length === 10) {
43
+ const sdate = str.split('-');
44
+ if (sdate.length === 3) {
45
+ res = new Date(parseInt(sdate[0]), parseInt(sdate[1]) - 1, parseInt(sdate[2]));
46
+ }
47
+ }
48
+ }
49
+ else if (str && dateType === 'Time') {
50
+ if (str.length === 8) {
51
+ const sdate = str.split(':');
52
+ if (sdate.length === 3) {
53
+ res = new Date();
54
+ res.setHours(parseInt(sdate[0]));
55
+ res.setMinutes(parseInt(sdate[1]));
56
+ res.setSeconds(parseInt(sdate[2]));
57
+ }
58
+ }
59
+ }
60
+ else if (str && dateType === 'DateTime') {
61
+ if (str.length === 19) {
62
+ const sdate = str.split(' ');
63
+ if (sdate.length === 2) {
64
+ const sdateD = sdate[0].split('-');
65
+ const sdateT = sdate[1].split(':');
66
+ if (sdateD.length === 3 && sdateT.length === 3) {
67
+ res = new Date(parseInt(sdateD[0]), parseInt(sdateD[1]) - 1, parseInt(sdateD[2]), parseInt(sdateT[0]), parseInt(sdateT[1]), parseInt(sdateT[2]));
68
+ }
69
+ }
70
+ }
71
+ }
72
+ return res;
73
+ }
74
+ //local是在组件中注入的字段
75
+ //@Inject(LOCALE_ID) private locale: string
76
+ static DateToStr(date, dateType, locale) {
77
+ let res = undefined;
78
+ if (date && dateType === 'Date') {
79
+ res = formatDate(date, 'yyyy-MM-dd', locale);
80
+ }
81
+ else if (date && dateType === 'Time') {
82
+ res = formatDate(date, 'HH:mm:ss', locale);
83
+ }
84
+ else if (date && dateType === 'DateTime') {
85
+ res = formatDate(date, 'yyyy-MM-dd HH:mm:ss', locale);
86
+ }
87
+ return res;
88
+ }
89
+ // 计算页面的实际高度,iframe自适应会用到
90
+ static calcPageHeight(doc) {
91
+ // let cHeight = Math.max(doc.body.clientHeight, doc.documentElement.clientHeight);
92
+ // let sHeight = Math.max(doc.body.scrollHeight, doc.documentElement.scrollHeight);
93
+ // let height = Math.max(cHeight, sHeight);
94
+ const height = Math.max(doc.body.clientHeight, doc.body.scrollHeight);
95
+ return height;
96
+ }
97
+ //计算gateway的表达式是否为真,rec为包含gateway的对象
98
+ static validateModel(values, rec) {
99
+ if (!rec.gateway) {
100
+ return true;
101
+ }
102
+ const formula = rec.gateway.formula;
103
+ if (!formula || formula === "") {
104
+ return true;
105
+ }
106
+ for (const i in values) {
107
+ eval("var " + i + " = '" + values[i] + "';");
108
+ }
109
+ const valid = eval(formula);
110
+ return valid;
111
+ }
112
+ //计算gateway的表达式是否为真,rec为包含gateway的对象
113
+ static validateModelPassFalse(values, rec) {
114
+ if (!rec.gateway) {
115
+ return true;
116
+ }
117
+ const formula = rec.gateway.formula;
118
+ if (!formula || formula === "") {
119
+ return true;
120
+ }
121
+ const newformula = formula.replace("(false)", "(true)");
122
+ for (const i in values) {
123
+ eval("var " + i + " = '" + values[i] + "';");
124
+ }
125
+ const valid = eval(newformula);
126
+ return valid;
127
+ }
128
+ }
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2lvbi1kYXRhLWltcG9ydC9zcmMvbGliL3V0aWxzL3V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzdDLE1BQU0sT0FBTyxLQUFLO0lBQ1QsTUFBTSxDQUFDLEtBQUs7UUFDakIsSUFBSSxJQUFJLEdBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQztRQUN0QyxLQUFJLElBQUksQ0FBQyxHQUFHLE1BQU0sRUFBRyxDQUFDLEdBQUMsRUFBRSxFQUFHLENBQUMsRUFBRSxFQUFDO1lBQzlCLElBQUksR0FBRyxJQUFJLEdBQUUsRUFBRSxDQUFDO1NBQ2pCO1FBQ0QsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNwQyxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQscUJBQXFCO0lBQ3JCLCtCQUErQjtJQUMvQixrQkFBa0I7SUFDbEIseUNBQXlDO0lBQ3pDLDRDQUE0QztJQUM1QyxrQkFBa0I7SUFDbEIsSUFBSTtJQUVHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBVSxFQUFFLEVBQU07UUFDbkMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU0sTUFBTSxDQUFDLFdBQVcsQ0FBRSxHQUFRO1FBQ2pDLFFBQVE7UUFDUixJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVE7WUFBRSxPQUFPO1FBQ3BDLDBCQUEwQjtRQUMxQixNQUFNLE1BQU0sR0FBTyxHQUFHLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNsRCxLQUFLLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBRTtZQUNyQix1QkFBdUI7WUFDdkIsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUMzQix3QkFBd0I7Z0JBQ3hCLG9GQUFvRjtnQkFDcEYsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUUsSUFBSSxDQUFDLElBQUUsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDMUc7U0FDRjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQVUsRUFBRSxRQUFlO1FBQ2pELElBQUksR0FBRyxHQUFHLFNBQVMsQ0FBQztRQUVwQixJQUFHLEdBQUcsSUFBSSxRQUFRLEtBQUssTUFBTSxFQUFDO1lBQzVCLElBQUcsR0FBRyxDQUFDLE1BQU0sS0FBSyxFQUFFLEVBQUM7Z0JBQ25CLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzdCLElBQUcsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUM7b0JBQ3BCLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDOUU7YUFDRjtTQUNGO2FBQ0ksSUFBRyxHQUFHLElBQUksUUFBUSxLQUFLLE1BQU0sRUFBQztZQUNqQyxJQUFHLEdBQUcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFDO2dCQUNsQixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM3QixJQUFHLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFDO29CQUNwQixHQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztvQkFDakIsR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDakMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDbkMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDcEM7YUFDRjtTQUNGO2FBQ0ksSUFBRyxHQUFHLElBQUksUUFBUSxLQUFLLFVBQVUsRUFBQztZQUNyQyxJQUFHLEdBQUcsQ0FBQyxNQUFNLEtBQUssRUFBRSxFQUFDO2dCQUNuQixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM3QixJQUFHLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFDO29CQUNwQixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNuQyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNuQyxJQUFHLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFDO3dCQUM1QyxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQ2hKO2lCQUNGO2FBQ0Y7U0FDRjtRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELGlCQUFpQjtJQUNqQiwyQ0FBMkM7SUFDcEMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFTLEVBQUUsUUFBZSxFQUFDLE1BQWM7UUFDL0QsSUFBSSxHQUFHLEdBQUcsU0FBUyxDQUFDO1FBRXBCLElBQUcsSUFBSSxJQUFJLFFBQVEsS0FBSyxNQUFNLEVBQUM7WUFDN0IsR0FBRyxHQUFHLFVBQVUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQzlDO2FBQ0ksSUFBRyxJQUFJLElBQUksUUFBUSxLQUFLLE1BQU0sRUFBQztZQUNsQyxHQUFHLEdBQUcsVUFBVSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDNUM7YUFDSSxJQUFHLElBQUksSUFBSSxRQUFRLEtBQUssVUFBVSxFQUFDO1lBQ3RDLEdBQUcsR0FBRyxVQUFVLENBQUMsSUFBSSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ3ZEO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQseUJBQXlCO0lBQ2xCLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBUztRQUNwQyxtRkFBbUY7UUFDbkYsbUZBQW1GO1FBQ25GLDRDQUE0QztRQUM1QyxNQUFNLE1BQU0sR0FBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdkUsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELG9DQUFvQztJQUM3QixNQUFNLENBQUMsYUFBYSxDQUFDLE1BQVUsRUFBRSxHQUFPO1FBQzdDLElBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFDO1lBQ2QsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxLQUFLLEVBQUUsRUFBRTtZQUM5QixPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsS0FBTSxNQUFNLENBQUMsSUFBSSxNQUFNLEVBQUU7WUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztTQUM5QztRQUNELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxvQ0FBb0M7SUFDN0IsTUFBTSxDQUFDLHNCQUFzQixDQUFDLE1BQVUsRUFBRSxHQUFPO1FBQ3RELElBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFDO1lBQ2QsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxLQUFLLEVBQUUsRUFBRTtZQUM5QixPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkQsS0FBTSxNQUFNLENBQUMsSUFBSSxNQUFNLEVBQUU7WUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztTQUM5QztRQUNELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZvcm1hdERhdGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCBtb25nb29zZSBmcm9tICdtb25nb29zZSdcclxuXHJcbmV4cG9ydCBjbGFzcyBVdGlscyB7XHJcbiAgcHVibGljIHN0YXRpYyBnZXRJZCgpe1xyXG4gICAgbGV0IGxlZnQgID0gTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpKjEwMDAwMDAwMDAwKTtcclxuICAgIGNvbnN0IGxlbmd0aCA9IGxlZnQudG9TdHJpbmcoKS5sZW5ndGg7XHJcbiAgICBmb3IobGV0IGkgPSBsZW5ndGggOyBpPDEwIDsgaSsrKXtcclxuICAgICAgbGVmdCA9IGxlZnQgKjEwO1xyXG4gICAgfVxyXG4gICAgbGV0IGlkU3RyID0gRGF0ZS5ub3coKS50b1N0cmluZygxMik7XHJcbiAgICBpZFN0ciArPSBsZWZ0LnRvU3RyaW5nKDM2KS5zdWJzdHIoMyk7XHJcbiAgICByZXR1cm4gaWRTdHI7XHJcbiAgfVxyXG5cclxuICAvLyAvLyDnlJ/miJBtb25nb2RiIGlk5a2X56ym5LiyXHJcbiAgLy8gcHVibGljIHN0YXRpYyBnZXRPYmplY3RJZCgpe1xyXG4gIC8vICAgLy8g55Sf5oiQT2JqZWN0SWRcclxuICAvLyAgIGNvbnN0IG9iamVjdElkOmFueSA9IG5ldyBPYmplY3RJZCgpO1xyXG4gIC8vICAgbGV0IGlkU3RyOnN0cmluZyA9IG9iamVjdElkLnRvU3RyaW5nKCk7XHJcbiAgLy8gICByZXR1cm4gaWRTdHI7XHJcbiAgLy8gfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGNvcHkoZnJvbSA6IGFueSAsdG86YW55KXtcclxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHRvLGZyb20pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBkZWVwQ29weUFyciAob2JqIDphbnkpIHtcclxuICAgIC8vIOWPquaLt+i0neWvueixoVxyXG4gICAgaWYgKHR5cGVvZiBvYmogIT09ICdvYmplY3QnKSByZXR1cm47XHJcbiAgICAvLyDmoLnmja5vYmrnmoTnsbvlnovliKTmlq3mmK/mlrDlu7rkuIDkuKrmlbDnu4Tov5jmmK/kuIDkuKrlr7nosaFcclxuICAgIGNvbnN0IG5ld09iajphbnkgPSBvYmogaW5zdGFuY2VvZiBBcnJheSA/IFtdIDoge307XHJcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBvYmopIHtcclxuICAgICAgLy8g6YGN5Y6Gb2JqLOW5tuS4lOWIpOaWreaYr29iaueahOWxnuaAp+aJjeaLt+i0nVxyXG4gICAgICBpZiAob2JqLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICAvLyDliKTmlq3lsZ7mgKflgLznmoTnsbvlnovvvIzlpoLmnpzmmK/lr7nosaHpgJLlvZLosIPnlKjmt7Hmi7fotJ1cclxuICAgICAgICAvLyBuZXdPYmpba2V5XSA9IHR5cGVvZiBvYmpba2V5XSA9PT0gJ29iamVjdCcgPyBtZS5kZWVwQ29weUFycihvYmpba2V5XSkgOiBvYmpba2V5XTtcclxuICAgICAgICBuZXdPYmpba2V5XSA9ICgob2JqW2tleV0hPW51bGwpJiYodHlwZW9mIG9ialtrZXldID09PSAnb2JqZWN0JykpID8gdGhpcy5kZWVwQ29weUFycihvYmpba2V5XSkgOiBvYmpba2V5XTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG5ld09iajtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgU3RyVG9EYXRlKHN0cjpzdHJpbmcsIGRhdGVUeXBlOnN0cmluZyl7XHJcbiAgICBsZXQgcmVzID0gdW5kZWZpbmVkO1xyXG5cclxuICAgIGlmKHN0ciAmJiBkYXRlVHlwZSA9PT0gJ0RhdGUnKXtcclxuICAgICAgaWYoc3RyLmxlbmd0aCA9PT0gMTApe1xyXG4gICAgICAgIGNvbnN0IHNkYXRlID0gc3RyLnNwbGl0KCctJyk7XHJcbiAgICAgICAgaWYoc2RhdGUubGVuZ3RoID09PSAzKXtcclxuICAgICAgICAgIHJlcyA9IG5ldyBEYXRlKHBhcnNlSW50KHNkYXRlWzBdKSwgcGFyc2VJbnQoc2RhdGVbMV0pLTEsIHBhcnNlSW50KHNkYXRlWzJdKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmKHN0ciAmJiBkYXRlVHlwZSA9PT0gJ1RpbWUnKXtcclxuICAgICAgaWYoc3RyLmxlbmd0aCA9PT0gOCl7XHJcbiAgICAgICAgY29uc3Qgc2RhdGUgPSBzdHIuc3BsaXQoJzonKTtcclxuICAgICAgICBpZihzZGF0ZS5sZW5ndGggPT09IDMpe1xyXG4gICAgICAgICAgcmVzID0gbmV3IERhdGUoKTtcclxuICAgICAgICAgIHJlcy5zZXRIb3VycyhwYXJzZUludChzZGF0ZVswXSkpO1xyXG4gICAgICAgICAgcmVzLnNldE1pbnV0ZXMocGFyc2VJbnQoc2RhdGVbMV0pKTtcclxuICAgICAgICAgIHJlcy5zZXRTZWNvbmRzKHBhcnNlSW50KHNkYXRlWzJdKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmKHN0ciAmJiBkYXRlVHlwZSA9PT0gJ0RhdGVUaW1lJyl7XHJcbiAgICAgIGlmKHN0ci5sZW5ndGggPT09IDE5KXtcclxuICAgICAgICBjb25zdCBzZGF0ZSA9IHN0ci5zcGxpdCgnICcpO1xyXG4gICAgICAgIGlmKHNkYXRlLmxlbmd0aCA9PT0gMil7XHJcbiAgICAgICAgICBjb25zdCBzZGF0ZUQgPSBzZGF0ZVswXS5zcGxpdCgnLScpO1xyXG4gICAgICAgICAgY29uc3Qgc2RhdGVUID0gc2RhdGVbMV0uc3BsaXQoJzonKTtcclxuICAgICAgICAgIGlmKHNkYXRlRC5sZW5ndGggPT09IDMgJiYgc2RhdGVULmxlbmd0aCA9PT0gMyl7XHJcbiAgICAgICAgICAgIHJlcyA9IG5ldyBEYXRlKHBhcnNlSW50KHNkYXRlRFswXSksIHBhcnNlSW50KHNkYXRlRFsxXSktMSwgcGFyc2VJbnQoc2RhdGVEWzJdKSwgcGFyc2VJbnQoc2RhdGVUWzBdKSwgcGFyc2VJbnQoc2RhdGVUWzFdKSwgcGFyc2VJbnQoc2RhdGVUWzJdKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJlcztcclxuICB9XHJcblxyXG4gIC8vbG9jYWzmmK/lnKjnu4Tku7bkuK3ms6jlhaXnmoTlrZfmrrVcclxuICAvL0BJbmplY3QoTE9DQUxFX0lEKSBwcml2YXRlIGxvY2FsZTogc3RyaW5nXHJcbiAgcHVibGljIHN0YXRpYyBEYXRlVG9TdHIoZGF0ZTpEYXRlLCBkYXRlVHlwZTpzdHJpbmcsbG9jYWxlOiBzdHJpbmcpe1xyXG4gICAgbGV0IHJlcyA9IHVuZGVmaW5lZDtcclxuXHJcbiAgICBpZihkYXRlICYmIGRhdGVUeXBlID09PSAnRGF0ZScpe1xyXG4gICAgICByZXMgPSBmb3JtYXREYXRlKGRhdGUsICd5eXl5LU1NLWRkJywgbG9jYWxlKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYoZGF0ZSAmJiBkYXRlVHlwZSA9PT0gJ1RpbWUnKXtcclxuICAgICAgcmVzID0gZm9ybWF0RGF0ZShkYXRlLCAnSEg6bW06c3MnLCBsb2NhbGUpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZihkYXRlICYmIGRhdGVUeXBlID09PSAnRGF0ZVRpbWUnKXtcclxuICAgICAgcmVzID0gZm9ybWF0RGF0ZShkYXRlLCAneXl5eS1NTS1kZCBISDptbTpzcycsIGxvY2FsZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJlcztcclxuICB9XHJcblxyXG4gIC8vIOiuoeeul+mhtemdoueahOWunumZhemrmOW6pu+8jGlmcmFtZeiHqumAguW6lOS8mueUqOWIsFxyXG4gIHB1YmxpYyBzdGF0aWMgY2FsY1BhZ2VIZWlnaHQoZG9jIDogYW55KSB7XHJcbiAgICAvLyBsZXQgY0hlaWdodCA9IE1hdGgubWF4KGRvYy5ib2R5LmNsaWVudEhlaWdodCwgZG9jLmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQpO1xyXG4gICAgLy8gbGV0IHNIZWlnaHQgPSBNYXRoLm1heChkb2MuYm9keS5zY3JvbGxIZWlnaHQsIGRvYy5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0KTtcclxuICAgIC8vIGxldCBoZWlnaHQgID0gTWF0aC5tYXgoY0hlaWdodCwgc0hlaWdodCk7XHJcbiAgICBjb25zdCBoZWlnaHQgID0gTWF0aC5tYXgoZG9jLmJvZHkuY2xpZW50SGVpZ2h0LCBkb2MuYm9keS5zY3JvbGxIZWlnaHQpO1xyXG4gICAgcmV0dXJuIGhlaWdodDtcclxuICB9XHJcblxyXG4gIC8v6K6h566XZ2F0ZXdheeeahOihqOi+vuW8j+aYr+WQpuS4uuecn++8jHJlY+S4uuWMheWQq2dhdGV3YXnnmoTlr7nosaFcclxuICBwdWJsaWMgc3RhdGljIHZhbGlkYXRlTW9kZWwodmFsdWVzOmFueSwgcmVjOmFueSkge1xyXG4gICAgaWYoIXJlYy5nYXRld2F5KXtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICBjb25zdCBmb3JtdWxhID0gcmVjLmdhdGV3YXkuZm9ybXVsYTtcclxuICAgIGlmICghZm9ybXVsYSB8fCBmb3JtdWxhID09PSBcIlwiKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgZm9yICggY29uc3QgaSBpbiB2YWx1ZXMpIHtcclxuICAgICAgZXZhbChcInZhciBcIiArIGkgKyBcIiA9ICdcIiArIHZhbHVlc1tpXSArIFwiJztcIik7XHJcbiAgICB9XHJcbiAgICBjb25zdCB2YWxpZCA9IGV2YWwoZm9ybXVsYSk7XHJcbiAgICByZXR1cm4gdmFsaWQ7XHJcbiAgfVxyXG5cclxuICAvL+iuoeeul2dhdGV3YXnnmoTooajovr7lvI/mmK/lkKbkuLrnnJ/vvIxyZWPkuLrljIXlkKtnYXRld2F555qE5a+56LGhXHJcbiAgcHVibGljIHN0YXRpYyB2YWxpZGF0ZU1vZGVsUGFzc0ZhbHNlKHZhbHVlczphbnksIHJlYzphbnkpIHtcclxuICAgIGlmKCFyZWMuZ2F0ZXdheSl7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZm9ybXVsYSA9IHJlYy5nYXRld2F5LmZvcm11bGE7XHJcbiAgICBpZiAoIWZvcm11bGEgfHwgZm9ybXVsYSA9PT0gXCJcIikge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGNvbnN0IG5ld2Zvcm11bGEgPSBmb3JtdWxhLnJlcGxhY2UoXCIoZmFsc2UpXCIsXCIodHJ1ZSlcIik7XHJcbiAgICBmb3IgKCBjb25zdCBpIGluIHZhbHVlcykge1xyXG4gICAgICBldmFsKFwidmFyIFwiICsgaSArIFwiID0gJ1wiICsgdmFsdWVzW2ldICsgXCInO1wiKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHZhbGlkID0gZXZhbChuZXdmb3JtdWxhKTtcclxuICAgIHJldHVybiB2YWxpZDtcclxuICB9XHJcbn1cclxuIl19