mirror of https://github.com/ghostfolio/ghostfolio
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
133 lines
4.6 KiB
133 lines
4.6 KiB
<div mat-dialog-title>{{ data.categoryName }} › {{ data.rule.name }}</div>
|
|
|
|
<div class="py-3" mat-dialog-content>
|
|
@if (
|
|
data.rule.configuration.thresholdMin && data.rule.configuration.thresholdMax
|
|
) {
|
|
<div class="w-100">
|
|
<h6 class="d-flex mb-0">
|
|
<ng-container i18n>Threshold range</ng-container>:
|
|
<gf-value
|
|
class="ml-1"
|
|
[isPercent]="data.rule.configuration.threshold.unit === '%'"
|
|
[locale]="data.locale"
|
|
[precision]="2"
|
|
[value]="data.settings.thresholdMin"
|
|
/>
|
|
<span class="mx-1">-</span>
|
|
<gf-value
|
|
[isPercent]="data.rule.configuration.threshold.unit === '%'"
|
|
[locale]="data.locale"
|
|
[precision]="2"
|
|
[value]="data.settings.thresholdMax"
|
|
/>
|
|
</h6>
|
|
<div class="align-items-center d-flex w-100">
|
|
<gf-value
|
|
[isPercent]="data.rule.configuration.threshold.unit === '%'"
|
|
[locale]="data.locale"
|
|
[precision]="2"
|
|
[value]="data.rule.configuration.threshold.min"
|
|
/>
|
|
<mat-slider
|
|
class="flex-grow-1"
|
|
[max]="data.rule.configuration.threshold.max"
|
|
[min]="data.rule.configuration.threshold.min"
|
|
[step]="data.rule.configuration.threshold.step"
|
|
>
|
|
<input matSliderStartThumb [(ngModel)]="data.settings.thresholdMin" (ngModelChange)="onModelChange()" />
|
|
<input matSliderEndThumb [(ngModel)]="data.settings.thresholdMax" (ngModelChange)="onModelChange()" />
|
|
</mat-slider>
|
|
<gf-value
|
|
[isPercent]="data.rule.configuration.threshold.unit === '%'"
|
|
[locale]="data.locale"
|
|
[precision]="2"
|
|
[value]="data.rule.configuration.threshold.max"
|
|
/>
|
|
</div>
|
|
</div>
|
|
} @else {
|
|
<div class="w-100" [class.d-none]="!data.rule.configuration.thresholdMin">
|
|
<h6 class="d-flex mb-0">
|
|
<ng-container i18n>Threshold Min</ng-container>:
|
|
<gf-value
|
|
class="ml-1"
|
|
[isPercent]="data.rule.configuration.threshold.unit === '%'"
|
|
[locale]="data.locale"
|
|
[precision]="2"
|
|
[value]="data.settings.thresholdMin"
|
|
/>
|
|
</h6>
|
|
<div class="align-items-center d-flex w-100">
|
|
<gf-value
|
|
[isPercent]="data.rule.configuration.threshold.unit === '%'"
|
|
[locale]="data.locale"
|
|
[precision]="2"
|
|
[value]="data.rule.configuration.threshold.min"
|
|
/>
|
|
<mat-slider
|
|
class="flex-grow-1"
|
|
name="thresholdMin"
|
|
[max]="data.rule.configuration.threshold.max"
|
|
[min]="data.rule.configuration.threshold.min"
|
|
[step]="data.rule.configuration.threshold.step"
|
|
>
|
|
<input matSliderThumb [(ngModel)]="data.settings.thresholdMin" (ngModelChange)="onModelChange()" />
|
|
</mat-slider>
|
|
<gf-value
|
|
[isPercent]="data.rule.configuration.threshold.unit === '%'"
|
|
[locale]="data.locale"
|
|
[precision]="2"
|
|
[value]="data.rule.configuration.threshold.max"
|
|
/>
|
|
</div>
|
|
</div>
|
|
<div class="w-100" [class.d-none]="!data.rule.configuration.thresholdMax">
|
|
<h6 class="d-flex mb-0">
|
|
<ng-container i18n>Threshold Max</ng-container>:
|
|
<gf-value
|
|
class="ml-1"
|
|
[isPercent]="data.rule.configuration.threshold.unit === '%'"
|
|
[locale]="data.locale"
|
|
[precision]="2"
|
|
[value]="data.settings.thresholdMax"
|
|
/>
|
|
</h6>
|
|
<div class="align-items-center d-flex w-100">
|
|
<gf-value
|
|
[isPercent]="data.rule.configuration.threshold.unit === '%'"
|
|
[locale]="data.locale"
|
|
[precision]="2"
|
|
[value]="data.rule.configuration.threshold.min"
|
|
/>
|
|
<mat-slider
|
|
class="flex-grow-1"
|
|
name="thresholdMax"
|
|
[max]="data.rule.configuration.threshold.max"
|
|
[min]="data.rule.configuration.threshold.min"
|
|
[step]="data.rule.configuration.threshold.step"
|
|
>
|
|
<input matSliderThumb [(ngModel)]="data.settings.thresholdMax" (ngModelChange)="onModelChange()" />
|
|
</mat-slider>
|
|
<gf-value
|
|
[isPercent]="data.rule.configuration.threshold.unit === '%'"
|
|
[locale]="data.locale"
|
|
[precision]="2"
|
|
[value]="data.rule.configuration.threshold.max"
|
|
/>
|
|
</div>
|
|
</div>
|
|
}
|
|
</div>
|
|
|
|
<div align="end" mat-dialog-actions>
|
|
<button i18n mat-button (click)="dialogRef.close()">Close</button>
|
|
<button
|
|
[disabled]="!hasChanges"
|
|
color="primary"
|
|
mat-flat-button
|
|
(click)="dialogRef.close(data.settings)"
|
|
>
|
|
<ng-container i18n>Save</ng-container>
|
|
</button>
|
|
</div>
|
|
|