-
rhenck authored
- Remove all Roboto files Since there is just one font, this setting can be safely ignored. This is easier than sanitizing all elements.
rhenck authored- Remove all Roboto files Since there is just one font, this setting can be safely ignored. This is easier than sanitizing all elements.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
radio-group-images.component.ts 2.57 KiB
import { Component, Input } from '@angular/core';
import { RadioButtonGroupComplexElement } from 'common/models/elements/input-elements/radio-button-group-complex';
import { FormElementComponent } from '../../directives/form-element-component.directive';
@Component({
selector: 'aspect-radio-group-images',
template: `
<label [id]="elementModel.id+'-radio-group-label'"
[innerHTML]="elementModel.label | safeResourceHTML">
</label>
<mat-radio-group [attr.aria-labelledby]="elementModel.id+'-radio-group-label'"
[style.grid-template-columns]="elementModel.itemsPerRow !== null ?
'repeat(' + elementModel.itemsPerRow + ', 1fr)' :
'repeat(' + elementModel.options.length + ', 1fr)'"
[formControl]="elementFormControl"
[value]="elementModel.value">
<mat-radio-button *ngFor="let option of elementModel.options; let i = index"
[style.pointer-events]="elementModel.readOnly ? 'none' : 'unset'"
[value]="i">
<aspect-text-image-panel class="radio-button-label"
[label]="option"
[style.color]="elementModel.styling.fontColor"
[style.font-size.px]="elementModel.styling.fontSize"
[style.font-weight]="elementModel.styling.bold ? 'bold' : ''"
[style.font-style]="elementModel.styling.italic ? 'italic' : ''"
[style.text-decoration]="elementModel.styling.underline ? 'underline' : ''">
</aspect-text-image-panel>
</mat-radio-button>
</mat-radio-group>
<mat-error *ngIf="elementFormControl.errors && elementFormControl.touched"
class="error-message">
{{elementFormControl.errors | errorTransform: elementModel}}
</mat-error>
`,
styles: [`
.radio-button-label {
cursor: pointer;
}
mat-radio-group {
display: grid;
}
:host ::ng-deep mat-radio-button .mdc-form-field {
display: flex;
flex-direction: column-reverse;
margin-bottom: 60px;
}
:host ::ng-deep mat-radio-button .mdc-form-field label {
margin: 0;
padding: 0;
}
.error-message {
font-size: 75%;
}
`]
})
export class RadioGroupImagesComponent extends FormElementComponent {
@Input() elementModel!: RadioButtonGroupComplexElement;
}