24 lines
1.0 KiB
TypeScript
24 lines
1.0 KiB
TypeScript
import { Component, input, output } from '@angular/core';
|
|
import { MatButtonModule } from '@angular/material/button';
|
|
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
import { Apartment } from '../../services/apartment.service';
|
|
import { LoadState } from '../../services/workspace.service';
|
|
|
|
@Component({
|
|
selector: 'app-apartment-list',
|
|
imports: [MatButtonModule, MatProgressBarModule, MatProgressSpinnerModule],
|
|
templateUrl: './apartment-list.html',
|
|
styleUrl: './apartment-list.css',
|
|
})
|
|
export class ApartmentList {
|
|
readonly apartments = input.required<Apartment[]>();
|
|
readonly loadState = input.required<LoadState>();
|
|
readonly deletingIds = input<ReadonlySet<string>>(new Set());
|
|
readonly deleteErrors = input<Record<string, string>>({});
|
|
readonly addRequested = output<void>();
|
|
readonly editRequested = output<Apartment>();
|
|
readonly deleteRequested = output<string>();
|
|
readonly retryRequested = output<void>();
|
|
}
|