37 lines
1.2 KiB
TypeScript
37 lines
1.2 KiB
TypeScript
import { Component, inject, input, OnInit } from '@angular/core';
|
|
import { Group } from '../../shared/models/group';
|
|
import { MatCardModule } from '@angular/material/card';
|
|
import { MatButtonModule } from '@angular/material/button';
|
|
import { MatIconModule } from '@angular/material/icon';
|
|
import { Policy } from '../../shared/models/policy';
|
|
import { Router } from '@angular/router';
|
|
import { GroupChatter } from '../../shared/models/group-chatter';
|
|
import { SpecialGroups } from '../../shared/utils/groups';
|
|
import { Permission } from '../../shared/models/permission';
|
|
|
|
@Component({
|
|
selector: 'group-item',
|
|
standalone: true,
|
|
imports: [
|
|
MatButtonModule,
|
|
MatCardModule,
|
|
MatIconModule,
|
|
],
|
|
templateUrl: './group-item.component.html',
|
|
styleUrl: './group-item.component.scss'
|
|
})
|
|
export class GroupItemComponent implements OnInit {
|
|
readonly router = inject(Router);
|
|
group = input.required<Group>();
|
|
chatters = input.required<GroupChatter[]>();
|
|
permissions = input.required<Permission[]>();
|
|
policies = input.required<Policy[]>();
|
|
link: string = '';
|
|
special: boolean = true;
|
|
|
|
ngOnInit() {
|
|
this.special = SpecialGroups.includes(this.group().name);
|
|
this.link = 'groups/' + this.group().id;
|
|
}
|
|
}
|