Chore: Upgrade to Angular v18

Chore: Upgrade to Python 3.12
Chore: Upgrade to psycopg3
This commit is contained in:
2024-06-03 13:22:56 +05:30
parent 56c1be5e05
commit 010e9a84db
573 changed files with 5727 additions and 6528 deletions
@@ -12,13 +12,11 @@
</div>
<mat-divider></mat-divider>
<div formArrayName="permissions">
<div
class="flex flex-row justify-around content-start items-start"
*ngFor="let p of item.permissions; index as i"
[formGroupName]="i"
>
<mat-checkbox formControlName="permission" class="flex-auto">{{ p.name }}</mat-checkbox>
</div>
@for (p of item.permissions; track p; let i = $index) {
<div class="flex flex-row justify-around content-start items-start" [formGroupName]="i">
<mat-checkbox formControlName="permission" class="flex-auto">{{ p.name }}</mat-checkbox>
</div>
}
</div>
</form>
</mat-card-content>
@@ -8,7 +8,7 @@ describe('RoleDetailComponent', () => {
beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({
declarations: [RoleDetailComponent],
imports: [RoleDetailComponent],
}).compileComponents();
}));
@@ -1,6 +1,12 @@
import { AfterViewInit, Component, ElementRef, OnInit, ViewChild } from '@angular/core';
import { FormArray, FormControl, FormGroup } from '@angular/forms';
import { FormArray, FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
import { MatButton } from '@angular/material/button';
import { MatCard, MatCardHeader, MatCardTitle, MatCardContent, MatCardActions } from '@angular/material/card';
import { MatCheckbox } from '@angular/material/checkbox';
import { MatDialog } from '@angular/material/dialog';
import { MatDivider } from '@angular/material/divider';
import { MatFormField, MatLabel } from '@angular/material/form-field';
import { MatInput } from '@angular/material/input';
import { ActivatedRoute, Router } from '@angular/router';
import { ToasterService } from '../../core/toaster.service';
@@ -12,6 +18,21 @@ import { RoleService } from '../role.service';
selector: 'app-role-detail',
templateUrl: './role-detail.component.html',
styleUrls: ['./role-detail.component.css'],
standalone: true,
imports: [
MatCard,
MatCardHeader,
MatCardTitle,
MatCardContent,
ReactiveFormsModule,
MatFormField,
MatLabel,
MatInput,
MatDivider,
MatCheckbox,
MatCardActions,
MatButton,
],
})
export class RoleDetailComponent implements OnInit, AfterViewInit {
@ViewChild('nameElement', { static: true }) nameElement?: ElementRef;
@@ -66,27 +87,27 @@ export class RoleDetailComponent implements OnInit, AfterViewInit {
}
save() {
this.ser.saveOrUpdate(this.getItem()).subscribe(
() => {
this.ser.saveOrUpdate(this.getItem()).subscribe({
next: () => {
this.toaster.show('Success', '');
this.router.navigateByUrl('/roles');
},
(error) => {
error: (error) => {
this.toaster.show('Error', error);
},
);
});
}
delete() {
this.ser.delete(this.item.id as string).subscribe(
() => {
this.ser.delete(this.item.id as string).subscribe({
next: () => {
this.toaster.show('Success', '');
this.router.navigateByUrl('/roles');
},
(error) => {
error: (error) => {
this.toaster.show('Error', error);
},
);
});
}
confirmDelete(): void {