@the-liberators/ngx-scrumteamsurvey-tools 2.3.14 → 2.3.16

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.
@@ -0,0 +1,2 @@
1
+ import { ValidatorFn } from '@angular/forms';
2
+ export declare function presetCheckValidator(presetKey: string): ValidatorFn;
@@ -1,6 +1,6 @@
1
- import { AbstractControl, ControlValueAccessor, FormArray, FormBuilder, FormGroup } from '@angular/forms';
1
+ import { ControlValueAccessor, FormBuilder, FormGroup } from '@angular/forms';
2
2
  import { MatDialog } from '@angular/material/dialog';
3
- import { FactorStructureDto, QuestionnaireTypeDto } from '../../models/modelStructureDto';
3
+ import { FactorStructureDto, QuestionnaireTypeDto, SegmentEnum } from '../../models/modelStructureDto';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class TopicSelectorComponent implements ControlValueAccessor {
6
6
  private formBuilder;
@@ -20,23 +20,24 @@ export declare class TopicSelectorComponent implements ControlValueAccessor {
20
20
  disabled: boolean;
21
21
  topicKeys: string[];
22
22
  presets: QuestionnaireTypeDto[];
23
+ SegmentEnum: typeof SegmentEnum;
23
24
  constructor(formBuilder: FormBuilder, dialog: MatDialog);
24
25
  ngOnInit(): void;
25
- writeValue(dto: TopicSelectorDto): void;
26
- setDisabledState?(isDisabled: boolean): void;
26
+ toggleTopic(): void;
27
27
  registerOnChange(fn: any): void;
28
28
  registerOnTouched(fn: any): void;
29
29
  onChange: any;
30
30
  onTouch: any;
31
+ writeValue(dto: TopicSelectorDto): void;
32
+ setDisabledState?(isDisabled: boolean): void;
31
33
  selectPreset(): void;
32
34
  getValue(): TopicSelectorDto;
33
35
  openFactorInformation(topicKey: string, $event: Event): void;
34
- get topicsArray(): FormArray;
35
- getSubTopicsArray(topicGroup: any): AbstractControl<any, any>[];
36
- selectTopic(subTopicGroup: any): void;
37
- selectAll(subTopicGroup: any, $event: Event): void;
38
- selectNone(subTopicGroup: any, $event: Event): void;
39
- private getAllFormGroups;
36
+ hasSegmentQuestions(factor: FactorStructureDto, segment: SegmentEnum, useOwnQuestionCount: boolean): boolean;
37
+ getCoreFactors(): FactorStructureDto[];
38
+ getSubFactors(parentKey: string): FactorStructureDto[];
39
+ selectAll(topic: FactorStructureDto, $event: Event): void;
40
+ selectNone(topic: FactorStructureDto, $event: Event): void;
40
41
  private createForm;
41
42
  private updateMetaData;
42
43
  static ɵfac: i0.ɵɵFactoryDeclaration<TopicSelectorComponent, never>;
@@ -1,13 +1,15 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./topic-selector.component";
3
- import * as i2 from "@angular/forms";
4
- import * as i3 from "@angular/material/form-field";
5
- import * as i4 from "@angular/common";
6
- import * as i5 from "@angular/material/select";
7
- import * as i6 from "../../pipes/slugify/ngx-slugify.module";
8
- import * as i7 from "../../dialogs/dialog-factorinformation/dialog-factorinformation.module";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "@angular/forms";
5
+ import * as i4 from "@angular/material/form-field";
6
+ import * as i5 from "@angular/material/input";
7
+ import * as i6 from "@angular/material/select";
8
+ import * as i7 from "@angular/material/checkbox";
9
+ import * as i8 from "../../pipes/slugify/ngx-slugify.module";
10
+ import * as i9 from "../../dialogs/dialog-factorinformation/dialog-factorinformation.module";
9
11
  export declare class TopicSelectorModule {
10
12
  static ɵfac: i0.ɵɵFactoryDeclaration<TopicSelectorModule, never>;
11
- static ɵmod: i0.ɵɵNgModuleDeclaration<TopicSelectorModule, [typeof i1.TopicSelectorComponent], [typeof i2.FormsModule, typeof i3.MatFormFieldModule, typeof i2.ReactiveFormsModule, typeof i4.CommonModule, typeof i5.MatSelectModule, typeof i6.SlugifyPipeModule, typeof i7.FactorInformationDialogModule], [typeof i1.TopicSelectorComponent]>;
13
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TopicSelectorModule, [typeof i1.TopicSelectorComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i4.MatFormFieldModule, typeof i3.ReactiveFormsModule, typeof i5.MatInputModule, typeof i6.MatSelectModule, typeof i7.MatCheckboxModule, typeof i8.SlugifyPipeModule, typeof i9.FactorInformationDialogModule], [typeof i1.TopicSelectorComponent]>;
12
14
  static ɵinj: i0.ɵɵInjectorDeclaration<TopicSelectorModule>;
13
15
  }
@@ -34,6 +34,7 @@ export declare class FactorStructureDto {
34
34
  color: string;
35
35
  description: string;
36
36
  questionCount: number;
37
+ ownQuestionCount: number;
37
38
  explainerVideoUrl: string;
38
39
  effects: EffectDto[];
39
40
  segments: FactorStructureSegmentDto[];
@@ -45,6 +46,7 @@ export declare class FactorStructureDto {
45
46
  }
46
47
  export declare class FactorStructureSegmentDto {
47
48
  questionCount: number;
49
+ ownQuestionCount: number;
48
50
  segment: SegmentEnum;
49
51
  durationInSeconds: number;
50
52
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@the-liberators/ngx-scrumteamsurvey-tools",
3
- "version": "2.3.14",
3
+ "version": "2.3.16",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.2.9",
6
6
  "@angular/core": "^18.2.9",
package/public-api.d.ts CHANGED
@@ -59,8 +59,6 @@ export * from './lib/components/mat-tags/mat-tags.component';
59
59
  export * from './lib/components/mat-tags/mat-tags.module';
60
60
  export * from './lib/components/paginator/paginator.component';
61
61
  export * from './lib/components/paginator/paginator.module';
62
- export * from './lib/components/scale-selector/scale-selector.component';
63
- export * from './lib/components/scale-selector/scale-selector.module';
64
62
  export * from './lib/components/select-list/select-list.component';
65
63
  export * from './lib/components/select-list/select-list.module';
66
64
  export * from './lib/components/snapshot-inviteurls/snapshot-inviteurls.component';
@@ -74,6 +72,7 @@ export * from './lib/components/tabnavigator/tabnavigator.module';
74
72
  export * from './lib/components/multi-email-input/multi-email-input.component';
75
73
  export * from './lib/components/multi-email-input/multi-email-input.module';
76
74
  export * from './lib/components/multi-email-input/multi-email-input.component';
75
+ export * from './lib/components/topicselector/customCheckValidator';
77
76
  export * from './lib/components/topicselector/minTopicsSelectedValidator';
78
77
  export * from './lib/components/topicselector/topic-selector.component';
79
78
  export * from './lib/components/topicselector/topic-selector.module';
@@ -1,150 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { SegmentEnum } from '../../models/modelStructureDto';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/forms";
6
- import * as i2 from "@angular/material/form-field";
7
- import * as i3 from "@angular/common";
8
- import * as i4 from "@angular/material/select";
9
- import * as i5 from "@angular/material/core";
10
- import * as i6 from "@angular/material/tooltip";
11
- import * as i7 from "../../dialogs/dialog-factorinformation/dialog-factorinformation.component";
12
- import * as i8 from "../../pipes/segmentName/segmentName.pipe";
13
- import * as i9 from "../../pipes/callback/callback.pipe";
14
- export class ScaleSelectorComponent {
15
- constructor() {
16
- this.questionnaireAccuracy = 0;
17
- this.questionsTeamMembers = 0;
18
- this.questionsStakeholders = 0;
19
- this.questionsSupporters = 0;
20
- this.durationTeamMembers = 0;
21
- this.durationStakeholders = 0;
22
- this.durationSupporters = 0;
23
- this.questionsTotal = 0;
24
- this.SegmentEnum = SegmentEnum;
25
- this.warnings = [];
26
- this.disabled = false;
27
- this.onCheckChange = new EventEmitter();
28
- this.scaleKeys = [];
29
- this.topScales = [];
30
- this.onChange = (scaleKeys) => { };
31
- this.onTouched = () => { };
32
- }
33
- ngOnInit() {
34
- this.topScales = this.getChildFactors(null);
35
- }
36
- writeValue(scaleKeys) {
37
- this.scaleKeys = scaleKeys ?? [];
38
- this.updateMetaData();
39
- }
40
- registerOnChange(fn) {
41
- this.onChange = fn;
42
- }
43
- registerOnTouched(fn) {
44
- this.onTouched = fn;
45
- }
46
- setDisabledState(isDisabled) {
47
- this.disabled = isDisabled;
48
- }
49
- filterSegmentWithQuestions(segment) {
50
- return segment.questionCount > 0;
51
- }
52
- getChildFactors(parentKey) {
53
- var factors = this.scales
54
- .filter(p => p.parentKey == parentKey);
55
- if (this.filter != null) {
56
- if (this.filter.teamType != null) {
57
- factors = factors.filter(p => p.constraints.forTeamTypes.includes(this.filter.teamType));
58
- }
59
- }
60
- return factors;
61
- }
62
- updateMetaData() {
63
- this.warnings = [];
64
- // only work with lower-level factors, as higher-level contain aggregated higher-level question counts
65
- var scalesToInclude = this.scales.filter(p => p.parentKey != null && this.scaleKeys.includes(p.publicKey));
66
- var totalQuestions = this.scales.filter(p => p.parentKey != null).reduce((sum, current) => sum += current.questionCount, 0);
67
- this.questionsTotal = scalesToInclude.reduce((sum, current) => sum += current.questionCount, 0);
68
- this.questionsTeamMembers = scalesToInclude.flatMap(p => p.segments).filter(p => p.segment == SegmentEnum.TeamMember).reduce((sum, current) => sum += current.questionCount, 0);
69
- this.questionsStakeholders = scalesToInclude.flatMap(p => p.segments).filter(p => p.segment == SegmentEnum.Stakeholder).reduce((sum, current) => sum += current.questionCount, 0);
70
- this.questionsSupporters = scalesToInclude.flatMap(p => p.segments).filter(p => p.segment == SegmentEnum.Management).reduce((sum, current) => sum += current.questionCount, 0);
71
- this.durationTeamMembers = scalesToInclude.flatMap(p => p.segments).filter(p => p.segment == SegmentEnum.TeamMember).reduce((sum, current) => sum += current.durationInSeconds, 0) / 60;
72
- this.durationStakeholders = scalesToInclude.flatMap(p => p.segments).filter(p => p.segment == SegmentEnum.Stakeholder).reduce((sum, current) => sum += current.durationInSeconds, 0) / 60;
73
- this.durationSupporters = scalesToInclude.flatMap(p => p.segments).filter(p => p.segment == SegmentEnum.Management).reduce((sum, current) => sum += current.durationInSeconds, 0) / 60;
74
- if (this.durationTeamMembers < 1) {
75
- this.durationTeamMembers = 1;
76
- }
77
- if (this.durationStakeholders < 1) {
78
- this.durationStakeholders = 1;
79
- }
80
- if (this.durationSupporters < 1) {
81
- this.durationSupporters = 1;
82
- }
83
- if (this.questionsStakeholders == 0) {
84
- this.warnings.push("The selection does not include topics for 'Stakeholders'.");
85
- }
86
- if (this.questionsSupporters == 0) {
87
- this.warnings.push("The selection does not include topics for 'Supporters'.");
88
- }
89
- if (this.questionsTeamMembers == 0) {
90
- this.warnings.push("The selection does not include topics for 'Team Members'.");
91
- }
92
- if (this.questionnaireAccuracy < 0.25) {
93
- this.warnings.push("The selection measures few factors, so its accuracy is low.");
94
- }
95
- this.questionnaireAccuracy = this.questionsTotal / totalQuestions;
96
- }
97
- emitScaleKeys() {
98
- this.onChange(this.scaleKeys);
99
- this.updateMetaData();
100
- }
101
- toggleChildren(scale) {
102
- var checked = this.scaleKeys.find(p => p == scale.publicKey) != null;
103
- var children = this.getChildFactors(scale.publicKey);
104
- if (checked) {
105
- var scalesToAdd = children.filter(p => !this.scaleKeys.includes(p.publicKey)).map(p => p.publicKey);
106
- this.scaleKeys = this.scaleKeys.concat(scalesToAdd);
107
- }
108
- else {
109
- var scalesToRemove = children.map(p => p.publicKey);
110
- this.scaleKeys = this.scaleKeys.filter(p => !scalesToRemove.includes(p));
111
- }
112
- this.emitScaleKeys();
113
- }
114
- toggleParent(scale) {
115
- var checked = this.scaleKeys.find(p => p == scale.publicKey) != null;
116
- var parent = this.scales.find(p => p.publicKey == scale.parentKey);
117
- var siblings = this.getChildFactors(parent.publicKey);
118
- if (checked) {
119
- var allLowerChecked = siblings.filter(p => !this.scaleKeys.includes(p.publicKey)).length == 0;
120
- if (allLowerChecked) {
121
- this.scaleKeys = this.scaleKeys.concat(parent.publicKey);
122
- }
123
- }
124
- else {
125
- this.scaleKeys = this.scaleKeys.filter(p => p != parent.publicKey);
126
- }
127
- this.emitScaleKeys();
128
- }
129
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScaleSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
130
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: ScaleSelectorComponent, selector: "scale-selector", inputs: { scales: "scales", filter: "filter", disabled: "disabled", scaleKeys: "scaleKeys" }, outputs: { onCheckChange: "onCheckChange" }, providers: [
131
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: forwardRef(() => ScaleSelectorComponent), }
132
- ], ngImport: i0, template: "<div class=\"scaleselector-container\">\n <div class=\"scaleselector-dropdown\">\n <mat-form-field appearance=\"fill\">\n <mat-label>Select topics</mat-label>\n <mat-select id=\"question-scaleKeys\" [(ngModel)]=\"scaleKeys\" required multiple disableRipple [disabled]=\"disabled\">\n <mat-select-trigger>\n You selected {{scaleKeys.length}} topic(s)\n </mat-select-trigger>\n\n @for (factor of topScales; track factor) {\n <mat-option class=\"select-option lower-0\" [value]=\"factor.publicKey\" (click)=\"toggleChildren(factor)\">\n {{factor.name}}\n <span *ngFor=\"let segment of factor.segments | callback: filterSegmentWithQuestions\" class=\"segment\" [ngClass]=\"{'segment-teammember': segment.segment == SegmentEnum.TeamMember, 'segment-stakeholder': segment.segment == SegmentEnum.Stakeholder, 'segment-supporter': segment.segment == SegmentEnum.Management}\">{{segment.segment | segmentName}}</span>\n <span class=\"icon ph-info-fill\" factorInformationDialog [factor]=\"factor\"></span>\n </mat-option>\n\n @for (lowerFactor of getChildFactors(factor.publicKey); track lowerFactor) {\n <mat-option class=\"select-option lower-1\" [value]=\"lowerFactor.publicKey\" (click)=\"toggleParent(lowerFactor)\">\n {{lowerFactor.name}}\n <span *ngFor=\"let segment of lowerFactor.segments | callback: filterSegmentWithQuestions\" class=\"segment\" [ngClass]=\"{'segment-teammember': segment.segment == SegmentEnum.TeamMember, 'segment-stakeholder': segment.segment == SegmentEnum.Stakeholder, 'segment-supporter': segment.segment == SegmentEnum.Management}\">{{segment.segment | segmentName}}</span>\n <span class=\"icon ph-info-fill\" factorInformationDialog [factor]=\"lowerFactor\"></span>\n </mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"scaleselector-metadata\">\n <div class=\"questionnaire-breakdown\" *ngIf=\"questionsTotal > 0\">\n <div class=\"questionnaire-breakdown-label\">Expected duration (in minutes)</div>\n <div class=\"questionnaire-breakdown-items\">\n <div class=\"questionnaire-breakdown-item teammembers\" *ngIf=\"questionsTeamMembers > 0\" [matTooltip]=\"'At least ' + questionsTeamMembers + ' questions for team members. Additional questions may be added, and are typically answered once per team.'\" [ngStyle]=\"{'width': ((questionsTeamMembers / questionsTotal) * 100) + '%' }\">\n {{durationTeamMembers | number:'1.0-0'}}m\n </div>\n <div class=\"questionnaire-breakdown-item stakeholders\" *ngIf=\"questionsStakeholders > 0\" [matTooltip]=\"'At least ' + questionsStakeholders + ' questions for stakeholders. Additional questions may be added, and are typically answered once per team.'\" [ngStyle]=\"{'width': ((questionsStakeholders / questionsTotal) * 100) + '%' }\">\n {{durationStakeholders | number:'1.0-0'}}m\n </div>\n <div class=\"questionnaire-breakdown-item supporters\" *ngIf=\"questionsSupporters > 0\" [matTooltip]=\"'At least ' + questionsSupporters + ' questions for supporters. Additional questions may be added, and are typically answered once per team.'\" [ngStyle]=\"{'width': ((questionsSupporters / questionsTotal) * 100) + '%' }\">\n {{durationSupporters | number:'1.0-0'}}m\n </div>\n </div>\n </div>\n <div class=\"questionnaire-accuracy\" *ngIf=\"questionsTotal > 0\">\n <div class=\"questionnaire-breakdown-label\">Accuracy</div>\n <div class=\"questionnaire-breakdown-bar-holder\">\n <div class=\"questionnaire-accuracy-bar\" [ngClass]=\"{'low': questionnaireAccuracy < 0.25}\" [ngStyle]=\"{'width': (questionnaireAccuracy * 100) + '%' }\">{{questionnaireAccuracy * 100 | number:'1.0-0'}}%</div>\n </div>\n </div>\n </div>\n\n <div class=\"scaleselector-warnings\" *ngIf=\"warnings.length > 0 && scaleKeys.length > 0\">\n <div class=\"scaleselector-warnings-warning\" *ngFor=\"let warning of warnings\">\n <span class=\"icon ph-info-fill\"></span>{{warning}}\n </div>\n </div>\n\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%}.bigletteredbutton{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;text-decoration:none;background:#ffffff1a;margin-bottom:10px;display:flex;align-content:center;border-radius:20px;padding:15px;font-size:24px;border:2px solid #1F3F8F;border-bottom:6px solid #1F3F8F;color:#fff;align-items:center;cursor:pointer}.bigletteredbutton .free{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff73f;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton .plan{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton:hover,.bigletteredbutton.selected{border:2px solid #fff73f;border-bottom:6px solid #fff73f}.bigletteredbutton .button-letter{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f;margin-right:20px}.bigletteredbutton .button-letter .ph{color:#1f3f8f}.bigletteredbutton .button-letter:hover{background:#1f3f8f;color:#fff73f}.bigletteredbutton .button-letter:hover .ph{color:#fff73f}.roundicon-yellow{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f}.roundicon-yellow .ph{color:#1f3f8f}.roundicon-yellow:hover{background:#1f3f8f;color:#fff73f}.roundicon-yellow:hover .ph{color:#fff73f}.roundicon{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center}.roundicon-large{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;border-radius:60px;height:120px;width:120px}.scaleselector-container .scaleselector-dropdown{flex:auto}.scaleselector-container .scaleselector-dropdown .mat-mdc-form-field{width:100%}.scaleselector-container .scaleselector-metadata{display:flex;column-gap:30px}@media only screen and (max-width: 992px){.scaleselector-container .scaleselector-metadata{display:block}}.scaleselector-container .scaleselector-metadata .questionnaire-breakdown{flex:50%}.scaleselector-container .scaleselector-metadata .questionnaire-breakdown .questionnaire-breakdown-label{font-size:12px;font-weight:900;text-transform:uppercase;font-family:StevieSans,sans-serif}.scaleselector-container .scaleselector-metadata .questionnaire-breakdown .questionnaire-breakdown-label .icon{color:#ef6f00;font-size:18px;vertical-align:middle;cursor:pointer}.scaleselector-container .scaleselector-metadata .questionnaire-breakdown .questionnaire-breakdown-items{display:flex;width:100%;height:20px;border-radius:15px;overflow:hidden;margin-bottom:15px}.scaleselector-container .scaleselector-metadata .questionnaire-breakdown .questionnaire-breakdown-item{flex:auto;min-width:50px;font-size:12px;font-weight:900;font-family:StevieSans,sans-serif;align-content:center;text-align:center}.scaleselector-container .scaleselector-metadata .questionnaire-breakdown .questionnaire-breakdown-item.teammembers{color:#fff;background:#1f3f8f}.scaleselector-container .scaleselector-metadata .questionnaire-breakdown .questionnaire-breakdown-item.stakeholders{background:#fff73f}.scaleselector-container .scaleselector-metadata .questionnaire-breakdown .questionnaire-breakdown-item.supporters{background:#ffbf00}.scaleselector-container .scaleselector-metadata .questionnaire-accuracy{flex:50%}.scaleselector-container .scaleselector-metadata .questionnaire-accuracy .questionnaire-breakdown-label{font-size:12px;font-weight:900;text-transform:uppercase;font-family:StevieSans,sans-serif}.scaleselector-container .scaleselector-metadata .questionnaire-accuracy .questionnaire-breakdown-bar-holder{margin-bottom:15px;background:#2f2f2f;height:20px;border-radius:15px;overflow:hidden}.scaleselector-container .scaleselector-metadata .questionnaire-accuracy .questionnaire-breakdown-bar-holder .questionnaire-accuracy-bar{flex:auto;min-width:50px;font-size:12px;font-weight:900;text-transform:uppercase;font-family:StevieSans,sans-serif;background:#00af77;height:100%;align-content:center;text-align:center}.scaleselector-container .scaleselector-metadata .questionnaire-accuracy .questionnaire-breakdown-bar-holder .questionnaire-accuracy-bar.low{background:#ffbf00}.scaleselector-container .scaleselector-warnings{margin-bottom:15px}.scaleselector-container .scaleselector-warnings .scaleselector-warnings-warning{display:flex;align-items:center;font-size:12pt}.scaleselector-container .scaleselector-warnings .scaleselector-warnings-warning .icon{color:#1f3f8f;font-size:16px;cursor:pointer;margin-right:10px}.mat-mdc-option.lower-1{margin-left:20px}.mat-mdc-option .segment{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%;padding:2px 4px;border-radius:4px;font-weight:600;font-size:10pt;margin-right:10px;white-space:pre}.mat-mdc-option .segment.segment-stakeholder{background:#fff73f}.mat-mdc-option .segment.segment-teammember{background:#1f3f8f;color:#fff}.mat-mdc-option .segment.segment-supporter,.mat-mdc-option .segment.segment-management{background:#ffbf00}.mat-mdc-option .icon{vertical-align:middle;font-size:22px;color:#2f2f2f!important}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { 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: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i4.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i7.OpenFactorInformationDialogDirective, selector: "[factorInformationDialog]", inputs: ["factor"] }, { kind: "pipe", type: i3.DecimalPipe, name: "number" }, { kind: "pipe", type: i8.SegmentNamePipe, name: "segmentName" }, { kind: "pipe", type: i9.CallbackPipe, name: "callback" }] }); }
133
- }
134
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScaleSelectorComponent, decorators: [{
135
- type: Component,
136
- args: [{ selector: 'scale-selector', providers: [
137
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: forwardRef(() => ScaleSelectorComponent), }
138
- ], template: "<div class=\"scaleselector-container\">\n <div class=\"scaleselector-dropdown\">\n <mat-form-field appearance=\"fill\">\n <mat-label>Select topics</mat-label>\n <mat-select id=\"question-scaleKeys\" [(ngModel)]=\"scaleKeys\" required multiple disableRipple [disabled]=\"disabled\">\n <mat-select-trigger>\n You selected {{scaleKeys.length}} topic(s)\n </mat-select-trigger>\n\n @for (factor of topScales; track factor) {\n <mat-option class=\"select-option lower-0\" [value]=\"factor.publicKey\" (click)=\"toggleChildren(factor)\">\n {{factor.name}}\n <span *ngFor=\"let segment of factor.segments | callback: filterSegmentWithQuestions\" class=\"segment\" [ngClass]=\"{'segment-teammember': segment.segment == SegmentEnum.TeamMember, 'segment-stakeholder': segment.segment == SegmentEnum.Stakeholder, 'segment-supporter': segment.segment == SegmentEnum.Management}\">{{segment.segment | segmentName}}</span>\n <span class=\"icon ph-info-fill\" factorInformationDialog [factor]=\"factor\"></span>\n </mat-option>\n\n @for (lowerFactor of getChildFactors(factor.publicKey); track lowerFactor) {\n <mat-option class=\"select-option lower-1\" [value]=\"lowerFactor.publicKey\" (click)=\"toggleParent(lowerFactor)\">\n {{lowerFactor.name}}\n <span *ngFor=\"let segment of lowerFactor.segments | callback: filterSegmentWithQuestions\" class=\"segment\" [ngClass]=\"{'segment-teammember': segment.segment == SegmentEnum.TeamMember, 'segment-stakeholder': segment.segment == SegmentEnum.Stakeholder, 'segment-supporter': segment.segment == SegmentEnum.Management}\">{{segment.segment | segmentName}}</span>\n <span class=\"icon ph-info-fill\" factorInformationDialog [factor]=\"lowerFactor\"></span>\n </mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"scaleselector-metadata\">\n <div class=\"questionnaire-breakdown\" *ngIf=\"questionsTotal > 0\">\n <div class=\"questionnaire-breakdown-label\">Expected duration (in minutes)</div>\n <div class=\"questionnaire-breakdown-items\">\n <div class=\"questionnaire-breakdown-item teammembers\" *ngIf=\"questionsTeamMembers > 0\" [matTooltip]=\"'At least ' + questionsTeamMembers + ' questions for team members. Additional questions may be added, and are typically answered once per team.'\" [ngStyle]=\"{'width': ((questionsTeamMembers / questionsTotal) * 100) + '%' }\">\n {{durationTeamMembers | number:'1.0-0'}}m\n </div>\n <div class=\"questionnaire-breakdown-item stakeholders\" *ngIf=\"questionsStakeholders > 0\" [matTooltip]=\"'At least ' + questionsStakeholders + ' questions for stakeholders. Additional questions may be added, and are typically answered once per team.'\" [ngStyle]=\"{'width': ((questionsStakeholders / questionsTotal) * 100) + '%' }\">\n {{durationStakeholders | number:'1.0-0'}}m\n </div>\n <div class=\"questionnaire-breakdown-item supporters\" *ngIf=\"questionsSupporters > 0\" [matTooltip]=\"'At least ' + questionsSupporters + ' questions for supporters. Additional questions may be added, and are typically answered once per team.'\" [ngStyle]=\"{'width': ((questionsSupporters / questionsTotal) * 100) + '%' }\">\n {{durationSupporters | number:'1.0-0'}}m\n </div>\n </div>\n </div>\n <div class=\"questionnaire-accuracy\" *ngIf=\"questionsTotal > 0\">\n <div class=\"questionnaire-breakdown-label\">Accuracy</div>\n <div class=\"questionnaire-breakdown-bar-holder\">\n <div class=\"questionnaire-accuracy-bar\" [ngClass]=\"{'low': questionnaireAccuracy < 0.25}\" [ngStyle]=\"{'width': (questionnaireAccuracy * 100) + '%' }\">{{questionnaireAccuracy * 100 | number:'1.0-0'}}%</div>\n </div>\n </div>\n </div>\n\n <div class=\"scaleselector-warnings\" *ngIf=\"warnings.length > 0 && scaleKeys.length > 0\">\n <div class=\"scaleselector-warnings-warning\" *ngFor=\"let warning of warnings\">\n <span class=\"icon ph-info-fill\"></span>{{warning}}\n </div>\n </div>\n\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%}.bigletteredbutton{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;text-decoration:none;background:#ffffff1a;margin-bottom:10px;display:flex;align-content:center;border-radius:20px;padding:15px;font-size:24px;border:2px solid #1F3F8F;border-bottom:6px solid #1F3F8F;color:#fff;align-items:center;cursor:pointer}.bigletteredbutton .free{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff73f;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton .plan{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton:hover,.bigletteredbutton.selected{border:2px solid #fff73f;border-bottom:6px solid #fff73f}.bigletteredbutton .button-letter{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f;margin-right:20px}.bigletteredbutton .button-letter .ph{color:#1f3f8f}.bigletteredbutton .button-letter:hover{background:#1f3f8f;color:#fff73f}.bigletteredbutton .button-letter:hover .ph{color:#fff73f}.roundicon-yellow{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f}.roundicon-yellow .ph{color:#1f3f8f}.roundicon-yellow:hover{background:#1f3f8f;color:#fff73f}.roundicon-yellow:hover .ph{color:#fff73f}.roundicon{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center}.roundicon-large{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;border-radius:60px;height:120px;width:120px}.scaleselector-container .scaleselector-dropdown{flex:auto}.scaleselector-container .scaleselector-dropdown .mat-mdc-form-field{width:100%}.scaleselector-container .scaleselector-metadata{display:flex;column-gap:30px}@media only screen and (max-width: 992px){.scaleselector-container .scaleselector-metadata{display:block}}.scaleselector-container .scaleselector-metadata .questionnaire-breakdown{flex:50%}.scaleselector-container .scaleselector-metadata .questionnaire-breakdown .questionnaire-breakdown-label{font-size:12px;font-weight:900;text-transform:uppercase;font-family:StevieSans,sans-serif}.scaleselector-container .scaleselector-metadata .questionnaire-breakdown .questionnaire-breakdown-label .icon{color:#ef6f00;font-size:18px;vertical-align:middle;cursor:pointer}.scaleselector-container .scaleselector-metadata .questionnaire-breakdown .questionnaire-breakdown-items{display:flex;width:100%;height:20px;border-radius:15px;overflow:hidden;margin-bottom:15px}.scaleselector-container .scaleselector-metadata .questionnaire-breakdown .questionnaire-breakdown-item{flex:auto;min-width:50px;font-size:12px;font-weight:900;font-family:StevieSans,sans-serif;align-content:center;text-align:center}.scaleselector-container .scaleselector-metadata .questionnaire-breakdown .questionnaire-breakdown-item.teammembers{color:#fff;background:#1f3f8f}.scaleselector-container .scaleselector-metadata .questionnaire-breakdown .questionnaire-breakdown-item.stakeholders{background:#fff73f}.scaleselector-container .scaleselector-metadata .questionnaire-breakdown .questionnaire-breakdown-item.supporters{background:#ffbf00}.scaleselector-container .scaleselector-metadata .questionnaire-accuracy{flex:50%}.scaleselector-container .scaleselector-metadata .questionnaire-accuracy .questionnaire-breakdown-label{font-size:12px;font-weight:900;text-transform:uppercase;font-family:StevieSans,sans-serif}.scaleselector-container .scaleselector-metadata .questionnaire-accuracy .questionnaire-breakdown-bar-holder{margin-bottom:15px;background:#2f2f2f;height:20px;border-radius:15px;overflow:hidden}.scaleselector-container .scaleselector-metadata .questionnaire-accuracy .questionnaire-breakdown-bar-holder .questionnaire-accuracy-bar{flex:auto;min-width:50px;font-size:12px;font-weight:900;text-transform:uppercase;font-family:StevieSans,sans-serif;background:#00af77;height:100%;align-content:center;text-align:center}.scaleselector-container .scaleselector-metadata .questionnaire-accuracy .questionnaire-breakdown-bar-holder .questionnaire-accuracy-bar.low{background:#ffbf00}.scaleselector-container .scaleselector-warnings{margin-bottom:15px}.scaleselector-container .scaleselector-warnings .scaleselector-warnings-warning{display:flex;align-items:center;font-size:12pt}.scaleselector-container .scaleselector-warnings .scaleselector-warnings-warning .icon{color:#1f3f8f;font-size:16px;cursor:pointer;margin-right:10px}.mat-mdc-option.lower-1{margin-left:20px}.mat-mdc-option .segment{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%;padding:2px 4px;border-radius:4px;font-weight:600;font-size:10pt;margin-right:10px;white-space:pre}.mat-mdc-option .segment.segment-stakeholder{background:#fff73f}.mat-mdc-option .segment.segment-teammember{background:#1f3f8f;color:#fff}.mat-mdc-option .segment.segment-supporter,.mat-mdc-option .segment.segment-management{background:#ffbf00}.mat-mdc-option .icon{vertical-align:middle;font-size:22px;color:#2f2f2f!important}\n"] }]
139
- }], ctorParameters: () => [], propDecorators: { scales: [{
140
- type: Input
141
- }], filter: [{
142
- type: Input
143
- }], disabled: [{
144
- type: Input
145
- }], onCheckChange: [{
146
- type: Output
147
- }], scaleKeys: [{
148
- type: Input
149
- }] } });
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhbGUtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjcnVtdGVhbXN1cnZleS10b29scy9zcmMvbGliL2NvbXBvbmVudHMvc2NhbGUtc2VsZWN0b3Ivc2NhbGUtc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjcnVtdGVhbXN1cnZleS10b29scy9zcmMvbGliL2NvbXBvbmVudHMvc2NhbGUtc2VsZWN0b3Ivc2NhbGUtc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBcUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7O0FBWWhJLE1BQU0sT0FBTyxzQkFBc0I7SUFtQmhDO1FBbEJPLDBCQUFxQixHQUFXLENBQUMsQ0FBQztRQUNsQyx5QkFBb0IsR0FBVyxDQUFDLENBQUM7UUFDakMsMEJBQXFCLEdBQVcsQ0FBQyxDQUFDO1FBQ2xDLHdCQUFtQixHQUFXLENBQUMsQ0FBQztRQUNoQyx3QkFBbUIsR0FBVyxDQUFDLENBQUM7UUFDaEMseUJBQW9CLEdBQVcsQ0FBQyxDQUFDO1FBQ2pDLHVCQUFrQixHQUFXLENBQUMsQ0FBQztRQUMvQixtQkFBYyxHQUFXLENBQUMsQ0FBQztRQUMzQixnQkFBVyxHQUFHLFdBQVcsQ0FBQztRQUMxQixhQUFRLEdBQWEsRUFBRSxDQUFBO1FBSXJCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDaEIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzdDLGNBQVMsR0FBYSxFQUFFLENBQUM7UUFDM0IsY0FBUyxHQUF5QixFQUFFLENBQUM7UUEwQjVDLGFBQVEsR0FBRyxDQUFDLFNBQW1CLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUV4QyxjQUFTLEdBQUcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBekJ0QixDQUFDO0lBRUQsUUFBUTtRQUNMLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsVUFBVSxDQUFDLFNBQW1CO1FBQzNCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxJQUFJLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGdCQUFnQixDQUFFLFVBQW1CO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO0lBQzlCLENBQUM7SUFNTSwwQkFBMEIsQ0FBQyxPQUFrQztRQUNqRSxPQUFPLE9BQU8sQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxlQUFlLENBQUMsU0FBaUI7UUFDckMsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU07YUFDckIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUMsQ0FBQztRQUUxQyxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDaEMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQzVGLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDbEIsQ0FBQztJQUVPLGNBQWM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbkIsc0dBQXNHO1FBQ3RHLElBQUksZUFBZSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDM0csSUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTVILElBQUksQ0FBQyxjQUFjLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2hHLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2hMLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2xMLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRS9LLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3hMLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFD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LENBQUMsU0FBUyxDQUFDLENBQUM7WUFDNUQsQ0FBQztRQUNKLENBQUM7YUFDSSxDQUFDO1lBQ0gsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEUsQ0FBQztRQUVELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN4QixDQUFDOytHQXpJUyxzQkFBc0I7bUdBQXRCLHNCQUFzQixvTEFKckI7WUFDUixFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUMsR0FBRztTQUNyRywwQkNaSixxdklBeURBOzs0RkQzQ2Esc0JBQXNCO2tCQVJsQyxTQUFTOytCQUNHLGdCQUFnQixhQUdmO3dCQUNSLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsdUJBQXVCLENBQUMsR0FBRztxQkFDckc7d0RBY1EsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0UsU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGYWN0b3JTdHJ1Y3R1cmVEdG8sIEZhY3RvclN0cnVjdHVyZVNlZ21lbnREdG8sIE1vZGVsRGVmaW5pdGlvbkR0bywgU2VnbWVudEVudW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvbW9kZWxTdHJ1Y3R1cmVEdG8nO1xuaW1wb3J0IHsgU2NhbGVTZWxlY3RvckZpbHRlckR0byB9IGZyb20gJy4vc2NhbGVTZWxlY3RvckZpbHRlckR0byc7XG5pbXBvcnQgeyBMIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcblxuQENvbXBvbmVudCh7XG4gICBzZWxlY3RvcjogJ3NjYWxlLXNlbGVjdG9yJyxcbiAgIHRlbXBsYXRlVXJsOiAnLi9zY2FsZS1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gICBzdHlsZVVybHM6IFsnLi9zY2FsZS1zZWxlY3Rvci5jb21wb25lbnQubGVzcyddLFxuICAgcHJvdmlkZXJzOiBbXG4gICAgICB7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCBtdWx0aTogdHJ1ZSwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2NhbGVTZWxlY3RvckNvbXBvbmVudCksIH1cbiAgIF1cbn0pXG5leHBvcnQgY2xhc3MgU2NhbGVTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgIHB1YmxpYyBxdWVzdGlvbm5haXJlQWNjdXJhY3k6IG51bWJlciA9IDA7XG4gICBwdWJsaWMgcXVlc3Rpb25zVGVhbU1lbWJlcnM6IG51bWJlciA9IDA7XG4gICBwdWJsaWMgcXVlc3Rpb25zU3Rha2Vob2xkZXJzOiBudW1iZXIgPSAwO1xuICAgcHVibGljIHF1ZXN0aW9uc1N1cHBvcnRlcnM6IG51bWJlciA9IDA7XG4gICBwdWJsaWMgZHVyYXRpb25UZWFtTWVtYmVyczogbnVtYmVyID0gMDtcbiAgIHB1YmxpYyBkdXJhdGlvblN0YWtlaG9sZGVyczogbnVtYmVyID0gMDtcbiAgIHB1YmxpYyBkdXJhdGlvblN1cHBvcnRlcnM6IG51bWJlciA9IDA7XG4gICBwdWJsaWMgcXVlc3Rpb25zVG90YWw6IG51bWJlciA9IDA7XG4gICBwdWJsaWMgU2VnbWVudEVudW0gPSBTZWdtZW50RW51bTtcbiAgIHB1YmxpYyB3YXJuaW5nczogc3RyaW5nW10gPSBbXVxuXG4gICBASW5wdXQoKSBzY2FsZXM6IEZhY3RvclN0cnVjdHVyZUR0b1tdO1xuICAgQElucHV0KCkgZmlsdGVyOiBTY2FsZVNlbGVjdG9yRmlsdGVyRHRvO1xuICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgIEBPdXRwdXQoKSBvbkNoZWNrQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgQElucHV0KCkgc2NhbGVLZXlzOiBzdHJpbmdbXSA9IFtdO1xuICAgcHVibGljIHRvcFNjYWxlczogRmFjdG9yU3RydWN0dXJlRHRvW10gPSBbXTtcblxuICAgY29uc3RydWN0b3IoKSB7XG4gICB9XG5cbiAgIG5nT25Jbml0KCkge1xuICAgICAgdGhpcy50b3BTY2FsZXMgPSB0aGlzLmdldENoaWxkRmFjdG9ycyhudWxsKTtcbiAgIH1cblxuICAgd3JpdGVWYWx1ZShzY2FsZUtleXM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgICB0aGlzLnNjYWxlS2V5cyA9IHNjYWxlS2V5cyA/PyBbXTtcbiAgICAgIHRoaXMudXBkYXRlTWV0YURhdGEoKTtcbiAgIH1cblxuICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICB9XG5cbiAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICB9XG5cbiAgIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgfVxuXG4gICBvbkNoYW5nZSA9IChzY2FsZUtleXM6IHN0cmluZ1tdKSA9PiB7IH07XG5cbiAgIG9uVG91Y2hlZCA9ICgpID0+IHsgfTtcblxuICAgcHVibGljIGZpbHRlclNlZ21lbnRXaXRoUXVlc3Rpb25zKHNlZ21lbnQ6IEZhY3RvclN0cnVjdHVyZVNlZ21lbnREdG8pIHtcbiAgICAgIHJldHVybiBzZWdtZW50LnF1ZXN0aW9uQ291bnQgPiAwO1xuICAgfVxuXG4gICBwdWJsaWMgZ2V0Q2hpbGRGYWN0b3JzKHBhcmVudEtleTogc3RyaW5nKTogRmFjdG9yU3RydWN0dXJlRHRvW10ge1xuICAgICAgdmFyIGZhY3RvcnMgPSB0aGlzLnNjYWxlc1xuICAgICAgICAgLmZpbHRlcihwID0+IHAucGFyZW50S2V5ID09IHBhcmVudEtleSk7XG5cbiAgICAgIGlmICh0aGlzLmZpbHRlciAhPSBudWxsKSB7XG4gICAgICAgICBpZiAodGhpcy5maWx0ZXIudGVhbVR5cGUgIT0gbnVsbCkge1xuICAgICAgICAgICAgZmFjdG9ycyA9IGZhY3RvcnMuZmlsdGVyKHAgPT4gcC5jb25zdHJhaW50cy5mb3JUZWFtVHlwZXMuaW5jbHVkZXModGhpcy5maWx0ZXIudGVhbVR5cGUpKTtcbiAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhY3RvcnM7XG4gICB9XG5cbiAgIHByaXZhdGUgdXBkYXRlTWV0YURhdGEoKSB7XG4gICAgICB0aGlzLndhcm5pbmdzID0gW107XG4gICAgICAvLyBvbmx5IHdvcmsgd2l0aCBsb3dlci1sZXZlbCBmYWN0b3JzLCBhcyBoaWdoZXItbGV2ZWwgY29udGFpbiBhZ2dyZWdhdGVkIGhpZ2hlci1sZXZlbCBxdWVzdGlvbiBjb3VudHNcbiAgICAgIHZhciBzY2FsZXNUb0luY2x1ZGUgPSB0aGlzLnNjYWxlcy5maWx0ZXIocCA9PiBwLnBhcmVudEtleSAhPSBudWxsICYmIHRoaXMuc2NhbGVLZXlzLmluY2x1ZGVzKHAucHVibGljS2V5KSk7XG4gICAgICB2YXIgdG90YWxRdWVzdGlvbnMgPSB0aGlzLnNjYWxlcy5maWx0ZXIocCA9PiBwLnBhcmVudEtleSAhPSBudWxsKS5yZWR1Y2UoKHN1bSwgY3VycmVudCkgPT4gc3VtICs9IGN1cnJlbnQucXVlc3Rpb25Db3VudCwgMCk7XG5cbiAgICAgIHRoaXMucXVlc3Rpb25zVG90YWwgPSBzY2FsZXNUb0luY2x1ZGUucmVkdWNlKChzdW0sIGN1cnJlbnQpID0+IHN1bSArPSBjdXJyZW50LnF1ZXN0aW9uQ291bnQsIDApO1xuICAgICAgdGhpcy5xdWVzdGlvbnNUZWFtTWVtYmVycyA9IHNjYWxlc1RvSW5jbHVkZS5mbGF0TWFwKHAgPT4gcC5zZWdtZW50cykuZmlsdGVyKHAgPT4gcC5zZWdtZW50ID09IFNlZ21lbnRFbnVtLlRlYW1NZW1iZXIpLnJlZHVjZSgoc3VtLCBjdXJyZW50KSA9PiBzdW0gKz0gY3VycmVudC5xdWVzdGlvbkNvdW50LCAwKTtcbiAgICAgIHRoaXMucXVlc3Rpb25zU3Rha2Vob2xkZXJzID0gc2NhbGVzVG9JbmNsdWRlLmZsYXRNYXAocCA9PiBwLnNlZ21lbnRzKS5maWx0ZXIocCA9PiBwLnNlZ21lbnQgPT0gU2VnbWVudEVudW0uU3Rha2Vob2xkZXIpLnJlZHVjZSgoc3VtLCBjdXJyZW50KSA9PiBzdW0gKz0gY3VycmVudC5xdWVzdGlvbkNvdW50LCAwKTtcbiAgICAgIHRoaXMucXVlc3Rpb25zU3VwcG9ydGVycyA9IHNjYWxlc1RvSW5jbHVkZS5mbGF0TWFwKHAgPT4gcC5zZWdtZW50cykuZmlsdGVyKHAgPT4gcC5zZWdtZW50ID09IFNlZ21lbnRFbnVtLk1hbmFnZW1lbnQpLnJlZHVjZSgoc3VtLCBjdXJyZW50KSA9PiBzdW0gKz0gY3VycmVudC5xdWVzdGlvbkNvdW50LCAwKTtcblxuICAgICAgdGhpcy5kdXJhdGlvblRlYW1NZW1iZXJzID0gc2NhbGVzVG9JbmNsdWRlLmZsYXRNYXAocCA9PiBwLnNlZ21lbnRzKS5maWx0ZXIocCA9PiBwLnNlZ21lbnQgPT0gU2VnbWVudEVudW0uVGVhbU1lbWJlcikucmVkdWNlKChzdW0sIGN1cnJlbnQpID0+IHN1bSArPSBjdXJyZW50LmR1cmF0aW9uSW5TZWNvbmRzLCAwKSAvIDYwO1xuICAgICAgdGhpcy5kdXJhdGlvblN0YWtlaG9sZGVycyA9IHNjYWxlc1RvSW5jbHVkZS5mbGF0TWFwKHAgPT4gcC5zZWdtZW50cykuZmlsdGVyKHAgPT4gcC5zZWdtZW50ID09IFNlZ21lbnRFbnVtLlN0YWtlaG9sZGVyKS5yZWR1Y2UoKHN1bSwgY3VycmVudCkgPT4gc3VtICs9IGN1cnJlbnQuZHVyYXRpb25JblNlY29uZHMsIDApIC8gNjA7XG4gICAgICB0aGlzLmR1cmF0aW9uU3VwcG9ydGVycyA9IHNjYWxlc1RvSW5jbHVkZS5mbGF0TWFwKHAgPT4gcC5zZWdtZW50cykuZmlsdGVyKHAgPT4gcC5zZWdtZW50ID09IFNlZ21lbnRFbnVtLk1hbmFnZW1lbnQpLnJlZHVjZSgoc3VtLCBjdXJyZW50KSA9PiBzdW0gKz0gY3VycmVudC5kdXJhdGlvbkluU2Vjb25kcywgMCkgLyA2MDtcblxuICAgICAgaWYgKHRoaXMuZHVyYXRpb25UZWFtTWVtYmVycyA8IDEpIHsgdGhpcy5kdXJhdGlvblRlYW1NZW1iZXJzID0gMTsgfVxuICAgICAgaWYgKHRoaXMuZHVyYXRpb25TdGFrZWhvbGRlcnMgPCAxKSB7IHRoaXMuZHVyYXRpb25TdGFrZWhvbGRlcnMgPSAxOyB9XG4gICAgICBpZiAodGhpcy5kdXJhdGlvblN1cHBvcnRlcnMgPCAxKSB7IHRoaXMuZHVyYXRpb25TdXBwb3J0ZXJzID0gMTsgfVxuXG4gICAgICBpZiAodGhpcy5xdWVzdGlvbnNTdGFrZWhvbGRlcnMgPT0gMCkge1xuICAgICAgICAgdGhpcy53YXJuaW5ncy5wdXNoKFwiVGhlIHNlbGVjdGlvbiBkb2VzIG5vdCBpbmNsdWRlIHRvcGljcyBmb3IgJ1N0YWtlaG9sZGVycycuXCIpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucXVlc3Rpb25zU3VwcG9ydGVycyA9PSAwKSB7XG4gICAgICAgICB0aGlzLndhcm5pbmdzLnB1c2goXCJUaGUgc2VsZWN0aW9uIGRvZXMgbm90IGluY2x1ZGUgdG9waWNzIGZvciAnU3VwcG9ydGVycycuXCIpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucXVlc3Rpb25zVGVhbU1lbWJlcnMgPT0gMCkge1xuICAgICAgICAgdGhpcy53YXJuaW5ncy5wdXNoKFwiVGhlIHNlbGVjdGlvbiBkb2VzIG5vdCBpbmNsdWRlIHRvcGljcyBmb3IgJ1RlYW0gTWVtYmVycycuXCIpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucXVlc3Rpb25uYWlyZUFjY3VyYWN5IDwgMC4yNSkge1xuICAgICAgICAgdGhpcy53YXJuaW5ncy5wdXNoKFwiVGhlIHNlbGVjdGlvbiBtZWFzdXJlcyBmZXcgZmFjdG9ycywgc28gaXRzIGFjY3VyYWN5IGlzIGxvdy5cIik7XG4gICAgICB9XG5cbiAgICAgIHRoaXMucXVlc3Rpb25uYWlyZUFjY3VyYWN5ID0gdGhpcy5xdWVzdGlvbnNUb3RhbCAvIHRvdGFsUXVlc3Rpb25zO1xuICAgfVxuXG4gICBwcml2YXRlIGVtaXRTY2FsZUtleXMoKSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuc2NhbGVLZXlzKTtcbiAgICAgIHRoaXMudXBkYXRlTWV0YURhdGEoKTtcbiAgIH1cblxuICAgcHVibGljIHRvZ2dsZUNoaWxkcmVuKHNjYWxlOiBGYWN0b3JTdHJ1Y3R1cmVEdG8pIHtcbiAgICAgIHZhciBjaGVja2VkID0gdGhpcy5zY2FsZUtleXMuZmluZChwID0+IHAgPT0gc2NhbGUucHVibGljS2V5KSAhPSBudWxsO1xuICAgICAgdmFyIGNoaWxkcmVuID0gdGhpcy5nZXRDaGlsZEZhY3RvcnMoc2NhbGUucHVibGljS2V5KTtcblxuICAgICAgaWYgKGNoZWNrZWQpIHtcbiAgICAgICAgIHZhciBzY2FsZXNUb0FkZCA9IGNoaWxkcmVuLmZpbHRlcihwID0+ICF0aGlzLnNjYWxlS2V5cy5pbmNsdWRlcyhwLnB1YmxpY0tleSkpLm1hcChwID0+IHAucHVibGljS2V5KTtcbiAgICAgICAgIHRoaXMuc2NhbGVLZXlzID0gdGhpcy5zY2FsZUtleXMuY29uY2F0KHNjYWxlc1RvQWRkKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICAgdmFyIHNjYWxlc1RvUmVtb3ZlID0gY2hpbGRyZW4ubWFwKHAgPT4gcC5wdWJsaWNLZXkpO1xuICAgICAgICAgdGhpcy5zY2FsZUtleXMgPSB0aGlzLnNjYWxlS2V5cy5maWx0ZXIocCA9PiAhc2NhbGVzVG9SZW1vdmUuaW5jbHVkZXMocCkpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmVtaXRTY2FsZUtleXMoKTtcbiAgIH1cblxuICAgcHVibGljIHRvZ2dsZVBhcmVudChzY2FsZTogRmFjdG9yU3RydWN0dXJlRHRvKSB7XG4gICAgICB2YXIgY2hlY2tlZCA9IHRoaXMuc2NhbGVLZXlzLmZpbmQocCA9PiBwID09IHNjYWxlLnB1YmxpY0tleSkgIT0gbnVsbDtcbiAgICAgIHZhciBwYXJlbnQgPSB0aGlzLnNjYWxlcy5maW5kKHAgPT4gcC5wdWJsaWNLZXkgPT0gc2NhbGUucGFyZW50S2V5KTtcbiAgICAgIHZhciBzaWJsaW5ncyA9IHRoaXMuZ2V0Q2hpbGRGYWN0b3JzKHBhcmVudC5wdWJsaWNLZXkpO1xuXG4gICAgICBpZiAoY2hlY2tlZCkge1xuICAgICAgICAgdmFyIGFsbExvd2VyQ2hlY2tlZCA9IHNpYmxpbmdzLmZpbHRlcihwID0+ICF0aGlzLnNjYWxlS2V5cy5pbmNsdWRlcyhwLnB1YmxpY0tleSkpLmxlbmd0aCA9PSAwO1xuXG4gICAgICAgICBpZiAoYWxsTG93ZXJDaGVja2VkKSB7XG4gICAgICAgICAgICB0aGlzLnNjYWxlS2V5cyA9IHRoaXMuc2NhbGVLZXlzLmNvbmNhdChwYXJlbnQucHVibGljS2V5KTtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICAgdGhpcy5zY2FsZUtleXMgPSB0aGlzLnNjYWxlS2V5cy5maWx0ZXIocCA9PiBwICE9IHBhcmVudC5wdWJsaWNLZXkpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmVtaXRTY2FsZUtleXMoKTtcbiAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzY2FsZXNlbGVjdG9yLWNvbnRhaW5lclwiPlxuICAgPGRpdiBjbGFzcz1cInNjYWxlc2VsZWN0b3ItZHJvcGRvd25cIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICAgPG1hdC1sYWJlbD5TZWxlY3QgdG9waWNzPC9tYXQtbGFiZWw+XG4gICAgICAgICA8bWF0LXNlbGVjdCBpZD1cInF1ZXN0aW9uLXNjYWxlS2V5c1wiIFsobmdNb2RlbCldPVwic2NhbGVLZXlzXCIgcmVxdWlyZWQgbXVsdGlwbGUgZGlzYWJsZVJpcHBsZSBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICAgICBZb3Ugc2VsZWN0ZWQge3tzY2FsZUtleXMubGVuZ3RofX0gdG9waWMocylcbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuXG4gICAgICAgICAgICBAZm9yIChmYWN0b3Igb2YgdG9wU2NhbGVzOyB0cmFjayBmYWN0b3IpIHtcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIGNsYXNzPVwic2VsZWN0LW9wdGlvbiBsb3dlci0wXCIgW3ZhbHVlXT1cImZhY3Rvci5wdWJsaWNLZXlcIiAoY2xpY2spPVwidG9nZ2xlQ2hpbGRyZW4oZmFjdG9yKVwiPlxuICAgICAgICAgICAgICAge3tmYWN0b3IubmFtZX19XG4gICAgICAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgc2VnbWVudCBvZiBmYWN0b3Iuc2VnbWVudHMgfCBjYWxsYmFjazogZmlsdGVyU2VnbWVudFdpdGhRdWVzdGlvbnNcIiBjbGFzcz1cInNlZ21lbnRcIiBbbmdDbGFzc109XCJ7J3NlZ21lbnQtdGVhbW1lbWJlcic6IHNlZ21lbnQuc2VnbWVudCA9PSBTZWdtZW50RW51bS5UZWFtTWVtYmVyLCAnc2VnbWVudC1zdGFrZWhvbGRlcic6IHNlZ21lbnQuc2VnbWVudCA9PSBTZWdtZW50RW51bS5TdGFrZWhvbGRlciwgJ3NlZ21lbnQtc3VwcG9ydGVyJzogc2VnbWVudC5zZWdtZW50ID09IFNlZ21lbnRFbnVtLk1hbmFnZW1lbnR9XCI+e3tzZWdtZW50LnNlZ21lbnQgfCBzZWdtZW50TmFtZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uIHBoLWluZm8tZmlsbFwiIGZhY3RvckluZm9ybWF0aW9uRGlhbG9nIFtmYWN0b3JdPVwiZmFjdG9yXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuXG4gICAgICAgICAgICBAZm9yIChsb3dlckZhY3RvciBvZiBnZXRDaGlsZEZhY3RvcnMoZmFjdG9yLnB1YmxpY0tleSk7IHRyYWNrIGxvd2VyRmFjdG9yKSB7XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiBjbGFzcz1cInNlbGVjdC1vcHRpb24gbG93ZXItMVwiIFt2YWx1ZV09XCJsb3dlckZhY3Rvci5wdWJsaWNLZXlcIiAoY2xpY2spPVwidG9nZ2xlUGFyZW50KGxvd2VyRmFjdG9yKVwiPlxuICAgICAgICAgICAgICAge3tsb3dlckZhY3Rvci5uYW1lfX1cbiAgICAgICAgICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCBzZWdtZW50IG9mIGxvd2VyRmFjdG9yLnNlZ21lbnRzIHwgY2FsbGJhY2s6IGZpbHRlclNlZ21lbnRXaXRoUXVlc3Rpb25zXCIgY2xhc3M9XCJzZWdtZW50XCIgW25nQ2xhc3NdPVwieydzZWdtZW50LXRlYW1tZW1iZXInOiBzZWdtZW50LnNlZ21lbnQgPT0gU2VnbWVudEVudW0uVGVhbU1lbWJlciwgJ3NlZ21lbnQtc3Rha2Vob2xkZXInOiBzZWdtZW50LnNlZ21lbnQgPT0gU2VnbWVudEVudW0uU3Rha2Vob2xkZXIsICdzZWdtZW50LXN1cHBvcnRlcic6IHNlZ21lbnQuc2VnbWVudCA9PSBTZWdtZW50RW51bS5NYW5hZ2VtZW50fVwiPnt7c2VnbWVudC5zZWdtZW50IHwgc2VnbWVudE5hbWV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbiBwaC1pbmZvLWZpbGxcIiBmYWN0b3JJbmZvcm1hdGlvbkRpYWxvZyBbZmFjdG9yXT1cImxvd2VyRmFjdG9yXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgIDwvZGl2PlxuICAgPGRpdiBjbGFzcz1cInNjYWxlc2VsZWN0b3ItbWV0YWRhdGFcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJxdWVzdGlvbm5haXJlLWJyZWFrZG93blwiICpuZ0lmPVwicXVlc3Rpb25zVG90YWwgPiAwXCI+XG4gICAgICAgICA8ZGl2IGNsYXNzPVwicXVlc3Rpb25uYWlyZS1icmVha2Rvd24tbGFiZWxcIj5FeHBlY3RlZCBkdXJhdGlvbiAoaW4gbWludXRlcyk8L2Rpdj5cbiAgICAgICAgIDxkaXYgY2xhc3M9XCJxdWVzdGlvbm5haXJlLWJyZWFrZG93bi1pdGVtc1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInF1ZXN0aW9ubmFpcmUtYnJlYWtkb3duLWl0ZW0gdGVhbW1lbWJlcnNcIiAqbmdJZj1cInF1ZXN0aW9uc1RlYW1NZW1iZXJzID4gMFwiIFttYXRUb29sdGlwXT1cIidBdCBsZWFzdCAnICsgcXVlc3Rpb25zVGVhbU1lbWJlcnMgKyAnIHF1ZXN0aW9ucyBmb3IgdGVhbSBtZW1iZXJzLiBBZGRpdGlvbmFsIHF1ZXN0aW9ucyBtYXkgYmUgYWRkZWQsIGFuZCBhcmUgdHlwaWNhbGx5IGFuc3dlcmVkIG9uY2UgcGVyIHRlYW0uJ1wiIFtuZ1N0eWxlXT1cInsnd2lkdGgnOiAoKHF1ZXN0aW9uc1RlYW1NZW1iZXJzIC8gcXVlc3Rpb25zVG90YWwpICogMTAwKSArICclJyB9XCI+XG4gICAgICAgICAgICAgICB7e2R1cmF0aW9uVGVhbU1lbWJlcnMgfCBudW1iZXI6JzEuMC0wJ319bVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicXVlc3Rpb25uYWlyZS1icmVha2Rvd24taXRlbSBzdGFrZWhvbGRlcnNcIiAqbmdJZj1cInF1ZXN0aW9uc1N0YWtlaG9sZGVycyA+IDBcIiBbbWF0VG9vbHRpcF09XCInQXQgbGVhc3QgJyArIHF1ZXN0aW9uc1N0YWtlaG9sZGVycyArICcgcXVlc3Rpb25zIGZvciBzdGFrZWhvbGRlcnMuIEFkZGl0aW9uYWwgcXVlc3Rpb25zIG1heSBiZSBhZGRlZCwgYW5kIGFyZSB0eXBpY2FsbHkgYW5zd2VyZWQgb25jZSBwZXIgdGVhbS4nXCIgW25nU3R5bGVdPVwieyd3aWR0aCc6ICgocXVlc3Rpb25zU3Rha2Vob2xkZXJzIC8gcXVlc3Rpb25zVG90YWwpICogMTAwKSArICclJyB9XCI+XG4gICAgICAgICAgICAgICB7e2R1cmF0aW9uU3Rha2Vob2xkZXJzIHwgbnVtYmVyOicxLjAtMCd9fW1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInF1ZXN0aW9ubmFpcmUtYnJlYWtkb3duLWl0ZW0gc3VwcG9ydGVyc1wiICpuZ0lmPVwicXVlc3Rpb25zU3VwcG9ydGVycyA+IDBcIiBbbWF0VG9vbHRpcF09XCInQXQgbGVhc3QgJyArIHF1ZXN0aW9uc1N1cHBvcnRlcnMgKyAnIHF1ZXN0aW9ucyBmb3Igc3VwcG9ydGVycy4gQWRkaXRpb25hbCBxdWVzdGlvbnMgbWF5IGJlIGFkZGVkLCBhbmQgYXJlIHR5cGljYWxseSBhbnN3ZXJlZCBvbmNlIHBlciB0ZWFtLidcIiBbbmdTdHlsZV09XCJ7J3dpZHRoJzogKChxdWVzdGlvbnNTdXBwb3J0ZXJzIC8gcXVlc3Rpb25zVG90YWwpICogMTAwKSArICclJyB9XCI+XG4gICAgICAgICAgICAgICB7e2R1cmF0aW9uU3VwcG9ydGVycyB8IG51bWJlcjonMS4wLTAnfX1tXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicXVlc3Rpb25uYWlyZS1hY2N1cmFjeVwiICpuZ0lmPVwicXVlc3Rpb25zVG90YWwgPiAwXCI+XG4gICAgICAgICA8ZGl2IGNsYXNzPVwicXVlc3Rpb25uYWlyZS1icmVha2Rvd24tbGFiZWxcIj5BY2N1cmFjeTwvZGl2PlxuICAgICAgICAgPGRpdiBjbGFzcz1cInF1ZXN0aW9ubmFpcmUtYnJlYWtkb3duLWJhci1ob2xkZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJxdWVzdGlvbm5haXJlLWFjY3VyYWN5LWJhclwiIFtuZ0NsYXNzXT1cInsnbG93JzogcXVlc3Rpb25uYWlyZUFjY3VyYWN5IDwgMC4yNX1cIiBbbmdTdHlsZV09XCJ7J3dpZHRoJzogKHF1ZXN0aW9ubmFpcmVBY2N1cmFjeSAqIDEwMCkgKyAnJScgfVwiPnt7cXVlc3Rpb25uYWlyZUFjY3VyYWN5ICogMTAwIHwgbnVtYmVyOicxLjAtMCd9fSU8L2Rpdj5cbiAgICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICA8L2Rpdj5cblxuICAgPGRpdiBjbGFzcz1cInNjYWxlc2VsZWN0b3Itd2FybmluZ3NcIiAqbmdJZj1cIndhcm5pbmdzLmxlbmd0aCA+IDAgJiYgc2NhbGVLZXlzLmxlbmd0aCA+IDBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzY2FsZXNlbGVjdG9yLXdhcm5pbmdzLXdhcm5pbmdcIiAqbmdGb3I9XCJsZXQgd2FybmluZyBvZiB3YXJuaW5nc1wiPlxuICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uIHBoLWluZm8tZmlsbFwiPjwvc3Bhbj57e3dhcm5pbmd9fVxuICAgICAgPC9kaXY+XG4gICA8L2Rpdj5cblxuPC9kaXY+XG4iXX0=
@@ -1,54 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
- import { MatFormFieldModule } from '@angular/material/form-field';
5
- import { MatSelectModule } from '@angular/material/select';
6
- import { MatTooltip } from '@angular/material/tooltip';
7
- import { FactorInformationDialogModule } from '../../dialogs/dialog-factorinformation/dialog-factorinformation.module';
8
- import { CallbackPipeModule } from '../../pipes/callback/callback.module';
9
- import { SegmentNamePipeModule } from '../../pipes/segmentName/segmentName.module';
10
- import { ScaleSelectorComponent } from './scale-selector.component';
11
- import * as i0 from "@angular/core";
12
- export class ScaleSelectorModule {
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScaleSelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: ScaleSelectorModule, declarations: [ScaleSelectorComponent], imports: [FormsModule,
15
- MatFormFieldModule,
16
- ReactiveFormsModule,
17
- CommonModule,
18
- MatSelectModule,
19
- SegmentNamePipeModule,
20
- CallbackPipeModule,
21
- MatTooltip,
22
- FactorInformationDialogModule], exports: [ScaleSelectorComponent] }); }
23
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScaleSelectorModule, imports: [FormsModule,
24
- MatFormFieldModule,
25
- ReactiveFormsModule,
26
- CommonModule,
27
- MatSelectModule,
28
- SegmentNamePipeModule,
29
- CallbackPipeModule,
30
- FactorInformationDialogModule] }); }
31
- }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScaleSelectorModule, decorators: [{
33
- type: NgModule,
34
- args: [{
35
- imports: [
36
- FormsModule,
37
- MatFormFieldModule,
38
- ReactiveFormsModule,
39
- CommonModule,
40
- MatSelectModule,
41
- SegmentNamePipeModule,
42
- CallbackPipeModule,
43
- MatTooltip,
44
- FactorInformationDialogModule
45
- ],
46
- declarations: [
47
- ScaleSelectorComponent
48
- ],
49
- exports: [
50
- ScaleSelectorComponent
51
- ]
52
- }]
53
- }] });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhbGUtc2VsZWN0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjcnVtdGVhbXN1cnZleS10b29scy9zcmMvbGliL2NvbXBvbmVudHMvc2NhbGUtc2VsZWN0b3Ivc2NhbGUtc2VsZWN0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHdFQUF3RSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQW1CcEUsTUFBTSxPQUFPLG1CQUFtQjsrR0FBbkIsbUJBQW1CO2dIQUFuQixtQkFBbUIsaUJBSjFCLHNCQUFzQixhQVh0QixXQUFXO1lBQ1gsa0JBQWtCO1lBQ2xCLG1CQUFtQjtZQUNuQixZQUFZO1lBQ1osZUFBZTtZQUNmLHFCQUFxQjtZQUNyQixrQkFBa0I7WUFDbEIsVUFBVTtZQUNWLDZCQUE2QixhQUs3QixzQkFBc0I7Z0hBRWYsbUJBQW1CLFlBZjFCLFdBQVc7WUFDWCxrQkFBa0I7WUFDbEIsbUJBQW1CO1lBQ25CLFlBQVk7WUFDWixlQUFlO1lBQ2YscUJBQXFCO1lBQ3JCLGtCQUFrQjtZQUVsQiw2QkFBNkI7OzRGQU90QixtQkFBbUI7a0JBakIvQixRQUFRO21CQUFDO29CQUNQLE9BQU8sRUFBRTt3QkFDTixXQUFXO3dCQUNYLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLGVBQWU7d0JBQ2YscUJBQXFCO3dCQUNyQixrQkFBa0I7d0JBQ2xCLFVBQVU7d0JBQ1YsNkJBQTZCO3FCQUMvQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1gsc0JBQXNCO3FCQUFDO29CQUMxQixPQUFPLEVBQUU7d0JBQ04sc0JBQXNCO3FCQUFDO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNYXRUb29sdGlwIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBGYWN0b3JJbmZvcm1hdGlvbkRpYWxvZ01vZHVsZSB9IGZyb20gJy4uLy4uL2RpYWxvZ3MvZGlhbG9nLWZhY3RvcmluZm9ybWF0aW9uL2RpYWxvZy1mYWN0b3JpbmZvcm1hdGlvbi5tb2R1bGUnO1xuaW1wb3J0IHsgQ2FsbGJhY2tQaXBlTW9kdWxlIH0gZnJvbSAnLi4vLi4vcGlwZXMvY2FsbGJhY2svY2FsbGJhY2subW9kdWxlJztcbmltcG9ydCB7IFNlZ21lbnROYW1lUGlwZU1vZHVsZSB9IGZyb20gJy4uLy4uL3BpcGVzL3NlZ21lbnROYW1lL3NlZ21lbnROYW1lLm1vZHVsZSc7XG5pbXBvcnQgeyBTY2FsZVNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9zY2FsZS1zZWxlY3Rvci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgaW1wb3J0czogW1xuICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgICAgU2VnbWVudE5hbWVQaXBlTW9kdWxlLFxuICAgICAgQ2FsbGJhY2tQaXBlTW9kdWxlLFxuICAgICAgTWF0VG9vbHRpcCxcbiAgICAgIEZhY3RvckluZm9ybWF0aW9uRGlhbG9nTW9kdWxlXG4gICBdLFxuICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICBTY2FsZVNlbGVjdG9yQ29tcG9uZW50XSxcbiAgIGV4cG9ydHM6IFtcbiAgICAgIFNjYWxlU2VsZWN0b3JDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFNjYWxlU2VsZWN0b3JNb2R1bGUgeyB9XG4iXX0=
@@ -1,3 +0,0 @@
1
- export class ScaleSelectorFilterDto {
2
- }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhbGVTZWxlY3RvckZpbHRlckR0by5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zY3J1bXRlYW1zdXJ2ZXktdG9vbHMvc3JjL2xpYi9jb21wb25lbnRzL3NjYWxlLXNlbGVjdG9yL3NjYWxlU2VsZWN0b3JGaWx0ZXJEdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxPQUFPLHNCQUFzQjtDQUVsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGYWN0b3JTdHJ1Y3R1cmVEdG8sIEZhY3RvclN0cnVjdHVyZVNlZ21lbnREdG8sIE1vZGVsRGVmaW5pdGlvbkR0bywgU2VnbWVudEVudW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvbW9kZWxTdHJ1Y3R1cmVEdG8nO1xuXG5cbmV4cG9ydCBjbGFzcyBTY2FsZVNlbGVjdG9yRmlsdGVyRHRvICB7XG4gICBwdWJsaWMgdGVhbVR5cGU6IHN0cmluZztcbn1cbiJdfQ==
@@ -1,39 +0,0 @@
1
- import { EventEmitter } from '@angular/core';
2
- import { ControlValueAccessor } from '@angular/forms';
3
- import { FactorStructureDto, FactorStructureSegmentDto, SegmentEnum } from '../../models/modelStructureDto';
4
- import { ScaleSelectorFilterDto } from './scaleSelectorFilterDto';
5
- import * as i0 from "@angular/core";
6
- export declare class ScaleSelectorComponent implements ControlValueAccessor {
7
- questionnaireAccuracy: number;
8
- questionsTeamMembers: number;
9
- questionsStakeholders: number;
10
- questionsSupporters: number;
11
- durationTeamMembers: number;
12
- durationStakeholders: number;
13
- durationSupporters: number;
14
- questionsTotal: number;
15
- SegmentEnum: typeof SegmentEnum;
16
- warnings: string[];
17
- scales: FactorStructureDto[];
18
- filter: ScaleSelectorFilterDto;
19
- disabled: boolean;
20
- onCheckChange: EventEmitter<boolean>;
21
- scaleKeys: string[];
22
- topScales: FactorStructureDto[];
23
- constructor();
24
- ngOnInit(): void;
25
- writeValue(scaleKeys: string[]): void;
26
- registerOnChange(fn: any): void;
27
- registerOnTouched(fn: any): void;
28
- setDisabledState?(isDisabled: boolean): void;
29
- onChange: (scaleKeys: string[]) => void;
30
- onTouched: () => void;
31
- filterSegmentWithQuestions(segment: FactorStructureSegmentDto): boolean;
32
- getChildFactors(parentKey: string): FactorStructureDto[];
33
- private updateMetaData;
34
- private emitScaleKeys;
35
- toggleChildren(scale: FactorStructureDto): void;
36
- toggleParent(scale: FactorStructureDto): void;
37
- static ɵfac: i0.ɵɵFactoryDeclaration<ScaleSelectorComponent, never>;
38
- static ɵcmp: i0.ɵɵComponentDeclaration<ScaleSelectorComponent, "scale-selector", never, { "scales": { "alias": "scales"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "scaleKeys": { "alias": "scaleKeys"; "required": false; }; }, { "onCheckChange": "onCheckChange"; }, never, never, false, never>;
39
- }
@@ -1,15 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./scale-selector.component";
3
- import * as i2 from "@angular/forms";
4
- import * as i3 from "@angular/material/form-field";
5
- import * as i4 from "@angular/common";
6
- import * as i5 from "@angular/material/select";
7
- import * as i6 from "../../pipes/segmentName/segmentName.module";
8
- import * as i7 from "../../pipes/callback/callback.module";
9
- import * as i8 from "@angular/material/tooltip";
10
- import * as i9 from "../../dialogs/dialog-factorinformation/dialog-factorinformation.module";
11
- export declare class ScaleSelectorModule {
12
- static ɵfac: i0.ɵɵFactoryDeclaration<ScaleSelectorModule, never>;
13
- static ɵmod: i0.ɵɵNgModuleDeclaration<ScaleSelectorModule, [typeof i1.ScaleSelectorComponent], [typeof i2.FormsModule, typeof i3.MatFormFieldModule, typeof i2.ReactiveFormsModule, typeof i4.CommonModule, typeof i5.MatSelectModule, typeof i6.SegmentNamePipeModule, typeof i7.CallbackPipeModule, typeof i8.MatTooltip, typeof i9.FactorInformationDialogModule], [typeof i1.ScaleSelectorComponent]>;
14
- static ɵinj: i0.ɵɵInjectorDeclaration<ScaleSelectorModule>;
15
- }
@@ -1,3 +0,0 @@
1
- export declare class ScaleSelectorFilterDto {
2
- teamType: string;
3
- }