multi-project/projects/app/_modules/administration/company/administrate-company.compon...

48 lines
1.2 KiB
TypeScript

import {Component, Input} from '@angular/core';
import {CompaniesService} from "@app/_services/companies.service";
import {Subscription} from "rxjs";
import {ListsService} from "@app/_services";
@Component({
selector: 'administrate-company',
templateUrl: 'administrate-company.component.html',
styleUrls: ['administrate-company.component.scss']
})
export class AdministrateCompanyComponent {
@Input() companyId: string;
public company: any;
subscription: Subscription;
constructor(private companiesService: CompaniesService, private listsService: ListsService) {
}
get permissions() {
return this.company?.permissions;
}
get isEditable() {
return this.permissions?.edit || this.permissions?.anything;
}
ngOnInit() {
this.subscription = this.listsService.controls('company-main-info').subscribe(res => {
this.fetch();
});
}
ngOnDestroy() {
this.subscription?.unsubscribe();
}
fetch() {
let include = ['phones', 'emails', 'legalAddress', 'logo', 'permissions'];
this.companiesService.fetch(this.company?.id || this.companyId, {include: include.join(',')}).subscribe(res => {
this.company = res.data;
});
}
}