Use an enum

This commit is contained in:
shamoon
2026-02-08 23:31:46 -08:00
parent 8d694388cd
commit 1f64f6caff
2 changed files with 21 additions and 11 deletions

View File

@@ -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,
},
]

View File

@@ -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
}