From e293d23ae348300e6f96e09256907c75e75ea87a Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu, 11 May 2023 12:49:33 -0700 Subject: [PATCH] Refactoring a few frontend components --- .../permissions-filter-dropdown.component.ts | 6 +++--- .../permissions-select/permissions-select.component.ts | 6 +++--- .../document-detail/document-detail.component.ts | 8 +++++--- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src-ui/src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.ts b/src-ui/src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.ts index bb6f5569d..338f999e7 100644 --- a/src-ui/src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.ts +++ b/src-ui/src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.ts @@ -8,6 +8,7 @@ import { } from 'src/app/services/permissions.service' import { UserService } from 'src/app/services/rest/user.service' import { SettingsService } from 'src/app/services/settings.service' +import { ComponentWithPermissions } from '../../with-permissions/with-permissions.component' export class PermissionsSelectionModel { ownerFilter: OwnerFilterType @@ -38,9 +39,7 @@ export enum OwnerFilterType { templateUrl: './permissions-filter-dropdown.component.html', styleUrls: ['./permissions-filter-dropdown.component.scss'], }) -export class PermissionsFilterDropdownComponent { - public PermissionAction = PermissionAction - public PermissionType = PermissionType +export class PermissionsFilterDropdownComponent extends ComponentWithPermissions { public OwnerFilterType = OwnerFilterType @Input() @@ -71,6 +70,7 @@ export class PermissionsFilterDropdownComponent { userService: UserService, private settingsService: SettingsService ) { + super() if ( permissionsService.currentUserCan( PermissionAction.View, diff --git a/src-ui/src/app/components/common/permissions-select/permissions-select.component.ts b/src-ui/src/app/components/common/permissions-select/permissions-select.component.ts index aa2b2bea0..924ffd662 100644 --- a/src-ui/src/app/components/common/permissions-select/permissions-select.component.ts +++ b/src-ui/src/app/components/common/permissions-select/permissions-select.component.ts @@ -11,6 +11,7 @@ import { PermissionsService, PermissionType, } from 'src/app/services/permissions.service' +import { ComponentWithPermissions } from '../../with-permissions/with-permissions.component' @Component({ providers: [ @@ -25,11 +26,9 @@ import { styleUrls: ['./permissions-select.component.scss'], }) export class PermissionsSelectComponent + extends ComponentWithPermissions implements OnInit, ControlValueAccessor { - PermissionType = PermissionType - PermissionAction = PermissionAction - @Input() title: string = 'Permissions' @@ -62,6 +61,7 @@ export class PermissionsSelectComponent inheritedWarning: string = $localize`Inherited from group` constructor(private readonly permissionsService: PermissionsService) { + super() for (const type in PermissionType) { const control = new FormGroup({}) for (const action in PermissionAction) { diff --git a/src-ui/src/app/components/document-detail/document-detail.component.ts b/src-ui/src/app/components/document-detail/document-detail.component.ts index c9e98f030..60b1ab94b 100644 --- a/src-ui/src/app/components/document-detail/document-detail.component.ts +++ b/src-ui/src/app/components/document-detail/document-detail.component.ts @@ -44,6 +44,7 @@ import { PaperlessUser } from 'src/app/data/paperless-user' import { UserService } from 'src/app/services/rest/user.service' import { PaperlessDocumentNote } from 'src/app/data/paperless-document-note' import { HttpClient } from '@angular/common/http' +import { ComponentWithPermissions } from '../with-permissions/with-permissions.component' enum DocumentDetailNavIDs { Details = 1, @@ -60,6 +61,7 @@ enum DocumentDetailNavIDs { styleUrls: ['./document-detail.component.scss'], }) export class DocumentDetailComponent + extends ComponentWithPermissions implements OnInit, OnDestroy, DirtyComponent { @ViewChild('inputTitle') @@ -127,8 +129,6 @@ export class DocumentDetailComponent } } - PermissionAction = PermissionAction - PermissionType = PermissionType DocumentDetailNavIDs = DocumentDetailNavIDs activeNavID: number @@ -148,7 +148,9 @@ export class DocumentDetailComponent private permissionsService: PermissionsService, private userService: UserService, private http: HttpClient - ) {} + ) { + super() + } titleKeyUp(event) { this.titleSubject.next(event.target?.value)