UNPKG

@kre-form/ant

Version:

297 lines 23.1 kB
/** * @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=