@kre-form/ant
Version:
297 lines • 23.1 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, Input, Output, EventEmitter } from "@angular/core";
import * as _ from "lodash";
import { DataService } from "../../service/data.service";
var KreFormPostion = /** @class */ (function () {
function KreFormPostion(dataService) {
this.dataService = dataService;
this.fieldConfig = {};
this.tag = false;
this.treeChangeEvent = new EventEmitter();
this.treeData = [];
this.controlid = "";
this.orgid = "";
this.selectData = [];
////
//是否要多选
this.check = false;
//是否有操作列0 没有操作列;1 多个操作按钮 2 选择
this.action = 0;
//table 头部信息
this.header = [
{ "key": "id", "name": "id", "hiden": true },
{ "key": "code", "name": "职位编码", "width": 100 },
{ "key": "name", "name": "职位名称", "width": 150 },
{ "key": "number", "name": "在职人数", "width": 80 },
{ "key": "parent", "name": "上级职位" }
];
//table 行数据
this.body = [];
this.buttonlist = [];
this.checkid = [];
this.query = {
total: 0,
pageIndex: 1,
pageSize: 15,
sortName: "",
sortValue: "",
keyWord: ""
};
}
Object.defineProperty(KreFormPostion.prototype, "selectedNode", {
//选择节点
get:
//选择节点
/**
* @return {?}
*/
function () {
return _.cloneDeep(this.selectData);
},
enumerable: true,
configurable: true
});
/**
* @return {?}
*/
KreFormPostion.prototype.ngOnInit = /**
* @return {?}
*/
function () {
this.getOrgData();
this.action = 2;
if (this.selectType == "multiple") {
this.check = true;
this.action = 0;
}
if (this.selectType == "single") {
this.check = false;
this.action = 2;
this.header.push({ "key": "action", "name": "操作", "hiden": true, "action": true });
}
};
/**
* @param {?} changes
* @return {?}
*/
KreFormPostion.prototype.ngOnChanges = /**
* @param {?} changes
* @return {?}
*/
function (changes) {
if (changes.defaultNode) {
}
};
//获取Org数据集
//获取Org数据集
/**
* @return {?}
*/
KreFormPostion.prototype.getOrgData =
//获取Org数据集
/**
* @return {?}
*/
function () {
var _this = this;
this.dataService.getTreeData({ id: this.controlid }).subscribe((/**
* @param {?} res
* @return {?}
*/
function (res) {
_this.treeData = res;
_this.getSelectData();
}));
};
Object.defineProperty(KreFormPostion.prototype, "selectType", {
get: /**
* @return {?}
*/
function () {
/** @type {?} */
var res = "";
if (this.fieldConfig != undefined &&
this.fieldConfig != null &&
this.fieldConfig.templateOptions != undefined &&
this.fieldConfig.templateOptions != null &&
this.fieldConfig.templateOptions.selectType != undefined) {
res = this.fieldConfig.templateOptions.selectType;
}
return res;
},
enumerable: true,
configurable: true
});
/**
* @return {?}
*/
KreFormPostion.prototype.getSelectData = /**
* @return {?}
*/
function () {
if (this.fieldConfig != null &&
this.fieldConfig.model != undefined &&
this.fieldConfig.model != null &&
this.fieldConfig.key != undefined &&
this.fieldConfig.key != null &&
this.fieldConfig.model[this.fieldConfig.key] != undefined &&
this.fieldConfig.model[this.fieldConfig.key] != null) {
this.selectData = _.cloneDeep(this.fieldConfig.model[this.fieldConfig.key]);
}
if (this.selectData != null && this.selectData.length > 0) {
this.checkid = this.selectData.map((/**
* @param {?} item
* @return {?}
*/
function (item) {
return {
"id": item.value,
"name": item.label
};
}));
}
else {
this.checkid = [];
}
};
/**
* @return {?}
*/
KreFormPostion.prototype.getPostionData = /**
* @return {?}
*/
function () {
var _this = this;
this.dataService.getSysCtrPostionTable({
keyWord: this.query.keyWord,
pageIndex: this.query.pageIndex,
pageSize: this.query.pageSize
}).subscribe((/**
* @param {?} res
* @return {?}
*/
function (res) {
_this.query.pageIndex = res.index;
_this.query.total = res.total;
_this.body = res.data;
}));
this.getSelectData();
};
/**
* @param {?} event
* @return {?}
*/
KreFormPostion.prototype.pageIndexChange = /**
* @param {?} event
* @return {?}
*/
function (event) {
var _this = this;
this.dataService.getSysCtrPostionTable({
keyWord: this.query.keyWord,
pageIndex: this.query.pageIndex,
pageSize: this.query.pageSize
}).subscribe((/**
* @param {?} res
* @return {?}
*/
function (res) {
_this.query.pageIndex = event.pageIndex;
_this.query.total = res.total;
_this.body = res.data;
}));
};
/**
* @param {?} list
* @return {?}
*/
KreFormPostion.prototype.checkChange = /**
* @param {?} list
* @return {?}
*/
function (list) {
if (list != null && list.length > 0) {
this.selectData = list.map((/**
* @param {?} item
* @return {?}
*/
function (item) {
return {
"label": item.name, "value": item.id
};
}));
}
else {
this.selectData = [];
}
};
/**
* @param {?} event
* @return {?}
*/
KreFormPostion.prototype.orgChange = /**
* @param {?} event
* @return {?}
*/
function (event) {
if (event != null && event != undefined && event.checkData != undefined && event.checkData.length > 0) {
this.orgid = event.checkData[0].value;
this.getPostionData();
}
};
KreFormPostion.decorators = [
{ type: Component, args: [{
selector: "kreform-postion",
template: "\n<div class=\"postion-org\">\n <!-- <kre-org [data]=\"orgData\" [dimension]=\"true\" [tag]=\"false\" (treeChangeEvent)=\"orgChange($event)\">\n </kre-org> -->\n \n <kreform-private-tree [data]=\"treeData\" [selectType]=\"'single'\" [tag]=\"false\" [expandAll]=\"false\" (treeChangeEvent)=\"orgChange($event)\"></kreform-private-tree>\n</div>\n<div class=\"postion-list\"> \n <kreform-private-table\n [tableIndex]=\"query.pageIndex\"\n [tableSize]=\"query.pageSize\"\n [tableTotal]=\"query.total\"\n [header]=\"header\"\n [body]=\"body\"\n [check]=\"check\"\n [action]=\"action\"\n [checkid]=\"checkid\" \n (checkChangeEvent)=\"checkChange($event)\"\n (pageIndexEvent)=\"pageIndexChange($event)\" >\n </kreform-private-table>\n</div>\n",
providers: [DataService],
styles: [":host ::ng-deep{display:flex;flex-direction:row;width:100%;height:100%}:host ::ng-deep .postion-org{width:240px;border-right:1px solid #e8e8e8}:host ::ng-deep .postion-org .component-tree .tree-item{padding:8px 5px 5px 8px!important}:host ::ng-deep .postion-org .ant-tree li ul{padding:0 0 0 15px}:host ::ng-deep .postion-list{flex:1}"]
}] }
];
/** @nocollapse */
KreFormPostion.ctorParameters = function () { return [
{ type: DataService }
]; };
KreFormPostion.propDecorators = {
fieldConfig: [{ type: Input }],
tag: [{ type: Input }],
treeChangeEvent: [{ type: Output }]
};
return KreFormPostion;
}());
export { KreFormPostion };
if (false) {
/** @type {?} */
KreFormPostion.prototype.fieldConfig;
/** @type {?} */
KreFormPostion.prototype.tag;
/** @type {?} */
KreFormPostion.prototype.treeChangeEvent;
/** @type {?} */
KreFormPostion.prototype.treeData;
/** @type {?} */
KreFormPostion.prototype.controlid;
/** @type {?} */
KreFormPostion.prototype.orgid;
/** @type {?} */
KreFormPostion.prototype.selectData;
/** @type {?} */
KreFormPostion.prototype.check;
/** @type {?} */
KreFormPostion.prototype.action;
/** @type {?} */
KreFormPostion.prototype.header;
/** @type {?} */
KreFormPostion.prototype.body;
/** @type {?} */
KreFormPostion.prototype.buttonlist;
/** @type {?} */
KreFormPostion.prototype.checkid;
/** @type {?} */
KreFormPostion.prototype.query;
/** @type {?} */
KreFormPostion.prototype.dataService;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGtyZS1mb3JtL2FudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3Bvc3Rpb24vaW5kZXguY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUdiLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUl6RDtJQXdCRSx3QkFBbUIsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFqQmxDLGdCQUFXLEdBQXVCLEVBQUUsQ0FBQztRQUNyQyxRQUFHLEdBQVksS0FBSyxDQUFDO1FBQ3BCLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVwRCxhQUFRLEdBQWdCLEVBQUUsQ0FBQztRQUUzQixjQUFTLEdBQVcsRUFBRSxDQUFDO1FBQ3ZCLFVBQUssR0FBUyxFQUFFLENBQUM7UUFFakIsZUFBVSxHQUFtQixFQUFFLENBQUM7OztRQXlDaEMsVUFBSyxHQUFHLEtBQUssQ0FBQzs7UUFHZCxXQUFNLEdBQUcsQ0FBQyxDQUFDOztRQUdYLFdBQU0sR0FBVTtZQUNkLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDNUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRTtZQUMvQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFO1lBQy9DLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFB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Q0FBUzs7OztJQUFULFVBQVUsS0FBUztRQUNqQixJQUFHLEtBQUssSUFBRSxJQUFJLElBQUksS0FBSyxJQUFFLFNBQVMsSUFBSSxLQUFLLENBQUMsU0FBUyxJQUFFLFNBQVMsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUM7WUFDM0YsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUN0QyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDdkI7SUFDSCxDQUFDOztnQkEvS0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLG8wQkFBcUM7b0JBRXJDLFNBQVMsRUFBRSxDQUFDLFdBQVcsQ0FBQzs7aUJBQ3pCOzs7O2dCQVRRLFdBQVc7Ozs4QkFXakIsS0FBSztzQkFDTCxLQUFLO2tDQUNMLE1BQU07O0lBdUtULHFCQUFDO0NBQUEsQUFoTEQsSUFnTEM7U0ExS1ksY0FBYzs7O0lBQ3pCLHFDQUE4Qzs7SUFDOUMsNkJBQThCOztJQUM5Qix5Q0FBb0Q7O0lBRXBELGtDQUEyQjs7SUFFM0IsbUNBQXVCOztJQUN2QiwrQkFBaUI7O0lBRWpCLG9DQUFnQzs7SUF5Q2hDLCtCQUFjOztJQUdkLGdDQUFXOztJQUdYLGdDQU1FOztJQUdGLDhCQUFpQjs7SUFFakIsb0NBQXVCOztJQUV2QixpQ0FBb0I7O0lBRXBCLCtCQU9DOztJQTdEVyxxQ0FBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEtyZUZvcm1GaWVsZENvbmZpZyB9IGZyb20gXCJAa3JlLWZvcm0vY29yZVwiO1xuaW1wb3J0ICogYXMgXyBmcm9tIFwibG9kYXNoXCI7XG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2RhdGEuc2VydmljZVwiO1xuXG5pbXBvcnQgeyBJVHJlZURhdGEsIElDaGVja2VkVHJlZSB9IGZyb20gXCIuLi8uLi90b29scy91dGlsXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJrcmVmb3JtLXBvc3Rpb25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbmRleC5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vaW5kZXguY29tcG9uZW50Lmxlc3NcIl0sXG4gIHByb3ZpZGVyczogW0RhdGFTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBLcmVGb3JtUG9zdGlvbiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGZpZWxkQ29uZmlnOiBLcmVGb3JtRmllbGRDb25maWcgPSB7fTtcbiAgQElucHV0KCkgdGFnOiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSB0cmVlQ2hhbmdlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICB0cmVlRGF0YTogSVRyZWVEYXRhW10gPSBbXTtcblxuICBjb250cm9saWQ6IHN0cmluZyA9IFwiXCI7XG4gIG9yZ2lkOnN0cmluZyA9XCJcIjtcblxuICBzZWxlY3REYXRhOiBJQ2hlY2tlZFRyZWVbXSA9IFtdO1xuICAgXG4gIC8v6YCJ5oup6IqC54K5XG4gIGdldCBzZWxlY3RlZE5vZGUoKSB7XG4gICAgcmV0dXJuIF8uY2xvbmVEZWVwKHRoaXMuc2VsZWN0RGF0YSk7XG4gIH1cbiBcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCkgeyBcbiAgICB0aGlzLmdldE9yZ0RhdGEoKTsgXG4gICAgdGhpcy5hY3Rpb24gPSAyO1xuICAgIGlmICh0aGlzLnNlbGVjdFR5cGUgPT0gXCJtdWx0aXBsZVwiKSB7XG4gICAgICB0aGlzLmNoZWNrID0gdHJ1ZTtcbiAgICAgIHRoaXMuYWN0aW9uID0gMDtcbiAgICB9XG4gICAgaWYgKHRoaXMuc2VsZWN0VHlwZSA9PSBcInNpbmdsZVwiKSB7XG4gICAgICB0aGlzLmNoZWNrID0gZmFsc2U7XG4gICAgICB0aGlzLmFjdGlvbiA9IDI7XG4gICAgICB0aGlzLmhlYWRlci5wdXNoKFxuICAgICAgICB7IFwia2V5XCI6IFwiYWN0aW9uXCIsIFwibmFtZVwiOiBcIuaTjeS9nFwiLCBcImhpZGVuXCI6IHRydWUsIFwiYWN0aW9uXCI6IHRydWUgfVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMuZGVmYXVsdE5vZGUpIHtcbiAgICB9XG4gIH1cblxuICAvL+iOt+WPlk9yZ+aVsOaNrumbhlxuICBnZXRPcmdEYXRhKCkge1xuICAgIHRoaXMuZGF0YVNlcnZpY2UuZ2V0VHJlZURhdGEoeyBpZDogdGhpcy5jb250cm9saWQgfSkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICB0aGlzLnRyZWVEYXRhID0gcmVzOyAgXG4gICAgICB0aGlzLmdldFNlbGVjdERhdGEoKTtcbiAgICB9KTtcbiAgfSBcblxuICAvLy8vXG4gIC8v5piv5ZCm6KaB5aSa6YCJXG4gIGNoZWNrID0gZmFsc2U7XG5cbiAgLy/mmK/lkKbmnInmk43kvZzliJcwIOayoeacieaTjeS9nOWIl++8mzEg5aSa5Liq5pON5L2c5oyJ6ZKuIDIg6YCJ5oupXG4gIGFjdGlvbiA9IDA7XG5cbiAgLy90YWJsZSDlpLTpg6jkv6Hmga9cbiAgaGVhZGVyOiBhbnlbXSA9IFtcbiAgICB7IFwia2V5XCI6IFwiaWRcIiwgXCJuYW1lXCI6IFwiaWRcIiwgXCJoaWRlblwiOiB0cnVlIH0sXG4gICAgeyBcImtleVwiOiBcImNvZGVcIiwgXCJuYW1lXCI6IFwi6IGM5L2N57yW56CBXCIsIFwid2lkdGhcIjogMTAwIH0sXG4gICAgeyBcImtleVwiOiBcIm5hbWVcIiwgXCJuYW1lXCI6IFwi6IGM5L2N5ZCN56ewXCIsIFwid2lkdGhcIjogMTUwIH0sXG4gICAgeyBcImtleVwiOiBcIm51bWJlclwiLCBcIm5hbWVcIjogXCLlnKjogYzkurrmlbBcIiwgXCJ3aWR0aFwiOiA4MCAgfSxcbiAgICB7IFwia2V5XCI6IFwicGFyZW50XCIsIFwibmFtZVwiOiBcIuS4iue6p+iBjOS9jVwiIH1cbiAgXTtcblxuICAvL3RhYmxlIOihjOaVsOaNrlxuICBib2R5OiBhbnlbXSA9IFtdO1xuXG4gIGJ1dHRvbmxpc3Q6IGFueVtdID0gW107XG5cbiAgY2hlY2tpZDogYW55W10gPSBbXTtcblxuICBxdWVyeSA9IHtcbiAgICB0b3RhbDogMCxcbiAgICBwYWdlSW5kZXg6IDEsXG4gICAgcGFnZVNpemU6IDE1LFxuICAgIHNvcnROYW1lOiBcIlwiLFxuICAgIHNvcnRWYWx1ZTogXCJcIixcbiAgICBrZXlXb3JkOiBcIlwiXG4gIH1cbiBcbiAgZ2V0IHNlbGVjdFR5cGUoKSB7XG4gICAgbGV0IHJlcyA9IFwiXCI7XG4gICAgaWYgKFxuICAgICAgdGhpcy5maWVsZENvbmZpZyAhPSB1bmRlZmluZWQgJiZcbiAgICAgIHRoaXMuZmllbGRDb25maWcgIT0gbnVsbCAmJlxuICAgICAgdGhpcy5maWVsZENvbmZpZy50ZW1wbGF0ZU9wdGlvbnMgIT0gdW5kZWZpbmVkICYmXG4gICAgICB0aGlzLmZpZWxkQ29uZmlnLnRlbXBsYXRlT3B0aW9ucyAhPSBudWxsICYmXG4gICAgICB0aGlzLmZpZWxkQ29uZmlnLnRlbXBsYXRlT3B0aW9ucy5zZWxlY3RUeXBlICE9IHVuZGVmaW5lZFxuICAgICkge1xuICAgICAgcmVzID0gdGhpcy5maWVsZENvbmZpZy50ZW1wbGF0ZU9wdGlvbnMuc2VsZWN0VHlwZTtcbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbiAgfVxuXG4gIGdldFNlbGVjdERhdGEoKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5maWVsZENvbmZpZyAhPSBudWxsICYmXG4gICAgICB0aGlzLmZpZWxkQ29uZmlnLm1vZGVsICE9IHVuZGVmaW5lZCAmJlxuICAgICAgdGhpcy5maWVsZENvbmZpZy5tb2RlbCAhPSBudWxsICYmXG4gICAgICB0aGlzLmZpZWxkQ29uZmlnLmtleSAhPSB1bmRlZmluZWQgJiZcbiAgICAgIHRoaXMuZmllbGRDb25maWcua2V5ICE9IG51bGwgJiZcbiAgICAgIHRoaXMuZmllbGRDb25maWcubW9kZWxbdGhpcy5maWVsZENvbmZpZy5rZXldICE9IHVuZGVmaW5lZCAmJlxuICAgICAgdGhpcy5maWVsZENvbmZpZy5tb2RlbFt0aGlzLmZpZWxkQ29uZmlnLmtleV0gIT0gbnVsbFxuICAgICkge1xuICAgICAgdGhpcy5zZWxlY3REYXRhID0gXy5jbG9uZURlZXAoXG4gICAgICAgIHRoaXMuZmllbGRDb25maWcubW9kZWxbdGhpcy5maWVsZENvbmZpZy5rZXldXG4gICAgICApO1xuICAgIH1cbiBcbiAgICBpZih0aGlzLnNlbGVjdERhdGEhPW51bGwgJiYgdGhpcy5zZWxlY3REYXRhLmxlbmd0aD4wKXtcbiAgICAgIHRoaXMuY2hlY2tpZCA9dGhpcy5zZWxlY3REYXRhLm1hcChpdGVtPT57XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgXCJpZFwiOml0ZW0udmFsdWUsXG4gICAgICAgICAgXCJuYW1lXCI6aXRlbS5sYWJlbFxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9ZWxzZXtcbiAgICAgIHRoaXMuY2hlY2tpZD1bXTtcbiAgICB9XG4gIH1cblxuIFxuICBnZXRQb3N0aW9uRGF0YSgpIHtcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLmdldFN5c0N0clBvc3Rpb25UYWJsZShcbiAgICAgIHtcbiAgICAgICAga2V5V29yZDogdGhpcy5xdWVyeS5rZXlXb3JkLFxuICAgICAgICBwYWdlSW5kZXg6IHRoaXMucXVlcnkucGFnZUluZGV4LFxuICAgICAgICBwYWdlU2l6ZTogdGhpcy5xdWVyeS5wYWdlU2l6ZVxuICAgICAgfVxuICAgICkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgdGhpcy5xdWVyeS5wYWdlSW5kZXggPSByZXMuaW5kZXg7XG4gICAgICB0aGlzLnF1ZXJ5LnRvdGFsID0gcmVzLnRvdGFsO1xuICAgICAgdGhpcy5ib2R5ID0gcmVzLmRhdGE7XG4gICAgfSk7XG5cbiAgICB0aGlzLmdldFNlbGVjdERhdGEoKTtcbiAgfVxuXG4gIHBhZ2VJbmRleENoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5kYXRhU2VydmljZS5nZXRTeXNDdHJQb3N0aW9uVGFibGUoXG4gICAgICB7XG4gICAgICAgIGtleVdvcmQ6IHRoaXMucXVlcnkua2V5V29yZCxcbiAgICAgICAgcGFnZUluZGV4OiB0aGlzLnF1ZXJ5LnBhZ2VJbmRleCxcbiAgICAgICAgcGFnZVNpemU6IHRoaXMucXVlcnkucGFnZVNpemVcbiAgICAgIH0pLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHsgXG4gICAgICAgIHRoaXMucXVlcnkucGFnZUluZGV4ID0gZXZlbnQucGFnZUluZGV4O1xuICAgICAgICB0aGlzLnF1ZXJ5LnRvdGFsID0gcmVzLnRvdGFsO1xuICAgICAgICB0aGlzLmJvZHkgPSByZXMuZGF0YTtcbiAgICAgIH0pO1xuICB9XG5cbiAgY2hlY2tDaGFuZ2UobGlzdDogYW55W10pIHtcbiAgICBpZiAobGlzdCAhPSBudWxsICYmIGxpc3QubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5zZWxlY3REYXRhID0gbGlzdC5tYXAoaXRlbSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgXCJsYWJlbFwiOiBpdGVtLm5hbWUsIFwidmFsdWVcIjogaXRlbS5pZFxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3REYXRhID0gW107XG4gICAgfVxuICB9XG5cbiAgb3JnQ2hhbmdlKGV2ZW50OmFueSl7IFxuICAgIGlmKGV2ZW50IT1udWxsICYmIGV2ZW50IT11bmRlZmluZWQgJiYgZXZlbnQuY2hlY2tEYXRhIT11bmRlZmluZWQgJiYgZXZlbnQuY2hlY2tEYXRhLmxlbmd0aD4wKXtcbiAgICAgIHRoaXMub3JnaWQgPSBldmVudC5jaGVja0RhdGFbMF0udmFsdWU7XG4gICAgICB0aGlzLmdldFBvc3Rpb25EYXRhKCk7XG4gICAgfVxuICB9XG59XG4iXX0=