mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2026-02-09 23:49:29 -06:00
Use an enum
This commit is contained in:
@@ -14,7 +14,10 @@ import {
|
||||
PermissionsService,
|
||||
PermissionType,
|
||||
} from 'src/app/services/permissions.service'
|
||||
import { DocumentAttributesComponent } from './document-attributes.component'
|
||||
import {
|
||||
DocumentAttributesComponent,
|
||||
DocumentAttributesSectionKind,
|
||||
} from './document-attributes.component'
|
||||
|
||||
@Component({
|
||||
selector: 'pngx-dummy-section',
|
||||
@@ -69,7 +72,7 @@ describe('DocumentAttributesComponent', () => {
|
||||
label: 'Tags',
|
||||
icon: 'tags',
|
||||
permissionType: PermissionType.Tag,
|
||||
kind: 'attributeList',
|
||||
kind: DocumentAttributesSectionKind.ManagementList,
|
||||
component: DummySectionComponent,
|
||||
},
|
||||
{
|
||||
@@ -78,7 +81,7 @@ describe('DocumentAttributesComponent', () => {
|
||||
label: 'Custom fields',
|
||||
icon: 'ui-radios',
|
||||
permissionType: PermissionType.CustomField,
|
||||
kind: 'customFields',
|
||||
kind: DocumentAttributesSectionKind.CustomFields,
|
||||
component: DummySectionComponent,
|
||||
},
|
||||
]
|
||||
|
||||
@@ -40,7 +40,10 @@ enum DocumentAttributesNavIDs {
|
||||
CustomFields = 5,
|
||||
}
|
||||
|
||||
type DocumentAttributesSectionKind = 'attributeList' | 'customFields'
|
||||
export enum DocumentAttributesSectionKind {
|
||||
ManagementList = 'managementList',
|
||||
CustomFields = 'customFields',
|
||||
}
|
||||
|
||||
interface DocumentAttributesSection {
|
||||
id: DocumentAttributesNavIDs
|
||||
@@ -87,7 +90,7 @@ export class DocumentAttributesComponent
|
||||
icon: 'tags',
|
||||
infoLink: 'usage/#terms-and-definitions',
|
||||
permissionType: PermissionType.Tag,
|
||||
kind: 'attributeList',
|
||||
kind: DocumentAttributesSectionKind.ManagementList,
|
||||
component: TagListComponent,
|
||||
},
|
||||
{
|
||||
@@ -97,7 +100,7 @@ export class DocumentAttributesComponent
|
||||
icon: 'person',
|
||||
infoLink: 'usage/#terms-and-definitions',
|
||||
permissionType: PermissionType.Correspondent,
|
||||
kind: 'attributeList',
|
||||
kind: DocumentAttributesSectionKind.ManagementList,
|
||||
component: CorrespondentListComponent,
|
||||
},
|
||||
{
|
||||
@@ -107,7 +110,7 @@ export class DocumentAttributesComponent
|
||||
icon: 'hash',
|
||||
infoLink: 'usage/#terms-and-definitions',
|
||||
permissionType: PermissionType.DocumentType,
|
||||
kind: 'attributeList',
|
||||
kind: DocumentAttributesSectionKind.ManagementList,
|
||||
component: DocumentTypeListComponent,
|
||||
},
|
||||
{
|
||||
@@ -117,7 +120,7 @@ export class DocumentAttributesComponent
|
||||
icon: 'folder',
|
||||
infoLink: 'usage/#terms-and-definitions',
|
||||
permissionType: PermissionType.StoragePath,
|
||||
kind: 'attributeList',
|
||||
kind: DocumentAttributesSectionKind.ManagementList,
|
||||
component: StoragePathListComponent,
|
||||
},
|
||||
{
|
||||
@@ -127,7 +130,7 @@ export class DocumentAttributesComponent
|
||||
icon: 'ui-radios',
|
||||
infoLink: 'usage/#custom-fields',
|
||||
permissionType: PermissionType.CustomField,
|
||||
kind: 'customFields',
|
||||
kind: DocumentAttributesSectionKind.CustomFields,
|
||||
component: CustomFieldsComponent,
|
||||
},
|
||||
]
|
||||
@@ -156,13 +159,17 @@ export class DocumentAttributesComponent
|
||||
}
|
||||
|
||||
get activeAttributeList(): ManagementListComponent<any> | null {
|
||||
if (this.activeSection?.kind !== 'attributeList') return null
|
||||
if (
|
||||
this.activeSection?.kind !== DocumentAttributesSectionKind.ManagementList
|
||||
)
|
||||
return null
|
||||
const instance = this.activeOutlet?.componentInstance
|
||||
return instance instanceof ManagementListComponent ? instance : null
|
||||
}
|
||||
|
||||
get activeCustomFields(): CustomFieldsComponent | null {
|
||||
if (this.activeSection?.kind !== 'customFields') return null
|
||||
if (this.activeSection?.kind !== DocumentAttributesSectionKind.CustomFields)
|
||||
return null
|
||||
const instance = this.activeOutlet?.componentInstance
|
||||
return instance instanceof CustomFieldsComponent ? instance : null
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user