Spaces:
Build error
Build error
File size: 1,279 Bytes
11452ec | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | import { Component, Inject } from '@angular/core';
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
import { Task, TaskType } from 'api-types';
import { PostsService } from 'app/posts.services';
@Component({
selector: 'app-task-settings',
templateUrl: './task-settings.component.html',
styleUrls: ['./task-settings.component.scss']
})
export class TaskSettingsComponent {
task_key: TaskType;
new_options = {};
task: Task = null;
constructor(private postsService: PostsService, @Inject(MAT_DIALOG_DATA) public data: {task: Task}) {
this.task_key = this.data.task.key;
this.task = this.data.task;
if (!this.task.options) {
this.task.options = {};
}
}
ngOnInit(): void {
this.getSettings();
}
getSettings(): void {
this.postsService.getTask(this.task_key).subscribe(res => {
this.task = res['task'];
this.new_options = JSON.parse(JSON.stringify(this.task['options'])) || {};
});
}
saveSettings(): void {
this.postsService.updateTaskOptions(this.task_key, this.new_options).subscribe(() => {
this.getSettings();
}, () => {
this.getSettings();
});
}
optionsChanged(): boolean {
return JSON.stringify(this.new_options) !== JSON.stringify(this.task.options);
}
}
|