barsa-sap-ui 1.0.409 → 1.0.411
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/barsa-table-header/barsa-table-header.component.mjs +3 -3
- package/esm2020/lib/ui-tree/ui-tree.component.mjs +2 -2
- package/fesm2015/barsa-sap-ui.mjs +3 -3
- package/fesm2015/barsa-sap-ui.mjs.map +1 -1
- package/fesm2020/barsa-sap-ui.mjs +3 -3
- package/fesm2020/barsa-sap-ui.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -111,10 +111,10 @@ export class BarsaTableHeaderComponent extends BaseComponent {
|
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
BarsaTableHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BarsaTableHeaderComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
114
|
-
BarsaTableHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: BarsaTableHeaderComponent, selector: "bsu-barsa-table-header", inputs: { allChecked: "allChecked", isCheckList: "isCheckList", columns: "columns", fitWidth: "fitWidth", contextMenuItems: "contextMenuItems", contextMenuWidth: "contextMenuWidth", showViewButton: "showViewButton", hasSelected: "hasSelected", hideOpenIcon: "hideOpenIcon", disableOverflowContextMenu: "disableOverflowContextMenu", inlineEditMode: "inlineEditMode", hideHeader: "hideHeader", showDetailsInRow: "showDetailsInRow", viewSetting: "viewSetting", tableWidth: "tableWidth", resizedByUser: "resizedByUser", disableResponsive: "disableResponsive", rowIndicator: "rowIndicator", rtl: "rtl", deviceSize: "deviceSize", tableHeaderMode: "tableHeaderMode" }, outputs: { allCheckbox: "allCheckbox", columnResize: "columnResize", fitToContent: "fitToContent", fitToContainer: "fitToContainer", fitToColumn: "fitToColumn", sortAscending: "sortAscending", sortDescending: "sortDescending", filter: "filter" }, viewQueries: [{ propertyName: "thList", predicate: ["thRef"], descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<thead\n fd-table-header\n [class.inline-edit]=\"inlineEditMode\"\n [class.smallColumns]=\"columnsSmallerThanTableWidth\"\n [attr.columnsWidth]=\"columnsWidth\"\n [attr.tableWidth]=\"tableWidth\"\n>\n <tr fd-table-row>\n <ng-container *ngIf=\"!hideHeader\">\n <th *ngIf=\"rowIndicator\" fd-table-cell fd-table-status-indicator></th>\n <th fd-table-cell *ngIf=\"isCheckList\">\n <fd-checkbox\n name=\"allCheckbox\"\n [ngModel]=\"allChecked\"\n (ngModelChange)=\"onAllCheckbox($event)\"\n ></fd-checkbox>\n </th>\n <th fd-table-cell *ngIf=\"!isCheckList\" class=\"single-select\"></th>\n <ng-container *ngFor=\"let column of columns; let i = index; let last = last; trackBy: _trackByColumn\">\n <th\n *ngIf=\"startIndex <= i\"\n #thRef\n [columnIndex]=\"i\"\n fd-table-cell\n [style.width]=\"last ? null : column.FieldTypeId === 38 ? '40px' : column.$Width2 || column.$Width\"\n [style.min-width]=\"last ? null : inlineEditMode ? '210px' : last ? '100%' : 'auto'\"\n resizable\n [rtl]=\"rtl\"\n [disableResize]=\"last\"\n (widthChange)=\"onColumnWidthChange(column)\"\n (widthChanging)=\"onColumnWidthChanging(i, column, $event)\"\n [disableResponsive]=\"disableResponsive\"\n [tableWidth]=\"tableWidth\"\n [columnsWidth]=\"columnsWidth\"\n [attr.columnName]=\"column.Name\"\n [attr.index]=\"i\"\n [ngClass]=\"column.$CSSClassName + ' column__' + column.Caption\"\n [class.displayIcon]=\"column.Extra?.IconDisplayTypeEnum\"\n >\n <fd-popover #menu>\n <fd-popover-control>\n <div style=\"display: flex\">\n <!-- FieldTypeId 38 means it is auto row number field-->\n <img\n [src]=\"column.Icon\"\n *ngIf=\"\n (column.Extra?.IconDisplayTypeEnum === 'Image' || column.FieldTypeId === 42) &&\n column.Icon;\n else captionTpl\n \"\n />\n <ng-template #captionTpl>\n {{ column.Caption | bbbTranslate }}\n </ng-template>\n </div>\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item>\n <a fd-list-link (click)=\"onSortAscending(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"sort-ascending\"></fd-menu-addon>\n <span fd-list-title\n >{{ ('Sort' | bbbTranslate) + ' ' }} {{ 'Ascending' | bbbTranslate }}</span\n >\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"onSortDescending(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"sort-descending\"></fd-menu-addon>\n <span fd-list-title\n >{{ ('Sort' | bbbTranslate) + ' ' }} {{ 'Descending' | bbbTranslate }}</span\n >\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToContent.emit(column)\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('Fit Column To Content' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToContainer.emit()\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('All Columns In Page' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToColumn.emit()\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('Free Columns Size' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <!-- <li fd-list-item>\n <a fd-list-link (click)=\"onFilter(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"filter\"></fd-menu-addon>\n <span fd-list-title>{{ 'Filter' | bbbTranslate }}</span>\n </a>\n </li> -->\n </ul>\n </fd-popover-body>\n </fd-popover>\n </th>\n </ng-container>\n <ng-container *ngIf=\"contextMenuItems && contextMenuItems.length > 0 && !inlineEditMode\">\n <th\n class=\"col-header col-context-menu\"\n fd-table-cell\n [fitContent]=\"disableOverflowContextMenu\"\n [style.width.px]=\"contextMenuWidth\"\n ></th>\n </ng-container>\n <th\n class=\"col-header col-details\"\n [style.width]=\"deviceSize === 's' ? 'auto' : '120px'\"\n fd-table-cell\n *ngIf=\"showDetailsInRow && !inlineEditMode\"\n ></th>\n <th class=\"col-header col-view\" [style.width.px]=\"40\" fd-table-cell *ngIf=\"showViewButton\"></th>\n </ng-container>\n </tr>\n</thead>\n", styles: [":host{display:contents;width:100%}:host.has-toolbar thead{border-top:none!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.CheckboxComponent, selector: "fd-checkbox", inputs: ["ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "values"], outputs: ["focusChange"] }, { kind: "component", type: i4.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline"], outputs: ["focusEscapeList"] }, { kind: "component", type: i4.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "directive", type: i4.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i4.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated"] }, { kind: "component", type: i5.MenuAddonDirective, selector: "fd-menu-addon", inputs: ["position", "glyph", "submenuIndicator", "ariaHidden"] }, { kind: "component", type: i6.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "component", type: i6.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "component", type: i6.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "directive", type: i7.TableHeaderDirective, selector: "[fdTableHeader], [fd-table-header]", inputs: ["noBorderX", "noBorderY"] }, { kind: "directive", type: i7.TableRowDirective, selector: "[fdTableRow], [fd-table-row]", inputs: ["activable", "highlightActive", "hoverable", "focusable", "main", "secondary", "active"] }, { kind: "directive", type: i7.TableCellDirective, selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "tabindex", "hoverable", "fitContent", "noPadding", "noData", "key", "cellFocusedEventAnnouncer"] }, { kind: "directive", type: i7.TableStatusIndicatorDirective, selector: "[fdTableStatusIndicator], [fd-table-status-indicator]", inputs: ["status"] }, { kind: "component", type: i8.ResizableComponent, selector: "th[resizable]", inputs: ["disableResize", "rtl"], outputs: ["widthChange", "widthChanging"] }, { kind: "pipe", type: i8.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
114
|
+
BarsaTableHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: BarsaTableHeaderComponent, selector: "bsu-barsa-table-header", inputs: { allChecked: "allChecked", isCheckList: "isCheckList", columns: "columns", fitWidth: "fitWidth", contextMenuItems: "contextMenuItems", contextMenuWidth: "contextMenuWidth", showViewButton: "showViewButton", hasSelected: "hasSelected", hideOpenIcon: "hideOpenIcon", disableOverflowContextMenu: "disableOverflowContextMenu", inlineEditMode: "inlineEditMode", hideHeader: "hideHeader", showDetailsInRow: "showDetailsInRow", viewSetting: "viewSetting", tableWidth: "tableWidth", resizedByUser: "resizedByUser", disableResponsive: "disableResponsive", rowIndicator: "rowIndicator", rtl: "rtl", deviceSize: "deviceSize", tableHeaderMode: "tableHeaderMode" }, outputs: { allCheckbox: "allCheckbox", columnResize: "columnResize", fitToContent: "fitToContent", fitToContainer: "fitToContainer", fitToColumn: "fitToColumn", sortAscending: "sortAscending", sortDescending: "sortDescending", filter: "filter" }, viewQueries: [{ propertyName: "thList", predicate: ["thRef"], descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<thead\n fd-table-header\n [class.inline-edit]=\"inlineEditMode\"\n [class.smallColumns]=\"columnsSmallerThanTableWidth\"\n [attr.columnsWidth]=\"columnsWidth\"\n [attr.tableWidth]=\"tableWidth\"\n>\n <tr fd-table-row>\n <ng-container *ngIf=\"!hideHeader\">\n <th *ngIf=\"rowIndicator\" fd-table-cell fd-table-status-indicator></th>\n <th fd-table-cell *ngIf=\"isCheckList\">\n <fd-checkbox\n name=\"allCheckbox\"\n [ngModel]=\"allChecked\"\n (ngModelChange)=\"onAllCheckbox($event)\"\n ></fd-checkbox>\n </th>\n <th fd-table-cell *ngIf=\"!isCheckList\" class=\"single-select\"></th>\n <ng-container *ngFor=\"let column of columns; let i = index; let last = last; trackBy: _trackByColumn\">\n <th\n *ngIf=\"startIndex <= i\"\n #thRef\n [columnIndex]=\"i\"\n fd-table-cell\n [style.width]=\"\n inlineEditMode\n ? '210px'\n : last\n ? null\n : column.FieldTypeId === 38\n ? '40px'\n : column.$Width2 || column.$Width\n \"\n [style.min-width]=\"last ? null : inlineEditMode ? '210px' : last ? '100%' : 'auto'\"\n resizable\n [rtl]=\"rtl\"\n [disableResize]=\"last\"\n (widthChange)=\"onColumnWidthChange(column)\"\n (widthChanging)=\"onColumnWidthChanging(i, column, $event)\"\n [disableResponsive]=\"disableResponsive\"\n [tableWidth]=\"tableWidth\"\n [columnsWidth]=\"columnsWidth\"\n [attr.columnName]=\"column.Name\"\n [attr.index]=\"i\"\n [ngClass]=\"column.$CSSClassName + ' column__' + column.Caption\"\n [class.displayIcon]=\"column.Extra?.IconDisplayTypeEnum\"\n >\n <fd-popover #menu>\n <fd-popover-control>\n <div style=\"display: flex\">\n <!-- FieldTypeId 38 means it is auto row number field-->\n <img\n [src]=\"column.Icon\"\n *ngIf=\"\n (column.Extra?.IconDisplayTypeEnum === 'Image' || column.FieldTypeId === 42) &&\n column.Icon;\n else captionTpl\n \"\n />\n <ng-template #captionTpl>\n {{ column.Caption | bbbTranslate }}\n </ng-template>\n </div>\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item>\n <a fd-list-link (click)=\"onSortAscending(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"sort-ascending\"></fd-menu-addon>\n <span fd-list-title\n >{{ ('Sort' | bbbTranslate) + ' ' }} {{ 'Ascending' | bbbTranslate }}</span\n >\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"onSortDescending(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"sort-descending\"></fd-menu-addon>\n <span fd-list-title\n >{{ ('Sort' | bbbTranslate) + ' ' }} {{ 'Descending' | bbbTranslate }}</span\n >\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToContent.emit(column)\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('Fit Column To Content' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToContainer.emit()\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('All Columns In Page' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToColumn.emit()\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('Free Columns Size' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <!-- <li fd-list-item>\n <a fd-list-link (click)=\"onFilter(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"filter\"></fd-menu-addon>\n <span fd-list-title>{{ 'Filter' | bbbTranslate }}</span>\n </a>\n </li> -->\n </ul>\n </fd-popover-body>\n </fd-popover>\n </th>\n </ng-container>\n <ng-container *ngIf=\"contextMenuItems && contextMenuItems.length > 0 && !inlineEditMode\">\n <th\n class=\"col-header col-context-menu\"\n fd-table-cell\n [fitContent]=\"disableOverflowContextMenu\"\n [style.width.px]=\"contextMenuWidth\"\n ></th>\n </ng-container>\n <th\n class=\"col-header col-details\"\n [style.width]=\"deviceSize === 's' ? 'auto' : '120px'\"\n fd-table-cell\n *ngIf=\"showDetailsInRow && !inlineEditMode\"\n ></th>\n <th class=\"col-header col-view\" [style.width.px]=\"40\" fd-table-cell *ngIf=\"showViewButton\"></th>\n </ng-container>\n </tr>\n</thead>\n", styles: [":host{display:contents;width:100%}:host.has-toolbar thead{border-top:none!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.CheckboxComponent, selector: "fd-checkbox", inputs: ["ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "values"], outputs: ["focusChange"] }, { kind: "component", type: i4.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline"], outputs: ["focusEscapeList"] }, { kind: "component", type: i4.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "directive", type: i4.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i4.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated"] }, { kind: "component", type: i5.MenuAddonDirective, selector: "fd-menu-addon", inputs: ["position", "glyph", "submenuIndicator", "ariaHidden"] }, { kind: "component", type: i6.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "component", type: i6.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "component", type: i6.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "directive", type: i7.TableHeaderDirective, selector: "[fdTableHeader], [fd-table-header]", inputs: ["noBorderX", "noBorderY"] }, { kind: "directive", type: i7.TableRowDirective, selector: "[fdTableRow], [fd-table-row]", inputs: ["activable", "highlightActive", "hoverable", "focusable", "main", "secondary", "active"] }, { kind: "directive", type: i7.TableCellDirective, selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "tabindex", "hoverable", "fitContent", "noPadding", "noData", "key", "cellFocusedEventAnnouncer"] }, { kind: "directive", type: i7.TableStatusIndicatorDirective, selector: "[fdTableStatusIndicator], [fd-table-status-indicator]", inputs: ["status"] }, { kind: "component", type: i8.ResizableComponent, selector: "th[resizable]", inputs: ["disableResize", "rtl"], outputs: ["widthChange", "widthChanging"] }, { kind: "pipe", type: i8.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
115
115
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BarsaTableHeaderComponent, decorators: [{
|
|
116
116
|
type: Component,
|
|
117
|
-
args: [{ selector: 'bsu-barsa-table-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<thead\n fd-table-header\n [class.inline-edit]=\"inlineEditMode\"\n [class.smallColumns]=\"columnsSmallerThanTableWidth\"\n [attr.columnsWidth]=\"columnsWidth\"\n [attr.tableWidth]=\"tableWidth\"\n>\n <tr fd-table-row>\n <ng-container *ngIf=\"!hideHeader\">\n <th *ngIf=\"rowIndicator\" fd-table-cell fd-table-status-indicator></th>\n <th fd-table-cell *ngIf=\"isCheckList\">\n <fd-checkbox\n name=\"allCheckbox\"\n [ngModel]=\"allChecked\"\n (ngModelChange)=\"onAllCheckbox($event)\"\n ></fd-checkbox>\n </th>\n <th fd-table-cell *ngIf=\"!isCheckList\" class=\"single-select\"></th>\n <ng-container *ngFor=\"let column of columns; let i = index; let last = last; trackBy: _trackByColumn\">\n <th\n *ngIf=\"startIndex <= i\"\n #thRef\n [columnIndex]=\"i\"\n fd-table-cell\n [style.width]=\"last
|
|
117
|
+
args: [{ selector: 'bsu-barsa-table-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<thead\n fd-table-header\n [class.inline-edit]=\"inlineEditMode\"\n [class.smallColumns]=\"columnsSmallerThanTableWidth\"\n [attr.columnsWidth]=\"columnsWidth\"\n [attr.tableWidth]=\"tableWidth\"\n>\n <tr fd-table-row>\n <ng-container *ngIf=\"!hideHeader\">\n <th *ngIf=\"rowIndicator\" fd-table-cell fd-table-status-indicator></th>\n <th fd-table-cell *ngIf=\"isCheckList\">\n <fd-checkbox\n name=\"allCheckbox\"\n [ngModel]=\"allChecked\"\n (ngModelChange)=\"onAllCheckbox($event)\"\n ></fd-checkbox>\n </th>\n <th fd-table-cell *ngIf=\"!isCheckList\" class=\"single-select\"></th>\n <ng-container *ngFor=\"let column of columns; let i = index; let last = last; trackBy: _trackByColumn\">\n <th\n *ngIf=\"startIndex <= i\"\n #thRef\n [columnIndex]=\"i\"\n fd-table-cell\n [style.width]=\"\n inlineEditMode\n ? '210px'\n : last\n ? null\n : column.FieldTypeId === 38\n ? '40px'\n : column.$Width2 || column.$Width\n \"\n [style.min-width]=\"last ? null : inlineEditMode ? '210px' : last ? '100%' : 'auto'\"\n resizable\n [rtl]=\"rtl\"\n [disableResize]=\"last\"\n (widthChange)=\"onColumnWidthChange(column)\"\n (widthChanging)=\"onColumnWidthChanging(i, column, $event)\"\n [disableResponsive]=\"disableResponsive\"\n [tableWidth]=\"tableWidth\"\n [columnsWidth]=\"columnsWidth\"\n [attr.columnName]=\"column.Name\"\n [attr.index]=\"i\"\n [ngClass]=\"column.$CSSClassName + ' column__' + column.Caption\"\n [class.displayIcon]=\"column.Extra?.IconDisplayTypeEnum\"\n >\n <fd-popover #menu>\n <fd-popover-control>\n <div style=\"display: flex\">\n <!-- FieldTypeId 38 means it is auto row number field-->\n <img\n [src]=\"column.Icon\"\n *ngIf=\"\n (column.Extra?.IconDisplayTypeEnum === 'Image' || column.FieldTypeId === 42) &&\n column.Icon;\n else captionTpl\n \"\n />\n <ng-template #captionTpl>\n {{ column.Caption | bbbTranslate }}\n </ng-template>\n </div>\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item>\n <a fd-list-link (click)=\"onSortAscending(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"sort-ascending\"></fd-menu-addon>\n <span fd-list-title\n >{{ ('Sort' | bbbTranslate) + ' ' }} {{ 'Ascending' | bbbTranslate }}</span\n >\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"onSortDescending(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"sort-descending\"></fd-menu-addon>\n <span fd-list-title\n >{{ ('Sort' | bbbTranslate) + ' ' }} {{ 'Descending' | bbbTranslate }}</span\n >\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToContent.emit(column)\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('Fit Column To Content' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToContainer.emit()\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('All Columns In Page' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToColumn.emit()\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('Free Columns Size' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <!-- <li fd-list-item>\n <a fd-list-link (click)=\"onFilter(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"filter\"></fd-menu-addon>\n <span fd-list-title>{{ 'Filter' | bbbTranslate }}</span>\n </a>\n </li> -->\n </ul>\n </fd-popover-body>\n </fd-popover>\n </th>\n </ng-container>\n <ng-container *ngIf=\"contextMenuItems && contextMenuItems.length > 0 && !inlineEditMode\">\n <th\n class=\"col-header col-context-menu\"\n fd-table-cell\n [fitContent]=\"disableOverflowContextMenu\"\n [style.width.px]=\"contextMenuWidth\"\n ></th>\n </ng-container>\n <th\n class=\"col-header col-details\"\n [style.width]=\"deviceSize === 's' ? 'auto' : '120px'\"\n fd-table-cell\n *ngIf=\"showDetailsInRow && !inlineEditMode\"\n ></th>\n <th class=\"col-header col-view\" [style.width.px]=\"40\" fd-table-cell *ngIf=\"showViewButton\"></th>\n </ng-container>\n </tr>\n</thead>\n", styles: [":host{display:contents;width:100%}:host.has-toolbar thead{border-top:none!important}\n"] }]
|
|
118
118
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { thList: [{
|
|
119
119
|
type: ViewChildren,
|
|
120
120
|
args: ['thRef', { read: ElementRef }]
|
|
@@ -177,4 +177,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
177
177
|
}], filter: [{
|
|
178
178
|
type: Output
|
|
179
179
|
}] } });
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtdGFibGUtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2JhcnNhLXRhYmxlLWhlYWRlci9iYXJzYS10YWJsZS1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtdGFibGUtaGVhZGVyL2JhcnNhLXRhYmxlLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULHVCQUF1QixFQUN2QixLQUFLLEVBQ0wsWUFBWSxFQUNaLE1BQU0sRUFHTixZQUFZLEVBQ1osVUFBVSxFQUViLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxhQUFhLEVBS2hCLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7QUFTOUIsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGFBQWE7SUFrQ3hEOztPQUVHO0lBQ0gsWUFBb0IsSUFBdUI7UUFDdkMsS0FBSyxFQUFFLENBQUM7UUFEUSxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQXZCbEMscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBU3hCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUMxQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUE0QixDQUFDO1FBQzVELGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUM7UUFDcEQsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzFDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUN2QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDeEMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3pDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztJQVN4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O2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIElucHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBWaWV3Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBRdWVyeUxpc3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEJhc2VDb21wb25lbnQsXG4gICAgUmVwb3J0Vmlld0NvbHVtbixcbiAgICBBYmJyZXZhdGlvbkRldmljZVNpemUsXG4gICAgQ29sdW1uUmVzaXplZEFyZ3MsXG4gICAgVGFibGVIZWFkZXJXaWR0aE1vZGVcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuaW1wb3J0IHsgVWlUYWJsZVZpZXdTZXR0aW5nIH0gZnJvbSAnLi4vbW9kZWxzL2dyaWQtdmlldyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnN1LWJhcnNhLXRhYmxlLWhlYWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JhcnNhLXRhYmxlLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYmFyc2EtdGFibGUtaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQmFyc2FUYWJsZUhlYWRlckNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICAgIEBWaWV3Q2hpbGRyZW4oJ3RoUmVmJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIHRoTGlzdDogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTFRhYmxlQ2VsbEVsZW1lbnQ+PjtcbiAgICBASW5wdXQoKSBhbGxDaGVja2VkOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzQ2hlY2tMaXN0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGNvbHVtbnM6IFJlcG9ydFZpZXdDb2x1bW5bXTtcbiAgICBASW5wdXQoKSBmaXRXaWR0aDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBjb250ZXh0TWVudUl0ZW1zOiBhbnlbXTtcbiAgICBASW5wdXQoKSBjb250ZXh0TWVudVdpZHRoOiBudW1iZXI7XG4gICAgQElucHV0KCkgc2hvd1ZpZXdCdXR0b246IGJvb2xlYW47XG4gICAgQElucHV0KCkgaGFzU2VsZWN0ZWQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaGlkZU9wZW5JY29uOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlubGluZUVkaXRNb2RlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGhpZGVIZWFkZXI6IGJvb2xlYW47XG4gICAgQElucHV0KCkgc2hvd0RldGFpbHNJblJvdyA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHZpZXdTZXR0aW5nOiBVaVRhYmxlVmlld1NldHRpbmc7XG4gICAgQElucHV0KCkgdGFibGVXaWR0aDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIHJlc2l6ZWRCeVVzZXI6IGJvb2xlYW47XG4gICAgQElucHV0KCkgZGlzYWJsZVJlc3BvbnNpdmU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgcm93SW5kaWNhdG9yOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHJ0bDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBkZXZpY2VTaXplOiBBYmJyZXZhdGlvbkRldmljZVNpemU7XG4gICAgQElucHV0KCkgdGFibGVIZWFkZXJNb2RlOiBUYWJsZUhlYWRlcldpZHRoTW9kZTtcbiAgICBAT3V0cHV0KCkgYWxsQ2hlY2tib3ggPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgQE91dHB1dCgpIGNvbHVtblJlc2l6ZSA9IG5ldyBFdmVudEVtaXR0ZXI8QXJyYXk8Q29sdW1uUmVzaXplZEFyZ3M+PigpO1xuICAgIEBPdXRwdXQoKSBmaXRUb0NvbnRlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFJlcG9ydFZpZXdDb2x1bW4+KCk7XG4gICAgQE91dHB1dCgpIGZpdFRvQ29udGFpbmVyID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKSBmaXRUb0NvbHVtbiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KCkgc29ydEFzY2VuZGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBzb3J0RGVzY2VuZGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBmaWx0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPFJlcG9ydFZpZXdDb2x1bW4+KCk7XG4gICAgY29sdW1uc1NtYWxsZXJUaGFuVGFibGVXaWR0aDogYm9vbGVhbjtcbiAgICBjb2x1bW5zV2lkdGg6IG51bWJlcjtcbiAgICBzdGFydEluZGV4OiBudW1iZXI7XG4gICAgLyoqXG4gICAgICpcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICAvLyB0aGlzLl9wcmVwYXJlQ29sdW1uc1dpZHRoKHRoaXMudGFibGVXaWR0aCwgdGhpcy5jb2x1bW5zLCB0cnVlKTtcbiAgICB9XG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgICAgICAgY29uc3QgeyBjb2x1bW5zLCBpbmxpbmVFZGl0TW9kZSwgcm93SW5kaWNhdG9yIH0gPSBjaGFuZ2VzO1xuICAgICAgICBsZXQgbmVlZENoYW5nZXMgPSBmYWxzZTtcbiAgICAgICAgaWYgKGNvbHVtbnMgJiYgIWNvbHVtbnMuZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICAgIC8vIHRoaXMuX3ByZXBhcmVDb2x1bW5zV2lkdGgodGhpcy50YWJsZVdpZHRoLCBjb2x1bW5zLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgICAgICAvLyBuZWVkQ2hhbmdlcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlubGluZUVkaXRNb2RlICYmICFpbmxpbmVFZGl0TW9kZS5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgLy8gdGhpcy5fcHJlcGFyZUNvbHVtbnNXaWR0aCh0aGlzLnRhYmxlV2lkdGgsIHRoaXMuY29sdW1ucyk7XG4gICAgICAgICAgICAvLyBuZWVkQ2hhbmdlcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJvd0luZGljYXRvcikge1xuICAgICAgICAgICAgdGhpcy5fc2V0U3RhcnRJbmRleChyb3dJbmRpY2F0b3IuY3VycmVudFZhbHVlKTtcbiAgICAgICAgICAgIG5lZWRDaGFuZ2VzID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBuZWVkQ2hhbmdlcyAmJiB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfc2V0U3RhcnRJbmRleChyb3dJbmRpY2F0b3I6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdGFydEluZGV4ID0gcm93SW5kaWNhdG9yID8gMSA6IDA7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfcHJlcGFyZUNvbHVtbnNXaWR0aCh2YWw6IG51bWJlciwgY29sdW1uczogUmVwb3J0Vmlld0NvbHVtbltdLCBkZXRlY3RDaGFuZ2VzID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc3VtID0gY29sdW1ucy5tYXAoKGNvbHVtbikgPT4gY29sdW1uLldpZHRoKS5yZWR1Y2UoKHZhbDIsIGNvbHVtbikgPT4gdmFsMiArIGNvbHVtbiwgMCk7XG4gICAgICAgIGNvbHVtbnMuZm9yRWFjaCgoY29sdW1uKSA9PiAoY29sdW1uLiRXaWR0aDIgPSBjb2x1bW4uJFdpZHRoKSk7XG4gICAgICAgIGlmICh0aGlzLnJlc2l6ZWRCeVVzZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5kZXZpY2VTaXplID09PSAncycpIHtcbiAgICAgICAgICAgIGNvbHVtbnMuZm9yRWFjaCgoY29sdW1uLCBpbmRleCkgPT4gKGNvbHVtbi4kV2lkdGgyID0gaW5kZXggPT09IGNvbHVtbnMubGVuZ3RoIC0gMSA/ICcxMDAlJyA6ICdhdXRvJykpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29sdW1uc1dpZHRoID0gc3VtO1xuICAgICAgICBpZiAoc3VtID4gdmFsICYmIHZhbCA+IDApIHtcbiAgICAgICAgICAgIGNvbHVtbnMuZm9yRWFjaChcbiAgICAgICAgICAgICAgICAoY29sdW1uKSA9PiAoY29sdW1uLiRXaWR0aDIgPSB0aGlzLmlubGluZUVkaXRNb2RlID8gJzIxMHB4JyA6IChjb2x1bW4uV2lkdGggKiAxMDApIC8gdmFsICsgJyUnKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuY29sdW1uc1NtYWxsZXJUaGFuVGFibGVXaWR0aCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAoc3VtICsgMTAgPCB2YWwpIHtcbiAgICAgICAgICAgIGNvbHVtbnNbY29sdW1ucy5sZW5ndGggLSAxXS4kV2lkdGgyID0gJzEwMCUnO1xuICAgICAgICB9XG4gICAgICAgIGRldGVjdENoYW5nZXMgJiYgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gICAgb25Db2x1bW5XaWR0aENoYW5naW5nKGluZGV4OiBudW1iZXIsIGNvbHVtbjogUmVwb3J0Vmlld0NvbHVtbiwgd2lkdGg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb2x1bW4uV2lkdGggPSB3aWR0aDtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ2NvbHVtbldpZHRoQ2hhbmdpbmcgbnVtYmVyOicsIHdpZHRoLCBpbmRleCk7XG4gICAgfVxuICAgIG9uQ29sdW1uV2lkdGhDaGFuZ2UoY29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGhMaXN0LnRvQXJyYXkoKS5mb3JFYWNoKChjLCBpbmRleDIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5ld1dpZHRoID0gYy5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoO1xuICAgICAgICAgICAgdGhpcy5jb2x1bW5zW2luZGV4Ml0uV2lkdGggPSBuZXdXaWR0aDtcbiAgICAgICAgICAgIHRoaXMuY29sdW1uc1tpbmRleDJdLiRXaWR0aDIgPSBgJHtuZXdXaWR0aH1weGA7XG4gICAgICAgICAgICAvLyAgY29uc29sZS5sb2coaW5kZXgyLCBjLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGgpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jb2x1bW5SZXNpemUuZW1pdCh0aGlzLmNvbHVtbnMubWFwKChjKSA9PiAoeyBuYW1lOiBjLk5hbWUsIHdpZHRoOiBjLldpZHRoIH0pKSk7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdjb2x1bW5XaWR0aENoYW5nZScpO1xuICAgIH1cbiAgICBvbkFsbENoZWNrYm94KGNoZWNrZWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hbGxDaGVja2JveC5lbWl0KGNoZWNrZWQpO1xuICAgIH1cbiAgICBvblNvcnRBc2NlbmRpbmcoY29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uLCBtZW51KTogdm9pZCB7XG4gICAgICAgIGlmIChtZW51KSB7XG4gICAgICAgICAgICBtZW51LmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zb3J0QXNjZW5kaW5nLmVtaXQoY29sdW1uKTtcbiAgICB9XG5cbiAgICBvblNvcnREZXNjZW5kaW5nKGNvbHVtbjogUmVwb3J0Vmlld0NvbHVtbiwgbWVudSk6IHZvaWQge1xuICAgICAgICBpZiAobWVudSkge1xuICAgICAgICAgICAgbWVudS5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc29ydERlc2NlbmRpbmcuZW1pdChjb2x1bW4pO1xuICAgIH1cblxuICAgIG9uRmlsdGVyKGNvbHVtbjogUmVwb3J0Vmlld0NvbHVtbiwgbWVudSk6IHZvaWQge1xuICAgICAgICBpZiAobWVudSkge1xuICAgICAgICAgICAgbWVudS5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZmlsdGVyLmVtaXQoY29sdW1uKTtcbiAgICB9XG4gICAgX3RyYWNrQnlDb2x1bW4oaW5kZXg6IG51bWJlciwgY29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke2NvbHVtbi5OYW1lfSR7aW5kZXh9YDtcbiAgICB9XG59XG4iLCI8dGhlYWRcbiAgICBmZC10YWJsZS1oZWFkZXJcbiAgICBbY2xhc3MuaW5saW5lLWVkaXRdPVwiaW5saW5lRWRpdE1vZGVcIlxuICAgIFtjbGFzcy5zbWFsbENvbHVtbnNdPVwiY29sdW1uc1NtYWxsZXJUaGFuVGFibGVXaWR0aFwiXG4gICAgW2F0dHIuY29sdW1uc1dpZHRoXT1cImNvbHVtbnNXaWR0aFwiXG4gICAgW2F0dHIudGFibGVXaWR0aF09XCJ0YWJsZVdpZHRoXCJcbj5cbiAgICA8dHIgZmQtdGFibGUtcm93PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWhpZGVIZWFkZXJcIj5cbiAgICAgICAgICAgIDx0aCAqbmdJZj1cInJvd0luZGljYXRvclwiIGZkLXRhYmxlLWNlbGwgZmQtdGFibGUtc3RhdHVzLWluZGljYXRvcj48L3RoPlxuICAgICAgICAgICAgPHRoIGZkLXRhYmxlLWNlbGwgKm5nSWY9XCJpc0NoZWNrTGlzdFwiPlxuICAgICAgICAgICAgICAgIDxmZC1jaGVja2JveFxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwiYWxsQ2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJhbGxDaGVja2VkXCJcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25BbGxDaGVja2JveCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICA+PC9mZC1jaGVja2JveD5cbiAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICA8dGggZmQtdGFibGUtY2VsbCAqbmdJZj1cIiFpc0NoZWNrTGlzdFwiIGNsYXNzPVwic2luZ2xlLXNlbGVjdFwiPjwvdGg+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uczsgbGV0IGkgPSBpbmRleDsgbGV0IGxhc3QgPSBsYXN0OyB0cmFja0J5OiBfdHJhY2tCeUNvbHVtblwiPlxuICAgICAgICAgICAgICAgIDx0aFxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInN0YXJ0SW5kZXggPD0gaVwiXG4gICAgICAgICAgICAgICAgICAgICN0aFJlZlxuICAgICAgICAgICAgICAgICAgICBbY29sdW1uSW5kZXhdPVwiaVwiXG4gICAgICAgICAgICAgICAgICAgIGZkLXRhYmxlLWNlbGxcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoXT1cImxhc3QgPyBudWxsIDogY29sdW1uLkZpZWxkVHlwZUlkID09PSAzOCA/ICc0MHB4JyA6IGNvbHVtbi4kV2lkdGgyIHx8IGNvbHVtbi4kV2lkdGhcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUubWluLXdpZHRoXT1cImxhc3QgPyBudWxsIDogaW5saW5lRWRpdE1vZGUgPyAnMjEwcHgnIDogbGFzdCA/ICcxMDAlJyA6ICdhdXRvJ1wiXG4gICAgICAgICAgICAgICAgICAgIHJlc2l6YWJsZVxuICAgICAgICAgICAgICAgICAgICBbcnRsXT1cInJ0bFwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlUmVzaXplXT1cImxhc3RcIlxuICAgICAgICAgICAgICAgICAgICAod2lkdGhDaGFuZ2UpPVwib25Db2x1bW5XaWR0aENoYW5nZShjb2x1bW4pXCJcbiAgICAgICAgICAgICAgICAgICAgKHdpZHRoQ2hhbmdpbmcpPVwib25Db2x1bW5XaWR0aENoYW5naW5nKGksIGNvbHVtbiwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlUmVzcG9uc2l2ZV09XCJkaXNhYmxlUmVzcG9uc2l2ZVwiXG4gICAgICAgICAgICAgICAgICAgIFt0YWJsZVdpZHRoXT1cInRhYmxlV2lkdGhcIlxuICAgICAgICAgICAgICAgICAgICBbY29sdW1uc1dpZHRoXT1cImNvbHVtbnNXaWR0aFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmNvbHVtbk5hbWVdPVwiY29sdW1uLk5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5pbmRleF09XCJpXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiY29sdW1uLiRDU1NDbGFzc05hbWUgKyAnIGNvbHVtbl9fJyArIGNvbHVtbi5DYXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc3BsYXlJY29uXT1cImNvbHVtbi5FeHRyYT8uSWNvbkRpc3BsYXlUeXBlRW51bVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZmQtcG9wb3ZlciAjbWVudT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBGaWVsZFR5cGVJZCAzOCBtZWFucyBpdCBpcyBhdXRvIHJvdyBudW1iZXIgZmllbGQtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJjb2x1bW4uSWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb2x1bW4uRXh0cmE/Lkljb25EaXNwbGF5VHlwZUVudW0gPT09ICdJbWFnZScgfHwgY29sdW1uLkZpZWxkVHlwZUlkID09PSA0MikgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uLkljb247XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBjYXB0aW9uVHBsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2NhcHRpb25UcGw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBjb2x1bW4uQ2FwdGlvbiB8IGJiYlRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtcG9wb3Zlci1ib2R5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBmZC1saXN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgZmQtbGlzdC1pdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZmQtbGlzdC1saW5rIChjbGljayk9XCJvblNvcnRBc2NlbmRpbmcoY29sdW1uLCBtZW51KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1tZW51LWFkZG9uIHBvc2l0aW9uPVwiYmVmb3JlXCIgZ2x5cGg9XCJzb3J0LWFzY2VuZGluZ1wiPjwvZmQtbWVudS1hZGRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1saXN0LXRpdGxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyAoJ1NvcnQnIHwgYmJiVHJhbnNsYXRlKSArICcgJyB9fSB7eyAnQXNjZW5kaW5nJyB8IGJiYlRyYW5zbGF0ZSB9fTwvc3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGZkLWxpc3QtaXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGZkLWxpc3QtbGluayAoY2xpY2spPVwib25Tb3J0RGVzY2VuZGluZyhjb2x1bW4sIG1lbnUpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLW1lbnUtYWRkb24gcG9zaXRpb249XCJiZWZvcmVcIiBnbHlwaD1cInNvcnQtZGVzY2VuZGluZ1wiPjwvZmQtbWVudS1hZGRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1saXN0LXRpdGxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyAoJ1NvcnQnIHwgYmJiVHJhbnNsYXRlKSArICcgJyB9fSB7eyAnRGVzY2VuZGluZycgfCBiYmJUcmFuc2xhdGUgfX08L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBmZC1saXN0LWl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBmZC1saXN0LWxpbmsgKGNsaWNrKT1cIm1lbnUuY2xvc2UoKTsgZml0VG9Db250ZW50LmVtaXQoY29sdW1uKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1tZW51LWFkZG9uIHBvc2l0aW9uPVwiYmVmb3JlXCI+PC9mZC1tZW51LWFkZG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLWxpc3QtdGl0bGU+e3sgKCdGaXQgQ29sdW1uIFRvIENvbnRlbnQnIHwgYmJiVHJhbnNsYXRlKSArICcgJyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGZkLWxpc3QtaXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGZkLWxpc3QtbGluayAoY2xpY2spPVwibWVudS5jbG9zZSgpOyBmaXRUb0NvbnRhaW5lci5lbWl0KClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtbWVudS1hZGRvbiBwb3NpdGlvbj1cImJlZm9yZVwiPjwvZmQtbWVudS1hZGRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1saXN0LXRpdGxlPnt7ICgnQWxsIENvbHVtbnMgSW4gUGFnZScgfCBiYmJUcmFuc2xhdGUpICsgJyAnIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgZmQtbGlzdC1pdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZmQtbGlzdC1saW5rIChjbGljayk9XCJtZW51LmNsb3NlKCk7IGZpdFRvQ29sdW1uLmVtaXQoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1tZW51LWFkZG9uIHBvc2l0aW9uPVwiYmVmb3JlXCI+PC9mZC1tZW51LWFkZG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLWxpc3QtdGl0bGU+e3sgKCdGcmVlIENvbHVtbnMgU2l6ZScgfCBiYmJUcmFuc2xhdGUpICsgJyAnIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxsaSBmZC1saXN0LWl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBmZC1saXN0LWxpbmsgKGNsaWNrKT1cIm9uRmlsdGVyKGNvbHVtbiwgbWVudSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtbWVudS1hZGRvbiBwb3NpdGlvbj1cImJlZm9yZVwiIGdseXBoPVwiZmlsdGVyXCI+PC9mZC1tZW51LWFkZG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLWxpc3QtdGl0bGU+e3sgJ0ZpbHRlcicgfCBiYmJUcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+IC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLXBvcG92ZXItYm9keT5cbiAgICAgICAgICAgICAgICAgICAgPC9mZC1wb3BvdmVyPlxuICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250ZXh0TWVudUl0ZW1zICYmIGNvbnRleHRNZW51SXRlbXMubGVuZ3RoID4gMCAmJiAhaW5saW5lRWRpdE1vZGVcIj5cbiAgICAgICAgICAgICAgICA8dGhcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb2wtaGVhZGVyIGNvbC1jb250ZXh0LW1lbnVcIlxuICAgICAgICAgICAgICAgICAgICBmZC10YWJsZS1jZWxsXG4gICAgICAgICAgICAgICAgICAgIFtmaXRDb250ZW50XT1cImRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cImNvbnRleHRNZW51V2lkdGhcIlxuICAgICAgICAgICAgICAgID48L3RoPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8dGhcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNvbC1oZWFkZXIgY29sLWRldGFpbHNcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJkZXZpY2VTaXplID09PSAncycgPyAnYXV0bycgOiAnMTIwcHgnXCJcbiAgICAgICAgICAgICAgICBmZC10YWJsZS1jZWxsXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93RGV0YWlsc0luUm93ICYmICFpbmxpbmVFZGl0TW9kZVwiXG4gICAgICAgICAgICA+PC90aD5cbiAgICAgICAgICAgIDx0aCBjbGFzcz1cImNvbC1oZWFkZXIgY29sLXZpZXdcIiBbc3R5bGUud2lkdGgucHhdPVwiNDBcIiBmZC10YWJsZS1jZWxsICpuZ0lmPVwic2hvd1ZpZXdCdXR0b25cIj48L3RoPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3RyPlxuPC90aGVhZD5cbiJdfQ==
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtdGFibGUtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2JhcnNhLXRhYmxlLWhlYWRlci9iYXJzYS10YWJsZS1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtdGFibGUtaGVhZGVyL2JhcnNhLXRhYmxlLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULHVCQUF1QixFQUN2QixLQUFLLEVBQ0wsWUFBWSxFQUNaLE1BQU0sRUFHTixZQUFZLEVBQ1osVUFBVSxFQUViLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxhQUFhLEVBS2hCLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7QUFTOUIsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGFBQWE7SUFrQ3hEOztPQUVHO0lBQ0gsWUFBb0IsSUFBdUI7UUFDdkMsS0FBSyxFQUFFLENBQUM7UUFEUSxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQXZCbEMscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBU3hCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUMxQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUE0QixDQUFDO1FBQzVELGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUM7UUFDcEQsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzFDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUN2QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDeEMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3pDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztJQVN4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O2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIElucHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBWaWV3Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBRdWVyeUxpc3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEJhc2VDb21wb25lbnQsXG4gICAgUmVwb3J0Vmlld0NvbHVtbixcbiAgICBBYmJyZXZhdGlvbkRldmljZVNpemUsXG4gICAgQ29sdW1uUmVzaXplZEFyZ3MsXG4gICAgVGFibGVIZWFkZXJXaWR0aE1vZGVcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuaW1wb3J0IHsgVWlUYWJsZVZpZXdTZXR0aW5nIH0gZnJvbSAnLi4vbW9kZWxzL2dyaWQtdmlldyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnN1LWJhcnNhLXRhYmxlLWhlYWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JhcnNhLXRhYmxlLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYmFyc2EtdGFibGUtaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQmFyc2FUYWJsZUhlYWRlckNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICAgIEBWaWV3Q2hpbGRyZW4oJ3RoUmVmJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIHRoTGlzdDogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTFRhYmxlQ2VsbEVsZW1lbnQ+PjtcbiAgICBASW5wdXQoKSBhbGxDaGVja2VkOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzQ2hlY2tMaXN0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGNvbHVtbnM6IFJlcG9ydFZpZXdDb2x1bW5bXTtcbiAgICBASW5wdXQoKSBmaXRXaWR0aDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBjb250ZXh0TWVudUl0ZW1zOiBhbnlbXTtcbiAgICBASW5wdXQoKSBjb250ZXh0TWVudVdpZHRoOiBudW1iZXI7XG4gICAgQElucHV0KCkgc2hvd1ZpZXdCdXR0b246IGJvb2xlYW47XG4gICAgQElucHV0KCkgaGFzU2VsZWN0ZWQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaGlkZU9wZW5JY29uOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlubGluZUVkaXRNb2RlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGhpZGVIZWFkZXI6IGJvb2xlYW47XG4gICAgQElucHV0KCkgc2hvd0RldGFpbHNJblJvdyA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHZpZXdTZXR0aW5nOiBVaVRhYmxlVmlld1NldHRpbmc7XG4gICAgQElucHV0KCkgdGFibGVXaWR0aDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIHJlc2l6ZWRCeVVzZXI6IGJvb2xlYW47XG4gICAgQElucHV0KCkgZGlzYWJsZVJlc3BvbnNpdmU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgcm93SW5kaWNhdG9yOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHJ0bDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBkZXZpY2VTaXplOiBBYmJyZXZhdGlvbkRldmljZVNpemU7XG4gICAgQElucHV0KCkgdGFibGVIZWFkZXJNb2RlOiBUYWJsZUhlYWRlcldpZHRoTW9kZTtcbiAgICBAT3V0cHV0KCkgYWxsQ2hlY2tib3ggPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgQE91dHB1dCgpIGNvbHVtblJlc2l6ZSA9IG5ldyBFdmVudEVtaXR0ZXI8QXJyYXk8Q29sdW1uUmVzaXplZEFyZ3M+PigpO1xuICAgIEBPdXRwdXQoKSBmaXRUb0NvbnRlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFJlcG9ydFZpZXdDb2x1bW4+KCk7XG4gICAgQE91dHB1dCgpIGZpdFRvQ29udGFpbmVyID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKSBmaXRUb0NvbHVtbiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KCkgc29ydEFzY2VuZGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBzb3J0RGVzY2VuZGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBmaWx0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPFJlcG9ydFZpZXdDb2x1bW4+KCk7XG4gICAgY29sdW1uc1NtYWxsZXJUaGFuVGFibGVXaWR0aDogYm9vbGVhbjtcbiAgICBjb2x1bW5zV2lkdGg6IG51bWJlcjtcbiAgICBzdGFydEluZGV4OiBudW1iZXI7XG4gICAgLyoqXG4gICAgICpcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICAvLyB0aGlzLl9wcmVwYXJlQ29sdW1uc1dpZHRoKHRoaXMudGFibGVXaWR0aCwgdGhpcy5jb2x1bW5zLCB0cnVlKTtcbiAgICB9XG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgICAgICAgY29uc3QgeyBjb2x1bW5zLCBpbmxpbmVFZGl0TW9kZSwgcm93SW5kaWNhdG9yIH0gPSBjaGFuZ2VzO1xuICAgICAgICBsZXQgbmVlZENoYW5nZXMgPSBmYWxzZTtcbiAgICAgICAgaWYgKGNvbHVtbnMgJiYgIWNvbHVtbnMuZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICAgIC8vIHRoaXMuX3ByZXBhcmVDb2x1bW5zV2lkdGgodGhpcy50YWJsZVdpZHRoLCBjb2x1bW5zLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgICAgICAvLyBuZWVkQ2hhbmdlcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlubGluZUVkaXRNb2RlICYmICFpbmxpbmVFZGl0TW9kZS5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgLy8gdGhpcy5fcHJlcGFyZUNvbHVtbnNXaWR0aCh0aGlzLnRhYmxlV2lkdGgsIHRoaXMuY29sdW1ucyk7XG4gICAgICAgICAgICAvLyBuZWVkQ2hhbmdlcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJvd0luZGljYXRvcikge1xuICAgICAgICAgICAgdGhpcy5fc2V0U3RhcnRJbmRleChyb3dJbmRpY2F0b3IuY3VycmVudFZhbHVlKTtcbiAgICAgICAgICAgIG5lZWRDaGFuZ2VzID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBuZWVkQ2hhbmdlcyAmJiB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfc2V0U3RhcnRJbmRleChyb3dJbmRpY2F0b3I6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdGFydEluZGV4ID0gcm93SW5kaWNhdG9yID8gMSA6IDA7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfcHJlcGFyZUNvbHVtbnNXaWR0aCh2YWw6IG51bWJlciwgY29sdW1uczogUmVwb3J0Vmlld0NvbHVtbltdLCBkZXRlY3RDaGFuZ2VzID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc3VtID0gY29sdW1ucy5tYXAoKGNvbHVtbikgPT4gY29sdW1uLldpZHRoKS5yZWR1Y2UoKHZhbDIsIGNvbHVtbikgPT4gdmFsMiArIGNvbHVtbiwgMCk7XG4gICAgICAgIGNvbHVtbnMuZm9yRWFjaCgoY29sdW1uKSA9PiAoY29sdW1uLiRXaWR0aDIgPSBjb2x1bW4uJFdpZHRoKSk7XG4gICAgICAgIGlmICh0aGlzLnJlc2l6ZWRCeVVzZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5kZXZpY2VTaXplID09PSAncycpIHtcbiAgICAgICAgICAgIGNvbHVtbnMuZm9yRWFjaCgoY29sdW1uLCBpbmRleCkgPT4gKGNvbHVtbi4kV2lkdGgyID0gaW5kZXggPT09IGNvbHVtbnMubGVuZ3RoIC0gMSA/ICcxMDAlJyA6ICdhdXRvJykpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29sdW1uc1dpZHRoID0gc3VtO1xuICAgICAgICBpZiAoc3VtID4gdmFsICYmIHZhbCA+IDApIHtcbiAgICAgICAgICAgIGNvbHVtbnMuZm9yRWFjaChcbiAgICAgICAgICAgICAgICAoY29sdW1uKSA9PiAoY29sdW1uLiRXaWR0aDIgPSB0aGlzLmlubGluZUVkaXRNb2RlID8gJzIxMHB4JyA6IChjb2x1bW4uV2lkdGggKiAxMDApIC8gdmFsICsgJyUnKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuY29sdW1uc1NtYWxsZXJUaGFuVGFibGVXaWR0aCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAoc3VtICsgMTAgPCB2YWwpIHtcbiAgICAgICAgICAgIGNvbHVtbnNbY29sdW1ucy5sZW5ndGggLSAxXS4kV2lkdGgyID0gJzEwMCUnO1xuICAgICAgICB9XG4gICAgICAgIGRldGVjdENoYW5nZXMgJiYgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gICAgb25Db2x1bW5XaWR0aENoYW5naW5nKGluZGV4OiBudW1iZXIsIGNvbHVtbjogUmVwb3J0Vmlld0NvbHVtbiwgd2lkdGg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb2x1bW4uV2lkdGggPSB3aWR0aDtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ2NvbHVtbldpZHRoQ2hhbmdpbmcgbnVtYmVyOicsIHdpZHRoLCBpbmRleCk7XG4gICAgfVxuICAgIG9uQ29sdW1uV2lkdGhDaGFuZ2UoY29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGhMaXN0LnRvQXJyYXkoKS5mb3JFYWNoKChjLCBpbmRleDIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5ld1dpZHRoID0gYy5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoO1xuICAgICAgICAgICAgdGhpcy5jb2x1bW5zW2luZGV4Ml0uV2lkdGggPSBuZXdXaWR0aDtcbiAgICAgICAgICAgIHRoaXMuY29sdW1uc1tpbmRleDJdLiRXaWR0aDIgPSBgJHtuZXdXaWR0aH1weGA7XG4gICAgICAgICAgICAvLyAgY29uc29sZS5sb2coaW5kZXgyLCBjLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGgpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jb2x1bW5SZXNpemUuZW1pdCh0aGlzLmNvbHVtbnMubWFwKChjKSA9PiAoeyBuYW1lOiBjLk5hbWUsIHdpZHRoOiBjLldpZHRoIH0pKSk7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdjb2x1bW5XaWR0aENoYW5nZScpO1xuICAgIH1cbiAgICBvbkFsbENoZWNrYm94KGNoZWNrZWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hbGxDaGVja2JveC5lbWl0KGNoZWNrZWQpO1xuICAgIH1cbiAgICBvblNvcnRBc2NlbmRpbmcoY29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uLCBtZW51KTogdm9pZCB7XG4gICAgICAgIGlmIChtZW51KSB7XG4gICAgICAgICAgICBtZW51LmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zb3J0QXNjZW5kaW5nLmVtaXQoY29sdW1uKTtcbiAgICB9XG5cbiAgICBvblNvcnREZXNjZW5kaW5nKGNvbHVtbjogUmVwb3J0Vmlld0NvbHVtbiwgbWVudSk6IHZvaWQge1xuICAgICAgICBpZiAobWVudSkge1xuICAgICAgICAgICAgbWVudS5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc29ydERlc2NlbmRpbmcuZW1pdChjb2x1bW4pO1xuICAgIH1cblxuICAgIG9uRmlsdGVyKGNvbHVtbjogUmVwb3J0Vmlld0NvbHVtbiwgbWVudSk6IHZvaWQge1xuICAgICAgICBpZiAobWVudSkge1xuICAgICAgICAgICAgbWVudS5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZmlsdGVyLmVtaXQoY29sdW1uKTtcbiAgICB9XG4gICAgX3RyYWNrQnlDb2x1bW4oaW5kZXg6IG51bWJlciwgY29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke2NvbHVtbi5OYW1lfSR7aW5kZXh9YDtcbiAgICB9XG59XG4iLCI8dGhlYWRcbiAgICBmZC10YWJsZS1oZWFkZXJcbiAgICBbY2xhc3MuaW5saW5lLWVkaXRdPVwiaW5saW5lRWRpdE1vZGVcIlxuICAgIFtjbGFzcy5zbWFsbENvbHVtbnNdPVwiY29sdW1uc1NtYWxsZXJUaGFuVGFibGVXaWR0aFwiXG4gICAgW2F0dHIuY29sdW1uc1dpZHRoXT1cImNvbHVtbnNXaWR0aFwiXG4gICAgW2F0dHIudGFibGVXaWR0aF09XCJ0YWJsZVdpZHRoXCJcbj5cbiAgICA8dHIgZmQtdGFibGUtcm93PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWhpZGVIZWFkZXJcIj5cbiAgICAgICAgICAgIDx0aCAqbmdJZj1cInJvd0luZGljYXRvclwiIGZkLXRhYmxlLWNlbGwgZmQtdGFibGUtc3RhdHVzLWluZGljYXRvcj48L3RoPlxuICAgICAgICAgICAgPHRoIGZkLXRhYmxlLWNlbGwgKm5nSWY9XCJpc0NoZWNrTGlzdFwiPlxuICAgICAgICAgICAgICAgIDxmZC1jaGVja2JveFxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwiYWxsQ2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJhbGxDaGVja2VkXCJcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25BbGxDaGVja2JveCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICA+PC9mZC1jaGVja2JveD5cbiAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICA8dGggZmQtdGFibGUtY2VsbCAqbmdJZj1cIiFpc0NoZWNrTGlzdFwiIGNsYXNzPVwic2luZ2xlLXNlbGVjdFwiPjwvdGg+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uczsgbGV0IGkgPSBpbmRleDsgbGV0IGxhc3QgPSBsYXN0OyB0cmFja0J5OiBfdHJhY2tCeUNvbHVtblwiPlxuICAgICAgICAgICAgICAgIDx0aFxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInN0YXJ0SW5kZXggPD0gaVwiXG4gICAgICAgICAgICAgICAgICAgICN0aFJlZlxuICAgICAgICAgICAgICAgICAgICBbY29sdW1uSW5kZXhdPVwiaVwiXG4gICAgICAgICAgICAgICAgICAgIGZkLXRhYmxlLWNlbGxcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgaW5saW5lRWRpdE1vZGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICcyMTBweCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGxhc3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGNvbHVtbi5GaWVsZFR5cGVJZCA9PT0gMzhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICc0MHB4J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogY29sdW1uLiRXaWR0aDIgfHwgY29sdW1uLiRXaWR0aFxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUubWluLXdpZHRoXT1cImxhc3QgPyBudWxsIDogaW5saW5lRWRpdE1vZGUgPyAnMjEwcHgnIDogbGFzdCA/ICcxMDAlJyA6ICdhdXRvJ1wiXG4gICAgICAgICAgICAgICAgICAgIHJlc2l6YWJsZVxuICAgICAgICAgICAgICAgICAgICBbcnRsXT1cInJ0bFwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlUmVzaXplXT1cImxhc3RcIlxuICAgICAgICAgICAgICAgICAgICAod2lkdGhDaGFuZ2UpPVwib25Db2x1bW5XaWR0aENoYW5nZShjb2x1bW4pXCJcbiAgICAgICAgICAgICAgICAgICAgKHdpZHRoQ2hhbmdpbmcpPVwib25Db2x1bW5XaWR0aENoYW5naW5nKGksIGNvbHVtbiwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlUmVzcG9uc2l2ZV09XCJkaXNhYmxlUmVzcG9uc2l2ZVwiXG4gICAgICAgICAgICAgICAgICAgIFt0YWJsZVdpZHRoXT1cInRhYmxlV2lkdGhcIlxuICAgICAgICAgICAgICAgICAgICBbY29sdW1uc1dpZHRoXT1cImNvbHVtbnNXaWR0aFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmNvbHVtbk5hbWVdPVwiY29sdW1uLk5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5pbmRleF09XCJpXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiY29sdW1uLiRDU1NDbGFzc05hbWUgKyAnIGNvbHVtbl9fJyArIGNvbHVtbi5DYXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc3BsYXlJY29uXT1cImNvbHVtbi5FeHRyYT8uSWNvbkRpc3BsYXlUeXBlRW51bVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZmQtcG9wb3ZlciAjbWVudT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBGaWVsZFR5cGVJZCAzOCBtZWFucyBpdCBpcyBhdXRvIHJvdyBudW1iZXIgZmllbGQtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJjb2x1bW4uSWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb2x1bW4uRXh0cmE/Lkljb25EaXNwbGF5VHlwZUVudW0gPT09ICdJbWFnZScgfHwgY29sdW1uLkZpZWxkVHlwZUlkID09PSA0MikgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uLkljb247XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBjYXB0aW9uVHBsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2NhcHRpb25UcGw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBjb2x1bW4uQ2FwdGlvbiB8IGJiYlRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtcG9wb3Zlci1ib2R5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBmZC1saXN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgZmQtbGlzdC1pdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZmQtbGlzdC1saW5rIChjbGljayk9XCJvblNvcnRBc2NlbmRpbmcoY29sdW1uLCBtZW51KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1tZW51LWFkZG9uIHBvc2l0aW9uPVwiYmVmb3JlXCIgZ2x5cGg9XCJzb3J0LWFzY2VuZGluZ1wiPjwvZmQtbWVudS1hZGRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1saXN0LXRpdGxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyAoJ1NvcnQnIHwgYmJiVHJhbnNsYXRlKSArICcgJyB9fSB7eyAnQXNjZW5kaW5nJyB8IGJiYlRyYW5zbGF0ZSB9fTwvc3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGZkLWxpc3QtaXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGZkLWxpc3QtbGluayAoY2xpY2spPVwib25Tb3J0RGVzY2VuZGluZyhjb2x1bW4sIG1lbnUpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLW1lbnUtYWRkb24gcG9zaXRpb249XCJiZWZvcmVcIiBnbHlwaD1cInNvcnQtZGVzY2VuZGluZ1wiPjwvZmQtbWVudS1hZGRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1saXN0LXRpdGxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyAoJ1NvcnQnIHwgYmJiVHJhbnNsYXRlKSArICcgJyB9fSB7eyAnRGVzY2VuZGluZycgfCBiYmJUcmFuc2xhdGUgfX08L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBmZC1saXN0LWl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBmZC1saXN0LWxpbmsgKGNsaWNrKT1cIm1lbnUuY2xvc2UoKTsgZml0VG9Db250ZW50LmVtaXQoY29sdW1uKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1tZW51LWFkZG9uIHBvc2l0aW9uPVwiYmVmb3JlXCI+PC9mZC1tZW51LWFkZG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLWxpc3QtdGl0bGU+e3sgKCdGaXQgQ29sdW1uIFRvIENvbnRlbnQnIHwgYmJiVHJhbnNsYXRlKSArICcgJyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGZkLWxpc3QtaXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGZkLWxpc3QtbGluayAoY2xpY2spPVwibWVudS5jbG9zZSgpOyBmaXRUb0NvbnRhaW5lci5lbWl0KClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtbWVudS1hZGRvbiBwb3NpdGlvbj1cImJlZm9yZVwiPjwvZmQtbWVudS1hZGRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1saXN0LXRpdGxlPnt7ICgnQWxsIENvbHVtbnMgSW4gUGFnZScgfCBiYmJUcmFuc2xhdGUpICsgJyAnIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgZmQtbGlzdC1pdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZmQtbGlzdC1saW5rIChjbGljayk9XCJtZW51LmNsb3NlKCk7IGZpdFRvQ29sdW1uLmVtaXQoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1tZW51LWFkZG9uIHBvc2l0aW9uPVwiYmVmb3JlXCI+PC9mZC1tZW51LWFkZG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLWxpc3QtdGl0bGU+e3sgKCdGcmVlIENvbHVtbnMgU2l6ZScgfCBiYmJUcmFuc2xhdGUpICsgJyAnIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxsaSBmZC1saXN0LWl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBmZC1saXN0LWxpbmsgKGNsaWNrKT1cIm9uRmlsdGVyKGNvbHVtbiwgbWVudSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtbWVudS1hZGRvbiBwb3NpdGlvbj1cImJlZm9yZVwiIGdseXBoPVwiZmlsdGVyXCI+PC9mZC1tZW51LWFkZG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLWxpc3QtdGl0bGU+e3sgJ0ZpbHRlcicgfCBiYmJUcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+IC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLXBvcG92ZXItYm9keT5cbiAgICAgICAgICAgICAgICAgICAgPC9mZC1wb3BvdmVyPlxuICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250ZXh0TWVudUl0ZW1zICYmIGNvbnRleHRNZW51SXRlbXMubGVuZ3RoID4gMCAmJiAhaW5saW5lRWRpdE1vZGVcIj5cbiAgICAgICAgICAgICAgICA8dGhcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb2wtaGVhZGVyIGNvbC1jb250ZXh0LW1lbnVcIlxuICAgICAgICAgICAgICAgICAgICBmZC10YWJsZS1jZWxsXG4gICAgICAgICAgICAgICAgICAgIFtmaXRDb250ZW50XT1cImRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cImNvbnRleHRNZW51V2lkdGhcIlxuICAgICAgICAgICAgICAgID48L3RoPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8dGhcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNvbC1oZWFkZXIgY29sLWRldGFpbHNcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJkZXZpY2VTaXplID09PSAncycgPyAnYXV0bycgOiAnMTIwcHgnXCJcbiAgICAgICAgICAgICAgICBmZC10YWJsZS1jZWxsXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93RGV0YWlsc0luUm93ICYmICFpbmxpbmVFZGl0TW9kZVwiXG4gICAgICAgICAgICA+PC90aD5cbiAgICAgICAgICAgIDx0aCBjbGFzcz1cImNvbC1oZWFkZXIgY29sLXZpZXdcIiBbc3R5bGUud2lkdGgucHhdPVwiNDBcIiBmZC10YWJsZS1jZWxsICpuZ0lmPVwic2hvd1ZpZXdCdXR0b25cIj48L3RoPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3RyPlxuPC90aGVhZD5cbiJdfQ==
|
|
@@ -45,6 +45,7 @@ export class UiTreeComponent extends ReportTreeBaseComponent {
|
|
|
45
45
|
if (ev.checked) {
|
|
46
46
|
ev.node.Data.$IsChecked = true;
|
|
47
47
|
selectedNode = ev.node;
|
|
48
|
+
this.context.selNode = selectedNode;
|
|
48
49
|
this.context.fireEvent('rowselect', this.context, ev.index, ev.node.Data);
|
|
49
50
|
}
|
|
50
51
|
else {
|
|
@@ -58,7 +59,6 @@ export class UiTreeComponent extends ReportTreeBaseComponent {
|
|
|
58
59
|
}
|
|
59
60
|
this.context.fireEvent('rowdeselect', this.context, ev.index, ev.node.Data);
|
|
60
61
|
}
|
|
61
|
-
this.context.selNode = selectedNode;
|
|
62
62
|
this._selectedNodeSource.next(selectedNode);
|
|
63
63
|
this._rebindRoot();
|
|
64
64
|
}
|
|
@@ -89,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
89
89
|
}], propDecorators: { showOkCancelButtons: [{
|
|
90
90
|
type: Input
|
|
91
91
|
}] } });
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS10cmVlL3VpLXRyZWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktdHJlZS91aS10cmVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBSWxGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7Ozs7O0FBUTlELE1BQU0sT0FBTyxlQUFnQixTQUFRLHVCQUF1QjtJQUl4RCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSTtRQUM5QywrRUFBK0U7UUFDL0UsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FDcEIsQ0FBQztJQUNOLENBQUM7SUFDRCxNQUFNLENBQUMsTUFBTTtRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFNO1FBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsYUFBYTtRQUNULElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsa0JBQWtCLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxVQUFVO1FBQy9DLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVB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ZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVHJlZU5vZGVPYmogfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBSZXBvcnRUcmVlQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL3JlcG9ydC10cmVlLWJhc2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS11aS10cmVlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktdHJlZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktdHJlZS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFVpVHJlZUNvbXBvbmVudCBleHRlbmRzIFJlcG9ydFRyZWVCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBzaG93T2tDYW5jZWxCdXR0b25zO1xuICAgIGNvbGxhcHNlSWNvbiQ6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLmNvbGxhcHNlSWNvbiQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLnJ0bCQucGlwZShcbiAgICAgICAgICAgIC8vIG1hcCgoaXNSdGwpID0+IChpc1J0bCA/ICduYXZpZ2F0aW9uLWxlZnQtYXJyb3cnIDogJ25hdmlnYXRpb24tcmlnaHQtYXJyb3cnKSlcbiAgICAgICAgICAgIG1hcCgoXykgPT4gJ2FkZCcpXG4gICAgICAgICk7XG4gICAgfVxuICAgIG9uRHJvcCgkZXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kcm9wKCRldmVudCk7XG4gICAgfVxuXG4gICAgb25EcmFnTW92ZWQoJGV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZHJhZ01vdmVkKCRldmVudCk7XG4gICAgfVxuXG4gICAgb25Db2xsYXBzZUFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb2xsYXBzZUFsbCgpO1xuICAgIH1cblxuICAgIG9uT3Blbk1vdmVUb0RpYWxvZyhzZWxlY3RlZE5vZGUsIGRldmljZSwgbW92ZURpYWxvZyk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW5Nb3ZlVG9EaWFsb2coc2VsZWN0ZWROb2RlLCBkZXZpY2UsIG1vdmVEaWFsb2cpO1xuICAgIH1cblxuICAgIG9uQ29uZmlybURpYWxvZyhkaWFsb2dTZWxlY3RlZE5vZGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb25maXJtRGlhbG9nKGRpYWxvZ1NlbGVjdGVkTm9kZSk7XG4gICAgfVxuXG4gICAgb25EaXNtaXNzRGlhbG9nKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc21pc3NEaWFsb2coKTtcbiAgICB9XG5cbiAgICBvblNlbGVjdE5vZGVJbk1vdmVEaWFsb2coJGV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0Tm9kZUluTW92ZURpYWxvZygkZXZlbnQpO1xuICAgIH1cbiAgICBvbkNoZWNrQ2hhbmdlKGV2OiB7IG5vZGU6IFRyZWVOb2RlT2JqOyBpbmRleDogbnVtYmVyOyBjaGVja2VkOiBib29sZWFuIH0pOiB2b2lkIHtcbiAgICAgICAgbGV0IHNlbGVjdGVkTm9kZTogVHJlZU5vZGVPYmogfCBudWxsID0gbnVsbDtcbiAgICAgICAgaWYgKGV2LmNoZWNrZWQpIHtcbiAgICAgICAgICAgIGV2Lm5vZGUuRGF0YS4kSXNDaGVja2VkID0gdHJ1ZTtcbiAgICAgICAgICAgIHNlbGVjdGVkTm9kZSA9IGV2Lm5vZGU7XG4gICAgICAgICAgICB0aGlzLmNvbnRleHQuZmlyZUV2ZW50KCdyb3dzZWxlY3QnLCB0aGlzLmNvbnRleHQsIGV2LmluZGV4LCBldi5ub2RlLkRhdGEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXYubm9kZS5EYXRhLiRJc0NoZWNrZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5tb0RhdGFMaXN0LmZpbmQoKGMpID0+IGMuJElzQ2hlY2tlZCk7XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuc2VsTm9kZSA9IGV2Lm5vZGU7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWROb2RlU291cmNlLm5leHQoZXYubm9kZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5jb250ZXh0LmZpcmVFdmVudCgncm93ZGVzZWxlY3QnLCB0aGlzLmNvbnRleHQsIGV2LmluZGV4LCBldi5ub2RlLkRhdGEpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29udGV4dC5zZWxOb2RlID0gc2VsZWN0ZWROb2RlO1xuICAgICAgICB0aGlzLl9zZWxlY3RlZE5vZGVTb3VyY2UubmV4dChzZWxlY3RlZE5vZGUpO1xuICAgICAgICB0aGlzLl9yZWJpbmRSb290KCk7XG4gICAgfVxuICAgIG9uTm9kZVNlbGVjdChldjogeyBub2RlOiBUcmVlTm9kZU9iajsgaW5kZXg6IG51bWJlciB9KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRleHQuc2VsTm9kZSA9PT0gZXYubm9kZSkge1xuICAgICAgICAgICAgdGhpcy5fZGVzZWxlY3ROb2RlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3ROb2RlKGV2Lm5vZGUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3JlYmluZFJvb3QoKTtcbiAgICB9XG5cbiAgICBvbk5vZGVVbHZDb21tYW5kKGV2OiB7IG5vZGU6IFRyZWVOb2RlT2JqOyBpbmRleDogbnVtYmVyIH0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdWx2Q29tbWFuZENsaWNrZWQoZXYubm9kZS5EYXRhLCBldi5pbmRleCk7XG4gICAgfVxuXG4gICAgb25Ob2RlVmlld0NsaWNrKGV2OiB7IG5vZGU6IFRyZWVOb2RlT2JqOyBpbmRleDogbnVtYmVyIH0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmFpc2VSb3dDbGljayhldi5pbmRleCwgZXYubm9kZSk7XG4gICAgfVxuXG4gICAgb25Mb2FkQ2hpbGRyZW4obm9kZTogVHJlZU5vZGVPYmopOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2FkQ2hpbGRyZW4obm9kZSk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgIHJlbmRlclRyZWU7XG4gICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICRpbXBsaWNpdDogcm9vdCQgfCBhc3luYyxcbiAgICAgICAgICAgIG1vRGF0YUxpc3Q6IGZsYXRNb0RhdGFMaXN0LFxuICAgICAgICAgICAgaXNDaGVja0xpc3Q6IGNvbnRleHQuU2V0dGluZy5WaWV3Py5Jc0NoZWNrTGlzdCxcbiAgICAgICAgICAgIGNvbHVtbnM6IHZpc2libGVDb2x1bW5zJCB8IGFzeW5jLFxuICAgICAgICAgICAgZ3JvdXBieTogZ3JvdXBieSQgfCBhc3luYyxcbiAgICAgICAgICAgIHRvb2xiYXJCdXR0b25zOiAodG9vbGJhckJ1dHRvbnMkIHwgYXN5bmMpISEgfCBzZXBlcmF0b3JGaXgsXG4gICAgICAgICAgICBjb250ZXh0TWVudUl0ZW1zOiBtZW51SXRlbXMkIHwgYXN5bmMgfCBjb250ZXh0TWVudTogY29udGV4dC5TZXR0aW5nLlZpZXc/LklzQ2hlY2tMaXN0LFxuICAgICAgICAgICAgY29uZGl0aW9uYWxGb3JtYXRzOiBjb250ZXh0LlNldHRpbmcuVmlldz8uQ29uZGl0aW9uYWxGb3JtYXRzLFxuICAgICAgICAgICAgZGV2aWNlTmFtZTogZGV2aWNlTmFtZSQgfCBhc3luYyxcbiAgICAgICAgICAgIGRldmljZVNpemU6IGRldmljZVNpemUkIHwgYXN5bmMsXG4gICAgICAgICAgICBhY2Nlc3M6IGNvbnRleHQuU2V0dGluZy5FeHRyYT8uRGVmYXVsdENvbW1hbmRzQWNjZXNzLFxuICAgICAgICAgICAgdGl0bGU6IHRpdGxlJCB8IGFzeW5jLFxuICAgICAgICAgICAgaW5saW5lRWRpdE1vZGU6IGlubGluZUVkaXRNb2RlJCB8IGFzeW5jLFxuICAgICAgICAgICAgYWxsb3dJbmxpbmVFZGl0OiBhbGxvd0lubGluZUVkaXQkIHwgYXN5bmMsXG4gICAgICAgICAgICBoaWRlVG9vbGJhcjogaGlkZVRvb2xiYXIkIHwgYXN5bmMsXG4gICAgICAgICAgICBncmlkU2V0dGluZzogZ3JpZFNldHRpbmckIHwgYXN5bmMsXG4gICAgICAgICAgICBjb250ZW50RGVuc2l0eTogY29udGVudERlbnNpdHkkIHwgYXN5bmMsXG4gICAgICAgICAgICBoYXNTZWxlY3RlZDogaGFzU2VsZWN0ZWQkIHwgYXN5bmMsXG4gICAgICAgICAgICBzaG93T2tDYW5jZWxCdXR0b25zOiBzaG93T2tDYW5jZWxCdXR0b25zLFxuICAgICAgICAgICAgc2VsZWN0ZWROb2RlOiBzZWxlY3RlZE5vZGUkIHwgYXN5bmMsXG4gICAgICAgICAgICBuYXZpZ2F0aW9uQXJyb3c6IG5hdmlnYXRpb25BcnJvdyQgfCBhc3luYyxcbiAgICAgICAgICAgIGNvbGxhcHNlSWNvbjogY29sbGFwc2VJY29uJCB8IGFzeW5jLFxuICAgICAgICAgICAgcmVsYXRpb25MaXN0OiBjb250ZXh0LlNldHRpbmcuVmlldy5SZWxhdGlvbkxpc3QsXG4gICAgICAgICAgICBydGw6IHJ0bCQgfCBhc3luYyxcbiAgICAgICAgICAgIGluRGlhbG9nOiBpbkRpYWxvZyQgfCBhc3luYyxcbiAgICAgICAgICAgIGlzTXVsdGlTZWxlY3Q6IGlzTXVsdGlTZWxlY3QkIHwgYXN5bmMsXG4gICAgICAgICAgICBkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudTogdmlld1NldHRpbmc/LkRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51LFxuICAgICAgICAgICAgaXNIZXRybzogY29udGV4dC5TZXR0aW5nLkNsYXNzTmFtZXMuRGF0YUNsYXNzID09PSAnVWwuSGV0cm9UcmVlVWx2RGF0YUN0cmxyJyxcbiAgICAgICAgICAgIHNlbGVjdGVkTW86IHNlbGVjdGVkTW8kIHwgYXN5bmNcbiAgICAgICAgfVxuICAgIFwiXG4+PC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZVxuICAgICNyZW5kZXJUcmVlXG4gICAgbGV0LXJvb3RcbiAgICBsZXQtbW9EYXRhTGlzdD1cIm1vRGF0YUxpc3RcIlxuICAgIGxldC1kZXZpY2VOYW1lPVwiZGV2aWNlTmFtZVwiXG4gICAgbGV0LWRldmljZVNpemU9XCJkZXZpY2VTaXplXCJcbiAgICBsZXQtdG9vbGJhckJ1dHRvbnM9XCJ0b29sYmFyQnV0dG9uc1wiXG4gICAgbGV0LXRpdGxlPVwidGl0bGVcIlxuICAgIGxldC1pbmxpbmVFZGl0TW9kZT1cImlubGluZUVkaXRNb2RlXCJcbiAgICBsZXQtYWxsb3dJbmxpbmVFZGl0PVwiYWxsb3dJbmxpbmVFZGl0XCJcbiAgICBsZXQtaGlkZVRvb2xiYXI9XCJoaWRlVG9vbGJhclwiXG4gICAgbGV0LWdyaWRTZXR0aW5nPVwiZ3JpZFNldHRpbmdcIlxuICAgIGxldC1jb250ZW50RGVuc2l0eT1cImNvbnRlbnREZW5zaXR5XCJcbiAgICBsZXQtYWNjZXNzPVwiYWNjZXNzXCJcbiAgICBsZXQtY29udGV4dE1lbnVJdGVtcz1cImNvbnRleHRNZW51SXRlbXNcIlxuICAgIGxldC1jb25kaXRpb25hbEZvcm1hdHM9XCJjb25kaXRpb25hbEZvcm1hdHNcIlxuICAgIGxldC1pc0NoZWNrTGlzdD1cImlzQ2hlY2tMaXN0XCJcbiAgICBsZXQtZ3JvdXBieT1cImdyb3VwYnlcIlxuICAgIGxldC1oYXNTZWxlY3RlZD1cImhhc1NlbGVjdGVkXCJcbiAgICBsZXQtc2hvd09rQ2FuY2VsQnV0dG9ucz1cInNob3dPa0NhbmNlbEJ1dHRvbnNcIlxuICAgIGxldC1zZWxlY3RlZE5vZGU9XCJzZWxlY3RlZE5vZGVcIlxuICAgIGxldC1uYXZpZ2F0aW9uQXJyb3c9XCJuYXZpZ2F0aW9uQXJyb3dcIlxuICAgIGxldC1jb2xsYXBzZUljb249XCJjb2xsYXBzZUljb25cIlxuICAgIGxldC1ydGw9XCJydGxcIlxuICAgIGxldC1kaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudT1cImRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XCJcbiAgICBsZXQtcmVsYXRpb25MaXN0PVwicmVsYXRpb25MaXN0XCJcbiAgICBsZXQtaXNIZXRybz1cImlzSGV0cm9cIlxuICAgIGxldC1pbkRpYWxvZz1cImluRGlhbG9nXCJcbiAgICBsZXQtaXNNdWx0aVNlbGVjdD1cImlzTXVsdGlTZWxlY3RcIlxuICAgIGxldC1zZWxlY3RlZE1vPVwic2VsZWN0ZWRNb1wiXG4+XG4gICAgPGJzdS11bHYtdG9vbGJhclxuICAgICAgICBbaGlkZVRvb2xiYXJdPVwiaGlkZVRvb2xiYXJcIlxuICAgICAgICBbZGV2aWNlTmFtZV09XCJkZXZpY2VOYW1lXCJcbiAgICAgICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXG4gICAgICAgIFt0b29sYmFyQnV0dG9uc109XCJ0b29sYmFyQnV0dG9uc1wiXG4gICAgICAgIFtncmlkU2V0dGluZ109XCJncmlkU2V0dGluZ1wiXG4gICAgICAgIFt0aXRsZV09XCJ0aXRsZVwiXG4gICAgICAgIFtoYXNTZWxlY3RlZF09XCJoYXNTZWxlY3RlZFwiXG4gICAgICAgIFtpbkRpYWxvZ109XCJpbkRpYWxvZ1wiXG4gICAgICAgIFtpc011bHRpU2VsZWN0XT1cImlzTXVsdGlTZWxlY3RcIlxuICAgICAgICBbY29udGVudERlbnNpdHldPVwiY29udGVudERlbnNpdHlcIlxuICAgICAgICBbaW5saW5lRWRpdE1vZGVdPVwiaW5saW5lRWRpdE1vZGVcIlxuICAgICAgICBbYWxsb3dJbmxpbmVFZGl0XT1cImFsbG93SW5saW5lRWRpdFwiXG4gICAgICAgIFttb0RhdGFMaXN0Q291bnRdPVwibW9EYXRhTGlzdC5sZW5ndGhcIlxuICAgICAgICAoc29ydENsaWNrKT1cIm9uU29ydFNldHRpbmdzKGRldmljZU5hbWUpXCJcbiAgICAgICAgKGdyb3VwYnlDbGljayk9XCJvbkdyb3VwYnlTZXR0aW5ncyhkZXZpY2VOYW1lKVwiXG4gICAgICAgIChjb2x1bW5DbGljayk9XCJvbkNvbHVtblNldHRpbmdzKGRldmljZU5hbWUpXCJcbiAgICAgICAgKGVkaXRNb2RlQ2xpY2spPVwib25FZGl0TW9kZSgpXCJcbiAgICA+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgICAgICBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIlxuICAgICAgICAgICAgW2dseXBoXT1cIidjb2xsYXBzZS1hbGwnXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkNvbGxhcHNlQWxsKClcIlxuICAgICAgICA+PC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCIhc2hvd09rQ2FuY2VsQnV0dG9uc1wiXG4gICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cbiAgICAgICAgICAgIFtmZFR5cGVdPVwiJ3RyYW5zcGFyZW50J1wiXG4gICAgICAgICAgICBbZ2x5cGhdPVwiJ21vdmUnXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvbk9wZW5Nb3ZlVG9EaWFsb2coc2VsZWN0ZWROb2RlLCBkZXZpY2VOYW1lLCBtb3ZlRGlhbG9nKVwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICA8L2JzdS11bHYtdG9vbGJhcj5cbiAgICA8YnN1LXRyZWUtdmlld1xuICAgICAgICBbcnRsXT1cInJ0bFwiXG4gICAgICAgIFtyZWxhdGlvbkxpc3RdPVwicmVsYXRpb25MaXN0XCJcbiAgICAgICAgW3Jvb3RdPVwicm9vdFwiXG4gICAgICAgIFtzZWxlY3RlZE1vXT1cInNlbGVjdGVkTW9cIlxuICAgICAgICBbZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnVdPVwiZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnVcIlxuICAgICAgICBbbmF2aWdhdGlvbkFycm93XT1cIm5hdmlnYXRpb25BcnJvd1wiXG4gICAgICAgIFtjb2xsYXBzZUljb25dPVwiY29sbGFwc2VJY29uXCJcbiAgICAgICAgW3NlbGVjdGVkTm9kZV09XCJzZWxlY3RlZE5vZGVcIlxuICAgICAgICBbYWNjZXNzXT1cImFjY2Vzc1wiXG4gICAgICAgIFtkZXZpY2VOYW1lXT1cImRldmljZU5hbWVcIlxuICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcbiAgICAgICAgW2luRGlhbG9nXT1cImluRGlhbG9nXCJcbiAgICAgICAgW2lzTXVsdGlTZWxlY3RdPVwiaXNNdWx0aVNlbGVjdFwiXG4gICAgICAgIFtjb250ZXh0TWVudUl0ZW1zXT1cImNvbnRleHRNZW51SXRlbXNcIlxuICAgICAgICBbbW9EYXRhTGlzdF09XCJtb0RhdGFMaXN0XCJcbiAgICAgICAgW2dyb3VwYnldPVwiZ3JvdXBieVwiXG4gICAgICAgIFtpc0hldHJvXT1cImlzSGV0cm9cIlxuICAgICAgICBbaXNDaGVja0xpc3RdPVwiaXNDaGVja0xpc3RcIlxuICAgICAgICBbY29uZGl0aW9uYWxGb3JtYXRzXT1cImNvbmRpdGlvbmFsRm9ybWF0c1wiXG4gICAgICAgIFtzaG93T2tDYW5jZWxCdXR0b25zXT1cInNob3dPa0NhbmNlbEJ1dHRvbnNcIlxuICAgICAgICAoY2hlY2tDaGFuZ2UpPVwib25DaGVja0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKGl0ZW1Ecm9wKT1cIm9uRHJvcCgkZXZlbnQpXCJcbiAgICAgICAgKGl0ZW1EcmFnTW92ZWQpPVwib25EcmFnTW92ZWQoJGV2ZW50KVwiXG4gICAgICAgIChub2RlVWx2Q29tbWFuZCk9XCJvbk5vZGVVbHZDb21tYW5kKCRldmVudClcIlxuICAgICAgICAobm9kZVZpZXdDbGljayk9XCJvbk5vZGVWaWV3Q2xpY2soJGV2ZW50KVwiXG4gICAgICAgIChsb2FkQ2hpbGRyZW4pPVwib25Mb2FkQ2hpbGRyZW4oJGV2ZW50KVwiXG4gICAgICAgIChub2RlU2VsZWN0KT1cIm9uTm9kZVNlbGVjdCgkZXZlbnQpXCJcbiAgICAgICAgKHJvd0NoZWNrKT1cIm9uUm93Q2hlY2soJGV2ZW50KVwiXG4gICAgICAgIChyb3dDbGljayk9XCJvblJvd0NsaWNrKCRldmVudClcIlxuICAgICAgICAoYWxsQ2hlY2tib3gpPVwib25BbGxDaGVja2JveCgkZXZlbnQpXCJcbiAgICAgICAgKGV4cGFuZENsaWNrKT1cIm9uRXhwYW5kQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgIChlZGl0Rm9ybVBhbmVsQ2FuY2VsKT1cIm9uRWRpdEZvcm1QYW5lbENhbmNlbCgkZXZlbnQpXCJcbiAgICAgICAgKGVkaXRGb3JtUGFuZWxTYXZlKT1cIm9uRWRpdEZvcm1QYW5lbFNhdmUoJGV2ZW50KVwiXG4gICAgICAgIChjcmVhdGVOZXcpPVwib25DcmVhdGVOZXcoJGV2ZW50KVwiXG4gICAgPlxuICAgIDwvYnN1LXRyZWUtdmlldz5cbiAgICA8bmctdGVtcGxhdGUgbGV0LWRpYWxvZyBsZXQtZGlhbG9nQ29uZmlnPVwiZGlhbG9nQ29uZmlnXCIgI21vdmVEaWFsb2c+XG4gICAgICAgIDxmZC1kaWFsb2cgW2RpYWxvZ0NvbmZpZ109XCJkaWFsb2dDb25maWdcIiBbZGlhbG9nUmVmXT1cImRpYWxvZ1wiPlxuICAgICAgICAgICAgPGZkLWRpYWxvZy1oZWFkZXI+XG4gICAgICAgICAgICAgICAgPGgxIGZkLXRpdGxlPnt7ICdNb3ZlJyB8IGJiYlRyYW5zbGF0ZSB9fTwvaDE+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBmZC1kaWFsb2ctY2xvc2UtYnV0dG9uIChjbGljayk9XCJkaWFsb2cuZGlzbWlzcygnQ2xvc2UgYnV0dG9uJylcIj48L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZmQtZGlhbG9nLWhlYWRlcj5cblxuICAgICAgICAgICAgPGZkLWRpYWxvZy1ib2R5PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb3ZlLXRvXCIgKGtleWRvd24uZW50ZXIpPVwib25Db25maXJtRGlhbG9nKGRpYWxvZ1NlbGVjdGVkTm9kZSlcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJzdS10cmVlLXZpZXdcbiAgICAgICAgICAgICAgICAgICAgICAgIFtydGxdPVwicnRsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtyb290XT1cInJvb3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FjY2Vzc109XCJhY2Nlc3NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25hdmlnYXRpb25BcnJvd109XCJuYXZpZ2F0aW9uQXJyb3dcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxhcHNlSWNvbl09XCJjb2xsYXBzZUljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2RldmljZU5hbWVdPVwiZGV2aWNlTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtoYXNEcmFnRHJvcF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWROb2RlXT1cImRpYWxvZ1NlbGVjdGVkTm9kZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbW9EYXRhTGlzdF09XCJmbGF0TW9EYXRhTGlzdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZ3JvdXBieV09XCJncm91cGJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpc0NoZWNrTGlzdF09XCJpc0NoZWNrTGlzdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29uZGl0aW9uYWxGb3JtYXRzXT1cImNvbmRpdGlvbmFsRm9ybWF0c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAobG9hZENoaWxkcmVuKT1cIm9uTG9hZENoaWxkcmVuKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG5vZGVTZWxlY3QpPVwib25TZWxlY3ROb2RlSW5Nb3ZlRGlhbG9nKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICA+PC9ic3UtdHJlZS12aWV3PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9mZC1kaWFsb2ctYm9keT5cblxuICAgICAgICAgICAgPGZkLWRpYWxvZy1mb290ZXI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGZkVGVtcGxhdGU9XCJmb290ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBmZC1iYXItcmlnaHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtYnV0dG9uLWJhclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cImVtcGhhc2l6ZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInT0snIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Db25maXJtRGlhbG9nKGRpYWxvZ1NlbGVjdGVkTm9kZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC1idXR0b24tYmFyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWJ1dHRvbi1iYXIgZmQtaW5pdGlhbC1mb2N1cyBbbGFiZWxdPVwiJ0NhbmNlbCcgfCBiYmJUcmFuc2xhdGVcIiAoY2xpY2spPVwib25EaXNtaXNzRGlhbG9nKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtYnV0dG9uLWJhcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvZmQtZGlhbG9nLWZvb3Rlcj5cbiAgICAgICAgPC9mZC1kaWFsb2c+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS10cmVlL3VpLXRyZWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktdHJlZS91aS10cmVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBSWxGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7Ozs7O0FBUTlELE1BQU0sT0FBTyxlQUFnQixTQUFRLHVCQUF1QjtJQUl4RCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSTtRQUM5QywrRUFBK0U7UUFDL0UsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FDcEIsQ0FBQztJQUNOLENBQUM7SUFDRCxNQUFNLENBQUMsTUFBTTtRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFNO1FBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsYUFBYTtRQUNULElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsa0JBQWtCLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxVQUFVO1FBQy9DLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVB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ZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVHJlZU5vZGVPYmogfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBSZXBvcnRUcmVlQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL3JlcG9ydC10cmVlLWJhc2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS11aS10cmVlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktdHJlZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktdHJlZS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFVpVHJlZUNvbXBvbmVudCBleHRlbmRzIFJlcG9ydFRyZWVCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBzaG93T2tDYW5jZWxCdXR0b25zO1xuICAgIGNvbGxhcHNlSWNvbiQ6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLmNvbGxhcHNlSWNvbiQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLnJ0bCQucGlwZShcbiAgICAgICAgICAgIC8vIG1hcCgoaXNSdGwpID0+IChpc1J0bCA/ICduYXZpZ2F0aW9uLWxlZnQtYXJyb3cnIDogJ25hdmlnYXRpb24tcmlnaHQtYXJyb3cnKSlcbiAgICAgICAgICAgIG1hcCgoXykgPT4gJ2FkZCcpXG4gICAgICAgICk7XG4gICAgfVxuICAgIG9uRHJvcCgkZXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kcm9wKCRldmVudCk7XG4gICAgfVxuXG4gICAgb25EcmFnTW92ZWQoJGV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZHJhZ01vdmVkKCRldmVudCk7XG4gICAgfVxuXG4gICAgb25Db2xsYXBzZUFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb2xsYXBzZUFsbCgpO1xuICAgIH1cblxuICAgIG9uT3Blbk1vdmVUb0RpYWxvZyhzZWxlY3RlZE5vZGUsIGRldmljZSwgbW92ZURpYWxvZyk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW5Nb3ZlVG9EaWFsb2coc2VsZWN0ZWROb2RlLCBkZXZpY2UsIG1vdmVEaWFsb2cpO1xuICAgIH1cblxuICAgIG9uQ29uZmlybURpYWxvZyhkaWFsb2dTZWxlY3RlZE5vZGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb25maXJtRGlhbG9nKGRpYWxvZ1NlbGVjdGVkTm9kZSk7XG4gICAgfVxuXG4gICAgb25EaXNtaXNzRGlhbG9nKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc21pc3NEaWFsb2coKTtcbiAgICB9XG5cbiAgICBvblNlbGVjdE5vZGVJbk1vdmVEaWFsb2coJGV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0Tm9kZUluTW92ZURpYWxvZygkZXZlbnQpO1xuICAgIH1cbiAgICBvbkNoZWNrQ2hhbmdlKGV2OiB7IG5vZGU6IFRyZWVOb2RlT2JqOyBpbmRleDogbnVtYmVyOyBjaGVja2VkOiBib29sZWFuIH0pOiB2b2lkIHtcbiAgICAgICAgbGV0IHNlbGVjdGVkTm9kZTogVHJlZU5vZGVPYmogfCBudWxsID0gbnVsbDtcbiAgICAgICAgaWYgKGV2LmNoZWNrZWQpIHtcbiAgICAgICAgICAgIGV2Lm5vZGUuRGF0YS4kSXNDaGVja2VkID0gdHJ1ZTtcbiAgICAgICAgICAgIHNlbGVjdGVkTm9kZSA9IGV2Lm5vZGU7XG4gICAgICAgICAgICB0aGlzLmNvbnRleHQuc2VsTm9kZSA9IHNlbGVjdGVkTm9kZTtcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ3Jvd3NlbGVjdCcsIHRoaXMuY29udGV4dCwgZXYuaW5kZXgsIGV2Lm5vZGUuRGF0YSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBldi5ub2RlLkRhdGEuJElzQ2hlY2tlZCA9IGZhbHNlO1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLm1vRGF0YUxpc3QuZmluZCgoYykgPT4gYy4kSXNDaGVja2VkKTtcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5zZWxOb2RlID0gZXYubm9kZTtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3RlZE5vZGVTb3VyY2UubmV4dChldi5ub2RlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmNvbnRleHQuZmlyZUV2ZW50KCdyb3dkZXNlbGVjdCcsIHRoaXMuY29udGV4dCwgZXYuaW5kZXgsIGV2Lm5vZGUuRGF0YSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc2VsZWN0ZWROb2RlU291cmNlLm5leHQoc2VsZWN0ZWROb2RlKTtcbiAgICAgICAgdGhpcy5fcmViaW5kUm9vdCgpO1xuICAgIH1cbiAgICBvbk5vZGVTZWxlY3QoZXY6IHsgbm9kZTogVHJlZU5vZGVPYmo7IGluZGV4OiBudW1iZXIgfSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb250ZXh0LnNlbE5vZGUgPT09IGV2Lm5vZGUpIHtcbiAgICAgICAgICAgIHRoaXMuX2Rlc2VsZWN0Tm9kZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0Tm9kZShldi5ub2RlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9yZWJpbmRSb290KCk7XG4gICAgfVxuXG4gICAgb25Ob2RlVWx2Q29tbWFuZChldjogeyBub2RlOiBUcmVlTm9kZU9iajsgaW5kZXg6IG51bWJlciB9KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3VsdkNvbW1hbmRDbGlja2VkKGV2Lm5vZGUuRGF0YSwgZXYuaW5kZXgpO1xuICAgIH1cblxuICAgIG9uTm9kZVZpZXdDbGljayhldjogeyBub2RlOiBUcmVlTm9kZU9iajsgaW5kZXg6IG51bWJlciB9KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3JhaXNlUm93Q2xpY2soZXYuaW5kZXgsIGV2Lm5vZGUpO1xuICAgIH1cblxuICAgIG9uTG9hZENoaWxkcmVuKG5vZGU6IFRyZWVOb2RlT2JqKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9hZENoaWxkcmVuKG5vZGUpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICByZW5kZXJUcmVlO1xuICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAkaW1wbGljaXQ6IHJvb3QkIHwgYXN5bmMsXG4gICAgICAgICAgICBtb0RhdGFMaXN0OiBmbGF0TW9EYXRhTGlzdCxcbiAgICAgICAgICAgIGlzQ2hlY2tMaXN0OiBjb250ZXh0LlNldHRpbmcuVmlldz8uSXNDaGVja0xpc3QsXG4gICAgICAgICAgICBjb2x1bW5zOiB2aXNpYmxlQ29sdW1ucyQgfCBhc3luYyxcbiAgICAgICAgICAgIGdyb3VwYnk6IGdyb3VwYnkkIHwgYXN5bmMsXG4gICAgICAgICAgICB0b29sYmFyQnV0dG9uczogKHRvb2xiYXJCdXR0b25zJCB8IGFzeW5jKSEhIHwgc2VwZXJhdG9yRml4LFxuICAgICAgICAgICAgY29udGV4dE1lbnVJdGVtczogbWVudUl0ZW1zJCB8IGFzeW5jIHwgY29udGV4dE1lbnU6IGNvbnRleHQuU2V0dGluZy5WaWV3Py5Jc0NoZWNrTGlzdCxcbiAgICAgICAgICAgIGNvbmRpdGlvbmFsRm9ybWF0czogY29udGV4dC5TZXR0aW5nLlZpZXc/LkNvbmRpdGlvbmFsRm9ybWF0cyxcbiAgICAgICAgICAgIGRldmljZU5hbWU6IGRldmljZU5hbWUkIHwgYXN5bmMsXG4gICAgICAgICAgICBkZXZpY2VTaXplOiBkZXZpY2VTaXplJCB8IGFzeW5jLFxuICAgICAgICAgICAgYWNjZXNzOiBjb250ZXh0LlNldHRpbmcuRXh0cmE/LkRlZmF1bHRDb21tYW5kc0FjY2VzcyxcbiAgICAgICAgICAgIHRpdGxlOiB0aXRsZSQgfCBhc3luYyxcbiAgICAgICAgICAgIGlubGluZUVkaXRNb2RlOiBpbmxpbmVFZGl0TW9kZSQgfCBhc3luYyxcbiAgICAgICAgICAgIGFsbG93SW5saW5lRWRpdDogYWxsb3dJbmxpbmVFZGl0JCB8IGFzeW5jLFxuICAgICAgICAgICAgaGlkZVRvb2xiYXI6IGhpZGVUb29sYmFyJCB8IGFzeW5jLFxuICAgICAgICAgICAgZ3JpZFNldHRpbmc6IGdyaWRTZXR0aW5nJCB8IGFzeW5jLFxuICAgICAgICAgICAgY29udGVudERlbnNpdHk6IGNvbnRlbnREZW5zaXR5JCB8IGFzeW5jLFxuICAgICAgICAgICAgaGFzU2VsZWN0ZWQ6IGhhc1NlbGVjdGVkJCB8IGFzeW5jLFxuICAgICAgICAgICAgc2hvd09rQ2FuY2VsQnV0dG9uczogc2hvd09rQ2FuY2VsQnV0dG9ucyxcbiAgICAgICAgICAgIHNlbGVjdGVkTm9kZTogc2VsZWN0ZWROb2RlJCB8IGFzeW5jLFxuICAgICAgICAgICAgbmF2aWdhdGlvbkFycm93OiBuYXZpZ2F0aW9uQXJyb3ckIHwgYXN5bmMsXG4gICAgICAgICAgICBjb2xsYXBzZUljb246IGNvbGxhcHNlSWNvbiQgfCBhc3luYyxcbiAgICAgICAgICAgIHJlbGF0aW9uTGlzdDogY29udGV4dC5TZXR0aW5nLlZpZXcuUmVsYXRpb25MaXN0LFxuICAgICAgICAgICAgcnRsOiBydGwkIHwgYXN5bmMsXG4gICAgICAgICAgICBpbkRpYWxvZzogaW5EaWFsb2ckIHwgYXN5bmMsXG4gICAgICAgICAgICBpc011bHRpU2VsZWN0OiBpc011bHRpU2VsZWN0JCB8IGFzeW5jLFxuICAgICAgICAgICAgZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnU6IHZpZXdTZXR0aW5nPy5EaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudSxcbiAgICAgICAgICAgIGlzSGV0cm86IGNvbnRleHQuU2V0dGluZy5DbGFzc05hbWVzLkRhdGFDbGFzcyA9PT0gJ1VsLkhldHJvVHJlZVVsdkRhdGFDdHJscicsXG4gICAgICAgICAgICBzZWxlY3RlZE1vOiBzZWxlY3RlZE1vJCB8IGFzeW5jXG4gICAgICAgIH1cbiAgICBcIlxuPjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGVcbiAgICAjcmVuZGVyVHJlZVxuICAgIGxldC1yb290XG4gICAgbGV0LW1vRGF0YUxpc3Q9XCJtb0RhdGFMaXN0XCJcbiAgICBsZXQtZGV2aWNlTmFtZT1cImRldmljZU5hbWVcIlxuICAgIGxldC1kZXZpY2VTaXplPVwiZGV2aWNlU2l6ZVwiXG4gICAgbGV0LXRvb2xiYXJCdXR0b25zPVwidG9vbGJhckJ1dHRvbnNcIlxuICAgIGxldC10aXRsZT1cInRpdGxlXCJcbiAgICBsZXQtaW5saW5lRWRpdE1vZGU9XCJpbmxpbmVFZGl0TW9kZVwiXG4gICAgbGV0LWFsbG93SW5saW5lRWRpdD1cImFsbG93SW5saW5lRWRpdFwiXG4gICAgbGV0LWhpZGVUb29sYmFyPVwiaGlkZVRvb2xiYXJcIlxuICAgIGxldC1ncmlkU2V0dGluZz1cImdyaWRTZXR0aW5nXCJcbiAgICBsZXQtY29udGVudERlbnNpdHk9XCJjb250ZW50RGVuc2l0eVwiXG4gICAgbGV0LWFjY2Vzcz1cImFjY2Vzc1wiXG4gICAgbGV0LWNvbnRleHRNZW51SXRlbXM9XCJjb250ZXh0TWVudUl0ZW1zXCJcbiAgICBsZXQtY29uZGl0aW9uYWxGb3JtYXRzPVwiY29uZGl0aW9uYWxGb3JtYXRzXCJcbiAgICBsZXQtaXNDaGVja0xpc3Q9XCJpc0NoZWNrTGlzdFwiXG4gICAgbGV0LWdyb3VwYnk9XCJncm91cGJ5XCJcbiAgICBsZXQtaGFzU2VsZWN0ZWQ9XCJoYXNTZWxlY3RlZFwiXG4gICAgbGV0LXNob3dPa0NhbmNlbEJ1dHRvbnM9XCJzaG93T2tDYW5jZWxCdXR0b25zXCJcbiAgICBsZXQtc2VsZWN0ZWROb2RlPVwic2VsZWN0ZWROb2RlXCJcbiAgICBsZXQtbmF2aWdhdGlvbkFycm93PVwibmF2aWdhdGlvbkFycm93XCJcbiAgICBsZXQtY29sbGFwc2VJY29uPVwiY29sbGFwc2VJY29uXCJcbiAgICBsZXQtcnRsPVwicnRsXCJcbiAgICBsZXQtZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnU9XCJkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudVwiXG4gICAgbGV0LXJlbGF0aW9uTGlzdD1cInJlbGF0aW9uTGlzdFwiXG4gICAgbGV0LWlzSGV0cm89XCJpc0hldHJvXCJcbiAgICBsZXQtaW5EaWFsb2c9XCJpbkRpYWxvZ1wiXG4gICAgbGV0LWlzTXVsdGlTZWxlY3Q9XCJpc011bHRpU2VsZWN0XCJcbiAgICBsZXQtc2VsZWN0ZWRNbz1cInNlbGVjdGVkTW9cIlxuPlxuICAgIDxic3UtdWx2LXRvb2xiYXJcbiAgICAgICAgW2hpZGVUb29sYmFyXT1cImhpZGVUb29sYmFyXCJcbiAgICAgICAgW2RldmljZU5hbWVdPVwiZGV2aWNlTmFtZVwiXG4gICAgICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxuICAgICAgICBbdG9vbGJhckJ1dHRvbnNdPVwidG9vbGJhckJ1dHRvbnNcIlxuICAgICAgICBbZ3JpZFNldHRpbmddPVwiZ3JpZFNldHRpbmdcIlxuICAgICAgICBbdGl0bGVdPVwidGl0bGVcIlxuICAgICAgICBbaGFzU2VsZWN0ZWRdPVwiaGFzU2VsZWN0ZWRcIlxuICAgICAgICBbaW5EaWFsb2ddPVwiaW5EaWFsb2dcIlxuICAgICAgICBbaXNNdWx0aVNlbGVjdF09XCJpc011bHRpU2VsZWN0XCJcbiAgICAgICAgW2NvbnRlbnREZW5zaXR5XT1cImNvbnRlbnREZW5zaXR5XCJcbiAgICAgICAgW2lubGluZUVkaXRNb2RlXT1cImlubGluZUVkaXRNb2RlXCJcbiAgICAgICAgW2FsbG93SW5saW5lRWRpdF09XCJhbGxvd0lubGluZUVkaXRcIlxuICAgICAgICBbbW9EYXRhTGlzdENvdW50XT1cIm1vRGF0YUxpc3QubGVuZ3RoXCJcbiAgICAgICAgKHNvcnRDbGljayk9XCJvblNvcnRTZXR0aW5ncyhkZXZpY2VOYW1lKVwiXG4gICAgICAgIChncm91cGJ5Q2xpY2spPVwib25Hcm91cGJ5U2V0dGluZ3MoZGV2aWNlTmFtZSlcIlxuICAgICAgICAoY29sdW1uQ2xpY2spPVwib25Db2x1bW5TZXR0aW5ncyhkZXZpY2VOYW1lKVwiXG4gICAgICAgIChlZGl0TW9kZUNsaWNrKT1cIm9uRWRpdE1vZGUoKVwiXG4gICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICAgICAgW2ZkVHlwZV09XCIndHJhbnNwYXJlbnQnXCJcbiAgICAgICAgICAgIFtnbHlwaF09XCInY29sbGFwc2UtYWxsJ1wiXG4gICAgICAgICAgICAoY2xpY2spPVwib25Db2xsYXBzZUFsbCgpXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwiIXNob3dPa0NhbmNlbEJ1dHRvbnNcIlxuICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgICAgICBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIlxuICAgICAgICAgICAgW2dseXBoXT1cIidtb3ZlJ1wiXG4gICAgICAgICAgICAoY2xpY2spPVwib25PcGVuTW92ZVRvRGlhbG9nKHNlbGVjdGVkTm9kZSwgZGV2aWNlTmFtZSwgbW92ZURpYWxvZylcIlxuICAgICAgICA+PC9idXR0b24+XG4gICAgPC9ic3UtdWx2LXRvb2xiYXI+XG4gICAgPGJzdS10cmVlLXZpZXdcbiAgICAgICAgW3J0bF09XCJydGxcIlxuICAgICAgICBbcmVsYXRpb25MaXN0XT1cInJlbGF0aW9uTGlzdFwiXG4gICAgICAgIFtyb290XT1cInJvb3RcIlxuICAgICAgICBbc2VsZWN0ZWRNb109XCJzZWxlY3RlZE1vXCJcbiAgICAgICAgW2Rpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XT1cImRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XCJcbiAgICAgICAgW25hdmlnYXRpb25BcnJvd109XCJuYXZpZ2F0aW9uQXJyb3dcIlxuICAgICAgICBbY29sbGFwc2VJY29uXT1cImNvbGxhcHNlSWNvblwiXG4gICAgICAgIFtzZWxlY3RlZE5vZGVdPVwic2VsZWN0ZWROb2RlXCJcbiAgICAgICAgW2FjY2Vzc109XCJhY2Nlc3NcIlxuICAgICAgICBbZGV2aWNlTmFtZV09XCJkZXZpY2VOYW1lXCJcbiAgICAgICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXG4gICAgICAgIFtpbkRpYWxvZ109XCJpbkRpYWxvZ1wiXG4gICAgICAgIFtpc011bHRpU2VsZWN0XT1cImlzTXVsdGlTZWxlY3RcIlxuICAgICAgICBbY29udGV4dE1lbnVJdGVtc109XCJjb250ZXh0TWVudUl0ZW1zXCJcbiAgICAgICAgW21vRGF0YUxpc3RdPVwibW9EYXRhTGlzdFwiXG4gICAgICAgIFtncm91cGJ5XT1cImdyb3VwYnlcIlxuICAgICAgICBbaXNIZXRyb109XCJpc0hldHJvXCJcbiAgICAgICAgW2lzQ2hlY2tMaXN0XT1cImlzQ2hlY2tMaXN0XCJcbiAgICAgICAgW2NvbmRpdGlvbmFsRm9ybWF0c109XCJjb25kaXRpb25hbEZvcm1hdHNcIlxuICAgICAgICBbc2hvd09rQ2FuY2VsQnV0dG9uc109XCJzaG93T2tDYW5jZWxCdXR0b25zXCJcbiAgICAgICAgKGNoZWNrQ2hhbmdlKT1cIm9uQ2hlY2tDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIChpdGVtRHJvcCk9XCJvbkRyb3AoJGV2ZW50KVwiXG4gICAgICAgIChpdGVtRHJhZ01vdmVkKT1cIm9uRHJhZ01vdmVkKCRldmVudClcIlxuICAgICAgICAobm9kZVVsdkNvbW1hbmQpPVwib25Ob2RlVWx2Q29tbWFuZCgkZXZlbnQpXCJcbiAgICAgICAgKG5vZGVWaWV3Q2xpY2spPVwib25Ob2RlVmlld0NsaWNrKCRldmVudClcIlxuICAgICAgICAobG9hZENoaWxkcmVuKT1cIm9uTG9hZENoaWxkcmVuKCRldmVudClcIlxuICAgICAgICAobm9kZVNlbGVjdCk9XCJvbk5vZGVTZWxlY3QoJGV2ZW50KVwiXG4gICAgICAgIChyb3dDaGVjayk9XCJvblJvd0NoZWNrKCRldmVudClcIlxuICAgICAgICAocm93Q2xpY2spPVwib25Sb3dDbGljaygkZXZlbnQpXCJcbiAgICAgICAgKGFsbENoZWNrYm94KT1cIm9uQWxsQ2hlY2tib3goJGV2ZW50KVwiXG4gICAgICAgIChleHBhbmRDbGljayk9XCJvbkV4cGFuZENsaWNrKCRldmVudClcIlxuICAgICAgICAoZWRpdEZvcm1QYW5lbENhbmNlbCk9XCJvbkVkaXRGb3JtUGFuZWxDYW5jZWwoJGV2ZW50KVwiXG4gICAgICAgIChlZGl0Rm9ybVBhbmVsU2F2ZSk9XCJvbkVkaXRGb3JtUGFuZWxTYXZlKCRldmVudClcIlxuICAgICAgICAoY3JlYXRlTmV3KT1cIm9uQ3JlYXRlTmV3KCRldmVudClcIlxuICAgID5cbiAgICA8L2JzdS10cmVlLXZpZXc+XG4gICAgPG5nLXRlbXBsYXRlIGxldC1kaWFsb2cgbGV0LWRpYWxvZ0NvbmZpZz1cImRpYWxvZ0NvbmZpZ1wiICNtb3ZlRGlhbG9nPlxuICAgICAgICA8ZmQtZGlhbG9nIFtkaWFsb2dDb25maWddPVwiZGlhbG9nQ29uZmlnXCIgW2RpYWxvZ1JlZl09XCJkaWFsb2dcIj5cbiAgICAgICAgICAgIDxmZC1kaWFsb2ctaGVhZGVyPlxuICAgICAgICAgICAgICAgIDxoMSBmZC10aXRsZT57eyAnTW92ZScgfCBiYmJUcmFuc2xhdGUgfX08L2gxPlxuICAgICAgICAgICAgICAgIDxidXR0b24gZmQtZGlhbG9nLWNsb3NlLWJ1dHRvbiAoY2xpY2spPVwiZGlhbG9nLmRpc21pc3MoJ0Nsb3NlIGJ1dHRvbicpXCI+PC9idXR0b24+XG4gICAgICAgICAgICA8L2ZkLWRpYWxvZy1oZWFkZXI+XG5cbiAgICAgICAgICAgIDxmZC1kaWFsb2ctYm9keT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW92ZS10b1wiIChrZXlkb3duLmVudGVyKT1cIm9uQ29uZmlybURpYWxvZyhkaWFsb2dTZWxlY3RlZE5vZGUpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxic3UtdHJlZS12aWV3XG4gICAgICAgICAgICAgICAgICAgICAgICBbcnRsXT1cInJ0bFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbcm9vdF09XCJyb290XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthY2Nlc3NdPVwiYWNjZXNzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuYXZpZ2F0aW9uQXJyb3ddPVwibmF2aWdhdGlvbkFycm93XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsYXBzZUljb25dPVwiY29sbGFwc2VJY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkZXZpY2VOYW1lXT1cImRldmljZU5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaGFzRHJhZ0Ryb3BdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkTm9kZV09XCJkaWFsb2dTZWxlY3RlZE5vZGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21vRGF0YUxpc3RdPVwiZmxhdE1vRGF0YUxpc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2dyb3VwYnldPVwiZ3JvdXBieVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaXNDaGVja0xpc3RdPVwiaXNDaGVja0xpc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmRpdGlvbmFsRm9ybWF0c109XCJjb25kaXRpb25hbEZvcm1hdHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGxvYWRDaGlsZHJlbik9XCJvbkxvYWRDaGlsZHJlbigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChub2RlU2VsZWN0KT1cIm9uU2VsZWN0Tm9kZUluTW92ZURpYWxvZygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvYnN1LXRyZWUtdmlldz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZmQtZGlhbG9nLWJvZHk+XG5cbiAgICAgICAgICAgIDxmZC1kaWFsb2ctZm9vdGVyPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBmZFRlbXBsYXRlPVwiZm9vdGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgZmQtYmFyLXJpZ2h0PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWJ1dHRvbi1iYXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJlbXBoYXNpemVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ09LJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ29uZmlybURpYWxvZyhkaWFsb2dTZWxlY3RlZE5vZGUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtYnV0dG9uLWJhcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1idXR0b24tYmFyIGZkLWluaXRpYWwtZm9jdXMgW2xhYmVsXT1cIidDYW5jZWwnIHwgYmJiVHJhbnNsYXRlXCIgKGNsaWNrKT1cIm9uRGlzbWlzc0RpYWxvZygpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLWJ1dHRvbi1iYXI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2ZkLWRpYWxvZy1mb290ZXI+XG4gICAgICAgIDwvZmQtZGlhbG9nPlxuICAgIDwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -3959,6 +3959,7 @@ class UiTreeComponent extends ReportTreeBaseComponent {
|
|
|
3959
3959
|
if (ev.checked) {
|
|
3960
3960
|
ev.node.Data.$IsChecked = true;
|
|
3961
3961
|
selectedNode = ev.node;
|
|
3962
|
+
this.context.selNode = selectedNode;
|
|
3962
3963
|
this.context.fireEvent('rowselect', this.context, ev.index, ev.node.Data);
|
|
3963
3964
|
}
|
|
3964
3965
|
else {
|
|
@@ -3972,7 +3973,6 @@ class UiTreeComponent extends ReportTreeBaseComponent {
|
|
|
3972
3973
|
}
|
|
3973
3974
|
this.context.fireEvent('rowdeselect', this.context, ev.index, ev.node.Data);
|
|
3974
3975
|
}
|
|
3975
|
-
this.context.selNode = selectedNode;
|
|
3976
3976
|
this._selectedNodeSource.next(selectedNode);
|
|
3977
3977
|
this._rebindRoot();
|
|
3978
3978
|
}
|
|
@@ -5083,10 +5083,10 @@ class BarsaTableHeaderComponent extends BaseComponent {
|
|
|
5083
5083
|
}
|
|
5084
5084
|
}
|
|
5085
5085
|
BarsaTableHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BarsaTableHeaderComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
5086
|
-
BarsaTableHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: BarsaTableHeaderComponent, selector: "bsu-barsa-table-header", inputs: { allChecked: "allChecked", isCheckList: "isCheckList", columns: "columns", fitWidth: "fitWidth", contextMenuItems: "contextMenuItems", contextMenuWidth: "contextMenuWidth", showViewButton: "showViewButton", hasSelected: "hasSelected", hideOpenIcon: "hideOpenIcon", disableOverflowContextMenu: "disableOverflowContextMenu", inlineEditMode: "inlineEditMode", hideHeader: "hideHeader", showDetailsInRow: "showDetailsInRow", viewSetting: "viewSetting", tableWidth: "tableWidth", resizedByUser: "resizedByUser", disableResponsive: "disableResponsive", rowIndicator: "rowIndicator", rtl: "rtl", deviceSize: "deviceSize", tableHeaderMode: "tableHeaderMode" }, outputs: { allCheckbox: "allCheckbox", columnResize: "columnResize", fitToContent: "fitToContent", fitToContainer: "fitToContainer", fitToColumn: "fitToColumn", sortAscending: "sortAscending", sortDescending: "sortDescending", filter: "filter" }, viewQueries: [{ propertyName: "thList", predicate: ["thRef"], descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<thead\n fd-table-header\n [class.inline-edit]=\"inlineEditMode\"\n [class.smallColumns]=\"columnsSmallerThanTableWidth\"\n [attr.columnsWidth]=\"columnsWidth\"\n [attr.tableWidth]=\"tableWidth\"\n>\n <tr fd-table-row>\n <ng-container *ngIf=\"!hideHeader\">\n <th *ngIf=\"rowIndicator\" fd-table-cell fd-table-status-indicator></th>\n <th fd-table-cell *ngIf=\"isCheckList\">\n <fd-checkbox\n name=\"allCheckbox\"\n [ngModel]=\"allChecked\"\n (ngModelChange)=\"onAllCheckbox($event)\"\n ></fd-checkbox>\n </th>\n <th fd-table-cell *ngIf=\"!isCheckList\" class=\"single-select\"></th>\n <ng-container *ngFor=\"let column of columns; let i = index; let last = last; trackBy: _trackByColumn\">\n <th\n *ngIf=\"startIndex <= i\"\n #thRef\n [columnIndex]=\"i\"\n fd-table-cell\n [style.width]=\"last ? null : column.FieldTypeId === 38 ? '40px' : column.$Width2 || column.$Width\"\n [style.min-width]=\"last ? null : inlineEditMode ? '210px' : last ? '100%' : 'auto'\"\n resizable\n [rtl]=\"rtl\"\n [disableResize]=\"last\"\n (widthChange)=\"onColumnWidthChange(column)\"\n (widthChanging)=\"onColumnWidthChanging(i, column, $event)\"\n [disableResponsive]=\"disableResponsive\"\n [tableWidth]=\"tableWidth\"\n [columnsWidth]=\"columnsWidth\"\n [attr.columnName]=\"column.Name\"\n [attr.index]=\"i\"\n [ngClass]=\"column.$CSSClassName + ' column__' + column.Caption\"\n [class.displayIcon]=\"column.Extra?.IconDisplayTypeEnum\"\n >\n <fd-popover #menu>\n <fd-popover-control>\n <div style=\"display: flex\">\n <!-- FieldTypeId 38 means it is auto row number field-->\n <img\n [src]=\"column.Icon\"\n *ngIf=\"\n (column.Extra?.IconDisplayTypeEnum === 'Image' || column.FieldTypeId === 42) &&\n column.Icon;\n else captionTpl\n \"\n />\n <ng-template #captionTpl>\n {{ column.Caption | bbbTranslate }}\n </ng-template>\n </div>\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item>\n <a fd-list-link (click)=\"onSortAscending(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"sort-ascending\"></fd-menu-addon>\n <span fd-list-title\n >{{ ('Sort' | bbbTranslate) + ' ' }} {{ 'Ascending' | bbbTranslate }}</span\n >\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"onSortDescending(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"sort-descending\"></fd-menu-addon>\n <span fd-list-title\n >{{ ('Sort' | bbbTranslate) + ' ' }} {{ 'Descending' | bbbTranslate }}</span\n >\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToContent.emit(column)\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('Fit Column To Content' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToContainer.emit()\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('All Columns In Page' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToColumn.emit()\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('Free Columns Size' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <!-- <li fd-list-item>\n <a fd-list-link (click)=\"onFilter(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"filter\"></fd-menu-addon>\n <span fd-list-title>{{ 'Filter' | bbbTranslate }}</span>\n </a>\n </li> -->\n </ul>\n </fd-popover-body>\n </fd-popover>\n </th>\n </ng-container>\n <ng-container *ngIf=\"contextMenuItems && contextMenuItems.length > 0 && !inlineEditMode\">\n <th\n class=\"col-header col-context-menu\"\n fd-table-cell\n [fitContent]=\"disableOverflowContextMenu\"\n [style.width.px]=\"contextMenuWidth\"\n ></th>\n </ng-container>\n <th\n class=\"col-header col-details\"\n [style.width]=\"deviceSize === 's' ? 'auto' : '120px'\"\n fd-table-cell\n *ngIf=\"showDetailsInRow && !inlineEditMode\"\n ></th>\n <th class=\"col-header col-view\" [style.width.px]=\"40\" fd-table-cell *ngIf=\"showViewButton\"></th>\n </ng-container>\n </tr>\n</thead>\n", styles: [":host{display:contents;width:100%}:host.has-toolbar thead{border-top:none!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6$1.CheckboxComponent, selector: "fd-checkbox", inputs: ["ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "values"], outputs: ["focusChange"] }, { kind: "component", type: i8.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline"], outputs: ["focusEscapeList"] }, { kind: "component", type: i8.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "directive", type: i8.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i8.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated"] }, { kind: "component", type: i6$3.MenuAddonDirective, selector: "fd-menu-addon", inputs: ["position", "glyph", "submenuIndicator", "ariaHidden"] }, { kind: "component", type: i7$2.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "component", type: i7$2.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "component", type: i7$2.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "directive", type: i4$2.TableHeaderDirective, selector: "[fdTableHeader], [fd-table-header]", inputs: ["noBorderX", "noBorderY"] }, { kind: "directive", type: i4$2.TableRowDirective, selector: "[fdTableRow], [fd-table-row]", inputs: ["activable", "highlightActive", "hoverable", "focusable", "main", "secondary", "active"] }, { kind: "directive", type: i4$2.TableCellDirective, selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "tabindex", "hoverable", "fitContent", "noPadding", "noData", "key", "cellFocusedEventAnnouncer"] }, { kind: "directive", type: i4$2.TableStatusIndicatorDirective, selector: "[fdTableStatusIndicator], [fd-table-status-indicator]", inputs: ["status"] }, { kind: "component", type: i2.ResizableComponent, selector: "th[resizable]", inputs: ["disableResize", "rtl"], outputs: ["widthChange", "widthChanging"] }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
5086
|
+
BarsaTableHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: BarsaTableHeaderComponent, selector: "bsu-barsa-table-header", inputs: { allChecked: "allChecked", isCheckList: "isCheckList", columns: "columns", fitWidth: "fitWidth", contextMenuItems: "contextMenuItems", contextMenuWidth: "contextMenuWidth", showViewButton: "showViewButton", hasSelected: "hasSelected", hideOpenIcon: "hideOpenIcon", disableOverflowContextMenu: "disableOverflowContextMenu", inlineEditMode: "inlineEditMode", hideHeader: "hideHeader", showDetailsInRow: "showDetailsInRow", viewSetting: "viewSetting", tableWidth: "tableWidth", resizedByUser: "resizedByUser", disableResponsive: "disableResponsive", rowIndicator: "rowIndicator", rtl: "rtl", deviceSize: "deviceSize", tableHeaderMode: "tableHeaderMode" }, outputs: { allCheckbox: "allCheckbox", columnResize: "columnResize", fitToContent: "fitToContent", fitToContainer: "fitToContainer", fitToColumn: "fitToColumn", sortAscending: "sortAscending", sortDescending: "sortDescending", filter: "filter" }, viewQueries: [{ propertyName: "thList", predicate: ["thRef"], descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<thead\n fd-table-header\n [class.inline-edit]=\"inlineEditMode\"\n [class.smallColumns]=\"columnsSmallerThanTableWidth\"\n [attr.columnsWidth]=\"columnsWidth\"\n [attr.tableWidth]=\"tableWidth\"\n>\n <tr fd-table-row>\n <ng-container *ngIf=\"!hideHeader\">\n <th *ngIf=\"rowIndicator\" fd-table-cell fd-table-status-indicator></th>\n <th fd-table-cell *ngIf=\"isCheckList\">\n <fd-checkbox\n name=\"allCheckbox\"\n [ngModel]=\"allChecked\"\n (ngModelChange)=\"onAllCheckbox($event)\"\n ></fd-checkbox>\n </th>\n <th fd-table-cell *ngIf=\"!isCheckList\" class=\"single-select\"></th>\n <ng-container *ngFor=\"let column of columns; let i = index; let last = last; trackBy: _trackByColumn\">\n <th\n *ngIf=\"startIndex <= i\"\n #thRef\n [columnIndex]=\"i\"\n fd-table-cell\n [style.width]=\"\n inlineEditMode\n ? '210px'\n : last\n ? null\n : column.FieldTypeId === 38\n ? '40px'\n : column.$Width2 || column.$Width\n \"\n [style.min-width]=\"last ? null : inlineEditMode ? '210px' : last ? '100%' : 'auto'\"\n resizable\n [rtl]=\"rtl\"\n [disableResize]=\"last\"\n (widthChange)=\"onColumnWidthChange(column)\"\n (widthChanging)=\"onColumnWidthChanging(i, column, $event)\"\n [disableResponsive]=\"disableResponsive\"\n [tableWidth]=\"tableWidth\"\n [columnsWidth]=\"columnsWidth\"\n [attr.columnName]=\"column.Name\"\n [attr.index]=\"i\"\n [ngClass]=\"column.$CSSClassName + ' column__' + column.Caption\"\n [class.displayIcon]=\"column.Extra?.IconDisplayTypeEnum\"\n >\n <fd-popover #menu>\n <fd-popover-control>\n <div style=\"display: flex\">\n <!-- FieldTypeId 38 means it is auto row number field-->\n <img\n [src]=\"column.Icon\"\n *ngIf=\"\n (column.Extra?.IconDisplayTypeEnum === 'Image' || column.FieldTypeId === 42) &&\n column.Icon;\n else captionTpl\n \"\n />\n <ng-template #captionTpl>\n {{ column.Caption | bbbTranslate }}\n </ng-template>\n </div>\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item>\n <a fd-list-link (click)=\"onSortAscending(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"sort-ascending\"></fd-menu-addon>\n <span fd-list-title\n >{{ ('Sort' | bbbTranslate) + ' ' }} {{ 'Ascending' | bbbTranslate }}</span\n >\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"onSortDescending(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"sort-descending\"></fd-menu-addon>\n <span fd-list-title\n >{{ ('Sort' | bbbTranslate) + ' ' }} {{ 'Descending' | bbbTranslate }}</span\n >\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToContent.emit(column)\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('Fit Column To Content' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToContainer.emit()\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('All Columns In Page' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToColumn.emit()\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('Free Columns Size' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <!-- <li fd-list-item>\n <a fd-list-link (click)=\"onFilter(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"filter\"></fd-menu-addon>\n <span fd-list-title>{{ 'Filter' | bbbTranslate }}</span>\n </a>\n </li> -->\n </ul>\n </fd-popover-body>\n </fd-popover>\n </th>\n </ng-container>\n <ng-container *ngIf=\"contextMenuItems && contextMenuItems.length > 0 && !inlineEditMode\">\n <th\n class=\"col-header col-context-menu\"\n fd-table-cell\n [fitContent]=\"disableOverflowContextMenu\"\n [style.width.px]=\"contextMenuWidth\"\n ></th>\n </ng-container>\n <th\n class=\"col-header col-details\"\n [style.width]=\"deviceSize === 's' ? 'auto' : '120px'\"\n fd-table-cell\n *ngIf=\"showDetailsInRow && !inlineEditMode\"\n ></th>\n <th class=\"col-header col-view\" [style.width.px]=\"40\" fd-table-cell *ngIf=\"showViewButton\"></th>\n </ng-container>\n </tr>\n</thead>\n", styles: [":host{display:contents;width:100%}:host.has-toolbar thead{border-top:none!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6$1.CheckboxComponent, selector: "fd-checkbox", inputs: ["ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "values"], outputs: ["focusChange"] }, { kind: "component", type: i8.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline"], outputs: ["focusEscapeList"] }, { kind: "component", type: i8.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "directive", type: i8.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i8.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated"] }, { kind: "component", type: i6$3.MenuAddonDirective, selector: "fd-menu-addon", inputs: ["position", "glyph", "submenuIndicator", "ariaHidden"] }, { kind: "component", type: i7$2.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "component", type: i7$2.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "component", type: i7$2.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "directive", type: i4$2.TableHeaderDirective, selector: "[fdTableHeader], [fd-table-header]", inputs: ["noBorderX", "noBorderY"] }, { kind: "directive", type: i4$2.TableRowDirective, selector: "[fdTableRow], [fd-table-row]", inputs: ["activable", "highlightActive", "hoverable", "focusable", "main", "secondary", "active"] }, { kind: "directive", type: i4$2.TableCellDirective, selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "tabindex", "hoverable", "fitContent", "noPadding", "noData", "key", "cellFocusedEventAnnouncer"] }, { kind: "directive", type: i4$2.TableStatusIndicatorDirective, selector: "[fdTableStatusIndicator], [fd-table-status-indicator]", inputs: ["status"] }, { kind: "component", type: i2.ResizableComponent, selector: "th[resizable]", inputs: ["disableResize", "rtl"], outputs: ["widthChange", "widthChanging"] }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
5087
5087
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BarsaTableHeaderComponent, decorators: [{
|
|
5088
5088
|
type: Component,
|
|
5089
|
-
args: [{ selector: 'bsu-barsa-table-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<thead\n fd-table-header\n [class.inline-edit]=\"inlineEditMode\"\n [class.smallColumns]=\"columnsSmallerThanTableWidth\"\n [attr.columnsWidth]=\"columnsWidth\"\n [attr.tableWidth]=\"tableWidth\"\n>\n <tr fd-table-row>\n <ng-container *ngIf=\"!hideHeader\">\n <th *ngIf=\"rowIndicator\" fd-table-cell fd-table-status-indicator></th>\n <th fd-table-cell *ngIf=\"isCheckList\">\n <fd-checkbox\n name=\"allCheckbox\"\n [ngModel]=\"allChecked\"\n (ngModelChange)=\"onAllCheckbox($event)\"\n ></fd-checkbox>\n </th>\n <th fd-table-cell *ngIf=\"!isCheckList\" class=\"single-select\"></th>\n <ng-container *ngFor=\"let column of columns; let i = index; let last = last; trackBy: _trackByColumn\">\n <th\n *ngIf=\"startIndex <= i\"\n #thRef\n [columnIndex]=\"i\"\n fd-table-cell\n [style.width]=\"last
|
|
5089
|
+
args: [{ selector: 'bsu-barsa-table-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<thead\n fd-table-header\n [class.inline-edit]=\"inlineEditMode\"\n [class.smallColumns]=\"columnsSmallerThanTableWidth\"\n [attr.columnsWidth]=\"columnsWidth\"\n [attr.tableWidth]=\"tableWidth\"\n>\n <tr fd-table-row>\n <ng-container *ngIf=\"!hideHeader\">\n <th *ngIf=\"rowIndicator\" fd-table-cell fd-table-status-indicator></th>\n <th fd-table-cell *ngIf=\"isCheckList\">\n <fd-checkbox\n name=\"allCheckbox\"\n [ngModel]=\"allChecked\"\n (ngModelChange)=\"onAllCheckbox($event)\"\n ></fd-checkbox>\n </th>\n <th fd-table-cell *ngIf=\"!isCheckList\" class=\"single-select\"></th>\n <ng-container *ngFor=\"let column of columns; let i = index; let last = last; trackBy: _trackByColumn\">\n <th\n *ngIf=\"startIndex <= i\"\n #thRef\n [columnIndex]=\"i\"\n fd-table-cell\n [style.width]=\"\n inlineEditMode\n ? '210px'\n : last\n ? null\n : column.FieldTypeId === 38\n ? '40px'\n : column.$Width2 || column.$Width\n \"\n [style.min-width]=\"last ? null : inlineEditMode ? '210px' : last ? '100%' : 'auto'\"\n resizable\n [rtl]=\"rtl\"\n [disableResize]=\"last\"\n (widthChange)=\"onColumnWidthChange(column)\"\n (widthChanging)=\"onColumnWidthChanging(i, column, $event)\"\n [disableResponsive]=\"disableResponsive\"\n [tableWidth]=\"tableWidth\"\n [columnsWidth]=\"columnsWidth\"\n [attr.columnName]=\"column.Name\"\n [attr.index]=\"i\"\n [ngClass]=\"column.$CSSClassName + ' column__' + column.Caption\"\n [class.displayIcon]=\"column.Extra?.IconDisplayTypeEnum\"\n >\n <fd-popover #menu>\n <fd-popover-control>\n <div style=\"display: flex\">\n <!-- FieldTypeId 38 means it is auto row number field-->\n <img\n [src]=\"column.Icon\"\n *ngIf=\"\n (column.Extra?.IconDisplayTypeEnum === 'Image' || column.FieldTypeId === 42) &&\n column.Icon;\n else captionTpl\n \"\n />\n <ng-template #captionTpl>\n {{ column.Caption | bbbTranslate }}\n </ng-template>\n </div>\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item>\n <a fd-list-link (click)=\"onSortAscending(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"sort-ascending\"></fd-menu-addon>\n <span fd-list-title\n >{{ ('Sort' | bbbTranslate) + ' ' }} {{ 'Ascending' | bbbTranslate }}</span\n >\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"onSortDescending(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"sort-descending\"></fd-menu-addon>\n <span fd-list-title\n >{{ ('Sort' | bbbTranslate) + ' ' }} {{ 'Descending' | bbbTranslate }}</span\n >\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToContent.emit(column)\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('Fit Column To Content' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToContainer.emit()\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('All Columns In Page' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <li fd-list-item>\n <a fd-list-link (click)=\"menu.close(); fitToColumn.emit()\">\n <fd-menu-addon position=\"before\"></fd-menu-addon>\n <span fd-list-title>{{ ('Free Columns Size' | bbbTranslate) + ' ' }}</span>\n </a>\n </li>\n <!-- <li fd-list-item>\n <a fd-list-link (click)=\"onFilter(column, menu)\">\n <fd-menu-addon position=\"before\" glyph=\"filter\"></fd-menu-addon>\n <span fd-list-title>{{ 'Filter' | bbbTranslate }}</span>\n </a>\n </li> -->\n </ul>\n </fd-popover-body>\n </fd-popover>\n </th>\n </ng-container>\n <ng-container *ngIf=\"contextMenuItems && contextMenuItems.length > 0 && !inlineEditMode\">\n <th\n class=\"col-header col-context-menu\"\n fd-table-cell\n [fitContent]=\"disableOverflowContextMenu\"\n [style.width.px]=\"contextMenuWidth\"\n ></th>\n </ng-container>\n <th\n class=\"col-header col-details\"\n [style.width]=\"deviceSize === 's' ? 'auto' : '120px'\"\n fd-table-cell\n *ngIf=\"showDetailsInRow && !inlineEditMode\"\n ></th>\n <th class=\"col-header col-view\" [style.width.px]=\"40\" fd-table-cell *ngIf=\"showViewButton\"></th>\n </ng-container>\n </tr>\n</thead>\n", styles: [":host{display:contents;width:100%}:host.has-toolbar thead{border-top:none!important}\n"] }]
|
|
5090
5090
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { thList: [{
|
|
5091
5091
|
type: ViewChildren,
|
|
5092
5092
|
args: ['thRef', { read: ElementRef }]
|