Skip to content
Snippets Groups Projects
Commit f00957f1 authored by mechtelm's avatar mechtelm
Browse files

Add slider to player

In fact, make changes in common to let the player understand the slider component.
parent 68a7ef59
No related branches found
No related tags found
No related merge requests found
import { Component, EventEmitter, Output } from '@angular/core'; import { Component, EventEmitter, Output } from '@angular/core';
import { ElementComponent } from '../element-component.directive'; import { ElementComponent } from '../element-component.directive';
import { SliderElement } from '../models/slider-element'; import { SliderElement } from '../models/slider-element';
import { FormElementComponent } from '../form-element-component.directive';
@Component({ @Component({
selector: 'app-slider', selector: 'app-slider',
...@@ -9,22 +10,23 @@ import { SliderElement } from '../models/slider-element'; ...@@ -9,22 +10,23 @@ import { SliderElement } from '../models/slider-element';
[style.background-color]="elementModel.backgroundColor" [style.background-color]="elementModel.backgroundColor"
[style.width.%]="100" [style.width.%]="100"
[style.height.%]="100"> [style.height.%]="100">
<div *ngIf="elementModel.showLabel">{{elementModel.minValue | number:'.0'}}</div> <div *ngIf="elementModel.showValues">{{elementModel.minValue | number:'.0'}}</div>
<mat-slider <mat-slider
[formControl]="elementFormControl"
[style.width.%]="100" [style.width.%]="100"
[style.height.%]="100" [style.height.%]="100"
[max]="elementModel.maxValue" [max]="elementModel.maxValue"
[min]="elementModel.minValue"> [min]="elementModel.minValue">
</mat-slider> </mat-slider>
<div *ngIf="elementModel.showLabel">{{elementModel.maxValue | number:'.0'}}</div> <div *ngIf="elementModel.showValues">{{elementModel.maxValue | number:'.0'}}</div>
</div> </div>
`, `,
styles: [ styles: [
'.dynamic-image{width: 100%; height: fit-content}', '.dynamic-image{width: 100%; height: fit-content}',
'.static-image{ width: 100%; height: 100%; object-fit: contain}' '.static-image{ width: 100%; height: 100%; object-fit: contain}',
':host ::ng-deep .mat-slider-thumb{border-radius: 0; width: 10px; height: 40px; bottom: -15px}'
] ]
}) })
export class SliderComponent extends ElementComponent { export class SliderComponent extends FormElementComponent {
elementModel!: SliderElement; elementModel!: SliderElement;
} }
import { SurfaceUIElement } from '../interfaces/UIElementInterfaces'; import { SurfaceUIElement } from '../interfaces/UIElementInterfaces';
import { UIElement } from './uI-element'; import { InputElement, UIElement} from './uI-element';
import { initSurfaceElement } from '../util/unit-interface-initializer'; import { initSurfaceElement } from '../util/unit-interface-initializer';
export class SliderElement extends UIElement implements SurfaceUIElement { export class SliderElement extends InputElement implements SurfaceUIElement {
label: string = 'Zahlenstrahl';
minValue: number = 0; minValue: number = 0;
maxValue: number = 100; maxValue: number = 100;
showLabel: boolean = true; showValues: boolean = true;
backgroundColor: string = 'transparent'; backgroundColor: string = 'transparent';
......
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
</button> </button>
<button mat-raised-button (click)="addUIElement('slider')" <button mat-raised-button (click)="addUIElement('slider')"
draggable="true" (dragstart)="$event.dataTransfer?.setData('elementType','slider')"> draggable="true" (dragstart)="$event.dataTransfer?.setData('elementType','slider')">
<mat-icon>spa</mat-icon> <mat-icon>linear_scale</mat-icon>
Zahlenstrahl Zahlenstrahl
</button> </button>
</div> </div>
......
...@@ -437,10 +437,10 @@ ...@@ -437,10 +437,10 @@
{{'propertiesPanel.onlyOneItem' | translate }} {{'propertiesPanel.onlyOneItem' | translate }}
</mat-checkbox> </mat-checkbox>
<mat-checkbox *ngIf="combinedProperties.showLabel !== undefined" <mat-checkbox *ngIf="combinedProperties.showValues !== undefined"
[checked]="$any(combinedProperties.showLabel)" [checked]="$any(combinedProperties.showValues)"
(change)="updateModel('showLabel', $event.checked)"> (change)="updateModel('showValues', $event.checked)">
{{'propertiesPanel.showLabel' | translate }} {{'propertiesPanel.showValues' | translate }}
</mat-checkbox> </mat-checkbox>
<mat-divider></mat-divider> <mat-divider></mat-divider>
......
...@@ -92,7 +92,7 @@ ...@@ -92,7 +92,7 @@
"minLengthWarnMessage": "Minimalwert Warnmeldung", "minLengthWarnMessage": "Minimalwert Warnmeldung",
"maxLength": "Maximalwert", "maxLength": "Maximalwert",
"maxValue": "Maximalwert", "maxValue": "Maximalwert",
"showLabel": "Zeige Beschriftung", "showValues": "Zeige Beschriftung",
"maxLengthWarnMessage": "Maximalwert Warnmeldung", "maxLengthWarnMessage": "Maximalwert Warnmeldung",
"pattern": "Muster", "pattern": "Muster",
"patternWarnMessage": "Muster Warnmeldung", "patternWarnMessage": "Muster Warnmeldung",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment