UNPKG

dbweb-common

Version:

用`yarn add dbweb-common`安装,不要忘记修改`angular.json`里的 `architect\build\options\assets`,加上

393 lines 47.8 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, Input, ViewChild } from '@angular/core'; import { MatIconRegistry } from '@angular/material/icon'; import { MatDrawer } from '@angular/material/sidenav'; import { DomSanitizer } from '@angular/platform-browser'; import { Router } from '@angular/router'; import { ElementsService, RouteElementService, ProjectService } from 'dbweb-core'; import { ClipboardService } from 'ngx-clipboard'; import { take } from 'rxjs/operators'; import { LabelDrawerComponent } from './label-drawer/label-drawer.component'; import { SelectType } from './model/model'; import { BackFaceService } from './service/backface'; import { ServiceData } from './service/data'; import { ServiceService } from './service/service.service'; import { TableComponent } from './table/table.component'; import { ViewDrawerComponent } from './view-drawer/view-drawer.component'; export class RecordViewComponent { /** * @param {?} svr * @param {?} ele * @param {?} prj * @param {?} _clipboardService * @param {?} iconRegistry * @param {?} sanitizer * @param {?} router * @param {?} eles */ constructor(svr, ele, prj, _clipboardService, iconRegistry, sanitizer, router, eles) { this.svr = svr; this.ele = ele; this.prj = prj; this._clipboardService = _clipboardService; this.router = router; this.eles = eles; this.SelectTypeSelected = SelectType.Selected; this.SelectTypeUnselected = SelectType.Unselected; this.showConditionalTemplateRunner = false; this.editLabelModel = false; this.subscribe = []; /** @type {?} */ const icons = [ 'all_chosen', 'cancel_chosen', 'return_chosen', 'single_chosen', 'double_down', 'drag_indicator', 'arrow_collapse', 'arrow_expand', 'sorting_arrows', 'color_add', 'file_copy', 'bg_bottom_out', 'default' ]; icons.forEach((/** * @param {?} v * @return {?} */ v => { iconRegistry.addSvgIcon(v, sanitizer.bypassSecurityTrustResourceUrl('assets/record-view/icon/' + v + '.svg')); })); } /** * @return {?} */ ngOnDestroy() { this.subscribe.forEach((/** * @param {?} v * @return {?} */ v => v.unsubscribe())); } /** * @return {?} */ onDetach() { this.dataTable.onDetach(); } /** * @param {?} ref * @param {?} activatedRoute * @return {?} */ onAttach(ref, activatedRoute) { this.dataTable.onAttach(ref, activatedRoute); } /** * @return {?} */ ngOnInit() { this.subscribe.push(this.svr.refreshDataEvent.subscribe((/** * @param {?} v * @return {?} */ (v) => { this.dataTable.setDataSource(this.svr.data.tableData.Rows, this.svr.data.tableData.DisplayColumns.map((/** * @param {?} vv * @return {?} */ vv => ((/** @type {?} */ (Object.assign({}, vv)))))), (v && v.keepDivide) || (v && v.keepRowCount)); }))); // 如果是组件方式调用 if (this.eleName !== undefined) { this.svr.initByCondition(this.eles.get(this.eleName), this.title, this.condition); } else { // init param this.ele.currentElement.pipe(take(1)).subscribe((/** * @param {?} v * @return {?} */ v => { this.svr.init(v.element, this.prj.frontToApiURL(v.url)); })); } } /** * @return {?} */ selectedRowText() { /** @type {?} */ const total = this.svr.data.tableRowSelection.selected.length; /** @type {?} */ let current = 0; if (this.svr.data.tableData && this.svr.data.tableData.Rows) { current = this.svr.data.tableData.Rows.filter((/** * @param {?} row * @return {?} */ row => this.svr.data.tableRowSelection.isSelected(row.Key))) .length; } if (total === current) { return `已选${total}条`; } else { return `${current}/${total}`; } } /** * @param {?} sortInfo * @return {?} */ onTableSort(sortInfo) { switch (sortInfo.direction) { case '': this.svr.data.fetchParam.Order = null; break; case 'asc': this.svr.data.fetchParam.Order = [sortInfo.active]; break; case 'desc': this.svr.data.fetchParam.Order = [`-${sortInfo.active}`]; } this.svr.refreshData({ keepRowCount: true }).subscribe(); } /** * @return {?} */ searchClick() { this.showConditionalTemplateRunner = false; this.svr.refreshData().subscribe(); } /** * @param {?} event * @return {?} */ onRecordProcessClick(event) { /** @type {?} */ let fields = this.svr.data.uniqueFields; if (event.pro.TransPath && event.pro.TransPath.length > 0) { fields = event.pro.TransPath; } /** @type {?} */ const keyValues = fields.map((/** * @param {?} v * @return {?} */ v => `[${event.row.Data[v]}]`)).join(' '); /** @type {?} */ const ustr = this.eles.frontElementURL(this.svr.data.rowProcesses.find((/** * @param {?} v * @return {?} */ v => v.Name === event.pro.Name)).ElementName, event.row.Processes[event.pro.Name].URL); this.router.navigateByUrl(ustr, { state: (/** @type {?} */ ({ // 因为route自动会进行encode,所以需要把服务端的url解开,但是服务端又不能不编码,因为斜杠需要正确处理 url: this.router.parseUrl(ustr), key: ustr, title: `${event.pro.Name} - ${keyValues}` })) }); } /** * @param {?} pro * @return {?} */ onToolbarProcessClick(pro) { /** @type {?} */ const ustr = this.eles.frontElementURL(pro.ElementName, this.svr.data.tableData.Processes[pro.Name].URL); this.router.navigateByUrl(ustr, { state: (/** @type {?} */ ({ url: this.router.parseUrl(ustr), key: ustr, title: pro.Name })) }); } /** * @param {?} event * @return {?} */ onNextPageClick(event) { this.svr.data.fetchParam.Divide = this.svr.data.tableData.DownDivide; this.svr.data.fetchParam.DivideRowNum = this.svr.data.tableData.DownRowNum; if (this.svr.data.prevFetchDivide) { this.svr.data.upDivide = this.svr.data.upDivide || []; this.svr.data.upRowNum = this.svr.data.upRowNum || []; this.svr.data.upDivide.push(this.svr.data.prevFetchDivide); this.svr.data.upRowNum.push(this.svr.data.prevFetchRowNum); } this.svr.refreshData({ keepDivide: true, keepRowCount: true }).subscribe(); } /** * @param {?} event * @return {?} */ onPrevPageClick(event) { if (this.svr.data.upDivide) { this.svr.data.fetchParam.Divide = this.svr.data.upDivide.pop(); } else { this.svr.data.fetchParam.Divide = undefined; } if (this.svr.data.upRowNum) { this.svr.data.fetchParam.DivideRowNum = this.svr.data.upRowNum.pop(); } else { this.svr.data.fetchParam.DivideRowNum = undefined; } this.svr.refreshData({ keepDivide: true, keepRowCount: true }).subscribe(); } /** * @param {?} event * @return {?} */ onFooterRowCountClick(event) { this.svr.refreshRowCount().subscribe(); } /** * @return {?} */ startRowNo() { if (this.svr.data && this.svr.data.tableData && this.svr.data.tableData.Rows.length > 0) { return this.svr.data.tableData.Rows[0].RowNum + 1; } return 0; } /** * @return {?} */ openLabelDrawer() { this.svr.data.showLabelDrawer = true; setTimeout((/** * @return {?} */ () => { // 复制,因为对话框内部会改变值 this.labelDrawer.selectedLabels = [...this.svr.data.selectedLabels]; // 点击模板打开抽屉 this.drawer.toggle(); }), 0); } /** * @return {?} */ openColumnsDrawer() { this.svr.data.showLabelDrawer = false; if (!this.svr.data.viewList || this.svr.data.viewList.length === 0) { this.svr.editView.add(); } else { this.svr.editView.titleInput = false; this.svr.editView.current = this.svr.data.viewList[0]; } // 点击模板打开抽屉 this.drawer.toggle(); } /** * @return {?} */ hasConditionalTemplate() { return !!this.svr.data.conditionalTemplates.find((/** * @param {?} v * @return {?} */ v => v.enable)); } /** * @return {?} */ closeDrawer() { // this.labelDrawer.editModel = false; this.editLabelModel = false; console.log('close', this.editLabelModel, this.labelDrawer.editModel); } } RecordViewComponent.decorators = [ { type: Component, args: [{ selector: 'common-recview', template: "<div class=\"record-view main\">\r\n\t<mat-drawer-container class=\"container\">\r\n\t\t<mat-drawer #drawer mode=\"over\" position=\"end\" autoFocus=\"false\" (closedStart)=\"labelDrawer.editModel=false;\">\r\n\t\t\t<common-label-drawer #labelDrawer *ngIf=\"svr.data.showLabelDrawer\" [IsEditModel]=\"editLabelModel\"\r\n\t\t\t\t(close)=\"drawer.toggle()\">\r\n\t\t\t</common-label-drawer>\r\n\t\t\t<common-view-drawer #columnsDrawer *ngIf=\"!svr.data.showLabelDrawer\" (close)=\"drawer.toggle()\">\r\n\t\t\t</common-view-drawer>\r\n\t\t</mat-drawer>\r\n\t\t<mat-drawer-content>\r\n\t\t\t<div class=\"rec-body\" (click)=\"showConditionalTemplateRunner = false\">\r\n\t\t\t\t<div class=\"toolbar-panel\">\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<div class=\"toolbar \u9009\u62E9\u5DE5\u5177\u680F my-elevation-z5\">\r\n\t\t\t\t\t\t\t<span class=\"\u9009\u62E9\u63D0\u793A \u5DF2\u9009\u62E9\">{{ selectedRowText() }}</span>\r\n\t\t\t\t\t\t\t<mat-form-field class=\"sel\u9009\u62E9\">\r\n\t\t\t\t\t\t\t\t<mat-select [(ngModel)]=\"svr.data.fetchParam.SelType\">\r\n\t\t\t\t\t\t\t\t\t<mat-option value=\"\"> \u6240\u6709 </mat-option>\r\n\t\t\t\t\t\t\t\t\t<mat-option [value]=\"SelectTypeSelected\">\r\n\t\t\t\t\t\t\t\t\t\t\u4EC5\u9009\u4E2D </mat-option>\r\n\t\t\t\t\t\t\t\t\t<mat-option [value]=\"SelectTypeUnselected\">\r\n\t\t\t\t\t\t\t\t\t\t\u672A\u9009\u4E2D </mat-option>\r\n\t\t\t\t\t\t\t\t</mat-select>\r\n\t\t\t\t\t\t\t</mat-form-field>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div class=\"toolbar \u5355\u6307\u6807\u6761\u4EF6\u5DE5\u5177\u680F my-elevation-z5\">\r\n\t\t\t\t\t\t\t<mat-form-field class=\"sel\u6307\u6807\">\r\n\t\t\t\t\t\t\t\t<mat-select [(ngModel)]=\"svr.data.fetchParam.Field\"\r\n\t\t\t\t\t\t\t\t\t(ngModelChange)=\"svr.onColumnChange($event)\">\r\n\t\t\t\t\t\t\t\t\t<mat-option value=\"\"> </mat-option>\r\n\t\t\t\t\t\t\t\t\t<mat-option *ngFor=\"let col of svr.data?.tableData?.Columns\" [value]=\"col.Name\">\r\n\t\t\t\t\t\t\t\t\t\t{{ col.Name }}\r\n\t\t\t\t\t\t\t\t\t</mat-option>\r\n\t\t\t\t\t\t\t\t</mat-select>\r\n\t\t\t\t\t\t\t</mat-form-field>\r\n\t\t\t\t\t\t\t<mat-form-field class=\"sel\u89C4\u5219\" floatLabel=\"never\">\r\n\t\t\t\t\t\t\t\t<mat-select [(ngModel)]=\"svr.data.fetchParam.Opt\" placeholder=\"(\u65E0)\">\r\n\t\t\t\t\t\t\t\t\t<mat-option *ngFor=\"let ope of svr.data.Operates\" [value]=\"ope.Name\">{{\r\n\t\t\t\t\t\t\t\t\t\tope.Label\r\n\t\t\t\t\t\t\t\t\t}}</mat-option>\r\n\t\t\t\t\t\t\t\t</mat-select>\r\n\t\t\t\t\t\t\t</mat-form-field>\r\n\t\t\t\t\t\t\t<mat-divider [vertical]=\"true\"></mat-divider>\r\n\t\t\t\t\t\t\t<mat-form-field class=\"inp\u503C\" appearance=\"standard\">\r\n\t\t\t\t\t\t\t\t<input matInput [(ngModel)]=\"svr.data.fetchParam.Value\" (keyup.enter)=\"searchClick()\" />\r\n\t\t\t\t\t\t\t\t<button mat-icon-button matSuffix\r\n\t\t\t\t\t\t\t\t\t*ngIf=\"svr.data.fetchParam?.Opt == 'in' || svr.data.fetchParam?.Opt == '!in'\">\r\n\t\t\t\t\t\t\t\t\t<mat-icon svgIcon=\"more_vert\"></mat-icon>\r\n\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t</mat-form-field>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div class=\"toolbar\">\r\n\t\t\t\t\t\t\t<div class=\"condition-button\">\r\n\t\t\t\t\t\t\t\t<button mat-raised-button class=\"my-elevation-z5 \u67E5\u8BE2\u6309\u94AE\">\r\n\t\t\t\t\t\t\t\t\t<mat-icon svgIcon=\"search\" (click)=\"searchClick()\"></mat-icon>\r\n\t\t\t\t\t\t\t\t\t<span *ngIf=\"svr.data.conditionalTemplates\" class=\"\u5206\u5272\u7EBF\"></span>\r\n\t\t\t\t\t\t\t\t\t<ng-container *ngIf=\"svr.data.conditionalTemplates\">\r\n\t\t\t\t\t\t\t\t\t\t<mat-icon svgIcon=\"view_list\"\r\n\t\t\t\t\t\t\t\t\t\t\t[class.openConditionalTemplate]=\"showConditionalTemplateRunner\"\r\n\t\t\t\t\t\t\t\t\t\t\t[class.revised]=\"hasConditionalTemplate() && !showConditionalTemplateRunner\"\r\n\t\t\t\t\t\t\t\t\t\t\t(click)=\"showConditionalTemplateRunner = !showConditionalTemplateRunner;$event.stopPropagation();\">\r\n\t\t\t\t\t\t\t\t\t\t</mat-icon>\r\n\t\t\t\t\t\t\t\t\t\t<span *ngIf=\"hasConditionalTemplate()\" class=\"revised-star\">*</span>\r\n\t\t\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t<!-- <button mat-raised-button class=\"my-elevation-z5 \u67E5\u8BE2\u6309\u94AE\"></button> -->\r\n\t\t\t\t\t\t\t\t<mat-icon *ngIf=\"showConditionalTemplateRunner\" class=\"condition-triangle\">\r\n\t\t\t\t\t\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" width=\"24px\" height=\"24px\">\r\n\t\t\t\t\t\t\t\t\t\t<path name=\"\u4E09\u89D2\u5F62\" d=\"M0 15 L12 0 L24 15 Z\" />\r\n\t\t\t\t\t\t\t\t\t</svg>\r\n\t\t\t\t\t\t\t\t</mat-icon>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"right-top-area\">\r\n\t\t\t\t\t\t<common-label-selector (open)=\"openLabelDrawer()\">\r\n\t\t\t\t\t\t</common-label-selector>\r\n\t\t\t\t\t\t<common-view-selector (managerClick)=\"openColumnsDrawer()\">\r\n\t\t\t\t\t\t</common-view-selector>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"condition-parent\">\r\n\t\t\t\t\t<div class=\"condition-card my-elevation-z8\" *ngIf=\"showConditionalTemplateRunner\">\r\n\t\t\t\t\t\t<common-conditional-template-runner (click)=\"$event.stopPropagation();\"\r\n\t\t\t\t\t\t\t(enterPress)=\"showConditionalTemplateRunner=false;searchClick();\">\r\n\t\t\t\t\t\t</common-conditional-template-runner>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"condition-mask\" *ngIf=\"showConditionalTemplateRunner\"></div>\r\n\t\t\t\t\t<common-table #dataTable [processes]=\"svr.data?.rowProcesses\" (sortChange)=\"onTableSort($event)\"\r\n\t\t\t\t\t\t(processClick)=\"onRecordProcessClick($event)\">\r\n\t\t\t\t\t</common-table>\r\n\t\t\t\t</div>\r\n\t\t\t\t<common-footer-toolbar class=\"\u64CD\u4F5C\u5DE5\u5177\u680F my-elevation-z5\" [process]=\"svr.data.toolbarProcesses\"\r\n\t\t\t\t\t[rowCount]=\"svr.data.rowCount\" [pageSize]=\"svr.data.fetchParam.Limit\" [startRowNo]=\"startRowNo()\"\r\n\t\t\t\t\t[responseTime]=\"svr.data.timeConsuming\" [nextPageDisable]=\"svr.data.nextPageDisable\"\r\n\t\t\t\t\t[PrevPageDisable]=\"svr.data.prevPageDisable\" (processClick)=\"onToolbarProcessClick($event)\"\r\n\t\t\t\t\t(nextPageClick)=\"onNextPageClick($event)\" (prevPageClick)=\"onPrevPageClick($event)\"\r\n\t\t\t\t\t(rowCountClick)=\"onFooterRowCountClick($event)\">\r\n\t\t\t\t</common-footer-toolbar>\r\n\t\t\t</div>\r\n\t\t</mat-drawer-content>\r\n\t</mat-drawer-container>\r\n</div>", providers: [ServiceService, BackFaceService, ServiceData], styles: ["@charset \"UTF-8\";.record-view{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;-o-user-select:none;position:relative;display:flex;box-sizing:border-box;flex-direction:column;height:100%;width:100%}.record-view .header{font-size:12px;position:relative;z-index:1;display:inline-flex;justify-content:space-between;align-items:center;height:32px}.record-view .header .left{display:inline-flex;justify-content:space-between;align-items:center;height:32px;line-height:32px}.record-view .header .left .\u4F4D\u7F6E{margin-right:4px}.record-view .header .left .\u7C7B\u522B{margin-right:8px}.record-view .header .left button{width:24px;height:24px;line-height:24px}.record-view .header .left button .\u590D\u5236\u56FE\u6807{width:16px;height:16px;margin-bottom:6px}.record-view .header .left .\u7B49\u5F85\u56FE\u6807{width:16px;height:16px}.record-view .header .left .span\u7B49\u5F85\u56FE\u6807{margin-left:16px;padding-top:8px}.record-view .header .\u8BED\u8A00{font-size:12px;height:24px;line-height:20px}.record-view .toolbar-panel{padding-top:8px;padding-bottom:16px;display:inline-flex;justify-content:space-between}.record-view .toolbar-panel .toolbar{display:inline-flex;align-items:center;border-radius:16px;height:32px}.record-view .toolbar-panel .toolbar ::ng-deep .mat-form-field-underline{display:none}.record-view .toolbar-panel .toolbar .mat-form-field-type-mat-select{padding-top:6px}.record-view .toolbar-panel .toolbar .mat-divider{height:16px}.record-view .toolbar-panel .toolbar.\u9009\u62E9\u5DE5\u5177\u680F{vertical-align:top;box-sizing:border-box;width:152px;padding-left:16px;padding-right:8px;margin-right:24px}.record-view .toolbar-panel .toolbar.\u9009\u62E9\u5DE5\u5177\u680F .\u9009\u62E9\u63D0\u793A{font-size:12px;line-height:18px;width:72px}.record-view .toolbar-panel .toolbar.\u9009\u62E9\u5DE5\u5177\u680F .sel\u9009\u62E9{font-size:14px;width:72px}.record-view .toolbar-panel .toolbar.\u5355\u6307\u6807\u6761\u4EF6\u5DE5\u5177\u680F{vertical-align:top;box-sizing:border-box;width:360px;padding-left:16px;padding-right:8px;margin-right:8px}.record-view .toolbar-panel .toolbar.\u5355\u6307\u6807\u6761\u4EF6\u5DE5\u5177\u680F .sel\u6307\u6807{width:80px;font-size:14px;line-height:20px;margin-right:8px}.record-view .toolbar-panel .toolbar.\u5355\u6307\u6807\u6761\u4EF6\u5DE5\u5177\u680F .sel\u89C4\u5219{width:88px;font-size:14px;line-height:20px;margin-right:8px}.record-view .toolbar-panel .toolbar.\u5355\u6307\u6807\u6761\u4EF6\u5DE5\u5177\u680F .inp\u503C{margin-left:4px;width:156px}.record-view .toolbar-panel .toolbar.\u5355\u6307\u6807\u6761\u4EF6\u5DE5\u5177\u680F .inp\u503C button{position:relative;top:4px;width:24px;height:24px;line-height:24px}.record-view .toolbar-panel .toolbar.\u6A21\u677F\u5DE5\u5177\u680F{vertical-align:top;box-sizing:border-box;width:112px;padding-left:16px;padding-right:8px}.record-view .toolbar-panel .toolbar.\u6A21\u677F\u5DE5\u5177\u680F .sel{width:88px;font-size:14px;line-height:20px}.record-view .toolbar-panel .toolbar.\u516C\u7528\u6A21\u677F{margin-right:24px}.record-view .toolbar-panel .\u6A21\u677F\u6587\u5B57{font-size:14px;line-height:32px;margin-right:8px}.record-view .toolbar-panel .\u67E5\u8BE2\u6309\u94AE{min-width:56px;border-radius:16px;height:32px;padding-left:12px;padding-right:14px}.record-view .toolbar-panel .\u67E5\u8BE2\u6309\u94AE .mat-icon{position:relative;top:-3px}.record-view .toolbar-panel .\u67E5\u8BE2\u6309\u94AE .\u5206\u5272\u7EBF{display:inline-block;width:1px;height:16px;margin:-3px 4px 3px;vertical-align:middle}.record-view .my-elevation-z5{box-shadow:0 5px 13px 0 rgba(0,0,0,.14)}.record-view .container{width:100%;height:100%}.record-view .container .rec-body{width:100%;height:100%;display:flex;box-sizing:border-box;flex-direction:column;padding-left:8px;padding-bottom:24px}.record-view .container .rec-body .condition-parent{width:100%;height:0;position:relative;flex-grow:1;display:flex;flex-direction:column}.record-view .container .rec-body .condition-button{position:relative}.record-view .container .rec-body .revised-star{position:absolute;top:-8px;right:8px}.record-view .container .rec-body .condition-card{position:absolute;z-index:201;left:0;top:-10px;right:8px;border-radius:4px}.record-view .container .rec-body .condition-mask{position:absolute;z-index:200;left:-8px;top:0;right:0;bottom:0}.record-view .container .rec-body .condition-triangle{position:absolute;z-index:202;top:30px;left:45px;right:0}.record-view .container .rec-body .content{height:100%;width:100%;overflow:auto;flex-grow:1}.record-view .container .rec-body .content .emp-last{height:90px}.record-view .container .rec-body .mat-elevation-z1{box-shadow:none}.record-view .container .rec-body .content::-webkit-scrollbar-button:horizontal:start{height:4px;width:80px}.record-view .container .rec-body .\u64CD\u4F5C\u5DE5\u5177\u680F{height:24px;width:100%}.record-view .container .mat-drawer-content{overflow:hidden}"] }] } ]; /** @nocollapse */ RecordViewComponent.ctorParameters = () => [ { type: ServiceService }, { type: RouteElementService }, { type: ProjectService }, { type: ClipboardService }, { type: MatIconRegistry }, { type: DomSanitizer }, { type: Router }, { type: ElementsService } ]; RecordViewComponent.propDecorators = { eleName: [{ type: Input }], title: [{ type: Input }], condition: [{ type: Input }], dataTable: [{ type: ViewChild, args: ['dataTable', { static: true },] }], labelDrawer: [{ type: ViewChild, args: ['labelDrawer', { static: false },] }], columnsDrawer: [{ type: ViewChild, args: ['columnsDrawer', { static: false },] }], drawer: [{ type: ViewChild, args: ['drawer', { static: true },] }] }; if (false) { /** @type {?} */ RecordViewComponent.prototype.eleName; /** @type {?} */ RecordViewComponent.prototype.title; /** @type {?} */ RecordViewComponent.prototype.condition; /** @type {?} */ RecordViewComponent.prototype.dataTable; /** @type {?} */ RecordViewComponent.prototype.labelDrawer; /** @type {?} */ RecordViewComponent.prototype.columnsDrawer; /** @type {?} */ RecordViewComponent.prototype.element; /** @type {?} */ RecordViewComponent.prototype.drawer; /** @type {?} */ RecordViewComponent.prototype.SelectTypeSelected; /** @type {?} */ RecordViewComponent.prototype.SelectTypeUnselected; /** @type {?} */ RecordViewComponent.prototype.showConditionalTemplateRunner; /** @type {?} */ RecordViewComponent.prototype.editLabelModel; /** * @type {?} * @private */ RecordViewComponent.prototype.subscribe; /** @type {?} */ RecordViewComponent.prototype.svr; /** @type {?} */ RecordViewComponent.prototype.ele; /** * @type {?} * @private */ RecordViewComponent.prototype.prj; /** @type {?} */ RecordViewComponent.prototype._clipboardService; /** * @type {?} * @private */ RecordViewComponent.prototype.router; /** * @type {?} * @private */ RecordViewComponent.prototype.eles; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vZGJ3ZWItY29tbW9uLyIsInNvdXJjZXMiOlsibGliL3JlY29yZC12aWV3L3JlY29yZC12aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsS0FBSyxFQUFVLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXRELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQWtCLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBVyxlQUFlLEVBQUUsbUJBQW1CLEVBQXFCLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM5RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBa0MsVUFBVSxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUM1RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQXFCLE1BQU0sMkJBQTJCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBVTFFLE1BQU0sT0FBTyxtQkFBbUI7Ozs7Ozs7Ozs7O0lBb0IvQixZQUNRLEdB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Q3ZFLENBQUM7OztZQWpORCxTQUFTLFNBQUM7Z0JBQ1YsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsMnVNQUEyQztnQkFFM0MsU0FBUyxFQUFFLENBQUMsY0FBYyxFQUFFLGVBQWUsRUFBRSxXQUFXLENBQUM7O2FBQ3pEOzs7O1lBWFEsY0FBYztZQVJZLG1CQUFtQjtZQUFxQixjQUFjO1lBQ2hGLGdCQUFnQjtZQU5oQixlQUFlO1lBR2YsWUFBWTtZQUNJLE1BQU07WUFDYixlQUFlOzs7c0JBcUIvQixLQUFLO29CQUNMLEtBQUs7d0JBQ0wsS0FBSzt3QkFDTCxTQUFTLFNBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTswQkFFdkMsU0FBUyxTQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7NEJBRTFDLFNBQVMsU0FBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO3FCQUs1QyxTQUFTLFNBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTs7OztJQVpyQyxzQ0FBeUI7O0lBQ3pCLG9DQUF1Qjs7SUFDdkIsd0NBQTJCOztJQUMzQix3Q0FDMEI7O0lBQzFCLDBDQUNrQzs7SUFDbEMsNENBQ21DOztJQUVuQyxzQ0FBaUI7O0lBRWpCLHFDQUNrQjs7SUFDbEIsaURBQWtEOztJQUNsRCxtREFBc0Q7O0lBQ3RELDREQUFzQzs7SUFDdEMsNkNBQXVCOzs7OztJQUN2Qix3Q0FBdUM7O0lBRXRDLGtDQUEwQjs7SUFDMUIsa0NBQStCOzs7OztJQUMvQixrQ0FBMkI7O0lBQzNCLGdEQUEwQzs7Ozs7SUFHMUMscUNBQXNCOzs7OztJQUN0QixtQ0FBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbXBvbmVudFJlZiwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0SWNvblJlZ2lzdHJ5IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdERyYXdlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xyXG5pbXBvcnQgeyBTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgRWxlbWVudCwgRWxlbWVudHNTZXJ2aWNlLCBSb3V0ZUVsZW1lbnRTZXJ2aWNlLCBSb3V0ZXJPdXRsZXRFdmVudCwgUHJvamVjdFNlcnZpY2UgfSBmcm9tICdkYndlYi1jb3JlJztcclxuaW1wb3J0IHsgQ2xpcGJvYXJkU2VydmljZSB9IGZyb20gJ25neC1jbGlwYm9hcmQnO1xyXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBJUm91dGVyU3RhdGUgfSBmcm9tICcuLi9yb3V0ZXItc3RhdGUnO1xyXG5pbXBvcnQgeyBMYWJlbERyYXdlckNvbXBvbmVudCB9IGZyb20gJy4vbGFiZWwtZHJhd2VyL2xhYmVsLWRyYXdlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJUmVjb3JkVmlld1Byb2Nlc3MsIElSZW5kZXJSb3csIFNlbGVjdFR5cGUsIFRhYmxlQ29sdW1uVHlwZSB9IGZyb20gJy4vbW9kZWwvbW9kZWwnO1xyXG5pbXBvcnQgeyBCYWNrRmFjZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2UvYmFja2ZhY2UnO1xyXG5pbXBvcnQgeyBTZXJ2aWNlRGF0YSB9IGZyb20gJy4vc2VydmljZS9kYXRhJztcclxuaW1wb3J0IHsgU2VydmljZVNlcnZpY2UsIFJlZnJlc2hEYXRhQ29uZmlnIH0gZnJvbSAnLi9zZXJ2aWNlL3NlcnZpY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS90YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBWaWV3RHJhd2VyQ29tcG9uZW50IH0gZnJvbSAnLi92aWV3LWRyYXdlci92aWV3LWRyYXdlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ1RSTF9SRUNPUkRWSUVXIH0gZnJvbSAnLi4vY29uc3QnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdjb21tb24tcmVjdmlldycsXHJcblx0dGVtcGxhdGVVcmw6ICcuL3JlY29yZC12aWV3LmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9yZWNvcmQtdmlldy5jb21wb25lbnQuc2NzcyddLFxyXG5cdHByb3ZpZGVyczogW1NlcnZpY2VTZXJ2aWNlLCBCYWNrRmFjZVNlcnZpY2UsIFNlcnZpY2VEYXRhXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVjb3JkVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgUm91dGVyT3V0bGV0RXZlbnQsIE9uRGVzdHJveSB7XHJcblx0QElucHV0KCkgZWxlTmFtZTogc3RyaW5nO1xyXG5cdEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XHJcblx0QElucHV0KCkgY29uZGl0aW9uOiBzdHJpbmc7XHJcblx0QFZpZXdDaGlsZCgnZGF0YVRhYmxlJywgeyBzdGF0aWM6IHRydWUgfSlcclxuXHRkYXRhVGFibGU6IFRhYmxlQ29tcG9uZW50O1xyXG5cdEBWaWV3Q2hpbGQoJ2xhYmVsRHJhd2VyJywgeyBzdGF0aWM6IGZhbHNlIH0pXHJcblx0bGFiZWxEcmF3ZXI6IExhYmVsRHJhd2VyQ29tcG9uZW50O1xyXG5cdEBWaWV3Q2hpbGQoJ2NvbHVtbnNEcmF3ZXInLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuXHRjb2x1bW5zRHJhd2VyOiBWaWV3RHJhd2VyQ29tcG9uZW50O1xyXG5cdC8vIOW9k+WJjeeahOW3peS9nOWFg+e0oFxyXG5cdGVsZW1lbnQ6IEVsZW1lbnQ7XHJcblx0Ly8g5qCH562+55qE5oq95bGJXHJcblx0QFZpZXdDaGlsZCgnZHJhd2VyJywgeyBzdGF0aWM6IHRydWUgfSlcclxuXHRkcmF3ZXI6IE1hdERyYXdlcjtcclxuXHRyZWFkb25seSBTZWxlY3RUeXBlU2VsZWN0ZWQgPSBTZWxlY3RUeXBlLlNlbGVjdGVkO1xyXG5cdHJlYWRvbmx5IFNlbGVjdFR5cGVVbnNlbGVjdGVkID0gU2VsZWN0VHlwZS5VbnNlbGVjdGVkO1xyXG5cdHNob3dDb25kaXRpb25hbFRlbXBsYXRlUnVubmVyID0gZmFsc2U7XHJcblx0ZWRpdExhYmVsTW9kZWwgPSBmYWxzZTtcclxuXHRwcml2YXRlIHN1YnNjcmliZTogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHB1YmxpYyBzdnI6IFNlcnZpY2VTZXJ2aWNlLFxyXG5cdFx0cHVibGljIGVsZTogUm91dGVFbGVtZW50U2VydmljZSxcclxuXHRcdHByaXZhdGUgcHJqOiBQcm9qZWN0U2VydmljZSxcclxuXHRcdHB1YmxpYyBfY2xpcGJvYXJkU2VydmljZTogQ2xpcGJvYXJkU2VydmljZSxcclxuXHRcdGljb25SZWdpc3RyeTogTWF0SWNvblJlZ2lzdHJ5LFxyXG5cdFx0c2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXHJcblx0XHRwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG5cdFx0cHJpdmF0ZSBlbGVzOiBFbGVtZW50c1NlcnZpY2VcclxuXHQpIHtcclxuXHRcdGNvbnN0IGljb25zID0gW1xyXG5cdFx0XHQnYWxsX2Nob3NlbicsXHJcblx0XHRcdCdjYW5jZWxfY2hvc2VuJyxcclxuXHRcdFx0J3JldHVybl9jaG9zZW4nLFxyXG5cdFx0XHQnc2luZ2xlX2Nob3NlbicsXHJcblx0XHRcdCdkb3VibGVfZG93bicsXHJcblx0XHRcdCdkcmFnX2luZGljYXRvcicsXHJcblx0XHRcdCdhcnJvd19jb2xsYXBzZScsXHJcblx0XHRcdCdhcnJvd19leHBhbmQnLFxyXG5cdFx0XHQnc29ydGluZ19hcnJvd3MnLFxyXG5cdFx0XHQnY29sb3JfYWRkJyxcclxuXHRcdFx0J2ZpbGVfY29weScsXHJcblx0XHRcdCdiZ19ib3R0b21fb3V0JyxcclxuXHRcdFx0J2RlZmF1bHQnXHJcblx0XHRdO1xyXG5cdFx0aWNvbnMuZm9yRWFjaCh2ID0+IHtcclxuXHRcdFx0aWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb24oXHJcblx0XHRcdFx0dixcclxuXHRcdFx0XHRzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKCdhc3NldHMvcmVjb3JkLXZpZXcvaWNvbi8nICsgdiArICcuc3ZnJylcclxuXHRcdFx0KTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHRuZ09uRGVzdHJveSgpIHtcclxuXHRcdHRoaXMuc3Vic2NyaWJlLmZvckVhY2godiA9PiB2LnVuc3Vic2NyaWJlKCkpO1xyXG5cdH1cclxuXHRvbkRldGFjaCgpOiB2b2lkIHtcclxuXHRcdHRoaXMuZGF0YVRhYmxlLm9uRGV0YWNoKCk7XHJcblx0fVxyXG5cdG9uQXR0YWNoKHJlZjogQ29tcG9uZW50UmVmPGFueT4sIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSk6IHZvaWQge1xyXG5cdFx0dGhpcy5kYXRhVGFibGUub25BdHRhY2gocmVmLCBhY3RpdmF0ZWRSb3V0ZSk7XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpIHtcclxuXHRcdHRoaXMuc3Vic2NyaWJlLnB1c2goXHJcblx0XHRcdHRoaXMuc3ZyLnJlZnJlc2hEYXRhRXZlbnQuc3Vic2NyaWJlKCh2OiBSZWZyZXNoRGF0YUNvbmZpZykgPT4ge1xyXG5cdFx0XHRcdHRoaXMuZGF0YVRhYmxlLnNldERhdGFTb3VyY2UoXHJcblx0XHRcdFx0XHR0aGlzLnN2ci5kYXRhLnRhYmxlRGF0YS5Sb3dzLFxyXG5cdFx0XHRcdFx0dGhpcy5zdnIuZGF0YS50YWJsZURhdGEuRGlzcGxheUNvbHVtbnMubWFwKHZ2ID0+ICh7IC4uLnZ2IH0gYXMgVGFibGVDb2x1bW5UeXBlKSksXHJcblx0XHRcdFx0XHQodiAmJiB2LmtlZXBEaXZpZGUpIHx8ICh2ICYmIHYua2VlcFJvd0NvdW50KVxyXG5cdFx0XHRcdCk7XHJcblx0XHRcdH0pXHJcblx0XHQpO1xyXG5cdFx0Ly8g5aaC5p6c5piv57uE5Lu25pa55byP6LCD55SoXHJcblx0XHRpZiAodGhpcy5lbGVOYW1lICE9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0dGhpcy5zdnIuaW5pdEJ5Q29uZGl0aW9uKHRoaXMuZWxlcy5nZXQodGhpcy5lbGVOYW1lKSwgdGhpcy50aXRsZSwgdGhpcy5jb25kaXRpb24pO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0Ly8gaW5pdCBwYXJhbVxyXG5cdFx0XHR0aGlzLmVsZS5jdXJyZW50RWxlbWVudC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSh2ID0+IHtcclxuXHRcdFx0XHR0aGlzLnN2ci5pbml0KHYuZWxlbWVudCwgdGhpcy5wcmouZnJvbnRUb0FwaVVSTCh2LnVybCkpO1xyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHR9XHJcblx0c2VsZWN0ZWRSb3dUZXh0KCkge1xyXG5cdFx0Y29uc3QgdG90YWwgPSB0aGlzLnN2ci5kYXRhLnRhYmxlUm93U2VsZWN0aW9uLnNlbGVjdGVkLmxlbmd0aDtcclxuXHRcdGxldCBjdXJyZW50ID0gMDtcclxuXHRcdGlmICh0aGlzLnN2ci5kYXRhLnRhYmxlRGF0YSAmJiB0aGlzLnN2ci5kYXRhLnRhYmxlRGF0YS5Sb3dzKSB7XHJcblx0XHRcdGN1cnJlbnQgPSB0aGlzLnN2ci5kYXRhLnRhYmxlRGF0YS5Sb3dzLmZpbHRlcihyb3cgPT4gdGhpcy5zdnIuZGF0YS50YWJsZVJvd1NlbGVjdGlvbi5pc1NlbGVjdGVkKHJvdy5LZXkpKVxyXG5cdFx0XHRcdC5sZW5ndGg7XHJcblx0XHR9XHJcblx0XHRpZiAodG90YWwgPT09IGN1cnJlbnQpIHtcclxuXHRcdFx0cmV0dXJuIGDlt7LpgIkke3RvdGFsfeadoWA7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRyZXR1cm4gYCR7Y3VycmVudH0vJHt0b3RhbH1gO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRvblRhYmxlU29ydChzb3J0SW5mbzogU29ydCkge1xyXG5cdFx0c3dpdGNoIChzb3J0SW5mby5kaXJlY3Rpb24pIHtcclxuXHRcdFx0Y2FzZSAnJzpcclxuXHRcdFx0XHR0aGlzLnN2ci5kYXRhLmZldGNoUGFyYW0uT3JkZXIgPSBudWxsO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlICdhc2MnOlxyXG5cdFx0XHRcdHRoaXMuc3ZyLmRhdGEuZmV0Y2hQYXJhbS5PcmRlciA9IFtzb3J0SW5mby5hY3RpdmVdO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlICdkZXNjJzpcclxuXHRcdFx0XHR0aGlzLnN2ci5kYXRhLmZldGNoUGFyYW0uT3JkZXIgPSBbYC0ke3NvcnRJbmZvLmFjdGl2ZX1gXTtcclxuXHRcdH1cclxuXHJcblx0XHR0aGlzLnN2ci5yZWZyZXNoRGF0YSh7IGtlZXBSb3dDb3VudDogdHJ1ZSB9KS5zdWJzY3JpYmUoKTtcclxuXHR9XHJcblx0c2VhcmNoQ2xpY2soKSB7XHJcblx0XHR0aGlzLnNob3dDb25kaXRpb25hbFRlbXBsYXRlUnVubmVyID0gZmFsc2U7XHJcblx0XHR0aGlzLnN2ci5yZWZyZXNoRGF0YSgpLnN1YnNjcmliZSgpO1xyXG5cdH1cclxuXHJcblx0b25SZWNvcmRQcm9jZXNzQ2xpY2soZXZlbnQ6IHsgcHJvOiBJUmVjb3JkVmlld1Byb2Nlc3M7IHJvdzogSVJlbmRlclJvdyB9KSB7XHJcblx0XHRsZXQgZmllbGRzID0gdGhpcy5zdnIuZGF0YS51bmlxdWVGaWVsZHM7XHJcblx0XHRpZiAoZXZlbnQucHJvLlRyYW5zUGF0aCAmJiBldmVudC5wcm8uVHJhbnNQYXRoLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0ZmllbGRzID0gZXZlbnQucHJvLlRyYW5zUGF0aDtcclxuXHRcdH1cclxuXHRcdGNvbnN0IGtleVZhbHVlcyA9IGZpZWxkcy5tYXAodiA9PiBgWyR7ZXZlbnQucm93LkRhdGFbdl19XWApLmpvaW4oJyAnKTtcclxuXHRcdGNvbnN0IHVzdHIgPSB0aGlzLmVsZXMuZnJvbnRFbGVtZW50VVJMKFxyXG5cdFx0XHR0aGlzLnN2ci5kYXRhLnJvd1Byb2Nlc3Nlcy5maW5kKHYgPT4gdi5OYW1lID09PSBldmVudC5wcm8uTmFtZSkuRWxlbWVudE5hbWUsXHJcblx0XHRcdGV2ZW50LnJvdy5Qcm9jZXNzZXNbZXZlbnQucHJvLk5hbWVdLlVSTFxyXG5cdFx0KTtcclxuXHRcdHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodXN0ciwge1xyXG5cdFx0XHRzdGF0ZToge1xyXG5cdFx0XHRcdC8vIOWboOS4unJvdXRl6Ieq5Yqo5Lya6L+b6KGMZW5jb2Rl77yM5omA5Lul6ZyA6KaB5oqK5pyN5Yqh56uv55qEdXJs6Kej5byA77yM5L2G5piv5pyN5Yqh56uv5Y+I5LiN6IO95LiN57yW56CB77yM5Zug5Li65pac5p2g6ZyA6KaB5q2j56Gu5aSE55CGXHJcblx0XHRcdFx0dXJsOiB0aGlzLnJvdXRlci5wYXJzZVVybCh1c3RyKSxcclxuXHRcdFx0XHRrZXk6IHVzdHIsXHJcblx0XHRcdFx0dGl0bGU6IGAke2V2ZW50LnByby5OYW1lfSAtICR7a2V5VmFsdWVzfWBcclxuXHRcdFx0fSBhcyBJUm91dGVyU3RhdGVcclxuXHRcdH0pO1xyXG5cdH1cclxuXHRvblRvb2xiYXJQcm9jZXNzQ2xpY2socHJvOiBJUmVjb3JkVmlld1Byb2Nlc3MpIHtcclxuXHRcdGNvbnN0IHVzdHIgPSB0aGlzLmVsZXMuZnJvbnRFbGVtZW50VVJMKHByby5FbGVtZW50TmFtZSwgdGhpcy5zdnIuZGF0YS50YWJsZURhdGEuUHJvY2Vzc2VzW3Byby5OYW1lXS5VUkwpO1xyXG5cdFx0dGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh1c3RyLCB7XHJcblx0XHRcdHN0YXRlOiB7XHJcblx0XHRcdFx0dXJsOiB0aGlzLnJvdXRlci5wYXJzZVVybCh1c3RyKSxcclxuXHRcdFx0XHRrZXk6IHVzdHIsXHJcblx0XHRcdFx0dGl0bGU6IHByby5OYW1lXHJcblx0XHRcdH0gYXMgSVJvdXRlclN0YXRlXHJcblx0XHR9KTtcclxuXHR9XHJcblx0b25OZXh0UGFnZUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcblx0XHR0aGlzLnN2ci5kYXRhLmZldGNoUGFyYW0uRGl2aWRlID0gdGhpcy5zdnIuZGF0YS50YWJsZURhdGEuRG93bkRpdmlkZTtcclxuXHRcdHRoaXMuc3ZyLmRhdGEuZmV0Y2hQYXJhbS5EaXZpZGVSb3dOdW0gPSB0aGlzLnN2ci5kYXRhLnRhYmxlRGF0YS5Eb3duUm93TnVtO1xyXG5cdFx0aWYgKHRoaXMuc3ZyLmRhdGEucHJldkZldGNoRGl2aWRlKSB7XHJcblx0XHRcdHRoaXMuc3ZyLmRhdGEudXBEaXZpZGUgPSB0aGlzLnN2ci5kYXRhLnVwRGl2aWRlIHx8IFtdO1xyXG5cdFx0XHR0aGlzLnN2ci5kYXRhLnVwUm93TnVtID0gdGhpcy5zdnIuZGF0YS51cFJvd051bSB8fCBbXTtcclxuXHRcdFx0dGhpcy5zdnIuZGF0YS51cERpdmlkZS5wdXNoKHRoaXMuc3ZyLmRhdGEucHJldkZldGNoRGl2aWRlKTtcclxuXHRcdFx0dGhpcy5zdnIuZGF0YS51cFJvd051bS5wdXNoKHRoaXMuc3ZyLmRhdGEucHJldkZldGNoUm93TnVtKTtcclxuXHRcdH1cclxuXHRcdHRoaXMuc3ZyLnJlZnJlc2hEYXRhKHsga2VlcERpdmlkZTogdHJ1ZSwga2VlcFJvd0NvdW50OiB0cnVlIH0pLnN1YnNjcmliZSgpO1xyXG5cdH1cclxuXHRvblByZXZQYWdlQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuXHRcdGlmICh0aGlzLnN2ci5kYXRhLnVwRGl2aWRlKSB7XHJcblx0XHRcdHRoaXMuc3ZyLmRhdGEuZmV0Y2hQYXJhbS5EaXZpZGUgPSB0aGlzLnN2ci5kYXRhLnVwRGl2aWRlLnBvcCgpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy5zdnIuZGF0YS5mZXRjaFBhcmFtLkRpdmlkZSA9IHVuZGVmaW5lZDtcclxuXHRcdH1cclxuXHRcdGlmICh0aGlzLnN2ci5kYXRhLnVwUm93TnVtKSB7XHJcblx0XHRcdHRoaXMuc3ZyLmRhdGEuZmV0Y2hQYXJhbS5EaXZpZGVSb3dOdW0gPSB0aGlzLnN2ci5kYXRhLnVwUm93TnVtLnBvcCgpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy5zdnIuZGF0YS5mZXRjaFBhcmFtLkRpdmlkZVJvd051bSA9IHVuZGVmaW5lZDtcclxuXHRcdH1cclxuXHRcdHRoaXMuc3ZyLnJlZnJlc2hEYXRhKHsga2VlcERpdmlkZTogdHJ1ZSwga2VlcFJvd0NvdW50OiB0cnVlIH0pLnN1YnNjcmliZSgpO1xyXG5cdH1cclxuXHRvbkZvb3RlclJvd0NvdW50Q2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuXHRcdHRoaXMuc3ZyLnJlZnJlc2hSb3dDb3VudCgpLnN1YnNjcmliZSgpO1xyXG5cdH1cclxuXHRzdGFydFJvd05vKCkge1xyXG5cdFx0aWYgKHRoaXMuc3ZyLmRhdGEgJiYgdGhpcy5zdnIuZGF0YS50YWJsZURhdGEgJiYgdGhpcy5zdnIuZGF0YS50YWJsZURhdGEuUm93cy5sZW5ndGggPiAwKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLnN2ci5kYXRhLnRhYmxlRGF0YS5Sb3dzWzBdLlJvd051bSArIDE7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gMDtcclxuXHR9XHJcblx0b3BlbkxhYmVsRHJhd2VyKCkge1xyXG5cdFx0dGhpcy5zdnIuZGF0YS5zaG93TGFiZWxEcmF3ZXIgPSB0cnVlO1xyXG5cdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdC8vIOWkjeWItizlm6DkuLrlr7nor53moYblhoXpg6jkvJrmlLnlj5jlgLxcclxuXHRcdFx0dGhpcy5sYWJlbERyYXdlci5zZWxlY3RlZExhYmVscyA9IFsuLi50aGlzLnN2ci5kYXRhLnNlbGVjdGVkTGFiZWxzXTtcclxuXHRcdFx0Ly8g54K55Ye75qih5p2/5omT5byA5oq95bGJXHJcblx0XHRcdHRoaXMuZHJhd2VyLnRvZ2dsZSgpO1xyXG5cdFx0fSwgMCk7XHJcblx0fVxyXG5cdG9wZW5Db2x1bW5zRHJhd2VyKCkge1xyXG5cdFx0dGhpcy5zdnIuZGF0YS5zaG93TGFiZWxEcmF3ZXIgPSBmYWxzZTtcclxuXHRcdGlmICghdGhpcy5zdnIuZGF0YS52aWV3TGlzdCB8fCB0aGlzLnN2ci5kYXRhLnZpZXdMaXN0Lmxlbmd0aCA9PT0gMCkge1xyXG5cdFx0XHR0aGlzLnN2ci5lZGl0Vmlldy5hZGQoKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMuc3ZyLmVkaXRWaWV3LnRpdGxlSW5wdXQgPSBmYWxzZTtcclxuXHRcdFx0dGhpcy5zdnIuZWRpdFZpZXcuY3VycmVudCA9IHRoaXMuc3ZyLmRhdGEudmlld0xpc3RbMF07XHJcblx0XHR9XHJcblx0XHQvLyDngrnlh7vmqKHmnb/miZPlvIDmir3lsYlcclxuXHRcdHRoaXMuZHJhd2VyLnRvZ2dsZSgpO1xyXG5cdH1cclxuXHRoYXNDb25kaXRpb25hbFRlbXBsYXRlKCkge1xyXG5cdFx0cmV0dXJuICEhdGhpcy5zdnIuZGF0YS5jb25kaXRpb25hbFRlbXBsYXRlcy5maW5kKHYgPT4gdi5lbmFibGUpO1xyXG5cdH1cclxuXHRjbG9zZURyYXdlcigpIHtcclxuXHRcdC8vIHRoaXMubGFiZWxEcmF3ZXIuZWRpdE1vZGVsID0gZmFsc2U7XHJcblx0XHR0aGlzLmVkaXRMYWJlbE1vZGVsID0gZmFsc2U7XHJcblx0XHRjb25zb2xlLmxvZygnY2xvc2UnLCB0aGlzLmVkaXRMYWJlbE1vZGVsLCB0aGlzLmxhYmVsRHJhd2VyLmVkaXRNb2RlbCk7XHJcblx0fVxyXG59XHJcbiJdfQ==