@pepperi-addons/ngx-composite-lib 0.0.13-beta.8 → 0.0.13-beta.9
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/bundles/pepperi-addons-ngx-composite-lib-dimx-export.umd.js +8 -16
- package/bundles/pepperi-addons-ngx-composite-lib-dimx-export.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-composite-lib-file-status-panel.umd.js +11 -7
- package/bundles/pepperi-addons-ngx-composite-lib-file-status-panel.umd.js.map +1 -1
- package/dimx-export/dimx.component.d.ts +4 -4
- package/dimx-export/dimx.model.d.ts +3 -11
- package/esm2015/dimx-export/dimx.component.js +2 -2
- package/esm2015/dimx-export/dimx.model.js +4 -11
- package/esm2015/dimx-export/index.js +2 -2
- package/esm2015/dimx-export/public-api.js +2 -2
- package/esm2015/file-status-panel/file-status-panel.component.js +8 -5
- package/esm2015/file-status-panel/file-status-panel.model.js +3 -2
- package/fesm2015/pepperi-addons-ngx-composite-lib-dimx-export.js +6 -14
- package/fesm2015/pepperi-addons-ngx-composite-lib-dimx-export.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-composite-lib-file-status-panel.js +10 -6
- package/fesm2015/pepperi-addons-ngx-composite-lib-file-status-panel.js.map +1 -1
- package/file-status-panel/file-status-panel.component.d.ts +6 -5
- package/file-status-panel/file-status-panel.model.d.ts +4 -3
- package/package.json +1 -1
|
@@ -767,7 +767,7 @@
|
|
|
767
767
|
return DIMXComponent;
|
|
768
768
|
}());
|
|
769
769
|
DIMXComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0__namespace, type: DIMXComponent, deps: [{ token: i1__namespace$1.TranslateService }, { token: DIMXService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
770
|
-
DIMXComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: DIMXComponent, selector: "pep-dimx", inputs: { DIMXAddonUUID: "DIMXAddonUUID", DIMXResource: "DIMXResource" }, outputs: { DIMXProcessDone: "DIMXProcessDone" }, viewQueries: [{ propertyName: "fileField", first: true, predicate: ["fileField"], descendants: true }], ngImport: i0__namespace, template: "<pep-file-status-panel [title]=\"'File Imports/Exports'\" *ngIf=\"iFileArray?.length\" [filesList]=\"iFileArray\"></pep-file-status-panel>\n<input type=\"file\" multiple=\"multiple\" name=\"avatars\" id=\"fileuploader\" #fileField (change)=\"dimximportrun($event)\">\n<!-- <pep-button\n value=\"export\"\n styleType=\"strong\"\n styleStateType=\"success\"\n sizeType=\"sm\"\n classNames=\"hahah\"\n iconName=\"system_doc\"\n (buttonClick)=\"buttonClick($event)\"\n></pep-button> -->", styles: ["#fileuploader{display:none}:host{width:100%}:host .shadow-size-group,:host .shadow-type-group{display:block;margin-bottom:var(--pep-form-spacing, 1rem)}\n"], components: [{ type: i3__namespace.FileStatusPanelComponent, selector: "pep-file-status-panel", inputs: ["title", "filesList"] }], directives: [{ type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
770
|
+
DIMXComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: DIMXComponent, selector: "pep-dimx", inputs: { DIMXAddonUUID: "DIMXAddonUUID", DIMXResource: "DIMXResource" }, outputs: { DIMXProcessDone: "DIMXProcessDone" }, viewQueries: [{ propertyName: "fileField", first: true, predicate: ["fileField"], descendants: true }], ngImport: i0__namespace, template: "<pep-file-status-panel [title]=\"'File Imports/Exports'\" *ngIf=\"iFileArray?.length\" [filesList]=\"iFileArray\"></pep-file-status-panel>\n<input type=\"file\" multiple=\"multiple\" name=\"avatars\" id=\"fileuploader\" #fileField (change)=\"dimximportrun($event)\">\n<!-- <pep-button\n value=\"export\"\n styleType=\"strong\"\n styleStateType=\"success\"\n sizeType=\"sm\"\n classNames=\"hahah\"\n iconName=\"system_doc\"\n (buttonClick)=\"buttonClick($event)\"\n></pep-button> -->", styles: ["#fileuploader{display:none}:host{width:100%}:host .shadow-size-group,:host .shadow-type-group{display:block;margin-bottom:var(--pep-form-spacing, 1rem)}\n"], components: [{ type: i3__namespace.FileStatusPanelComponent, selector: "pep-file-status-panel", inputs: ["title", "filesList"], outputs: ["closeClick"] }], directives: [{ type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
771
771
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0__namespace, type: DIMXComponent, decorators: [{
|
|
772
772
|
type: i0.Component,
|
|
773
773
|
args: [{
|
|
@@ -826,25 +826,18 @@
|
|
|
826
826
|
}]
|
|
827
827
|
}], ctorParameters: function () { return [{ type: i1__namespace$2.PepIconRegistry }]; } });
|
|
828
828
|
|
|
829
|
-
var
|
|
830
|
-
|
|
831
|
-
this.key = 0;
|
|
832
|
-
this.name = '';
|
|
833
|
-
this.status = 'downloading';
|
|
834
|
-
}
|
|
835
|
-
return IFile;
|
|
836
|
-
}());
|
|
837
|
-
var IFileExt = /** @class */ (function () {
|
|
829
|
+
var IFileExt = /** @class */ (function (_super) {
|
|
830
|
+
__extends(IFileExt, _super);
|
|
838
831
|
function IFileExt() {
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
832
|
+
var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
|
|
833
|
+
_this.status = 'downloading';
|
|
834
|
+
return _this;
|
|
842
835
|
}
|
|
843
836
|
return IFileExt;
|
|
844
|
-
}());
|
|
837
|
+
}(i3.FileStatus));
|
|
845
838
|
|
|
846
839
|
/*
|
|
847
|
-
* Public API Surface of ngx-composite-lib/
|
|
840
|
+
* Public API Surface of ngx-composite-lib/dimx-export
|
|
848
841
|
*/
|
|
849
842
|
|
|
850
843
|
/**
|
|
@@ -852,7 +845,6 @@
|
|
|
852
845
|
*/
|
|
853
846
|
|
|
854
847
|
exports.DIMXComponent = DIMXComponent;
|
|
855
|
-
exports.IFile = IFile;
|
|
856
848
|
exports.IFileExt = IFileExt;
|
|
857
849
|
exports.PepDIMXModule = PepDIMXModule;
|
|
858
850
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pepperi-addons-ngx-composite-lib-dimx-export.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/ngx-composite-lib/dimx-export/dimx.service.ts","../../../projects/ngx-composite-lib/dimx-export/dimx.component.ts","../../../projects/ngx-composite-lib/dimx-export/dimx.component.html","../../../projects/ngx-composite-lib/dimx-export/dimx.module.ts","../../../projects/ngx-composite-lib/dimx-export/dimx.model.ts","../../../projects/ngx-composite-lib/dimx-export/public-api.ts","../../../projects/ngx-composite-lib/dimx-export/pepperi-addons-ngx-composite-lib-dimx-export.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { Observable } from 'rxjs';\nimport jwt from 'jwt-decode';\nimport { PapiClient } from '@pepperi-addons/papi-sdk';\nimport { Injectable } from '@angular/core';\n\nimport {PepHttpService, PepDataConvertorService, PepSessionService} from '@pepperi-addons/ngx-lib';\n\n@Injectable({ providedIn: 'root' })\nexport class DIMXService {\n //tempToken = \"\"\n accessToken = '';\n parsedToken: any\n papiBaseURL = ''\n\n get papiClient(): PapiClient {\n return new PapiClient({\n baseURL: this.papiBaseURL,\n token: this.session.getIdpToken(),\n suppressLogging:true\n })\n }\n\n constructor(\n public session: PepSessionService,\n public pepperiDataConverter: PepDataConvertorService,\n private pepHttp: PepHttpService\n ) {\n //window.sessionStorage.setItem('idp_token',this.tempToken)\n const accessToken = this.session.getIdpToken();\n \n this.parsedToken = jwt(accessToken);\n this.papiBaseURL = this.parsedToken[\"pepperi.baseurl\"]\n }\n\n async get(endpoint: string): Promise<any> {\n return await this.papiClient.get(endpoint);\n }\n\n async post(endpoint: string, body: any): Promise<any> {\n return await this.papiClient.post(endpoint, body);\n }\n\n pepGet(endpoint: string): Observable<any> {\n return this.pepHttp.getPapiApiCall(endpoint);\n }\n\n pepPost(endpoint: string, body: any): Observable<any> {\n return this.pepHttp.postPapiApiCall(endpoint, body);\n }\n\n}\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { IFile } from './dimx.model';\nimport { DIMXService } from './dimx.service';\nimport { saveAs } from 'file-saver';\nimport { PepGuid } from '@pepperi-addons/ngx-lib';\nimport { IFileExt } from '.';\n\n@Component({\n selector: 'pep-dimx',\n templateUrl: './dimx.component.html',\n styleUrls: ['./dimx.component.scss']\n})\nexport class DIMXComponent implements OnInit {\n @ViewChild('fileField') fileField:ElementRef | undefined;\n @Input() DIMXAddonUUID!: string;\n @Input() DIMXResource!: string;\n @Output() DIMXProcessDone: EventEmitter<any> = new EventEmitter();\n dimxImportOptions: { OverwriteOBject?: boolean | undefined; Delimiter?: string | undefined; OwnerID?: string | undefined; ActionID?: string | undefined} | undefined;\n constructor(\n private translate: TranslateService,\n public addonService: DIMXService\n ) {\n\n }\n\n\n ngOnInit(): void { \n // Get the first translation for load all translations.\n this.translate.get('SHADOW_SETTINGS.INTENSITY_SOFT').toPromise().then((typeSoft) => { console.log(\"something\");\n });\n }\n\n getDIMXExportPOSTBody(value:{\n DIMXExportFormat?:string,\n DIMXExportIncludeDeleted?: boolean,\n DIMXExportFileName?: string,\n DIMXExportWhere?: string,\n DIMXExportFields?: string,\n DIMXExportDelimiter?:string\n }){\n return {\n \"Format\":value.DIMXExportFormat,\n \"IncludeDeleted\":value.DIMXExportIncludeDeleted,\n \"Where\":value.DIMXExportWhere,\n \"Fields\":value.DIMXExportFields,\n \"Delimiter\":value.DIMXExportDelimiter\n }\n }\n\n async pollDIMXResult(pollingURL:string, ifile:IFileExt){\n console.log(`polling audit with the executionUUID: ${pollingURL}`);\n const delay = (ms: number) => new Promise(res => setTimeout(res, ms));\n let seconds = 0;\n const waitingTime = 1000; //in ms\n try{\n let result;\n while(true){\n result = await this.addonService.papiClient.get(`/audit_logs/${pollingURL}`);\n \n console.log(`result from auditlog get is: ${result}`);\n if( !result || result[\"Status\"][\"ID\"] === 2 || result[\"Status\"][\"ID\"] === 4){\n console.log(`waited for ${seconds++} seconds`);\n await delay(waitingTime);\n }\n else{\n break;\n }\n }\n switch(result[\"Status\"][\"ID\"]){\n case 0:\n ifile.status = \"failed\";\n ifile.returnedObject = {\"ErrorMessage\": result[\"AuditInfo\"][\"ErrorMessage\"]}\n await this.SendDoneEventIfDone();\n return null;\n case 1:\n console.log(`polling result: ${result[\"AuditInfo\"][\"ResultObject\"]}`);\n return JSON.parse(result[\"AuditInfo\"][\"ResultObject\"]);\n default:\n ifile.status = \"failed\";\n ifile.returnedObject = {\"ErrorMessage\": `unknown audit log type: ${result[\"Status\"]}`}\n await this.SendDoneEventIfDone();\n return null\n }\n }\n catch(ex){\n console.log(`pollDIMXResult: ${ex}`);\n ifile.status = \"failed\";\n ifile.returnedObject = {\"ErrorMessage\": (ex as {message:string}).message}\n await this.SendDoneEventIfDone();\n return null;\n }\n }\n\n getNewFileName(value:{\n DIMXExportFormat:string,\n DIMXExportFileName: string,\n }){\n let extension;\n switch (value.DIMXExportFormat.toLowerCase()){\n case \"json\":\n extension = \".json\";\n break;\n case \"csv\":\n extension = '.csv';\n break;\n default:\n extension = \"\";\n }\n const filename = value.DIMXExportFileName;\n return filename+extension;\n }\n \n iFileID = 0;\n iFileArray:IFileExt[] = [];\n createNewIFile(fileName:string , status:\"downloading\"|\"uploading\"):IFileExt{\n return {\n \"key\":this.iFileID++,\n \"name\":fileName,\n \"status\":status};\n }\n\n async removeIfilesWithDelay(iFile:IFile, delay = 2000) {\n window.setTimeout(() => {\n const index = this.iFileArray.findIndex(element => element === iFile);\n if (index >= 0){\n this.iFileArray.splice(index,1);\n }\n }, delay)\n }\n\n async clearIFilesWithDelay(delay = 2000){\n window.setTimeout(() => {\n this.iFileArray = [];\n }, delay)\n }\n\n\n uploadFile(options?:{OverwriteOBject?:boolean, Delimiter?:string, OwnerID?:string, ActionID?:string}){\n this.dimxImportOptions = options;\n const elem = document.getElementById(\"fileuploader\");\n if(elem && document.createEvent) {\n const evt = document.createEvent(\"MouseEvents\");\n evt.initEvent(\"click\", true, false);\n elem.dispatchEvent(evt);\n }\n // this.fileField?.nativeElement.click();\n } \n\n IsFileInProgress(iFile:IFile){\n return iFile.status == \"downloading\" || iFile.status == \"uploading\";\n }\n\n AnyFilesInProgress(){\n if (this.iFileArray.find(this.IsFileInProgress) === undefined){\n return false;\n }\n return true\n }\n\n GetDoneEventBody(){\n return this.iFileArray.map(iFile => {\n return {\n \"FileName\": iFile.name, \n \"Status\": iFile.status,\n \"ReturnedObject\": iFile.returnedObject!\n }\n });\n }\n\n async SendDoneEventIfDone(){\n if (this.AnyFilesInProgress()){\n return;\n }\n const eventObject:any = this.GetDoneEventBody();\n this.DIMXProcessDone.emit(eventObject);\n await this.clearIFilesWithDelay();\n }\n\n async dimximportrun(e:any) {\n console.log(\"Enter DIMXImportRun\");\n const files = e.target.files;\n const fileListAsArray = Array.from(files);\n fileListAsArray.forEach(async (file, i) => {\n\n const filex = (file as HTMLInputElement);\n const dimx_import_relativeURL = `/addons/api/44c97115-6d14-4626-91dc-83f176e9a0fc/api/file_import_upload`;\n const str = (await this.toBase64(filex)) as string; //???\n const ext = filex.name.split('.')[1];\n const value = {fileStr:str, fileExt:ext}\n const dimxUploadObject = {...this.getPFSUploadObject(value), ...this.dimxImportOptions, Resource:this.DIMXResource, AddonUUID:this.DIMXAddonUUID};\n const iFile:IFileExt = this.createNewIFile(filex.name, \"uploading\");\n console.log(`created new iFile: ${iFile}`);\n this.iFileArray.push(iFile);\n console.log(`added iFile to iFileArray`);\n \n try{\n console.log(\"posting to dimx import_upload now\");\n const header:any = {};\n if(dimxUploadObject.ActionID){\n header[\"X-Pepperi-ActionID\"]=dimxUploadObject.ActionID;\n }\n if(dimxUploadObject.OwnerID){\n header[\"X-Pepperi-OwnerID\"]=dimxUploadObject.OwnerID;\n }\n const res = await this.addonService.papiClient.post(dimx_import_relativeURL, dimxUploadObject, header);\n console.log(\"Got reply from dimx, calling poll with the result:\");\n console.log(JSON.stringify(res));\n\n const poll_result = await this.pollDIMXResult(res['ExecutionUUID'], iFile);\n if (poll_result === null) {\n return;\n }\n console.log(`done polling, got result: ${JSON.stringify(poll_result)}`);\n iFile.status = \"done\";\n iFile.returnedObject = poll_result;\n await this.SendDoneEventIfDone();\n console.log(\"Imported the file\");\n //await this.removeIfileWithDelay(iFile);\n // check all done\n \n\n }\n catch(ex){\n console.log(`DIMXImportRun: ${ex}`);\n iFile.status = \"failed\";\n iFile.returnedObject = {\"ErrorMessage\": (ex as {message:string}).message}\n await this.SendDoneEventIfDone();\n //await this.removeIfileWithDelay(iFile, 2000);\n return;\n }\n \n \n \n });\n }\n getNewPFSUploadKey(fileExt:string){\n const uuid = PepGuid.newGuid();\n const folder = 'DIMX_import';\n const pfsKey = `/${folder}/${uuid}.${fileExt}`;\n return pfsKey;\n }\n getPFSUploadObject(value:{fileStr:string, fileExt:string}){\n const fileStrArr = value.fileStr.split(';');\n const mime = fileStrArr[0].split(':')[1];\n const pfsKey = this.getNewPFSUploadKey(value.fileExt);\n const pfsUploadObject = {\n \"Key\": pfsKey,\n \"MIME\": mime,\n \"URI\":value.fileStr\n }\n return pfsUploadObject;\n }\n\n toBase64 = (file:any) => new Promise((resolve, reject) => {\n\n const reader = new FileReader();\n \n reader.readAsDataURL(file);\n \n reader.onload = () => resolve(reader.result);\n \n reader.onerror = error => reject(error);\n \n });\n\n async DIMXExportRun(value: {\n DIMXExportFormat?:string,\n DIMXExportIncludeDeleted?: boolean,\n DIMXExportFileName?: string,\n DIMXExportWhere?: string,\n DIMXExportFields?: string,\n DIMXExportDelimiter?:string,\n ActionID?:string\n }) {\n if (!value){\n value = {};\n }\n if (!value.DIMXExportFormat){\n value.DIMXExportFormat = 'json';\n }\n if (!value.DIMXExportIncludeDeleted){\n value.DIMXExportIncludeDeleted = false;\n }\n if (!value.DIMXExportFileName){\n value.DIMXExportFileName = 'export';\n }\n const bod = this.getDIMXExportPOSTBody(value ? value : {});\n const fileName = this.getNewFileName(value as {DIMXExportFormat:string, DIMXExportFileName:string});\n const iFile:IFileExt = this.createNewIFile(fileName, \"downloading\");\n console.log(`created new iFile: ${iFile}`);\n this.iFileArray.push(iFile);\n console.log(`added iFile to iFileArray`);\n \n try{\n\n console.log(\"posting to dimx export now\");\n const header:any = {};\n if(value.ActionID){\n header[\"X-Pepperi-ActionID\"]=value.ActionID;\n }\n const res = await this.addonService.papiClient.post(`/addons/data/export/file/${this.DIMXAddonUUID}/${this.DIMXResource}`, bod, header);\n console.log(\"Got reply from dimx, calling poll with the result:\");\n console.log(res);\n const result = await this.pollDIMXResult(res['ExecutionUUID'], iFile);\n if (result === null){\n return \n }\n const url = result[\"DownloadURL\"];\n\n console.log(\"attempting to download the file\");\n console.log(`url is: ${url}`);\n const blob = await fetch(url).then(r => r.blob());\n saveAs(blob, fileName);\n iFile.status = \"done\";\n iFile.returnedObject = result;\n await this.SendDoneEventIfDone();\n console.log(\"downloaded the file\");\n //await this.removeIfileWithDelay(iFile);\n }\n catch(ex){\n iFile.status= \"failed\";\n iFile.returnedObject = {\"ErrorMessage\":(ex as {message:string}).message}\n await this.SendDoneEventIfDone();\n //await this.removeIfileWithDelay(iFile);\n console.log(`buttonClick: ${ex}`);\n return;\n }\n \n }\n\n \n\n \n}\n","<pep-file-status-panel [title]=\"'File Imports/Exports'\" *ngIf=\"iFileArray?.length\" [filesList]=\"iFileArray\"></pep-file-status-panel>\n<input type=\"file\" multiple=\"multiple\" name=\"avatars\" id=\"fileuploader\" #fileField (change)=\"dimximportrun($event)\">\n<!-- <pep-button\n value=\"export\"\n styleType=\"strong\"\n styleStateType=\"success\"\n sizeType=\"sm\"\n classNames=\"hahah\"\n iconName=\"system_doc\"\n (buttonClick)=\"buttonClick($event)\"\n></pep-button> -->","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { DIMXComponent } from './dimx.component';\nimport { PepIconRegistry, pepIconSystemDoc } from '@pepperi-addons/ngx-lib/icon';\nimport { PepButtonModule } from '@pepperi-addons/ngx-lib/button';\nimport { PepIconModule } from '@pepperi-addons/ngx-lib/icon';\nimport { PepFileStatusPanelModule } from '@pepperi-addons/ngx-composite-lib/file-status-panel';\n\nconst pepIcons = [\n pepIconSystemDoc,\n]\n\n@NgModule({\n declarations: [\n DIMXComponent\n ],\n imports: [\n CommonModule,\n PepNgxLibModule,\n PepButtonModule,\n PepIconModule,\n PepFileStatusPanelModule,\n ],\n exports: [DIMXComponent]\n})\nexport class PepDIMXModule { \n constructor(\n private pepIconRegistry: PepIconRegistry,\n ) {\n this.pepIconRegistry.registerIcons(pepIcons);\n }\n\n\n}\n","type fileStatus = 'uploading'|'downloading'|'done'|'failed'|'hidden';\nexport class IFile {\n key = 0;\n name = '';\n status: fileStatus = 'downloading';\n }\nexport class IFileExt {\n key = 0;\n name = '';\n status: fileStatus = 'downloading';\n returnedObject?: any;\n}","/*\n * Public API Surface of ngx-composite-lib/shadow-settings\n */\nexport * from './dimx.module';\nexport * from './dimx.component';\nexport * from './dimx.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["jwt","PapiClient","Injectable","EventEmitter","PepGuid","saveAs","Component","ViewChild","Input","Output","pepIconSystemDoc","CommonModule","PepNgxLibModule","PepButtonModule","PepIconModule","PepFileStatusPanelModule","NgModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pepperi-addons-ngx-composite-lib-dimx-export.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/ngx-composite-lib/dimx-export/dimx.service.ts","../../../projects/ngx-composite-lib/dimx-export/dimx.component.ts","../../../projects/ngx-composite-lib/dimx-export/dimx.component.html","../../../projects/ngx-composite-lib/dimx-export/dimx.module.ts","../../../projects/ngx-composite-lib/dimx-export/dimx.model.ts","../../../projects/ngx-composite-lib/dimx-export/public-api.ts","../../../projects/ngx-composite-lib/dimx-export/pepperi-addons-ngx-composite-lib-dimx-export.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { Observable } from 'rxjs';\nimport jwt from 'jwt-decode';\nimport { PapiClient } from '@pepperi-addons/papi-sdk';\nimport { Injectable } from '@angular/core';\n\nimport {PepHttpService, PepDataConvertorService, PepSessionService} from '@pepperi-addons/ngx-lib';\n\n@Injectable({ providedIn: 'root' })\nexport class DIMXService {\n //tempToken = \"\"\n accessToken = '';\n parsedToken: any\n papiBaseURL = ''\n\n get papiClient(): PapiClient {\n return new PapiClient({\n baseURL: this.papiBaseURL,\n token: this.session.getIdpToken(),\n suppressLogging:true\n })\n }\n\n constructor(\n public session: PepSessionService,\n public pepperiDataConverter: PepDataConvertorService,\n private pepHttp: PepHttpService\n ) {\n //window.sessionStorage.setItem('idp_token',this.tempToken)\n const accessToken = this.session.getIdpToken();\n \n this.parsedToken = jwt(accessToken);\n this.papiBaseURL = this.parsedToken[\"pepperi.baseurl\"]\n }\n\n async get(endpoint: string): Promise<any> {\n return await this.papiClient.get(endpoint);\n }\n\n async post(endpoint: string, body: any): Promise<any> {\n return await this.papiClient.post(endpoint, body);\n }\n\n pepGet(endpoint: string): Observable<any> {\n return this.pepHttp.getPapiApiCall(endpoint);\n }\n\n pepPost(endpoint: string, body: any): Observable<any> {\n return this.pepHttp.postPapiApiCall(endpoint, body);\n }\n\n}\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DIMXService } from './dimx.service';\nimport { saveAs } from 'file-saver';\nimport { PepGuid } from '@pepperi-addons/ngx-lib';\nimport { IFileExt } from '.';\nimport { FileStatus } from '@pepperi-addons/ngx-composite-lib/file-status-panel';\n\n@Component({\n selector: 'pep-dimx',\n templateUrl: './dimx.component.html',\n styleUrls: ['./dimx.component.scss']\n})\nexport class DIMXComponent implements OnInit {\n @ViewChild('fileField') fileField:ElementRef | undefined;\n @Input() DIMXAddonUUID!: string;\n @Input() DIMXResource!: string;\n @Output() DIMXProcessDone: EventEmitter<any> = new EventEmitter();\n dimxImportOptions: { OverwriteOBject?: boolean | undefined; Delimiter?: string | undefined; OwnerID?: string | undefined; ActionID?: string | undefined} | undefined;\n constructor(\n private translate: TranslateService,\n public addonService: DIMXService\n ) {\n\n }\n\n\n ngOnInit(): void { \n // Get the first translation for load all translations.\n this.translate.get('SHADOW_SETTINGS.INTENSITY_SOFT').toPromise().then((typeSoft) => { console.log(\"something\");\n });\n }\n\n getDIMXExportPOSTBody(value:{\n DIMXExportFormat?:string,\n DIMXExportIncludeDeleted?: boolean,\n DIMXExportFileName?: string,\n DIMXExportWhere?: string,\n DIMXExportFields?: string,\n DIMXExportDelimiter?:string\n }){\n return {\n \"Format\":value.DIMXExportFormat,\n \"IncludeDeleted\":value.DIMXExportIncludeDeleted,\n \"Where\":value.DIMXExportWhere,\n \"Fields\":value.DIMXExportFields,\n \"Delimiter\":value.DIMXExportDelimiter\n }\n }\n\n async pollDIMXResult(pollingURL:string, ifile:IFileExt){\n console.log(`polling audit with the executionUUID: ${pollingURL}`);\n const delay = (ms: number) => new Promise(res => setTimeout(res, ms));\n let seconds = 0;\n const waitingTime = 1000; //in ms\n try{\n let result;\n while(true){\n result = await this.addonService.papiClient.get(`/audit_logs/${pollingURL}`);\n \n console.log(`result from auditlog get is: ${result}`);\n if( !result || result[\"Status\"][\"ID\"] === 2 || result[\"Status\"][\"ID\"] === 4){\n console.log(`waited for ${seconds++} seconds`);\n await delay(waitingTime);\n }\n else{\n break;\n }\n }\n switch(result[\"Status\"][\"ID\"]){\n case 0:\n ifile.status = \"failed\";\n ifile.returnedObject = {\"ErrorMessage\": result[\"AuditInfo\"][\"ErrorMessage\"]}\n await this.SendDoneEventIfDone();\n return null;\n case 1:\n console.log(`polling result: ${result[\"AuditInfo\"][\"ResultObject\"]}`);\n return JSON.parse(result[\"AuditInfo\"][\"ResultObject\"]);\n default:\n ifile.status = \"failed\";\n ifile.returnedObject = {\"ErrorMessage\": `unknown audit log type: ${result[\"Status\"]}`}\n await this.SendDoneEventIfDone();\n return null\n }\n }\n catch(ex){\n console.log(`pollDIMXResult: ${ex}`);\n ifile.status = \"failed\";\n ifile.returnedObject = {\"ErrorMessage\": (ex as {message:string}).message}\n await this.SendDoneEventIfDone();\n return null;\n }\n }\n\n getNewFileName(value:{\n DIMXExportFormat:string,\n DIMXExportFileName: string,\n }){\n let extension;\n switch (value.DIMXExportFormat.toLowerCase()){\n case \"json\":\n extension = \".json\";\n break;\n case \"csv\":\n extension = '.csv';\n break;\n default:\n extension = \"\";\n }\n const filename = value.DIMXExportFileName;\n return filename+extension;\n }\n \n iFileID = 0;\n iFileArray:IFileExt[] = [];\n createNewIFile(fileName:string , status:\"downloading\"|\"uploading\"):IFileExt{\n return {\n \"key\":this.iFileID++,\n \"name\":fileName,\n \"status\":status};\n }\n\n async removeIfilesWithDelay(iFile:FileStatus, delay = 2000) {\n window.setTimeout(() => {\n const index = this.iFileArray.findIndex(element => element === iFile);\n if (index >= 0){\n this.iFileArray.splice(index,1);\n }\n }, delay)\n }\n\n async clearIFilesWithDelay(delay = 2000){\n window.setTimeout(() => {\n this.iFileArray = [];\n }, delay)\n }\n\n\n uploadFile(options?:{OverwriteOBject?:boolean, Delimiter?:string, OwnerID?:string, ActionID?:string}){\n this.dimxImportOptions = options;\n const elem = document.getElementById(\"fileuploader\");\n if(elem && document.createEvent) {\n const evt = document.createEvent(\"MouseEvents\");\n evt.initEvent(\"click\", true, false);\n elem.dispatchEvent(evt);\n }\n // this.fileField?.nativeElement.click();\n } \n\n IsFileInProgress(iFile:FileStatus){\n return iFile.status == \"downloading\" || iFile.status == \"uploading\";\n }\n\n AnyFilesInProgress(){\n if (this.iFileArray.find(this.IsFileInProgress) === undefined){\n return false;\n }\n return true\n }\n\n GetDoneEventBody(){\n return this.iFileArray.map(iFile => {\n return {\n \"FileName\": iFile.name, \n \"Status\": iFile.status,\n \"ReturnedObject\": iFile.returnedObject!\n }\n });\n }\n\n async SendDoneEventIfDone(){\n if (this.AnyFilesInProgress()){\n return;\n }\n const eventObject:any = this.GetDoneEventBody();\n this.DIMXProcessDone.emit(eventObject);\n await this.clearIFilesWithDelay();\n }\n\n async dimximportrun(e:any) {\n console.log(\"Enter DIMXImportRun\");\n const files = e.target.files;\n const fileListAsArray = Array.from(files);\n fileListAsArray.forEach(async (file, i) => {\n\n const filex = (file as HTMLInputElement);\n const dimx_import_relativeURL = `/addons/api/44c97115-6d14-4626-91dc-83f176e9a0fc/api/file_import_upload`;\n const str = (await this.toBase64(filex)) as string; //???\n const ext = filex.name.split('.')[1];\n const value = {fileStr:str, fileExt:ext}\n const dimxUploadObject = {...this.getPFSUploadObject(value), ...this.dimxImportOptions, Resource:this.DIMXResource, AddonUUID:this.DIMXAddonUUID};\n const iFile:IFileExt = this.createNewIFile(filex.name, \"uploading\");\n console.log(`created new iFile: ${iFile}`);\n this.iFileArray.push(iFile);\n console.log(`added iFile to iFileArray`);\n \n try{\n console.log(\"posting to dimx import_upload now\");\n const header:any = {};\n if(dimxUploadObject.ActionID){\n header[\"X-Pepperi-ActionID\"]=dimxUploadObject.ActionID;\n }\n if(dimxUploadObject.OwnerID){\n header[\"X-Pepperi-OwnerID\"]=dimxUploadObject.OwnerID;\n }\n const res = await this.addonService.papiClient.post(dimx_import_relativeURL, dimxUploadObject, header);\n console.log(\"Got reply from dimx, calling poll with the result:\");\n console.log(JSON.stringify(res));\n\n const poll_result = await this.pollDIMXResult(res['ExecutionUUID'], iFile);\n if (poll_result === null) {\n return;\n }\n console.log(`done polling, got result: ${JSON.stringify(poll_result)}`);\n iFile.status = \"done\";\n iFile.returnedObject = poll_result;\n await this.SendDoneEventIfDone();\n console.log(\"Imported the file\");\n //await this.removeIfileWithDelay(iFile);\n // check all done\n \n\n }\n catch(ex){\n console.log(`DIMXImportRun: ${ex}`);\n iFile.status = \"failed\";\n iFile.returnedObject = {\"ErrorMessage\": (ex as {message:string}).message}\n await this.SendDoneEventIfDone();\n //await this.removeIfileWithDelay(iFile, 2000);\n return;\n }\n \n \n \n });\n }\n getNewPFSUploadKey(fileExt:string){\n const uuid = PepGuid.newGuid();\n const folder = 'DIMX_import';\n const pfsKey = `/${folder}/${uuid}.${fileExt}`;\n return pfsKey;\n }\n getPFSUploadObject(value:{fileStr:string, fileExt:string}){\n const fileStrArr = value.fileStr.split(';');\n const mime = fileStrArr[0].split(':')[1];\n const pfsKey = this.getNewPFSUploadKey(value.fileExt);\n const pfsUploadObject = {\n \"Key\": pfsKey,\n \"MIME\": mime,\n \"URI\":value.fileStr\n }\n return pfsUploadObject;\n }\n\n toBase64 = (file:any) => new Promise((resolve, reject) => {\n\n const reader = new FileReader();\n \n reader.readAsDataURL(file);\n \n reader.onload = () => resolve(reader.result);\n \n reader.onerror = error => reject(error);\n \n });\n\n async DIMXExportRun(value: {\n DIMXExportFormat?:string,\n DIMXExportIncludeDeleted?: boolean,\n DIMXExportFileName?: string,\n DIMXExportWhere?: string,\n DIMXExportFields?: string,\n DIMXExportDelimiter?:string,\n ActionID?:string\n }) {\n if (!value){\n value = {};\n }\n if (!value.DIMXExportFormat){\n value.DIMXExportFormat = 'json';\n }\n if (!value.DIMXExportIncludeDeleted){\n value.DIMXExportIncludeDeleted = false;\n }\n if (!value.DIMXExportFileName){\n value.DIMXExportFileName = 'export';\n }\n const bod = this.getDIMXExportPOSTBody(value ? value : {});\n const fileName = this.getNewFileName(value as {DIMXExportFormat:string, DIMXExportFileName:string});\n const iFile:IFileExt = this.createNewIFile(fileName, \"downloading\");\n console.log(`created new iFile: ${iFile}`);\n this.iFileArray.push(iFile);\n console.log(`added iFile to iFileArray`);\n \n try{\n\n console.log(\"posting to dimx export now\");\n const header:any = {};\n if(value.ActionID){\n header[\"X-Pepperi-ActionID\"]=value.ActionID;\n }\n const res = await this.addonService.papiClient.post(`/addons/data/export/file/${this.DIMXAddonUUID}/${this.DIMXResource}`, bod, header);\n console.log(\"Got reply from dimx, calling poll with the result:\");\n console.log(res);\n const result = await this.pollDIMXResult(res['ExecutionUUID'], iFile);\n if (result === null){\n return \n }\n const url = result[\"DownloadURL\"];\n\n console.log(\"attempting to download the file\");\n console.log(`url is: ${url}`);\n const blob = await fetch(url).then(r => r.blob());\n saveAs(blob, fileName);\n iFile.status = \"done\";\n iFile.returnedObject = result;\n await this.SendDoneEventIfDone();\n console.log(\"downloaded the file\");\n //await this.removeIfileWithDelay(iFile);\n }\n catch(ex){\n iFile.status= \"failed\";\n iFile.returnedObject = {\"ErrorMessage\":(ex as {message:string}).message}\n await this.SendDoneEventIfDone();\n //await this.removeIfileWithDelay(iFile);\n console.log(`buttonClick: ${ex}`);\n return;\n }\n \n }\n\n \n\n \n}\n","<pep-file-status-panel [title]=\"'File Imports/Exports'\" *ngIf=\"iFileArray?.length\" [filesList]=\"iFileArray\"></pep-file-status-panel>\n<input type=\"file\" multiple=\"multiple\" name=\"avatars\" id=\"fileuploader\" #fileField (change)=\"dimximportrun($event)\">\n<!-- <pep-button\n value=\"export\"\n styleType=\"strong\"\n styleStateType=\"success\"\n sizeType=\"sm\"\n classNames=\"hahah\"\n iconName=\"system_doc\"\n (buttonClick)=\"buttonClick($event)\"\n></pep-button> -->","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { DIMXComponent } from './dimx.component';\nimport { PepIconRegistry, pepIconSystemDoc } from '@pepperi-addons/ngx-lib/icon';\nimport { PepButtonModule } from '@pepperi-addons/ngx-lib/button';\nimport { PepIconModule } from '@pepperi-addons/ngx-lib/icon';\nimport { PepFileStatusPanelModule } from '@pepperi-addons/ngx-composite-lib/file-status-panel';\n\nconst pepIcons = [\n pepIconSystemDoc,\n]\n\n@NgModule({\n declarations: [\n DIMXComponent\n ],\n imports: [\n CommonModule,\n PepNgxLibModule,\n PepButtonModule,\n PepIconModule,\n PepFileStatusPanelModule,\n ],\n exports: [DIMXComponent]\n})\nexport class PepDIMXModule { \n constructor(\n private pepIconRegistry: PepIconRegistry,\n ) {\n this.pepIconRegistry.registerIcons(pepIcons);\n }\n\n\n}\n","import { FileStatusType, FileStatus } from '@pepperi-addons/ngx-composite-lib/file-status-panel';\n\nexport class IFileExt extends FileStatus {\n status: FileStatusType = 'downloading';\n returnedObject?: any;\n}","/*\n * Public API Surface of ngx-composite-lib/dimx-export\n */\nexport * from './dimx.module';\nexport * from './dimx.component';\nexport * from './dimx.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["jwt","PapiClient","Injectable","EventEmitter","PepGuid","saveAs","Component","ViewChild","Input","Output","pepIconSystemDoc","CommonModule","PepNgxLibModule","PepButtonModule","PepIconModule","PepFileStatusPanelModule","NgModule","FileStatus"],"mappings":"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"}
|
|
@@ -33,18 +33,19 @@
|
|
|
33
33
|
this.translate = translate;
|
|
34
34
|
this.title = '';
|
|
35
35
|
this.filesList = [];
|
|
36
|
+
this.closeClick = new i0.EventEmitter();
|
|
36
37
|
//
|
|
37
38
|
}
|
|
38
39
|
FileStatusPanelComponent.prototype.ngOnInit = function () {
|
|
39
40
|
//
|
|
40
41
|
};
|
|
41
|
-
FileStatusPanelComponent.prototype.
|
|
42
|
-
|
|
42
|
+
FileStatusPanelComponent.prototype.onCloseClicked = function (event) {
|
|
43
|
+
this.closeClick.emit();
|
|
43
44
|
};
|
|
44
45
|
return FileStatusPanelComponent;
|
|
45
46
|
}());
|
|
46
47
|
FileStatusPanelComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0__namespace, type: FileStatusPanelComponent, deps: [{ token: i1__namespace.TranslateService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
47
|
-
FileStatusPanelComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: FileStatusPanelComponent, selector: "pep-file-status-panel", inputs: { title: "title", filesList: "filesList" }, ngImport: i0__namespace, template: "<div *ngIf=\"filesList.length\" id=\"uploadPanelCont\">\n <div class=\"panel-header pep-border-bottom\">\n <label class=\"body-md ellipsis\">{{title}}</label>\n <pep-button
|
|
48
|
+
FileStatusPanelComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: FileStatusPanelComponent, selector: "pep-file-status-panel", inputs: { title: "title", filesList: "filesList" }, outputs: { closeClick: "closeClick" }, ngImport: i0__namespace, template: "<div *ngIf=\"filesList.length\" id=\"uploadPanelCont\">\n <div class=\"panel-header pep-border-bottom\">\n <label class=\"body-md ellipsis\">{{title}}</label>\n <pep-button sizeType=\"xs\" classNames=\"round-corners\" iconName=\"system_close\" iconPosition=\"end\" (buttonClick)=\"onCloseClicked($event)\"></pep-button>\n </div>\n <div class=\"panel-content\">\n <ul>\n <li *ngFor=\"let file of filesList\">\n <ng-container *ngIf=\"file?.status !== 'hidden'\">\n <span class=\"color-dimmed body-sm ellipsis\">{{file.name}}</span>\n <pep-icon class=\"pep-spacing-element\" name=\"arrow_right_alt\"></pep-icon>\n <span class=\"body-sm\" title=\"{{file.statusMessage}}\">{{file.status}}</span>\n </ng-container>\n </li>\n </ul>\n </div>\n</div>\n", styles: ["#uploadPanelCont{width:22rem}#uploadPanelCont .panel-header{display:flex;flex-direction:row;justify-content:space-between;height:2.5rem}#uploadPanelCont .panel-header ::ng-deep .round-corners{border-radius:1.5rem}.panel-content{max-height:50vh;overflow:auto}.panel-content ul{list-style-type:none;padding:0}.panel-content ul li{height:1.25rem;margin-top:.5rem;display:flex;flex-direction:row;align-items:center}.panel-content ul li pep-icon{height:1rem}\n"], components: [{ type: i2__namespace.PepButtonComponent, selector: "pep-button", inputs: ["styleType", "styleStateType", "sizeType", "classNames", "disabled", "iconPosition", "visible", "key", "value", "iconName"], outputs: ["buttonClick"] }, { type: i3__namespace.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }], directives: [{ type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
48
49
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0__namespace, type: FileStatusPanelComponent, decorators: [{
|
|
49
50
|
type: i0.Component,
|
|
50
51
|
args: [{
|
|
@@ -56,6 +57,8 @@
|
|
|
56
57
|
type: i0.Input
|
|
57
58
|
}], filesList: [{
|
|
58
59
|
type: i0.Input
|
|
60
|
+
}], closeClick: [{
|
|
61
|
+
type: i0.Output
|
|
59
62
|
}] } });
|
|
60
63
|
|
|
61
64
|
var PepFileStatusPanelModule = /** @class */ (function () {
|
|
@@ -96,13 +99,14 @@
|
|
|
96
99
|
}]
|
|
97
100
|
}] });
|
|
98
101
|
|
|
99
|
-
var
|
|
100
|
-
function
|
|
102
|
+
var FileStatus = /** @class */ (function () {
|
|
103
|
+
function FileStatus() {
|
|
101
104
|
this.key = 0;
|
|
102
105
|
this.name = '';
|
|
103
106
|
this.status = 'uploading';
|
|
107
|
+
this.statusMessage = '';
|
|
104
108
|
}
|
|
105
|
-
return
|
|
109
|
+
return FileStatus;
|
|
106
110
|
}());
|
|
107
111
|
|
|
108
112
|
/*
|
|
@@ -113,8 +117,8 @@
|
|
|
113
117
|
* Generated bundle index. Do not edit.
|
|
114
118
|
*/
|
|
115
119
|
|
|
120
|
+
exports.FileStatus = FileStatus;
|
|
116
121
|
exports.FileStatusPanelComponent = FileStatusPanelComponent;
|
|
117
|
-
exports.IFile = IFile;
|
|
118
122
|
exports.PepFileStatusPanelModule = PepFileStatusPanelModule;
|
|
119
123
|
|
|
120
124
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pepperi-addons-ngx-composite-lib-file-status-panel.umd.js","sources":["../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.component.ts","../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.component.html","../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.module.ts","../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.model.ts","../../../projects/ngx-composite-lib/file-status-panel/public-api.ts","../../../projects/ngx-composite-lib/file-status-panel/pepperi-addons-ngx-composite-lib-file-status-panel.ts"],"sourcesContent":["import { Component, OnInit, Injectable, Input, Output, EventEmitter, Optional, Inject } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport {
|
|
1
|
+
{"version":3,"file":"pepperi-addons-ngx-composite-lib-file-status-panel.umd.js","sources":["../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.component.ts","../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.component.html","../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.module.ts","../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.model.ts","../../../projects/ngx-composite-lib/file-status-panel/public-api.ts","../../../projects/ngx-composite-lib/file-status-panel/pepperi-addons-ngx-composite-lib-file-status-panel.ts"],"sourcesContent":["import { Component, OnInit, Injectable, Input, Output, EventEmitter, Optional, Inject } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FileStatus } from './file-status-panel.model';\n\n@Component({\n selector: 'pep-file-status-panel',\n templateUrl: './file-status-panel.component.html',\n styleUrls: ['./file-status-panel.component.scss']\n})\nexport class FileStatusPanelComponent implements OnInit {\n @Input() title = '';\n @Input() filesList: Array<FileStatus> = [];\n \n @Output()\n closeClick: EventEmitter<void> = new EventEmitter<void>();\n \n constructor(public translate: TranslateService) {\n //\n }\n\n ngOnInit() {\n //\n }\n\n onCloseClicked(event: any): void {\n this.closeClick.emit();\n }\n\n\n}","<div *ngIf=\"filesList.length\" id=\"uploadPanelCont\">\n <div class=\"panel-header pep-border-bottom\">\n <label class=\"body-md ellipsis\">{{title}}</label>\n <pep-button sizeType=\"xs\" classNames=\"round-corners\" iconName=\"system_close\" iconPosition=\"end\" (buttonClick)=\"onCloseClicked($event)\"></pep-button>\n </div>\n <div class=\"panel-content\">\n <ul>\n <li *ngFor=\"let file of filesList\">\n <ng-container *ngIf=\"file?.status !== 'hidden'\">\n <span class=\"color-dimmed body-sm ellipsis\">{{file.name}}</span>\n <pep-icon class=\"pep-spacing-element\" name=\"arrow_right_alt\"></pep-icon>\n <span class=\"body-sm\" title=\"{{file.statusMessage}}\">{{file.status}}</span>\n </ng-container>\n </li>\n </ul>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FileStatusPanelComponent } from './file-status-panel.component';\nimport { PepTextboxModule } from '@pepperi-addons/ngx-lib/textbox';\nimport { PepTopBarModule } from '@pepperi-addons/ngx-lib/top-bar';\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\nimport { PepButtonModule } from '@pepperi-addons/ngx-lib/button';\nimport { PepIconModule } from '@pepperi-addons/ngx-lib/icon';\n\n@NgModule({\n declarations: [\n FileStatusPanelComponent\n ],\n imports: [\n CommonModule,\n PepTopBarModule,\n PepTextboxModule,\n PepButtonModule,\n PepIconModule,\n PepDialogModule,\n ],\n exports: [FileStatusPanelComponent]\n})\n\nexport class PepFileStatusPanelModule { \n \n}","export type FileStatusType = 'uploading' | 'downloading' | 'done' | 'failed' | 'hidden' | 'deleting';\r\n\r\nexport class FileStatus {\r\n key = 0;\r\n name = '';\r\n status: FileStatusType = 'uploading';\r\n statusMessage? = '';\r\n}","/*\n * Public API Surface of ngx-composite-lib/file-status-panel\n */\nexport * from './file-status-panel.module';\nexport * from './file-status-panel.component';\nexport * from './file-status-panel.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["EventEmitter","Component","Input","Output","CommonModule","PepTopBarModule","PepTextboxModule","PepButtonModule","PepIconModule","PepDialogModule","NgModule"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAgBI,kCAAmB,SAA2B;YAA3B,cAAS,GAAT,SAAS,CAAkB;YANrC,UAAK,GAAG,EAAE,CAAC;YACX,cAAS,GAAsB,EAAE,CAAC;YAG3C,eAAU,GAAuB,IAAIA,eAAY,EAAQ,CAAC;;SAIzD;QAED,2CAAQ,GAAR;;SAEC;QAED,iDAAc,GAAd,UAAe,KAAU;YACrB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;SAC1B;;;+IAjBQ,wBAAwB;wHAAxB,wBAAwB,mKCTrC,83BAiBA;qHDRa,wBAAwB;sBALpCC,YAAS;uBAAC;wBACP,QAAQ,EAAE,uBAAuB;wBACjC,WAAW,EAAE,oCAAoC;wBACjD,SAAS,EAAE,CAAC,oCAAoC,CAAC;qBACpD;sHAEY,KAAK;0BAAbC,QAAK;oBACG,SAAS;0BAAjBA,QAAK;oBAGN,UAAU;0BADTC,SAAM;;;;QEWX;;;;+IAAa,wBAAwB;gJAAxB,wBAAwB,iBAb7B,wBAAwB,aAGxBC,eAAY;YACZC,sBAAe;YACfC,wBAAgB;YAChBC,kBAAe;YACfC,gBAAa;YACbC,sBAAe,aAET,wBAAwB;gJAGzB,wBAAwB,YAXxB;gBACLL,eAAY;gBACZC,sBAAe;gBACfC,wBAAgB;gBAChBC,kBAAe;gBACfC,gBAAa;gBACbC,sBAAe;aAClB;qHAIQ,wBAAwB;sBAfpCC,WAAQ;uBAAC;wBACN,YAAY,EAAE;4BACV,wBAAwB;yBAC3B;wBACD,OAAO,EAAE;4BACLN,eAAY;4BACZC,sBAAe;4BACfC,wBAAgB;4BAChBC,kBAAe;4BACfC,gBAAa;4BACbC,sBAAe;yBAClB;wBACD,OAAO,EAAE,CAAC,wBAAwB,CAAC;qBACtC;;;;QCpBD;YACI,QAAG,GAAG,CAAC,CAAC;YACR,SAAI,GAAG,EAAE,CAAC;YACV,WAAM,GAAmB,WAAW,CAAC;YACrC,kBAAa,GAAI,EAAE,CAAC;SACvB;yBAAA;KAAA;;ICPD;;;;ICAA;;;;;;;;;;;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ElementRef, EventEmitter, OnInit } from '@angular/core';
|
|
2
2
|
import { TranslateService } from '@ngx-translate/core';
|
|
3
|
-
import { IFile } from './dimx.model';
|
|
4
3
|
import { DIMXService } from './dimx.service';
|
|
5
4
|
import { IFileExt } from '.';
|
|
5
|
+
import { FileStatus } from '@pepperi-addons/ngx-composite-lib/file-status-panel';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export declare class DIMXComponent implements OnInit {
|
|
8
8
|
private translate;
|
|
@@ -41,7 +41,7 @@ export declare class DIMXComponent implements OnInit {
|
|
|
41
41
|
iFileID: number;
|
|
42
42
|
iFileArray: IFileExt[];
|
|
43
43
|
createNewIFile(fileName: string, status: "downloading" | "uploading"): IFileExt;
|
|
44
|
-
removeIfilesWithDelay(iFile:
|
|
44
|
+
removeIfilesWithDelay(iFile: FileStatus, delay?: number): Promise<void>;
|
|
45
45
|
clearIFilesWithDelay(delay?: number): Promise<void>;
|
|
46
46
|
uploadFile(options?: {
|
|
47
47
|
OverwriteOBject?: boolean;
|
|
@@ -49,11 +49,11 @@ export declare class DIMXComponent implements OnInit {
|
|
|
49
49
|
OwnerID?: string;
|
|
50
50
|
ActionID?: string;
|
|
51
51
|
}): void;
|
|
52
|
-
IsFileInProgress(iFile:
|
|
52
|
+
IsFileInProgress(iFile: FileStatus): boolean;
|
|
53
53
|
AnyFilesInProgress(): boolean;
|
|
54
54
|
GetDoneEventBody(): {
|
|
55
55
|
FileName: string;
|
|
56
|
-
Status: "
|
|
56
|
+
Status: import("@pepperi-addons/ngx-composite-lib/file-status-panel").FileStatusType;
|
|
57
57
|
ReturnedObject: any;
|
|
58
58
|
}[];
|
|
59
59
|
SendDoneEventIfDone(): Promise<void>;
|
|
@@ -1,13 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
export declare class
|
|
3
|
-
|
|
4
|
-
name: string;
|
|
5
|
-
status: fileStatus;
|
|
6
|
-
}
|
|
7
|
-
export declare class IFileExt {
|
|
8
|
-
key: number;
|
|
9
|
-
name: string;
|
|
10
|
-
status: fileStatus;
|
|
1
|
+
import { FileStatusType, FileStatus } from '@pepperi-addons/ngx-composite-lib/file-status-panel';
|
|
2
|
+
export declare class IFileExt extends FileStatus {
|
|
3
|
+
status: FileStatusType;
|
|
11
4
|
returnedObject?: any;
|
|
12
5
|
}
|
|
13
|
-
export {};
|
|
@@ -281,7 +281,7 @@ export class DIMXComponent {
|
|
|
281
281
|
}
|
|
282
282
|
}
|
|
283
283
|
DIMXComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: DIMXComponent, deps: [{ token: i1.TranslateService }, { token: i2.DIMXService }], target: i0.ɵɵFactoryTarget.Component });
|
|
284
|
-
DIMXComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: DIMXComponent, selector: "pep-dimx", inputs: { DIMXAddonUUID: "DIMXAddonUUID", DIMXResource: "DIMXResource" }, outputs: { DIMXProcessDone: "DIMXProcessDone" }, viewQueries: [{ propertyName: "fileField", first: true, predicate: ["fileField"], descendants: true }], ngImport: i0, template: "<pep-file-status-panel [title]=\"'File Imports/Exports'\" *ngIf=\"iFileArray?.length\" [filesList]=\"iFileArray\"></pep-file-status-panel>\n<input type=\"file\" multiple=\"multiple\" name=\"avatars\" id=\"fileuploader\" #fileField (change)=\"dimximportrun($event)\">\n<!-- <pep-button\n value=\"export\"\n styleType=\"strong\"\n styleStateType=\"success\"\n sizeType=\"sm\"\n classNames=\"hahah\"\n iconName=\"system_doc\"\n (buttonClick)=\"buttonClick($event)\"\n></pep-button> -->", styles: ["#fileuploader{display:none}:host{width:100%}:host .shadow-size-group,:host .shadow-type-group{display:block;margin-bottom:var(--pep-form-spacing, 1rem)}\n"], components: [{ type: i3.FileStatusPanelComponent, selector: "pep-file-status-panel", inputs: ["title", "filesList"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
284
|
+
DIMXComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: DIMXComponent, selector: "pep-dimx", inputs: { DIMXAddonUUID: "DIMXAddonUUID", DIMXResource: "DIMXResource" }, outputs: { DIMXProcessDone: "DIMXProcessDone" }, viewQueries: [{ propertyName: "fileField", first: true, predicate: ["fileField"], descendants: true }], ngImport: i0, template: "<pep-file-status-panel [title]=\"'File Imports/Exports'\" *ngIf=\"iFileArray?.length\" [filesList]=\"iFileArray\"></pep-file-status-panel>\n<input type=\"file\" multiple=\"multiple\" name=\"avatars\" id=\"fileuploader\" #fileField (change)=\"dimximportrun($event)\">\n<!-- <pep-button\n value=\"export\"\n styleType=\"strong\"\n styleStateType=\"success\"\n sizeType=\"sm\"\n classNames=\"hahah\"\n iconName=\"system_doc\"\n (buttonClick)=\"buttonClick($event)\"\n></pep-button> -->", styles: ["#fileuploader{display:none}:host{width:100%}:host .shadow-size-group,:host .shadow-type-group{display:block;margin-bottom:var(--pep-form-spacing, 1rem)}\n"], components: [{ type: i3.FileStatusPanelComponent, selector: "pep-file-status-panel", inputs: ["title", "filesList"], outputs: ["closeClick"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
285
285
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: DIMXComponent, decorators: [{
|
|
286
286
|
type: Component,
|
|
287
287
|
args: [{
|
|
@@ -299,4 +299,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
|
|
|
299
299
|
}], DIMXProcessDone: [{
|
|
300
300
|
type: Output
|
|
301
301
|
}] } });
|
|
302
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlteC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9zaXRlLWxpYi9kaW14LWV4cG9ydC9kaW14LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb3NpdGUtbGliL2RpbXgtZXhwb3J0L2RpbXguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSXRHLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7QUFRbEQsTUFBTSxPQUFPLGFBQWE7SUFNdEIsWUFDWSxTQUEyQixFQUM1QixZQUF5QjtRQUR4QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUM1QixpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUoxQixvQkFBZSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBZ0dsRSxZQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ1osZUFBVSxHQUFjLEVBQUUsQ0FBQztRQTRJM0IsYUFBUSxHQUFHLENBQUMsSUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUVyRCxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBRWhDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFM0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRTdDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMs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bkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBJRmlsZSB9IGZyb20gJy4vZGlteC5tb2RlbCc7XG5pbXBvcnQgeyBESU1YU2VydmljZSB9IGZyb20gJy4vZGlteC5zZXJ2aWNlJztcbmltcG9ydCB7IHNhdmVBcyB9IGZyb20gJ2ZpbGUtc2F2ZXInO1xuaW1wb3J0IHsgUGVwR3VpZCB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7IElGaWxlRXh0IH0gZnJvbSAnLic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLWRpbXgnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kaW14LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kaW14LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRElNWENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQFZpZXdDaGlsZCgnZmlsZUZpZWxkJykgZmlsZUZpZWxkOkVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgRElNWEFkZG9uVVVJRCE6IHN0cmluZztcbiAgICBASW5wdXQoKSBESU1YUmVzb3VyY2UhOiBzdHJpbmc7XG4gICAgQE91dHB1dCgpIERJTVhQcm9jZXNzRG9uZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgZGlteEltcG9ydE9wdGlvbnM6IHsgT3ZlcndyaXRlT0JqZWN0PzogYm9vbGVhbiB8IHVuZGVmaW5lZDsgRGVsaW1pdGVyPzogc3RyaW5nIHwgdW5kZWZpbmVkOyBPd25lcklEPzogc3RyaW5nIHwgdW5kZWZpbmVkOyBBY3Rpb25JRD86IHN0cmluZyB8IHVuZGVmaW5lZH0gfCB1bmRlZmluZWQ7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgYWRkb25TZXJ2aWNlOiBESU1YU2VydmljZVxuICAgICkge1xuXG4gICAgfVxuXG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHsgXG4gICAgICAgIC8vIEdldCB0aGUgZmlyc3QgdHJhbnNsYXRpb24gZm9yIGxvYWQgYWxsIHRyYW5zbGF0aW9ucy5cbiAgICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KCdTSEFET1dfU0VUVElOR1MuSU5URU5TSVRZX1NPRlQnKS50b1Byb21pc2UoKS50aGVuKCh0eXBlU29mdCkgPT4geyBjb25zb2xlLmxvZyhcInNvbWV0aGluZ1wiKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0RElNWEV4cG9ydFBPU1RCb2R5KHZhbHVlOntcbiAgICAgICAgRElNWEV4cG9ydEZvcm1hdD86c3RyaW5nLFxuICAgICAgICBESU1YRXhwb3J0SW5jbHVkZURlbGV0ZWQ/OiBib29sZWFuLFxuICAgICAgICBESU1YRXhwb3J0RmlsZU5hbWU/OiBzdHJpbmcsXG4gICAgICAgIERJTVhFeHBvcnRXaGVyZT86IHN0cmluZyxcbiAgICAgICAgRElNWEV4cG9ydEZpZWxkcz86IHN0cmluZyxcbiAgICAgICAgRElNWEV4cG9ydERlbGltaXRlcj86c3RyaW5nXG4gICAgfSl7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBcIkZvcm1hdFwiOnZhbHVlLkRJTVhFeHBvcnRGb3JtYXQsXG4gICAgICAgICAgICBcIkluY2x1ZGVEZWxldGVkXCI6dmFsdWUuRElNWEV4cG9ydEluY2x1ZGVEZWxldGVkLFxuICAgICAgICAgICAgXCJXaGVyZVwiOnZhbHVlLkRJTVhFeHBvcnRXaGVyZSxcbiAgICAgICAgICAgIFwiRmllbGRzXCI6dmFsdWUuRElNWEV4cG9ydEZpZWxkcyxcbiAgICAgICAgICAgIFwiRGVsaW1pdGVyXCI6dmFsdWUuRElNWEV4cG9ydERlbGltaXRlclxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgcG9sbERJTVhSZXN1bHQocG9sbGluZ1VSTDpzdHJpbmcsIGlmaWxlOklGaWxlRXh0KXtcbiAgICAgICAgY29uc29sZS5sb2coYHBvbGxpbmcgYXVkaXQgd2l0aCB0aGUgZXhlY3V0aW9uVVVJRDogJHtwb2xsaW5nVVJMfWApO1xuICAgICAgICBjb25zdCBkZWxheSA9IChtczogbnVtYmVyKSA9PiBuZXcgUHJvbWlzZShyZXMgPT4gc2V0VGltZW91dChyZXMsIG1zKSk7XG4gICAgICAgIGxldCBzZWNvbmRzID0gMDtcbiAgICAgICAgY29uc3Qgd2FpdGluZ1RpbWUgPSAxMDAwOyAvL2luIG1zXG4gICAgICAgIHRyeXtcbiAgICAgICAgICAgIGxldCByZXN1bHQ7XG4gICAgICAgICAgICB3aGlsZSh0cnVlKXtcbiAgICAgICAgICAgICAgICByZXN1bHQgPSBhd2FpdCB0aGlzLmFkZG9uU2VydmljZS5wYXBpQ2xpZW50LmdldChgL2F1ZGl0X2xvZ3MvJHtwb2xsaW5nVVJMfWApO1xuICAgICAgICBcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgcmVzdWx0IGZyb20gYXVkaXRsb2cgZ2V0IGlzOiAke3Jlc3VsdH1gKTtcbiAgICAgICAgICAgICAgICBpZiggIXJlc3VsdCB8fCByZXN1bHRbXCJTdGF0dXNcIl1bXCJJRFwiXSA9PT0gMiB8fCByZXN1bHRbXCJTdGF0dXNcIl1bXCJJRFwiXSA9PT0gNCl7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGB3YWl0ZWQgZm9yICR7c2Vjb25kcysrfSBzZWNvbmRzYCk7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IGRlbGF5KHdhaXRpbmdUaW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZXtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3dpdGNoKHJlc3VsdFtcIlN0YXR1c1wiXVtcIklEXCJdKXtcbiAgICAgICAgICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgICAgICAgICAgIGlmaWxlLnN0YXR1cyA9IFwiZmFpbGVkXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmaWxlLnJldHVybmVkT2JqZWN0ID0ge1wiRXJyb3JNZXNzYWdlXCI6IHJlc3VsdFtcIkF1ZGl0SW5mb1wiXVtcIkVycm9yTWVzc2FnZVwiXX1cbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5TZW5kRG9uZUV2ZW50SWZEb25lKCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coYHBvbGxpbmcgcmVzdWx0OiAke3Jlc3VsdFtcIkF1ZGl0SW5mb1wiXVtcIlJlc3VsdE9iamVjdFwiXX1gKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UocmVzdWx0W1wiQXVkaXRJbmZvXCJdW1wiUmVzdWx0T2JqZWN0XCJdKTtcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBpZmlsZS5zdGF0dXMgPSBcImZhaWxlZFwiO1xuICAgICAgICAgICAgICAgICAgICBpZmlsZS5yZXR1cm5lZE9iamVjdCA9IHtcIkVycm9yTWVzc2FnZVwiOiBgdW5rbm93biBhdWRpdCBsb2cgdHlwZTogJHtyZXN1bHRbXCJTdGF0dXNcIl19YH1cbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5TZW5kRG9uZUV2ZW50SWZEb25lKCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2goZXgpe1xuICAgICAgICAgICAgY29uc29sZS5sb2coYHBvbGxESU1YUmVzdWx0OiAke2V4fWApO1xuICAgICAgICAgICAgaWZpbGUuc3RhdHVzID0gXCJmYWlsZWRcIjtcbiAgICAgICAgICAgIGlmaWxlLnJldHVybmVkT2JqZWN0ID0ge1wiRXJyb3JNZXNzYWdlXCI6IChleCBhcyB7bWVzc2FnZTpzdHJpbmd9KS5tZXNzYWdlfVxuICAgICAgICAgICAgYXdhaXQgdGhpcy5TZW5kRG9uZUV2ZW50SWZEb25lKCk7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldE5ld0ZpbGVOYW1lKHZhbHVlOntcbiAgICAgICAgRElNWEV4cG9ydEZvcm1hdDpzdHJpbmcsXG4gICAgICAgIERJTVhFeHBvcnRGaWxlTmFtZTogc3RyaW5nLFxuICAgIH0pe1xuICAgICAgICBsZXQgZXh0ZW5zaW9uO1xuICAgICAgICBzd2l0Y2ggKHZhbHVlLkRJTVhFeHBvcnRGb3JtYXQudG9Mb3dlckNhc2UoKSl7XG4gICAgICAgICAgICBjYXNlIFwianNvblwiOlxuICAgICAgICAgICAgICAgIGV4dGVuc2lvbiA9IFwiLmpzb25cIjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCJjc3ZcIjpcbiAgICAgICAgICAgICAgICBleHRlbnNpb24gPSAnLmNzdic7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGV4dGVuc2lvbiA9IFwiXCI7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZmlsZW5hbWUgPSB2YWx1ZS5ESU1YRXhwb3J0RmlsZU5hbWU7XG4gICAgICAgIHJldHVybiBmaWxlbmFtZStleHRlbnNpb247XG4gICAgfVxuICAgIFxuICAgIGlGaWxlSUQgPSAwO1xuICAgIGlGaWxlQXJyYXk6SUZpbGVFeHRbXSA9IFtdO1xuICAgIGNyZWF0ZU5ld0lGaWxlKGZpbGVOYW1lOnN0cmluZyAsIHN0YXR1czpcImRvd25sb2FkaW5nXCJ8XCJ1cGxvYWRpbmdcIik6SUZpbGVFeHR7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBcImtleVwiOnRoaXMuaUZpbGVJRCsrLFxuICAgICAgICAgICAgXCJuYW1lXCI6ZmlsZU5hbWUsXG4gICAgICAgICAgICBcInN0YXR1c1wiOnN0YXR1c307XG4gICAgfVxuXG4gICAgYXN5bmMgcmVtb3ZlSWZpbGVzV2l0aERlbGF5KGlGaWxlOklGaWxlLCBkZWxheSA9IDIwMDApIHtcbiAgICAgICAgd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmlGaWxlQXJyYXkuZmluZEluZGV4KGVsZW1lbnQgPT4gZWxlbWVudCA9PT0gaUZpbGUpO1xuICAgICAgICAgICAgaWYgKGluZGV4ID49IDApe1xuICAgICAgICAgICAgICAgIHRoaXMuaUZpbGVBcnJheS5zcGxpY2UoaW5kZXgsMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIGRlbGF5KVxuICAgIH1cblxuICAgIGFzeW5jIGNsZWFySUZpbGVzV2l0aERlbGF5KGRlbGF5ID0gMjAwMCl7XG4gICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaUZpbGVBcnJheSA9IFtdO1xuICAgICAgICB9LCBkZWxheSlcbiAgICB9XG5cblxuICAgIHVwbG9hZEZpbGUob3B0aW9ucz86e092ZXJ3cml0ZU9CamVjdD86Ym9vbGVhbiwgRGVsaW1pdGVyPzpzdHJpbmcsIE93bmVySUQ/OnN0cmluZywgQWN0aW9uSUQ/OnN0cmluZ30pe1xuICAgICAgICB0aGlzLmRpbXhJbXBvcnRPcHRpb25zID0gb3B0aW9ucztcbiAgICAgICAgY29uc3QgZWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiZmlsZXVwbG9hZGVyXCIpO1xuICAgaWYoZWxlbSAmJiBkb2N1bWVudC5jcmVhdGVFdmVudCkge1xuICAgICAgY29uc3QgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoXCJNb3VzZUV2ZW50c1wiKTtcbiAgICAgIGV2dC5pbml0RXZlbnQoXCJjbGlja1wiLCB0cnVlLCBmYWxzZSk7XG4gICAgICBlbGVtLmRpc3BhdGNoRXZlbnQoZXZ0KTtcbiAgIH1cbiAgICAgICAgLy8gdGhpcy5maWxlRmllbGQ/Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9ICAgXG5cbiAgICBJc0ZpbGVJblByb2dyZXNzKGlGaWxlOklGaWxlKXtcbiAgICAgICAgcmV0dXJuIGlGaWxlLnN0YXR1cyA9PSBcImRvd25sb2FkaW5nXCIgfHwgaUZpbGUuc3RhdHVzID09IFwidXBsb2FkaW5nXCI7XG4gICAgfVxuXG4gICAgQW55RmlsZXNJblByb2dyZXNzKCl7XG4gICAgICAgIGlmICh0aGlzLmlGaWxlQXJyYXkuZmluZCh0aGlzLklzRmlsZUluUHJvZ3Jlc3MpID09PSB1bmRlZmluZWQpe1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgR2V0RG9uZUV2ZW50Qm9keSgpe1xuICAgICAgICByZXR1cm4gdGhpcy5pRmlsZUFycmF5Lm1hcChpRmlsZSA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIFwiRmlsZU5hbWVcIjogaUZpbGUubmFtZSwgXG4gICAgICAgICAgICAgICAgXCJTdGF0dXNcIjogaUZpbGUuc3RhdHVzLFxuICAgICAgICAgICAgICAgIFwiUmV0dXJuZWRPYmplY3RcIjogaUZpbGUucmV0dXJuZWRPYmplY3QhXG4gICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYXN5bmMgU2VuZERvbmVFdmVudElmRG9uZSgpe1xuICAgICAgICBpZiAodGhpcy5BbnlGaWxlc0luUHJvZ3Jlc3MoKSl7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZXZlbnRPYmplY3Q6YW55ID0gdGhpcy5HZXREb25lRXZlbnRCb2R5KCk7XG4gICAgICAgIHRoaXMuRElNWFByb2Nlc3NEb25lLmVtaXQoZXZlbnRPYmplY3QpO1xuICAgICAgICBhd2FpdCB0aGlzLmNsZWFySUZpbGVzV2l0aERlbGF5KCk7XG4gICAgfVxuXG4gICAgYXN5bmMgZGlteGltcG9ydHJ1bihlOmFueSkge1xuICAgICAgICBjb25zb2xlLmxvZyhcIkVudGVyIERJTVhJbXBvcnRSdW5cIik7XG4gICAgICAgIGNvbnN0IGZpbGVzID0gZS50YXJnZXQuZmlsZXM7XG4gICAgICAgIGNvbnN0IGZpbGVMaXN0QXNBcnJheSA9IEFycmF5LmZyb20oZmlsZXMpO1xuICAgICAgICBmaWxlTGlzdEFzQXJyYXkuZm9yRWFjaChhc3luYyAoZmlsZSwgaSkgPT4ge1xuXG4gICAgICAgICAgICBjb25zdCBmaWxleCA9IChmaWxlIGFzIEhUTUxJbnB1dEVsZW1lbnQpO1xuICAgICAgICAgICAgY29uc3QgZGlteF9pbXBvcnRfcmVsYXRpdmVVUkwgPSBgL2FkZG9ucy9hcGkvNDRjOTcxMTUtNmQxNC00NjI2LTkxZGMtODNmMTc2ZTlhMGZjL2FwaS9maWxlX2ltcG9ydF91cGxvYWRgO1xuICAgICAgICAgICAgY29uc3Qgc3RyID0gKGF3YWl0IHRoaXMudG9CYXNlNjQoZmlsZXgpKSBhcyBzdHJpbmc7IC8vPz8/XG4gICAgICAgICAgICBjb25zdCBleHQgPSBmaWxleC5uYW1lLnNwbGl0KCcuJylbMV07XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHtmaWxlU3RyOnN0ciwgZmlsZUV4dDpleHR9XG4gICAgICAgICAgICBjb25zdCBkaW14VXBsb2FkT2JqZWN0ID0gey4uLnRoaXMuZ2V0UEZTVXBsb2FkT2JqZWN0KHZhbHVlKSwgLi4udGhpcy5kaW14SW1wb3J0T3B0aW9ucywgUmVzb3VyY2U6dGhpcy5ESU1YUmVzb3VyY2UsIEFkZG9uVVVJRDp0aGlzLkRJTVhBZGRvblVVSUR9O1xuICAgICAgICAgICAgY29uc3QgaUZpbGU6SUZpbGVFeHQgPSB0aGlzLmNyZWF0ZU5ld0lGaWxlKGZpbGV4Lm5hbWUsIFwidXBsb2FkaW5nXCIpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coYGNyZWF0ZWQgbmV3IGlGaWxlOiAke2lGaWxlfWApO1xuICAgICAgICAgICAgdGhpcy5pRmlsZUFycmF5LnB1c2goaUZpbGUpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coYGFkZGVkIGlGaWxlIHRvIGlGaWxlQXJyYXlgKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgdHJ5e1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwicG9zdGluZyB0byBkaW14IGltcG9ydF91cGxvYWQgbm93XCIpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGhlYWRlcjphbnkgPSB7fTtcbiAgICAgICAgICAgICAgICBpZihkaW14VXBsb2FkT2JqZWN0LkFjdGlvbklEKXtcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyW1wiWC1QZXBwZXJpLUFjdGlvbklEXCJdPWRpbXhVcGxvYWRPYmplY3QuQWN0aW9uSUQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmKGRpbXhVcGxvYWRPYmplY3QuT3duZXJJRCl7XG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcltcIlgtUGVwcGVyaS1Pd25lcklEXCJdPWRpbXhVcGxvYWRPYmplY3QuT3duZXJJRDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5hZGRvblNlcnZpY2UucGFwaUNsaWVudC5wb3N0KGRpbXhfaW1wb3J0X3JlbGF0aXZlVVJMLCBkaW14VXBsb2FkT2JqZWN0LCBoZWFkZXIpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiR290IHJlcGx5IGZyb20gZGlteCwgY2FsbGluZyBwb2xsIHdpdGggdGhlIHJlc3VsdDpcIik7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkocmVzKSk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBwb2xsX3Jlc3VsdCA9IGF3YWl0IHRoaXMucG9sbERJTVhSZXN1bHQocmVzWydFeGVjdXRpb25VVUlEJ10sIGlGaWxlKTtcbiAgICAgICAgICAgICAgICBpZiAocG9sbF9yZXN1bHQgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgZG9uZSBwb2xsaW5nLCBnb3QgcmVzdWx0OiAke0pTT04uc3RyaW5naWZ5KHBvbGxfcmVzdWx0KX1gKTtcbiAgICAgICAgICAgICAgICBpRmlsZS5zdGF0dXMgPSBcImRvbmVcIjtcbiAgICAgICAgICAgICAgICBpRmlsZS5yZXR1cm5lZE9iamVjdCA9IHBvbGxfcmVzdWx0O1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuU2VuZERvbmVFdmVudElmRG9uZSgpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiSW1wb3J0ZWQgdGhlIGZpbGVcIik7XG4gICAgICAgICAgICAgICAgLy9hd2FpdCB0aGlzLnJlbW92ZUlmaWxlV2l0aERlbGF5KGlGaWxlKTtcbiAgICAgICAgICAgICAgICAvLyBjaGVjayBhbGwgZG9uZVxuICAgICAgICAgICAgICAgIFxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaChleCl7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coYERJTVhJbXBvcnRSdW46ICR7ZXh9YCk7XG4gICAgICAgICAgICAgICAgaUZpbGUuc3RhdHVzID0gXCJmYWlsZWRcIjtcbiAgICAgICAgICAgICAgICBpRmlsZS5yZXR1cm5lZE9iamVjdCA9IHtcIkVycm9yTWVzc2FnZVwiOiAoZXggYXMge21lc3NhZ2U6c3RyaW5nfSkubWVzc2FnZX1cbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLlNlbmREb25lRXZlbnRJZkRvbmUoKTtcbiAgICAgICAgICAgICAgICAvL2F3YWl0IHRoaXMucmVtb3ZlSWZpbGVXaXRoRGVsYXkoaUZpbGUsIDIwMDApO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgXG4gICAgICAgICAgICBcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbiAgICBnZXROZXdQRlNVcGxvYWRLZXkoZmlsZUV4dDpzdHJpbmcpe1xuICAgICAgICBjb25zdCB1dWlkID0gUGVwR3VpZC5uZXdHdWlkKCk7XG4gICAgICAgIGNvbnN0IGZvbGRlciA9ICdESU1YX2ltcG9ydCc7XG4gICAgICAgIGNvbnN0IHBmc0tleSA9IGAvJHtmb2xkZXJ9LyR7dXVpZH0uJHtmaWxlRXh0fWA7XG4gICAgICAgIHJldHVybiBwZnNLZXk7XG4gICAgfVxuICAgIGdldFBGU1VwbG9hZE9iamVjdCh2YWx1ZTp7ZmlsZVN0cjpzdHJpbmcsIGZpbGVFeHQ6c3RyaW5nfSl7XG4gICAgICAgIGNvbnN0IGZpbGVTdHJBcnIgPSB2YWx1ZS5maWxlU3RyLnNwbGl0KCc7Jyk7XG4gICAgICAgIGNvbnN0IG1pbWUgPSBmaWxlU3RyQXJyWzBdLnNwbGl0KCc6JylbMV07XG4gICAgICAgIGNvbnN0IHBmc0tleSA9IHRoaXMuZ2V0TmV3UEZTVXBsb2FkS2V5KHZhbHVlLmZpbGVFeHQpO1xuICAgICAgICBjb25zdCBwZnNVcGxvYWRPYmplY3QgPSB7XG4gICAgICAgICAgICBcIktleVwiOiBwZnNLZXksXG4gICAgICAgICAgICBcIk1JTUVcIjogbWltZSxcbiAgICAgICAgICAgIFwiVVJJXCI6dmFsdWUuZmlsZVN0clxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwZnNVcGxvYWRPYmplY3Q7XG4gICAgfVxuXG4gICAgdG9CYXNlNjQgPSAoZmlsZTphbnkpID0+IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcblxuICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgICBcbiAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XG4gICAgICAgIFxuICAgICAgICByZWFkZXIub25sb2FkID0gKCkgPT4gcmVzb2x2ZShyZWFkZXIucmVzdWx0KTtcbiAgICAgICAgXG4gICAgICAgIHJlYWRlci5vbmVycm9yID0gZXJyb3IgPT4gcmVqZWN0KGVycm9yKTtcbiAgICAgICAgXG4gICAgICAgIH0pO1xuXG4gICAgYXN5bmMgRElNWEV4cG9ydFJ1bih2YWx1ZToge1xuICAgICAgICBESU1YRXhwb3J0Rm9ybWF0PzpzdHJpbmcsXG4gICAgICAgIERJTVhFeHBvcnRJbmNsdWRlRGVsZXRlZD86IGJvb2xlYW4sXG4gICAgICAgIERJTVhFeHBvcnRGaWxlTmFtZT86IHN0cmluZyxcbiAgICAgICAgRElNWEV4cG9ydFdoZXJlPzogc3RyaW5nLFxuICAgICAgICBESU1YRXhwb3J0RmllbGRzPzogc3RyaW5nLFxuICAgICAgICBESU1YRXhwb3J0RGVsaW1pdGVyPzpzdHJpbmcsXG4gICAgICAgIEFjdGlvbklEPzpzdHJpbmdcbiAgICB9KSB7XG4gICAgICAgIGlmICghdmFsdWUpe1xuICAgICAgICAgICAgdmFsdWUgPSB7fTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXZhbHVlLkRJTVhFeHBvcnRGb3JtYXQpe1xuICAgICAgICAgICAgdmFsdWUuRElNWEV4cG9ydEZvcm1hdCA9ICdqc29uJztcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXZhbHVlLkRJTVhFeHBvcnRJbmNsdWRlRGVsZXRlZCl7XG4gICAgICAgICAgICB2YWx1ZS5ESU1YRXhwb3J0SW5jbHVkZURlbGV0ZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXZhbHVlLkRJTVhFeHBvcnRGaWxlTmFtZSl7XG4gICAgICAgICAgICB2YWx1ZS5ESU1YRXhwb3J0RmlsZU5hbWUgPSAnZXhwb3J0JztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBib2QgPSB0aGlzLmdldERJTVhFeHBvcnRQT1NUQm9keSh2YWx1ZSA/IHZhbHVlIDoge30pO1xuICAgICAgICBjb25zdCBmaWxlTmFtZSA9IHRoaXMuZ2V0TmV3RmlsZU5hbWUodmFsdWUgYXMge0RJTVhFeHBvcnRGb3JtYXQ6c3RyaW5nLCBESU1YRXhwb3J0RmlsZU5hbWU6c3RyaW5nfSk7XG4gICAgICAgIGNvbnN0IGlGaWxlOklGaWxlRXh0ID0gdGhpcy5jcmVhdGVOZXdJRmlsZShmaWxlTmFtZSwgXCJkb3dubG9hZGluZ1wiKTtcbiAgICAgICAgY29uc29sZS5sb2coYGNyZWF0ZWQgbmV3IGlGaWxlOiAke2lGaWxlfWApO1xuICAgICAgICB0aGlzLmlGaWxlQXJyYXkucHVzaChpRmlsZSk7XG4gICAgICAgIGNvbnNvbGUubG9nKGBhZGRlZCBpRmlsZSB0byBpRmlsZUFycmF5YCk7XG4gICAgIFxuICAgICAgICB0cnl7XG5cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwicG9zdGluZyB0byBkaW14IGV4cG9ydCBub3dcIik7XG4gICAgICAgICAgICBjb25zdCBoZWFkZXI6YW55ID0ge307XG4gICAgICAgICAgICBpZih2YWx1ZS5BY3Rpb25JRCl7XG4gICAgICAgICAgICAgICAgaGVhZGVyW1wiWC1QZXBwZXJpLUFjdGlvbklEXCJdPXZhbHVlLkFjdGlvbklEO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5hZGRvblNlcnZpY2UucGFwaUNsaWVudC5wb3N0KGAvYWRkb25zL2RhdGEvZXhwb3J0L2ZpbGUvJHt0aGlzLkRJTVhBZGRvblVVSUR9LyR7dGhpcy5ESU1YUmVzb3VyY2V9YCwgYm9kLCBoZWFkZXIpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJHb3QgcmVwbHkgZnJvbSBkaW14LCBjYWxsaW5nIHBvbGwgd2l0aCB0aGUgcmVzdWx0OlwiKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlcyk7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnBvbGxESU1YUmVzdWx0KHJlc1snRXhlY3V0aW9uVVVJRCddLCBpRmlsZSk7XG4gICAgICAgICAgICBpZiAocmVzdWx0ID09PSBudWxsKXtcbiAgICAgICAgICAgICAgICByZXR1cm4gXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB1cmwgPSByZXN1bHRbXCJEb3dubG9hZFVSTFwiXTtcblxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJhdHRlbXB0aW5nIHRvIGRvd25sb2FkIHRoZSBmaWxlXCIpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coYHVybCBpczogJHt1cmx9YCk7XG4gICAgICAgICAgICBjb25zdCBibG9iID0gYXdhaXQgZmV0Y2godXJsKS50aGVuKHIgPT4gci5ibG9iKCkpO1xuICAgICAgICAgICAgc2F2ZUFzKGJsb2IsIGZpbGVOYW1lKTtcbiAgICAgICAgICAgIGlGaWxlLnN0YXR1cyA9IFwiZG9uZVwiO1xuICAgICAgICAgICAgaUZpbGUucmV0dXJuZWRPYmplY3QgPSByZXN1bHQ7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLlNlbmREb25lRXZlbnRJZkRvbmUoKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZG93bmxvYWRlZCB0aGUgZmlsZVwiKTtcbiAgICAgICAgICAgIC8vYXdhaXQgdGhpcy5yZW1vdmVJZmlsZVdpdGhEZWxheShpRmlsZSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2goZXgpe1xuICAgICAgICAgICAgaUZpbGUuc3RhdHVzPSBcImZhaWxlZFwiO1xuICAgICAgICAgICAgaUZpbGUucmV0dXJuZWRPYmplY3QgPSB7XCJFcnJvck1lc3NhZ2VcIjooZXggYXMge21lc3NhZ2U6c3RyaW5nfSkubWVzc2FnZX1cbiAgICAgICAgICAgIGF3YWl0IHRoaXMuU2VuZERvbmVFdmVudElmRG9uZSgpO1xuICAgICAgICAgICAgLy9hd2FpdCB0aGlzLnJlbW92ZUlmaWxlV2l0aERlbGF5KGlGaWxlKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBidXR0b25DbGljazogJHtleH1gKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG5cbiAgIFxuXG4gICBcbn1cbiIsIjxwZXAtZmlsZS1zdGF0dXMtcGFuZWwgW3RpdGxlXT1cIidGaWxlIEltcG9ydHMvRXhwb3J0cydcIiAqbmdJZj1cImlGaWxlQXJyYXk/Lmxlbmd0aFwiIFtmaWxlc0xpc3RdPVwiaUZpbGVBcnJheVwiPjwvcGVwLWZpbGUtc3RhdHVzLXBhbmVsPlxuPGlucHV0IHR5cGU9XCJmaWxlXCIgbXVsdGlwbGU9XCJtdWx0aXBsZVwiIG5hbWU9XCJhdmF0YXJzXCIgaWQ9XCJmaWxldXBsb2FkZXJcIiAjZmlsZUZpZWxkIChjaGFuZ2UpPVwiZGlteGltcG9ydHJ1bigkZXZlbnQpXCI+XG48IS0tIDxwZXAtYnV0dG9uXG4gIHZhbHVlPVwiZXhwb3J0XCJcbiAgc3R5bGVUeXBlPVwic3Ryb25nXCJcbiAgc3R5bGVTdGF0ZVR5cGU9XCJzdWNjZXNzXCJcbiAgc2l6ZVR5cGU9XCJzbVwiXG4gIGNsYXNzTmFtZXM9XCJoYWhhaFwiXG4gIGljb25OYW1lPVwic3lzdGVtX2RvY1wiXG4gIChidXR0b25DbGljayk9XCJidXR0b25DbGljaygkZXZlbnQpXCJcbj48L3BlcC1idXR0b24+IC0tPiJdfQ==
|
|
302
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlteC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9zaXRlLWxpYi9kaW14LWV4cG9ydC9kaW14LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb3NpdGUtbGliL2RpbXgtZXhwb3J0L2RpbXguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3RHLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7QUFTbEQsTUFBTSxPQUFPLGFBQWE7SUFNdEIsWUFDWSxTQUEyQixFQUM1QixZQUF5QjtRQUR4QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUM1QixpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUoxQixvQkFBZSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBZ0dsRSxZQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ1osZUFBVSxHQUFjLEVBQUUsQ0FBQztRQTRJM0IsYUFBUSxHQUFHLENBQUMsSUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUVyRCxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBRWhDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFM0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRTdDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMs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QUFNLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDbEQsTUFBTSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDdkIsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7Z0JBQ3RCLEtBQUssQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDO2dCQUM5QixNQUFNLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2dCQUNqQyxPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUM7Z0JBQ25DLHlDQUF5QzthQUM1QztZQUNELE9BQU0sRUFBRSxFQUFDO2dCQUNMLEtBQUssQ0FBQyxNQUFNLEdBQUUsUUFBUSxDQUFDO2dCQUN2QixLQUFLLENBQUMsY0FBYyxHQUFHLEVBQUMsY0FBYyxFQUFFLEVBQXVCLENBQUMsT0FBTyxFQUFDLENBQUE7Z0JBQ3hFLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7Z0JBQ2pDLHlDQUF5QztnQkFDekMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDbEMsT0FBTzthQUNWO1FBRUwsQ0FBQztLQUFBOzswR0E1VFEsYUFBYTs4RkFBYixhQUFhLG1SQ2IxQiwyZUFVa0I7MkZER0wsYUFBYTtrQkFMekIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsV0FBVyxFQUFFLHVCQUF1QjtvQkFDcEMsU0FBUyxFQUFFLENBQUMsdUJBQXVCLENBQUM7aUJBQ3ZDO2lJQUUyQixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBQ2IsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNJLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IERJTVhTZXJ2aWNlIH0gZnJvbSAnLi9kaW14LnNlcnZpY2UnO1xuaW1wb3J0IHsgc2F2ZUFzIH0gZnJvbSAnZmlsZS1zYXZlcic7XG5pbXBvcnQgeyBQZXBHdWlkIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgSUZpbGVFeHQgfSBmcm9tICcuJztcbmltcG9ydCB7IEZpbGVTdGF0dXMgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWNvbXBvc2l0ZS1saWIvZmlsZS1zdGF0dXMtcGFuZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1kaW14JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGlteC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGlteC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIERJTVhDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBWaWV3Q2hpbGQoJ2ZpbGVGaWVsZCcpIGZpbGVGaWVsZDpFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIERJTVhBZGRvblVVSUQhOiBzdHJpbmc7XG4gICAgQElucHV0KCkgRElNWFJlc291cmNlITogc3RyaW5nO1xuICAgIEBPdXRwdXQoKSBESU1YUHJvY2Vzc0RvbmU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIGRpbXhJbXBvcnRPcHRpb25zOiB7IE92ZXJ3cml0ZU9CamVjdD86IGJvb2xlYW4gfCB1bmRlZmluZWQ7IERlbGltaXRlcj86IHN0cmluZyB8IHVuZGVmaW5lZDsgT3duZXJJRD86IHN0cmluZyB8IHVuZGVmaW5lZDsgQWN0aW9uSUQ/OiBzdHJpbmcgfCB1bmRlZmluZWR9IHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHVibGljIGFkZG9uU2VydmljZTogRElNWFNlcnZpY2VcbiAgICApIHtcblxuICAgIH1cblxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7IFxuICAgICAgICAvLyBHZXQgdGhlIGZpcnN0IHRyYW5zbGF0aW9uIGZvciBsb2FkIGFsbCB0cmFuc2xhdGlvbnMuXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnU0hBRE9XX1NFVFRJTkdTLklOVEVOU0lUWV9TT0ZUJykudG9Qcm9taXNlKCkudGhlbigodHlwZVNvZnQpID0+IHsgY29uc29sZS5sb2coXCJzb21ldGhpbmdcIik7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldERJTVhFeHBvcnRQT1NUQm9keSh2YWx1ZTp7XG4gICAgICAgIERJTVhFeHBvcnRGb3JtYXQ/OnN0cmluZyxcbiAgICAgICAgRElNWEV4cG9ydEluY2x1ZGVEZWxldGVkPzogYm9vbGVhbixcbiAgICAgICAgRElNWEV4cG9ydEZpbGVOYW1lPzogc3RyaW5nLFxuICAgICAgICBESU1YRXhwb3J0V2hlcmU/OiBzdHJpbmcsXG4gICAgICAgIERJTVhFeHBvcnRGaWVsZHM/OiBzdHJpbmcsXG4gICAgICAgIERJTVhFeHBvcnREZWxpbWl0ZXI/OnN0cmluZ1xuICAgIH0pe1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgXCJGb3JtYXRcIjp2YWx1ZS5ESU1YRXhwb3J0Rm9ybWF0LFxuICAgICAgICAgICAgXCJJbmNsdWRlRGVsZXRlZFwiOnZhbHVlLkRJTVhFeHBvcnRJbmNsdWRlRGVsZXRlZCxcbiAgICAgICAgICAgIFwiV2hlcmVcIjp2YWx1ZS5ESU1YRXhwb3J0V2hlcmUsXG4gICAgICAgICAgICBcIkZpZWxkc1wiOnZhbHVlLkRJTVhFeHBvcnRGaWVsZHMsXG4gICAgICAgICAgICBcIkRlbGltaXRlclwiOnZhbHVlLkRJTVhFeHBvcnREZWxpbWl0ZXJcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jIHBvbGxESU1YUmVzdWx0KHBvbGxpbmdVUkw6c3RyaW5nLCBpZmlsZTpJRmlsZUV4dCl7XG4gICAgICAgIGNvbnNvbGUubG9nKGBwb2xsaW5nIGF1ZGl0IHdpdGggdGhlIGV4ZWN1dGlvblVVSUQ6ICR7cG9sbGluZ1VSTH1gKTtcbiAgICAgICAgY29uc3QgZGVsYXkgPSAobXM6IG51bWJlcikgPT4gbmV3IFByb21pc2UocmVzID0+IHNldFRpbWVvdXQocmVzLCBtcykpO1xuICAgICAgICBsZXQgc2Vjb25kcyA9IDA7XG4gICAgICAgIGNvbnN0IHdhaXRpbmdUaW1lID0gMTAwMDsgLy9pbiBtc1xuICAgICAgICB0cnl7XG4gICAgICAgICAgICBsZXQgcmVzdWx0O1xuICAgICAgICAgICAgd2hpbGUodHJ1ZSl7XG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gYXdhaXQgdGhpcy5hZGRvblNlcnZpY2UucGFwaUNsaWVudC5nZXQoYC9hdWRpdF9sb2dzLyR7cG9sbGluZ1VSTH1gKTtcbiAgICAgICAgXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coYHJlc3VsdCBmcm9tIGF1ZGl0bG9nIGdldCBpczogJHtyZXN1bHR9YCk7XG4gICAgICAgICAgICAgICAgaWYoICFyZXN1bHQgfHwgcmVzdWx0W1wiU3RhdHVzXCJdW1wiSURcIl0gPT09IDIgfHwgcmVzdWx0W1wiU3RhdHVzXCJdW1wiSURcIl0gPT09IDQpe1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgd2FpdGVkIGZvciAke3NlY29uZHMrK30gc2Vjb25kc2ApO1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCBkZWxheSh3YWl0aW5nVGltZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2V7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN3aXRjaChyZXN1bHRbXCJTdGF0dXNcIl1bXCJJRFwiXSl7XG4gICAgICAgICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgICAgICAgICBpZmlsZS5zdGF0dXMgPSBcImZhaWxlZFwiO1xuICAgICAgICAgICAgICAgICAgICBpZmlsZS5yZXR1cm5lZE9iamVjdCA9IHtcIkVycm9yTWVzc2FnZVwiOiByZXN1bHRbXCJBdWRpdEluZm9cIl1bXCJFcnJvck1lc3NhZ2VcIl19XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuU2VuZERvbmVFdmVudElmRG9uZSgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBwb2xsaW5nIHJlc3VsdDogJHtyZXN1bHRbXCJBdWRpdEluZm9cIl1bXCJSZXN1bHRPYmplY3RcIl19YCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKHJlc3VsdFtcIkF1ZGl0SW5mb1wiXVtcIlJlc3VsdE9iamVjdFwiXSk7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgaWZpbGUuc3RhdHVzID0gXCJmYWlsZWRcIjtcbiAgICAgICAgICAgICAgICAgICAgaWZpbGUucmV0dXJuZWRPYmplY3QgPSB7XCJFcnJvck1lc3NhZ2VcIjogYHVua25vd24gYXVkaXQgbG9nIHR5cGU6ICR7cmVzdWx0W1wiU3RhdHVzXCJdfWB9XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuU2VuZERvbmVFdmVudElmRG9uZSgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNhdGNoKGV4KXtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBwb2xsRElNWFJlc3VsdDogJHtleH1gKTtcbiAgICAgICAgICAgIGlmaWxlLnN0YXR1cyA9IFwiZmFpbGVkXCI7XG4gICAgICAgICAgICBpZmlsZS5yZXR1cm5lZE9iamVjdCA9IHtcIkVycm9yTWVzc2FnZVwiOiAoZXggYXMge21lc3NhZ2U6c3RyaW5nfSkubWVzc2FnZX1cbiAgICAgICAgICAgIGF3YWl0IHRoaXMuU2VuZERvbmVFdmVudElmRG9uZSgpO1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXROZXdGaWxlTmFtZSh2YWx1ZTp7XG4gICAgICAgIERJTVhFeHBvcnRGb3JtYXQ6c3RyaW5nLFxuICAgICAgICBESU1YRXhwb3J0RmlsZU5hbWU6IHN0cmluZyxcbiAgICB9KXtcbiAgICAgICAgbGV0IGV4dGVuc2lvbjtcbiAgICAgICAgc3dpdGNoICh2YWx1ZS5ESU1YRXhwb3J0Rm9ybWF0LnRvTG93ZXJDYXNlKCkpe1xuICAgICAgICAgICAgY2FzZSBcImpzb25cIjpcbiAgICAgICAgICAgICAgICBleHRlbnNpb24gPSBcIi5qc29uXCI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwiY3N2XCI6XG4gICAgICAgICAgICAgICAgZXh0ZW5zaW9uID0gJy5jc3YnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBleHRlbnNpb24gPSBcIlwiO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZpbGVuYW1lID0gdmFsdWUuRElNWEV4cG9ydEZpbGVOYW1lO1xuICAgICAgICByZXR1cm4gZmlsZW5hbWUrZXh0ZW5zaW9uO1xuICAgIH1cbiAgICBcbiAgICBpRmlsZUlEID0gMDtcbiAgICBpRmlsZUFycmF5OklGaWxlRXh0W10gPSBbXTtcbiAgICBjcmVhdGVOZXdJRmlsZShmaWxlTmFtZTpzdHJpbmcgLCBzdGF0dXM6XCJkb3dubG9hZGluZ1wifFwidXBsb2FkaW5nXCIpOklGaWxlRXh0e1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgXCJrZXlcIjp0aGlzLmlGaWxlSUQrKyxcbiAgICAgICAgICAgIFwibmFtZVwiOmZpbGVOYW1lLFxuICAgICAgICAgICAgXCJzdGF0dXNcIjpzdGF0dXN9O1xuICAgIH1cblxuICAgIGFzeW5jIHJlbW92ZUlmaWxlc1dpdGhEZWxheShpRmlsZTpGaWxlU3RhdHVzLCBkZWxheSA9IDIwMDApIHtcbiAgICAgICAgd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmlGaWxlQXJyYXkuZmluZEluZGV4KGVsZW1lbnQgPT4gZWxlbWVudCA9PT0gaUZpbGUpO1xuICAgICAgICAgICAgaWYgKGluZGV4ID49IDApe1xuICAgICAgICAgICAgICAgIHRoaXMuaUZpbGVBcnJheS5zcGxpY2UoaW5kZXgsMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIGRlbGF5KVxuICAgIH1cblxuICAgIGFzeW5jIGNsZWFySUZpbGVzV2l0aERlbGF5KGRlbGF5ID0gMjAwMCl7XG4gICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaUZpbGVBcnJheSA9IFtdO1xuICAgICAgICB9LCBkZWxheSlcbiAgICB9XG5cblxuICAgIHVwbG9hZEZpbGUob3B0aW9ucz86e092ZXJ3cml0ZU9CamVjdD86Ym9vbGVhbiwgRGVsaW1pdGVyPzpzdHJpbmcsIE93bmVySUQ/OnN0cmluZywgQWN0aW9uSUQ/OnN0cmluZ30pe1xuICAgICAgICB0aGlzLmRpbXhJbXBvcnRPcHRpb25zID0gb3B0aW9ucztcbiAgICAgICAgY29uc3QgZWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiZmlsZXVwbG9hZGVyXCIpO1xuICAgaWYoZWxlbSAmJiBkb2N1bWVudC5jcmVhdGVFdmVudCkge1xuICAgICAgY29uc3QgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoXCJNb3VzZUV2ZW50c1wiKTtcbiAgICAgIGV2dC5pbml0RXZlbnQoXCJjbGlja1wiLCB0cnVlLCBmYWxzZSk7XG4gICAgICBlbGVtLmRpc3BhdGNoRXZlbnQoZXZ0KTtcbiAgIH1cbiAgICAgICAgLy8gdGhpcy5maWxlRmllbGQ/Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9ICAgXG5cbiAgICBJc0ZpbGVJblByb2dyZXNzKGlGaWxlOkZpbGVTdGF0dXMpe1xuICAgICAgICByZXR1cm4gaUZpbGUuc3RhdHVzID09IFwiZG93bmxvYWRpbmdcIiB8fCBpRmlsZS5zdGF0dXMgPT0gXCJ1cGxvYWRpbmdcIjtcbiAgICB9XG5cbiAgICBBbnlGaWxlc0luUHJvZ3Jlc3MoKXtcbiAgICAgICAgaWYgKHRoaXMuaUZpbGVBcnJheS5maW5kKHRoaXMuSXNGaWxlSW5Qcm9ncmVzcykgPT09IHVuZGVmaW5lZCl7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICBHZXREb25lRXZlbnRCb2R5KCl7XG4gICAgICAgIHJldHVybiB0aGlzLmlGaWxlQXJyYXkubWFwKGlGaWxlID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgXCJGaWxlTmFtZVwiOiBpRmlsZS5uYW1lLCBcbiAgICAgICAgICAgICAgICBcIlN0YXR1c1wiOiBpRmlsZS5zdGF0dXMsXG4gICAgICAgICAgICAgICAgXCJSZXR1cm5lZE9iamVjdFwiOiBpRmlsZS5yZXR1cm5lZE9iamVjdCFcbiAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBhc3luYyBTZW5kRG9uZUV2ZW50SWZEb25lKCl7XG4gICAgICAgIGlmICh0aGlzLkFueUZpbGVzSW5Qcm9ncmVzcygpKXtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBldmVudE9iamVjdDphbnkgPSB0aGlzLkdldERvbmVFdmVudEJvZHkoKTtcbiAgICAgICAgdGhpcy5ESU1YUHJvY2Vzc0RvbmUuZW1pdChldmVudE9iamVjdCk7XG4gICAgICAgIGF3YWl0IHRoaXMuY2xlYXJJRmlsZXNXaXRoRGVsYXkoKTtcbiAgICB9XG5cbiAgICBhc3luYyBkaW14aW1wb3J0cnVuKGU6YW55KSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiRW50ZXIgRElNWEltcG9ydFJ1blwiKTtcbiAgICAgICAgY29uc3QgZmlsZXMgPSBlLnRhcmdldC5maWxlcztcbiAgICAgICAgY29uc3QgZmlsZUxpc3RBc0FycmF5ID0gQXJyYXkuZnJvbShmaWxlcyk7XG4gICAgICAgIGZpbGVMaXN0QXNBcnJheS5mb3JFYWNoKGFzeW5jIChmaWxlLCBpKSA9PiB7XG5cbiAgICAgICAgICAgIGNvbnN0IGZpbGV4ID0gKGZpbGUgYXMgSFRNTElucHV0RWxlbWVudCk7XG4gICAgICAgICAgICBjb25zdCBkaW14X2ltcG9ydF9yZWxhdGl2ZVVSTCA9IGAvYWRkb25zL2FwaS80NGM5NzExNS02ZDE0LTQ2MjYtOTFkYy04M2YxNzZlOWEwZmMvYXBpL2ZpbGVfaW1wb3J0X3VwbG9hZGA7XG4gICAgICAgICAgICBjb25zdCBzdHIgPSAoYXdhaXQgdGhpcy50b0Jhc2U2NChmaWxleCkpIGFzIHN0cmluZzsgLy8/Pz9cbiAgICAgICAgICAgIGNvbnN0IGV4dCA9IGZpbGV4Lm5hbWUuc3BsaXQoJy4nKVsxXTtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0ge2ZpbGVTdHI6c3RyLCBmaWxlRXh0OmV4dH1cbiAgICAgICAgICAgIGNvbnN0IGRpbXhVcGxvYWRPYmplY3QgPSB7Li4udGhpcy5nZXRQRlNVcGxvYWRPYmplY3QodmFsdWUpLCAuLi50aGlzLmRpbXhJbXBvcnRPcHRpb25zLCBSZXNvdXJjZTp0aGlzLkRJTVhSZXNvdXJjZSwgQWRkb25VVUlEOnRoaXMuRElNWEFkZG9uVVVJRH07XG4gICAgICAgICAgICBjb25zdCBpRmlsZTpJRmlsZUV4dCA9IHRoaXMuY3JlYXRlTmV3SUZpbGUoZmlsZXgubmFtZSwgXCJ1cGxvYWRpbmdcIik7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgY3JlYXRlZCBuZXcgaUZpbGU6ICR7aUZpbGV9YCk7XG4gICAgICAgICAgICB0aGlzLmlGaWxlQXJyYXkucHVzaChpRmlsZSk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgYWRkZWQgaUZpbGUgdG8gaUZpbGVBcnJheWApO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICB0cnl7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJwb3N0aW5nIHRvIGRpbXggaW1wb3J0X3VwbG9hZCBub3dcIik7XG4gICAgICAgICAgICAgICAgY29uc3QgaGVhZGVyOmFueSA9IHt9O1xuICAgICAgICAgICAgICAgIGlmKGRpbXhVcGxvYWRPYmplY3QuQWN0aW9uSUQpe1xuICAgICAgICAgICAgICAgICAgICBoZWFkZXJbXCJYLVBlcHBlcmktQWN0aW9uSURcIl09ZGlteFVwbG9hZE9iamVjdC5BY3Rpb25JRDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYoZGlteFVwbG9hZE9iamVjdC5Pd25lcklEKXtcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyW1wiWC1QZXBwZXJpLU93bmVySURcIl09ZGlteFVwbG9hZE9iamVjdC5Pd25lcklEO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmFkZG9uU2VydmljZS5wYXBpQ2xpZW50LnBvc3QoZGlteF9pbXBvcnRfcmVsYXRpdmVVUkwsIGRpbXhVcGxvYWRPYmplY3QsIGhlYWRlcik7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJHb3QgcmVwbHkgZnJvbSBkaW14LCBjYWxsaW5nIHBvbGwgd2l0aCB0aGUgcmVzdWx0OlwiKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShyZXMpKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IHBvbGxfcmVzdWx0ID0gYXdhaXQgdGhpcy5wb2xsRElNWFJlc3VsdChyZXNbJ0V4ZWN1dGlvblVVSUQnXSwgaUZpbGUpO1xuICAgICAgICAgICAgICAgIGlmIChwb2xsX3Jlc3VsdCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBkb25lIHBvbGxpbmcsIGdvdCByZXN1bHQ6ICR7SlNPTi5zdHJpbmdpZnkocG9sbF9yZXN1bHQpfWApO1xuICAgICAgICAgICAgICAgIGlGaWxlLnN0YXR1cyA9IFwiZG9uZVwiO1xuICAgICAgICAgICAgICAgIGlGaWxlLnJldHVybmVkT2JqZWN0ID0gcG9sbF9yZXN1bHQ7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5TZW5kRG9uZUV2ZW50SWZEb25lKCk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJJbXBvcnRlZCB0aGUgZmlsZVwiKTtcbiAgICAgICAgICAgICAgICAvL2F3YWl0IHRoaXMucmVtb3ZlSWZpbGVXaXRoRGVsYXkoaUZpbGUpO1xuICAgICAgICAgICAgICAgIC8vIGNoZWNrIGFsbCBkb25lXG4gICAgICAgICAgICAgICAgXG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoKGV4KXtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgRElNWEltcG9ydFJ1bjogJHtleH1gKTtcbiAgICAgICAgICAgICAgICBpRmlsZS5zdGF0dXMgPSBcImZhaWxlZFwiO1xuICAgICAgICAgICAgICAgIGlGaWxlLnJldHVybmVkT2JqZWN0ID0ge1wiRXJyb3JNZXNzYWdlXCI6IChleCBhcyB7bWVzc2FnZTpzdHJpbmd9KS5tZXNzYWdlfVxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuU2VuZERvbmVFdmVudElmRG9uZSgpO1xuICAgICAgICAgICAgICAgIC8vYXdhaXQgdGhpcy5yZW1vdmVJZmlsZVdpdGhEZWxheShpRmlsZSwgMjAwMCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgfSk7XG4gICAgfVxuICAgIGdldE5ld1BGU1VwbG9hZEtleShmaWxlRXh0OnN0cmluZyl7XG4gICAgICAgIGNvbnN0IHV1aWQgPSBQZXBHdWlkLm5ld0d1aWQoKTtcbiAgICAgICAgY29uc3QgZm9sZGVyID0gJ0RJTVhfaW1wb3J0JztcbiAgICAgICAgY29uc3QgcGZzS2V5ID0gYC8ke2ZvbGRlcn0vJHt1dWlkfS4ke2ZpbGVFeHR9YDtcbiAgICAgICAgcmV0dXJuIHBmc0tleTtcbiAgICB9XG4gICAgZ2V0UEZTVXBsb2FkT2JqZWN0KHZhbHVlOntmaWxlU3RyOnN0cmluZywgZmlsZUV4dDpzdHJpbmd9KXtcbiAgICAgICAgY29uc3QgZmlsZVN0ckFyciA9IHZhbHVlLmZpbGVTdHIuc3BsaXQoJzsnKTtcbiAgICAgICAgY29uc3QgbWltZSA9IGZpbGVTdHJBcnJbMF0uc3BsaXQoJzonKVsxXTtcbiAgICAgICAgY29uc3QgcGZzS2V5ID0gdGhpcy5nZXROZXdQRlNVcGxvYWRLZXkodmFsdWUuZmlsZUV4dCk7XG4gICAgICAgIGNvbnN0IHBmc1VwbG9hZE9iamVjdCA9IHtcbiAgICAgICAgICAgIFwiS2V5XCI6IHBmc0tleSxcbiAgICAgICAgICAgIFwiTUlNRVwiOiBtaW1lLFxuICAgICAgICAgICAgXCJVUklcIjp2YWx1ZS5maWxlU3RyXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBmc1VwbG9hZE9iamVjdDtcbiAgICB9XG5cbiAgICB0b0Jhc2U2NCA9IChmaWxlOmFueSkgPT4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuXG4gICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICAgIFxuICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgICAgICAgXG4gICAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiByZXNvbHZlKHJlYWRlci5yZXN1bHQpO1xuICAgICAgICBcbiAgICAgICAgcmVhZGVyLm9uZXJyb3IgPSBlcnJvciA9PiByZWplY3QoZXJyb3IpO1xuICAgICAgICBcbiAgICAgICAgfSk7XG5cbiAgICBhc3luYyBESU1YRXhwb3J0UnVuKHZhbHVlOiB7XG4gICAgICAgIERJTVhFeHBvcnRGb3JtYXQ/OnN0cmluZyxcbiAgICAgICAgRElNWEV4cG9ydEluY2x1ZGVEZWxldGVkPzogYm9vbGVhbixcbiAgICAgICAgRElNWEV4cG9ydEZpbGVOYW1lPzogc3RyaW5nLFxuICAgICAgICBESU1YRXhwb3J0V2hlcmU/OiBzdHJpbmcsXG4gICAgICAgIERJTVhFeHBvcnRGaWVsZHM/OiBzdHJpbmcsXG4gICAgICAgIERJTVhFeHBvcnREZWxpbWl0ZXI/OnN0cmluZyxcbiAgICAgICAgQWN0aW9uSUQ/OnN0cmluZ1xuICAgIH0pIHtcbiAgICAgICAgaWYgKCF2YWx1ZSl7XG4gICAgICAgICAgICB2YWx1ZSA9IHt9O1xuICAgICAgICB9XG4gICAgICAgIGlmICghdmFsdWUuRElNWEV4cG9ydEZvcm1hdCl7XG4gICAgICAgICAgICB2YWx1ZS5ESU1YRXhwb3J0Rm9ybWF0ID0gJ2pzb24nO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdmFsdWUuRElNWEV4cG9ydEluY2x1ZGVEZWxldGVkKXtcbiAgICAgICAgICAgIHZhbHVlLkRJTVhFeHBvcnRJbmNsdWRlRGVsZXRlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdmFsdWUuRElNWEV4cG9ydEZpbGVOYW1lKXtcbiAgICAgICAgICAgIHZhbHVlLkRJTVhFeHBvcnRGaWxlTmFtZSA9ICdleHBvcnQnO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGJvZCA9IHRoaXMuZ2V0RElNWEV4cG9ydFBPU1RCb2R5KHZhbHVlID8gdmFsdWUgOiB7fSk7XG4gICAgICAgIGNvbnN0IGZpbGVOYW1lID0gdGhpcy5nZXROZXdGaWxlTmFtZSh2YWx1ZSBhcyB7RElNWEV4cG9ydEZvcm1hdDpzdHJpbmcsIERJTVhFeHBvcnRGaWxlTmFtZTpzdHJpbmd9KTtcbiAgICAgICAgY29uc3QgaUZpbGU6SUZpbGVFeHQgPSB0aGlzLmNyZWF0ZU5ld0lGaWxlKGZpbGVOYW1lLCBcImRvd25sb2FkaW5nXCIpO1xuICAgICAgICBjb25zb2xlLmxvZyhgY3JlYXRlZCBuZXcgaUZpbGU6ICR7aUZpbGV9YCk7XG4gICAgICAgIHRoaXMuaUZpbGVBcnJheS5wdXNoKGlGaWxlKTtcbiAgICAgICAgY29uc29sZS5sb2coYGFkZGVkIGlGaWxlIHRvIGlGaWxlQXJyYXlgKTtcbiAgICAgXG4gICAgICAgIHRyeXtcblxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJwb3N0aW5nIHRvIGRpbXggZXhwb3J0IG5vd1wiKTtcbiAgICAgICAgICAgIGNvbnN0IGhlYWRlcjphbnkgPSB7fTtcbiAgICAgICAgICAgIGlmKHZhbHVlLkFjdGlvbklEKXtcbiAgICAgICAgICAgICAgICBoZWFkZXJbXCJYLVBlcHBlcmktQWN0aW9uSURcIl09dmFsdWUuQWN0aW9uSUQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmFkZG9uU2VydmljZS5wYXBpQ2xpZW50LnBvc3QoYC9hZGRvbnMvZGF0YS9leHBvcnQvZmlsZS8ke3RoaXMuRElNWEFkZG9uVVVJRH0vJHt0aGlzLkRJTVhSZXNvdXJjZX1gLCBib2QsIGhlYWRlcik7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIkdvdCByZXBseSBmcm9tIGRpbXgsIGNhbGxpbmcgcG9sbCB3aXRoIHRoZSByZXN1bHQ6XCIpO1xuICAgICAgICAgICAgY29uc29sZS5sb2cocmVzKTtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMucG9sbERJTVhSZXN1bHQocmVzWydFeGVjdXRpb25VVUlEJ10sIGlGaWxlKTtcbiAgICAgICAgICAgIGlmIChyZXN1bHQgPT09IG51bGwpe1xuICAgICAgICAgICAgICAgIHJldHVybiBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHVybCA9IHJlc3VsdFtcIkRvd25sb2FkVVJMXCJdO1xuXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImF0dGVtcHRpbmcgdG8gZG93bmxvYWQgdGhlIGZpbGVcIik7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgdXJsIGlzOiAke3VybH1gKTtcbiAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBhd2FpdCBmZXRjaCh1cmwpLnRoZW4ociA9PiByLmJsb2IoKSk7XG4gICAgICAgICAgICBzYXZlQXMoYmxvYiwgZmlsZU5hbWUpO1xuICAgICAgICAgICAgaUZpbGUuc3RhdHVzID0gXCJkb25lXCI7XG4gICAgICAgICAgICBpRmlsZS5yZXR1cm5lZE9iamVjdCA9IHJlc3VsdDtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuU2VuZERvbmVFdmVudElmRG9uZSgpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJkb3dubG9hZGVkIHRoZSBmaWxlXCIpO1xuICAgICAgICAgICAgLy9hd2FpdCB0aGlzLnJlbW92ZUlmaWxlV2l0aERlbGF5KGlGaWxlKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaChleCl7XG4gICAgICAgICAgICBpRmlsZS5zdGF0dXM9IFwiZmFpbGVkXCI7XG4gICAgICAgICAgICBpRmlsZS5yZXR1cm5lZE9iamVjdCA9IHtcIkVycm9yTWVzc2FnZVwiOihleCBhcyB7bWVzc2FnZTpzdHJpbmd9KS5tZXNzYWdlfVxuICAgICAgICAgICAgYXdhaXQgdGhpcy5TZW5kRG9uZUV2ZW50SWZEb25lKCk7XG4gICAgICAgICAgICAvL2F3YWl0IHRoaXMucmVtb3ZlSWZpbGVXaXRoRGVsYXkoaUZpbGUpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coYGJ1dHRvbkNsaWNrOiAke2V4fWApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cblxuICAgXG5cbiAgIFxufVxuIiwiPHBlcC1maWxlLXN0YXR1cy1wYW5lbCBbdGl0bGVdPVwiJ0ZpbGUgSW1wb3J0cy9FeHBvcnRzJ1wiICpuZ0lmPVwiaUZpbGVBcnJheT8ubGVuZ3RoXCIgW2ZpbGVzTGlzdF09XCJpRmlsZUFycmF5XCI+PC9wZXAtZmlsZS1zdGF0dXMtcGFuZWw+XG48aW5wdXQgdHlwZT1cImZpbGVcIiBtdWx0aXBsZT1cIm11bHRpcGxlXCIgbmFtZT1cImF2YXRhcnNcIiBpZD1cImZpbGV1cGxvYWRlclwiICNmaWxlRmllbGQgKGNoYW5nZSk9XCJkaW14aW1wb3J0cnVuKCRldmVudClcIj5cbjwhLS0gPHBlcC1idXR0b25cbiAgdmFsdWU9XCJleHBvcnRcIlxuICBzdHlsZVR5cGU9XCJzdHJvbmdcIlxuICBzdHlsZVN0YXRlVHlwZT1cInN1Y2Nlc3NcIlxuICBzaXplVHlwZT1cInNtXCJcbiAgY2xhc3NOYW1lcz1cImhhaGFoXCJcbiAgaWNvbk5hbWU9XCJzeXN0ZW1fZG9jXCJcbiAgKGJ1dHRvbkNsaWNrKT1cImJ1dHRvbkNsaWNrKCRldmVudClcIlxuPjwvcGVwLWJ1dHRvbj4gLS0+Il19
|
|
@@ -1,15 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import { FileStatus } from '@pepperi-addons/ngx-composite-lib/file-status-panel';
|
|
2
|
+
export class IFileExt extends FileStatus {
|
|
2
3
|
constructor() {
|
|
3
|
-
|
|
4
|
-
this.name = '';
|
|
4
|
+
super(...arguments);
|
|
5
5
|
this.status = 'downloading';
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
|
|
9
|
-
constructor() {
|
|
10
|
-
this.key = 0;
|
|
11
|
-
this.name = '';
|
|
12
|
-
this.status = 'downloading';
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlteC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb3NpdGUtbGliL2RpbXgtZXhwb3J0L2RpbXgubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxPQUFPLEtBQUs7SUFBbEI7UUFDSSxRQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ1IsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLFdBQU0sR0FBZSxhQUFhLENBQUM7SUFDbkMsQ0FBQztDQUFBO0FBQ0wsTUFBTSxPQUFPLFFBQVE7SUFBckI7UUFDSSxRQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ1IsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLFdBQU0sR0FBZSxhQUFhLENBQUM7SUFFdkMsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsidHlwZSBmaWxlU3RhdHVzID0gJ3VwbG9hZGluZyd8J2Rvd25sb2FkaW5nJ3wnZG9uZSd8J2ZhaWxlZCd8J2hpZGRlbic7XG5leHBvcnQgY2xhc3MgSUZpbGUge1xuICAgIGtleSA9IDA7XG4gICAgbmFtZSA9ICcnO1xuICAgIHN0YXR1czogZmlsZVN0YXR1cyA9ICdkb3dubG9hZGluZyc7XG4gICAgfVxuZXhwb3J0IGNsYXNzIElGaWxlRXh0IHtcbiAgICBrZXkgPSAwO1xuICAgIG5hbWUgPSAnJztcbiAgICBzdGF0dXM6IGZpbGVTdGF0dXMgPSAnZG93bmxvYWRpbmcnO1xuICAgIHJldHVybmVkT2JqZWN0PzogYW55O1xufSJdfQ==
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlteC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb3NpdGUtbGliL2RpbXgtZXhwb3J0L2RpbXgubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixVQUFVLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUVqRyxNQUFNLE9BQU8sUUFBUyxTQUFRLFVBQVU7SUFBeEM7O1FBQ0ksV0FBTSxHQUFtQixhQUFhLENBQUM7SUFFM0MsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsZVN0YXR1c1R5cGUsIEZpbGVTdGF0dXMgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWNvbXBvc2l0ZS1saWIvZmlsZS1zdGF0dXMtcGFuZWwnO1xuXG5leHBvcnQgY2xhc3MgSUZpbGVFeHQgZXh0ZW5kcyBGaWxlU3RhdHVzIHtcbiAgICBzdGF0dXM6IEZpbGVTdGF0dXNUeXBlID0gJ2Rvd25sb2FkaW5nJztcbiAgICByZXR1cm5lZE9iamVjdD86IGFueTtcbn0iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* export from ngx-composite-lib/
|
|
2
|
+
* export from ngx-composite-lib/dimx-export
|
|
3
3
|
*/
|
|
4
4
|
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9zaXRlLWxpYi9kaW14LWV4cG9ydC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIGV4cG9ydCBmcm9tIG5neC1jb21wb3NpdGUtbGliL2RpbXgtZXhwb3J0XG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Public API Surface of ngx-composite-lib/
|
|
2
|
+
* Public API Surface of ngx-composite-lib/dimx-export
|
|
3
3
|
*/
|
|
4
4
|
export * from './dimx.module';
|
|
5
5
|
export * from './dimx.component';
|
|
6
6
|
export * from './dimx.model';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb3NpdGUtbGliL2RpbXgtZXhwb3J0L3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtY29tcG9zaXRlLWxpYi9kaW14LWV4cG9ydFxuICovXG5leHBvcnQgKiBmcm9tICcuL2RpbXgubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlteC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kaW14Lm1vZGVsJztcbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
1
|
+
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@ngx-translate/core";
|
|
4
4
|
import * as i2 from "@pepperi-addons/ngx-lib/button";
|
|
@@ -9,17 +9,18 @@ export class FileStatusPanelComponent {
|
|
|
9
9
|
this.translate = translate;
|
|
10
10
|
this.title = '';
|
|
11
11
|
this.filesList = [];
|
|
12
|
+
this.closeClick = new EventEmitter();
|
|
12
13
|
//
|
|
13
14
|
}
|
|
14
15
|
ngOnInit() {
|
|
15
16
|
//
|
|
16
17
|
}
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
onCloseClicked(event) {
|
|
19
|
+
this.closeClick.emit();
|
|
19
20
|
}
|
|
20
21
|
}
|
|
21
22
|
FileStatusPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: FileStatusPanelComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
22
|
-
FileStatusPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: FileStatusPanelComponent, selector: "pep-file-status-panel", inputs: { title: "title", filesList: "filesList" }, ngImport: i0, template: "<div *ngIf=\"filesList.length\" id=\"uploadPanelCont\">\n <div class=\"panel-header pep-border-bottom\">\n <label class=\"body-md ellipsis\">{{title}}</label>\n <pep-button
|
|
23
|
+
FileStatusPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: FileStatusPanelComponent, selector: "pep-file-status-panel", inputs: { title: "title", filesList: "filesList" }, outputs: { closeClick: "closeClick" }, ngImport: i0, template: "<div *ngIf=\"filesList.length\" id=\"uploadPanelCont\">\n <div class=\"panel-header pep-border-bottom\">\n <label class=\"body-md ellipsis\">{{title}}</label>\n <pep-button sizeType=\"xs\" classNames=\"round-corners\" iconName=\"system_close\" iconPosition=\"end\" (buttonClick)=\"onCloseClicked($event)\"></pep-button>\n </div>\n <div class=\"panel-content\">\n <ul>\n <li *ngFor=\"let file of filesList\">\n <ng-container *ngIf=\"file?.status !== 'hidden'\">\n <span class=\"color-dimmed body-sm ellipsis\">{{file.name}}</span>\n <pep-icon class=\"pep-spacing-element\" name=\"arrow_right_alt\"></pep-icon>\n <span class=\"body-sm\" title=\"{{file.statusMessage}}\">{{file.status}}</span>\n </ng-container>\n </li>\n </ul>\n </div>\n</div>\n", styles: ["#uploadPanelCont{width:22rem}#uploadPanelCont .panel-header{display:flex;flex-direction:row;justify-content:space-between;height:2.5rem}#uploadPanelCont .panel-header ::ng-deep .round-corners{border-radius:1.5rem}.panel-content{max-height:50vh;overflow:auto}.panel-content ul{list-style-type:none;padding:0}.panel-content ul li{height:1.25rem;margin-top:.5rem;display:flex;flex-direction:row;align-items:center}.panel-content ul li pep-icon{height:1rem}\n"], components: [{ type: i2.PepButtonComponent, selector: "pep-button", inputs: ["styleType", "styleStateType", "sizeType", "classNames", "disabled", "iconPosition", "visible", "key", "value", "iconName"], outputs: ["buttonClick"] }, { type: i3.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
23
24
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: FileStatusPanelComponent, decorators: [{
|
|
24
25
|
type: Component,
|
|
25
26
|
args: [{
|
|
@@ -31,5 +32,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
|
|
|
31
32
|
type: Input
|
|
32
33
|
}], filesList: [{
|
|
33
34
|
type: Input
|
|
35
|
+
}], closeClick: [{
|
|
36
|
+
type: Output
|
|
34
37
|
}] } });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zdGF0dXMtcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvZmlsZS1zdGF0dXMtcGFuZWwvZmlsZS1zdGF0dXMtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvZmlsZS1zdGF0dXMtcGFuZWwvZmlsZS1zdGF0dXMtcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBc0IsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQW9CLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFTN0csTUFBTSxPQUFPLHdCQUF3QjtJQU9qQyxZQUFtQixTQUEyQjtRQUEzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQU5yQyxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsY0FBUyxHQUFzQixFQUFFLENBQUM7UUFHM0MsZUFBVSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBR3ZELEVBQUU7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLEVBQUU7SUFDTixDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQVU7UUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDOztxSEFqQlEsd0JBQXdCO3lHQUF4Qix3QkFBd0Isd0pDVHJDLDgzQkFpQkE7MkZEUmEsd0JBQXdCO2tCQUxwQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFdBQVcsRUFBRSxvQ0FBb0M7b0JBQ2pELFNBQVMsRUFBRSxDQUFDLG9DQUFvQyxDQUFDO2lCQUNwRDt1R0FFWSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFHTixVQUFVO3NCQURULE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5qZWN0YWJsZSwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPcHRpb25hbCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBGaWxlU3RhdHVzIH0gZnJvbSAnLi9maWxlLXN0YXR1cy1wYW5lbC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLWZpbGUtc3RhdHVzLXBhbmVsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZmlsZS1zdGF0dXMtcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZpbGUtc3RhdHVzLXBhbmVsLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRmlsZVN0YXR1c1BhbmVsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSB0aXRsZSA9ICcnO1xuICAgIEBJbnB1dCgpIGZpbGVzTGlzdDogQXJyYXk8RmlsZVN0YXR1cz4gPSBbXTtcbiAgICBcbiAgICBAT3V0cHV0KClcbiAgICBjbG9zZUNsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgXG4gICAgY29uc3RydWN0b3IocHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xuICAgICAgIC8vXG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIC8vXG4gICAgfVxuXG4gICAgb25DbG9zZUNsaWNrZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsb3NlQ2xpY2suZW1pdCgpO1xuICAgIH1cblxuXG59IiwiPGRpdiAqbmdJZj1cImZpbGVzTGlzdC5sZW5ndGhcIiBpZD1cInVwbG9hZFBhbmVsQ29udFwiPlxuICAgIDxkaXYgY2xhc3M9XCJwYW5lbC1oZWFkZXIgcGVwLWJvcmRlci1ib3R0b21cIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiYm9keS1tZCBlbGxpcHNpc1wiPnt7dGl0bGV9fTwvbGFiZWw+XG4gICAgICAgIDxwZXAtYnV0dG9uIHNpemVUeXBlPVwieHNcIiBjbGFzc05hbWVzPVwicm91bmQtY29ybmVyc1wiIGljb25OYW1lPVwic3lzdGVtX2Nsb3NlXCIgaWNvblBvc2l0aW9uPVwiZW5kXCIgKGJ1dHRvbkNsaWNrKT1cIm9uQ2xvc2VDbGlja2VkKCRldmVudClcIj48L3BlcC1idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInBhbmVsLWNvbnRlbnRcIj5cbiAgICAgICAgPHVsPlxuICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBmaWxlIG9mIGZpbGVzTGlzdFwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWxlPy5zdGF0dXMgIT09ICdoaWRkZW4nXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29sb3ItZGltbWVkIGJvZHktc20gZWxsaXBzaXNcIj57e2ZpbGUubmFtZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8cGVwLWljb24gY2xhc3M9XCJwZXAtc3BhY2luZy1lbGVtZW50XCIgbmFtZT1cImFycm93X3JpZ2h0X2FsdFwiPjwvcGVwLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYm9keS1zbVwiIHRpdGxlPVwie3tmaWxlLnN0YXR1c01lc3NhZ2V9fVwiPnt7ZmlsZS5zdGF0dXN9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
export class
|
|
1
|
+
export class FileStatus {
|
|
2
2
|
constructor() {
|
|
3
3
|
this.key = 0;
|
|
4
4
|
this.name = '';
|
|
5
5
|
this.status = 'uploading';
|
|
6
|
+
this.statusMessage = '';
|
|
6
7
|
}
|
|
7
8
|
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zdGF0dXMtcGFuZWwubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9zaXRlLWxpYi9maWxlLXN0YXR1cy1wYW5lbC9maWxlLXN0YXR1cy1wYW5lbC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sVUFBVTtJQUF2QjtRQUNJLFFBQUcsR0FBRyxDQUFDLENBQUM7UUFDUixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsV0FBTSxHQUFtQixXQUFXLENBQUM7UUFDckMsa0JBQWEsR0FBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgRmlsZVN0YXR1c1R5cGUgPSAndXBsb2FkaW5nJyB8ICdkb3dubG9hZGluZycgfCAnZG9uZScgfCAnZmFpbGVkJyB8ICdoaWRkZW4nIHwgJ2RlbGV0aW5nJztcclxuXHJcbmV4cG9ydCBjbGFzcyBGaWxlU3RhdHVzIHtcclxuICAgIGtleSA9IDA7XHJcbiAgICBuYW1lID0gJyc7XHJcbiAgICBzdGF0dXM6IEZpbGVTdGF0dXNUeXBlID0gJ3VwbG9hZGluZyc7XHJcbiAgICBzdGF0dXNNZXNzYWdlPyA9ICcnO1xyXG59Il19
|
|
@@ -10,7 +10,7 @@ import * as i1$1 from '@ngx-translate/core';
|
|
|
10
10
|
import jwt from 'jwt-decode';
|
|
11
11
|
import { PapiClient } from '@pepperi-addons/papi-sdk';
|
|
12
12
|
import * as i3 from '@pepperi-addons/ngx-composite-lib/file-status-panel';
|
|
13
|
-
import { PepFileStatusPanelModule } from '@pepperi-addons/ngx-composite-lib/file-status-panel';
|
|
13
|
+
import { PepFileStatusPanelModule, FileStatus } from '@pepperi-addons/ngx-composite-lib/file-status-panel';
|
|
14
14
|
import * as i1$2 from '@pepperi-addons/ngx-lib/icon';
|
|
15
15
|
import { pepIconSystemDoc, PepIconModule } from '@pepperi-addons/ngx-lib/icon';
|
|
16
16
|
import { PepButtonModule } from '@pepperi-addons/ngx-lib/button';
|
|
@@ -333,7 +333,7 @@ class DIMXComponent {
|
|
|
333
333
|
}
|
|
334
334
|
}
|
|
335
335
|
DIMXComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: DIMXComponent, deps: [{ token: i1$1.TranslateService }, { token: DIMXService }], target: i0.ɵɵFactoryTarget.Component });
|
|
336
|
-
DIMXComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: DIMXComponent, selector: "pep-dimx", inputs: { DIMXAddonUUID: "DIMXAddonUUID", DIMXResource: "DIMXResource" }, outputs: { DIMXProcessDone: "DIMXProcessDone" }, viewQueries: [{ propertyName: "fileField", first: true, predicate: ["fileField"], descendants: true }], ngImport: i0, template: "<pep-file-status-panel [title]=\"'File Imports/Exports'\" *ngIf=\"iFileArray?.length\" [filesList]=\"iFileArray\"></pep-file-status-panel>\n<input type=\"file\" multiple=\"multiple\" name=\"avatars\" id=\"fileuploader\" #fileField (change)=\"dimximportrun($event)\">\n<!-- <pep-button\n value=\"export\"\n styleType=\"strong\"\n styleStateType=\"success\"\n sizeType=\"sm\"\n classNames=\"hahah\"\n iconName=\"system_doc\"\n (buttonClick)=\"buttonClick($event)\"\n></pep-button> -->", styles: ["#fileuploader{display:none}:host{width:100%}:host .shadow-size-group,:host .shadow-type-group{display:block;margin-bottom:var(--pep-form-spacing, 1rem)}\n"], components: [{ type: i3.FileStatusPanelComponent, selector: "pep-file-status-panel", inputs: ["title", "filesList"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
336
|
+
DIMXComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: DIMXComponent, selector: "pep-dimx", inputs: { DIMXAddonUUID: "DIMXAddonUUID", DIMXResource: "DIMXResource" }, outputs: { DIMXProcessDone: "DIMXProcessDone" }, viewQueries: [{ propertyName: "fileField", first: true, predicate: ["fileField"], descendants: true }], ngImport: i0, template: "<pep-file-status-panel [title]=\"'File Imports/Exports'\" *ngIf=\"iFileArray?.length\" [filesList]=\"iFileArray\"></pep-file-status-panel>\n<input type=\"file\" multiple=\"multiple\" name=\"avatars\" id=\"fileuploader\" #fileField (change)=\"dimximportrun($event)\">\n<!-- <pep-button\n value=\"export\"\n styleType=\"strong\"\n styleStateType=\"success\"\n sizeType=\"sm\"\n classNames=\"hahah\"\n iconName=\"system_doc\"\n (buttonClick)=\"buttonClick($event)\"\n></pep-button> -->", styles: ["#fileuploader{display:none}:host{width:100%}:host .shadow-size-group,:host .shadow-type-group{display:block;margin-bottom:var(--pep-form-spacing, 1rem)}\n"], components: [{ type: i3.FileStatusPanelComponent, selector: "pep-file-status-panel", inputs: ["title", "filesList"], outputs: ["closeClick"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
337
337
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: DIMXComponent, decorators: [{
|
|
338
338
|
type: Component,
|
|
339
339
|
args: [{
|
|
@@ -391,28 +391,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
|
|
|
391
391
|
}]
|
|
392
392
|
}], ctorParameters: function () { return [{ type: i1$2.PepIconRegistry }]; } });
|
|
393
393
|
|
|
394
|
-
class
|
|
394
|
+
class IFileExt extends FileStatus {
|
|
395
395
|
constructor() {
|
|
396
|
-
|
|
397
|
-
this.name = '';
|
|
398
|
-
this.status = 'downloading';
|
|
399
|
-
}
|
|
400
|
-
}
|
|
401
|
-
class IFileExt {
|
|
402
|
-
constructor() {
|
|
403
|
-
this.key = 0;
|
|
404
|
-
this.name = '';
|
|
396
|
+
super(...arguments);
|
|
405
397
|
this.status = 'downloading';
|
|
406
398
|
}
|
|
407
399
|
}
|
|
408
400
|
|
|
409
401
|
/*
|
|
410
|
-
* Public API Surface of ngx-composite-lib/
|
|
402
|
+
* Public API Surface of ngx-composite-lib/dimx-export
|
|
411
403
|
*/
|
|
412
404
|
|
|
413
405
|
/**
|
|
414
406
|
* Generated bundle index. Do not edit.
|
|
415
407
|
*/
|
|
416
408
|
|
|
417
|
-
export { DIMXComponent,
|
|
409
|
+
export { DIMXComponent, IFileExt, PepDIMXModule };
|
|
418
410
|
//# sourceMappingURL=pepperi-addons-ngx-composite-lib-dimx-export.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pepperi-addons-ngx-composite-lib-dimx-export.js","sources":["../../../projects/ngx-composite-lib/dimx-export/dimx.service.ts","../../../projects/ngx-composite-lib/dimx-export/dimx.component.ts","../../../projects/ngx-composite-lib/dimx-export/dimx.component.html","../../../projects/ngx-composite-lib/dimx-export/dimx.module.ts","../../../projects/ngx-composite-lib/dimx-export/dimx.model.ts","../../../projects/ngx-composite-lib/dimx-export/public-api.ts","../../../projects/ngx-composite-lib/dimx-export/pepperi-addons-ngx-composite-lib-dimx-export.ts"],"sourcesContent":["import { Observable } from 'rxjs';\nimport jwt from 'jwt-decode';\nimport { PapiClient } from '@pepperi-addons/papi-sdk';\nimport { Injectable } from '@angular/core';\n\nimport {PepHttpService, PepDataConvertorService, PepSessionService} from '@pepperi-addons/ngx-lib';\n\n@Injectable({ providedIn: 'root' })\nexport class DIMXService {\n //tempToken = \"\"\n accessToken = '';\n parsedToken: any\n papiBaseURL = ''\n\n get papiClient(): PapiClient {\n return new PapiClient({\n baseURL: this.papiBaseURL,\n token: this.session.getIdpToken(),\n suppressLogging:true\n })\n }\n\n constructor(\n public session: PepSessionService,\n public pepperiDataConverter: PepDataConvertorService,\n private pepHttp: PepHttpService\n ) {\n //window.sessionStorage.setItem('idp_token',this.tempToken)\n const accessToken = this.session.getIdpToken();\n \n this.parsedToken = jwt(accessToken);\n this.papiBaseURL = this.parsedToken[\"pepperi.baseurl\"]\n }\n\n async get(endpoint: string): Promise<any> {\n return await this.papiClient.get(endpoint);\n }\n\n async post(endpoint: string, body: any): Promise<any> {\n return await this.papiClient.post(endpoint, body);\n }\n\n pepGet(endpoint: string): Observable<any> {\n return this.pepHttp.getPapiApiCall(endpoint);\n }\n\n pepPost(endpoint: string, body: any): Observable<any> {\n return this.pepHttp.postPapiApiCall(endpoint, body);\n }\n\n}\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { IFile } from './dimx.model';\nimport { DIMXService } from './dimx.service';\nimport { saveAs } from 'file-saver';\nimport { PepGuid } from '@pepperi-addons/ngx-lib';\nimport { IFileExt } from '.';\n\n@Component({\n selector: 'pep-dimx',\n templateUrl: './dimx.component.html',\n styleUrls: ['./dimx.component.scss']\n})\nexport class DIMXComponent implements OnInit {\n @ViewChild('fileField') fileField:ElementRef | undefined;\n @Input() DIMXAddonUUID!: string;\n @Input() DIMXResource!: string;\n @Output() DIMXProcessDone: EventEmitter<any> = new EventEmitter();\n dimxImportOptions: { OverwriteOBject?: boolean | undefined; Delimiter?: string | undefined; OwnerID?: string | undefined; ActionID?: string | undefined} | undefined;\n constructor(\n private translate: TranslateService,\n public addonService: DIMXService\n ) {\n\n }\n\n\n ngOnInit(): void { \n // Get the first translation for load all translations.\n this.translate.get('SHADOW_SETTINGS.INTENSITY_SOFT').toPromise().then((typeSoft) => { console.log(\"something\");\n });\n }\n\n getDIMXExportPOSTBody(value:{\n DIMXExportFormat?:string,\n DIMXExportIncludeDeleted?: boolean,\n DIMXExportFileName?: string,\n DIMXExportWhere?: string,\n DIMXExportFields?: string,\n DIMXExportDelimiter?:string\n }){\n return {\n \"Format\":value.DIMXExportFormat,\n \"IncludeDeleted\":value.DIMXExportIncludeDeleted,\n \"Where\":value.DIMXExportWhere,\n \"Fields\":value.DIMXExportFields,\n \"Delimiter\":value.DIMXExportDelimiter\n }\n }\n\n async pollDIMXResult(pollingURL:string, ifile:IFileExt){\n console.log(`polling audit with the executionUUID: ${pollingURL}`);\n const delay = (ms: number) => new Promise(res => setTimeout(res, ms));\n let seconds = 0;\n const waitingTime = 1000; //in ms\n try{\n let result;\n while(true){\n result = await this.addonService.papiClient.get(`/audit_logs/${pollingURL}`);\n \n console.log(`result from auditlog get is: ${result}`);\n if( !result || result[\"Status\"][\"ID\"] === 2 || result[\"Status\"][\"ID\"] === 4){\n console.log(`waited for ${seconds++} seconds`);\n await delay(waitingTime);\n }\n else{\n break;\n }\n }\n switch(result[\"Status\"][\"ID\"]){\n case 0:\n ifile.status = \"failed\";\n ifile.returnedObject = {\"ErrorMessage\": result[\"AuditInfo\"][\"ErrorMessage\"]}\n await this.SendDoneEventIfDone();\n return null;\n case 1:\n console.log(`polling result: ${result[\"AuditInfo\"][\"ResultObject\"]}`);\n return JSON.parse(result[\"AuditInfo\"][\"ResultObject\"]);\n default:\n ifile.status = \"failed\";\n ifile.returnedObject = {\"ErrorMessage\": `unknown audit log type: ${result[\"Status\"]}`}\n await this.SendDoneEventIfDone();\n return null\n }\n }\n catch(ex){\n console.log(`pollDIMXResult: ${ex}`);\n ifile.status = \"failed\";\n ifile.returnedObject = {\"ErrorMessage\": (ex as {message:string}).message}\n await this.SendDoneEventIfDone();\n return null;\n }\n }\n\n getNewFileName(value:{\n DIMXExportFormat:string,\n DIMXExportFileName: string,\n }){\n let extension;\n switch (value.DIMXExportFormat.toLowerCase()){\n case \"json\":\n extension = \".json\";\n break;\n case \"csv\":\n extension = '.csv';\n break;\n default:\n extension = \"\";\n }\n const filename = value.DIMXExportFileName;\n return filename+extension;\n }\n \n iFileID = 0;\n iFileArray:IFileExt[] = [];\n createNewIFile(fileName:string , status:\"downloading\"|\"uploading\"):IFileExt{\n return {\n \"key\":this.iFileID++,\n \"name\":fileName,\n \"status\":status};\n }\n\n async removeIfilesWithDelay(iFile:IFile, delay = 2000) {\n window.setTimeout(() => {\n const index = this.iFileArray.findIndex(element => element === iFile);\n if (index >= 0){\n this.iFileArray.splice(index,1);\n }\n }, delay)\n }\n\n async clearIFilesWithDelay(delay = 2000){\n window.setTimeout(() => {\n this.iFileArray = [];\n }, delay)\n }\n\n\n uploadFile(options?:{OverwriteOBject?:boolean, Delimiter?:string, OwnerID?:string, ActionID?:string}){\n this.dimxImportOptions = options;\n const elem = document.getElementById(\"fileuploader\");\n if(elem && document.createEvent) {\n const evt = document.createEvent(\"MouseEvents\");\n evt.initEvent(\"click\", true, false);\n elem.dispatchEvent(evt);\n }\n // this.fileField?.nativeElement.click();\n } \n\n IsFileInProgress(iFile:IFile){\n return iFile.status == \"downloading\" || iFile.status == \"uploading\";\n }\n\n AnyFilesInProgress(){\n if (this.iFileArray.find(this.IsFileInProgress) === undefined){\n return false;\n }\n return true\n }\n\n GetDoneEventBody(){\n return this.iFileArray.map(iFile => {\n return {\n \"FileName\": iFile.name, \n \"Status\": iFile.status,\n \"ReturnedObject\": iFile.returnedObject!\n }\n });\n }\n\n async SendDoneEventIfDone(){\n if (this.AnyFilesInProgress()){\n return;\n }\n const eventObject:any = this.GetDoneEventBody();\n this.DIMXProcessDone.emit(eventObject);\n await this.clearIFilesWithDelay();\n }\n\n async dimximportrun(e:any) {\n console.log(\"Enter DIMXImportRun\");\n const files = e.target.files;\n const fileListAsArray = Array.from(files);\n fileListAsArray.forEach(async (file, i) => {\n\n const filex = (file as HTMLInputElement);\n const dimx_import_relativeURL = `/addons/api/44c97115-6d14-4626-91dc-83f176e9a0fc/api/file_import_upload`;\n const str = (await this.toBase64(filex)) as string; //???\n const ext = filex.name.split('.')[1];\n const value = {fileStr:str, fileExt:ext}\n const dimxUploadObject = {...this.getPFSUploadObject(value), ...this.dimxImportOptions, Resource:this.DIMXResource, AddonUUID:this.DIMXAddonUUID};\n const iFile:IFileExt = this.createNewIFile(filex.name, \"uploading\");\n console.log(`created new iFile: ${iFile}`);\n this.iFileArray.push(iFile);\n console.log(`added iFile to iFileArray`);\n \n try{\n console.log(\"posting to dimx import_upload now\");\n const header:any = {};\n if(dimxUploadObject.ActionID){\n header[\"X-Pepperi-ActionID\"]=dimxUploadObject.ActionID;\n }\n if(dimxUploadObject.OwnerID){\n header[\"X-Pepperi-OwnerID\"]=dimxUploadObject.OwnerID;\n }\n const res = await this.addonService.papiClient.post(dimx_import_relativeURL, dimxUploadObject, header);\n console.log(\"Got reply from dimx, calling poll with the result:\");\n console.log(JSON.stringify(res));\n\n const poll_result = await this.pollDIMXResult(res['ExecutionUUID'], iFile);\n if (poll_result === null) {\n return;\n }\n console.log(`done polling, got result: ${JSON.stringify(poll_result)}`);\n iFile.status = \"done\";\n iFile.returnedObject = poll_result;\n await this.SendDoneEventIfDone();\n console.log(\"Imported the file\");\n //await this.removeIfileWithDelay(iFile);\n // check all done\n \n\n }\n catch(ex){\n console.log(`DIMXImportRun: ${ex}`);\n iFile.status = \"failed\";\n iFile.returnedObject = {\"ErrorMessage\": (ex as {message:string}).message}\n await this.SendDoneEventIfDone();\n //await this.removeIfileWithDelay(iFile, 2000);\n return;\n }\n \n \n \n });\n }\n getNewPFSUploadKey(fileExt:string){\n const uuid = PepGuid.newGuid();\n const folder = 'DIMX_import';\n const pfsKey = `/${folder}/${uuid}.${fileExt}`;\n return pfsKey;\n }\n getPFSUploadObject(value:{fileStr:string, fileExt:string}){\n const fileStrArr = value.fileStr.split(';');\n const mime = fileStrArr[0].split(':')[1];\n const pfsKey = this.getNewPFSUploadKey(value.fileExt);\n const pfsUploadObject = {\n \"Key\": pfsKey,\n \"MIME\": mime,\n \"URI\":value.fileStr\n }\n return pfsUploadObject;\n }\n\n toBase64 = (file:any) => new Promise((resolve, reject) => {\n\n const reader = new FileReader();\n \n reader.readAsDataURL(file);\n \n reader.onload = () => resolve(reader.result);\n \n reader.onerror = error => reject(error);\n \n });\n\n async DIMXExportRun(value: {\n DIMXExportFormat?:string,\n DIMXExportIncludeDeleted?: boolean,\n DIMXExportFileName?: string,\n DIMXExportWhere?: string,\n DIMXExportFields?: string,\n DIMXExportDelimiter?:string,\n ActionID?:string\n }) {\n if (!value){\n value = {};\n }\n if (!value.DIMXExportFormat){\n value.DIMXExportFormat = 'json';\n }\n if (!value.DIMXExportIncludeDeleted){\n value.DIMXExportIncludeDeleted = false;\n }\n if (!value.DIMXExportFileName){\n value.DIMXExportFileName = 'export';\n }\n const bod = this.getDIMXExportPOSTBody(value ? value : {});\n const fileName = this.getNewFileName(value as {DIMXExportFormat:string, DIMXExportFileName:string});\n const iFile:IFileExt = this.createNewIFile(fileName, \"downloading\");\n console.log(`created new iFile: ${iFile}`);\n this.iFileArray.push(iFile);\n console.log(`added iFile to iFileArray`);\n \n try{\n\n console.log(\"posting to dimx export now\");\n const header:any = {};\n if(value.ActionID){\n header[\"X-Pepperi-ActionID\"]=value.ActionID;\n }\n const res = await this.addonService.papiClient.post(`/addons/data/export/file/${this.DIMXAddonUUID}/${this.DIMXResource}`, bod, header);\n console.log(\"Got reply from dimx, calling poll with the result:\");\n console.log(res);\n const result = await this.pollDIMXResult(res['ExecutionUUID'], iFile);\n if (result === null){\n return \n }\n const url = result[\"DownloadURL\"];\n\n console.log(\"attempting to download the file\");\n console.log(`url is: ${url}`);\n const blob = await fetch(url).then(r => r.blob());\n saveAs(blob, fileName);\n iFile.status = \"done\";\n iFile.returnedObject = result;\n await this.SendDoneEventIfDone();\n console.log(\"downloaded the file\");\n //await this.removeIfileWithDelay(iFile);\n }\n catch(ex){\n iFile.status= \"failed\";\n iFile.returnedObject = {\"ErrorMessage\":(ex as {message:string}).message}\n await this.SendDoneEventIfDone();\n //await this.removeIfileWithDelay(iFile);\n console.log(`buttonClick: ${ex}`);\n return;\n }\n \n }\n\n \n\n \n}\n","<pep-file-status-panel [title]=\"'File Imports/Exports'\" *ngIf=\"iFileArray?.length\" [filesList]=\"iFileArray\"></pep-file-status-panel>\n<input type=\"file\" multiple=\"multiple\" name=\"avatars\" id=\"fileuploader\" #fileField (change)=\"dimximportrun($event)\">\n<!-- <pep-button\n value=\"export\"\n styleType=\"strong\"\n styleStateType=\"success\"\n sizeType=\"sm\"\n classNames=\"hahah\"\n iconName=\"system_doc\"\n (buttonClick)=\"buttonClick($event)\"\n></pep-button> -->","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { DIMXComponent } from './dimx.component';\nimport { PepIconRegistry, pepIconSystemDoc } from '@pepperi-addons/ngx-lib/icon';\nimport { PepButtonModule } from '@pepperi-addons/ngx-lib/button';\nimport { PepIconModule } from '@pepperi-addons/ngx-lib/icon';\nimport { PepFileStatusPanelModule } from '@pepperi-addons/ngx-composite-lib/file-status-panel';\n\nconst pepIcons = [\n pepIconSystemDoc,\n]\n\n@NgModule({\n declarations: [\n DIMXComponent\n ],\n imports: [\n CommonModule,\n PepNgxLibModule,\n PepButtonModule,\n PepIconModule,\n PepFileStatusPanelModule,\n ],\n exports: [DIMXComponent]\n})\nexport class PepDIMXModule { \n constructor(\n private pepIconRegistry: PepIconRegistry,\n ) {\n this.pepIconRegistry.registerIcons(pepIcons);\n }\n\n\n}\n","type fileStatus = 'uploading'|'downloading'|'done'|'failed'|'hidden';\nexport class IFile {\n key = 0;\n name = '';\n status: fileStatus = 'downloading';\n }\nexport class IFileExt {\n key = 0;\n name = '';\n status: fileStatus = 'downloading';\n returnedObject?: any;\n}","/*\n * Public API Surface of ngx-composite-lib/shadow-settings\n */\nexport * from './dimx.module';\nexport * from './dimx.component';\nexport * from './dimx.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pepperi-addons-ngx-composite-lib-dimx-export.js","sources":["../../../projects/ngx-composite-lib/dimx-export/dimx.service.ts","../../../projects/ngx-composite-lib/dimx-export/dimx.component.ts","../../../projects/ngx-composite-lib/dimx-export/dimx.component.html","../../../projects/ngx-composite-lib/dimx-export/dimx.module.ts","../../../projects/ngx-composite-lib/dimx-export/dimx.model.ts","../../../projects/ngx-composite-lib/dimx-export/public-api.ts","../../../projects/ngx-composite-lib/dimx-export/pepperi-addons-ngx-composite-lib-dimx-export.ts"],"sourcesContent":["import { Observable } from 'rxjs';\nimport jwt from 'jwt-decode';\nimport { PapiClient } from '@pepperi-addons/papi-sdk';\nimport { Injectable } from '@angular/core';\n\nimport {PepHttpService, PepDataConvertorService, PepSessionService} from '@pepperi-addons/ngx-lib';\n\n@Injectable({ providedIn: 'root' })\nexport class DIMXService {\n //tempToken = \"\"\n accessToken = '';\n parsedToken: any\n papiBaseURL = ''\n\n get papiClient(): PapiClient {\n return new PapiClient({\n baseURL: this.papiBaseURL,\n token: this.session.getIdpToken(),\n suppressLogging:true\n })\n }\n\n constructor(\n public session: PepSessionService,\n public pepperiDataConverter: PepDataConvertorService,\n private pepHttp: PepHttpService\n ) {\n //window.sessionStorage.setItem('idp_token',this.tempToken)\n const accessToken = this.session.getIdpToken();\n \n this.parsedToken = jwt(accessToken);\n this.papiBaseURL = this.parsedToken[\"pepperi.baseurl\"]\n }\n\n async get(endpoint: string): Promise<any> {\n return await this.papiClient.get(endpoint);\n }\n\n async post(endpoint: string, body: any): Promise<any> {\n return await this.papiClient.post(endpoint, body);\n }\n\n pepGet(endpoint: string): Observable<any> {\n return this.pepHttp.getPapiApiCall(endpoint);\n }\n\n pepPost(endpoint: string, body: any): Observable<any> {\n return this.pepHttp.postPapiApiCall(endpoint, body);\n }\n\n}\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DIMXService } from './dimx.service';\nimport { saveAs } from 'file-saver';\nimport { PepGuid } from '@pepperi-addons/ngx-lib';\nimport { IFileExt } from '.';\nimport { FileStatus } from '@pepperi-addons/ngx-composite-lib/file-status-panel';\n\n@Component({\n selector: 'pep-dimx',\n templateUrl: './dimx.component.html',\n styleUrls: ['./dimx.component.scss']\n})\nexport class DIMXComponent implements OnInit {\n @ViewChild('fileField') fileField:ElementRef | undefined;\n @Input() DIMXAddonUUID!: string;\n @Input() DIMXResource!: string;\n @Output() DIMXProcessDone: EventEmitter<any> = new EventEmitter();\n dimxImportOptions: { OverwriteOBject?: boolean | undefined; Delimiter?: string | undefined; OwnerID?: string | undefined; ActionID?: string | undefined} | undefined;\n constructor(\n private translate: TranslateService,\n public addonService: DIMXService\n ) {\n\n }\n\n\n ngOnInit(): void { \n // Get the first translation for load all translations.\n this.translate.get('SHADOW_SETTINGS.INTENSITY_SOFT').toPromise().then((typeSoft) => { console.log(\"something\");\n });\n }\n\n getDIMXExportPOSTBody(value:{\n DIMXExportFormat?:string,\n DIMXExportIncludeDeleted?: boolean,\n DIMXExportFileName?: string,\n DIMXExportWhere?: string,\n DIMXExportFields?: string,\n DIMXExportDelimiter?:string\n }){\n return {\n \"Format\":value.DIMXExportFormat,\n \"IncludeDeleted\":value.DIMXExportIncludeDeleted,\n \"Where\":value.DIMXExportWhere,\n \"Fields\":value.DIMXExportFields,\n \"Delimiter\":value.DIMXExportDelimiter\n }\n }\n\n async pollDIMXResult(pollingURL:string, ifile:IFileExt){\n console.log(`polling audit with the executionUUID: ${pollingURL}`);\n const delay = (ms: number) => new Promise(res => setTimeout(res, ms));\n let seconds = 0;\n const waitingTime = 1000; //in ms\n try{\n let result;\n while(true){\n result = await this.addonService.papiClient.get(`/audit_logs/${pollingURL}`);\n \n console.log(`result from auditlog get is: ${result}`);\n if( !result || result[\"Status\"][\"ID\"] === 2 || result[\"Status\"][\"ID\"] === 4){\n console.log(`waited for ${seconds++} seconds`);\n await delay(waitingTime);\n }\n else{\n break;\n }\n }\n switch(result[\"Status\"][\"ID\"]){\n case 0:\n ifile.status = \"failed\";\n ifile.returnedObject = {\"ErrorMessage\": result[\"AuditInfo\"][\"ErrorMessage\"]}\n await this.SendDoneEventIfDone();\n return null;\n case 1:\n console.log(`polling result: ${result[\"AuditInfo\"][\"ResultObject\"]}`);\n return JSON.parse(result[\"AuditInfo\"][\"ResultObject\"]);\n default:\n ifile.status = \"failed\";\n ifile.returnedObject = {\"ErrorMessage\": `unknown audit log type: ${result[\"Status\"]}`}\n await this.SendDoneEventIfDone();\n return null\n }\n }\n catch(ex){\n console.log(`pollDIMXResult: ${ex}`);\n ifile.status = \"failed\";\n ifile.returnedObject = {\"ErrorMessage\": (ex as {message:string}).message}\n await this.SendDoneEventIfDone();\n return null;\n }\n }\n\n getNewFileName(value:{\n DIMXExportFormat:string,\n DIMXExportFileName: string,\n }){\n let extension;\n switch (value.DIMXExportFormat.toLowerCase()){\n case \"json\":\n extension = \".json\";\n break;\n case \"csv\":\n extension = '.csv';\n break;\n default:\n extension = \"\";\n }\n const filename = value.DIMXExportFileName;\n return filename+extension;\n }\n \n iFileID = 0;\n iFileArray:IFileExt[] = [];\n createNewIFile(fileName:string , status:\"downloading\"|\"uploading\"):IFileExt{\n return {\n \"key\":this.iFileID++,\n \"name\":fileName,\n \"status\":status};\n }\n\n async removeIfilesWithDelay(iFile:FileStatus, delay = 2000) {\n window.setTimeout(() => {\n const index = this.iFileArray.findIndex(element => element === iFile);\n if (index >= 0){\n this.iFileArray.splice(index,1);\n }\n }, delay)\n }\n\n async clearIFilesWithDelay(delay = 2000){\n window.setTimeout(() => {\n this.iFileArray = [];\n }, delay)\n }\n\n\n uploadFile(options?:{OverwriteOBject?:boolean, Delimiter?:string, OwnerID?:string, ActionID?:string}){\n this.dimxImportOptions = options;\n const elem = document.getElementById(\"fileuploader\");\n if(elem && document.createEvent) {\n const evt = document.createEvent(\"MouseEvents\");\n evt.initEvent(\"click\", true, false);\n elem.dispatchEvent(evt);\n }\n // this.fileField?.nativeElement.click();\n } \n\n IsFileInProgress(iFile:FileStatus){\n return iFile.status == \"downloading\" || iFile.status == \"uploading\";\n }\n\n AnyFilesInProgress(){\n if (this.iFileArray.find(this.IsFileInProgress) === undefined){\n return false;\n }\n return true\n }\n\n GetDoneEventBody(){\n return this.iFileArray.map(iFile => {\n return {\n \"FileName\": iFile.name, \n \"Status\": iFile.status,\n \"ReturnedObject\": iFile.returnedObject!\n }\n });\n }\n\n async SendDoneEventIfDone(){\n if (this.AnyFilesInProgress()){\n return;\n }\n const eventObject:any = this.GetDoneEventBody();\n this.DIMXProcessDone.emit(eventObject);\n await this.clearIFilesWithDelay();\n }\n\n async dimximportrun(e:any) {\n console.log(\"Enter DIMXImportRun\");\n const files = e.target.files;\n const fileListAsArray = Array.from(files);\n fileListAsArray.forEach(async (file, i) => {\n\n const filex = (file as HTMLInputElement);\n const dimx_import_relativeURL = `/addons/api/44c97115-6d14-4626-91dc-83f176e9a0fc/api/file_import_upload`;\n const str = (await this.toBase64(filex)) as string; //???\n const ext = filex.name.split('.')[1];\n const value = {fileStr:str, fileExt:ext}\n const dimxUploadObject = {...this.getPFSUploadObject(value), ...this.dimxImportOptions, Resource:this.DIMXResource, AddonUUID:this.DIMXAddonUUID};\n const iFile:IFileExt = this.createNewIFile(filex.name, \"uploading\");\n console.log(`created new iFile: ${iFile}`);\n this.iFileArray.push(iFile);\n console.log(`added iFile to iFileArray`);\n \n try{\n console.log(\"posting to dimx import_upload now\");\n const header:any = {};\n if(dimxUploadObject.ActionID){\n header[\"X-Pepperi-ActionID\"]=dimxUploadObject.ActionID;\n }\n if(dimxUploadObject.OwnerID){\n header[\"X-Pepperi-OwnerID\"]=dimxUploadObject.OwnerID;\n }\n const res = await this.addonService.papiClient.post(dimx_import_relativeURL, dimxUploadObject, header);\n console.log(\"Got reply from dimx, calling poll with the result:\");\n console.log(JSON.stringify(res));\n\n const poll_result = await this.pollDIMXResult(res['ExecutionUUID'], iFile);\n if (poll_result === null) {\n return;\n }\n console.log(`done polling, got result: ${JSON.stringify(poll_result)}`);\n iFile.status = \"done\";\n iFile.returnedObject = poll_result;\n await this.SendDoneEventIfDone();\n console.log(\"Imported the file\");\n //await this.removeIfileWithDelay(iFile);\n // check all done\n \n\n }\n catch(ex){\n console.log(`DIMXImportRun: ${ex}`);\n iFile.status = \"failed\";\n iFile.returnedObject = {\"ErrorMessage\": (ex as {message:string}).message}\n await this.SendDoneEventIfDone();\n //await this.removeIfileWithDelay(iFile, 2000);\n return;\n }\n \n \n \n });\n }\n getNewPFSUploadKey(fileExt:string){\n const uuid = PepGuid.newGuid();\n const folder = 'DIMX_import';\n const pfsKey = `/${folder}/${uuid}.${fileExt}`;\n return pfsKey;\n }\n getPFSUploadObject(value:{fileStr:string, fileExt:string}){\n const fileStrArr = value.fileStr.split(';');\n const mime = fileStrArr[0].split(':')[1];\n const pfsKey = this.getNewPFSUploadKey(value.fileExt);\n const pfsUploadObject = {\n \"Key\": pfsKey,\n \"MIME\": mime,\n \"URI\":value.fileStr\n }\n return pfsUploadObject;\n }\n\n toBase64 = (file:any) => new Promise((resolve, reject) => {\n\n const reader = new FileReader();\n \n reader.readAsDataURL(file);\n \n reader.onload = () => resolve(reader.result);\n \n reader.onerror = error => reject(error);\n \n });\n\n async DIMXExportRun(value: {\n DIMXExportFormat?:string,\n DIMXExportIncludeDeleted?: boolean,\n DIMXExportFileName?: string,\n DIMXExportWhere?: string,\n DIMXExportFields?: string,\n DIMXExportDelimiter?:string,\n ActionID?:string\n }) {\n if (!value){\n value = {};\n }\n if (!value.DIMXExportFormat){\n value.DIMXExportFormat = 'json';\n }\n if (!value.DIMXExportIncludeDeleted){\n value.DIMXExportIncludeDeleted = false;\n }\n if (!value.DIMXExportFileName){\n value.DIMXExportFileName = 'export';\n }\n const bod = this.getDIMXExportPOSTBody(value ? value : {});\n const fileName = this.getNewFileName(value as {DIMXExportFormat:string, DIMXExportFileName:string});\n const iFile:IFileExt = this.createNewIFile(fileName, \"downloading\");\n console.log(`created new iFile: ${iFile}`);\n this.iFileArray.push(iFile);\n console.log(`added iFile to iFileArray`);\n \n try{\n\n console.log(\"posting to dimx export now\");\n const header:any = {};\n if(value.ActionID){\n header[\"X-Pepperi-ActionID\"]=value.ActionID;\n }\n const res = await this.addonService.papiClient.post(`/addons/data/export/file/${this.DIMXAddonUUID}/${this.DIMXResource}`, bod, header);\n console.log(\"Got reply from dimx, calling poll with the result:\");\n console.log(res);\n const result = await this.pollDIMXResult(res['ExecutionUUID'], iFile);\n if (result === null){\n return \n }\n const url = result[\"DownloadURL\"];\n\n console.log(\"attempting to download the file\");\n console.log(`url is: ${url}`);\n const blob = await fetch(url).then(r => r.blob());\n saveAs(blob, fileName);\n iFile.status = \"done\";\n iFile.returnedObject = result;\n await this.SendDoneEventIfDone();\n console.log(\"downloaded the file\");\n //await this.removeIfileWithDelay(iFile);\n }\n catch(ex){\n iFile.status= \"failed\";\n iFile.returnedObject = {\"ErrorMessage\":(ex as {message:string}).message}\n await this.SendDoneEventIfDone();\n //await this.removeIfileWithDelay(iFile);\n console.log(`buttonClick: ${ex}`);\n return;\n }\n \n }\n\n \n\n \n}\n","<pep-file-status-panel [title]=\"'File Imports/Exports'\" *ngIf=\"iFileArray?.length\" [filesList]=\"iFileArray\"></pep-file-status-panel>\n<input type=\"file\" multiple=\"multiple\" name=\"avatars\" id=\"fileuploader\" #fileField (change)=\"dimximportrun($event)\">\n<!-- <pep-button\n value=\"export\"\n styleType=\"strong\"\n styleStateType=\"success\"\n sizeType=\"sm\"\n classNames=\"hahah\"\n iconName=\"system_doc\"\n (buttonClick)=\"buttonClick($event)\"\n></pep-button> -->","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { DIMXComponent } from './dimx.component';\nimport { PepIconRegistry, pepIconSystemDoc } from '@pepperi-addons/ngx-lib/icon';\nimport { PepButtonModule } from '@pepperi-addons/ngx-lib/button';\nimport { PepIconModule } from '@pepperi-addons/ngx-lib/icon';\nimport { PepFileStatusPanelModule } from '@pepperi-addons/ngx-composite-lib/file-status-panel';\n\nconst pepIcons = [\n pepIconSystemDoc,\n]\n\n@NgModule({\n declarations: [\n DIMXComponent\n ],\n imports: [\n CommonModule,\n PepNgxLibModule,\n PepButtonModule,\n PepIconModule,\n PepFileStatusPanelModule,\n ],\n exports: [DIMXComponent]\n})\nexport class PepDIMXModule { \n constructor(\n private pepIconRegistry: PepIconRegistry,\n ) {\n this.pepIconRegistry.registerIcons(pepIcons);\n }\n\n\n}\n","import { FileStatusType, FileStatus } from '@pepperi-addons/ngx-composite-lib/file-status-panel';\n\nexport class IFileExt extends FileStatus {\n status: FileStatusType = 'downloading';\n returnedObject?: any;\n}","/*\n * Public API Surface of ngx-composite-lib/dimx-export\n */\nexport * from './dimx.module';\nexport * from './dimx.component';\nexport * from './dimx.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, Input, NgModule } from '@angular/core';
|
|
2
|
+
import { EventEmitter, Component, Input, Output, NgModule } from '@angular/core';
|
|
3
3
|
import * as i4 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import * as i1 from '@ngx-translate/core';
|
|
@@ -16,17 +16,18 @@ class FileStatusPanelComponent {
|
|
|
16
16
|
this.translate = translate;
|
|
17
17
|
this.title = '';
|
|
18
18
|
this.filesList = [];
|
|
19
|
+
this.closeClick = new EventEmitter();
|
|
19
20
|
//
|
|
20
21
|
}
|
|
21
22
|
ngOnInit() {
|
|
22
23
|
//
|
|
23
24
|
}
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
onCloseClicked(event) {
|
|
26
|
+
this.closeClick.emit();
|
|
26
27
|
}
|
|
27
28
|
}
|
|
28
29
|
FileStatusPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: FileStatusPanelComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
-
FileStatusPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: FileStatusPanelComponent, selector: "pep-file-status-panel", inputs: { title: "title", filesList: "filesList" }, ngImport: i0, template: "<div *ngIf=\"filesList.length\" id=\"uploadPanelCont\">\n <div class=\"panel-header pep-border-bottom\">\n <label class=\"body-md ellipsis\">{{title}}</label>\n <pep-button
|
|
30
|
+
FileStatusPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: FileStatusPanelComponent, selector: "pep-file-status-panel", inputs: { title: "title", filesList: "filesList" }, outputs: { closeClick: "closeClick" }, ngImport: i0, template: "<div *ngIf=\"filesList.length\" id=\"uploadPanelCont\">\n <div class=\"panel-header pep-border-bottom\">\n <label class=\"body-md ellipsis\">{{title}}</label>\n <pep-button sizeType=\"xs\" classNames=\"round-corners\" iconName=\"system_close\" iconPosition=\"end\" (buttonClick)=\"onCloseClicked($event)\"></pep-button>\n </div>\n <div class=\"panel-content\">\n <ul>\n <li *ngFor=\"let file of filesList\">\n <ng-container *ngIf=\"file?.status !== 'hidden'\">\n <span class=\"color-dimmed body-sm ellipsis\">{{file.name}}</span>\n <pep-icon class=\"pep-spacing-element\" name=\"arrow_right_alt\"></pep-icon>\n <span class=\"body-sm\" title=\"{{file.statusMessage}}\">{{file.status}}</span>\n </ng-container>\n </li>\n </ul>\n </div>\n</div>\n", styles: ["#uploadPanelCont{width:22rem}#uploadPanelCont .panel-header{display:flex;flex-direction:row;justify-content:space-between;height:2.5rem}#uploadPanelCont .panel-header ::ng-deep .round-corners{border-radius:1.5rem}.panel-content{max-height:50vh;overflow:auto}.panel-content ul{list-style-type:none;padding:0}.panel-content ul li{height:1.25rem;margin-top:.5rem;display:flex;flex-direction:row;align-items:center}.panel-content ul li pep-icon{height:1rem}\n"], components: [{ type: i2.PepButtonComponent, selector: "pep-button", inputs: ["styleType", "styleStateType", "sizeType", "classNames", "disabled", "iconPosition", "visible", "key", "value", "iconName"], outputs: ["buttonClick"] }, { type: i3.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
30
31
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: FileStatusPanelComponent, decorators: [{
|
|
31
32
|
type: Component,
|
|
32
33
|
args: [{
|
|
@@ -38,6 +39,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
|
|
|
38
39
|
type: Input
|
|
39
40
|
}], filesList: [{
|
|
40
41
|
type: Input
|
|
42
|
+
}], closeClick: [{
|
|
43
|
+
type: Output
|
|
41
44
|
}] } });
|
|
42
45
|
|
|
43
46
|
class PepFileStatusPanelModule {
|
|
@@ -75,11 +78,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
|
|
|
75
78
|
}]
|
|
76
79
|
}] });
|
|
77
80
|
|
|
78
|
-
class
|
|
81
|
+
class FileStatus {
|
|
79
82
|
constructor() {
|
|
80
83
|
this.key = 0;
|
|
81
84
|
this.name = '';
|
|
82
85
|
this.status = 'uploading';
|
|
86
|
+
this.statusMessage = '';
|
|
83
87
|
}
|
|
84
88
|
}
|
|
85
89
|
|
|
@@ -91,5 +95,5 @@ class IFile {
|
|
|
91
95
|
* Generated bundle index. Do not edit.
|
|
92
96
|
*/
|
|
93
97
|
|
|
94
|
-
export {
|
|
98
|
+
export { FileStatus, FileStatusPanelComponent, PepFileStatusPanelModule };
|
|
95
99
|
//# sourceMappingURL=pepperi-addons-ngx-composite-lib-file-status-panel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pepperi-addons-ngx-composite-lib-file-status-panel.js","sources":["../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.component.ts","../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.component.html","../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.module.ts","../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.model.ts","../../../projects/ngx-composite-lib/file-status-panel/public-api.ts","../../../projects/ngx-composite-lib/file-status-panel/pepperi-addons-ngx-composite-lib-file-status-panel.ts"],"sourcesContent":["import { Component, OnInit, Injectable, Input, Output, EventEmitter, Optional, Inject } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport {
|
|
1
|
+
{"version":3,"file":"pepperi-addons-ngx-composite-lib-file-status-panel.js","sources":["../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.component.ts","../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.component.html","../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.module.ts","../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.model.ts","../../../projects/ngx-composite-lib/file-status-panel/public-api.ts","../../../projects/ngx-composite-lib/file-status-panel/pepperi-addons-ngx-composite-lib-file-status-panel.ts"],"sourcesContent":["import { Component, OnInit, Injectable, Input, Output, EventEmitter, Optional, Inject } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FileStatus } from './file-status-panel.model';\n\n@Component({\n selector: 'pep-file-status-panel',\n templateUrl: './file-status-panel.component.html',\n styleUrls: ['./file-status-panel.component.scss']\n})\nexport class FileStatusPanelComponent implements OnInit {\n @Input() title = '';\n @Input() filesList: Array<FileStatus> = [];\n \n @Output()\n closeClick: EventEmitter<void> = new EventEmitter<void>();\n \n constructor(public translate: TranslateService) {\n //\n }\n\n ngOnInit() {\n //\n }\n\n onCloseClicked(event: any): void {\n this.closeClick.emit();\n }\n\n\n}","<div *ngIf=\"filesList.length\" id=\"uploadPanelCont\">\n <div class=\"panel-header pep-border-bottom\">\n <label class=\"body-md ellipsis\">{{title}}</label>\n <pep-button sizeType=\"xs\" classNames=\"round-corners\" iconName=\"system_close\" iconPosition=\"end\" (buttonClick)=\"onCloseClicked($event)\"></pep-button>\n </div>\n <div class=\"panel-content\">\n <ul>\n <li *ngFor=\"let file of filesList\">\n <ng-container *ngIf=\"file?.status !== 'hidden'\">\n <span class=\"color-dimmed body-sm ellipsis\">{{file.name}}</span>\n <pep-icon class=\"pep-spacing-element\" name=\"arrow_right_alt\"></pep-icon>\n <span class=\"body-sm\" title=\"{{file.statusMessage}}\">{{file.status}}</span>\n </ng-container>\n </li>\n </ul>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FileStatusPanelComponent } from './file-status-panel.component';\nimport { PepTextboxModule } from '@pepperi-addons/ngx-lib/textbox';\nimport { PepTopBarModule } from '@pepperi-addons/ngx-lib/top-bar';\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\nimport { PepButtonModule } from '@pepperi-addons/ngx-lib/button';\nimport { PepIconModule } from '@pepperi-addons/ngx-lib/icon';\n\n@NgModule({\n declarations: [\n FileStatusPanelComponent\n ],\n imports: [\n CommonModule,\n PepTopBarModule,\n PepTextboxModule,\n PepButtonModule,\n PepIconModule,\n PepDialogModule,\n ],\n exports: [FileStatusPanelComponent]\n})\n\nexport class PepFileStatusPanelModule { \n \n}","export type FileStatusType = 'uploading' | 'downloading' | 'done' | 'failed' | 'hidden' | 'deleting';\r\n\r\nexport class FileStatus {\r\n key = 0;\r\n name = '';\r\n status: FileStatusType = 'uploading';\r\n statusMessage? = '';\r\n}","/*\n * Public API Surface of ngx-composite-lib/file-status-panel\n */\nexport * from './file-status-panel.module';\nexport * from './file-status-panel.component';\nexport * from './file-status-panel.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;MASa,wBAAwB;IAOjC,YAAmB,SAA2B;QAA3B,cAAS,GAAT,SAAS,CAAkB;QANrC,UAAK,GAAG,EAAE,CAAC;QACX,cAAS,GAAsB,EAAE,CAAC;QAG3C,eAAU,GAAuB,IAAI,YAAY,EAAQ,CAAC;;KAIzD;IAED,QAAQ;;KAEP;IAED,cAAc,CAAC,KAAU;QACrB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;KAC1B;;qHAjBQ,wBAAwB;yGAAxB,wBAAwB,wJCTrC,83BAiBA;2FDRa,wBAAwB;kBALpC,SAAS;mBAAC;oBACP,QAAQ,EAAE,uBAAuB;oBACjC,WAAW,EAAE,oCAAoC;oBACjD,SAAS,EAAE,CAAC,oCAAoC,CAAC;iBACpD;uGAEY,KAAK;sBAAb,KAAK;gBACG,SAAS;sBAAjB,KAAK;gBAGN,UAAU;sBADT,MAAM;;;MEWE,wBAAwB;;qHAAxB,wBAAwB;sHAAxB,wBAAwB,iBAb7B,wBAAwB,aAGxB,YAAY;QACZ,eAAe;QACf,gBAAgB;QAChB,eAAe;QACf,aAAa;QACb,eAAe,aAET,wBAAwB;sHAGzB,wBAAwB,YAXxB;YACL,YAAY;YACZ,eAAe;YACf,gBAAgB;YAChB,eAAe;YACf,aAAa;YACb,eAAe;SAClB;2FAIQ,wBAAwB;kBAfpC,QAAQ;mBAAC;oBACN,YAAY,EAAE;wBACV,wBAAwB;qBAC3B;oBACD,OAAO,EAAE;wBACL,YAAY;wBACZ,eAAe;wBACf,gBAAgB;wBAChB,eAAe;wBACf,aAAa;wBACb,eAAe;qBAClB;oBACD,OAAO,EAAE,CAAC,wBAAwB,CAAC;iBACtC;;;MCpBY,UAAU;IAAvB;QACI,QAAG,GAAG,CAAC,CAAC;QACR,SAAI,GAAG,EAAE,CAAC;QACV,WAAM,GAAmB,WAAW,CAAC;QACrC,kBAAa,GAAI,EAAE,CAAC;KACvB;;;ACPD;;;;ACAA;;;;;;"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { OnInit } from '@angular/core';
|
|
1
|
+
import { OnInit, EventEmitter } from '@angular/core';
|
|
2
2
|
import { TranslateService } from '@ngx-translate/core';
|
|
3
|
-
import {
|
|
3
|
+
import { FileStatus } from './file-status-panel.model';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class FileStatusPanelComponent implements OnInit {
|
|
6
6
|
translate: TranslateService;
|
|
7
7
|
title: string;
|
|
8
|
-
filesList: Array<
|
|
8
|
+
filesList: Array<FileStatus>;
|
|
9
|
+
closeClick: EventEmitter<void>;
|
|
9
10
|
constructor(translate: TranslateService);
|
|
10
11
|
ngOnInit(): void;
|
|
11
|
-
|
|
12
|
+
onCloseClicked(event: any): void;
|
|
12
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<FileStatusPanelComponent, never>;
|
|
13
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FileStatusPanelComponent, "pep-file-status-panel", never, { "title": "title"; "filesList": "filesList"; }, {}, never, never>;
|
|
14
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FileStatusPanelComponent, "pep-file-status-panel", never, { "title": "title"; "filesList": "filesList"; }, { "closeClick": "closeClick"; }, never, never>;
|
|
14
15
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
export declare type
|
|
2
|
-
export declare class
|
|
1
|
+
export declare type FileStatusType = 'uploading' | 'downloading' | 'done' | 'failed' | 'hidden' | 'deleting';
|
|
2
|
+
export declare class FileStatus {
|
|
3
3
|
key: number;
|
|
4
4
|
name: string;
|
|
5
|
-
status:
|
|
5
|
+
status: FileStatusType;
|
|
6
|
+
statusMessage?: string | undefined;
|
|
6
7
|
}
|