@po-ui/ng-components 16.2.0 → 16.2.1
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/esm2022/lib/components/po-list-view/po-list-view.component.mjs +4 -4
- package/fesm2022/po-ui-ng-components.mjs +3 -3
- package/fesm2022/po-ui-ng-components.mjs.map +1 -1
- package/lib/components/po-field/po-switch/po-switch.component.d.ts +1 -1
- package/lib/components/po-modal/po-modal.component.d.ts +1 -1
- package/package.json +4 -4
- package/po-ui-ng-components-16.2.1.tgz +0 -0
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-update/v14/index.js +1 -1
- package/schematics/ng-update/v15/index.js +1 -1
- package/schematics/ng-update/v16/index.js +1 -1
- package/schematics/ng-update/v2/index.js +1 -1
- package/schematics/ng-update/v3/index.js +1 -1
- package/schematics/ng-update/v4/index.js +1 -1
- package/schematics/ng-update/v5/index.js +1 -1
- package/schematics/ng-update/v6/index.js +1 -1
- package/po-ui-ng-components-16.2.0.tgz +0 -0
|
@@ -92,7 +92,7 @@ function PoListViewComponent_ng_container_4_div_9_po_button_1_Template(rf, ctx)
|
|
|
92
92
|
const action_r41 = ctx.$implicit;
|
|
93
93
|
const item_r9 = i0.ɵɵnextContext(2).$implicit;
|
|
94
94
|
const ctx_r40 = i0.ɵɵnextContext();
|
|
95
|
-
i0.ɵɵproperty("p-disabled", ctx_r40.returnBooleanValue(action_r41, item_r9, "disabled"))("p-icon", action_r41.icon)("p-label", action_r41.label)("p-
|
|
95
|
+
i0.ɵɵproperty("p-disabled", ctx_r40.returnBooleanValue(action_r41, item_r9, "disabled"))("p-icon", action_r41.icon)("p-label", action_r41.label)("p-danger", action_r41.type === "danger");
|
|
96
96
|
} }
|
|
97
97
|
function PoListViewComponent_ng_container_4_div_9_Template(rf, ctx) { if (rf & 1) {
|
|
98
98
|
i0.ɵɵelementStart(0, "div", 30);
|
|
@@ -320,7 +320,7 @@ export class PoListViewComponent extends PoListViewBaseComponent {
|
|
|
320
320
|
} if (rf & 2) {
|
|
321
321
|
let _t;
|
|
322
322
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.poPopupComponent = _t.first);
|
|
323
|
-
} }, features: [i0.ɵɵInheritDefinitionFeature], decls: 8, vars: 13, consts: [["class", "po-list-view-main-header", 4, "ngIf"], [1, "po-list-view-main-content"], [3, "p-no-padding", 4, "ngIf"], [4, "ngFor", "ngForOf", "ngForTrackBy"], ["class", "po-mb-2 po-text-center", 4, "ngIf"], [3, "p-actions", "p-target"], ["popup", ""], [1, "po-list-view-main-header"], [1, "po-checkbox-group-item"], [1, "po-list-view-main-select"], ["name", "selectAll", 3, "ngModel", "p-label", "ngModelChange", "p-change", "click"], [3, "p-no-padding"], [1, "po-list-view-container-no-data", "po-text-center"], [1, "po-list-view-container"], [1, "po-list-view-header"], [1, "po-list-view-title", 3, "ngSwitch"], ["class", "po-list-view-select", 4, "ngIf"], ["class", "po-list-view-title-link", "target", "_blank", 3, "href", "click", 4, "ngSwitchCase"], ["class", "po-list-view-title-link", 3, "routerLink", "click", 4, "ngSwitchCase"], ["class", "po-list-view-title-no-link", 3, "po-list-view-title-link", "click", 4, "ngSwitchCase"], ["class", "po-list-view-actions", 4, "ngIf"], ["class", "po-list-view-more-actions", 4, "ngIf"], ["class", "po-list-view-content", 4, "ngIf"], ["class", "po-list-view-detail", 4, "ngIf"], ["class", "po-list-view-detail-button", 4, "ngIf"], [1, "po-list-view-select"], ["name", "checkbox", 3, "ngModel", "ngModelChange", "p-change", "click"], ["target", "_blank", 1, "po-list-view-title-link", 3, "href", "click"], [1, "po-list-view-title-link", 3, "routerLink", "click"], [1, "po-list-view-title-no-link", 3, "click"], [1, "po-list-view-actions"], [3, "p-disabled", "p-icon", "p-label", "p-
|
|
323
|
+
} }, features: [i0.ɵɵInheritDefinitionFeature], decls: 8, vars: 13, consts: [["class", "po-list-view-main-header", 4, "ngIf"], [1, "po-list-view-main-content"], [3, "p-no-padding", 4, "ngIf"], [4, "ngFor", "ngForOf", "ngForTrackBy"], ["class", "po-mb-2 po-text-center", 4, "ngIf"], [3, "p-actions", "p-target"], ["popup", ""], [1, "po-list-view-main-header"], [1, "po-checkbox-group-item"], [1, "po-list-view-main-select"], ["name", "selectAll", 3, "ngModel", "p-label", "ngModelChange", "p-change", "click"], [3, "p-no-padding"], [1, "po-list-view-container-no-data", "po-text-center"], [1, "po-list-view-container"], [1, "po-list-view-header"], [1, "po-list-view-title", 3, "ngSwitch"], ["class", "po-list-view-select", 4, "ngIf"], ["class", "po-list-view-title-link", "target", "_blank", 3, "href", "click", 4, "ngSwitchCase"], ["class", "po-list-view-title-link", 3, "routerLink", "click", 4, "ngSwitchCase"], ["class", "po-list-view-title-no-link", 3, "po-list-view-title-link", "click", 4, "ngSwitchCase"], ["class", "po-list-view-actions", 4, "ngIf"], ["class", "po-list-view-more-actions", 4, "ngIf"], ["class", "po-list-view-content", 4, "ngIf"], ["class", "po-list-view-detail", 4, "ngIf"], ["class", "po-list-view-detail-button", 4, "ngIf"], [1, "po-list-view-select"], ["name", "checkbox", 3, "ngModel", "ngModelChange", "p-change", "click"], ["target", "_blank", 1, "po-list-view-title-link", 3, "href", "click"], [1, "po-list-view-title-link", 3, "routerLink", "click"], [1, "po-list-view-title-no-link", 3, "click"], [1, "po-list-view-actions"], [3, "p-disabled", "p-icon", "p-label", "p-danger", "p-click", 4, "ngFor", "ngForOf"], [3, "p-disabled", "p-icon", "p-label", "p-danger", "p-click"], [1, "po-list-view-more-actions"], [1, "po-icon", "po-icon-more", "po-list-view-more-icon", "po-clickable", 3, "click"], ["popupTarget", ""], [1, "po-list-view-content"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "po-list-view-detail"], [1, "po-list-view-detail-button"], ["p-kind", "tertiary", 3, "p-label", "p-click"], [1, "po-mb-2", "po-text-center"], [3, "p-disabled", "p-label", "p-click"]], template: function PoListViewComponent_Template(rf, ctx) { if (rf & 1) {
|
|
324
324
|
i0.ɵɵelementStart(0, "div");
|
|
325
325
|
i0.ɵɵtemplate(1, PoListViewComponent_div_1_Template, 4, 2, "div", 0);
|
|
326
326
|
i0.ɵɵelementStart(2, "div", 1);
|
|
@@ -360,7 +360,7 @@ export class PoListViewComponent extends PoListViewBaseComponent {
|
|
|
360
360
|
transition('* => void', [style({ height: '*', 'overflow-y': 'hidden' }), animate(100, style({ height: 0 }))]),
|
|
361
361
|
transition('void => *', [style({ height: '0' }), animate(100, style({ height: '*' }))])
|
|
362
362
|
])
|
|
363
|
-
], template: "<div\n [class.po-list-view-main-container-header]=\"showHeader\"\n [class.po-list-view-main-container]=\"!showHeader\"\n [style.height.px]=\"height\"\n>\n <div *ngIf=\"showHeader\" class=\"po-list-view-main-header\">\n <div class=\"po-checkbox-group-item\">\n <div class=\"po-list-view-main-select\">\n <po-checkbox\n name=\"selectAll\"\n [(ngModel)]=\"selectAll\"\n [p-label]=\"literals.selectAll\"\n (p-change)=\"selectAllListItems()\"\n (click)=\"selectAllListItems()\"\n ></po-checkbox>\n </div>\n </div>\n </div>\n\n <div class=\"po-list-view-main-content\">\n <po-container [p-no-padding]=\"true\" *ngIf=\"!hasItems()\">\n <div class=\"po-list-view-container-no-data po-text-center\">\n <span> {{ literals.noData }} </span>\n </div>\n </po-container>\n\n <ng-container *ngFor=\"let item of items; let index = index; trackBy: trackBy\">\n <po-container [p-no-padding]=\"true\">\n <div class=\"po-list-view-container\">\n <div class=\"po-list-view-header\">\n <div class=\"po-list-view-title\" [ngSwitch]=\"checkTitleType(item)\">\n <div *ngIf=\"select\" class=\"po-list-view-select\">\n <po-checkbox\n [(ngModel)]=\"item.$selected\"\n name=\"checkbox\"\n (p-change)=\"selectListItem(item)\"\n (click)=\"selectListItem(item)\"\n ></po-checkbox>\n </div>\n <a\n *ngSwitchCase=\"'externalLink'\"\n class=\"po-list-view-title-link\"\n target=\"_blank\"\n [href]=\"item[propertyLink]\"\n (click)=\"runTitleAction(item)\"\n >\n {{ getItemTitle(item) }}\n </a>\n <a\n *ngSwitchCase=\"'internalLink'\"\n class=\"po-list-view-title-link\"\n [routerLink]=\"item[propertyLink]\"\n (click)=\"runTitleAction(item)\"\n >\n {{ getItemTitle(item) }}\n </a>\n <span\n *ngSwitchCase=\"'noLink'\"\n class=\"po-list-view-title-no-link\"\n [class.po-list-view-title-link]=\"titleHasAction\"\n (click)=\"titleHasAction && runTitleAction(item)\"\n >\n {{ getItemTitle(item) }}\n </span>\n </div>\n\n <div *ngIf=\"showButtonsActions\" class=\"po-list-view-actions\">\n <po-button\n *ngFor=\"let action of visibleActions\"\n [p-disabled]=\"returnBooleanValue(action, item, 'disabled')\"\n [p-icon]=\"action.icon\"\n [p-label]=\"action.label\"\n [p-
|
|
363
|
+
], template: "<div\n [class.po-list-view-main-container-header]=\"showHeader\"\n [class.po-list-view-main-container]=\"!showHeader\"\n [style.height.px]=\"height\"\n>\n <div *ngIf=\"showHeader\" class=\"po-list-view-main-header\">\n <div class=\"po-checkbox-group-item\">\n <div class=\"po-list-view-main-select\">\n <po-checkbox\n name=\"selectAll\"\n [(ngModel)]=\"selectAll\"\n [p-label]=\"literals.selectAll\"\n (p-change)=\"selectAllListItems()\"\n (click)=\"selectAllListItems()\"\n ></po-checkbox>\n </div>\n </div>\n </div>\n\n <div class=\"po-list-view-main-content\">\n <po-container [p-no-padding]=\"true\" *ngIf=\"!hasItems()\">\n <div class=\"po-list-view-container-no-data po-text-center\">\n <span> {{ literals.noData }} </span>\n </div>\n </po-container>\n\n <ng-container *ngFor=\"let item of items; let index = index; trackBy: trackBy\">\n <po-container [p-no-padding]=\"true\">\n <div class=\"po-list-view-container\">\n <div class=\"po-list-view-header\">\n <div class=\"po-list-view-title\" [ngSwitch]=\"checkTitleType(item)\">\n <div *ngIf=\"select\" class=\"po-list-view-select\">\n <po-checkbox\n [(ngModel)]=\"item.$selected\"\n name=\"checkbox\"\n (p-change)=\"selectListItem(item)\"\n (click)=\"selectListItem(item)\"\n ></po-checkbox>\n </div>\n <a\n *ngSwitchCase=\"'externalLink'\"\n class=\"po-list-view-title-link\"\n target=\"_blank\"\n [href]=\"item[propertyLink]\"\n (click)=\"runTitleAction(item)\"\n >\n {{ getItemTitle(item) }}\n </a>\n <a\n *ngSwitchCase=\"'internalLink'\"\n class=\"po-list-view-title-link\"\n [routerLink]=\"item[propertyLink]\"\n (click)=\"runTitleAction(item)\"\n >\n {{ getItemTitle(item) }}\n </a>\n <span\n *ngSwitchCase=\"'noLink'\"\n class=\"po-list-view-title-no-link\"\n [class.po-list-view-title-link]=\"titleHasAction\"\n (click)=\"titleHasAction && runTitleAction(item)\"\n >\n {{ getItemTitle(item) }}\n </span>\n </div>\n\n <div *ngIf=\"showButtonsActions\" class=\"po-list-view-actions\">\n <po-button\n *ngFor=\"let action of visibleActions\"\n [p-disabled]=\"returnBooleanValue(action, item, 'disabled')\"\n [p-icon]=\"action.icon\"\n [p-label]=\"action.label\"\n [p-danger]=\"action.type === 'danger'\"\n (p-click)=\"onClickAction(action, item)\"\n >\n </po-button>\n </div>\n\n <div *ngIf=\"showPopupActions\" class=\"po-list-view-more-actions\">\n <span\n #popupTarget\n class=\"po-icon po-icon-more po-list-view-more-icon po-clickable\"\n (click)=\"togglePopup(item, popupTarget)\"\n >\n </span>\n </div>\n </div>\n\n <div *ngIf=\"hasContentTemplate\" class=\"po-list-view-content\">\n <ng-template\n [ngTemplateOutlet]=\"listViewContentTemplate.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: index }\"\n >\n </ng-template>\n </div>\n\n <div\n @showHideDetail\n (@showHideDetail.start)=\"item.$showDetail ? onAnimationEvent($event, item) : 'undefined'\"\n *ngIf=\"hasDetailTemplate && item.$showDetail\"\n class=\"po-list-view-detail\"\n >\n <ng-template\n [ngTemplateOutlet]=\"listViewDetailTemplate.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: index }\"\n >\n </ng-template>\n </div>\n </div>\n\n <div *ngIf=\"hasDetailTemplate\" class=\"po-list-view-detail-button\">\n <po-button\n p-kind=\"tertiary\"\n [p-label]=\"item.$showDetail ? literals.hideDetails : literals.showDetails\"\n (p-click)=\"item.$showDetail = !item.$showDetail\"\n >\n </po-button>\n </div>\n </po-container>\n </ng-container>\n </div>\n</div>\n\n<div *ngIf=\"displayShowMoreButton\" class=\"po-mb-2 po-text-center\">\n <po-button [p-disabled]=\"showMoreDisabled\" [p-label]=\"literals.loadMoreData\" (p-click)=\"onShowMore()\"> </po-button>\n</div>\n\n<po-popup #popup [p-actions]=\"actions\" [p-target]=\"popupTarget\"> </po-popup>\n" }]
|
|
364
364
|
}], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.IterableDiffers }, { type: i1.PoLanguageService }]; }, { listViewContentTemplate: [{
|
|
365
365
|
type: ContentChild,
|
|
366
366
|
args: [PoListViewContentTemplateDirective, { static: true }]
|
|
@@ -371,4 +371,4 @@ export class PoListViewComponent extends PoListViewBaseComponent {
|
|
|
371
371
|
type: ViewChild,
|
|
372
372
|
args: ['popup', { static: true }]
|
|
373
373
|
}] }); })();
|
|
374
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbGlzdC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1saXN0LXZpZXcvcG8tbGlzdC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1saXN0LXZpZXcvcG8tbGlzdC12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUdMLFNBQVMsRUFDVCxZQUFZLEVBR1osU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUs1QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUM3SCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx1RUFBdUUsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ2J4SCw4QkFBeUQsYUFBQSxhQUFBLHNCQUFBO0lBS2pELHdPQUF1Qiw4SkFFWCxlQUFBLDJCQUFvQixDQUFBLElBRlQsd0pBR2QsZUFBQSwyQkFBb0IsQ0FBQSxJQUhOO0lBSXhCLGlCQUFjLEVBQUEsRUFBQSxFQUFBOzs7SUFKYixlQUF1QjtJQUF2QiwwQ0FBdUIsc0NBQUE7OztJQVU3Qix3Q0FBd0QsY0FBQSxXQUFBO0lBRTdDLFlBQXNCO0lBQUEsaUJBQU8sRUFBQSxFQUFBOzs7SUFGMUIsbUNBQXFCO0lBRXhCLGVBQXNCO0lBQXRCLHVEQUFzQjs7OztJQVN2QiwrQkFBZ0Qsc0JBQUE7SUFFNUMsc05B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d0JBQ3hCLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7d0JBQzlDLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7d0JBQ2hELFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUM3RyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQ3hGLENBQUM7aUJBQ0g7a0lBSUQsdUJBQXVCO2tCQUR0QixZQUFZO21CQUFDLGtDQUFrQyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUdsRSxzQkFBc0I7a0JBRHJCLFlBQVk7bUJBQUMsaUNBQWlDLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBRzNCLGdCQUFnQjtrQkFBckQsU0FBUzttQkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIERvQ2hlY2ssXG4gIEl0ZXJhYmxlRGlmZmVycyxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBpc1R5cGVvZiB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWwnO1xuaW1wb3J0IHsgUG9MYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wby1sYW5ndWFnZS9wby1sYW5ndWFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFBvUG9wdXBDb21wb25lbnQgfSBmcm9tICcuLi9wby1wb3B1cC9wby1wb3B1cC5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBQb0xpc3RWaWV3QWN0aW9uIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLWxpc3Qtdmlldy1hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvTGlzdFZpZXdCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1saXN0LXZpZXctYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9MaXN0Vmlld0NvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vcG8tbGlzdC12aWV3LWNvbnRlbnQtdGVtcGxhdGUvcG8tbGlzdC12aWV3LWNvbnRlbnQtdGVtcGxhdGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IFBvTGlzdFZpZXdEZXRhaWxUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vcG8tbGlzdC12aWV3LWRldGFpbC10ZW1wbGF0ZS9wby1saXN0LXZpZXctZGV0YWlsLXRlbXBsYXRlLmRpcmVjdGl2ZSc7XG5cbi8qKlxuICogQGRvY3NFeHRlbmRzIFBvTGlzdFZpZXdCYXNlQ29tcG9uZW50XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tbGlzdC12aWV3LWJhc2ljXCIgdGl0bGU9XCJQTyBMaXN0IFZpZXcgQmFzaWNcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxpc3Qtdmlldy1iYXNpYy9zYW1wbGUtcG8tbGlzdC12aWV3LWJhc2ljLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxpc3Qtdmlldy1iYXNpYy9zYW1wbGUtcG8tbGlzdC12aWV3LWJhc2ljLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLWxpc3Qtdmlldy1sYWJzXCIgdGl0bGU9XCJQTyBMaXN0IFZpZXcgTGFic1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbGlzdC12aWV3LWxhYnMvc2FtcGxlLXBvLWxpc3Qtdmlldy1sYWJzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxpc3Qtdmlldy1sYWJzL3NhbXBsZS1wby1saXN0LXZpZXctbGFicy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1saXN0LXZpZXctaGlyaW5nLXByb2Nlc3Nlc1wiIHRpdGxlPVwiUE8gTGlzdCBWaWV3IC0gSGlyaW5nIFByb2Nlc3Nlc1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbGlzdC12aWV3LWhpcmluZy1wcm9jZXNzZXMvc2FtcGxlLXBvLWxpc3Qtdmlldy1oaXJpbmctcHJvY2Vzc2VzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxpc3Qtdmlldy1oaXJpbmctcHJvY2Vzc2VzL3NhbXBsZS1wby1saXN0LXZpZXctaGlyaW5nLXByb2Nlc3Nlcy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbGlzdC12aWV3LWhpcmluZy1wcm9jZXNzZXMvc2FtcGxlLXBvLWxpc3Qtdmlldy1oaXJpbmctcHJvY2Vzc2VzLnNlcnZpY2UudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1saXN0LXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tbGlzdC12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ3Nob3dIaWRlRGV0YWlsJywgW1xuICAgICAgc3RhdGUoJyonLCBzdHlsZSh7ICdvdmVyZmxvdy15JzogJ3Zpc2libGUnIH0pKSxcbiAgICAgIHN0YXRlKCd2b2lkJywgc3R5bGUoeyAnb3ZlcmZsb3cteSc6ICdoaWRkZW4nIH0pKSxcbiAgICAgIHRyYW5zaXRpb24oJyogPT4gdm9pZCcsIFtzdHlsZSh7IGhlaWdodDogJyonLCAnb3ZlcmZsb3cteSc6ICdoaWRkZW4nIH0pLCBhbmltYXRlKDEwMCwgc3R5bGUoeyBoZWlnaHQ6IDAgfSkpXSksXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBbc3R5bGUoeyBoZWlnaHQ6ICcwJyB9KSwgYW5pbWF0ZSgxMDAsIHN0eWxlKHsgaGVpZ2h0OiAnKicgfSkpXSlcbiAgICBdKVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFBvTGlzdFZpZXdDb21wb25lbnQgZXh0ZW5kcyBQb0xpc3RWaWV3QmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIERvQ2hlY2sge1xuICBAQ29udGVudENoaWxkKFBvTGlzdFZpZXdDb250ZW50VGVtcGxhdGVEaXJlY3RpdmUsIHsgc3RhdGljOiB0cnVlIH0pXG4gIGxpc3RWaWV3Q29udGVudFRlbXBsYXRlOiBQb0xpc3RWaWV3Q29udGVudFRlbXBsYXRlRGlyZWN0aXZlO1xuICBAQ29udGVudENoaWxkKFBvTGlzdFZpZXdEZXRhaWxUZW1wbGF0ZURpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUgfSlcbiAgbGlzdFZpZXdEZXRhaWxUZW1wbGF0ZTogUG9MaXN0Vmlld0RldGFpbFRlbXBsYXRlRGlyZWN0aXZlO1xuXG4gIEBWaWV3Q2hpbGQoJ3BvcHVwJywgeyBzdGF0aWM6IHRydWUgfSkgcG9Qb3B1cENvbXBvbmVudDogUG9Qb3B1cENvbXBvbmVudDtcblxuICBwcml2YXRlIGRpZmZlcjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZiwgZGlmZmVyczogSXRlcmFibGVEaWZmZXJzLCBsYW5ndWFnZVNlcnZpY2U6IFBvTGFuZ3VhZ2VTZXJ2aWNlKSB7XG4gICAgc3VwZXIobGFuZ3VhZ2VTZXJ2aWNlKTtcbiAgICB0aGlzLmRpZmZlciA9IGRpZmZlcnMuZmluZChbXSkuY3JlYXRlKG51bGwpO1xuICB9XG5cbiAgZ2V0IGhhc0NvbnRlbnRUZW1wbGF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmxpc3RWaWV3Q29udGVudFRlbXBsYXRlO1xuICB9XG5cbiAgZ2V0IGhhc0RldGFpbFRlbXBsYXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMubGlzdFZpZXdEZXRhaWxUZW1wbGF0ZTtcbiAgfVxuXG4gIGdldCBkaXNwbGF5U2hvd01vcmVCdXR0b24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMgJiYgdGhpcy5pdGVtcy5sZW5ndGggPiAwICYmIHRoaXMuc2hvd01vcmUub2JzZXJ2ZXJzLmxlbmd0aCA+IDA7XG4gIH1cblxuICBnZXQgc2hvd0J1dHRvbnNBY3Rpb25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZpc2libGVBY3Rpb25zICYmIHRoaXMudmlzaWJsZUFjdGlvbnMubGVuZ3RoID4gMCAmJiB0aGlzLnZpc2libGVBY3Rpb25zLmxlbmd0aCA8PSAyO1xuICB9XG5cbiAgZ2V0IHNob3dQb3B1cEFjdGlvbnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZUFjdGlvbnMgJiYgdGhpcy52aXNpYmxlQWN0aW9ucy5sZW5ndGggPiAyO1xuICB9XG5cbiAgZ2V0IHRpdGxlSGFzQWN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRpdGxlQWN0aW9uLm9ic2VydmVycy5sZW5ndGggPiAwO1xuICB9XG5cbiAgZ2V0IHZpc2libGVBY3Rpb25zKCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmFjdGlvbnMgJiZcbiAgICAgIHRoaXMuYWN0aW9ucy5maWx0ZXIoYWN0aW9uID0+IHRoaXMucmV0dXJuQm9vbGVhblZhbHVlKGFjdGlvbiwgYWN0aW9uLnZpc2libGUsICd2aXNpYmxlJykgIT09IGZhbHNlKVxuICAgICk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0U2hvd0RldGFpbCgpO1xuICB9XG5cbiAgbmdEb0NoZWNrKCkge1xuICAgIHRoaXMuY2hlY2tJdGVtc0NoYW5nZSgpO1xuICB9XG5cbiAgY2hlY2tUaXRsZVR5cGUoaXRlbTogYW55KSB7XG4gICAgaWYgKHRoaXMucHJvcGVydHlMaW5rICYmIGl0ZW1bdGhpcy5wcm9wZXJ0eUxpbmtdKSB7XG4gICAgICByZXR1cm4gaXRlbVt0aGlzLnByb3BlcnR5TGlua10uc3RhcnRzV2l0aCgnaHR0cCcpID8gJ2V4dGVybmFsTGluaycgOiAnaW50ZXJuYWxMaW5rJztcbiAgICB9XG5cbiAgICByZXR1cm4gJ25vTGluayc7XG4gIH1cblxuICBnZXRJdGVtVGl0bGUoaXRlbSkge1xuICAgIHJldHVybiB0aGlzLmhhc0NvbnRlbnRUZW1wbGF0ZSAmJiB0aGlzLmxpc3RWaWV3Q29udGVudFRlbXBsYXRlLnRpdGxlXG4gICAgICA/IHRoaXMubGlzdFZpZXdDb250ZW50VGVtcGxhdGUudGl0bGUoaXRlbSlcbiAgICAgIDogaXRlbVt0aGlzLnByb3BlcnR5VGl0bGVdO1xuICB9XG5cbiAgaGFzSXRlbXMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMgJiYgdGhpcy5pdGVtcy5sZW5ndGggPiAwO1xuICB9XG5cbiAgcmV0dXJuQm9vbGVhblZhbHVlKGxpc3RWaWV3QWN0aW9uOiBQb0xpc3RWaWV3QWN0aW9uLCBpdGVtOiBhbnksIHByb3BlcnR5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gaXNUeXBlb2YobGlzdFZpZXdBY3Rpb25bcHJvcGVydHldLCAnZnVuY3Rpb24nKVxuICAgICAgPyAoPGFueT5saXN0Vmlld0FjdGlvbilbcHJvcGVydHldKGl0ZW0pXG4gICAgICA6IGxpc3RWaWV3QWN0aW9uW3Byb3BlcnR5XTtcbiAgfVxuXG4gIHRyYWNrQnkoaW5kZXgpIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICB0b2dnbGVQb3B1cChpdGVtLCB0YXJnZXRSZWY6IEhUTUxFbGVtZW50KSB7XG4gICAgdGhpcy5wb3B1cFRhcmdldCA9IHRhcmdldFJlZjtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcblxuICAgIHRoaXMucG9Qb3B1cENvbXBvbmVudC50b2dnbGUoaXRlbSk7XG4gIH1cblxuICBvbkFuaW1hdGlvbkV2ZW50KGV2ZW50OiBBbmltYXRpb25FdmVudCwgZGV0YWlsKSB7XG4gICAgdGhpcy5zaG93RGV0YWlsLmVtaXQoZGV0YWlsKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tJdGVtc0NoYW5nZSgpIHtcbiAgICBjb25zdCBjaGFuZ2VzSXRlbXMgPSB0aGlzLmRpZmZlci5kaWZmKHRoaXMuaXRlbXMpO1xuXG4gICAgaWYgKGNoYW5nZXNJdGVtcyAmJiB0aGlzLnNlbGVjdEFsbCkge1xuICAgICAgdGhpcy5zZWxlY3RBbGwgPSBudWxsO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzSXRlbXMgJiYgdGhpcy5pdGVtcyAmJiB0aGlzLml0ZW1zLmxlbmd0aCAmJiB0aGlzLnNlbGVjdCAmJiAhdGhpcy5oaWRlU2VsZWN0QWxsKSB7XG4gICAgICB0aGlzLnNob3dIZWFkZXIgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdFNob3dEZXRhaWwoKSB7XG4gICAgaWYgKHRoaXMuaXRlbXMgJiYgdGhpcy5pdGVtcy5sZW5ndGggPiAwICYmIHRoaXMuaGFzRGV0YWlsVGVtcGxhdGUgJiYgdGhpcy5saXN0Vmlld0RldGFpbFRlbXBsYXRlLnNob3dEZXRhaWwpIHtcbiAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaChpdGVtID0+IChpdGVtLiRzaG93RGV0YWlsID0gdGhpcy5saXN0Vmlld0RldGFpbFRlbXBsYXRlLnNob3dEZXRhaWwoaXRlbSkpKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgW2NsYXNzLnBvLWxpc3Qtdmlldy1tYWluLWNvbnRhaW5lci1oZWFkZXJdPVwic2hvd0hlYWRlclwiXG4gIFtjbGFzcy5wby1saXN0LXZpZXctbWFpbi1jb250YWluZXJdPVwiIXNob3dIZWFkZXJcIlxuICBbc3R5bGUuaGVpZ2h0LnB4XT1cImhlaWdodFwiXG4+XG4gIDxkaXYgKm5nSWY9XCJzaG93SGVhZGVyXCIgY2xhc3M9XCJwby1saXN0LXZpZXctbWFpbi1oZWFkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwicG8tY2hlY2tib3gtZ3JvdXAtaXRlbVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInBvLWxpc3Qtdmlldy1tYWluLXNlbGVjdFwiPlxuICAgICAgICA8cG8tY2hlY2tib3hcbiAgICAgICAgICBuYW1lPVwic2VsZWN0QWxsXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdEFsbFwiXG4gICAgICAgICAgW3AtbGFiZWxdPVwibGl0ZXJhbHMuc2VsZWN0QWxsXCJcbiAgICAgICAgICAocC1jaGFuZ2UpPVwic2VsZWN0QWxsTGlzdEl0ZW1zKClcIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3RBbGxMaXN0SXRlbXMoKVwiXG4gICAgICAgID48L3BvLWNoZWNrYm94PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJwby1saXN0LXZpZXctbWFpbi1jb250ZW50XCI+XG4gICAgPHBvLWNvbnRhaW5lciBbcC1uby1wYWRkaW5nXT1cInRydWVcIiAqbmdJZj1cIiFoYXNJdGVtcygpXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicG8tbGlzdC12aWV3LWNvbnRhaW5lci1uby1kYXRhIHBvLXRleHQtY2VudGVyXCI+XG4gICAgICAgIDxzcGFuPiB7eyBsaXRlcmFscy5ub0RhdGEgfX0gPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9wby1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBsZXQgaW5kZXggPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeVwiPlxuICAgICAgPHBvLWNvbnRhaW5lciBbcC1uby1wYWRkaW5nXT1cInRydWVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBvLWxpc3Qtdmlldy1jb250YWluZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicG8tbGlzdC12aWV3LWhlYWRlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvLWxpc3Qtdmlldy10aXRsZVwiIFtuZ1N3aXRjaF09XCJjaGVja1RpdGxlVHlwZShpdGVtKVwiPlxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2VsZWN0XCIgY2xhc3M9XCJwby1saXN0LXZpZXctc2VsZWN0XCI+XG4gICAgICAgICAgICAgICAgPHBvLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIml0ZW0uJHNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAocC1jaGFuZ2UpPVwic2VsZWN0TGlzdEl0ZW0oaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdExpc3RJdGVtKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICA+PC9wby1jaGVja2JveD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidleHRlcm5hbExpbmsnXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInBvLWxpc3Qtdmlldy10aXRsZS1saW5rXCJcbiAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgIFtocmVmXT1cIml0ZW1bcHJvcGVydHlMaW5rXVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInJ1blRpdGxlQWN0aW9uKGl0ZW0pXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGdldEl0ZW1UaXRsZShpdGVtKSB9fVxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidpbnRlcm5hbExpbmsnXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInBvLWxpc3Qtdmlldy10aXRsZS1saW5rXCJcbiAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJpdGVtW3Byb3BlcnR5TGlua11cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJydW5UaXRsZUFjdGlvbihpdGVtKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBnZXRJdGVtVGl0bGUoaXRlbSkgfX1cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInbm9MaW5rJ1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwby1saXN0LXZpZXctdGl0bGUtbm8tbGlua1wiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnBvLWxpc3Qtdmlldy10aXRsZS1saW5rXT1cInRpdGxlSGFzQWN0aW9uXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwidGl0bGVIYXNBY3Rpb24gJiYgcnVuVGl0bGVBY3Rpb24oaXRlbSlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgZ2V0SXRlbVRpdGxlKGl0ZW0pIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0J1dHRvbnNBY3Rpb25zXCIgY2xhc3M9XCJwby1saXN0LXZpZXctYWN0aW9uc1wiPlxuICAgICAgICAgICAgICA8cG8tYnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiB2aXNpYmxlQWN0aW9uc1wiXG4gICAgICAgICAgICAgICAgW3AtZGlzYWJsZWRdPVwicmV0dXJuQm9vbGVhblZhbHVlKGFjdGlvbiwgaXRlbSwgJ2Rpc2FibGVkJylcIlxuICAgICAgICAgICAgICAgIFtwLWljb25dPVwiYWN0aW9uLmljb25cIlxuICAgICAgICAgICAgICAgIFtwLWxhYmVsXT1cImFjdGlvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgW3Ata2luZF09XCJhY3Rpb24udHlwZVwiXG4gICAgICAgICAgICAgICAgKHAtY2xpY2spPVwib25DbGlja0FjdGlvbihhY3Rpb24sIGl0ZW0pXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L3BvLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd1BvcHVwQWN0aW9uc1wiIGNsYXNzPVwicG8tbGlzdC12aWV3LW1vcmUtYWN0aW9uc1wiPlxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICNwb3B1cFRhcmdldFxuICAgICAgICAgICAgICAgIGNsYXNzPVwicG8taWNvbiBwby1pY29uLW1vcmUgcG8tbGlzdC12aWV3LW1vcmUtaWNvbiBwby1jbGlja2FibGVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVQb3B1cChpdGVtLCBwb3B1cFRhcmdldClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiAqbmdJZj1cImhhc0NvbnRlbnRUZW1wbGF0ZVwiIGNsYXNzPVwicG8tbGlzdC12aWV3LWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJsaXN0Vmlld0NvbnRlbnRUZW1wbGF0ZS50ZW1wbGF0ZVJlZlwiXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSwgaW5kZXg6IGluZGV4IH1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIEBzaG93SGlkZURldGFpbFxuICAgICAgICAgICAgKEBzaG93SGlkZURldGFpbC5zdGFydCk9XCJpdGVtLiRzaG93RGV0YWlsID8gb25BbmltYXRpb25FdmVudCgkZXZlbnQsIGl0ZW0pIDogJ3VuZGVmaW5lZCdcIlxuICAgICAgICAgICAgKm5nSWY9XCJoYXNEZXRhaWxUZW1wbGF0ZSAmJiBpdGVtLiRzaG93RGV0YWlsXCJcbiAgICAgICAgICAgIGNsYXNzPVwicG8tbGlzdC12aWV3LWRldGFpbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpc3RWaWV3RGV0YWlsVGVtcGxhdGUudGVtcGxhdGVSZWZcIlxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0sIGluZGV4OiBpbmRleCB9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgKm5nSWY9XCJoYXNEZXRhaWxUZW1wbGF0ZVwiIGNsYXNzPVwicG8tbGlzdC12aWV3LWRldGFpbC1idXR0b25cIj5cbiAgICAgICAgICA8cG8tYnV0dG9uXG4gICAgICAgICAgICBwLWtpbmQ9XCJ0ZXJ0aWFyeVwiXG4gICAgICAgICAgICBbcC1sYWJlbF09XCJpdGVtLiRzaG93RGV0YWlsID8gbGl0ZXJhbHMuaGlkZURldGFpbHMgOiBsaXRlcmFscy5zaG93RGV0YWlsc1wiXG4gICAgICAgICAgICAocC1jbGljayk9XCJpdGVtLiRzaG93RGV0YWlsID0gIWl0ZW0uJHNob3dEZXRhaWxcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L3BvLWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3BvLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cImRpc3BsYXlTaG93TW9yZUJ1dHRvblwiIGNsYXNzPVwicG8tbWItMiBwby10ZXh0LWNlbnRlclwiPlxuICA8cG8tYnV0dG9uIFtwLWRpc2FibGVkXT1cInNob3dNb3JlRGlzYWJsZWRcIiBbcC1sYWJlbF09XCJsaXRlcmFscy5sb2FkTW9yZURhdGFcIiAocC1jbGljayk9XCJvblNob3dNb3JlKClcIj4gPC9wby1idXR0b24+XG48L2Rpdj5cblxuPHBvLXBvcHVwICNwb3B1cCBbcC1hY3Rpb25zXT1cImFjdGlvbnNcIiBbcC10YXJnZXRdPVwicG9wdXBUYXJnZXRcIj4gPC9wby1wb3B1cD5cbiJdfQ==
|
|
374
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbGlzdC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1saXN0LXZpZXcvcG8tbGlzdC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1saXN0LXZpZXcvcG8tbGlzdC12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUdMLFNBQVMsRUFDVCxZQUFZLEVBR1osU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUs1QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUM3SCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx1RUFBdUUsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ2J4SCw4QkFBeUQsYUFBQSxhQUFBLHNCQUFBO0lBS2pELHdPQUF1Qiw4SkFFWCxlQUFBLDJCQUFvQixDQUFBLElBRlQsd0pBR2QsZUFBQSwyQkFBb0IsQ0FBQSxJQUhOO0lBSXhCLGlCQUFjLEVBQUEsRUFBQSxFQUFBOzs7SUFKYixlQUF1QjtJQUF2QiwwQ0FBdUIsc0NBQUE7OztJQVU3Qix3Q0FBd0QsY0FBQSxXQUFBO0lBRTdDLFlBQXNCO0lBQUEsaUJBQU8sRUFBQSxFQUFBOzs7SUFGMUIsbUNBQXFCO0lBRXhCLGVBQXNCO0lBQXRCLHVEQUFzQjs7OztJQVN2QiwrQkFBZ0Qsc0JBQUE7SUFFNUMsc05B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d0JBQ3hCLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7d0JBQzlDLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7d0JBQ2hELFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUM3RyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQ3hGLENBQUM7aUJBQ0g7a0lBSUQsdUJBQXVCO2tCQUR0QixZQUFZO21CQUFDLGtDQUFrQyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUdsRSxzQkFBc0I7a0JBRHJCLFlBQVk7bUJBQUMsaUNBQWlDLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBRzNCLGdCQUFnQjtrQkFBckQsU0FBUzttQkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIERvQ2hlY2ssXG4gIEl0ZXJhYmxlRGlmZmVycyxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBpc1R5cGVvZiB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWwnO1xuaW1wb3J0IHsgUG9MYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wby1sYW5ndWFnZS9wby1sYW5ndWFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFBvUG9wdXBDb21wb25lbnQgfSBmcm9tICcuLi9wby1wb3B1cC9wby1wb3B1cC5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBQb0xpc3RWaWV3QWN0aW9uIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLWxpc3Qtdmlldy1hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvTGlzdFZpZXdCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1saXN0LXZpZXctYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9MaXN0Vmlld0NvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vcG8tbGlzdC12aWV3LWNvbnRlbnQtdGVtcGxhdGUvcG8tbGlzdC12aWV3LWNvbnRlbnQtdGVtcGxhdGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IFBvTGlzdFZpZXdEZXRhaWxUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vcG8tbGlzdC12aWV3LWRldGFpbC10ZW1wbGF0ZS9wby1saXN0LXZpZXctZGV0YWlsLXRlbXBsYXRlLmRpcmVjdGl2ZSc7XG5cbi8qKlxuICogQGRvY3NFeHRlbmRzIFBvTGlzdFZpZXdCYXNlQ29tcG9uZW50XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tbGlzdC12aWV3LWJhc2ljXCIgdGl0bGU9XCJQTyBMaXN0IFZpZXcgQmFzaWNcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxpc3Qtdmlldy1iYXNpYy9zYW1wbGUtcG8tbGlzdC12aWV3LWJhc2ljLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxpc3Qtdmlldy1iYXNpYy9zYW1wbGUtcG8tbGlzdC12aWV3LWJhc2ljLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLWxpc3Qtdmlldy1sYWJzXCIgdGl0bGU9XCJQTyBMaXN0IFZpZXcgTGFic1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbGlzdC12aWV3LWxhYnMvc2FtcGxlLXBvLWxpc3Qtdmlldy1sYWJzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxpc3Qtdmlldy1sYWJzL3NhbXBsZS1wby1saXN0LXZpZXctbGFicy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1saXN0LXZpZXctaGlyaW5nLXByb2Nlc3Nlc1wiIHRpdGxlPVwiUE8gTGlzdCBWaWV3IC0gSGlyaW5nIFByb2Nlc3Nlc1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbGlzdC12aWV3LWhpcmluZy1wcm9jZXNzZXMvc2FtcGxlLXBvLWxpc3Qtdmlldy1oaXJpbmctcHJvY2Vzc2VzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxpc3Qtdmlldy1oaXJpbmctcHJvY2Vzc2VzL3NhbXBsZS1wby1saXN0LXZpZXctaGlyaW5nLXByb2Nlc3Nlcy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbGlzdC12aWV3LWhpcmluZy1wcm9jZXNzZXMvc2FtcGxlLXBvLWxpc3Qtdmlldy1oaXJpbmctcHJvY2Vzc2VzLnNlcnZpY2UudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1saXN0LXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tbGlzdC12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ3Nob3dIaWRlRGV0YWlsJywgW1xuICAgICAgc3RhdGUoJyonLCBzdHlsZSh7ICdvdmVyZmxvdy15JzogJ3Zpc2libGUnIH0pKSxcbiAgICAgIHN0YXRlKCd2b2lkJywgc3R5bGUoeyAnb3ZlcmZsb3cteSc6ICdoaWRkZW4nIH0pKSxcbiAgICAgIHRyYW5zaXRpb24oJyogPT4gdm9pZCcsIFtzdHlsZSh7IGhlaWdodDogJyonLCAnb3ZlcmZsb3cteSc6ICdoaWRkZW4nIH0pLCBhbmltYXRlKDEwMCwgc3R5bGUoeyBoZWlnaHQ6IDAgfSkpXSksXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBbc3R5bGUoeyBoZWlnaHQ6ICcwJyB9KSwgYW5pbWF0ZSgxMDAsIHN0eWxlKHsgaGVpZ2h0OiAnKicgfSkpXSlcbiAgICBdKVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFBvTGlzdFZpZXdDb21wb25lbnQgZXh0ZW5kcyBQb0xpc3RWaWV3QmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIERvQ2hlY2sge1xuICBAQ29udGVudENoaWxkKFBvTGlzdFZpZXdDb250ZW50VGVtcGxhdGVEaXJlY3RpdmUsIHsgc3RhdGljOiB0cnVlIH0pXG4gIGxpc3RWaWV3Q29udGVudFRlbXBsYXRlOiBQb0xpc3RWaWV3Q29udGVudFRlbXBsYXRlRGlyZWN0aXZlO1xuICBAQ29udGVudENoaWxkKFBvTGlzdFZpZXdEZXRhaWxUZW1wbGF0ZURpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUgfSlcbiAgbGlzdFZpZXdEZXRhaWxUZW1wbGF0ZTogUG9MaXN0Vmlld0RldGFpbFRlbXBsYXRlRGlyZWN0aXZlO1xuXG4gIEBWaWV3Q2hpbGQoJ3BvcHVwJywgeyBzdGF0aWM6IHRydWUgfSkgcG9Qb3B1cENvbXBvbmVudDogUG9Qb3B1cENvbXBvbmVudDtcblxuICBwcml2YXRlIGRpZmZlcjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZiwgZGlmZmVyczogSXRlcmFibGVEaWZmZXJzLCBsYW5ndWFnZVNlcnZpY2U6IFBvTGFuZ3VhZ2VTZXJ2aWNlKSB7XG4gICAgc3VwZXIobGFuZ3VhZ2VTZXJ2aWNlKTtcbiAgICB0aGlzLmRpZmZlciA9IGRpZmZlcnMuZmluZChbXSkuY3JlYXRlKG51bGwpO1xuICB9XG5cbiAgZ2V0IGhhc0NvbnRlbnRUZW1wbGF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmxpc3RWaWV3Q29udGVudFRlbXBsYXRlO1xuICB9XG5cbiAgZ2V0IGhhc0RldGFpbFRlbXBsYXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMubGlzdFZpZXdEZXRhaWxUZW1wbGF0ZTtcbiAgfVxuXG4gIGdldCBkaXNwbGF5U2hvd01vcmVCdXR0b24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMgJiYgdGhpcy5pdGVtcy5sZW5ndGggPiAwICYmIHRoaXMuc2hvd01vcmUub2JzZXJ2ZXJzLmxlbmd0aCA+IDA7XG4gIH1cblxuICBnZXQgc2hvd0J1dHRvbnNBY3Rpb25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZpc2libGVBY3Rpb25zICYmIHRoaXMudmlzaWJsZUFjdGlvbnMubGVuZ3RoID4gMCAmJiB0aGlzLnZpc2libGVBY3Rpb25zLmxlbmd0aCA8PSAyO1xuICB9XG5cbiAgZ2V0IHNob3dQb3B1cEFjdGlvbnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZUFjdGlvbnMgJiYgdGhpcy52aXNpYmxlQWN0aW9ucy5sZW5ndGggPiAyO1xuICB9XG5cbiAgZ2V0IHRpdGxlSGFzQWN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRpdGxlQWN0aW9uLm9ic2VydmVycy5sZW5ndGggPiAwO1xuICB9XG5cbiAgZ2V0IHZpc2libGVBY3Rpb25zKCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmFjdGlvbnMgJiZcbiAgICAgIHRoaXMuYWN0aW9ucy5maWx0ZXIoYWN0aW9uID0+IHRoaXMucmV0dXJuQm9vbGVhblZhbHVlKGFjdGlvbiwgYWN0aW9uLnZpc2libGUsICd2aXNpYmxlJykgIT09IGZhbHNlKVxuICAgICk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0U2hvd0RldGFpbCgpO1xuICB9XG5cbiAgbmdEb0NoZWNrKCkge1xuICAgIHRoaXMuY2hlY2tJdGVtc0NoYW5nZSgpO1xuICB9XG5cbiAgY2hlY2tUaXRsZVR5cGUoaXRlbTogYW55KSB7XG4gICAgaWYgKHRoaXMucHJvcGVydHlMaW5rICYmIGl0ZW1bdGhpcy5wcm9wZXJ0eUxpbmtdKSB7XG4gICAgICByZXR1cm4gaXRlbVt0aGlzLnByb3BlcnR5TGlua10uc3RhcnRzV2l0aCgnaHR0cCcpID8gJ2V4dGVybmFsTGluaycgOiAnaW50ZXJuYWxMaW5rJztcbiAgICB9XG5cbiAgICByZXR1cm4gJ25vTGluayc7XG4gIH1cblxuICBnZXRJdGVtVGl0bGUoaXRlbSkge1xuICAgIHJldHVybiB0aGlzLmhhc0NvbnRlbnRUZW1wbGF0ZSAmJiB0aGlzLmxpc3RWaWV3Q29udGVudFRlbXBsYXRlLnRpdGxlXG4gICAgICA/IHRoaXMubGlzdFZpZXdDb250ZW50VGVtcGxhdGUudGl0bGUoaXRlbSlcbiAgICAgIDogaXRlbVt0aGlzLnByb3BlcnR5VGl0bGVdO1xuICB9XG5cbiAgaGFzSXRlbXMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMgJiYgdGhpcy5pdGVtcy5sZW5ndGggPiAwO1xuICB9XG5cbiAgcmV0dXJuQm9vbGVhblZhbHVlKGxpc3RWaWV3QWN0aW9uOiBQb0xpc3RWaWV3QWN0aW9uLCBpdGVtOiBhbnksIHByb3BlcnR5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gaXNUeXBlb2YobGlzdFZpZXdBY3Rpb25bcHJvcGVydHldLCAnZnVuY3Rpb24nKVxuICAgICAgPyAoPGFueT5saXN0Vmlld0FjdGlvbilbcHJvcGVydHldKGl0ZW0pXG4gICAgICA6IGxpc3RWaWV3QWN0aW9uW3Byb3BlcnR5XTtcbiAgfVxuXG4gIHRyYWNrQnkoaW5kZXgpIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICB0b2dnbGVQb3B1cChpdGVtLCB0YXJnZXRSZWY6IEhUTUxFbGVtZW50KSB7XG4gICAgdGhpcy5wb3B1cFRhcmdldCA9IHRhcmdldFJlZjtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcblxuICAgIHRoaXMucG9Qb3B1cENvbXBvbmVudC50b2dnbGUoaXRlbSk7XG4gIH1cblxuICBvbkFuaW1hdGlvbkV2ZW50KGV2ZW50OiBBbmltYXRpb25FdmVudCwgZGV0YWlsKSB7XG4gICAgdGhpcy5zaG93RGV0YWlsLmVtaXQoZGV0YWlsKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tJdGVtc0NoYW5nZSgpIHtcbiAgICBjb25zdCBjaGFuZ2VzSXRlbXMgPSB0aGlzLmRpZmZlci5kaWZmKHRoaXMuaXRlbXMpO1xuXG4gICAgaWYgKGNoYW5nZXNJdGVtcyAmJiB0aGlzLnNlbGVjdEFsbCkge1xuICAgICAgdGhpcy5zZWxlY3RBbGwgPSBudWxsO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzSXRlbXMgJiYgdGhpcy5pdGVtcyAmJiB0aGlzLml0ZW1zLmxlbmd0aCAmJiB0aGlzLnNlbGVjdCAmJiAhdGhpcy5oaWRlU2VsZWN0QWxsKSB7XG4gICAgICB0aGlzLnNob3dIZWFkZXIgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdFNob3dEZXRhaWwoKSB7XG4gICAgaWYgKHRoaXMuaXRlbXMgJiYgdGhpcy5pdGVtcy5sZW5ndGggPiAwICYmIHRoaXMuaGFzRGV0YWlsVGVtcGxhdGUgJiYgdGhpcy5saXN0Vmlld0RldGFpbFRlbXBsYXRlLnNob3dEZXRhaWwpIHtcbiAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaChpdGVtID0+IChpdGVtLiRzaG93RGV0YWlsID0gdGhpcy5saXN0Vmlld0RldGFpbFRlbXBsYXRlLnNob3dEZXRhaWwoaXRlbSkpKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgW2NsYXNzLnBvLWxpc3Qtdmlldy1tYWluLWNvbnRhaW5lci1oZWFkZXJdPVwic2hvd0hlYWRlclwiXG4gIFtjbGFzcy5wby1saXN0LXZpZXctbWFpbi1jb250YWluZXJdPVwiIXNob3dIZWFkZXJcIlxuICBbc3R5bGUuaGVpZ2h0LnB4XT1cImhlaWdodFwiXG4+XG4gIDxkaXYgKm5nSWY9XCJzaG93SGVhZGVyXCIgY2xhc3M9XCJwby1saXN0LXZpZXctbWFpbi1oZWFkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwicG8tY2hlY2tib3gtZ3JvdXAtaXRlbVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInBvLWxpc3Qtdmlldy1tYWluLXNlbGVjdFwiPlxuICAgICAgICA8cG8tY2hlY2tib3hcbiAgICAgICAgICBuYW1lPVwic2VsZWN0QWxsXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdEFsbFwiXG4gICAgICAgICAgW3AtbGFiZWxdPVwibGl0ZXJhbHMuc2VsZWN0QWxsXCJcbiAgICAgICAgICAocC1jaGFuZ2UpPVwic2VsZWN0QWxsTGlzdEl0ZW1zKClcIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3RBbGxMaXN0SXRlbXMoKVwiXG4gICAgICAgID48L3BvLWNoZWNrYm94PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJwby1saXN0LXZpZXctbWFpbi1jb250ZW50XCI+XG4gICAgPHBvLWNvbnRhaW5lciBbcC1uby1wYWRkaW5nXT1cInRydWVcIiAqbmdJZj1cIiFoYXNJdGVtcygpXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicG8tbGlzdC12aWV3LWNvbnRhaW5lci1uby1kYXRhIHBvLXRleHQtY2VudGVyXCI+XG4gICAgICAgIDxzcGFuPiB7eyBsaXRlcmFscy5ub0RhdGEgfX0gPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9wby1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBsZXQgaW5kZXggPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeVwiPlxuICAgICAgPHBvLWNvbnRhaW5lciBbcC1uby1wYWRkaW5nXT1cInRydWVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBvLWxpc3Qtdmlldy1jb250YWluZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicG8tbGlzdC12aWV3LWhlYWRlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvLWxpc3Qtdmlldy10aXRsZVwiIFtuZ1N3aXRjaF09XCJjaGVja1RpdGxlVHlwZShpdGVtKVwiPlxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2VsZWN0XCIgY2xhc3M9XCJwby1saXN0LXZpZXctc2VsZWN0XCI+XG4gICAgICAgICAgICAgICAgPHBvLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIml0ZW0uJHNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAocC1jaGFuZ2UpPVwic2VsZWN0TGlzdEl0ZW0oaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdExpc3RJdGVtKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICA+PC9wby1jaGVja2JveD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidleHRlcm5hbExpbmsnXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInBvLWxpc3Qtdmlldy10aXRsZS1saW5rXCJcbiAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgIFtocmVmXT1cIml0ZW1bcHJvcGVydHlMaW5rXVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInJ1blRpdGxlQWN0aW9uKGl0ZW0pXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGdldEl0ZW1UaXRsZShpdGVtKSB9fVxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidpbnRlcm5hbExpbmsnXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInBvLWxpc3Qtdmlldy10aXRsZS1saW5rXCJcbiAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJpdGVtW3Byb3BlcnR5TGlua11cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJydW5UaXRsZUFjdGlvbihpdGVtKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBnZXRJdGVtVGl0bGUoaXRlbSkgfX1cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInbm9MaW5rJ1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwby1saXN0LXZpZXctdGl0bGUtbm8tbGlua1wiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnBvLWxpc3Qtdmlldy10aXRsZS1saW5rXT1cInRpdGxlSGFzQWN0aW9uXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwidGl0bGVIYXNBY3Rpb24gJiYgcnVuVGl0bGVBY3Rpb24oaXRlbSlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgZ2V0SXRlbVRpdGxlKGl0ZW0pIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0J1dHRvbnNBY3Rpb25zXCIgY2xhc3M9XCJwby1saXN0LXZpZXctYWN0aW9uc1wiPlxuICAgICAgICAgICAgICA8cG8tYnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiB2aXNpYmxlQWN0aW9uc1wiXG4gICAgICAgICAgICAgICAgW3AtZGlzYWJsZWRdPVwicmV0dXJuQm9vbGVhblZhbHVlKGFjdGlvbiwgaXRlbSwgJ2Rpc2FibGVkJylcIlxuICAgICAgICAgICAgICAgIFtwLWljb25dPVwiYWN0aW9uLmljb25cIlxuICAgICAgICAgICAgICAgIFtwLWxhYmVsXT1cImFjdGlvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgW3AtZGFuZ2VyXT1cImFjdGlvbi50eXBlID09PSAnZGFuZ2VyJ1wiXG4gICAgICAgICAgICAgICAgKHAtY2xpY2spPVwib25DbGlja0FjdGlvbihhY3Rpb24sIGl0ZW0pXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L3BvLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd1BvcHVwQWN0aW9uc1wiIGNsYXNzPVwicG8tbGlzdC12aWV3LW1vcmUtYWN0aW9uc1wiPlxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICNwb3B1cFRhcmdldFxuICAgICAgICAgICAgICAgIGNsYXNzPVwicG8taWNvbiBwby1pY29uLW1vcmUgcG8tbGlzdC12aWV3LW1vcmUtaWNvbiBwby1jbGlja2FibGVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVQb3B1cChpdGVtLCBwb3B1cFRhcmdldClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiAqbmdJZj1cImhhc0NvbnRlbnRUZW1wbGF0ZVwiIGNsYXNzPVwicG8tbGlzdC12aWV3LWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJsaXN0Vmlld0NvbnRlbnRUZW1wbGF0ZS50ZW1wbGF0ZVJlZlwiXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSwgaW5kZXg6IGluZGV4IH1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIEBzaG93SGlkZURldGFpbFxuICAgICAgICAgICAgKEBzaG93SGlkZURldGFpbC5zdGFydCk9XCJpdGVtLiRzaG93RGV0YWlsID8gb25BbmltYXRpb25FdmVudCgkZXZlbnQsIGl0ZW0pIDogJ3VuZGVmaW5lZCdcIlxuICAgICAgICAgICAgKm5nSWY9XCJoYXNEZXRhaWxUZW1wbGF0ZSAmJiBpdGVtLiRzaG93RGV0YWlsXCJcbiAgICAgICAgICAgIGNsYXNzPVwicG8tbGlzdC12aWV3LWRldGFpbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpc3RWaWV3RGV0YWlsVGVtcGxhdGUudGVtcGxhdGVSZWZcIlxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0sIGluZGV4OiBpbmRleCB9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgKm5nSWY9XCJoYXNEZXRhaWxUZW1wbGF0ZVwiIGNsYXNzPVwicG8tbGlzdC12aWV3LWRldGFpbC1idXR0b25cIj5cbiAgICAgICAgICA8cG8tYnV0dG9uXG4gICAgICAgICAgICBwLWtpbmQ9XCJ0ZXJ0aWFyeVwiXG4gICAgICAgICAgICBbcC1sYWJlbF09XCJpdGVtLiRzaG93RGV0YWlsID8gbGl0ZXJhbHMuaGlkZURldGFpbHMgOiBsaXRlcmFscy5zaG93RGV0YWlsc1wiXG4gICAgICAgICAgICAocC1jbGljayk9XCJpdGVtLiRzaG93RGV0YWlsID0gIWl0ZW0uJHNob3dEZXRhaWxcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L3BvLWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3BvLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cImRpc3BsYXlTaG93TW9yZUJ1dHRvblwiIGNsYXNzPVwicG8tbWItMiBwby10ZXh0LWNlbnRlclwiPlxuICA8cG8tYnV0dG9uIFtwLWRpc2FibGVkXT1cInNob3dNb3JlRGlzYWJsZWRcIiBbcC1sYWJlbF09XCJsaXRlcmFscy5sb2FkTW9yZURhdGFcIiAocC1jbGljayk9XCJvblNob3dNb3JlKClcIj4gPC9wby1idXR0b24+XG48L2Rpdj5cblxuPHBvLXBvcHVwICNwb3B1cCBbcC1hY3Rpb25zXT1cImFjdGlvbnNcIiBbcC10YXJnZXRdPVwicG9wdXBUYXJnZXRcIj4gPC9wby1wb3B1cD5cbiJdfQ==
|
|
@@ -41549,7 +41549,7 @@ function PoListViewComponent_ng_container_4_div_9_po_button_1_Template(rf, ctx)
|
|
|
41549
41549
|
const action_r41 = ctx.$implicit;
|
|
41550
41550
|
const item_r9 = i0.ɵɵnextContext(2).$implicit;
|
|
41551
41551
|
const ctx_r40 = i0.ɵɵnextContext();
|
|
41552
|
-
i0.ɵɵproperty("p-disabled", ctx_r40.returnBooleanValue(action_r41, item_r9, "disabled"))("p-icon", action_r41.icon)("p-label", action_r41.label)("p-
|
|
41552
|
+
i0.ɵɵproperty("p-disabled", ctx_r40.returnBooleanValue(action_r41, item_r9, "disabled"))("p-icon", action_r41.icon)("p-label", action_r41.label)("p-danger", action_r41.type === "danger");
|
|
41553
41553
|
} }
|
|
41554
41554
|
function PoListViewComponent_ng_container_4_div_9_Template(rf, ctx) { if (rf & 1) {
|
|
41555
41555
|
i0.ɵɵelementStart(0, "div", 30);
|
|
@@ -41777,7 +41777,7 @@ class PoListViewComponent extends PoListViewBaseComponent {
|
|
|
41777
41777
|
} if (rf & 2) {
|
|
41778
41778
|
let _t;
|
|
41779
41779
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.poPopupComponent = _t.first);
|
|
41780
|
-
} }, features: [i0.ɵɵInheritDefinitionFeature], decls: 8, vars: 13, consts: [["class", "po-list-view-main-header", 4, "ngIf"], [1, "po-list-view-main-content"], [3, "p-no-padding", 4, "ngIf"], [4, "ngFor", "ngForOf", "ngForTrackBy"], ["class", "po-mb-2 po-text-center", 4, "ngIf"], [3, "p-actions", "p-target"], ["popup", ""], [1, "po-list-view-main-header"], [1, "po-checkbox-group-item"], [1, "po-list-view-main-select"], ["name", "selectAll", 3, "ngModel", "p-label", "ngModelChange", "p-change", "click"], [3, "p-no-padding"], [1, "po-list-view-container-no-data", "po-text-center"], [1, "po-list-view-container"], [1, "po-list-view-header"], [1, "po-list-view-title", 3, "ngSwitch"], ["class", "po-list-view-select", 4, "ngIf"], ["class", "po-list-view-title-link", "target", "_blank", 3, "href", "click", 4, "ngSwitchCase"], ["class", "po-list-view-title-link", 3, "routerLink", "click", 4, "ngSwitchCase"], ["class", "po-list-view-title-no-link", 3, "po-list-view-title-link", "click", 4, "ngSwitchCase"], ["class", "po-list-view-actions", 4, "ngIf"], ["class", "po-list-view-more-actions", 4, "ngIf"], ["class", "po-list-view-content", 4, "ngIf"], ["class", "po-list-view-detail", 4, "ngIf"], ["class", "po-list-view-detail-button", 4, "ngIf"], [1, "po-list-view-select"], ["name", "checkbox", 3, "ngModel", "ngModelChange", "p-change", "click"], ["target", "_blank", 1, "po-list-view-title-link", 3, "href", "click"], [1, "po-list-view-title-link", 3, "routerLink", "click"], [1, "po-list-view-title-no-link", 3, "click"], [1, "po-list-view-actions"], [3, "p-disabled", "p-icon", "p-label", "p-
|
|
41780
|
+
} }, features: [i0.ɵɵInheritDefinitionFeature], decls: 8, vars: 13, consts: [["class", "po-list-view-main-header", 4, "ngIf"], [1, "po-list-view-main-content"], [3, "p-no-padding", 4, "ngIf"], [4, "ngFor", "ngForOf", "ngForTrackBy"], ["class", "po-mb-2 po-text-center", 4, "ngIf"], [3, "p-actions", "p-target"], ["popup", ""], [1, "po-list-view-main-header"], [1, "po-checkbox-group-item"], [1, "po-list-view-main-select"], ["name", "selectAll", 3, "ngModel", "p-label", "ngModelChange", "p-change", "click"], [3, "p-no-padding"], [1, "po-list-view-container-no-data", "po-text-center"], [1, "po-list-view-container"], [1, "po-list-view-header"], [1, "po-list-view-title", 3, "ngSwitch"], ["class", "po-list-view-select", 4, "ngIf"], ["class", "po-list-view-title-link", "target", "_blank", 3, "href", "click", 4, "ngSwitchCase"], ["class", "po-list-view-title-link", 3, "routerLink", "click", 4, "ngSwitchCase"], ["class", "po-list-view-title-no-link", 3, "po-list-view-title-link", "click", 4, "ngSwitchCase"], ["class", "po-list-view-actions", 4, "ngIf"], ["class", "po-list-view-more-actions", 4, "ngIf"], ["class", "po-list-view-content", 4, "ngIf"], ["class", "po-list-view-detail", 4, "ngIf"], ["class", "po-list-view-detail-button", 4, "ngIf"], [1, "po-list-view-select"], ["name", "checkbox", 3, "ngModel", "ngModelChange", "p-change", "click"], ["target", "_blank", 1, "po-list-view-title-link", 3, "href", "click"], [1, "po-list-view-title-link", 3, "routerLink", "click"], [1, "po-list-view-title-no-link", 3, "click"], [1, "po-list-view-actions"], [3, "p-disabled", "p-icon", "p-label", "p-danger", "p-click", 4, "ngFor", "ngForOf"], [3, "p-disabled", "p-icon", "p-label", "p-danger", "p-click"], [1, "po-list-view-more-actions"], [1, "po-icon", "po-icon-more", "po-list-view-more-icon", "po-clickable", 3, "click"], ["popupTarget", ""], [1, "po-list-view-content"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "po-list-view-detail"], [1, "po-list-view-detail-button"], ["p-kind", "tertiary", 3, "p-label", "p-click"], [1, "po-mb-2", "po-text-center"], [3, "p-disabled", "p-label", "p-click"]], template: function PoListViewComponent_Template(rf, ctx) { if (rf & 1) {
|
|
41781
41781
|
i0.ɵɵelementStart(0, "div");
|
|
41782
41782
|
i0.ɵɵtemplate(1, PoListViewComponent_div_1_Template, 4, 2, "div", 0);
|
|
41783
41783
|
i0.ɵɵelementStart(2, "div", 1);
|
|
@@ -41817,7 +41817,7 @@ class PoListViewComponent extends PoListViewBaseComponent {
|
|
|
41817
41817
|
transition('* => void', [style({ height: '*', 'overflow-y': 'hidden' }), animate(100, style({ height: 0 }))]),
|
|
41818
41818
|
transition('void => *', [style({ height: '0' }), animate(100, style({ height: '*' }))])
|
|
41819
41819
|
])
|
|
41820
|
-
], template: "<div\n [class.po-list-view-main-container-header]=\"showHeader\"\n [class.po-list-view-main-container]=\"!showHeader\"\n [style.height.px]=\"height\"\n>\n <div *ngIf=\"showHeader\" class=\"po-list-view-main-header\">\n <div class=\"po-checkbox-group-item\">\n <div class=\"po-list-view-main-select\">\n <po-checkbox\n name=\"selectAll\"\n [(ngModel)]=\"selectAll\"\n [p-label]=\"literals.selectAll\"\n (p-change)=\"selectAllListItems()\"\n (click)=\"selectAllListItems()\"\n ></po-checkbox>\n </div>\n </div>\n </div>\n\n <div class=\"po-list-view-main-content\">\n <po-container [p-no-padding]=\"true\" *ngIf=\"!hasItems()\">\n <div class=\"po-list-view-container-no-data po-text-center\">\n <span> {{ literals.noData }} </span>\n </div>\n </po-container>\n\n <ng-container *ngFor=\"let item of items; let index = index; trackBy: trackBy\">\n <po-container [p-no-padding]=\"true\">\n <div class=\"po-list-view-container\">\n <div class=\"po-list-view-header\">\n <div class=\"po-list-view-title\" [ngSwitch]=\"checkTitleType(item)\">\n <div *ngIf=\"select\" class=\"po-list-view-select\">\n <po-checkbox\n [(ngModel)]=\"item.$selected\"\n name=\"checkbox\"\n (p-change)=\"selectListItem(item)\"\n (click)=\"selectListItem(item)\"\n ></po-checkbox>\n </div>\n <a\n *ngSwitchCase=\"'externalLink'\"\n class=\"po-list-view-title-link\"\n target=\"_blank\"\n [href]=\"item[propertyLink]\"\n (click)=\"runTitleAction(item)\"\n >\n {{ getItemTitle(item) }}\n </a>\n <a\n *ngSwitchCase=\"'internalLink'\"\n class=\"po-list-view-title-link\"\n [routerLink]=\"item[propertyLink]\"\n (click)=\"runTitleAction(item)\"\n >\n {{ getItemTitle(item) }}\n </a>\n <span\n *ngSwitchCase=\"'noLink'\"\n class=\"po-list-view-title-no-link\"\n [class.po-list-view-title-link]=\"titleHasAction\"\n (click)=\"titleHasAction && runTitleAction(item)\"\n >\n {{ getItemTitle(item) }}\n </span>\n </div>\n\n <div *ngIf=\"showButtonsActions\" class=\"po-list-view-actions\">\n <po-button\n *ngFor=\"let action of visibleActions\"\n [p-disabled]=\"returnBooleanValue(action, item, 'disabled')\"\n [p-icon]=\"action.icon\"\n [p-label]=\"action.label\"\n [p-
|
|
41820
|
+
], template: "<div\n [class.po-list-view-main-container-header]=\"showHeader\"\n [class.po-list-view-main-container]=\"!showHeader\"\n [style.height.px]=\"height\"\n>\n <div *ngIf=\"showHeader\" class=\"po-list-view-main-header\">\n <div class=\"po-checkbox-group-item\">\n <div class=\"po-list-view-main-select\">\n <po-checkbox\n name=\"selectAll\"\n [(ngModel)]=\"selectAll\"\n [p-label]=\"literals.selectAll\"\n (p-change)=\"selectAllListItems()\"\n (click)=\"selectAllListItems()\"\n ></po-checkbox>\n </div>\n </div>\n </div>\n\n <div class=\"po-list-view-main-content\">\n <po-container [p-no-padding]=\"true\" *ngIf=\"!hasItems()\">\n <div class=\"po-list-view-container-no-data po-text-center\">\n <span> {{ literals.noData }} </span>\n </div>\n </po-container>\n\n <ng-container *ngFor=\"let item of items; let index = index; trackBy: trackBy\">\n <po-container [p-no-padding]=\"true\">\n <div class=\"po-list-view-container\">\n <div class=\"po-list-view-header\">\n <div class=\"po-list-view-title\" [ngSwitch]=\"checkTitleType(item)\">\n <div *ngIf=\"select\" class=\"po-list-view-select\">\n <po-checkbox\n [(ngModel)]=\"item.$selected\"\n name=\"checkbox\"\n (p-change)=\"selectListItem(item)\"\n (click)=\"selectListItem(item)\"\n ></po-checkbox>\n </div>\n <a\n *ngSwitchCase=\"'externalLink'\"\n class=\"po-list-view-title-link\"\n target=\"_blank\"\n [href]=\"item[propertyLink]\"\n (click)=\"runTitleAction(item)\"\n >\n {{ getItemTitle(item) }}\n </a>\n <a\n *ngSwitchCase=\"'internalLink'\"\n class=\"po-list-view-title-link\"\n [routerLink]=\"item[propertyLink]\"\n (click)=\"runTitleAction(item)\"\n >\n {{ getItemTitle(item) }}\n </a>\n <span\n *ngSwitchCase=\"'noLink'\"\n class=\"po-list-view-title-no-link\"\n [class.po-list-view-title-link]=\"titleHasAction\"\n (click)=\"titleHasAction && runTitleAction(item)\"\n >\n {{ getItemTitle(item) }}\n </span>\n </div>\n\n <div *ngIf=\"showButtonsActions\" class=\"po-list-view-actions\">\n <po-button\n *ngFor=\"let action of visibleActions\"\n [p-disabled]=\"returnBooleanValue(action, item, 'disabled')\"\n [p-icon]=\"action.icon\"\n [p-label]=\"action.label\"\n [p-danger]=\"action.type === 'danger'\"\n (p-click)=\"onClickAction(action, item)\"\n >\n </po-button>\n </div>\n\n <div *ngIf=\"showPopupActions\" class=\"po-list-view-more-actions\">\n <span\n #popupTarget\n class=\"po-icon po-icon-more po-list-view-more-icon po-clickable\"\n (click)=\"togglePopup(item, popupTarget)\"\n >\n </span>\n </div>\n </div>\n\n <div *ngIf=\"hasContentTemplate\" class=\"po-list-view-content\">\n <ng-template\n [ngTemplateOutlet]=\"listViewContentTemplate.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: index }\"\n >\n </ng-template>\n </div>\n\n <div\n @showHideDetail\n (@showHideDetail.start)=\"item.$showDetail ? onAnimationEvent($event, item) : 'undefined'\"\n *ngIf=\"hasDetailTemplate && item.$showDetail\"\n class=\"po-list-view-detail\"\n >\n <ng-template\n [ngTemplateOutlet]=\"listViewDetailTemplate.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: index }\"\n >\n </ng-template>\n </div>\n </div>\n\n <div *ngIf=\"hasDetailTemplate\" class=\"po-list-view-detail-button\">\n <po-button\n p-kind=\"tertiary\"\n [p-label]=\"item.$showDetail ? literals.hideDetails : literals.showDetails\"\n (p-click)=\"item.$showDetail = !item.$showDetail\"\n >\n </po-button>\n </div>\n </po-container>\n </ng-container>\n </div>\n</div>\n\n<div *ngIf=\"displayShowMoreButton\" class=\"po-mb-2 po-text-center\">\n <po-button [p-disabled]=\"showMoreDisabled\" [p-label]=\"literals.loadMoreData\" (p-click)=\"onShowMore()\"> </po-button>\n</div>\n\n<po-popup #popup [p-actions]=\"actions\" [p-target]=\"popupTarget\"> </po-popup>\n" }]
|
|
41821
41821
|
}], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.IterableDiffers }, { type: PoLanguageService }]; }, { listViewContentTemplate: [{
|
|
41822
41822
|
type: ContentChild,
|
|
41823
41823
|
args: [PoListViewContentTemplateDirective, { static: true }]
|