Chorehancement: update to Angular v22, 'zoneless' / 'reactive' (#13114)

This commit is contained in:
shamoon
2026-07-10 00:42:16 -07:00
committed by GitHub
parent f244442c65
commit 106b41a15c
213 changed files with 5363 additions and 5842 deletions
@@ -3,7 +3,7 @@
<ng-select name="inputId" [(ngModel)]="value"
[disabled]="disabled"
clearable="true"
[items]="groups"
[items]="groups()"
multiple="true"
bindLabel="name"
bindValue="id"
@@ -1,11 +1,12 @@
import { Component, forwardRef, inject } from '@angular/core'
import { toSignal } from '@angular/core/rxjs-interop'
import {
FormsModule,
NG_VALUE_ACCESSOR,
ReactiveFormsModule,
} from '@angular/forms'
import { NgSelectComponent } from '@ng-select/ng-select'
import { first } from 'rxjs/operators'
import { map } from 'rxjs/operators'
import { Group } from 'src/app/data/group'
import { GroupService } from 'src/app/services/rest/group.service'
import { AbstractInputComponent } from '../../abstract-input'
@@ -24,15 +25,9 @@ import { AbstractInputComponent } from '../../abstract-input'
imports: [NgSelectComponent, FormsModule, ReactiveFormsModule],
})
export class PermissionsGroupComponent extends AbstractInputComponent<Group> {
groups: Group[]
constructor() {
const groupService = inject(GroupService)
super()
groupService
.listAll()
.pipe(first())
.subscribe((result) => (this.groups = result.results))
}
private readonly groupService = inject(GroupService)
readonly groups = toSignal(
this.groupService.listAll().pipe(map((result) => result.results)),
{ initialValue: undefined as Group[] }
)
}
@@ -3,7 +3,7 @@
<ng-select name="inputId" [(ngModel)]="value"
[disabled]="disabled"
clearable="true"
[items]="users"
[items]="users()"
multiple="true"
bindLabel="username"
bindValue="id"
@@ -1,11 +1,12 @@
import { Component, forwardRef, inject } from '@angular/core'
import { toSignal } from '@angular/core/rxjs-interop'
import {
FormsModule,
NG_VALUE_ACCESSOR,
ReactiveFormsModule,
} from '@angular/forms'
import { NgSelectComponent } from '@ng-select/ng-select'
import { first } from 'rxjs/operators'
import { map } from 'rxjs/operators'
import { User } from 'src/app/data/user'
import { UserService } from 'src/app/services/rest/user.service'
import { AbstractInputComponent } from '../../abstract-input'
@@ -24,15 +25,9 @@ import { AbstractInputComponent } from '../../abstract-input'
imports: [NgSelectComponent, FormsModule, ReactiveFormsModule],
})
export class PermissionsUserComponent extends AbstractInputComponent<User[]> {
users: User[]
constructor() {
const userService = inject(UserService)
super()
userService
.listAll()
.pipe(first())
.subscribe((result) => (this.users = result.results))
}
private readonly userService = inject(UserService)
readonly users = toSignal(
this.userService.listAll().pipe(map((result) => result.results)),
{ initialValue: undefined as User[] }
)
}