49 lines
1.2 KiB
TypeScript
49 lines
1.2 KiB
TypeScript
|
|
import {
|
||
|
|
IColumn,
|
||
|
|
PageDataListComponent,
|
||
|
|
} from '@/shared/components/pageDataList/page-data-list.component';
|
||
|
|
import { Component, signal } from '@angular/core';
|
||
|
|
import { UserFormComponent } from '../components/form.component';
|
||
|
|
import { IUserResponse } from '../models';
|
||
|
|
import { UsersService } from '../services/main.service';
|
||
|
|
|
||
|
|
@Component({
|
||
|
|
selector: 'app-users',
|
||
|
|
templateUrl: './list.component.html',
|
||
|
|
imports: [PageDataListComponent, UserFormComponent],
|
||
|
|
})
|
||
|
|
export class UsersComponent {
|
||
|
|
constructor(private userService: UsersService) {
|
||
|
|
this.getData();
|
||
|
|
}
|
||
|
|
|
||
|
|
columns = [
|
||
|
|
{ field: 'id', header: 'شناسه' },
|
||
|
|
{ field: 'firstName', header: 'نام' },
|
||
|
|
{ field: 'lastName', header: 'نام خانوادگی' },
|
||
|
|
{ field: 'mobileNumber', header: 'شماره موبایل' },
|
||
|
|
{ field: 'roleId', header: 'نقش' },
|
||
|
|
{ field: 'actions' },
|
||
|
|
] as IColumn[];
|
||
|
|
|
||
|
|
loading = signal(false);
|
||
|
|
items = signal<IUserResponse[]>([]);
|
||
|
|
visibleForm = signal(false);
|
||
|
|
|
||
|
|
refresh() {
|
||
|
|
this.getData();
|
||
|
|
}
|
||
|
|
|
||
|
|
getData() {
|
||
|
|
this.loading.set(true);
|
||
|
|
this.userService.getAll().subscribe((res) => {
|
||
|
|
this.loading.set(false);
|
||
|
|
this.items.set(res);
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
openAddForm() {
|
||
|
|
this.visibleForm.set(true);
|
||
|
|
}
|
||
|
|
}
|