UNPKG

@kre-form/ant

Version:

259 lines 22.4 kB
/** * @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==