ChurchAngular/src/app/admin/lines/line-messaging-account-editor/line-messaging-account-editor.component.ts
2022-09-30 10:53:48 -07:00

47 lines
1.4 KiB
TypeScript

import { Component, OnInit } from '@angular/core';
import { NbDialogRef } from '@nebular/theme';
import { first } from 'rxjs/operators';
import { LineMessagingAccount } from '../../../entity/LineMessagingAccount';
import { LineMessagingAccountService } from '../../../services/crudServices/line-messaging-account.service';
@Component({
selector: 'ngx-line-messaging-account-editor',
templateUrl: './line-messaging-account-editor.component.html',
styleUrls: ['./line-messaging-account-editor.component.scss']
})
export class LineMessagingAccountEditorComponent implements OnInit {
isAdding: boolean = false;
processing: boolean = false;
data: LineMessagingAccount;
constructor(
private lineMessagingAccountService: LineMessagingAccountService,
private dlgRef: NbDialogRef<LineMessagingAccountEditorComponent>
) {
}
ngOnInit(): void {
if (this.isAdding) {
this.data = { id: 'NA' } as LineMessagingAccount;
}
}
close() {
this.dlgRef.close();
}
update() {
if (this.processing == false) {
this.processing = true;
let func = this.isAdding ? this.lineMessagingAccountService.createOrUpdate(this.data) : this.lineMessagingAccountService.update(this.data);
func.pipe(first()).subscribe(result => {
this.processing = false;
if (result) {
this.dlgRef.close(true);
}
});
}
}
}