This commit is contained in:
2020-03-02 18:47:04 +01:00
committed by smuddy
parent 5b746e0db5
commit ccd91aa81c
93 changed files with 444 additions and 89 deletions

View File

@@ -0,0 +1,47 @@
import {Component, OnInit} from '@angular/core';
import {Song} from '../../../models/song';
import {FormGroup} from '@angular/forms';
import {ActivatedRoute, Router} from '@angular/router';
import {SongService} from '../../../services/song.service';
import {EditService} from '../edit.service';
import {first, map, switchMap} from 'rxjs/operators';
@Component({
selector: 'app-edit-song',
templateUrl: './edit-song.component.html',
styleUrls: ['./edit-song.component.less']
})
export class EditSongComponent implements OnInit {
public song: Song;
public form: FormGroup;
public keys = this.songService.KEYS;
public types = this.songService.TYPES;
public legalOwner = this.songService.LEGAL_OWNER;
public legalType = this.songService.LEGAL_TYPE;
constructor(
private activatedRoute: ActivatedRoute,
private songService: SongService,
private editService: EditService,
private router: Router
) {
}
public ngOnInit(): void {
this.activatedRoute.params.pipe(
map(param => param.songId),
switchMap(songId => this.songService.read(songId)),
first()
).subscribe(song => {
this.song = song;
this.form = this.editService.createSongForm(song);
});
}
public async onSave(): Promise<void> {
const data = this.form.value;
await this.songService.update(this.song.id, data);
await this.router.navigateByUrl('songs/' + this.song.id);
}
}