24 lines
1.1 KiB
TypeScript
24 lines
1.1 KiB
TypeScript
import { Component, inject, computed } from '@angular/core';
|
|
import { MatButtonModule } from '@angular/material/button';
|
|
import { MatIconModule } from '@angular/material/icon';
|
|
import { MatTableModule } from '@angular/material/table';
|
|
import { RouterLink } from '@angular/router';
|
|
|
|
import { ErrorStateComponent } from '../../shared/error-state/error-state.component';
|
|
import { SkeletonLoaderComponent } from '../../shared/skeleton-loader/skeleton-loader.component';
|
|
import { RoleService } from '../role.service';
|
|
@Component({
|
|
selector: 'app-role-list',
|
|
templateUrl: './role-list.component.html',
|
|
styleUrls: ['./role-list.component.css'],
|
|
imports: [MatButtonModule, MatIconModule, MatTableModule, RouterLink, ErrorStateComponent, SkeletonLoaderComponent],
|
|
})
|
|
export class RoleListComponent {
|
|
private roleService = inject(RoleService);
|
|
listResource = this.roleService.list();
|
|
|
|
dataSource = computed(() => this.listResource.value() ?? []);
|
|
/** Columns displayed in the table. Columns IDs can be added, removed, or reordered. */
|
|
displayedColumns = ['name', 'includedRoles', 'permissions'];
|
|
}
|