UNPKG

@kre-form/ant

Version:

211 lines (208 loc) 17.4 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component } from "@angular/core"; import { FieldType } from "@kre-form/core"; import * as _ from "lodash"; import { KreFormAntService } from "../tools/service"; import { NzModalService } from "ng-zorro-antd/modal"; import { KreDialogService } from "../service/dialog.service"; import { KreFormTree } from "../components/tree/index.component"; import { KreFormEmployee } from "../components/employee/index.component"; import { KreFormOrg } from "../components/org/index.component"; import { KreFormPostion } from "../components/postion/index.component"; import { KreFormArea } from "../components/area/index.component"; export class KreFormFieldLookUp extends FieldType { /** * @param {?} dyService * @param {?} modal * @param {?} kreDialogService */ constructor(dyService, modal, kreDialogService) { super(); this.modal = modal; this.kreDialogService = kreDialogService; this.service = dyService; } /** * @param {?} sign * @return {?} */ fieldOperational(sign) { this.service.fieldOperational(sign, this.field); } /** * @return {?} */ lookup() { /** @type {?} */ let template; /** @type {?} */ let type = _.get(this.field, "templateOptions.type"); /** @type {?} */ let para = { fieldConfig: this.field, tag: false, }; switch (type) { case "tree": template = KreFormTree; para.tag = true; break; break; case "employee": template = KreFormEmployee; break; case "organizational": template = KreFormOrg; para.tag = true; break; case "position": template = KreFormPostion; break; case "area": template = KreFormArea; break; default: break; } if (template) { this.kreDialogService.CreateModelDialog({ nzTitle: "选择 - " + this.to["label"], size: "large", nzContent: template, }, para, (/** * @param {?} instance * @param {?} modal * @return {?} */ (instance, modal) => { /** @type {?} */ let res = instance.selectedNode; if (this.model != undefined && this.model != null && this.key != undefined && this.key != null) { if (res != null && res.length > 0) { this.model[this.key] = res; this.formControl.markAsTouched(); } else { this.model[this.key] = []; this.formControl.markAsTouched(); } } else { this.model[this.key] = res; this.formControl.markAsTouched(); } modal.destroy(); })); } } /** * @return {?} */ removeValue() { if (this.model != undefined && this.model != null && this.key != undefined && this.key != null && this.model[this.key] != undefined && this.model[this.key] != null) { this.model[this.key] = []; this.formControl.markAsTouched(); } } } KreFormFieldLookUp.decorators = [ { type: Component, args: [{ selector: "krefield-lookup", template: ` <ng-container *ngIf="formStatus !== 0"> <div class="fieldOperational"> <div class="fieldcheckbox"> <label *ngIf="isCheckboxShow == true" nz-checkbox [(ngModel)]="field.checked" ></label> </div> <div class="fieldControl"> <div class="label"> <span *ngIf="to.required">*</span>{{ to.label }} </div> <div class="control"> <input nz-input disabled /> </div> <kreform-fieldbutton *ngIf="isCheckboxShow == true" [field]="field" (buttonClick)="fieldOperational($event)" ></kreform-fieldbutton> </div> </div> </ng-container> <ng-container *ngIf="formStatus === 0"> <ng-container *ngIf="editor === true"> <nz-input-group [nzSuffix]="suffixTemplate"> <input nz-input [class.is-invalid]="showError" [placeholder]="placeHolder" [value]="textLookUp" readonly="true" /> </nz-input-group> <!-- <div class="tips"> <i class="icon-bangzhu" [nzTooltipTitle]="tips" nzTooltipPlacement="top" nz-tooltip *ngIf="tips != ''" ></i> </div> --> <nz-input-group [nzSuffix]="suffixTemplate" style="display:none;"> <input nz-input [formControl]="formControl" [kreFormAttributes]="field" [class.is-invalid]="showError" readonly="true" /></nz-input-group> </ng-container> <div class="fieldtext" *ngIf="editor === false">{{ textLookUp }}</div> </ng-container> <ng-template #suffixTemplate> <i (click)="lookup()" class="icon-tianjin"></i> <!--<i nz-icon nzType="close" nzTheme="outline" (click)="removeValue()" *ngIf="textLookUp != null && textLookUp != ''" ></i>--> </ng-template> ` }] } ]; /** @nocollapse */ KreFormFieldLookUp.ctorParameters = () => [ { type: KreFormAntService }, { type: NzModalService }, { type: KreDialogService } ]; if (false) { /** @type {?} */ KreFormFieldLookUp.prototype.service; /** * @type {?} * @private */ KreFormFieldLookUp.prototype.modal; /** @type {?} */ KreFormFieldLookUp.prototype.kreDialogService; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGtyZS1mb3JtL2FudC8iLCJzb3VyY2VzIjpbImxpYi90eXBlcy9sb29rdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBMkVqRSxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsU0FBUzs7Ozs7O0lBRy9DLFlBQ0UsU0FBNEIsRUFDcEIsS0FBcUIsRUFDdEIsZ0JBQWtDO1FBRXpDLEtBQUssRUFBRSxDQUFDO1FBSEEsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDdEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUd6QyxJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQztJQUMzQixDQUFDOzs7OztJQUVELGdCQUFnQixDQUFDLElBQVk7UUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xELENBQUM7Ozs7SUFFRCxNQUFNOztZQUNBLFFBQWE7O1lBQ2IsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxzQkFBc0IsQ0FBQzs7WUFDaEQsSUFBSSxHQUFHO1lBQ1QsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ3ZCLEdBQUcsRUFBRSxLQUFLO1NBQ1g7UUFDRCxRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssTUFBTTtnQkFDVCxRQUFRLEdBQUcsV0FBVyxDQUFDO2dCQUN2QixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQztnQkFDaEIsTUFBTTtnQkFDTixNQUFNO1lBQ1IsS0FBSyxVQUFVO2dCQUNiLFFBQVEsR0FBRyxlQUFlLENBQUM7Z0JBQzNCLE1BQU07WUFDUixLQUFLLGdCQUFnQjtnQkFDbkIsUUFBUSxHQUFHLFVBQVUsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUM7Z0JBQ2hCLE1BQU07WUFDUixLQUFLLFVBQVU7Z0JBQ2IsUUFBUSxHQUFHLGNBQWMsQ0FBQztnQkFDMUIsTUFBTTtZQUNSLEtBQUssTUFBTTtnQkFDVCxRQUFRLEdBQUcsV0FBVyxDQUFDO2dCQUN2QixNQUFNO1lBQ1I7Z0JBQ0UsTUFBTTtTQUNUO1FBQ0QsSUFBSSxRQUFRLEVBQUU7WUFDWixJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQ3JDO2dCQUNFLE9BQU8sRUFBRSxPQUFPLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUM7Z0JBQ25DLElBQUksRUFBRSxPQUFPO2dCQUNiLFNBQVMsRUFBRSxRQUFRO2FBQ3BCLEVBQ0QsSUFBSTs7Ozs7WUFDSixDQUFDLFFBQWEsRUFBRSxLQUFVLEVBQUUsRUFBRTs7b0JBQ3hCLEdBQUcsR0FBUSxRQUFRLENBQUMsWUFBWTtnQkFDcEMsSUFDRSxJQUFJLENBQUMsS0FBSyxJQUFJLFNBQVM7b0JBQ3ZCLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSTtvQkFDbEIsSUFBSSxDQUFDLEdBQUcsSUFBSSxTQUFTO29CQUNyQixJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksRUFDaEI7b0JBQ0EsSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO3dCQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7d0JBRTNCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLENBQUM7cUJBQ2xDO3lCQUFNO3dCQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQzt3QkFFMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztxQkFDbEM7aUJBQ0Y7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO29CQUUzQixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDO2lCQUNsQztnQkFDRCxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsQ0FBQyxFQUNGLENBQUM7U0FDSDtJQUNILENBQUM7Ozs7SUFFRCxXQUFXO1FBQ1QsSUFDRSxJQUFJLENBQUMsS0FBSyxJQUFJLFNBQVM7WUFDdkIsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJO1lBQ2xCLElBQUksQ0FBQyxHQUFHLElBQUksU0FBUztZQUNyQixJQUFJLENBQUMsR0FBRyxJQUFJLElBQUk7WUFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksU0FBUztZQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQzVCO1lBQ0EsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBRTFCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDbEM7SUFDSCxDQUFDOzs7WUF2S0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUVUO2FBQ0Y7Ozs7WUFsRlEsaUJBQWlCO1lBQ2pCLGNBQWM7WUFDZCxnQkFBZ0I7Ozs7SUFrRnZCLHFDQUFhOzs7OztJQUlYLG1DQUE2Qjs7SUFDN0IsOENBQXlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gXCJAa3JlLWZvcm0vY29yZVwiO1xuaW1wb3J0ICogYXMgXyBmcm9tIFwibG9kYXNoXCI7XG5pbXBvcnQgeyBLcmVGb3JtQW50U2VydmljZSB9IGZyb20gXCIuLi90b29scy9zZXJ2aWNlXCI7XG5pbXBvcnQgeyBOek1vZGFsU2VydmljZSB9IGZyb20gXCJuZy16b3Jyby1hbnRkL21vZGFsXCI7XG5pbXBvcnQgeyBLcmVEaWFsb2dTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2UvZGlhbG9nLnNlcnZpY2VcIjtcblxuaW1wb3J0IHsgS3JlRm9ybVRyZWUgfSBmcm9tIFwiLi4vY29tcG9uZW50cy90cmVlL2luZGV4LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgS3JlRm9ybUVtcGxveWVlIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvZW1wbG95ZWUvaW5kZXguY29tcG9uZW50XCI7XG5pbXBvcnQgeyBLcmVGb3JtT3JnIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvb3JnL2luZGV4LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgS3JlRm9ybVBvc3Rpb24gfSBmcm9tIFwiLi4vY29tcG9uZW50cy9wb3N0aW9uL2luZGV4LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgS3JlRm9ybUFyZWEgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9hcmVhL2luZGV4LmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwia3JlZmllbGQtbG9va3VwXCIsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZvcm1TdGF0dXMgIT09IDBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZE9wZXJhdGlvbmFsXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZGNoZWNrYm94XCI+XG4gICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAqbmdJZj1cImlzQ2hlY2tib3hTaG93ID09IHRydWVcIlxuICAgICAgICAgICAgbnotY2hlY2tib3hcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmllbGQuY2hlY2tlZFwiXG4gICAgICAgICAgPjwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRDb250cm9sXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCI+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cInRvLnJlcXVpcmVkXCI+Kjwvc3Bhbj57eyB0by5sYWJlbCB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250cm9sXCI+XG4gICAgICAgICAgICA8aW5wdXQgbnotaW5wdXQgZGlzYWJsZWQgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8a3JlZm9ybS1maWVsZGJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCJpc0NoZWNrYm94U2hvdyA9PSB0cnVlXCJcbiAgICAgICAgICAgIFtmaWVsZF09XCJmaWVsZFwiXG4gICAgICAgICAgICAoYnV0dG9uQ2xpY2spPVwiZmllbGRPcGVyYXRpb25hbCgkZXZlbnQpXCJcbiAgICAgICAgICA+PC9rcmVmb3JtLWZpZWxkYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZvcm1TdGF0dXMgPT09IDBcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlZGl0b3IgPT09IHRydWVcIj5cbiAgICAgICAgPG56LWlucHV0LWdyb3VwIFtuelN1ZmZpeF09XCJzdWZmaXhUZW1wbGF0ZVwiPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgbnotaW5wdXRcbiAgICAgICAgICAgIFtjbGFzcy5pcy1pbnZhbGlkXT1cInNob3dFcnJvclwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2VIb2xkZXJcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInRleHRMb29rVXBcIlxuICAgICAgICAgICAgcmVhZG9ubHk9XCJ0cnVlXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L256LWlucHV0LWdyb3VwPlxuICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJ0aXBzXCI+XG4gICAgICAgICAgPGlcbiAgICAgICAgICAgIGNsYXNzPVwiaWNvbi1iYW5nemh1XCJcbiAgICAgICAgICAgIFtuelRvb2x0aXBUaXRsZV09XCJ0aXBzXCJcbiAgICAgICAgICAgIG56VG9vbHRpcFBsYWNlbWVudD1cInRvcFwiXG4gICAgICAgICAgICBuei10b29sdGlwXG4gICAgICAgICAgICAqbmdJZj1cInRpcHMgIT0gJydcIlxuICAgICAgICAgID48L2k+XG4gICAgICAgIDwvZGl2PiAtLT5cblxuICAgICAgICA8bnotaW5wdXQtZ3JvdXAgW256U3VmZml4XT1cInN1ZmZpeFRlbXBsYXRlXCIgc3R5bGU9XCJkaXNwbGF5Om5vbmU7XCI+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBuei1pbnB1dFxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgICAgICAgIFtrcmVGb3JtQXR0cmlidXRlc109XCJmaWVsZFwiXG4gICAgICAgICAgICBbY2xhc3MuaXMtaW52YWxpZF09XCJzaG93RXJyb3JcIlxuICAgICAgICAgICAgcmVhZG9ubHk9XCJ0cnVlXCJcbiAgICAgICAgLz48L256LWlucHV0LWdyb3VwPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZHRleHRcIiAqbmdJZj1cImVkaXRvciA9PT0gZmFsc2VcIj57eyB0ZXh0TG9va1VwIH19PC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNzdWZmaXhUZW1wbGF0ZT5cbiAgICAgIDxpIChjbGljayk9XCJsb29rdXAoKVwiIGNsYXNzPVwiaWNvbi10aWFuamluXCI+PC9pPlxuICAgICAgPCEtLTxpXG4gICAgICAgIG56LWljb25cbiAgICAgICAgbnpUeXBlPVwiY2xvc2VcIlxuICAgICAgICBuelRoZW1lPVwib3V0bGluZVwiXG4gICAgICAgIChjbGljayk9XCJyZW1vdmVWYWx1ZSgpXCJcbiAgICAgICAgKm5nSWY9XCJ0ZXh0TG9va1VwICE9IG51bGwgJiYgdGV4dExvb2tVcCAhPSAnJ1wiXG4gICAgICA+PC9pPi0tPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEtyZUZvcm1GaWVsZExvb2tVcCBleHRlbmRzIEZpZWxkVHlwZSB7XG4gIHNlcnZpY2U6IGFueTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBkeVNlcnZpY2U6IEtyZUZvcm1BbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgbW9kYWw6IE56TW9kYWxTZXJ2aWNlLFxuICAgIHB1YmxpYyBrcmVEaWFsb2dTZXJ2aWNlOiBLcmVEaWFsb2dTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5zZXJ2aWNlID0gZHlTZXJ2aWNlO1xuICB9XG5cbiAgZmllbGRPcGVyYXRpb25hbChzaWduOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlcnZpY2UuZmllbGRPcGVyYXRpb25hbChzaWduLCB0aGlzLmZpZWxkKTtcbiAgfVxuXG4gIGxvb2t1cCgpIHtcbiAgICBsZXQgdGVtcGxhdGU6IGFueTtcbiAgICBsZXQgdHlwZSA9IF8uZ2V0KHRoaXMuZmllbGQsIFwidGVtcGxhdGVPcHRpb25zLnR5cGVcIik7XG4gICAgbGV0IHBhcmEgPSB7XG4gICAgICBmaWVsZENvbmZpZzogdGhpcy5maWVsZCxcbiAgICAgIHRhZzogZmFsc2UsXG4gICAgfTtcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgXCJ0cmVlXCI6XG4gICAgICAgIHRlbXBsYXRlID0gS3JlRm9ybVRyZWU7XG4gICAgICAgIHBhcmEudGFnID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcImVtcGxveWVlXCI6XG4gICAgICAgIHRlbXBsYXRlID0gS3JlRm9ybUVtcGxveWVlO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJvcmdhbml6YXRpb25hbFwiOlxuICAgICAgICB0ZW1wbGF0ZSA9IEtyZUZvcm1Pcmc7XG4gICAgICAgIHBhcmEudGFnID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwicG9zaXRpb25cIjpcbiAgICAgICAgdGVtcGxhdGUgPSBLcmVGb3JtUG9zdGlvbjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwiYXJlYVwiOlxuICAgICAgICB0ZW1wbGF0ZSA9IEtyZUZvcm1BcmVhO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBpZiAodGVtcGxhdGUpIHtcbiAgICAgIHRoaXMua3JlRGlhbG9nU2VydmljZS5DcmVhdGVNb2RlbERpYWxvZyhcbiAgICAgICAge1xuICAgICAgICAgIG56VGl0bGU6IFwi6YCJ5oupIC0gXCIgKyB0aGlzLnRvW1wibGFiZWxcIl0sXG4gICAgICAgICAgc2l6ZTogXCJsYXJnZVwiLFxuICAgICAgICAgIG56Q29udGVudDogdGVtcGxhdGUsXG4gICAgICAgIH0sXG4gICAgICAgIHBhcmEsXG4gICAgICAgIChpbnN0YW5jZTogYW55LCBtb2RhbDogYW55KSA9PiB7XG4gICAgICAgICAgbGV0IHJlczogYW55ID0gaW5zdGFuY2Uuc2VsZWN0ZWROb2RlO1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMubW9kZWwgIT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICB0aGlzLm1vZGVsICE9IG51bGwgJiZcbiAgICAgICAgICAgIHRoaXMua2V5ICE9IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgdGhpcy5rZXkgIT0gbnVsbFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgaWYgKHJlcyAhPSBudWxsICYmIHJlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgIHRoaXMubW9kZWxbdGhpcy5rZXldID0gcmVzO1xuXG4gICAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpcy5tb2RlbFt0aGlzLmtleV0gPSBbXTtcblxuICAgICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5tb2RlbFt0aGlzLmtleV0gPSByZXM7XG5cbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBtb2RhbC5kZXN0cm95KCk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcmVtb3ZlVmFsdWUoKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5tb2RlbCAhPSB1bmRlZmluZWQgJiZcbiAgICAgIHRoaXMubW9kZWwgIT0gbnVsbCAmJlxuICAgICAgdGhpcy5rZXkgIT0gdW5kZWZpbmVkICYmXG4gICAgICB0aGlzLmtleSAhPSBudWxsICYmXG4gICAgICB0aGlzLm1vZGVsW3RoaXMua2V5XSAhPSB1bmRlZmluZWQgJiZcbiAgICAgIHRoaXMubW9kZWxbdGhpcy5rZXldICE9IG51bGxcbiAgICApIHtcbiAgICAgIHRoaXMubW9kZWxbdGhpcy5rZXldID0gW107XG5cbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgIH1cbiAgfVxufVxuIl19