@kre-form/ant
Version:
254 lines • 21.5 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";
export class KreFormPostion {
/**
* @param {?} dataService
*/
constructor(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: ""
};
}
//选择节点
/**
* @return {?}
*/
get selectedNode() {
return _.cloneDeep(this.selectData);
}
/**
* @return {?}
*/
ngOnInit() {
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 {?}
*/
ngOnChanges(changes) {
if (changes.defaultNode) {
}
}
//获取Org数据集
/**
* @return {?}
*/
getOrgData() {
this.dataService.getTreeData({ id: this.controlid }).subscribe((/**
* @param {?} res
* @return {?}
*/
res => {
this.treeData = res;
this.getSelectData();
}));
}
/**
* @return {?}
*/
get selectType() {
/** @type {?} */
let 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;
}
/**
* @return {?}
*/
getSelectData() {
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 {?}
*/
item => {
return {
"id": item.value,
"name": item.label
};
}));
}
else {
this.checkid = [];
}
}
/**
* @return {?}
*/
getPostionData() {
this.dataService.getSysCtrPostionTable({
keyWord: this.query.keyWord,
pageIndex: this.query.pageIndex,
pageSize: this.query.pageSize
}).subscribe((/**
* @param {?} res
* @return {?}
*/
(res) => {
this.query.pageIndex = res.index;
this.query.total = res.total;
this.body = res.data;
}));
this.getSelectData();
}
/**
* @param {?} event
* @return {?}
*/
pageIndexChange(event) {
this.dataService.getSysCtrPostionTable({
keyWord: this.query.keyWord,
pageIndex: this.query.pageIndex,
pageSize: this.query.pageSize
}).subscribe((/**
* @param {?} res
* @return {?}
*/
(res) => {
this.query.pageIndex = event.pageIndex;
this.query.total = res.total;
this.body = res.data;
}));
}
/**
* @param {?} list
* @return {?}
*/
checkChange(list) {
if (list != null && list.length > 0) {
this.selectData = list.map((/**
* @param {?} item
* @return {?}
*/
item => {
return {
"label": item.name, "value": item.id
};
}));
}
else {
this.selectData = [];
}
}
/**
* @param {?} event
* @return {?}
*/
orgChange(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 = () => [
{ type: DataService }
];
KreFormPostion.propDecorators = {
fieldConfig: [{ type: Input }],
tag: [{ type: Input }],
treeChangeEvent: [{ type: Output }]
};
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGtyZS1mb3JtL2FudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3Bvc3Rpb24vaW5kZXguY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUdiLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQVV6RCxNQUFNLE9BQU8sY0FBYzs7OztJQWtCekIsWUFBbUIsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFqQmxDLGdCQUFXLEdBQXVCLEVBQUUsQ0FBQztRQUNyQyxRQUFHLEdBQVksS0FBSyxDQUFDO1FBQ3BCLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVwRCxhQUFRLEdBQWdCLEVBQUUsQ0FBQztRQUUzQixjQUFTLEdBQVcsRUFBRSxDQUFDO1FBQ3ZCLFVBQUssR0FBUyxFQUFFLENBQUM7UUFFakIsZUFBVSxHQUFtQixFQUFFLENBQUM7OztRQXlDaEMsVUFBSyxHQUFHLEtBQUssQ0FBQzs7UUFHZCxXQUFNLEdBQUcsQ0FBQyxDQUFDOztRQUdYLFdBQU0sR0FBVTtZQUNkLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDNUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRTtZQUMvQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFO1lBQy9DLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUs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SyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxFQUFDO1lBQzNGLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDdEMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQzs7O1lBL0tGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixvMEJBQXFDO2dCQUVyQyxTQUFTLEVBQUUsQ0FBQyxXQUFXLENBQUM7O2FBQ3pCOzs7O1lBVFEsV0FBVzs7OzBCQVdqQixLQUFLO2tCQUNMLEtBQUs7OEJBQ0wsTUFBTTs7OztJQUZQLHFDQUE4Qzs7SUFDOUMsNkJBQThCOztJQUM5Qix5Q0FBb0Q7O0lBRXBELGtDQUEyQjs7SUFFM0IsbUNBQXVCOztJQUN2QiwrQkFBaUI7O0lBRWpCLG9DQUFnQzs7SUF5Q2hDLCtCQUFjOztJQUdkLGdDQUFXOztJQUdYLGdDQU1FOztJQUdGLDhCQUFpQjs7SUFFakIsb0NBQXVCOztJQUV2QixpQ0FBb0I7O0lBRXBCLCtCQU9DOztJQTdEVyxxQ0FBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEtyZUZvcm1GaWVsZENvbmZpZyB9IGZyb20gXCJAa3JlLWZvcm0vY29yZVwiO1xuaW1wb3J0ICogYXMgXyBmcm9tIFwibG9kYXNoXCI7XG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2RhdGEuc2VydmljZVwiO1xuXG5pbXBvcnQgeyBJVHJlZURhdGEsIElDaGVja2VkVHJlZSB9IGZyb20gXCIuLi8uLi90b29scy91dGlsXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJrcmVmb3JtLXBvc3Rpb25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbmRleC5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vaW5kZXguY29tcG9uZW50Lmxlc3NcIl0sXG4gIHByb3ZpZGVyczogW0RhdGFTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBLcmVGb3JtUG9zdGlvbiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGZpZWxkQ29uZmlnOiBLcmVGb3JtRmllbGRDb25maWcgPSB7fTtcbiAgQElucHV0KCkgdGFnOiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSB0cmVlQ2hhbmdlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICB0cmVlRGF0YTogSVRyZWVEYXRhW10gPSBbXTtcblxuICBjb250cm9saWQ6IHN0cmluZyA9IFwiXCI7XG4gIG9yZ2lkOnN0cmluZyA9XCJcIjtcblxuICBzZWxlY3REYXRhOiBJQ2hlY2tlZFRyZWVbXSA9IFtdO1xuICAgXG4gIC8v6YCJ5oup6IqC54K5XG4gIGdldCBzZWxlY3RlZE5vZGUoKSB7XG4gICAgcmV0dXJuIF8uY2xvbmVEZWVwKHRoaXMuc2VsZWN0RGF0YSk7XG4gIH1cbiBcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCkgeyBcbiAgICB0aGlzLmdldE9yZ0RhdGEoKTsgXG4gICAgdGhpcy5hY3Rpb24gPSAyO1xuICAgIGlmICh0aGlzLnNlbGVjdFR5cGUgPT0gXCJtdWx0aXBsZVwiKSB7XG4gICAgICB0aGlzLmNoZWNrID0gdHJ1ZTtcbiAgICAgIHRoaXMuYWN0aW9uID0gMDtcbiAgICB9XG4gICAgaWYgKHRoaXMuc2VsZWN0VHlwZSA9PSBcInNpbmdsZVwiKSB7XG4gICAgICB0aGlzLmNoZWNrID0gZmFsc2U7XG4gICAgICB0aGlzLmFjdGlvbiA9IDI7XG4gICAgICB0aGlzLmhlYWRlci5wdXNoKFxuICAgICAgICB7IFwia2V5XCI6IFwiYWN0aW9uXCIsIFwibmFtZVwiOiBcIuaTjeS9nFwiLCBcImhpZGVuXCI6IHRydWUsIFwiYWN0aW9uXCI6IHRydWUgfVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMuZGVmYXVsdE5vZGUpIHtcbiAgICB9XG4gIH1cblxuICAvL+iOt+WPlk9yZ+aVsOaNrumbhlxuICBnZXRPcmdEYXRhKCkge1xuICAgIHRoaXMuZGF0YVNlcnZpY2UuZ2V0VHJlZURhdGEoeyBpZDogdGhpcy5jb250cm9saWQgfSkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICB0aGlzLnRyZWVEYXRhID0gcmVzOyAgXG4gICAgICB0aGlzLmdldFNlbGVjdERhdGEoKTtcbiAgICB9KTtcbiAgfSBcblxuICAvLy8vXG4gIC8v5piv5ZCm6KaB5aSa6YCJXG4gIGNoZWNrID0gZmFsc2U7XG5cbiAgLy/mmK/lkKbmnInmk43kvZzliJcwIOayoeacieaTjeS9nOWIl++8mzEg5aSa5Liq5pON5L2c5oyJ6ZKuIDIg6YCJ5oupXG4gIGFjdGlvbiA9IDA7XG5cbiAgLy90YWJsZSDlpLTpg6jkv6Hmga9cbiAgaGVhZGVyOiBhbnlbXSA9IFtcbiAgICB7IFwia2V5XCI6IFwiaWRcIiwgXCJuYW1lXCI6IFwiaWRcIiwgXCJoaWRlblwiOiB0cnVlIH0sXG4gICAgeyBcImtleVwiOiBcImNvZGVcIiwgXCJuYW1lXCI6IFwi6IGM5L2N57yW56CBXCIsIFwid2lkdGhcIjogMTAwIH0sXG4gICAgeyBcImtleVwiOiBcIm5hbWVcIiwgXCJuYW1lXCI6IFwi6IGM5L2N5ZCN56ewXCIsIFwid2lkdGhcIjogMTUwIH0sXG4gICAgeyBcImtleVwiOiBcIm51bWJlclwiLCBcIm5hbWVcIjogXCLlnKjogYzkurrmlbBcIiwgXCJ3aWR0aFwiOiA4MCAgfSxcbiAgICB7IFwia2V5XCI6IFwicGFyZW50XCIsIFwibmFtZVwiOiBcIuS4iue6p+iBjOS9jVwiIH1cbiAgXTtcblxuICAvL3RhYmxlIOihjOaVsOaNrlxuICBib2R5OiBhbnlbXSA9IFtdO1xuXG4gIGJ1dHRvbmxpc3Q6IGFueVtdID0gW107XG5cbiAgY2hlY2tpZDogYW55W10gPSBbXTtcblxuICBxdWVyeSA9IHtcbiAgICB0b3RhbDogMCxcbiAgICBwYWdlSW5kZXg6IDEsXG4gICAgcGFnZVNpemU6IDE1LFxuICAgIHNvcnROYW1lOiBcIlwiLFxuICAgIHNvcnRWYWx1ZTogXCJcIixcbiAgICBrZXlXb3JkOiBcIlwiXG4gIH1cbiBcbiAgZ2V0IHNlbGVjdFR5cGUoKSB7XG4gICAgbGV0IHJlcyA9IFwiXCI7XG4gICAgaWYgKFxuICAgICAgdGhpcy5maWVsZENvbmZpZyAhPSB1bmRlZmluZWQgJiZcbiAgICAgIHRoaXMuZmllbGRDb25maWcgIT0gbnVsbCAmJlxuICAgICAgdGhpcy5maWVsZENvbmZpZy50ZW1wbGF0ZU9wdGlvbnMgIT0gdW5kZWZpbmVkICYmXG4gICAgICB0aGlzLmZpZWxkQ29uZmlnLnRlbXBsYXRlT3B0aW9ucyAhPSBudWxsICYmXG4gICAgICB0aGlzLmZpZWxkQ29uZmlnLnRlbXBsYXRlT3B0aW9ucy5zZWxlY3RUeXBlICE9IHVuZGVmaW5lZFxuICAgICkge1xuICAgICAgcmVzID0gdGhpcy5maWVsZENvbmZpZy50ZW1wbGF0ZU9wdGlvbnMuc2VsZWN0VHlwZTtcbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbiAgfVxuXG4gIGdldFNlbGVjdERhdGEoKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5maWVsZENvbmZpZyAhPSBudWxsICYmXG4gICAgICB0aGlzLmZpZWxkQ29uZmlnLm1vZGVsICE9IHVuZGVmaW5lZCAmJlxuICAgICAgdGhpcy5maWVsZENvbmZpZy5tb2RlbCAhPSBudWxsICYmXG4gICAgICB0aGlzLmZpZWxkQ29uZmlnLmtleSAhPSB1bmRlZmluZWQgJiZcbiAgICAgIHRoaXMuZmllbGRDb25maWcua2V5ICE9IG51bGwgJiZcbiAgICAgIHRoaXMuZmllbGRDb25maWcubW9kZWxbdGhpcy5maWVsZENvbmZpZy5rZXldICE9IHVuZGVmaW5lZCAmJlxuICAgICAgdGhpcy5maWVsZENvbmZpZy5tb2RlbFt0aGlzLmZpZWxkQ29uZmlnLmtleV0gIT0gbnVsbFxuICAgICkge1xuICAgICAgdGhpcy5zZWxlY3REYXRhID0gXy5jbG9uZURlZXAoXG4gICAgICAgIHRoaXMuZmllbGRDb25maWcubW9kZWxbdGhpcy5maWVsZENvbmZpZy5rZXldXG4gICAgICApO1xuICAgIH1cbiBcbiAgICBpZih0aGlzLnNlbGVjdERhdGEhPW51bGwgJiYgdGhpcy5zZWxlY3REYXRhLmxlbmd0aD4wKXtcbiAgICAgIHRoaXMuY2hlY2tpZCA9dGhpcy5zZWxlY3REYXRhLm1hcChpdGVtPT57XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgXCJpZFwiOml0ZW0udmFsdWUsXG4gICAgICAgICAgXCJuYW1lXCI6aXRlbS5sYWJlbFxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9ZWxzZXtcbiAgICAgIHRoaXMuY2hlY2tpZD1bXTtcbiAgICB9XG4gIH1cblxuIFxuICBnZXRQb3N0aW9uRGF0YSgpIHtcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLmdldFN5c0N0clBvc3Rpb25UYWJsZShcbiAgICAgIHtcbiAgICAgICAga2V5V29yZDogdGhpcy5xdWVyeS5rZXlXb3JkLFxuICAgICAgICBwYWdlSW5kZXg6IHRoaXMucXVlcnkucGFnZUluZGV4LFxuICAgICAgICBwYWdlU2l6ZTogdGhpcy5xdWVyeS5wYWdlU2l6ZVxuICAgICAgfVxuICAgICkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgdGhpcy5xdWVyeS5wYWdlSW5kZXggPSByZXMuaW5kZXg7XG4gICAgICB0aGlzLnF1ZXJ5LnRvdGFsID0gcmVzLnRvdGFsO1xuICAgICAgdGhpcy5ib2R5ID0gcmVzLmRhdGE7XG4gICAgfSk7XG5cbiAgICB0aGlzLmdldFNlbGVjdERhdGEoKTtcbiAgfVxuXG4gIHBhZ2VJbmRleENoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5kYXRhU2VydmljZS5nZXRTeXNDdHJQb3N0aW9uVGFibGUoXG4gICAgICB7XG4gICAgICAgIGtleVdvcmQ6IHRoaXMucXVlcnkua2V5V29yZCxcbiAgICAgICAgcGFnZUluZGV4OiB0aGlzLnF1ZXJ5LnBhZ2VJbmRleCxcbiAgICAgICAgcGFnZVNpemU6IHRoaXMucXVlcnkucGFnZVNpemVcbiAgICAgIH0pLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHsgXG4gICAgICAgIHRoaXMucXVlcnkucGFnZUluZGV4ID0gZXZlbnQucGFnZUluZGV4O1xuICAgICAgICB0aGlzLnF1ZXJ5LnRvdGFsID0gcmVzLnRvdGFsO1xuICAgICAgICB0aGlzLmJvZHkgPSByZXMuZGF0YTtcbiAgICAgIH0pO1xuICB9XG5cbiAgY2hlY2tDaGFuZ2UobGlzdDogYW55W10pIHtcbiAgICBpZiAobGlzdCAhPSBudWxsICYmIGxpc3QubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5zZWxlY3REYXRhID0gbGlzdC5tYXAoaXRlbSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgXCJsYWJlbFwiOiBpdGVtLm5hbWUsIFwidmFsdWVcIjogaXRlbS5pZFxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3REYXRhID0gW107XG4gICAgfVxuICB9XG5cbiAgb3JnQ2hhbmdlKGV2ZW50OmFueSl7IFxuICAgIGlmKGV2ZW50IT1udWxsICYmIGV2ZW50IT11bmRlZmluZWQgJiYgZXZlbnQuY2hlY2tEYXRhIT11bmRlZmluZWQgJiYgZXZlbnQuY2hlY2tEYXRhLmxlbmd0aD4wKXtcbiAgICAgIHRoaXMub3JnaWQgPSBldmVudC5jaGVja0RhdGFbMF0udmFsdWU7XG4gICAgICB0aGlzLmdldFBvc3Rpb25EYXRhKCk7XG4gICAgfVxuICB9XG59XG4iXX0=