status icons in song list

This commit is contained in:
2020-05-03 17:57:33 +02:00
committed by smuddy
parent a64931cf18
commit 536739e651
4 changed files with 34 additions and 4 deletions

View File

@@ -1,8 +1,22 @@
<div class="list-item"> <div class="list-item">
<div class="number">{{song.number}}</div> <div class="number">{{song.number}}</div>
<div>{{song.title}}</div>
<div> <div>
<span *ngIf="song.legalType==='open'" class="warning"><fa-icon [icon]="faLegal"></fa-icon> &nbsp;</span> <ng-container *appRole="['contributor']">
{{song.title}}</div> <span *ngIf="song.status==='draft' || !song.status" class="warning" matTooltip="Entwurf"
matTooltipPosition="before">
<fa-icon [icon]="faDraft"></fa-icon> &nbsp;
</span>
<span *ngIf="song.status==='set'" class="neutral" matTooltip="Entwurf" matTooltipPosition="before">
<fa-icon [icon]="faDraft"></fa-icon> &nbsp;
</span>
<span *ngIf="song.status==='final'" class="success" matTooltip="Final" matTooltipPosition="before">
<fa-icon [icon]="faFinal"></fa-icon> &nbsp;
</span>
</ng-container>
<span *ngIf="song.legalType==='open'" class="warning" matTooltip="rechtlicher Status ist ungeklärt"
matTooltipPosition="before"><fa-icon [icon]="faLegal"></fa-icon> &nbsp;</span>
</div>
<div>{{song.key}}</div> <div>{{song.key}}</div>
</div> </div>

View File

@@ -3,7 +3,7 @@
.list-item { .list-item {
padding: 5px 20px; padding: 5px 20px;
display: grid; display: grid;
grid-template-columns: 50px auto 30px; grid-template-columns: 50px auto 60px 30px;
& > div { & > div {
display: flex; display: flex;
@@ -28,6 +28,14 @@
text-align: right; text-align: right;
} }
.neutral {
color: #888;
}
.warning { .warning {
color: #ba3500; color: #ba3500;
} }
.success {
color: #307501;
}

View File

@@ -1,6 +1,8 @@
import {Component, Input, OnInit} from '@angular/core'; import {Component, Input, OnInit} from '@angular/core';
import {Song} from '../../services/song'; import {Song} from '../../services/song';
import {faBalanceScaleRight} from '@fortawesome/free-solid-svg-icons/faBalanceScaleRight'; import {faBalanceScaleRight} from '@fortawesome/free-solid-svg-icons/faBalanceScaleRight';
import {faPencilRuler} from '@fortawesome/free-solid-svg-icons/faPencilRuler';
import {faCheck} from '@fortawesome/free-solid-svg-icons/faCheck';
@Component({ @Component({
selector: 'app-list-item', selector: 'app-list-item',
@@ -10,6 +12,8 @@ import {faBalanceScaleRight} from '@fortawesome/free-solid-svg-icons/faBalanceSc
export class ListItemComponent implements OnInit { export class ListItemComponent implements OnInit {
@Input() public song: Song; @Input() public song: Song;
public faLegal = faBalanceScaleRight; public faLegal = faBalanceScaleRight;
public faDraft = faPencilRuler;
public faFinal = faCheck;
constructor() { constructor() {
} }

View File

@@ -13,6 +13,8 @@ import {ReactiveFormsModule} from '@angular/forms';
import {MatSelectModule} from '@angular/material/select'; import {MatSelectModule} from '@angular/material/select';
import {SongTypeTranslaterModule} from '../../../widget-modules/pipes/song-type-translater/song-type-translater.module'; import {SongTypeTranslaterModule} from '../../../widget-modules/pipes/song-type-translater/song-type-translater.module';
import {FontAwesomeModule} from '@fortawesome/angular-fontawesome'; import {FontAwesomeModule} from '@fortawesome/angular-fontawesome';
import {MatTooltipModule} from '@angular/material/tooltip';
import {RoleModule} from '../../../services/user/role.module';
@NgModule({ @NgModule({
@@ -30,7 +32,9 @@ import {FontAwesomeModule} from '@fortawesome/angular-fontawesome';
ReactiveFormsModule, ReactiveFormsModule,
MatSelectModule, MatSelectModule,
SongTypeTranslaterModule, SongTypeTranslaterModule,
FontAwesomeModule FontAwesomeModule,
MatTooltipModule,
RoleModule
] ]
}) })
export class SongListModule { export class SongListModule {