Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 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 48 49 50 51 52 53 54 55 | 2x 2x 2x 2x 3x 3x 3x 3x 15x | import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';
import { CostCenter, CostCenterBuyer } from 'ish-core/models/cost-center/cost-center.model';
import { ModalDialogComponent } from 'ish-shared/components/common/modal-dialog/modal-dialog.component';
import { OrganizationManagementFacade } from '../../facades/organization-management.facade';
import { CostCenterBuyerEditDialogComponent } from '../cost-center-buyer-edit-dialog/cost-center-buyer-edit-dialog.component';
type CostCenterBuyersListColumnsType = 'buyerName' | 'orders' | 'pendingOrders' | 'budget' | 'actions';
/**
* The Cost Center User List Component displays the users assigned to the cost center, their budgets, orders and pending orders.
*
* @example
* <ish-cost-center-users-list [costCenter]="costCenter"></ish-cost-center-users-list>
*/
@Component({
selector: 'ish-cost-center-users-list',
templateUrl: './cost-center-users-list.component.html',
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class CostCenterUsersListComponent implements OnInit {
@Input({ required: true }) costCenter: CostCenter;
@Input() isEditable = false;
columnsToDisplay: CostCenterBuyersListColumnsType[] = ['buyerName', 'pendingOrders', 'orders', 'budget', 'actions'];
selectedBuyer: CostCenterBuyer;
constructor(private organizationManagementFacade: OrganizationManagementFacade) {}
ngOnInit() {
if (!this.isEditable) {
this.columnsToDisplay = this.columnsToDisplay.filter(col => col !== 'actions');
}
}
openEditCostCenterBuyerDialog(buyer: CostCenterBuyer, modal: CostCenterBuyerEditDialogComponent) {
modal.show(buyer);
}
removeBuyerConfirmation(buyer: CostCenterBuyer, modal: ModalDialogComponent<string>) {
this.selectedBuyer = buyer;
if (buyer.pendingOrders) {
modal.show();
} else {
this.removeBuyerFromCostCenter();
}
}
removeBuyerFromCostCenter() {
this.organizationManagementFacade.removeBuyerFromCostCenter(this.selectedBuyer.login);
}
}
|