@kre-form/ant
Version:
259 lines • 22.4 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, Input, Output, EventEmitter, ViewChild } from "@angular/core";
import * as _ from "lodash";
var KreFormPrivateTree = /** @class */ (function () {
function KreFormPrivateTree() {
//是否显示Tag
this.tag = true;
//单选?多选
this.selectType = "single";
this.expandAll = true;
//选中节点
this.selectData = [];
//树数据
this.data = [];
this.treeChangeEvent = new EventEmitter();
this.selectedKey = [];
//选择节点
this.selectedNode = [];
this.skeletonStatus = 0;
}
/**
* @return {?}
*/
KreFormPrivateTree.prototype.ngOnInit = /**
* @return {?}
*/
function () { };
/**
* @param {?} changes
* @return {?}
*/
KreFormPrivateTree.prototype.ngOnChanges = /**
* @param {?} changes
* @return {?}
*/
function (changes) {
if (changes.selectData) {
this.treeChecked(this.selectData);
}
if (changes.data) {
//setTimeout(() => {
this.skeletonStatus = 1;
//}, 100);
}
};
/**
* @param {?} event
* @return {?}
*/
KreFormPrivateTree.prototype.nzClick = /**
* @param {?} event
* @return {?}
*/
function (event) {
if (this.selectType != "multiple") {
this.selectData.forEach((/**
* @param {?} item
* @param {?} index
* @param {?} object
* @return {?}
*/
function (item, index, object) {
if (item != undefined &&
item != null &&
item.value != undefined &&
item.value != null &&
event != undefined &&
event != null &&
event.node != undefined &&
event.node != null &&
event.node.key != undefined &&
event.node.key != null &&
event.node.title != undefined &&
event.node.title != null &&
item.value !== event.node.key) {
object.splice(index, 1);
}
}));
if (this.selectData.length < 1) {
if (event != undefined &&
event != null &&
event.node != undefined &&
event.node != null &&
event.node.key != undefined &&
event.node.key != null &&
event.node.title != undefined &&
event.node.title != null) {
this.selectData.push({
label: event.node.title,
value: event.node.key
});
}
}
this.treeChangeEvent.emit({ checkData: this.selectData });
}
};
//点击复选框触发
//点击复选框触发
/**
* @param {?} event
* @return {?}
*/
KreFormPrivateTree.prototype.nzCheck =
//点击复选框触发
/**
* @param {?} event
* @return {?}
*/
function (event) {
if (event != undefined &&
event != null &&
event.keys != undefined &&
event.keys != null &&
event.node != undefined &&
event.node != null &&
event.node.key != undefined &&
event.node.key != null &&
event.node.title != undefined &&
event.node.title != null) {
/** @type {?} */
var isAdd = event.keys.some((/**
* @param {?} key
* @return {?}
*/
function (key) {
return key === _.get(event, "node.key");
}));
if (isAdd == true) {
this.selectData.push({
label: event.node.title,
value: event.node.key
});
}
else {
this.selectData.forEach((/**
* @param {?} item
* @param {?} index
* @param {?} object
* @return {?}
*/
function (item, index, object) {
if (item.value === _.get(event, "node.key")) {
object.splice(index, 1);
}
}));
}
}
this.treeChecked(this.selectData);
this.treeChangeEvent.emit({ checkData: this.selectData });
};
//重置选中节点
//重置选中节点
/**
* @param {?} items
* @return {?}
*/
KreFormPrivateTree.prototype.treeChecked =
//重置选中节点
/**
* @param {?} items
* @return {?}
*/
function (items) {
if (items != null && items.length > 0) {
this.selectedKey = items.map((/**
* @param {?} item
* @return {?}
*/
function (item) {
return item.value;
}));
}
else {
this.selectedKey = [];
}
};
//删除选中节点
//删除选中节点
/**
* @param {?} node
* @return {?}
*/
KreFormPrivateTree.prototype.selectClearById =
//删除选中节点
/**
* @param {?} node
* @return {?}
*/
function (node) {
this.selectData.forEach((/**
* @param {?} item
* @param {?} index
* @param {?} object
* @return {?}
*/
function (item, index, object) {
if (item.value === node) {
object.splice(index, 1);
}
}));
this.treeChecked(this.selectData);
this.treeChangeEvent.emit({ checkData: this.selectData, delete: node });
};
/**
* @return {?}
*/
KreFormPrivateTree.prototype.selectAllClear = /**
* @return {?}
*/
function () {
//this.selectData =[];
};
KreFormPrivateTree.decorators = [
{ type: Component, args: [{
selector: "kreform-private-tree",
template: " \n <ul class=\"component-tree\">\n <li class=\"tree-item kreform-scrollbar \">\n \n <nz-tree #nzTreeComponent [nzData]=\"data\" (nzClick)=\"nzClick($event)\" (nzCheckBoxChange)=\"nzCheck($event)\" [nzCheckable]=\"selectType==='multiple'\" [nzSelectedKeys]=\"selectedKey\" [nzCheckedKeys]=\"selectedKey\" [nzExpandAll]=\"expandAll\" [nzCheckStrictly]=\"true\">\n </nz-tree>\n </li>\n <li class=\"tree-tag kreform-scrollbar \" *ngIf=\"tag\">\n <div class=\"tag-header\">\n <label>\u5DF2\u9009<span>{{selectData.length}}</span>\u4EBA</label>\n <label (click)=\"selectAllClear()\">\u6E05\u7A7A</label>\n </div>\n <div class=\"tag-content\">\n <ng-container *ngFor=\"let item of selectData\">\n <nz-tag nzMode=\"closeable\" (nzOnClose)=\"selectClearById(item.value)\">{{item.label}}</nz-tag>\n </ng-container>\n </div>\n </li>\n </ul> ",
styles: [":host ::ng-deep .kreform-scrollbar{scrollbar-color:transparent;overflow-y:overlay}:host ::ng-deep .kreform-scrollbar::-webkit-scrollbar{width:6px;height:6px}:host ::ng-deep .kreform-scrollbar::-webkit-scrollbar-track{box-shadow:inset 0 0 6px transparent}:host ::ng-deep .kreform-scrollbar::-webkit-scrollbar-thumb{background-color:#999;outline:#333 solid 1px;border-radius:6px}:host ::ng-deep kre-skeleton{height:100%}:host ::ng-deep .builder-content{width:100%;padding:0 0 0 12px}:host ::ng-deep .builder-content .content{width:50%;float:left;margin:0 0 15px;min-height:45px}:host ::ng-deep .builder-content .content .label{width:100%}:host ::ng-deep .builder-content .content .control{width:100%;padding:0 15px 0 0}:host ::ng-deep .builder-content .content .control .ant-input-number{width:100%!important}:host ::ng-deep .builder-content .textarea{width:100%}:host ::ng-deep .component-tree{list-style:none;padding:0;margin:0;display:flex;flex-direction:row;height:100%}:host ::ng-deep .component-tree .ant-tree-node-content-wrapper{font-size:12px!important;display:inline-block!important;padding:0 5px 0 0!important;min-width:200px!important}:host ::ng-deep .component-tree .ant-tree-node-selected{background-color:#f6f7fb!important}:host ::ng-deep .component-tree .tree-item{flex:1;border:0 solid #f6f7fb;padding:8px 5px 5px 10px;overflow-y:auto}:host ::ng-deep .component-tree .tree-tag{overflow-y:auto;width:330px;background-color:#f6f7fb;padding:15px}:host ::ng-deep .component-tree .tree-tag .tag-header{font-size:12px;font-weight:700;color:#777d93;padding:0 0 20px}:host ::ng-deep .component-tree .tree-tag .tag-header span{display:inline-block;padding:0 3px;color:#ff986b;font-weight:400}:host ::ng-deep .component-tree .tree-tag .tag-header label:nth-last-child(1){float:right;font-weight:400;color:#6375da;cursor:pointer}:host ::ng-deep .component-tree .tree-tag .tag-content .ant-tag{color:#6375da;border:0;padding:3px 8px;margin:0 10px 10px 0;background:#fff}:host ::ng-deep .component-tree .tree-tag .tag-content .ant-tag i{color:#6375da;font-weight:700}"]
}] }
];
/** @nocollapse */
KreFormPrivateTree.ctorParameters = function () { return []; };
KreFormPrivateTree.propDecorators = {
tag: [{ type: Input }],
selectType: [{ type: Input }],
expandAll: [{ type: Input }],
selectData: [{ type: Input }],
data: [{ type: Input }],
treeChangeEvent: [{ type: Output }],
nzTreeComponent: [{ type: ViewChild, args: ["nzTreeComponent", { static: false },] }]
};
return KreFormPrivateTree;
}());
export { KreFormPrivateTree };
if (false) {
/** @type {?} */
KreFormPrivateTree.prototype.tag;
/** @type {?} */
KreFormPrivateTree.prototype.selectType;
/** @type {?} */
KreFormPrivateTree.prototype.expandAll;
/** @type {?} */
KreFormPrivateTree.prototype.selectData;
/** @type {?} */
KreFormPrivateTree.prototype.data;
/** @type {?} */
KreFormPrivateTree.prototype.treeChangeEvent;
/** @type {?} */
KreFormPrivateTree.prototype.nzTreeComponent;
/** @type {?} */
KreFormPrivateTree.prototype.selectedKey;
/** @type {?} */
KreFormPrivateTree.prototype.selectedNode;
/** @type {?} */
KreFormPrivateTree.prototype.skeletonStatus;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGtyZS1mb3JtL2FudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3ByaXZhdGUvdHJlZS9pbmRleC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osU0FBUyxFQUdWLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBUzVCO0lBK0JFOztRQXhCUyxRQUFHLEdBQVksSUFBSSxDQUFDOztRQUdwQixlQUFVLEdBQTBCLFFBQVEsQ0FBQztRQUU3QyxjQUFTLEdBQVcsSUFBSSxDQUFDOztRQUd6QixlQUFVLEdBQW1CLEVBQUUsQ0FBQzs7UUFHaEMsU0FBSSxHQUFnQixFQUFFLENBQUM7UUFFdEIsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBSzNELGdCQUFXLEdBQVUsRUFBRSxDQUFDOztRQUd4QixpQkFBWSxHQUFvQixFQUFFLENBQUM7UUFFbkMsbUJBQWMsR0FBVyxDQUFDLENBQUM7SUFDWixDQUFDOzs7O0lBRWhCLHFDQUFROzs7SUFBUixjQUFZLENBQUM7Ozs7O0lBRWIsd0NBQVc7Ozs7SUFBWCxVQUFZLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFVBQVUsRUFBRTtZQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNuQztRQUNELElBQUksT0FBTyxDQUFDLElBQUksRUFBRTtZQUNoQixvQkFBb0I7WUFDcEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUM7WUFDeEIsVUFBVTtTQUNYO0lBQ0gsQ0FBQzs7Ozs7SUFFRCxvQ0FBTzs7OztJQUFQLFVBQVEsS0FBd0I7UUFDOUIsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLFVBQVUsRUFBRTtZQUNqQyxJ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dkIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDekI7UUFDSCxDQUFDLEVBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDMUUsQ0FBQzs7OztJQUVELDJDQUFjOzs7SUFBZDtRQUNFLHNCQUFzQjtJQUN4QixDQUFDOztnQkFuSkYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLDgvQkFBcUM7O2lCQUV0Qzs7Ozs7c0JBR0UsS0FBSzs2QkFHTCxLQUFLOzRCQUVMLEtBQUs7NkJBR0wsS0FBSzt1QkFHTCxLQUFLO2tDQUVMLE1BQU07a0NBRU4sU0FBUyxTQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTs7SUE4SGpELHlCQUFDO0NBQUEsQUFwSkQsSUFvSkM7U0EvSVksa0JBQWtCOzs7SUFFN0IsaUNBQTZCOztJQUc3Qix3Q0FBc0Q7O0lBRXRELHVDQUFrQzs7SUFHbEMsd0NBQXlDOztJQUd6QyxrQ0FBZ0M7O0lBRWhDLDZDQUEyRDs7SUFFM0QsNkNBQzZDOztJQUU3Qyx5Q0FBd0I7O0lBR3hCLDBDQUFtQzs7SUFFbkMsNENBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgVmlld0NoaWxkLFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE56VHJlZUNvbXBvbmVudCB9IGZyb20gXCJuZy16b3Jyby1hbnRkL3RyZWVcIjtcbmltcG9ydCB7IE56Rm9ybWF0RW1pdEV2ZW50IH0gZnJvbSBcIm5nLXpvcnJvLWFudGQvY29yZVwiO1xuaW1wb3J0ICogYXMgXyBmcm9tIFwibG9kYXNoXCI7XG5cbmltcG9ydCB7XG4gIElTZWxlY3RlZE5vZGUsXG4gIElUcmVlRGF0YSxcbiAgSUNoZWNrZWRUcmVlLFxuICBJVHJlZUV2ZW50XG59IGZyb20gXCIuLi8uLi8uLi90b29scy91dGlsXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJrcmVmb3JtLXByaXZhdGUtdHJlZVwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2luZGV4LmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9pbmRleC5jb21wb25lbnQubGVzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBLcmVGb3JtUHJpdmF0ZVRyZWUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIC8v5piv5ZCm5pi+56S6VGFnXG4gIEBJbnB1dCgpIHRhZzogYm9vbGVhbiA9IHRydWU7XG5cbiAgLy/ljZXpgInvvJ/lpJrpgIlcbiAgQElucHV0KCkgc2VsZWN0VHlwZTogXCJzaW5nbGVcIiB8IFwibXVsdGlwbGVcIiA9IFwic2luZ2xlXCI7XG5cbiAgQElucHV0KCkgZXhwYW5kQWxsOmJvb2xlYW4gPSB0cnVlO1xuXG4gIC8v6YCJ5Lit6IqC54K5XG4gIEBJbnB1dCgpIHNlbGVjdERhdGE6IElDaGVja2VkVHJlZVtdID0gW107XG5cbiAgLy/moJHmlbDmja5cbiAgQElucHV0KCkgZGF0YTogSVRyZWVEYXRhW10gPSBbXTtcblxuICBAT3V0cHV0KCkgdHJlZUNoYW5nZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxJVHJlZUV2ZW50PigpO1xuXG4gIEBWaWV3Q2hpbGQoXCJuelRyZWVDb21wb25lbnRcIiwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIG56VHJlZUNvbXBvbmVudDogTnpUcmVlQ29tcG9uZW50IHwgdW5kZWZpbmVkO1xuXG4gIHNlbGVjdGVkS2V5OiBhbnlbXSA9IFtdO1xuXG4gIC8v6YCJ5oup6IqC54K5XG4gIHNlbGVjdGVkTm9kZTogSVNlbGVjdGVkTm9kZVtdID0gW107XG5cbiAgc2tlbGV0b25TdGF0dXM6IG51bWJlciA9IDA7XG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzLnNlbGVjdERhdGEpIHtcbiAgICAgIHRoaXMudHJlZUNoZWNrZWQodGhpcy5zZWxlY3REYXRhKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXMuZGF0YSkge1xuICAgICAgLy9zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2tlbGV0b25TdGF0dXMgPSAxO1xuICAgICAgLy99LCAxMDApO1xuICAgIH1cbiAgfVxuXG4gIG56Q2xpY2soZXZlbnQ6IE56Rm9ybWF0RW1pdEV2ZW50KSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0VHlwZSAhPSBcIm11bHRpcGxlXCIpIHtcbiAgICAgIHRoaXMuc2VsZWN0RGF0YS5mb3JFYWNoKChpdGVtOiBhbnksIGluZGV4LCBvYmplY3QpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGl0ZW0gIT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgaXRlbSAhPSBudWxsICYmXG4gICAgICAgICAgaXRlbS52YWx1ZSAhPSB1bmRlZmluZWQgJiZcbiAgICAgICAgICBpdGVtLnZhbHVlICE9IG51bGwgJiZcbiAgICAgICAgICBldmVudCAhPSB1bmRlZmluZWQgJiZcbiAgICAgICAgICBldmVudCAhPSBudWxsICYmXG4gICAgICAgICAgZXZlbnQubm9kZSAhPSB1bmRlZmluZWQgJiZcbiAgICAgICAgICBldmVudC5ub2RlICE9IG51bGwgJiZcbiAgICAgICAgICBldmVudC5ub2RlLmtleSAhPSB1bmRlZmluZWQgJiZcbiAgICAgICAgICBldmVudC5ub2RlLmtleSAhPSBudWxsICYmXG4gICAgICAgICAgZXZlbnQubm9kZS50aXRsZSAhPSB1bmRlZmluZWQgJiZcbiAgICAgICAgICBldmVudC5ub2RlLnRpdGxlICE9IG51bGwgJiZcbiAgICAgICAgICBpdGVtLnZhbHVlICE9PSBldmVudC5ub2RlLmtleVxuICAgICAgICApIHtcbiAgICAgICAgICBvYmplY3Quc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBpZiAodGhpcy5zZWxlY3REYXRhLmxlbmd0aCA8IDEpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGV2ZW50ICE9IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIGV2ZW50ICE9IG51bGwgJiZcbiAgICAgICAgICBldmVudC5ub2RlICE9IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIGV2ZW50Lm5vZGUgIT0gbnVsbCAmJlxuICAgICAgICAgIGV2ZW50Lm5vZGUua2V5ICE9IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIGV2ZW50Lm5vZGUua2V5ICE9IG51bGwgJiZcbiAgICAgICAgICBldmVudC5ub2RlLnRpdGxlICE9IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIGV2ZW50Lm5vZGUudGl0bGUgIT0gbnVsbFxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdERhdGEucHVzaCh7XG4gICAgICAgICAgICBsYWJlbDogZXZlbnQubm9kZS50aXRsZSxcbiAgICAgICAgICAgIHZhbHVlOiBldmVudC5ub2RlLmtleVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLnRyZWVDaGFuZ2VFdmVudC5lbWl0KHsgY2hlY2tEYXRhOiB0aGlzLnNlbGVjdERhdGEgfSk7XG4gICAgfVxuICB9XG5cbiAgLy/ngrnlh7vlpI3pgInmoYbop6blj5FcbiAgbnpDaGVjayhldmVudDogTnpGb3JtYXRFbWl0RXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICBldmVudCAhPSB1bmRlZmluZWQgJiZcbiAgICAgIGV2ZW50ICE9IG51bGwgJiZcbiAgICAgIGV2ZW50LmtleXMgIT0gdW5kZWZpbmVkICYmXG4gICAgICBldmVudC5rZXlzICE9IG51bGwgJiZcbiAgICAgIGV2ZW50Lm5vZGUgIT0gdW5kZWZpbmVkICYmXG4gICAgICBldmVudC5ub2RlICE9IG51bGwgJiZcbiAgICAgIGV2ZW50Lm5vZGUua2V5ICE9IHVuZGVmaW5lZCAmJlxuICAgICAgZXZlbnQubm9kZS5rZXkgIT0gbnVsbCAmJlxuICAgICAgZXZlbnQubm9kZS50aXRsZSAhPSB1bmRlZmluZWQgJiZcbiAgICAgIGV2ZW50Lm5vZGUudGl0bGUgIT0gbnVsbFxuICAgICkge1xuICAgICAgbGV0IGlzQWRkOiBib29sZWFuID0gZXZlbnQua2V5cy5zb21lKChrZXk6IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4ga2V5ID09PSBfLmdldChldmVudCwgXCJub2RlLmtleVwiKTtcbiAgICAgIH0pO1xuICAgICAgaWYgKGlzQWRkID09IHRydWUpIHtcbiAgICAgICAgdGhpcy5zZWxlY3REYXRhLnB1c2goe1xuICAgICAgICAgIGxhYmVsOiBldmVudC5ub2RlLnRpdGxlLFxuICAgICAgICAgIHZhbHVlOiBldmVudC5ub2RlLmtleVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0RGF0YS5mb3JFYWNoKChpdGVtLCBpbmRleCwgb2JqZWN0KSA9PiB7XG4gICAgICAgICAgaWYgKGl0ZW0udmFsdWUgPT09IF8uZ2V0KGV2ZW50LCBcIm5vZGUua2V5XCIpKSB7XG4gICAgICAgICAgICBvYmplY3Quc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnRyZWVDaGVja2VkKHRoaXMuc2VsZWN0RGF0YSk7XG5cbiAgICB0aGlzLnRyZWVDaGFuZ2VFdmVudC5lbWl0KHsgY2hlY2tEYXRhOiB0aGlzLnNlbGVjdERhdGEgfSk7XG4gIH1cblxuICAvL+mHjee9rumAieS4reiKgueCuVxuICB0cmVlQ2hlY2tlZChpdGVtczogYW55KSB7XG4gICAgaWYgKGl0ZW1zICE9IG51bGwgJiYgaXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5zZWxlY3RlZEtleSA9IGl0ZW1zLm1hcCgoaXRlbTogYW55KSA9PiB7XG4gICAgICAgIHJldHVybiBpdGVtLnZhbHVlO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRLZXkgPSBbXTtcbiAgICB9XG4gIH1cblxuICAvL+WIoOmZpOmAieS4reiKgueCuVxuICBzZWxlY3RDbGVhckJ5SWQobm9kZTogYW55KSB7XG4gICAgdGhpcy5zZWxlY3REYXRhLmZvckVhY2goKGl0ZW0sIGluZGV4LCBvYmplY3QpID0+IHtcbiAgICAgIGlmIChpdGVtLnZhbHVlID09PSBub2RlKSB7XG4gICAgICAgIG9iamVjdC5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMudHJlZUNoZWNrZWQodGhpcy5zZWxlY3REYXRhKTtcbiAgICB0aGlzLnRyZWVDaGFuZ2VFdmVudC5lbWl0KHsgY2hlY2tEYXRhOiB0aGlzLnNlbGVjdERhdGEsIGRlbGV0ZTogbm9kZSB9KTtcbiAgfVxuXG4gIHNlbGVjdEFsbENsZWFyKCl7ICBcbiAgICAvL3RoaXMuc2VsZWN0RGF0YSA9W107XG4gIH1cbn1cbiJdfQ==