mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-08-14 00:26:21 +00:00
Chore: update to Angular 20 (#10273)
This commit is contained in:
@@ -2,7 +2,7 @@ import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http'
|
||||
import { provideHttpClientTesting } from '@angular/common/http/testing'
|
||||
import { TestBed } from '@angular/core/testing'
|
||||
import { PermissionsService } from '../services/permissions.service'
|
||||
import { CorrespondentService } from '../services/rest/correspondent.service'
|
||||
import { AbstractNameFilterService } from '../services/rest/abstract-name-filter-service'
|
||||
import { CorrespondentNamePipe } from './correspondent-name.pipe'
|
||||
|
||||
describe('CorrespondentNamePipe', () => {
|
||||
@@ -11,6 +11,9 @@ describe('CorrespondentNamePipe', () => {
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({
|
||||
providers: [
|
||||
CorrespondentNamePipe,
|
||||
{ provide: PermissionsService },
|
||||
{ provide: AbstractNameFilterService },
|
||||
provideHttpClient(withInterceptorsFromDi()),
|
||||
provideHttpClientTesting(),
|
||||
],
|
||||
@@ -19,10 +22,7 @@ describe('CorrespondentNamePipe', () => {
|
||||
|
||||
// The pipe is a simple wrapper around ObjectNamePipe, see ObjectNamePipe for the actual tests.
|
||||
it('should be created', () => {
|
||||
pipe = new CorrespondentNamePipe(
|
||||
TestBed.inject(PermissionsService),
|
||||
TestBed.inject(CorrespondentService)
|
||||
)
|
||||
pipe = TestBed.inject(CorrespondentNamePipe)
|
||||
expect(pipe).toBeTruthy()
|
||||
})
|
||||
})
|
||||
|
@@ -1,4 +1,4 @@
|
||||
import { Pipe, PipeTransform } from '@angular/core'
|
||||
import { inject, Pipe, PipeTransform } from '@angular/core'
|
||||
import {
|
||||
PermissionsService,
|
||||
PermissionType,
|
||||
@@ -13,10 +13,10 @@ export class CorrespondentNamePipe
|
||||
extends ObjectNamePipe
|
||||
implements PipeTransform
|
||||
{
|
||||
constructor(
|
||||
permissionsService: PermissionsService,
|
||||
objectService: CorrespondentService
|
||||
) {
|
||||
super(permissionsService, PermissionType.Correspondent, objectService)
|
||||
constructor() {
|
||||
super()
|
||||
this.permissionsService = inject(PermissionsService)
|
||||
this.permissionType = PermissionType.Correspondent
|
||||
this.objectService = inject(CorrespondentService)
|
||||
}
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
import { DatePipe } from '@angular/common'
|
||||
import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core'
|
||||
import { LOCALE_ID, Pipe, PipeTransform, inject } from '@angular/core'
|
||||
import { SETTINGS_KEYS } from '../data/ui-settings'
|
||||
import { SettingsService } from '../services/settings.service'
|
||||
|
||||
@@ -46,13 +46,14 @@ const INTERVALS = {
|
||||
name: 'customDate',
|
||||
})
|
||||
export class CustomDatePipe implements PipeTransform {
|
||||
private datePipe = inject(DatePipe)
|
||||
private settings = inject(SettingsService)
|
||||
|
||||
private defaultLocale: string
|
||||
|
||||
constructor(
|
||||
@Inject(LOCALE_ID) locale: string,
|
||||
private datePipe: DatePipe,
|
||||
private settings: SettingsService
|
||||
) {
|
||||
constructor() {
|
||||
const locale = inject(LOCALE_ID)
|
||||
|
||||
this.defaultLocale = locale
|
||||
}
|
||||
|
||||
|
@@ -2,7 +2,7 @@ import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http'
|
||||
import { provideHttpClientTesting } from '@angular/common/http/testing'
|
||||
import { TestBed } from '@angular/core/testing'
|
||||
import { PermissionsService } from '../services/permissions.service'
|
||||
import { DocumentTypeService } from '../services/rest/document-type.service'
|
||||
import { AbstractNameFilterService } from '../services/rest/abstract-name-filter-service'
|
||||
import { DocumentTypeNamePipe } from './document-type-name.pipe'
|
||||
|
||||
describe('DocumentTypeNamePipe', () => {
|
||||
@@ -11,6 +11,9 @@ describe('DocumentTypeNamePipe', () => {
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({
|
||||
providers: [
|
||||
DocumentTypeNamePipe,
|
||||
{ provide: PermissionsService },
|
||||
{ provide: AbstractNameFilterService },
|
||||
provideHttpClient(withInterceptorsFromDi()),
|
||||
provideHttpClientTesting(),
|
||||
],
|
||||
@@ -19,10 +22,7 @@ describe('DocumentTypeNamePipe', () => {
|
||||
|
||||
// The pipe is a simple wrapper around ObjectNamePipe, see ObjectNamePipe for the actual tests.
|
||||
it('should be created', () => {
|
||||
pipe = new DocumentTypeNamePipe(
|
||||
TestBed.inject(PermissionsService),
|
||||
TestBed.inject(DocumentTypeService)
|
||||
)
|
||||
pipe = TestBed.inject(DocumentTypeNamePipe)
|
||||
expect(pipe).toBeTruthy()
|
||||
})
|
||||
})
|
||||
|
@@ -1,4 +1,4 @@
|
||||
import { Pipe, PipeTransform } from '@angular/core'
|
||||
import { inject, Pipe, PipeTransform } from '@angular/core'
|
||||
import {
|
||||
PermissionsService,
|
||||
PermissionType,
|
||||
@@ -13,10 +13,10 @@ export class DocumentTypeNamePipe
|
||||
extends ObjectNamePipe
|
||||
implements PipeTransform
|
||||
{
|
||||
constructor(
|
||||
permissionsService: PermissionsService,
|
||||
objectService: DocumentTypeService
|
||||
) {
|
||||
super(permissionsService, PermissionType.DocumentType, objectService)
|
||||
constructor() {
|
||||
super()
|
||||
this.permissionsService = inject(PermissionsService)
|
||||
this.permissionType = PermissionType.DocumentType
|
||||
this.objectService = inject(DocumentTypeService)
|
||||
}
|
||||
}
|
||||
|
@@ -7,7 +7,6 @@ import { PermissionsService } from '../services/permissions.service'
|
||||
import { AbstractNameFilterService } from '../services/rest/abstract-name-filter-service'
|
||||
import { CorrespondentService } from '../services/rest/correspondent.service'
|
||||
import { CorrespondentNamePipe } from './correspondent-name.pipe'
|
||||
import { ObjectNamePipe } from './object-name.pipe'
|
||||
|
||||
describe('ObjectNamePipe', () => {
|
||||
/*
|
||||
@@ -21,7 +20,9 @@ describe('ObjectNamePipe', () => {
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({
|
||||
providers: [
|
||||
ObjectNamePipe,
|
||||
CorrespondentNamePipe,
|
||||
{ provide: PermissionsService },
|
||||
{ provide: CorrespondentService },
|
||||
provideHttpClient(withInterceptorsFromDi()),
|
||||
provideHttpClientTesting(),
|
||||
],
|
||||
@@ -29,7 +30,7 @@ describe('ObjectNamePipe', () => {
|
||||
|
||||
permissionsService = TestBed.inject(PermissionsService)
|
||||
objectService = TestBed.inject(CorrespondentService)
|
||||
pipe = new CorrespondentNamePipe(permissionsService, objectService)
|
||||
pipe = TestBed.inject(CorrespondentNamePipe)
|
||||
})
|
||||
|
||||
it('should return object name if user has permission', (done) => {
|
||||
|
@@ -1,4 +1,4 @@
|
||||
import { Pipe, PipeTransform } from '@angular/core'
|
||||
import { inject, Pipe, PipeTransform } from '@angular/core'
|
||||
import { catchError, map, Observable, of } from 'rxjs'
|
||||
import { MatchingModel } from '../data/matching-model'
|
||||
import {
|
||||
@@ -12,6 +12,12 @@ import { AbstractNameFilterService } from '../services/rest/abstract-name-filter
|
||||
name: 'objectName',
|
||||
})
|
||||
export abstract class ObjectNamePipe implements PipeTransform {
|
||||
protected permissionsService = inject(PermissionsService)
|
||||
protected permissionType: PermissionType
|
||||
protected objectService = inject<AbstractNameFilterService<MatchingModel>>(
|
||||
AbstractNameFilterService
|
||||
)
|
||||
|
||||
/*
|
||||
ObjectNamePipe is an abstract class to prevent instantiation,
|
||||
object-specific pipes extend this class and provide the
|
||||
@@ -19,12 +25,6 @@ export abstract class ObjectNamePipe implements PipeTransform {
|
||||
*/
|
||||
protected objects: MatchingModel[]
|
||||
|
||||
constructor(
|
||||
protected permissionsService: PermissionsService,
|
||||
protected permissionType: PermissionType,
|
||||
protected objectService: AbstractNameFilterService<MatchingModel>
|
||||
) {}
|
||||
|
||||
transform(obejctId: number): Observable<string> {
|
||||
if (
|
||||
this.permissionsService.currentUserCan(
|
||||
|
@@ -1,11 +1,11 @@
|
||||
import { Pipe, PipeTransform } from '@angular/core'
|
||||
import { Pipe, PipeTransform, inject } from '@angular/core'
|
||||
import { DomSanitizer } from '@angular/platform-browser'
|
||||
|
||||
@Pipe({
|
||||
name: 'safeHtml',
|
||||
})
|
||||
export class SafeHtmlPipe implements PipeTransform {
|
||||
constructor(private sanitizer: DomSanitizer) {}
|
||||
private sanitizer = inject(DomSanitizer)
|
||||
|
||||
transform(html) {
|
||||
return this.sanitizer.bypassSecurityTrustHtml(html)
|
||||
|
@@ -1,11 +1,11 @@
|
||||
import { Pipe, PipeTransform } from '@angular/core'
|
||||
import { Pipe, PipeTransform, inject } from '@angular/core'
|
||||
import { DomSanitizer } from '@angular/platform-browser'
|
||||
|
||||
@Pipe({
|
||||
name: 'safeUrl',
|
||||
})
|
||||
export class SafeUrlPipe implements PipeTransform {
|
||||
constructor(private sanitizer: DomSanitizer) {}
|
||||
private sanitizer = inject(DomSanitizer)
|
||||
|
||||
transform(url) {
|
||||
if (url == null) {
|
||||
|
@@ -2,7 +2,7 @@ import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http'
|
||||
import { provideHttpClientTesting } from '@angular/common/http/testing'
|
||||
import { TestBed } from '@angular/core/testing'
|
||||
import { PermissionsService } from '../services/permissions.service'
|
||||
import { StoragePathService } from '../services/rest/storage-path.service'
|
||||
import { AbstractNameFilterService } from '../services/rest/abstract-name-filter-service'
|
||||
import { StoragePathNamePipe } from './storage-path-name.pipe'
|
||||
|
||||
describe('StoragePathNamePipe', () => {
|
||||
@@ -11,6 +11,9 @@ describe('StoragePathNamePipe', () => {
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({
|
||||
providers: [
|
||||
StoragePathNamePipe,
|
||||
{ provide: PermissionsService },
|
||||
{ provide: AbstractNameFilterService },
|
||||
provideHttpClient(withInterceptorsFromDi()),
|
||||
provideHttpClientTesting(),
|
||||
],
|
||||
@@ -19,10 +22,7 @@ describe('StoragePathNamePipe', () => {
|
||||
|
||||
// The pipe is a simple wrapper around ObjectNamePipe, see ObjectNamePipe for the actual tests.
|
||||
it('should be created', () => {
|
||||
pipe = new StoragePathNamePipe(
|
||||
TestBed.inject(PermissionsService),
|
||||
TestBed.inject(StoragePathService)
|
||||
)
|
||||
pipe = TestBed.inject(StoragePathNamePipe)
|
||||
expect(pipe).toBeTruthy()
|
||||
})
|
||||
})
|
||||
|
@@ -1,4 +1,4 @@
|
||||
import { Pipe, PipeTransform } from '@angular/core'
|
||||
import { inject, Pipe, PipeTransform } from '@angular/core'
|
||||
import {
|
||||
PermissionsService,
|
||||
PermissionType,
|
||||
@@ -13,10 +13,10 @@ export class StoragePathNamePipe
|
||||
extends ObjectNamePipe
|
||||
implements PipeTransform
|
||||
{
|
||||
constructor(
|
||||
permissionsService: PermissionsService,
|
||||
objectService: StoragePathService
|
||||
) {
|
||||
super(permissionsService, PermissionType.StoragePath, objectService)
|
||||
constructor() {
|
||||
super()
|
||||
this.permissionsService = inject(PermissionsService)
|
||||
this.permissionType = PermissionType.StoragePath
|
||||
this.objectService = inject(StoragePathService)
|
||||
}
|
||||
}
|
||||
|
@@ -1,4 +1,4 @@
|
||||
import { Pipe, PipeTransform } from '@angular/core'
|
||||
import { inject, Pipe, PipeTransform } from '@angular/core'
|
||||
import { catchError, map, Observable, of } from 'rxjs'
|
||||
import { User } from '../data/user'
|
||||
import {
|
||||
@@ -12,12 +12,10 @@ import { UserService } from '../services/rest/user.service'
|
||||
name: 'username',
|
||||
})
|
||||
export class UsernamePipe implements PipeTransform {
|
||||
users: User[]
|
||||
private permissionsService = inject(PermissionsService)
|
||||
private userService = inject(UserService)
|
||||
|
||||
constructor(
|
||||
private permissionsService: PermissionsService,
|
||||
private userService: UserService
|
||||
) {}
|
||||
users: User[]
|
||||
|
||||
transform(userID: number): Observable<string> {
|
||||
if (
|
||||
|
Reference in New Issue
Block a user