@the-liberators/ngx-scrumteamsurvey-tools 2.2.79 → 2.2.81
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/results/components/age-indicator/age-indicator.component.mjs +35 -0
- package/esm2022/lib/results/components/factors/factors.component.mjs +1 -1
- package/esm2022/lib/results/components/model/model.component.mjs +1 -1
- package/esm2022/lib/results/components/model-factor/model-factor.component.mjs +9 -8
- package/esm2022/lib/results/components/roadmap/roadmap.component.mjs +3 -3
- package/esm2022/lib/results/dialogs/dialog-settings/dialog-settings.component.mjs +28 -13
- package/esm2022/lib/results/interfaces/IResultsState.mjs +1 -1
- package/esm2022/lib/results/results.module.mjs +6 -1
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/the-liberators-ngx-scrumteamsurvey-tools.mjs +68 -18
- package/fesm2022/the-liberators-ngx-scrumteamsurvey-tools.mjs.map +1 -1
- package/lib/results/components/age-indicator/age-indicator.component.d.ts +12 -0
- package/lib/results/components/model-factor/model-factor.component.d.ts +3 -0
- package/lib/results/dialogs/dialog-settings/dialog-settings.component.d.ts +3 -2
- package/lib/results/interfaces/IResultsState.d.ts +1 -0
- package/lib/results/results.module.d.ts +67 -66
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "@angular/material/tooltip";
|
|
5
|
+
export class AgeIndicatorComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
}
|
|
8
|
+
ngOnInit() {
|
|
9
|
+
var measureDate = new Date(this.lastMeasured);
|
|
10
|
+
var lastMeasuredMonths = Math.max(0, (new Date().getFullYear() - measureDate.getFullYear()) * 12 - measureDate.getMonth() + new Date().getMonth());
|
|
11
|
+
if (lastMeasuredMonths > 12) {
|
|
12
|
+
lastMeasuredMonths == 12;
|
|
13
|
+
}
|
|
14
|
+
this.lastMeasuredDots = new Array(lastMeasuredMonths);
|
|
15
|
+
this.lastMeasuredOpacity = 1 - (lastMeasuredMonths / 14);
|
|
16
|
+
if (lastMeasuredMonths <= 1) {
|
|
17
|
+
this.lastMeasuredTooltip = 'This factor was last measured 1 month or less ago. It is fresh data.';
|
|
18
|
+
}
|
|
19
|
+
else if (lastMeasuredMonths >= 12) {
|
|
20
|
+
this.lastMeasuredTooltip = 'This factor was last measured 12 month or more ago. We recommend to measure this again to keep data fresh.';
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
this.lastMeasuredTooltip = 'This factor was last measured ' + lastMeasuredMonths + ' month or more ago. The fresher your data, the more reliable it is.';
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: AgeIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: AgeIndicatorComponent, selector: "age-indicator", inputs: { lastMeasured: "lastMeasured" }, ngImport: i0, template: "<div class=\"age-indicator\" [style.opacity]=\"lastMeasuredOpacity\" [matTooltip]=\"lastMeasuredTooltip\" *ngIf=\"lastMeasuredDots\">\n <div class=\"age-indicator-dot\" *ngFor=\"let dot of lastMeasuredDots\"></div>\n</div>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}\n"], dependencies: [{ 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.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
|
|
28
|
+
}
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: AgeIndicatorComponent, decorators: [{
|
|
30
|
+
type: Component,
|
|
31
|
+
args: [{ selector: 'age-indicator', template: "<div class=\"age-indicator\" [style.opacity]=\"lastMeasuredOpacity\" [matTooltip]=\"lastMeasuredTooltip\" *ngIf=\"lastMeasuredDots\">\n <div class=\"age-indicator-dot\" *ngFor=\"let dot of lastMeasuredDots\"></div>\n</div>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}\n"] }]
|
|
32
|
+
}], ctorParameters: () => [], propDecorators: { lastMeasured: [{
|
|
33
|
+
type: Input
|
|
34
|
+
}] } });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlLWluZGljYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NydW10ZWFtc3VydmV5LXRvb2xzL3NyYy9saWIvcmVzdWx0cy9jb21wb25lbnRzL2FnZS1pbmRpY2F0b3IvYWdlLWluZGljYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NydW10ZWFtc3VydmV5LXRvb2xzL3NyYy9saWIvcmVzdWx0cy9jb21wb25lbnRzL2FnZS1pbmRpY2F0b3IvYWdlLWluZGljYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7OztBQU96RCxNQUFNLE9BQU8scUJBQXFCO0lBTS9CO0lBQ0EsQ0FBQztJQUVNLFFBQVE7UUFDWixJQUFJLFdBQVcsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDOUMsSUFBSSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEdBQUcsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLFdBQVcsQ0FBQyxRQUFRLEVBQUUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDbkosSUFBSSxrQkFBa0IsR0FBRyxFQUFFLEVBQUUsQ0FBQztZQUFDLGtCQUFrQixJQUFJLEVBQUUsQ0FBQztRQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBRXpELElBQUksa0JBQWtCLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLHNFQUFzRSxDQUFDO1FBQ3JHLENBQUM7YUFDSSxJQUFJLGtCQUFrQixJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyw0R0FBNEcsQ0FBQztRQUMzSSxDQUFDO2FBQ0ksQ0FBQztZQUNILElBQUksQ0FBQyxtQkFBbUIsR0FBRyxnQ0FBZ0MsR0FBRyxrQkFBa0IsR0FBRyxxRUFBcUUsQ0FBQztRQUM1SixDQUFDO0lBQ0wsQ0FBQzs4R0F6QlUscUJBQXFCO2tHQUFyQixxQkFBcUIsK0ZDUGxDLG9PQUdBOzsyRkRJYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsZUFBZTt3REFLZixZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FnZS1pbmRpY2F0b3InLFxuICAgdGVtcGxhdGVVcmw6ICcuL2FnZS1pbmRpY2F0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgc3R5bGVVcmxzOiBbJy4vYWdlLWluZGljYXRvci5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBBZ2VJbmRpY2F0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgQElucHV0KCkgbGFzdE1lYXN1cmVkOiBEYXRlO1xuICAgcHVibGljIGxhc3RNZWFzdXJlZERvdHM6IEFycmF5PG51bWJlcj47XG4gICBwdWJsaWMgbGFzdE1lYXN1cmVkT3BhY2l0eTogbnVtYmVyO1xuICAgcHVibGljIGxhc3RNZWFzdXJlZFRvb2x0aXA6IHN0cmluZztcblxuICAgY29uc3RydWN0b3IoKSB7XG4gICB9XG4gIFxuICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgdmFyIG1lYXN1cmVEYXRlID0gbmV3IERhdGUodGhpcy5sYXN0TWVhc3VyZWQpO1xuICAgICAgdmFyIGxhc3RNZWFzdXJlZE1vbnRocyA9IE1hdGgubWF4KDAsIChuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkgLSBtZWFzdXJlRGF0ZS5nZXRGdWxsWWVhcigpKSAqIDEyIC0gbWVhc3VyZURhdGUuZ2V0TW9udGgoKSArIG5ldyBEYXRlKCkuZ2V0TW9udGgoKSk7XG4gICAgICBpZiAobGFzdE1lYXN1cmVkTW9udGhzID4gMTIpIHsgbGFzdE1lYXN1cmVkTW9udGhzID09IDEyOyB9XG4gICAgICB0aGlzLmxhc3RNZWFzdXJlZERvdHMgPSBuZXcgQXJyYXkobGFzdE1lYXN1cmVkTW9udGhzKTtcbiAgICAgIHRoaXMubGFzdE1lYXN1cmVkT3BhY2l0eSA9IDEgLSAobGFzdE1lYXN1cmVkTW9udGhzIC8gMTQpO1xuXG4gICAgICBpZiAobGFzdE1lYXN1cmVkTW9udGhzIDw9IDEpIHtcbiAgICAgICAgIHRoaXMubGFzdE1lYXN1cmVkVG9vbHRpcCA9ICdUaGlzIGZhY3RvciB3YXMgbGFzdCBtZWFzdXJlZCAxIG1vbnRoIG9yIGxlc3MgYWdvLiBJdCBpcyBmcmVzaCBkYXRhLic7XG4gICAgICB9XG4gICAgICBlbHNlIGlmIChsYXN0TWVhc3VyZWRNb250aHMgPj0gMTIpIHtcbiAgICAgICAgIHRoaXMubGFzdE1lYXN1cmVkVG9vbHRpcCA9ICdUaGlzIGZhY3RvciB3YXMgbGFzdCBtZWFzdXJlZCAxMiBtb250aCBvciBtb3JlIGFnby4gV2UgcmVjb21tZW5kIHRvIG1lYXN1cmUgdGhpcyBhZ2FpbiB0byBrZWVwIGRhdGEgZnJlc2guJztcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICAgdGhpcy5sYXN0TWVhc3VyZWRUb29sdGlwID0gJ1RoaXMgZmFjdG9yIHdhcyBsYXN0IG1lYXN1cmVkICcgKyBsYXN0TWVhc3VyZWRNb250aHMgKyAnIG1vbnRoIG9yIG1vcmUgYWdvLiBUaGUgZnJlc2hlciB5b3VyIGRhdGEsIHRoZSBtb3JlIHJlbGlhYmxlIGl0IGlzLic7XG4gICAgICB9XG4gIH1cbiAgXG59XG4iLCI8ZGl2IGNsYXNzPVwiYWdlLWluZGljYXRvclwiIFtzdHlsZS5vcGFjaXR5XT1cImxhc3RNZWFzdXJlZE9wYWNpdHlcIiBbbWF0VG9vbHRpcF09XCJsYXN0TWVhc3VyZWRUb29sdGlwXCIgKm5nSWY9XCJsYXN0TWVhc3VyZWREb3RzXCI+XG4gICA8ZGl2IGNsYXNzPVwiYWdlLWluZGljYXRvci1kb3RcIiAqbmdGb3I9XCJsZXQgZG90IG9mIGxhc3RNZWFzdXJlZERvdHNcIj48L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -34,7 +34,7 @@ export class FactorsComponent extends ComponentWithViewStateBase {
|
|
|
34
34
|
}
|
|
35
35
|
;
|
|
36
36
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: FactorsComponent, deps: [{ token: VIEWSTATE_PROVIDER }, { token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: FactorsComponent, selector: "factors", usesInheritance: true, ngImport: i0, template: "<div class=\"results\" *ngIf=\"loaded\">\n <limitationsapply [notes]=\"globalNotes\"></limitationsapply>\n\n <div class=\"resultstoolbar\">\n <h3>Detailed results</h3>\n <div class=\"legend\">\n <div class=\"column you\" *ngIf=\"showParticipant\">\n <span class=\"marker\"></span>\n <span class=\"label\">you</span>\n </div>\n\n <div [class]=\"'column ' + segment.name | lowercase\" *ngFor=\"let segment of populationSegments\">\n <span class=\"marker\"></span>\n <span class=\"label\">{{segment.name | lowercase}} {{segment.occurances || 1}}x</span>\n </div>\n\n <div class=\"column confidence\">\n <span class=\"marker\"></span>\n <span class=\"label\">benchmark '{{benchmarkName}}' <a [routerLink]=\"[]\" id=\"change-benchmark\" settingsDialog><span class=\"icon ph-faders-bold\"></span></a></span>\n </div>\n </div>\n <div class=\"filters\">\n <mat-slide-toggle *ngIf=\"showParticipant\" class=\"toggle showmyscores\" [(ngModel)]=\"showIndividualScore\">Show my scores</mat-slide-toggle>\n <mat-slide-toggle class=\"toggle showscoringrange\" [(ngModel)]=\"showTeamRange\" *ngIf=\"subscribed\">Show range of scores in my team</mat-slide-toggle>\n <mat-slide-toggle class=\"toggle showscoringrange\" *ngIf=\"!subscribed\" subscribeDialog>Show range of scores in my team</mat-slide-toggle>\n </div>\n </div>\n\n <div class=\"dimensions\">\n <div class=\"dimension\" *ngFor=\"let factor of factors\" [id]=\"'factor-' + factor.name | slugify\">\n <factor-axis [showIndividualScore]=\"showIndividualScore\" [showTeamRange]=\"showTeamRange\" [dimensionSelector]=\"factor\"></factor-axis>\n </div>\n </div>\n</div>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.results{margin-bottom:50px}.results .moreparticipantsneeded{background:#ef6f00;padding:15px;color:#fff}.results .dimensions{border:3px solid #f0f0f0}.results .dimension{border-bottom:3px solid #f0f0f0}.results .dimension:last-of-type{border-bottom:none}.results .resultstoolbar{padding:20px;background:#f0f0f0;position:relative}.results .resultstoolbar .warning{position:absolute;top:25px;right:25px;text-decoration:none;color:#ef6f00}.results .resultstoolbar .warning .icon{font-size:36px}.results .resultstoolbar .legend .column .label a{text-decoration:none}.results .resultstoolbar .legend .column .label .icon{margin-left:5px;font-size:18px}.results .resultstoolbar .legend .column.you .marker{background:#1f3f8f}.results .resultstoolbar .legend .column.teammember .marker{background:#00af77}.results .resultstoolbar .legend .column.stakeholder .marker{background:#fff73f}.results .resultstoolbar .legend .column.supporter .marker{background:#ef6f00}.results .resultstoolbar .legend .column.confidence .marker{background:#ef59a1}.results .resultstoolbar .filters{margin-top:30px;align-items:center;display:flex}@media only screen and (max-width: 1320px){.results .resultstoolbar .filters{display:block}}.results .resultstoolbar .filters .toggle{margin-right:30px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "directive", type: i6.OpenSubscribeDialogDirective, selector: "[subscribeDialog]" }, { kind: "directive", type: i7.OpenSettingsDialogDirective, selector: "[settingsDialog]" }, { kind: "component", type: i8.FactorAxisComponent, selector: "factor-axis", inputs: ["dimensionSelector", "showIndividualScore", "showTeamRange"] }, { kind: "component", type: i9.LimitationsApplyComponent, selector: "limitationsapply", inputs: ["notes"] }, { kind: "pipe", type: i2.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: i10.SlugifyPipe, name: "slugify" }] }); }
|
|
37
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: FactorsComponent, selector: "factors", usesInheritance: true, ngImport: i0, template: "<div class=\"results\" *ngIf=\"loaded\">\n <limitationsapply [notes]=\"globalNotes\"></limitationsapply>\n\n <div class=\"resultstoolbar\">\n <h3>Detailed results</h3>\n <div class=\"legend\">\n <div class=\"column you\" *ngIf=\"showParticipant\">\n <span class=\"marker\"></span>\n <span class=\"label\">you</span>\n </div>\n\n <div [class]=\"'column ' + segment.name | lowercase\" *ngFor=\"let segment of populationSegments\">\n <span class=\"marker\"></span>\n <span class=\"label\">{{segment.name | lowercase}} {{segment.occurances || 1}}x</span>\n </div>\n\n <div class=\"column confidence\">\n <span class=\"marker\"></span>\n <span class=\"label\">benchmark '{{benchmarkName}}' <a [routerLink]=\"[]\" id=\"change-benchmark\" settingsDialog><span class=\"icon ph-faders-bold\"></span></a></span>\n </div>\n </div>\n <div class=\"filters\">\n <mat-slide-toggle *ngIf=\"showParticipant\" class=\"toggle showmyscores\" [(ngModel)]=\"showIndividualScore\">Show my scores</mat-slide-toggle>\n <mat-slide-toggle class=\"toggle showscoringrange\" [(ngModel)]=\"showTeamRange\" *ngIf=\"subscribed\">Show range of scores in my team</mat-slide-toggle>\n <mat-slide-toggle class=\"toggle showscoringrange\" *ngIf=\"!subscribed\" subscribeDialog>Show range of scores in my team</mat-slide-toggle>\n </div>\n </div>\n\n <div class=\"dimensions\">\n <div class=\"dimension\" *ngFor=\"let factor of factors\" [id]=\"'factor-' + factor.name | slugify\">\n <factor-axis [showIndividualScore]=\"showIndividualScore\" [showTeamRange]=\"showTeamRange\" [dimensionSelector]=\"factor\"></factor-axis>\n </div>\n </div>\n</div>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.results{margin-bottom:50px}.results .moreparticipantsneeded{background:#ef6f00;padding:15px;color:#fff}.results .dimensions{border:3px solid #f0f0f0}.results .dimension{border-bottom:3px solid #f0f0f0}.results .dimension:last-of-type{border-bottom:none}.results .resultstoolbar{padding:20px;background:#f0f0f0;position:relative}.results .resultstoolbar .warning{position:absolute;top:25px;right:25px;text-decoration:none;color:#ef6f00}.results .resultstoolbar .warning .icon{font-size:36px}.results .resultstoolbar .legend .column .label a{text-decoration:none}.results .resultstoolbar .legend .column .label .icon{margin-left:5px;font-size:18px}.results .resultstoolbar .legend .column.you .marker{background:#1f3f8f}.results .resultstoolbar .legend .column.teammember .marker{background:#00af77}.results .resultstoolbar .legend .column.stakeholder .marker{background:#fff73f}.results .resultstoolbar .legend .column.supporter .marker{background:#ef6f00}.results .resultstoolbar .legend .column.confidence .marker{background:#ef59a1}.results .resultstoolbar .filters{margin-top:30px;align-items:center;display:flex}@media only screen and (max-width: 1320px){.results .resultstoolbar .filters{display:block}}.results .resultstoolbar .filters .toggle{margin-right:30px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "directive", type: i6.OpenSubscribeDialogDirective, selector: "[subscribeDialog]" }, { kind: "directive", type: i7.OpenSettingsDialogDirective, selector: "[settingsDialog]", inputs: ["showSettingStacking"] }, { kind: "component", type: i8.FactorAxisComponent, selector: "factor-axis", inputs: ["dimensionSelector", "showIndividualScore", "showTeamRange"] }, { kind: "component", type: i9.LimitationsApplyComponent, selector: "limitationsapply", inputs: ["notes"] }, { kind: "pipe", type: i2.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: i10.SlugifyPipe, name: "slugify" }] }); }
|
|
38
38
|
}
|
|
39
39
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: FactorsComponent, decorators: [{
|
|
40
40
|
type: Component,
|
|
@@ -64,7 +64,7 @@ export class ModelComponent extends ComponentWithViewStateBase {
|
|
|
64
64
|
}
|
|
65
65
|
;
|
|
66
66
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ModelComponent, deps: [{ token: VIEWSTATE_PROVIDER }, { token: i1.MatDialog }, { token: i2.MatSnackBar }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
67
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: ModelComponent, selector: "model", host: { listeners: { "window:resize": "determineScreenSize($event)" } }, usesInheritance: true, ngImport: i0, template: "\n<div *ngIf=\"!showModel\" class=\"message message-warning\">\n <div><span class=\"icon ph-info-fill\"></span> We've hidden the model visualization because your resolution is too low. Please try a larger device, like a tablet, laptop or desktop.</div>\n</div>\n\n<limitationsapply [notes]=\"globalNotes\"></limitationsapply>\n\n<div class=\"wirebox model\" *ngIf=\"factors && showModel\">\n <div class=\"top\">\n <div class=\"toolbar\">\n <div class=\"toolbar-settings\">\n <div class=\"toolbar-setting\">\n <div class=\"toolbar-setting-title\">Selected Benchmark</div>\n <div class=\"toolbar-setting-label\">{{benchmark}}</div>\n </div>\n <div class=\"toolbar-setting\">\n <div class=\"toolbar-setting-title\">compare results to</div>\n <div class=\"toolbar-setting-label\" *ngIf=\"qualifiedBy == QualifiedByEnum.none\">No comparison</div>\n <div class=\"toolbar-setting-label\" *ngIf=\"qualifiedBy == QualifiedByEnum.delta && deltaType == 'PreviousSnapshot'\">Previous snapshot from {{deltaDateRange | dateRange}}</div>\n <div class=\"toolbar-setting-label\" *ngIf=\"qualifiedBy == QualifiedByEnum.delta && deltaType != 'PreviousSnapshot'\">Current period <span class=\"icon ph-info-fill\" [matTooltip]=\"'Current period ranges from ' + (dateRange | dateRange) + '. This includes weighed measurements from ' + pointCount + ' ' + pointType + ': ' + pointNames\"></span> with previous period <span class=\"icon ph-info-fill\" [matTooltip]=\"'Previous period ranges from ' + (deltaDateRange | dateRange) + '. This includes weighed measurements from ' + deltaTeams + ' ' + pointType + ': ' + deltaTeamNames\"></span></div>\n <div class=\"toolbar-setting-label\" *ngIf=\"qualifiedBy == QualifiedByEnum.benchmark\">Against benchmark</div>\n </div>\n <div class=\"toolbar-setting\" *ngIf=\"qualifiedBy != QualifiedByEnum.none\">\n <div class=\"toolbar-setting-title\">comparison legend</div>\n <div class=\"toolbar-setting-markers negative\">\n <ng-container *ngIf=\"qualifiedBy == 'Benchmark'\">\n <div class=\"toolbar-setting-marker negative\">\n <span class=\"marker\"></span>\n <span class=\"label\">lower</span>\n </div>\n <div class=\"toolbar-setting-marker neutral\">\n <span class=\"marker\"></span>\n <span class=\"label\">similar</span>\n </div>\n <div class=\"toolbar-setting-marker positive\">\n <span class=\"marker\"></span>\n <span class=\"label\">higher</span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"qualifiedBy == 'Delta'\">\n <div class=\"toolbar-setting-marker negative\">\n <span class=\"marker\"></span>\n <span class=\"label\">decreased</span>\n </div>\n <div class=\"toolbar-setting-marker neutral\">\n <span class=\"marker\"></span>\n <span class=\"label\">similar</span>\n </div>\n <div class=\"toolbar-setting-marker positive\">\n <span class=\"marker\"></span>\n <span class=\"label\">improved</span>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"buttons\">\n <div class=\"button\" id=\"change-settings\" settingsDialog><span class=\"ph-faders icon\"></span> Settings</div>\n <div class=\"button\" id=\"export-factorscores\" exportFactorScoresDialog *ngIf=\"isLoggedIn\"><span class=\"ph-download-simple icon\"></span> Export</div>\n </div>\n </div>\n </div>\n <div class=\"content\">\n <div class=\"model\">\n <div *ngIf=\"!showModel || !showSubFactorArrows\" class=\"message message-warning\">\n <div><span class=\"icon ph-info-fill\"></span> View on a larger device to see more details (like lower-order factors).</div>\n </div>\n\n <div class=\"model-frame\" [class]=\"'model-' + modelDefinition.publicKey\">\n <ng-container *ngFor=\"let factor of factors\">\n <model-factor [dimension]=\"factor\" [factorExtraClass]=\"'factor-primary'\"></model-factor>\n </ng-container>\n </div>\n\n <ng-container *ngFor=\"let factor of factors\">\n <arrow [from]=\"'#factor-' + factor.publicKey\" [to]=\"'#factor-' + effect.to\" [onlyVisible]=\"true\" [tail]=\"true\" [head]=\"false\" [width]=\"effect.standardizedBeta * 10\" [text]=\"'+'\" *ngFor=\"let effect of factor.effects\"></arrow>\n <ng-container *ngIf=\"showSubFactorArrows\">\n <ng-container *ngFor=\"let lowerFactor of factor.lower\">\n <arrow [from]=\"'#factor-' + lowerFactor.publicKey\" [to]=\"'#factor-' + lowerEffect.to\" [onlyVisible]=\"true\" [tail]=\"false\" [head]=\"false\" [width]=\"1\" *ngFor=\"let lowerEffect of lowerFactor.effects\"></arrow>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n\n <div class=\"bottom\">\n <div class=\"message message-information\">\n <div>\n <span class=\"icon ph-info-fill\"></span>\n <span>\n <span [innerHtml]=\"modelDefinition.attribution\"></span>\n <span> Explore our <a href=\"https://github.com/theliberators/scrumteamsurvey.docs/wiki\" target=\"_blank\">wiki</a> for details on calculations and common questions.</span>\n </span>\n </div>\n </div>\n </div>\n</div>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.content .model .model-frame{margin-top:30px;min-height:1000px;position:relative}@media only screen and (max-width: 1320px){.content .model .model-frame{min-height:350px}}.message{flex-wrap:wrap}.message ul{margin-bottom:0;margin-top:15px}.break{flex-basis:100%;height:0}.toolbar .buttons{min-width:350px;text-align:right}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i5.ArrowComponent, selector: "arrow", inputs: ["from", "to", "head", "tail", "text", "toolTip", "color", "width", "onlyVisible", "fromX", "fromY", "toX", "toY"] }, { kind: "component", type: i6.ModelFactorComponent, selector: "model-factor", inputs: ["dimension", "factorExtraClass"] }, { kind: "directive", type: i7.OpenSettingsDialogDirective, selector: "[settingsDialog]" }, { kind: "directive", type: i8.OpenExportFactorScoresDialogDirective, selector: "[exportFactorScoresDialog]" }, { kind: "component", type: i9.LimitationsApplyComponent, selector: "limitationsapply", inputs: ["notes"] }, { kind: "pipe", type: i10.DateRangePipe, name: "dateRange" }] }); }
|
|
67
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: ModelComponent, selector: "model", host: { listeners: { "window:resize": "determineScreenSize($event)" } }, usesInheritance: true, ngImport: i0, template: "\n<div *ngIf=\"!showModel\" class=\"message message-warning\">\n <div><span class=\"icon ph-info-fill\"></span> We've hidden the model visualization because your resolution is too low. Please try a larger device, like a tablet, laptop or desktop.</div>\n</div>\n\n<limitationsapply [notes]=\"globalNotes\"></limitationsapply>\n\n<div class=\"wirebox model\" *ngIf=\"factors && showModel\">\n <div class=\"top\">\n <div class=\"toolbar\">\n <div class=\"toolbar-settings\">\n <div class=\"toolbar-setting\">\n <div class=\"toolbar-setting-title\">Selected Benchmark</div>\n <div class=\"toolbar-setting-label\">{{benchmark}}</div>\n </div>\n <div class=\"toolbar-setting\">\n <div class=\"toolbar-setting-title\">compare results to</div>\n <div class=\"toolbar-setting-label\" *ngIf=\"qualifiedBy == QualifiedByEnum.none\">No comparison</div>\n <div class=\"toolbar-setting-label\" *ngIf=\"qualifiedBy == QualifiedByEnum.delta && deltaType == 'PreviousSnapshot'\">Previous snapshot from {{deltaDateRange | dateRange}}</div>\n <div class=\"toolbar-setting-label\" *ngIf=\"qualifiedBy == QualifiedByEnum.delta && deltaType != 'PreviousSnapshot'\">Current period <span class=\"icon ph-info-fill\" [matTooltip]=\"'Current period ranges from ' + (dateRange | dateRange) + '. This includes weighed measurements from ' + pointCount + ' ' + pointType + ': ' + pointNames\"></span> with previous period <span class=\"icon ph-info-fill\" [matTooltip]=\"'Previous period ranges from ' + (deltaDateRange | dateRange) + '. This includes weighed measurements from ' + deltaTeams + ' ' + pointType + ': ' + deltaTeamNames\"></span></div>\n <div class=\"toolbar-setting-label\" *ngIf=\"qualifiedBy == QualifiedByEnum.benchmark\">Against benchmark</div>\n </div>\n <div class=\"toolbar-setting\" *ngIf=\"qualifiedBy != QualifiedByEnum.none\">\n <div class=\"toolbar-setting-title\">comparison legend</div>\n <div class=\"toolbar-setting-markers negative\">\n <ng-container *ngIf=\"qualifiedBy == 'Benchmark'\">\n <div class=\"toolbar-setting-marker negative\">\n <span class=\"marker\"></span>\n <span class=\"label\">lower</span>\n </div>\n <div class=\"toolbar-setting-marker neutral\">\n <span class=\"marker\"></span>\n <span class=\"label\">similar</span>\n </div>\n <div class=\"toolbar-setting-marker positive\">\n <span class=\"marker\"></span>\n <span class=\"label\">higher</span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"qualifiedBy == 'Delta'\">\n <div class=\"toolbar-setting-marker negative\">\n <span class=\"marker\"></span>\n <span class=\"label\">decreased</span>\n </div>\n <div class=\"toolbar-setting-marker neutral\">\n <span class=\"marker\"></span>\n <span class=\"label\">similar</span>\n </div>\n <div class=\"toolbar-setting-marker positive\">\n <span class=\"marker\"></span>\n <span class=\"label\">improved</span>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"buttons\">\n <div class=\"button\" id=\"change-settings\" settingsDialog><span class=\"ph-faders icon\"></span> Settings</div>\n <div class=\"button\" id=\"export-factorscores\" exportFactorScoresDialog *ngIf=\"isLoggedIn\"><span class=\"ph-download-simple icon\"></span> Export</div>\n </div>\n </div>\n </div>\n <div class=\"content\">\n <div class=\"model\">\n <div *ngIf=\"!showModel || !showSubFactorArrows\" class=\"message message-warning\">\n <div><span class=\"icon ph-info-fill\"></span> View on a larger device to see more details (like lower-order factors).</div>\n </div>\n\n <div class=\"model-frame\" [class]=\"'model-' + modelDefinition.publicKey\">\n <ng-container *ngFor=\"let factor of factors\">\n <model-factor [dimension]=\"factor\" [factorExtraClass]=\"'factor-primary'\"></model-factor>\n </ng-container>\n </div>\n\n <ng-container *ngFor=\"let factor of factors\">\n <arrow [from]=\"'#factor-' + factor.publicKey\" [to]=\"'#factor-' + effect.to\" [onlyVisible]=\"true\" [tail]=\"true\" [head]=\"false\" [width]=\"effect.standardizedBeta * 10\" [text]=\"'+'\" *ngFor=\"let effect of factor.effects\"></arrow>\n <ng-container *ngIf=\"showSubFactorArrows\">\n <ng-container *ngFor=\"let lowerFactor of factor.lower\">\n <arrow [from]=\"'#factor-' + lowerFactor.publicKey\" [to]=\"'#factor-' + lowerEffect.to\" [onlyVisible]=\"true\" [tail]=\"false\" [head]=\"false\" [width]=\"1\" *ngFor=\"let lowerEffect of lowerFactor.effects\"></arrow>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n\n <div class=\"bottom\">\n <div class=\"message message-information\">\n <div>\n <span class=\"icon ph-info-fill\"></span>\n <span>\n <span [innerHtml]=\"modelDefinition.attribution\"></span>\n <span> Explore our <a href=\"https://github.com/theliberators/scrumteamsurvey.docs/wiki\" target=\"_blank\">wiki</a> for details on calculations and common questions.</span>\n </span>\n </div>\n </div>\n </div>\n</div>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.content .model .model-frame{margin-top:30px;min-height:1000px;position:relative}@media only screen and (max-width: 1320px){.content .model .model-frame{min-height:350px}}.message{flex-wrap:wrap}.message ul{margin-bottom:0;margin-top:15px}.break{flex-basis:100%;height:0}.toolbar .buttons{min-width:350px;text-align:right}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i5.ArrowComponent, selector: "arrow", inputs: ["from", "to", "head", "tail", "text", "toolTip", "color", "width", "onlyVisible", "fromX", "fromY", "toX", "toY"] }, { kind: "component", type: i6.ModelFactorComponent, selector: "model-factor", inputs: ["dimension", "factorExtraClass"] }, { kind: "directive", type: i7.OpenSettingsDialogDirective, selector: "[settingsDialog]", inputs: ["showSettingStacking"] }, { kind: "directive", type: i8.OpenExportFactorScoresDialogDirective, selector: "[exportFactorScoresDialog]" }, { kind: "component", type: i9.LimitationsApplyComponent, selector: "limitationsapply", inputs: ["notes"] }, { kind: "pipe", type: i10.DateRangePipe, name: "dateRange" }] }); }
|
|
68
68
|
}
|
|
69
69
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ModelComponent, decorators: [{
|
|
70
70
|
type: Component,
|
|
@@ -11,10 +11,11 @@ import * as i5 from "@angular/router";
|
|
|
11
11
|
import * as i6 from "@ncstate/sat-popover";
|
|
12
12
|
import * as i7 from "../../../dialogs/dialog-factorinformation/dialog-factorinformation.component";
|
|
13
13
|
import * as i8 from "../delta-arrow/delta-arrow.component";
|
|
14
|
-
import * as i9 from "../
|
|
15
|
-
import * as i10 from "../
|
|
16
|
-
import * as i11 from "
|
|
17
|
-
import * as i12 from "
|
|
14
|
+
import * as i9 from "../age-indicator/age-indicator.component";
|
|
15
|
+
import * as i10 from "../quicktips/quicktips.component";
|
|
16
|
+
import * as i11 from "../model-factor-breakdown/model-factor-breakdown.component";
|
|
17
|
+
import * as i12 from "../../dialogs/dialog-notes/dialog-notes.component";
|
|
18
|
+
import * as i13 from "../../../viewModel/viewModelState.service";
|
|
18
19
|
export class ModelFactorComponent extends ComponentWithViewStateBase {
|
|
19
20
|
constructor(state, userSettingsService, snackBar) {
|
|
20
21
|
super(state, snackBar);
|
|
@@ -78,12 +79,12 @@ export class ModelFactorComponent extends ComponentWithViewStateBase {
|
|
|
78
79
|
}
|
|
79
80
|
;
|
|
80
81
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ModelFactorComponent, deps: [{ token: VIEWSTATE_PROVIDER }, { token: i1.UserSettingService }, { token: i2.MatSnackBar }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
81
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: ModelFactorComponent, selector: "model-factor", inputs: { dimension: "dimension", factorExtraClass: "factorExtraClass" }, usesInheritance: true, ngImport: i0, template: "<div [class]=\"'factor ' + factorExtraClass + ' ' + direction\" [ngClass]=\"{'factor-notmeasured' : !dataAvailable}\" [id]=\"'factor-' + dimensionKey\" #factor (click)=\"popover.open()\">\n <div class=\"factor-content\">\n <h2>\n {{name}}\n </h2>\n <div [class]=\"'progressbar progressbar-' + direction\">\n <div class=\"progressbar-score\">{{score | number:'1.0-0'}}</div>\n <div class=\"progressbar-confidence\" *ngIf=\"confidenceAvailable\" [matTooltip]=\"'Most responses fall in the range of ' + factorScore.lowerConfidence + ' (15% percentile) and ' + factorScore.upperConfidence + ' (85% percentile)'\" [style]=\"'left: ' + factorScoreLeft + '%; width: ' + factorScoreWidth + '%'\"></div>\n <div class=\"progressbar-bar\" *ngIf=\"!confidenceAvailable\" [style]=\"'width: ' + score + '%'\"></div>\n </div>\n <delta-arrow *ngIf=\"dataAvailable\" [factorScore]=\"factorScore\" [delta]=\"delta\" [noDataIndicator]=\"false\"></delta-arrow>\n </div>\n <div class=\"emphasize emphasize-interventions\" *ngIf=\"filter.interventionFilter == 'All' && (openInterventions > 0 || completedInterventions > 0)\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + openInterventions + ' open, and ' + completedInterventions + ' completed action(s). Each action is identified and created by the teams themselves.'\">\n {{openInterventions}}<small>/{{completedInterventions}}</small>\n </div>\n <a class=\"emphasize emphasize-interventions\" *ngIf=\"filter.interventionFilter == 'OnlyOpen' && openInterventions > 0\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ state: InterventionStateEnum.open, expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + openInterventions + ' open improvement actions. Each action is identified and created by the teams themselves.'\">\n <i class=\"ph-flask icon\"></i> {{openInterventions}}\n </a>\n <div class=\"emphasize emphasize-interventions\" *ngIf=\"filter.interventionFilter == 'OnlyCompleted' && completedInterventions > 0\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ state: InterventionStateEnum.completed, expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + openInterventions + ' completed improvement actions. Each action is identified and created by the teams themselves.'\">\n <i class=\"ph-check-bold icon\"></i> {{completedInterventions}}\n </div>\n <div class=\"emphasize emphasize-impediments\" *ngIf=\"impededInterventions > 0\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ state: InterventionStateEnum.impeded, expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + impededInterventions + ' actions where teams are requesting from help from outside the team.'\">\n <img class=\"icon\" src=\"/assets/img/impeded.svg\" /> {{impededInterventions}}\n </div>\n</div>\n\n<div [id]=\"'factor-' + dimensionKey + '-subfactors'\" class=\"subfactors\">\n <model-factor [dimension]=\"subDimension\" [factorExtraClass]=\"'factor-sub'\" *ngFor=\"let subDimension of subDimensions\"></model-factor>\n</div>\n\n<sat-popover #popover horizontalAlign=\"after\" [anchor]=\"factor\" verticalAlign=\"center\" [hasBackdrop]=\"true\" [autoFocus]=\"false\">\n <div class=\"popover\" [id]=\"'popover-' + dimensionKey\">\n <div class=\"popover-container\">\n <span (click)=\"popover.close()\" class=\"close ph-x\"></span>\n <h3 factorInformationDialog [factor]=\"dimension\">\n {{name}}\n <span class=\"icon ph-info-fill\"></span>\n </h3>\n <div class=\"description\">{{description}}</div>\n\n <div class=\"message message-warning limitations\" *ngIf=\"notes && notes.length > 0\">\n <span class=\"icon ph-warning-circle\"></span>\n <span *ngIf=\"notes.length == 1\">\n {{notes.length}} limitation applies to these results. <a [routerLink]=\"[]\" notesDialog [notes]=\"notes\">Click to explore</a>.\n </span>\n <span *ngIf=\"notes.length > 1\">\n {{notes.length}} limitations apply to these results. <a [routerLink]=\"[]\" notesDialog [notes]=\"notes\">Click to explore</a>.\n </span>\n </div>\n\n <div class=\"breakdown\">\n <div [matTooltip]=\"'This is the average score of teams in the benchmark [' + benchmark + ']. Change the benchmark under \\'Settings\\'.'\" [attr.normalizedScore]=\"benchmarkScore\" [class]=\"'progressbar progressbar-inverted progressbar-benchmark'\" *ngIf=\"benchmarkScore != 0\">\n <div class=\"progressbar-bar\" [style]=\"'width: ' + benchmarkScore + '%'\"></div>\n <div class=\"progressbar-label\">benchmark</div>\n <div class=\"progressbar-score\">{{benchmarkScore | number:'1.0-0' }}</div>W\n </div>\n <div class=\"details\">\n </div>\n </div>\n\n <model-factor-breakdown [factor]=\"currentFactor\"></model-factor-breakdown>\n\n <quicktips [dimensionKey]=\"dimensionKey\" [extraClass]=\"'quicktips-popover'\"></quicktips>\n\n <div class=\"link\" *ngIf=\"feedbackAvailable\">\n <a [routerLink]=\"[baseUrl, 'tips']\" [fragment]=\"dimensionKey\">discover how to improve ></a>\n </div>\n </div>\n <div class=\"arrow\"></div>\n </div>\n</sat-popover>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.quicktips-popover{background:none}h3{cursor:pointer;margin-bottom:10px}h3 .icon{vertical-align:middle}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i6.SatPopoverComponent, selector: "sat-popover", inputs: ["anchor", "horizontalAlign", "xAlign", "verticalAlign", "yAlign", "forceAlignment", "lockAlignment", "autoFocus", "restoreFocus", "scrollStrategy", "hasBackdrop", "interactiveClose", "openTransition", "closeTransition", "openAnimationStartAtScale", "closeAnimationEndAtScale", "backdropClass", "panelClass"], outputs: ["opened", "closed", "afterOpen", "afterClose", "backdropClicked", "overlayKeydown"] }, { kind: "directive", type: i7.OpenFactorInformationDialogDirective, selector: "[factorInformationDialog]", inputs: ["factor"] }, { kind: "component", type: i8.DeltaArrowComponent, selector: "delta-arrow", inputs: ["factorScore", "delta", "noDataIndicator"] }, { kind: "component", type: i9.QuickTipsComponent, selector: "quicktips", inputs: ["dimensionKey", "extraClass"] }, { kind: "component", type: ModelFactorComponent, selector: "model-factor", inputs: ["dimension", "factorExtraClass"] }, { kind: "component", type:
|
|
82
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: ModelFactorComponent, selector: "model-factor", inputs: { dimension: "dimension", factorExtraClass: "factorExtraClass" }, usesInheritance: true, ngImport: i0, template: "<div [class]=\"'factor ' + factorExtraClass + ' ' + direction\" [ngClass]=\"{'factor-notmeasured' : !dataAvailable}\" [id]=\"'factor-' + dimensionKey\" #factor (click)=\"popover.open()\">\n <div class=\"factor-content\">\n <h2>\n {{name}}\n </h2>\n <div [class]=\"'progressbar progressbar-' + direction\">\n <div class=\"progressbar-score\">{{score | number:'1.0-0'}}</div>\n <div class=\"progressbar-confidence\" *ngIf=\"confidenceAvailable\" [matTooltip]=\"'Most responses fall in the range of ' + factorScore.lowerConfidence + ' (15% percentile) and ' + factorScore.upperConfidence + ' (85% percentile)'\" [style]=\"'left: ' + factorScoreLeft + '%; width: ' + factorScoreWidth + '%'\"></div>\n <div class=\"progressbar-bar\" *ngIf=\"!confidenceAvailable\" [style]=\"'width: ' + score + '%'\"></div>\n </div>\n <age-indicator [lastMeasured]=\"factorScore.lastMeasured\"></age-indicator>\n <delta-arrow *ngIf=\"dataAvailable\" [factorScore]=\"factorScore\" [delta]=\"delta\" [noDataIndicator]=\"false\"></delta-arrow>\n </div>\n <div class=\"emphasize emphasize-interventions\" *ngIf=\"filter.interventionFilter == 'All' && (openInterventions > 0 || completedInterventions > 0)\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + openInterventions + ' open, and ' + completedInterventions + ' completed action(s). Each action is identified and created by the teams themselves.'\">\n {{openInterventions}}<small>/{{completedInterventions}}</small>\n </div>\n <a class=\"emphasize emphasize-interventions\" *ngIf=\"filter.interventionFilter == 'OnlyOpen' && openInterventions > 0\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ state: InterventionStateEnum.open, expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + openInterventions + ' open improvement actions. Each action is identified and created by the teams themselves.'\">\n <i class=\"ph-flask icon\"></i> {{openInterventions}}\n </a>\n <div class=\"emphasize emphasize-interventions\" *ngIf=\"filter.interventionFilter == 'OnlyCompleted' && completedInterventions > 0\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ state: InterventionStateEnum.completed, expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + openInterventions + ' completed improvement actions. Each action is identified and created by the teams themselves.'\">\n <i class=\"ph-check-bold icon\"></i> {{completedInterventions}}\n </div>\n <div class=\"emphasize emphasize-impediments\" *ngIf=\"impededInterventions > 0\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ state: InterventionStateEnum.impeded, expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + impededInterventions + ' actions where teams are requesting from help from outside the team.'\">\n <img class=\"icon\" src=\"/assets/img/impeded.svg\" /> {{impededInterventions}}\n </div>\n</div>\n\n<div [id]=\"'factor-' + dimensionKey + '-subfactors'\" class=\"subfactors\">\n <model-factor [dimension]=\"subDimension\" [factorExtraClass]=\"'factor-sub'\" *ngFor=\"let subDimension of subDimensions\"></model-factor>\n</div>\n\n<sat-popover #popover horizontalAlign=\"after\" [anchor]=\"factor\" verticalAlign=\"center\" [hasBackdrop]=\"true\" [autoFocus]=\"false\">\n <div class=\"popover\" [id]=\"'popover-' + dimensionKey\">\n <div class=\"popover-container\">\n <span (click)=\"popover.close()\" class=\"close ph-x\"></span>\n <h3 factorInformationDialog [factor]=\"dimension\">\n {{name}}\n <span class=\"icon ph-info-fill\"></span>\n </h3>\n <div class=\"description\">{{description}}</div>\n\n <div class=\"message message-warning limitations\" *ngIf=\"notes && notes.length > 0\">\n <span class=\"icon ph-warning-circle\"></span>\n <span *ngIf=\"notes.length == 1\">\n {{notes.length}} limitation applies to these results. <a [routerLink]=\"[]\" notesDialog [notes]=\"notes\">Click to explore</a>.\n </span>\n <span *ngIf=\"notes.length > 1\">\n {{notes.length}} limitations apply to these results. <a [routerLink]=\"[]\" notesDialog [notes]=\"notes\">Click to explore</a>.\n </span>\n </div>\n\n <div class=\"breakdown\">\n <div [matTooltip]=\"'This is the average score of teams in the benchmark [' + benchmark + ']. Change the benchmark under \\'Settings\\'.'\" [attr.normalizedScore]=\"benchmarkScore\" [class]=\"'progressbar progressbar-inverted progressbar-benchmark'\" *ngIf=\"benchmarkScore != 0\">\n <div class=\"progressbar-bar\" [style]=\"'width: ' + benchmarkScore + '%'\"></div>\n <div class=\"progressbar-label\">benchmark</div>\n <div class=\"progressbar-score\">{{benchmarkScore | number:'1.0-0' }}</div>W\n </div>\n <div class=\"details\">\n </div>\n </div>\n\n <model-factor-breakdown [factor]=\"currentFactor\"></model-factor-breakdown>\n\n <quicktips [dimensionKey]=\"dimensionKey\" [extraClass]=\"'quicktips-popover'\"></quicktips>\n\n <div class=\"link\" *ngIf=\"feedbackAvailable\">\n <a [routerLink]=\"[baseUrl, 'tips']\" [fragment]=\"dimensionKey\">discover how to improve ></a>\n </div>\n </div>\n <div class=\"arrow\"></div>\n </div>\n</sat-popover>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.quicktips-popover{background:none}h3{cursor:pointer;margin-bottom:10px}h3 .icon{vertical-align:middle}.age-indicator{width:100%;display:flex;font-size:8px;flex-direction:row;justify-content:center;margin-top:3px;margin-bottom:3px}.age-indicator .age-indicator-dot{width:4px;height:4px;background:#2f2f2f;border-radius:4px;margin-right:1px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i6.SatPopoverComponent, selector: "sat-popover", inputs: ["anchor", "horizontalAlign", "xAlign", "verticalAlign", "yAlign", "forceAlignment", "lockAlignment", "autoFocus", "restoreFocus", "scrollStrategy", "hasBackdrop", "interactiveClose", "openTransition", "closeTransition", "openAnimationStartAtScale", "closeAnimationEndAtScale", "backdropClass", "panelClass"], outputs: ["opened", "closed", "afterOpen", "afterClose", "backdropClicked", "overlayKeydown"] }, { kind: "directive", type: i7.OpenFactorInformationDialogDirective, selector: "[factorInformationDialog]", inputs: ["factor"] }, { kind: "component", type: i8.DeltaArrowComponent, selector: "delta-arrow", inputs: ["factorScore", "delta", "noDataIndicator"] }, { kind: "component", type: i9.AgeIndicatorComponent, selector: "age-indicator", inputs: ["lastMeasured"] }, { kind: "component", type: i10.QuickTipsComponent, selector: "quicktips", inputs: ["dimensionKey", "extraClass"] }, { kind: "component", type: ModelFactorComponent, selector: "model-factor", inputs: ["dimension", "factorExtraClass"] }, { kind: "component", type: i11.ModelFactorBreakdownComponent, selector: "model-factor-breakdown", inputs: ["factor", "pageSize"] }, { kind: "directive", type: i12.OpenNotesDialogDirective, selector: "[notesDialog]", inputs: ["notes"] }, { kind: "pipe", type: i3.DecimalPipe, name: "number" }] }); }
|
|
82
83
|
}
|
|
83
84
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ModelFactorComponent, decorators: [{
|
|
84
85
|
type: Component,
|
|
85
|
-
args: [{ selector: 'model-factor', template: "<div [class]=\"'factor ' + factorExtraClass + ' ' + direction\" [ngClass]=\"{'factor-notmeasured' : !dataAvailable}\" [id]=\"'factor-' + dimensionKey\" #factor (click)=\"popover.open()\">\n <div class=\"factor-content\">\n <h2>\n {{name}}\n </h2>\n <div [class]=\"'progressbar progressbar-' + direction\">\n <div class=\"progressbar-score\">{{score | number:'1.0-0'}}</div>\n <div class=\"progressbar-confidence\" *ngIf=\"confidenceAvailable\" [matTooltip]=\"'Most responses fall in the range of ' + factorScore.lowerConfidence + ' (15% percentile) and ' + factorScore.upperConfidence + ' (85% percentile)'\" [style]=\"'left: ' + factorScoreLeft + '%; width: ' + factorScoreWidth + '%'\"></div>\n <div class=\"progressbar-bar\" *ngIf=\"!confidenceAvailable\" [style]=\"'width: ' + score + '%'\"></div>\n </div>\n <delta-arrow *ngIf=\"dataAvailable\" [factorScore]=\"factorScore\" [delta]=\"delta\" [noDataIndicator]=\"false\"></delta-arrow>\n </div>\n <div class=\"emphasize emphasize-interventions\" *ngIf=\"filter.interventionFilter == 'All' && (openInterventions > 0 || completedInterventions > 0)\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + openInterventions + ' open, and ' + completedInterventions + ' completed action(s). Each action is identified and created by the teams themselves.'\">\n {{openInterventions}}<small>/{{completedInterventions}}</small>\n </div>\n <a class=\"emphasize emphasize-interventions\" *ngIf=\"filter.interventionFilter == 'OnlyOpen' && openInterventions > 0\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ state: InterventionStateEnum.open, expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + openInterventions + ' open improvement actions. Each action is identified and created by the teams themselves.'\">\n <i class=\"ph-flask icon\"></i> {{openInterventions}}\n </a>\n <div class=\"emphasize emphasize-interventions\" *ngIf=\"filter.interventionFilter == 'OnlyCompleted' && completedInterventions > 0\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ state: InterventionStateEnum.completed, expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + openInterventions + ' completed improvement actions. Each action is identified and created by the teams themselves.'\">\n <i class=\"ph-check-bold icon\"></i> {{completedInterventions}}\n </div>\n <div class=\"emphasize emphasize-impediments\" *ngIf=\"impededInterventions > 0\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ state: InterventionStateEnum.impeded, expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + impededInterventions + ' actions where teams are requesting from help from outside the team.'\">\n <img class=\"icon\" src=\"/assets/img/impeded.svg\" /> {{impededInterventions}}\n </div>\n</div>\n\n<div [id]=\"'factor-' + dimensionKey + '-subfactors'\" class=\"subfactors\">\n <model-factor [dimension]=\"subDimension\" [factorExtraClass]=\"'factor-sub'\" *ngFor=\"let subDimension of subDimensions\"></model-factor>\n</div>\n\n<sat-popover #popover horizontalAlign=\"after\" [anchor]=\"factor\" verticalAlign=\"center\" [hasBackdrop]=\"true\" [autoFocus]=\"false\">\n <div class=\"popover\" [id]=\"'popover-' + dimensionKey\">\n <div class=\"popover-container\">\n <span (click)=\"popover.close()\" class=\"close ph-x\"></span>\n <h3 factorInformationDialog [factor]=\"dimension\">\n {{name}}\n <span class=\"icon ph-info-fill\"></span>\n </h3>\n <div class=\"description\">{{description}}</div>\n\n <div class=\"message message-warning limitations\" *ngIf=\"notes && notes.length > 0\">\n <span class=\"icon ph-warning-circle\"></span>\n <span *ngIf=\"notes.length == 1\">\n {{notes.length}} limitation applies to these results. <a [routerLink]=\"[]\" notesDialog [notes]=\"notes\">Click to explore</a>.\n </span>\n <span *ngIf=\"notes.length > 1\">\n {{notes.length}} limitations apply to these results. <a [routerLink]=\"[]\" notesDialog [notes]=\"notes\">Click to explore</a>.\n </span>\n </div>\n\n <div class=\"breakdown\">\n <div [matTooltip]=\"'This is the average score of teams in the benchmark [' + benchmark + ']. Change the benchmark under \\'Settings\\'.'\" [attr.normalizedScore]=\"benchmarkScore\" [class]=\"'progressbar progressbar-inverted progressbar-benchmark'\" *ngIf=\"benchmarkScore != 0\">\n <div class=\"progressbar-bar\" [style]=\"'width: ' + benchmarkScore + '%'\"></div>\n <div class=\"progressbar-label\">benchmark</div>\n <div class=\"progressbar-score\">{{benchmarkScore | number:'1.0-0' }}</div>W\n </div>\n <div class=\"details\">\n </div>\n </div>\n\n <model-factor-breakdown [factor]=\"currentFactor\"></model-factor-breakdown>\n\n <quicktips [dimensionKey]=\"dimensionKey\" [extraClass]=\"'quicktips-popover'\"></quicktips>\n\n <div class=\"link\" *ngIf=\"feedbackAvailable\">\n <a [routerLink]=\"[baseUrl, 'tips']\" [fragment]=\"dimensionKey\">discover how to improve ></a>\n </div>\n </div>\n <div class=\"arrow\"></div>\n </div>\n</sat-popover>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.quicktips-popover{background:none}h3{cursor:pointer;margin-bottom:10px}h3 .icon{vertical-align:middle}\n"] }]
|
|
86
|
-
}], ctorParameters: () => [{ type:
|
|
86
|
+
args: [{ selector: 'model-factor', template: "<div [class]=\"'factor ' + factorExtraClass + ' ' + direction\" [ngClass]=\"{'factor-notmeasured' : !dataAvailable}\" [id]=\"'factor-' + dimensionKey\" #factor (click)=\"popover.open()\">\n <div class=\"factor-content\">\n <h2>\n {{name}}\n </h2>\n <div [class]=\"'progressbar progressbar-' + direction\">\n <div class=\"progressbar-score\">{{score | number:'1.0-0'}}</div>\n <div class=\"progressbar-confidence\" *ngIf=\"confidenceAvailable\" [matTooltip]=\"'Most responses fall in the range of ' + factorScore.lowerConfidence + ' (15% percentile) and ' + factorScore.upperConfidence + ' (85% percentile)'\" [style]=\"'left: ' + factorScoreLeft + '%; width: ' + factorScoreWidth + '%'\"></div>\n <div class=\"progressbar-bar\" *ngIf=\"!confidenceAvailable\" [style]=\"'width: ' + score + '%'\"></div>\n </div>\n <age-indicator [lastMeasured]=\"factorScore.lastMeasured\"></age-indicator>\n <delta-arrow *ngIf=\"dataAvailable\" [factorScore]=\"factorScore\" [delta]=\"delta\" [noDataIndicator]=\"false\"></delta-arrow>\n </div>\n <div class=\"emphasize emphasize-interventions\" *ngIf=\"filter.interventionFilter == 'All' && (openInterventions > 0 || completedInterventions > 0)\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + openInterventions + ' open, and ' + completedInterventions + ' completed action(s). Each action is identified and created by the teams themselves.'\">\n {{openInterventions}}<small>/{{completedInterventions}}</small>\n </div>\n <a class=\"emphasize emphasize-interventions\" *ngIf=\"filter.interventionFilter == 'OnlyOpen' && openInterventions > 0\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ state: InterventionStateEnum.open, expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + openInterventions + ' open improvement actions. Each action is identified and created by the teams themselves.'\">\n <i class=\"ph-flask icon\"></i> {{openInterventions}}\n </a>\n <div class=\"emphasize emphasize-interventions\" *ngIf=\"filter.interventionFilter == 'OnlyCompleted' && completedInterventions > 0\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ state: InterventionStateEnum.completed, expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + openInterventions + ' completed improvement actions. Each action is identified and created by the teams themselves.'\">\n <i class=\"ph-check-bold icon\"></i> {{completedInterventions}}\n </div>\n <div class=\"emphasize emphasize-impediments\" *ngIf=\"impededInterventions > 0\" [routerLink]=\"[baseUrl, 'actions']\" [queryParams]=\"{ state: InterventionStateEnum.impeded, expectedImpactOn: dimensionKey }\" [matTooltip]=\"'There are ' + impededInterventions + ' actions where teams are requesting from help from outside the team.'\">\n <img class=\"icon\" src=\"/assets/img/impeded.svg\" /> {{impededInterventions}}\n </div>\n</div>\n\n<div [id]=\"'factor-' + dimensionKey + '-subfactors'\" class=\"subfactors\">\n <model-factor [dimension]=\"subDimension\" [factorExtraClass]=\"'factor-sub'\" *ngFor=\"let subDimension of subDimensions\"></model-factor>\n</div>\n\n<sat-popover #popover horizontalAlign=\"after\" [anchor]=\"factor\" verticalAlign=\"center\" [hasBackdrop]=\"true\" [autoFocus]=\"false\">\n <div class=\"popover\" [id]=\"'popover-' + dimensionKey\">\n <div class=\"popover-container\">\n <span (click)=\"popover.close()\" class=\"close ph-x\"></span>\n <h3 factorInformationDialog [factor]=\"dimension\">\n {{name}}\n <span class=\"icon ph-info-fill\"></span>\n </h3>\n <div class=\"description\">{{description}}</div>\n\n <div class=\"message message-warning limitations\" *ngIf=\"notes && notes.length > 0\">\n <span class=\"icon ph-warning-circle\"></span>\n <span *ngIf=\"notes.length == 1\">\n {{notes.length}} limitation applies to these results. <a [routerLink]=\"[]\" notesDialog [notes]=\"notes\">Click to explore</a>.\n </span>\n <span *ngIf=\"notes.length > 1\">\n {{notes.length}} limitations apply to these results. <a [routerLink]=\"[]\" notesDialog [notes]=\"notes\">Click to explore</a>.\n </span>\n </div>\n\n <div class=\"breakdown\">\n <div [matTooltip]=\"'This is the average score of teams in the benchmark [' + benchmark + ']. Change the benchmark under \\'Settings\\'.'\" [attr.normalizedScore]=\"benchmarkScore\" [class]=\"'progressbar progressbar-inverted progressbar-benchmark'\" *ngIf=\"benchmarkScore != 0\">\n <div class=\"progressbar-bar\" [style]=\"'width: ' + benchmarkScore + '%'\"></div>\n <div class=\"progressbar-label\">benchmark</div>\n <div class=\"progressbar-score\">{{benchmarkScore | number:'1.0-0' }}</div>W\n </div>\n <div class=\"details\">\n </div>\n </div>\n\n <model-factor-breakdown [factor]=\"currentFactor\"></model-factor-breakdown>\n\n <quicktips [dimensionKey]=\"dimensionKey\" [extraClass]=\"'quicktips-popover'\"></quicktips>\n\n <div class=\"link\" *ngIf=\"feedbackAvailable\">\n <a [routerLink]=\"[baseUrl, 'tips']\" [fragment]=\"dimensionKey\">discover how to improve ></a>\n </div>\n </div>\n <div class=\"arrow\"></div>\n </div>\n</sat-popover>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.quicktips-popover{background:none}h3{cursor:pointer;margin-bottom:10px}h3 .icon{vertical-align:middle}.age-indicator{width:100%;display:flex;font-size:8px;flex-direction:row;justify-content:center;margin-top:3px;margin-bottom:3px}.age-indicator .age-indicator-dot{width:4px;height:4px;background:#2f2f2f;border-radius:4px;margin-right:1px}\n"] }]
|
|
87
|
+
}], ctorParameters: () => [{ type: i13.ViewModelStateBase, decorators: [{
|
|
87
88
|
type: Inject,
|
|
88
89
|
args: [VIEWSTATE_PROVIDER]
|
|
89
90
|
}] }, { type: i1.UserSettingService }, { type: i2.MatSnackBar }], propDecorators: { dimension: [{
|
|
@@ -91,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
|
|
|
91
92
|
}], factorExtraClass: [{
|
|
92
93
|
type: Input
|
|
93
94
|
}] } });
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtZmFjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zY3J1bXRlYW1zdXJ2ZXktdG9vbHMvc3JjL2xpYi9yZXN1bHRzL2NvbXBvbmVudHMvbW9kZWwtZmFjdG9yL21vZGVsLWZhY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NydW10ZWFtc3VydmV5LXRvb2xzL3NyYy9saWIvcmVzdWx0cy9jb21wb25lbnRzL21vZGVsLWZhY3Rvci9tb2RlbC1mYWN0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBSWpGLE9BQU8sRUFBc0Isa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFVbkcsTUFBTSxPQUFPLG9CQUFxQixTQUFRLDBCQUF5QztJQWtDaEYsWUFBZ0QsS0FBd0MsRUFBVSxtQkFBdUMsRUFBWSxRQUFxQjtRQUN2SyxLQUFLLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBRHVCLFVBQUssR0FBTCxLQUFLLENBQW1DO1FBQVUsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFvQjtRQUFZLGFBQVEsR0FBUixRQUFRLENBQWE7UUFIbkssMEJBQXFCLEdBQUcscUJBQXFCLENBQUM7UUFDOUMsa0JBQWEsR0FBRyxDQUFDLENBQUM7SUFJekIsQ0FBQztJQUVELFFBQVE7UUFDTCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJ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LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbnRlcnZlbnRpb25TdGF0ZUVudW0gfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL21vZGVscy9hY3Rpb25EdG8nO1xuaW1wb3J0IHsgQ29tcG9uZW50V2l0aFZpZXdTdGF0ZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRXaXRoVmlld1N0YXRlQmFzZSc7XG5pbXBvcnQgeyBNb2RlbEZpbHRlciB9IGZyb20gJy4uLy4uLy4uL21vZGVscy91c2VyU2V0dGluZ3NEdG8nO1xuaW1wb3J0IHsgRGF0ZVJhbmdlRHRvIH0gZnJvbSAnLi4vLi4vLi4vcGlwZXMvZGF0ZVJhbmdlL25neC1kYXRlUmFuZ2VEdG8ubW9kZWwnO1xuaW1wb3J0IHsgVXNlclNldHRpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdmlld01vZGVsL3VzZXJTZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IFZpZXdNb2RlbFN0YXRlQmFzZSwgVklFV1NUQVRFX1BST1ZJREVSIH0gZnJvbSAnLi4vLi4vLi4vdmlld01vZGVsL3ZpZXdNb2RlbFN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgSVJlc3VsdHNTdGF0ZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVJlc3VsdHNTdGF0ZSc7XG5pbXBvcnQgeyBCZW5jaG1hcmtUeXBlRW51bSwgRmFjdG9yU2NvcmVDb2xsZWN0aW9uRGVsdGFEdG8sIEZhY3RvclNjb3JlRHRvLCBQb2ludER0bywgUXVhbGlmaWVkQnlFbnVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZhY3RvclNjb3JlRHRvJztcbmltcG9ydCB7IEVmZmVjdER0bywgRmFjdG9yU3RydWN0dXJlRHRvIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL21vZGVsU3RydWN0dXJlRHRvJztcblxuQENvbXBvbmVudCh7XG4gICBzZWxlY3RvcjogJ21vZGVsLWZhY3RvcicsXG4gICB0ZW1wbGF0ZVVybDogJy4vbW9kZWwtZmFjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgIHN0eWxlVXJsczogWycuL21vZGVsLWZhY3Rvci5jb21wb25lbnQubGVzcyddXG59KVxuZXhwb3J0IGNsYXNzIE1vZGVsRmFjdG9yQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50V2l0aFZpZXdTdGF0ZUJhc2U8SVJlc3VsdHNTdGF0ZT4ge1xuICAgQElucHV0KCkgZGltZW5zaW9uOiBGYWN0b3JTdHJ1Y3R1cmVEdG87XG4gICBASW5wdXQoKSBmYWN0b3JFeHRyYUNsYXNzOiBzdHJpbmc7XG4gICBwdWJsaWMgY3VycmVudEZhY3RvcjogRmFjdG9yU2NvcmVEdG87XG4gICBwdWJsaWMgZmlsdGVyOiBNb2RlbEZpbHRlcjtcbiAgIHB1YmxpYyBkaXJlY3Rpb246IHN0cmluZztcbiAgIHB1YmxpYyBmYWN0b3JTY29yZTogRmFjdG9yU2NvcmVEdG87XG4gICBwdWJsaWMgYmVuY2htYXJrU2NvcmU6IG51bWJlcjtcbiAgIHB1YmxpYyBkaW1lbnNpb25LZXk6IHN0cmluZztcbiAgIHB1YmxpYyBzdWJEaW1lbnNpb25zOiBGYWN0b3JTdHJ1Y3R1cmVEdG9bXTtcbiAgIHB1YmxpYyBiZW5jaG1hcms6IHN0cmluZztcbiAgIHB1YmxpYyBzaG93QmVuY2htYXJrOiBib29sZWFuO1xuICAgcHVibGljIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICBwdWJsaWMgbm90ZXM6IHN0cmluZ1tdO1xuICAgcHVibGljIGNvbmZpZGVuY2VBdmFpbGFibGU6IGJvb2xlYW47XG4gICBwdWJsaWMgdGVhbUtleTogc3RyaW5nO1xuICAgcHVibGljIGVmZmVjdHM6IEVmZmVjdER0b1tdO1xuICAgcHVibGljIHBvaW50czogUG9pbnREdG9bXTtcbiAgIHB1YmxpYyBvcGVuSW50ZXJ2ZW50aW9uczogbnVtYmVyO1xuICAgcHVibGljIGNvbXBsZXRlZEludGVydmVudGlvbnM6IG51bWJlcjtcbiAgIHB1YmxpYyBkYXRhQXZhaWxhYmxlOiBib29sZWFuO1xuICAgcHVibGljIHNjb3JlOiBudW1iZXI7XG4gICBwdWJsaWMgZmFjdG9yU2NvcmVXaWR0aDogbnVtYmVyO1xuICAgcHVibGljIGZhY3RvclNjb3JlTGVmdDogbnVtYmVyO1xuICAgcHVibGljIGZlZWRiYWNrQXZhaWxhYmxlOiBib29sZWFuO1xuICAgcHVibGljIGRlbHRhOiBGYWN0b3JTY29yZUNvbGxlY3Rpb25EZWx0YUR0bztcbiAgIHB1YmxpYyBkYXRlUmFuZ2U6IERhdGVSYW5nZUR0bztcbiAgIHB1YmxpYyBpbXBlZGVkSW50ZXJ2ZW50aW9uczogbnVtYmVyO1xuICAgcHVibGljIG5hbWU6IHN0cmluZztcbiAgIHB1YmxpYyBiYXNlVXJsOiBzdHJpbmc7XG4gICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgcHVibGljIEludGVydmVudGlvblN0YXRlRW51bSA9IEludGVydmVudGlvblN0YXRlRW51bTtcbiAgIHB1YmxpYyBicmVha2Rvd25QYWdlID0gMDtcblxuICAgY29uc3RydWN0b3IoQEluamVjdChWSUVXU1RBVEVfUFJPVklERVIpIHByaXZhdGUgc3RhdGU6IFZpZXdNb2RlbFN0YXRlQmFzZTxJUmVzdWx0c1N0YXRlPiwgcHJpdmF0ZSB1c2VyU2V0dGluZ3NTZXJ2aWNlOiBVc2VyU2V0dGluZ1NlcnZpY2UsIHByb3RlY3RlZCBzbmFja0JhcjogTWF0U25hY2tCYXIpIHtcbiAgICAgIHN1cGVyKHN0YXRlLCBzbmFja0JhcilcbiAgIH1cblxuICAgbmdPbkluaXQoKSB7XG4gICAgICB0aGlzLmZpbHRlciA9IHRoaXMudXNlclNldHRpbmdzU2VydmljZS5nZXQoKS51c2VyLm1vZGVsRmlsdGVyO1xuICAgICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLnVzZXJTZXR0aW5nc1NlcnZpY2UuY2hhbmdlZC5zdWJzY3JpYmUoc3VjY2VzcyA9PiB7XG4gICAgICAgICB0aGlzLmZpbHRlciA9IHRoaXMudXNlclNldHRpbmdzU2VydmljZS5nZXQoKS51c2VyLm1vZGVsRmlsdGVyO1xuICAgICAgfSk7XG4gICB9XG5cbiAgIG5nT25EZXN0cm95KCkge1xuICAgICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgfVxuICAgfVxuXG4gICBwcm90ZWN0ZWQgb25EYXRhVXBkYXRlKGRhdGE6IElSZXN1bHRzU3RhdGUpOiB2b2lkIHtcbiAgICAgIHRoaXMuY3VycmVudEZhY3RvciA9IGRhdGEuZmFjdG9yU2NvcmVzLmZhY3RvclNjb3Jlcy5maW5kKHAgPT4gcC5rZXkgPT0gdGhpcy5kaW1lbnNpb24ucHVibGljS2V5KTtcbiAgICAgIHRoaXMuZGVsdGEgPSBkYXRhLmZhY3RvclNjb3Jlcy5kZWx0YTtcbiAgICAgIHRoaXMuZGF0ZVJhbmdlID0gZGF0YS5mYWN0b3JTY29yZXMuZGF0ZVJhbmdlO1xuICAgICAgdGhpcy5iYXNlVXJsID0gZGF0YS5iYXNlVXJsO1xuICAgICAgdGhpcy5uYW1lID0gdGhpcy5kaW1lbnNpb24ubmFtZTtcbiAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSB0aGlzLmRpbWVuc2lvbi5kZXNjcmlwdGlvbjtcbiAgICAgIHRoaXMuc3ViRGltZW5zaW9ucyA9IHRoaXMuZGltZW5zaW9uLmxvd2VyO1xuICAgICAgdGhpcy5kaW1lbnNpb25LZXkgPSB0aGlzLmRpbWVuc2lvbi5wdWJsaWNLZXk7XG4gICAgICB0aGlzLmVmZmVjdHMgPSB0aGlzLmRpbWVuc2lvbi5lZmZlY3RzO1xuICAgICAgdGhpcy5iZW5jaG1hcmsgPSBkYXRhLmZhY3RvclNjb3Jlcy5iZW5jaG1hcmsubmFtZTtcblxuICAgICAgaWYgKHRoaXMuY3VycmVudEZhY3RvciAhPSBudWxsKSB7XG4gICAgICAgICB0aGlzLmRhdGFBdmFpbGFibGUgPSAhdGhpcy5jdXJyZW50RmFjdG9yLmFub255bWl6ZWQgJiYgdGhpcy5jdXJyZW50RmFjdG9yLnNhbXBsZVNpemUgPiAwO1xuICAgICAgICAgdGhpcy5jb25maWRlbmNlQXZhaWxhYmxlID0gZGF0YS5mYWN0b3JTY29yZXMuY29tcG9zaXRpb24ucG9pbnRzLmNvdW50ID4gMCAmJiB0aGlzLmRhdGFBdmFpbGFibGU7XG4gICAgICAgICB0aGlzLmZlZWRiYWNrQXZhaWxhYmxlID0gdGhpcy5jdXJyZW50RmFjdG9yLnJlY29tbWVuZGF0aW9uLmF2YWlsYWJsZTtcbiAgICAgICAgIHRoaXMuYmVuY2htYXJrU2NvcmUgPSB0aGlzLmN1cnJlbnRGYWN0b3IuYmVuY2htYXJrO1xuICAgICAgICAgdGhpcy5mYWN0b3JTY29yZSA9IHRoaXMuY3VycmVudEZhY3RvcjtcbiAgICAgICAgIHRoaXMuc2NvcmUgPSB0aGlzLmN1cnJlbnRGYWN0b3Iuc2NvcmU7XG4gICAgICAgICB0aGlzLnBvaW50cyA9IHRoaXMuY3VycmVudEZhY3Rvci5wb2ludHMuc2xpY2UodGhpcy5icmVha2Rvd25QYWdlICogMTAsIHRoaXMuYnJlYWtkb3duUGFnZSAqIDEwICsgMTApO1xuXG4gICAgICAgICB0aGlzLmZpbHRlci5pbnRlcnZlbnRpb25GaWx0ZXI7XG4gICAgICAgICB0aGlzLm9wZW5JbnRlcnZlbnRpb25zID0gdGhpcy5jdXJyZW50RmFjdG9yLmludGVydmVudGlvblN1bW1hcnkub3BlbjtcbiAgICAgICAgIHRoaXMuY29tcGxldGVkSW50ZXJ2ZW50aW9ucyA9IHRoaXMuY3VycmVudEZhY3Rvci5pbnRlcnZlbnRpb25TdW1tYXJ5LmNvbXBsZXRlZDtcbiAgICAgICAgIHRoaXMuaW1wZWRlZEludGVydmVudGlvbnMgPSB0aGlzLmN1cnJlbnRGYWN0b3IuaW50ZXJ2ZW50aW9uU3VtbWFyeS5pbXBlZGVkO1xuICAgICAgICAgdGhpcy5ub3RlcyA9IHRoaXMuY3VycmVudEZhY3Rvci5ub3RlcztcblxuICAgICAgICAgdGhpcy5mYWN0b3JTY29yZVdpZHRoID0gKHRoaXMuY3VycmVudEZhY3Rvci51cHBlckNvbmZpZGVuY2UgLSB0aGlzLmN1cnJlbnRGYWN0b3IubG93ZXJDb25maWRlbmNlKTtcbiAgICAgICAgIGlmICh0aGlzLmZhY3RvclNjb3JlV2lkdGggPD0gMTApIHsgdGhpcy5mYWN0b3JTY29yZVdpZHRoID0gMTAgfTtcbiAgICAgICAgIHRoaXMuZmFjdG9yU2NvcmVMZWZ0ID0gdGhpcy5jdXJyZW50RmFjdG9yLmxvd2VyQ29uZmlkZW5jZTtcbiAgICAgICAgIGlmICh0aGlzLmZhY3RvclNjb3JlTGVmdCA+PSA5MCkgeyB0aGlzLmZhY3RvclNjb3JlTGVmdCA9IDkwIH07XG5cbiAgICAgICAgIHRoaXMuZGlyZWN0aW9uID0gdGhpcy5mYWN0b3JTY29yZS5xdWFsaWZpY2F0aW9uLnRvTG93ZXJDYXNlKCk7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgIHRoaXMuc2NvcmUgPSAwO1xuICAgICAgfVxuICAgfTtcbn1cbiIsIjxkaXYgW2NsYXNzXT1cIidmYWN0b3IgJyArIGZhY3RvckV4dHJhQ2xhc3MgKyAnICcgKyBkaXJlY3Rpb25cIiBbbmdDbGFzc109XCJ7J2ZhY3Rvci1ub3RtZWFzdXJlZCcgOiAhZGF0YUF2YWlsYWJsZX1cIiBbaWRdPVwiJ2ZhY3Rvci0nICsgZGltZW5zaW9uS2V5XCIgI2ZhY3RvciAoY2xpY2spPVwicG9wb3Zlci5vcGVuKClcIj5cbiAgIDxkaXYgY2xhc3M9XCJmYWN0b3ItY29udGVudFwiPlxuICAgICAgPGgyPlxuICAgICAgICAge3tuYW1lfX1cbiAgICAgIDwvaDI+XG4gICAgICA8ZGl2IFtjbGFzc109XCIncHJvZ3Jlc3NiYXIgcHJvZ3Jlc3NiYXItJyArIGRpcmVjdGlvblwiPlxuICAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyZXNzYmFyLXNjb3JlXCI+e3tzY29yZSB8IG51bWJlcjonMS4wLTAnfX08L2Rpdj5cbiAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzc2Jhci1jb25maWRlbmNlXCIgKm5nSWY9XCJjb25maWRlbmNlQXZhaWxhYmxlXCIgW21hdFRvb2x0aXBdPVwiJ01vc3QgcmVzcG9uc2VzIGZhbGwgaW4gdGhlIHJhbmdlIG9mICcgKyBmYWN0b3JTY29yZS5sb3dlckNvbmZpZGVuY2UgKyAnICgxNSUgcGVyY2VudGlsZSkgYW5kICcgKyBmYWN0b3JTY29yZS51cHBlckNvbmZpZGVuY2UgKyAnICg4NSUgcGVyY2VudGlsZSknXCIgW3N0eWxlXT1cIidsZWZ0OiAnICsgZmFjdG9yU2NvcmVMZWZ0ICsgJyU7IHdpZHRoOiAnICsgZmFjdG9yU2NvcmVXaWR0aCArICclJ1wiPjwvZGl2PlxuICAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyZXNzYmFyLWJhclwiICpuZ0lmPVwiIWNvbmZpZGVuY2VBdmFpbGFibGVcIiBbc3R5bGVdPVwiJ3dpZHRoOiAnICsgc2NvcmUgKyAnJSdcIj48L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRlbHRhLWFycm93ICpuZ0lmPVwiZGF0YUF2YWlsYWJsZVwiIFtmYWN0b3JTY29yZV09XCJmYWN0b3JTY29yZVwiIFtkZWx0YV09XCJkZWx0YVwiIFtub0RhdGFJbmRpY2F0b3JdPVwiZmFsc2VcIj48L2RlbHRhLWFycm93PlxuICAgPC9kaXY+XG4gICA8ZGl2IGNsYXNzPVwiZW1waGFzaXplIGVtcGhhc2l6ZS1pbnRlcnZlbnRpb25zXCIgKm5nSWY9XCJmaWx0ZXIuaW50ZXJ2ZW50aW9uRmlsdGVyID09ICdBbGwnICYmIChvcGVuSW50ZXJ2ZW50aW9ucyA+IDAgfHwgY29tcGxldGVkSW50ZXJ2ZW50aW9ucyA+IDApXCIgW3JvdXRlckxpbmtdPVwiW2Jhc2VVcmwsICdhY3Rpb25zJ11cIiBbcXVlcnlQYXJhbXNdPVwieyBleHBlY3RlZEltcGFjdE9uOiBkaW1lbnNpb25LZXkgfVwiIFttYXRUb29sdGlwXT1cIidUaGVyZSBhcmUgJyArIG9wZW5JbnRlcnZlbnRpb25zICsgJyBvcGVuLCBhbmQgJyArIGNvbXBsZXRlZEludGVydmVudGlvbnMgKyAnIGNvbXBsZXRlZCBhY3Rpb24ocykuIEVhY2ggYWN0aW9uIGlzIGlkZW50aWZpZWQgYW5kIGNyZWF0ZWQgYnkgdGhlIHRlYW1zIHRoZW1zZWx2ZXMuJ1wiPlxuICAgICAge3tvcGVuSW50ZXJ2ZW50aW9uc319PHNtYWxsPi97e2NvbXBsZXRlZEludGVydmVudGlvbnN9fTwvc21hbGw+XG4gICA8L2Rpdj5cbiAgIDxhIGNsYXNzPVwiZW1waGFzaXplIGVtcGhhc2l6ZS1pbnRlcnZlbnRpb25zXCIgKm5nSWY9XCJmaWx0ZXIuaW50ZXJ2ZW50aW9uRmlsdGVyID09ICdPbmx5T3BlbicgJiYgb3BlbkludGVydmVudGlvbnMgPiAwXCIgW3JvdXRlckxpbmtdPVwiW2Jhc2VVcmwsICdhY3Rpb25zJ11cIiBbcXVlcnlQYXJhbXNdPVwieyBzdGF0ZTogSW50ZXJ2ZW50aW9uU3RhdGVFbnVtLm9wZW4sIGV4cGVjdGVkSW1wYWN0T246IGRpbWVuc2lvbktleSB9XCIgW21hdFRvb2x0aXBdPVwiJ1RoZXJlIGFyZSAnICsgb3BlbkludGVydmVudGlvbnMgKyAnIG9wZW4gaW1wcm92ZW1lbnQgYWN0aW9ucy4gRWFjaCBhY3Rpb24gaXMgaWRlbnRpZmllZCBhbmQgY3JlYXRlZCBieSB0aGUgdGVhbXMgdGhlbXNlbHZlcy4nXCI+XG4gICAgICA8aSBjbGFzcz1cInBoLWZsYXNrIGljb25cIj48L2k+IHt7b3BlbkludGVydmVudGlvbnN9fVxuICAgPC9hPlxuICAgPGRpdiBjbGFzcz1cImVtcGhhc2l6ZSBlbXBoYXNpemUtaW50ZXJ2ZW50aW9uc1wiICpuZ0lmPVwiZmlsdGVyLmludGVydmVudGlvbkZpbHRlciA9PSAnT25seUNvbXBsZXRlZCcgJiYgY29tcGxldGVkSW50ZXJ2ZW50aW9ucyA+IDBcIiBbcm91dGVyTGlua109XCJbYmFzZVVybCwgJ2FjdGlvbnMnXVwiIFtxdWVyeVBhcmFtc109XCJ7IHN0YXRlOiBJbnRlcnZlbnRpb25TdGF0ZUVudW0uY29tcGxldGVkLCBleHBlY3RlZEltcGFjdE9uOiBkaW1lbnNpb25LZXkgfVwiIFttYXRUb29sdGlwXT1cIidUaGVyZSBhcmUgJyArIG9wZW5JbnRlcnZlbnRpb25zICsgJyBjb21wbGV0ZWQgaW1wcm92ZW1lbnQgYWN0aW9ucy4gRWFjaCBhY3Rpb24gaXMgaWRlbnRpZmllZCBhbmQgY3JlYXRlZCBieSB0aGUgdGVhbXMgdGhlbXNlbHZlcy4nXCI+XG4gICAgICA8aSBjbGFzcz1cInBoLWNoZWNrLWJvbGQgaWNvblwiPjwvaT4ge3tjb21wbGV0ZWRJbnRlcnZlbnRpb25zfX1cbiAgIDwvZGl2PlxuICAgPGRpdiBjbGFzcz1cImVtcGhhc2l6ZSBlbXBoYXNpemUtaW1wZWRpbWVudHNcIiAqbmdJZj1cImltcGVkZWRJbnRlcnZlbnRpb25zID4gMFwiIFtyb3V0ZXJMaW5rXT1cIltiYXNlVXJsLCAnYWN0aW9ucyddXCIgW3F1ZXJ5UGFyYW1zXT1cInsgc3RhdGU6IEludGVydmVudGlvblN0YXRlRW51bS5pbXBlZGVkLCBleHBlY3RlZEltcGFjdE9uOiBkaW1lbnNpb25LZXkgfVwiIFttYXRUb29sdGlwXT1cIidUaGVyZSBhcmUgJyArIGltcGVkZWRJbnRlcnZlbnRpb25zICsgJyBhY3Rpb25zIHdoZXJlIHRlYW1zIGFyZSByZXF1ZXN0aW5nIGZyb20gaGVscCBmcm9tIG91dHNpZGUgdGhlIHRlYW0uJ1wiPlxuICAgICAgPGltZyBjbGFzcz1cImljb25cIiBzcmM9XCIvYXNzZXRzL2ltZy9pbXBlZGVkLnN2Z1wiIC8+IHt7aW1wZWRlZEludGVydmVudGlvbnN9fVxuICAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBbaWRdPVwiJ2ZhY3Rvci0nICsgZGltZW5zaW9uS2V5ICsgJy1zdWJmYWN0b3JzJ1wiIGNsYXNzPVwic3ViZmFjdG9yc1wiPlxuICAgPG1vZGVsLWZhY3RvciBbZGltZW5zaW9uXT1cInN1YkRpbWVuc2lvblwiIFtmYWN0b3JFeHRyYUNsYXNzXT1cIidmYWN0b3Itc3ViJ1wiICpuZ0Zvcj1cImxldCBzdWJEaW1lbnNpb24gb2Ygc3ViRGltZW5zaW9uc1wiPjwvbW9kZWwtZmFjdG9yPlxuPC9kaXY+XG5cbjxzYXQtcG9wb3ZlciAjcG9wb3ZlciBob3Jpem9udGFsQWxpZ249XCJhZnRlclwiIFthbmNob3JdPVwiZmFjdG9yXCIgdmVydGljYWxBbGlnbj1cImNlbnRlclwiIFtoYXNCYWNrZHJvcF09XCJ0cnVlXCIgW2F1dG9Gb2N1c109XCJmYWxzZVwiPlxuICAgPGRpdiBjbGFzcz1cInBvcG92ZXJcIiBbaWRdPVwiJ3BvcG92ZXItJyArIGRpbWVuc2lvbktleVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInBvcG92ZXItY29udGFpbmVyXCI+XG4gICAgICAgICA8c3BhbiAoY2xpY2spPVwicG9wb3Zlci5jbG9zZSgpXCIgY2xhc3M9XCJjbG9zZSBwaC14XCI+PC9zcGFuPlxuICAgICAgICAgPGgzIGZhY3RvckluZm9ybWF0aW9uRGlhbG9nIFtmYWN0b3JdPVwiZGltZW5zaW9uXCI+XG4gICAgICAgICAgICB7e25hbWV9fVxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uIHBoLWluZm8tZmlsbFwiPjwvc3Bhbj5cbiAgICAgICAgIDwvaDM+XG4gICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb25cIj57e2Rlc2NyaXB0aW9ufX08L2Rpdj5cblxuICAgICAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2UgbWVzc2FnZS13YXJuaW5nIGxpbWl0YXRpb25zXCIgKm5nSWY9XCJub3RlcyAmJiBub3Rlcy5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImljb24gcGgtd2FybmluZy1jaXJjbGVcIj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm5vdGVzLmxlbmd0aCA9PSAxXCI+XG4gICAgICAgICAgICAgICB7e25vdGVzLmxlbmd0aH19IGxpbWl0YXRpb24gYXBwbGllcyB0byB0aGVzZSByZXN1bHRzLiA8YSBbcm91dGVyTGlua109XCJbXVwiIG5vdGVzRGlhbG9nIFtub3Rlc109XCJub3Rlc1wiPkNsaWNrIHRvIGV4cGxvcmU8L2E+LlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJub3Rlcy5sZW5ndGggPiAxXCI+XG4gICAgICAgICAgICAgICB7e25vdGVzLmxlbmd0aH19IGxpbWl0YXRpb25zIGFwcGx5IHRvIHRoZXNlIHJlc3VsdHMuIDxhIFtyb3V0ZXJMaW5rXT1cIltdXCIgbm90ZXNEaWFsb2cgW25vdGVzXT1cIm5vdGVzXCI+Q2xpY2sgdG8gZXhwbG9yZTwvYT4uXG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgPGRpdiBjbGFzcz1cImJyZWFrZG93blwiPlxuICAgICAgICAgICAgPGRpdiBbbWF0VG9vbHRpcF09XCInVGhpcyBpcyB0aGUgYXZlcmFnZSBzY29yZSBvZiB0ZWFtcyBpbiB0aGUgYmVuY2htYXJrIFsnICsgYmVuY2htYXJrICsgJ10uIENoYW5nZSB0aGUgYmVuY2htYXJrIHVuZGVyIFxcJ1NldHRpbmdzXFwnLidcIiBbYXR0ci5ub3JtYWxpemVkU2NvcmVdPVwiYmVuY2htYXJrU2NvcmVcIiBbY2xhc3NdPVwiJ3Byb2dyZXNzYmFyIHByb2dyZXNzYmFyLWludmVydGVkIHByb2dyZXNzYmFyLWJlbmNobWFyaydcIiAqbmdJZj1cImJlbmNobWFya1Njb3JlICE9IDBcIj5cbiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzc2Jhci1iYXJcIiBbc3R5bGVdPVwiJ3dpZHRoOiAnICsgYmVuY2htYXJrU2NvcmUgKyAnJSdcIj48L2Rpdj5cbiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzc2Jhci1sYWJlbFwiPmJlbmNobWFyazwvZGl2PlxuICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyZXNzYmFyLXNjb3JlXCI+e3tiZW5jaG1hcmtTY29yZSB8IG51bWJlcjonMS4wLTAnIH19PC9kaXY+V1xuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsc1wiPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgPG1vZGVsLWZhY3Rvci1icmVha2Rvd24gW2ZhY3Rvcl09XCJjdXJyZW50RmFjdG9yXCI+PC9tb2RlbC1mYWN0b3ItYnJlYWtkb3duPlxuXG4gICAgICAgICA8cXVpY2t0aXBzIFtkaW1lbnNpb25LZXldPVwiZGltZW5zaW9uS2V5XCIgW2V4dHJhQ2xhc3NdPVwiJ3F1aWNrdGlwcy1wb3BvdmVyJ1wiPjwvcXVpY2t0aXBzPlxuXG4gICAgICAgICA8ZGl2IGNsYXNzPVwibGlua1wiICpuZ0lmPVwiZmVlZGJhY2tBdmFpbGFibGVcIj5cbiAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIltiYXNlVXJsLCAndGlwcyddXCIgW2ZyYWdtZW50XT1cImRpbWVuc2lvbktleVwiPmRpc2NvdmVyIGhvdyB0byBpbXByb3ZlID48L2E+XG4gICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImFycm93XCI+PC9kaXY+XG4gICA8L2Rpdj5cbjwvc2F0LXBvcG92ZXI+XG4iXX0=
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtZmFjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zY3J1bXRlYW1zdXJ2ZXktdG9vbHMvc3JjL2xpYi9yZXN1bHRzL2NvbXBvbmVudHMvbW9kZWwtZmFjdG9yL21vZGVsLWZhY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NydW10ZWFtc3VydmV5LXRvb2xzL3NyYy9saWIvcmVzdWx0cy9jb21wb25lbnRzL21vZGVsLWZhY3Rvci9tb2RlbC1mYWN0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBSWpGLE9BQU8sRUFBc0Isa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBVW5HLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSwwQkFBeUM7SUFxQ2hGLFlBQWdELEtBQXdDLEVBQVUsbUJBQXVDLEVBQVksUUFBcUI7UUFDdkssS0FBSyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQTtRQUR1QixVQUFLLEdBQUwsS0FBSyxDQUFtQztRQUFVLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUFBWSxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBTm5LLDBCQUFxQixHQUFHLHFCQUFxQixDQUFDO1FBQzlDLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO0lBT3pCLENBQUM7SUFFRCxRQUFRO1FBQ0wsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMs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dCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW50ZXJ2ZW50aW9uU3RhdGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vYWN0aW9ucy9tb2RlbHMvYWN0aW9uRHRvJztcbmltcG9ydCB7IENvbXBvbmVudFdpdGhWaWV3U3RhdGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50V2l0aFZpZXdTdGF0ZUJhc2UnO1xuaW1wb3J0IHsgTW9kZWxGaWx0ZXIgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdXNlclNldHRpbmdzRHRvJztcbmltcG9ydCB7IERhdGVSYW5nZUR0byB9IGZyb20gJy4uLy4uLy4uL3BpcGVzL2RhdGVSYW5nZS9uZ3gtZGF0ZVJhbmdlRHRvLm1vZGVsJztcbmltcG9ydCB7IFVzZXJTZXR0aW5nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3ZpZXdNb2RlbC91c2VyU2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBWaWV3TW9kZWxTdGF0ZUJhc2UsIFZJRVdTVEFURV9QUk9WSURFUiB9IGZyb20gJy4uLy4uLy4uL3ZpZXdNb2RlbC92aWV3TW9kZWxTdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IElSZXN1bHRzU3RhdGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lSZXN1bHRzU3RhdGUnO1xuaW1wb3J0IHsgQmVuY2htYXJrVHlwZUVudW0sIEZhY3RvclNjb3JlQ29sbGVjdGlvbkRlbHRhRHRvLCBGYWN0b3JTY29yZUR0bywgUG9pbnREdG8sIFF1YWxpZmllZEJ5RW51bSB9IGZyb20gJy4uLy4uL21vZGVscy9mYWN0b3JTY29yZUR0byc7XG5pbXBvcnQgeyBFZmZlY3REdG8sIEZhY3RvclN0cnVjdHVyZUR0byB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9tb2RlbFN0cnVjdHVyZUR0byc7XG5cbkBDb21wb25lbnQoe1xuICAgc2VsZWN0b3I6ICdtb2RlbC1mYWN0b3InLFxuICAgdGVtcGxhdGVVcmw6ICcuL21vZGVsLWZhY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gICBzdHlsZVVybHM6IFsnLi9tb2RlbC1mYWN0b3IuY29tcG9uZW50Lmxlc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBNb2RlbEZhY3RvckNvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudFdpdGhWaWV3U3RhdGVCYXNlPElSZXN1bHRzU3RhdGU+IHtcbiAgIEBJbnB1dCgpIGRpbWVuc2lvbjogRmFjdG9yU3RydWN0dXJlRHRvO1xuICAgQElucHV0KCkgZmFjdG9yRXh0cmFDbGFzczogc3RyaW5nO1xuICAgcHVibGljIGN1cnJlbnRGYWN0b3I6IEZhY3RvclNjb3JlRHRvO1xuICAgcHVibGljIGZpbHRlcjogTW9kZWxGaWx0ZXI7XG4gICBwdWJsaWMgZGlyZWN0aW9uOiBzdHJpbmc7XG4gICBwdWJsaWMgZmFjdG9yU2NvcmU6IEZhY3RvclNjb3JlRHRvO1xuICAgcHVibGljIGJlbmNobWFya1Njb3JlOiBudW1iZXI7XG4gICBwdWJsaWMgZGltZW5zaW9uS2V5OiBzdHJpbmc7XG4gICBwdWJsaWMgc3ViRGltZW5zaW9uczogRmFjdG9yU3RydWN0dXJlRHRvW107XG4gICBwdWJsaWMgYmVuY2htYXJrOiBzdHJpbmc7XG4gICBwdWJsaWMgc2hvd0JlbmNobWFyazogYm9vbGVhbjtcbiAgIHB1YmxpYyBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgcHVibGljIG5vdGVzOiBzdHJpbmdbXTtcbiAgIHB1YmxpYyBjb25maWRlbmNlQXZhaWxhYmxlOiBib29sZWFuO1xuICAgcHVibGljIHRlYW1LZXk6IHN0cmluZztcbiAgIHB1YmxpYyBlZmZlY3RzOiBFZmZlY3REdG9bXTtcbiAgIHB1YmxpYyBwb2ludHM6IFBvaW50RHRvW107XG4gICBwdWJsaWMgb3BlbkludGVydmVudGlvbnM6IG51bWJlcjtcbiAgIHB1YmxpYyBjb21wbGV0ZWRJbnRlcnZlbnRpb25zOiBudW1iZXI7XG4gICBwdWJsaWMgZGF0YUF2YWlsYWJsZTogYm9vbGVhbjtcbiAgIHB1YmxpYyBzY29yZTogbnVtYmVyO1xuICAgcHVibGljIGZhY3RvclNjb3JlV2lkdGg6IG51bWJlcjtcbiAgIHB1YmxpYyBmYWN0b3JTY29yZUxlZnQ6IG51bWJlcjtcbiAgIHB1YmxpYyBmZWVkYmFja0F2YWlsYWJsZTogYm9vbGVhbjtcbiAgIHB1YmxpYyBkZWx0YTogRmFjdG9yU2NvcmVDb2xsZWN0aW9uRGVsdGFEdG87XG4gICBwdWJsaWMgZGF0ZVJhbmdlOiBEYXRlUmFuZ2VEdG87XG4gICBwdWJsaWMgaW1wZWRlZEludGVydmVudGlvbnM6IG51bWJlcjtcbiAgIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG4gICBwdWJsaWMgYmFzZVVybDogc3RyaW5nO1xuICAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgIHB1YmxpYyBJbnRlcnZlbnRpb25TdGF0ZUVudW0gPSBJbnRlcnZlbnRpb25TdGF0ZUVudW07XG4gICBwdWJsaWMgYnJlYWtkb3duUGFnZSA9IDA7XG4gICBwdWJsaWMgbGFzdE1lYXN1cmVkRG90czogQXJyYXk8bnVtYmVyPjtcbiAgIHB1YmxpYyBsYXN0TWVhc3VyZWRPcGFjaXR5OiBudW1iZXI7XG4gICBwdWJsaWMgbGFzdE1lYXN1cmVkVG9vbHRpcDogc3RyaW5nO1xuXG4gICBjb25zdHJ1Y3RvcihASW5qZWN0KFZJRVdTVEFURV9QUk9WSURFUikgcHJpdmF0ZSBzdGF0ZTogVmlld01vZGVsU3RhdGVCYXNlPElSZXN1bHRzU3RhdGU+LCBwcml2YXRlIHVzZXJTZXR0aW5nc1NlcnZpY2U6IFVzZXJTZXR0aW5nU2VydmljZSwgcHJvdGVjdGVkIHNuYWNrQmFyOiBNYXRTbmFja0Jhcikge1xuICAgICAgc3VwZXIoc3RhdGUsIHNuYWNrQmFyKVxuICAgfVxuXG4gICBuZ09uSW5pdCgpIHtcbiAgICAgIHRoaXMuZmlsdGVyID0gdGhpcy51c2VyU2V0dGluZ3NTZXJ2aWNlLmdldCgpLnVzZXIubW9kZWxGaWx0ZXI7XG4gICAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMudXNlclNldHRpbmdzU2VydmljZS5jaGFuZ2VkLnN1YnNjcmliZShzdWNjZXNzID0+IHtcbiAgICAgICAgIHRoaXMuZmlsdGVyID0gdGhpcy51c2VyU2V0dGluZ3NTZXJ2aWNlLmdldCgpLnVzZXIubW9kZWxGaWx0ZXI7XG4gICAgICB9KTtcbiAgIH1cblxuICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcbiAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICB9XG4gICB9XG4gICBcbiAgIHByb3RlY3RlZCBvbkRhdGFVcGRhdGUoZGF0YTogSVJlc3VsdHNTdGF0ZSk6IHZvaWQge1xuICAgICAgdGhpcy5jdXJyZW50RmFjdG9yID0gZGF0YS5mYWN0b3JTY29yZXMuZmFjdG9yU2NvcmVzLmZpbmQocCA9PiBwLmtleSA9PSB0aGlzLmRpbWVuc2lvbi5wdWJsaWNLZXkpO1xuICAgICAgdGhpcy5kZWx0YSA9IGRhdGEuZmFjdG9yU2NvcmVzLmRlbHRhO1xuICAgICAgdGhpcy5kYXRlUmFuZ2UgPSBkYXRhLmZhY3RvclNjb3Jlcy5kYXRlUmFuZ2U7XG4gICAgICB0aGlzLmJhc2VVcmwgPSBkYXRhLmJhc2VVcmw7XG4gICAgICB0aGlzLm5hbWUgPSB0aGlzLmRpbWVuc2lvbi5uYW1lO1xuICAgICAgdGhpcy5kZXNjcmlwdGlvbiA9IHRoaXMuZGltZW5zaW9uLmRlc2NyaXB0aW9uO1xuICAgICAgdGhpcy5zdWJEaW1lbnNpb25zID0gdGhpcy5kaW1lbnNpb24ubG93ZXI7XG4gICAgICB0aGlzLmRpbWVuc2lvbktleSA9IHRoaXMuZGltZW5zaW9uLnB1YmxpY0tleTtcbiAgICAgIHRoaXMuZWZmZWN0cyA9IHRoaXMuZGltZW5zaW9uLmVmZmVjdHM7XG4gICAgICB0aGlzLmJlbmNobWFyayA9IGRhdGEuZmFjdG9yU2NvcmVzLmJlbmNobWFyay5uYW1lO1xuXG4gICAgICBpZiAodGhpcy5jdXJyZW50RmFjdG9yICE9IG51bGwpIHtcbiAgICAgICAgIHRoaXMuZGF0YUF2YWlsYWJsZSA9ICF0aGlzLmN1cnJlbnRGYWN0b3IuYW5vbnltaXplZCAmJiB0aGlzLmN1cnJlbnRGYWN0b3Iuc2FtcGxlU2l6ZSA+IDA7XG4gICAgICAgICB0aGlzLmNvbmZpZGVuY2VBdmFpbGFibGUgPSBkYXRhLmZhY3RvclNjb3Jlcy5jb21wb3NpdGlvbi5wb2ludHMuY291bnQgPiAwICYmIHRoaXMuZGF0YUF2YWlsYWJsZTtcbiAgICAgICAgIHRoaXMuZmVlZGJhY2tBdmFpbGFibGUgPSB0aGlzLmN1cnJlbnRGYWN0b3IucmVjb21tZW5kYXRpb24uYXZhaWxhYmxlO1xuICAgICAgICAgdGhpcy5iZW5jaG1hcmtTY29yZSA9IHRoaXMuY3VycmVudEZhY3Rvci5iZW5jaG1hcms7XG4gICAgICAgICB0aGlzLmZhY3RvclNjb3JlID0gdGhpcy5jdXJyZW50RmFjdG9yO1xuICAgICAgICAgdGhpcy5zY29yZSA9IHRoaXMuY3VycmVudEZhY3Rvci5zY29yZTtcbiAgICAgICAgIHRoaXMucG9pbnRzID0gdGhpcy5jdXJyZW50RmFjdG9yLnBvaW50cy5zbGljZSh0aGlzLmJyZWFrZG93blBhZ2UgKiAxMCwgdGhpcy5icmVha2Rvd25QYWdlICogMTAgKyAxMCk7XG5cbiAgICAgICAgIHRoaXMuZmlsdGVyLmludGVydmVudGlvbkZpbHRlcjtcbiAgICAgICAgIHRoaXMub3BlbkludGVydmVudGlvbnMgPSB0aGlzLmN1cnJlbnRGYWN0b3IuaW50ZXJ2ZW50aW9uU3VtbWFyeS5vcGVuO1xuICAgICAgICAgdGhpcy5jb21wbGV0ZWRJbnRlcnZlbnRpb25zID0gdGhpcy5jdXJyZW50RmFjdG9yLmludGVydmVudGlvblN1bW1hcnkuY29tcGxldGVkO1xuICAgICAgICAgdGhpcy5pbXBlZGVkSW50ZXJ2ZW50aW9ucyA9IHRoaXMuY3VycmVudEZhY3Rvci5pbnRlcnZlbnRpb25TdW1tYXJ5LmltcGVkZWQ7XG4gICAgICAgICB0aGlzLm5vdGVzID0gdGhpcy5jdXJyZW50RmFjdG9yLm5vdGVzO1xuXG4gICAgICAgICB0aGlzLmZhY3RvclNjb3JlV2lkdGggPSAodGhpcy5jdXJyZW50RmFjdG9yLnVwcGVyQ29uZmlkZW5jZSAtIHRoaXMuY3VycmVudEZhY3Rvci5sb3dlckNvbmZpZGVuY2UpO1xuICAgICAgICAgaWYgKHRoaXMuZmFjdG9yU2NvcmVXaWR0aCA8PSAxMCkgeyB0aGlzLmZhY3RvclNjb3JlV2lkdGggPSAxMCB9O1xuICAgICAgICAgdGhpcy5mYWN0b3JTY29yZUxlZnQgPSB0aGlzLmN1cnJlbnRGYWN0b3IubG93ZXJDb25maWRlbmNlO1xuICAgICAgICAgaWYgKHRoaXMuZmFjdG9yU2NvcmVMZWZ0ID49IDkwKSB7IHRoaXMuZmFjdG9yU2NvcmVMZWZ0ID0gOTAgfTtcblxuICAgICAgICAgdGhpcy5kaXJlY3Rpb24gPSB0aGlzLmZhY3RvclNjb3JlLnF1YWxpZmljYXRpb24udG9Mb3dlckNhc2UoKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICAgdGhpcy5zY29yZSA9IDA7XG4gICAgICB9XG4gICB9O1xufVxuIiwiPGRpdiBbY2xhc3NdPVwiJ2ZhY3RvciAnICsgZmFjdG9yRXh0cmFDbGFzcyArICcgJyArIGRpcmVjdGlvblwiIFtuZ0NsYXNzXT1cInsnZmFjdG9yLW5vdG1lYXN1cmVkJyA6ICFkYXRhQXZhaWxhYmxlfVwiIFtpZF09XCInZmFjdG9yLScgKyBkaW1lbnNpb25LZXlcIiAjZmFjdG9yIChjbGljayk9XCJwb3BvdmVyLm9wZW4oKVwiPlxuICAgPGRpdiBjbGFzcz1cImZhY3Rvci1jb250ZW50XCI+XG4gICAgICA8aDI+XG4gICAgICAgICB7e25hbWV9fVxuICAgICAgPC9oMj5cbiAgICAgIDxkaXYgW2NsYXNzXT1cIidwcm9ncmVzc2JhciBwcm9ncmVzc2Jhci0nICsgZGlyZWN0aW9uXCI+XG4gICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3NiYXItc2NvcmVcIj57e3Njb3JlIHwgbnVtYmVyOicxLjAtMCd9fTwvZGl2PlxuICAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyZXNzYmFyLWNvbmZpZGVuY2VcIiAqbmdJZj1cImNvbmZpZGVuY2VBdmFpbGFibGVcIiBbbWF0VG9vbHRpcF09XCInTW9zdCByZXNwb25zZXMgZmFsbCBpbiB0aGUgcmFuZ2Ugb2YgJyArIGZhY3RvclNjb3JlLmxvd2VyQ29uZmlkZW5jZSArICcgKDE1JSBwZXJjZW50aWxlKSBhbmQgJyArIGZhY3RvclNjb3JlLnVwcGVyQ29uZmlkZW5jZSArICcgKDg1JSBwZXJjZW50aWxlKSdcIiBbc3R5bGVdPVwiJ2xlZnQ6ICcgKyBmYWN0b3JTY29yZUxlZnQgKyAnJTsgd2lkdGg6ICcgKyBmYWN0b3JTY29yZVdpZHRoICsgJyUnXCI+PC9kaXY+XG4gICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3NiYXItYmFyXCIgKm5nSWY9XCIhY29uZmlkZW5jZUF2YWlsYWJsZVwiIFtzdHlsZV09XCInd2lkdGg6ICcgKyBzY29yZSArICclJ1wiPjwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8YWdlLWluZGljYXRvciBbbGFzdE1lYXN1cmVkXT1cImZhY3RvclNjb3JlLmxhc3RNZWFzdXJlZFwiPjwvYWdlLWluZGljYXRvcj5cbiAgICAgIDxkZWx0YS1hcnJvdyAqbmdJZj1cImRhdGFBdmFpbGFibGVcIiBbZmFjdG9yU2NvcmVdPVwiZmFjdG9yU2NvcmVcIiBbZGVsdGFdPVwiZGVsdGFcIiBbbm9EYXRhSW5kaWNhdG9yXT1cImZhbHNlXCI+PC9kZWx0YS1hcnJvdz5cbiAgIDwvZGl2PlxuICAgPGRpdiBjbGFzcz1cImVtcGhhc2l6ZSBlbXBoYXNpemUtaW50ZXJ2ZW50aW9uc1wiICpuZ0lmPVwiZmlsdGVyLmludGVydmVudGlvbkZpbHRlciA9PSAnQWxsJyAmJiAob3BlbkludGVydmVudGlvbnMgPiAwIHx8IGNvbXBsZXRlZEludGVydmVudGlvbnMgPiAwKVwiIFtyb3V0ZXJMaW5rXT1cIltiYXNlVXJsLCAnYWN0aW9ucyddXCIgW3F1ZXJ5UGFyYW1zXT1cInsgZXhwZWN0ZWRJbXBhY3RPbjogZGltZW5zaW9uS2V5IH1cIiBbbWF0VG9vbHRpcF09XCInVGhlcmUgYXJlICcgKyBvcGVuSW50ZXJ2ZW50aW9ucyArICcgb3BlbiwgYW5kICcgKyBjb21wbGV0ZWRJbnRlcnZlbnRpb25zICsgJyBjb21wbGV0ZWQgYWN0aW9uKHMpLiBFYWNoIGFjdGlvbiBpcyBpZGVudGlmaWVkIGFuZCBjcmVhdGVkIGJ5IHRoZSB0ZWFtcyB0aGVtc2VsdmVzLidcIj5cbiAgICAgIHt7b3BlbkludGVydmVudGlvbnN9fTxzbWFsbD4ve3tjb21wbGV0ZWRJbnRlcnZlbnRpb25zfX08L3NtYWxsPlxuICAgPC9kaXY+XG4gICA8YSBjbGFzcz1cImVtcGhhc2l6ZSBlbXBoYXNpemUtaW50ZXJ2ZW50aW9uc1wiICpuZ0lmPVwiZmlsdGVyLmludGVydmVudGlvbkZpbHRlciA9PSAnT25seU9wZW4nICYmIG9wZW5JbnRlcnZlbnRpb25zID4gMFwiIFtyb3V0ZXJMaW5rXT1cIltiYXNlVXJsLCAnYWN0aW9ucyddXCIgW3F1ZXJ5UGFyYW1zXT1cInsgc3RhdGU6IEludGVydmVudGlvblN0YXRlRW51bS5vcGVuLCBleHBlY3RlZEltcGFjdE9uOiBkaW1lbnNpb25LZXkgfVwiIFttYXRUb29sdGlwXT1cIidUaGVyZSBhcmUgJyArIG9wZW5JbnRlcnZlbnRpb25zICsgJyBvcGVuIGltcHJvdmVtZW50IGFjdGlvbnMuIEVhY2ggYWN0aW9uIGlzIGlkZW50aWZpZWQgYW5kIGNyZWF0ZWQgYnkgdGhlIHRlYW1zIHRoZW1zZWx2ZXMuJ1wiPlxuICAgICAgPGkgY2xhc3M9XCJwaC1mbGFzayBpY29uXCI+PC9pPiB7e29wZW5JbnRlcnZlbnRpb25zfX1cbiAgIDwvYT5cbiAgIDxkaXYgY2xhc3M9XCJlbXBoYXNpemUgZW1waGFzaXplLWludGVydmVudGlvbnNcIiAqbmdJZj1cImZpbHRlci5pbnRlcnZlbnRpb25GaWx0ZXIgPT0gJ09ubHlDb21wbGV0ZWQnICYmIGNvbXBsZXRlZEludGVydmVudGlvbnMgPiAwXCIgW3JvdXRlckxpbmtdPVwiW2Jhc2VVcmwsICdhY3Rpb25zJ11cIiBbcXVlcnlQYXJhbXNdPVwieyBzdGF0ZTogSW50ZXJ2ZW50aW9uU3RhdGVFbnVtLmNvbXBsZXRlZCwgZXhwZWN0ZWRJbXBhY3RPbjogZGltZW5zaW9uS2V5IH1cIiBbbWF0VG9vbHRpcF09XCInVGhlcmUgYXJlICcgKyBvcGVuSW50ZXJ2ZW50aW9ucyArICcgY29tcGxldGVkIGltcHJvdmVtZW50IGFjdGlvbnMuIEVhY2ggYWN0aW9uIGlzIGlkZW50aWZpZWQgYW5kIGNyZWF0ZWQgYnkgdGhlIHRlYW1zIHRoZW1zZWx2ZXMuJ1wiPlxuICAgICAgPGkgY2xhc3M9XCJwaC1jaGVjay1ib2xkIGljb25cIj48L2k+IHt7Y29tcGxldGVkSW50ZXJ2ZW50aW9uc319XG4gICA8L2Rpdj5cbiAgIDxkaXYgY2xhc3M9XCJlbXBoYXNpemUgZW1waGFzaXplLWltcGVkaW1lbnRzXCIgKm5nSWY9XCJpbXBlZGVkSW50ZXJ2ZW50aW9ucyA+IDBcIiBbcm91dGVyTGlua109XCJbYmFzZVVybCwgJ2FjdGlvbnMnXVwiIFtxdWVyeVBhcmFtc109XCJ7IHN0YXRlOiBJbnRlcnZlbnRpb25TdGF0ZUVudW0uaW1wZWRlZCwgZXhwZWN0ZWRJbXBhY3RPbjogZGltZW5zaW9uS2V5IH1cIiBbbWF0VG9vbHRpcF09XCInVGhlcmUgYXJlICcgKyBpbXBlZGVkSW50ZXJ2ZW50aW9ucyArICcgYWN0aW9ucyB3aGVyZSB0ZWFtcyBhcmUgcmVxdWVzdGluZyBmcm9tIGhlbHAgZnJvbSBvdXRzaWRlIHRoZSB0ZWFtLidcIj5cbiAgICAgIDxpbWcgY2xhc3M9XCJpY29uXCIgc3JjPVwiL2Fzc2V0cy9pbWcvaW1wZWRlZC5zdmdcIiAvPiB7e2ltcGVkZWRJbnRlcnZlbnRpb25zfX1cbiAgIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgW2lkXT1cIidmYWN0b3ItJyArIGRpbWVuc2lvbktleSArICctc3ViZmFjdG9ycydcIiBjbGFzcz1cInN1YmZhY3RvcnNcIj5cbiAgIDxtb2RlbC1mYWN0b3IgW2RpbWVuc2lvbl09XCJzdWJEaW1lbnNpb25cIiBbZmFjdG9yRXh0cmFDbGFzc109XCInZmFjdG9yLXN1YidcIiAqbmdGb3I9XCJsZXQgc3ViRGltZW5zaW9uIG9mIHN1YkRpbWVuc2lvbnNcIj48L21vZGVsLWZhY3Rvcj5cbjwvZGl2PlxuXG48c2F0LXBvcG92ZXIgI3BvcG92ZXIgaG9yaXpvbnRhbEFsaWduPVwiYWZ0ZXJcIiBbYW5jaG9yXT1cImZhY3RvclwiIHZlcnRpY2FsQWxpZ249XCJjZW50ZXJcIiBbaGFzQmFja2Ryb3BdPVwidHJ1ZVwiIFthdXRvRm9jdXNdPVwiZmFsc2VcIj5cbiAgIDxkaXYgY2xhc3M9XCJwb3BvdmVyXCIgW2lkXT1cIidwb3BvdmVyLScgKyBkaW1lbnNpb25LZXlcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwb3BvdmVyLWNvbnRhaW5lclwiPlxuICAgICAgICAgPHNwYW4gKGNsaWNrKT1cInBvcG92ZXIuY2xvc2UoKVwiIGNsYXNzPVwiY2xvc2UgcGgteFwiPjwvc3Bhbj5cbiAgICAgICAgIDxoMyBmYWN0b3JJbmZvcm1hdGlvbkRpYWxvZyBbZmFjdG9yXT1cImRpbWVuc2lvblwiPlxuICAgICAgICAgICAge3tuYW1lfX1cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbiBwaC1pbmZvLWZpbGxcIj48L3NwYW4+XG4gICAgICAgICA8L2gzPlxuICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCI+e3tkZXNjcmlwdGlvbn19PC9kaXY+XG5cbiAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlIG1lc3NhZ2Utd2FybmluZyBsaW1pdGF0aW9uc1wiICpuZ0lmPVwibm90ZXMgJiYgbm90ZXMubGVuZ3RoID4gMFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uIHBoLXdhcm5pbmctY2lyY2xlXCI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJub3Rlcy5sZW5ndGggPT0gMVwiPlxuICAgICAgICAgICAgICAge3tub3Rlcy5sZW5ndGh9fSBsaW1pdGF0aW9uIGFwcGxpZXMgdG8gdGhlc2UgcmVzdWx0cy4gPGEgW3JvdXRlckxpbmtdPVwiW11cIiBub3Rlc0RpYWxvZyBbbm90ZXNdPVwibm90ZXNcIj5DbGljayB0byBleHBsb3JlPC9hPi5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibm90ZXMubGVuZ3RoID4gMVwiPlxuICAgICAgICAgICAgICAge3tub3Rlcy5sZW5ndGh9fSBsaW1pdGF0aW9ucyBhcHBseSB0byB0aGVzZSByZXN1bHRzLiA8YSBbcm91dGVyTGlua109XCJbXVwiIG5vdGVzRGlhbG9nIFtub3Rlc109XCJub3Rlc1wiPkNsaWNrIHRvIGV4cGxvcmU8L2E+LlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgIDxkaXYgY2xhc3M9XCJicmVha2Rvd25cIj5cbiAgICAgICAgICAgIDxkaXYgW21hdFRvb2x0aXBdPVwiJ1RoaXMgaXMgdGhlIGF2ZXJhZ2Ugc2NvcmUgb2YgdGVhbXMgaW4gdGhlIGJlbmNobWFyayBbJyArIGJlbmNobWFyayArICddLiBDaGFuZ2UgdGhlIGJlbmNobWFyayB1bmRlciBcXCdTZXR0aW5nc1xcJy4nXCIgW2F0dHIubm9ybWFsaXplZFNjb3JlXT1cImJlbmNobWFya1Njb3JlXCIgW2NsYXNzXT1cIidwcm9ncmVzc2JhciBwcm9ncmVzc2Jhci1pbnZlcnRlZCBwcm9ncmVzc2Jhci1iZW5jaG1hcmsnXCIgKm5nSWY9XCJiZW5jaG1hcmtTY29yZSAhPSAwXCI+XG4gICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3NiYXItYmFyXCIgW3N0eWxlXT1cIid3aWR0aDogJyArIGJlbmNobWFya1Njb3JlICsgJyUnXCI+PC9kaXY+XG4gICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3NiYXItbGFiZWxcIj5iZW5jaG1hcms8L2Rpdj5cbiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzc2Jhci1zY29yZVwiPnt7YmVuY2htYXJrU2NvcmUgfCBudW1iZXI6JzEuMC0wJyB9fTwvZGl2PldcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbHNcIj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgIDxtb2RlbC1mYWN0b3ItYnJlYWtkb3duIFtmYWN0b3JdPVwiY3VycmVudEZhY3RvclwiPjwvbW9kZWwtZmFjdG9yLWJyZWFrZG93bj5cblxuICAgICAgICAgPHF1aWNrdGlwcyBbZGltZW5zaW9uS2V5XT1cImRpbWVuc2lvbktleVwiIFtleHRyYUNsYXNzXT1cIidxdWlja3RpcHMtcG9wb3ZlcidcIj48L3F1aWNrdGlwcz5cblxuICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmtcIiAqbmdJZj1cImZlZWRiYWNrQXZhaWxhYmxlXCI+XG4gICAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJbYmFzZVVybCwgJ3RpcHMnXVwiIFtmcmFnbWVudF09XCJkaW1lbnNpb25LZXlcIj5kaXNjb3ZlciBob3cgdG8gaW1wcm92ZSA+PC9hPlxuICAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhcnJvd1wiPjwvZGl2PlxuICAgPC9kaXY+XG48L3NhdC1wb3BvdmVyPlxuIl19
|
|
@@ -17,13 +17,13 @@ export class RoadmapComponent extends ComponentWithViewStateBase {
|
|
|
17
17
|
}
|
|
18
18
|
;
|
|
19
19
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: RoadmapComponent, deps: [{ token: VIEWSTATE_PROVIDER }, { token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: RoadmapComponent, selector: "roadmap", usesInheritance: true, ngImport: i0, template: "<div class=\"roadmap\" brandbackground [palette]=\"'accent'\" *ngIf=\"show\">\n <h3>Our roadmap</h3>\n <div class=\"feature\">\n <span class=\"icon ph-check-circle-fill\"></span>
|
|
20
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: RoadmapComponent, selector: "roadmap", usesInheritance: true, ngImport: i0, template: "<div class=\"roadmap\" brandbackground [palette]=\"'accent'\" *ngIf=\"show\">\n <h3>Our roadmap</h3>\n <div class=\"feature\">\n <span class=\"icon ph-check-circle-fill\"></span> More Enterprise Features (MFA, SSO, potentially custom domains) (Q1)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-check-circle-fill\"></span> Introduce Lightweight Partner\u00A0Program (Q1-2)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-circle\"></span> Add basic API for select Enterprise users (Q3)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-circle\"></span> Evolve Feedback To Support Action\u00A0Learning (in progress, Q2-4)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-circle\"></span> Transition Teamwork Model Out Of\u00A0Beta (Q4)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-circle\"></span> Expand with non-survey measures (Q1-2, 2025)\n </div>\n</div>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.roadmap{padding:20px;position:relative}.roadmap .close{position:absolute;top:15px;right:15px;font-size:30px;cursor:pointer}.roadmap .feature{display:flex;align-items:center;align-content:center}.roadmap .feature .icon{margin-right:15px}.roadmap .toolbar{margin-top:30px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.BrandBackgroundDirective, selector: "[brandbackground]", inputs: ["palette"] }] }); }
|
|
21
21
|
}
|
|
22
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: RoadmapComponent, decorators: [{
|
|
23
23
|
type: Component,
|
|
24
|
-
args: [{ selector: 'roadmap', template: "<div class=\"roadmap\" brandbackground [palette]=\"'accent'\" *ngIf=\"show\">\n <h3>Our roadmap</h3>\n <div class=\"feature\">\n <span class=\"icon ph-check-circle-fill\"></span>
|
|
24
|
+
args: [{ selector: 'roadmap', template: "<div class=\"roadmap\" brandbackground [palette]=\"'accent'\" *ngIf=\"show\">\n <h3>Our roadmap</h3>\n <div class=\"feature\">\n <span class=\"icon ph-check-circle-fill\"></span> More Enterprise Features (MFA, SSO, potentially custom domains) (Q1)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-check-circle-fill\"></span> Introduce Lightweight Partner\u00A0Program (Q1-2)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-circle\"></span> Add basic API for select Enterprise users (Q3)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-circle\"></span> Evolve Feedback To Support Action\u00A0Learning (in progress, Q2-4)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-circle\"></span> Transition Teamwork Model Out Of\u00A0Beta (Q4)\n </div>\n <div class=\"feature\">\n <span class=\"icon ph-circle\"></span> Expand with non-survey measures (Q1-2, 2025)\n </div>\n</div>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.roadmap{padding:20px;position:relative}.roadmap .close{position:absolute;top:15px;right:15px;font-size:30px;cursor:pointer}.roadmap .feature{display:flex;align-items:center;align-content:center}.roadmap .feature .icon{margin-right:15px}.roadmap .toolbar{margin-top:30px}\n"] }]
|
|
25
25
|
}], ctorParameters: () => [{ type: i4.ViewModelStateBase, decorators: [{
|
|
26
26
|
type: Inject,
|
|
27
27
|
args: [VIEWSTATE_PROVIDER]
|
|
28
28
|
}] }, { type: i1.MatSnackBar }] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9hZG1hcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NydW10ZWFtc3VydmV5LXRvb2xzL3NyYy9saWIvcmVzdWx0cy9jb21wb25lbnRzL3JvYWRtYXAvcm9hZG1hcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NydW10ZWFtc3VydmV5LXRvb2xzL3NyYy9saWIvcmVzdWx0cy9jb21wb25lbnRzL3JvYWRtYXAvcm9hZG1hcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUVqRixPQUFPLEVBQUUsa0JBQWtCLEVBQXNCLE1BQU0sMkNBQTJDLENBQUM7Ozs7OztBQVFuRyxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsMEJBQXlDO0lBSTVFLFlBQWdELEtBQXdDLEVBQVksUUFBcUI7UUFDdEgsS0FBSyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQTtRQUR1QixVQUFLLEdBQUwsS0FBSyxDQUFtQztRQUFZLGFBQVEsR0FBUixRQUFRLENBQWE7SUFFekgsQ0FBQztJQUVTLFlBQVksQ0FBQyxJQUFtQjtRQUN2QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQztJQUNoRCxDQUFDO0lBQUEsQ0FBQzs4R0FWUSxnQkFBZ0Isa0JBSU4sa0JBQWtCO2tHQUo1QixnQkFBZ0Isc0VDWDdCLDY4QkFxQkE7OzJGRFZhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRyxTQUFTOzswQkFRTixNQUFNOzJCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRXaXRoVmlld1N0YXRlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudFdpdGhWaWV3U3RhdGVCYXNlJztcbmltcG9ydCB7IElSZXN1bHRzU3RhdGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lSZXN1bHRzU3RhdGUnO1xuaW1wb3J0IHsgVklFV1NUQVRFX1BST1ZJREVSLCBWaWV3TW9kZWxTdGF0ZUJhc2UgfSBmcm9tICcuLi8uLi8uLi92aWV3TW9kZWwvdmlld01vZGVsU3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5cbkBDb21wb25lbnQoe1xuICAgc2VsZWN0b3I6ICdyb2FkbWFwJyxcbiAgIHRlbXBsYXRlVXJsOiAnLi9yb2FkbWFwLmNvbXBvbmVudC5odG1sJyxcbiAgIHN0eWxlVXJsczogWycuL3JvYWRtYXAuY29tcG9uZW50Lmxlc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBSb2FkbWFwQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50V2l0aFZpZXdTdGF0ZUJhc2U8SVJlc3VsdHNTdGF0ZT4ge1xuICAgcHVibGljIHNob3c6IGJvb2xlYW47XG4gICBwdWJsaWMgc3Vic2NyaWJlVXJsOiBzdHJpbmc7XG5cbiAgIGNvbnN0cnVjdG9yKEBJbmplY3QoVklFV1NUQVRFX1BST1ZJREVSKSBwcml2YXRlIHN0YXRlOiBWaWV3TW9kZWxTdGF0ZUJhc2U8SVJlc3VsdHNTdGF0ZT4sIHByb3RlY3RlZCBzbmFja0JhcjogTWF0U25hY2tCYXIpIHtcbiAgICAgIHN1cGVyKHN0YXRlLCBzbmFja0JhcilcbiAgIH1cblxuICAgcHJvdGVjdGVkIG9uRGF0YVVwZGF0ZShkYXRhOiBJUmVzdWx0c1N0YXRlKTogdm9pZCB7XG4gICAgICB0aGlzLnNob3cgPSBkYXRhLnVzZXJJbmZvLmJyYW5kaW5nLmlzRGVmYXVsdDtcbiAgIH07XG59XG4iLCI8ZGl2IGNsYXNzPVwicm9hZG1hcFwiIGJyYW5kYmFja2dyb3VuZCBbcGFsZXR0ZV09XCInYWNjZW50J1wiICpuZ0lmPVwic2hvd1wiPlxuICAgPGgzPk91ciByb2FkbWFwPC9oMz5cbiAgIDxkaXYgY2xhc3M9XCJmZWF0dXJlXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImljb24gcGgtY2hlY2stY2lyY2xlLWZpbGxcIj48L3NwYW4+IE1vcmUgRW50ZXJwcmlzZSBGZWF0dXJlcyAoTUZBLCBTU08sIHBvdGVudGlhbGx5IGN1c3RvbSBkb21haW5zKSAoUTEpXG4gICA8L2Rpdj5cbiAgIDxkaXYgY2xhc3M9XCJmZWF0dXJlXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImljb24gcGgtY2hlY2stY2lyY2xlLWZpbGxcIj48L3NwYW4+IEludHJvZHVjZSBMaWdodHdlaWdodCBQYXJ0bmVywqBQcm9ncmFtIChRMS0yKVxuICAgPC9kaXY+XG4gICA8ZGl2IGNsYXNzPVwiZmVhdHVyZVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJpY29uIHBoLWNpcmNsZVwiPjwvc3Bhbj4gQWRkIGJhc2ljIEFQSSBmb3Igc2VsZWN0IEVudGVycHJpc2UgdXNlcnMgKFEzKVxuICAgPC9kaXY+XG4gICA8ZGl2IGNsYXNzPVwiZmVhdHVyZVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJpY29uIHBoLWNpcmNsZVwiPjwvc3Bhbj4gRXZvbHZlIEZlZWRiYWNrIFRvIFN1cHBvcnQgQWN0aW9uwqBMZWFybmluZyAoaW4gcHJvZ3Jlc3MsIFEyLTQpXG4gICA8L2Rpdj5cbiAgIDxkaXYgY2xhc3M9XCJmZWF0dXJlXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImljb24gcGgtY2lyY2xlXCI+PC9zcGFuPiBUcmFuc2l0aW9uIFRlYW13b3JrIE1vZGVsIE91dCBPZsKgQmV0YSAoUTQpXG4gICA8L2Rpdj5cbiAgIDxkaXYgY2xhc3M9XCJmZWF0dXJlXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImljb24gcGgtY2lyY2xlXCI+PC9zcGFuPiBFeHBhbmQgd2l0aCBub24tc3VydmV5IG1lYXN1cmVzIChRMS0yLCAyMDI1KVxuICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|