@ -6,13 +6,12 @@ import {
SearchProviderKeyInfo ,
ResourcePermissionWithProdiverGrantInfoDto ,
} from '@abp/ng.permission-management/proxy' ;
export type ViewMode = 'list' | 'add' | 'edit' ;
import { eResourcePermissionViewModes } from '../enums/view-modes' ;
@Injectable ( )
export class ResourcePermissionStateService {
// View state
readonly viewMode = signal < ViewMode > ( 'list' ) ;
readonly viewMode = signal < eResourcePermission ViewModes > ( eResourcePermissionViewModes . List ) ;
readonly modalBusy = signal ( false ) ;
readonly hasResourcePermission = signal ( false ) ;
readonly hasProviderKeyLookupService = signal ( false ) ;
@ -45,9 +44,9 @@ export class ResourcePermissionStateService {
readonly showDropdown = signal ( false ) ;
// Computed properties
readonly isAddMode = computed ( ( ) = > this . viewMode ( ) === 'add' ) ;
readonly isEditMode = computed ( ( ) = > this . viewMode ( ) === 'edit' ) ;
readonly isListMode = computed ( ( ) = > this . viewMode ( ) === 'list' ) ;
readonly isAddMode = computed ( ( ) = > this . viewMode ( ) === eResourcePermissionViewModes . Add ) ;
readonly isEditMode = computed ( ( ) = > this . viewMode ( ) === eResourcePermissionViewModes . Edit ) ;
readonly isListMode = computed ( ( ) = > this . viewMode ( ) === eResourcePermissionViewModes . List ) ;
readonly currentPermissionsList = computed ( ( ) = >
this . isAddMode ( ) ? this . permissionDefinitions ( ) : this . permissionsWithProvider ( )
@ -68,12 +67,12 @@ export class ResourcePermissionStateService {
// State transition methods
goToListMode() {
this . viewMode . set ( 'list' ) ;
this . viewMode . set ( eResourcePermissionViewModes . List ) ;
this . selectedPermissions . set ( [ ] ) ;
}
goToAddMode() {
this . viewMode . set ( 'add' ) ;
this . viewMode . set ( eResourcePermissionViewModes . Add ) ;
this . selectedPermissions . set ( [ ] ) ;
this . selectedProviderKey . set ( '' ) ;
this . searchResults . set ( [ ] ) ;
@ -90,7 +89,7 @@ export class ResourcePermissionStateService {
this . selectedPermissions . set (
permissions . filter ( p = > p . isGranted ) . map ( p = > p . name || '' )
) ;
this . viewMode . set ( 'edit' ) ;
this . viewMode . set ( eResourcePermissionViewModes . Edit ) ;
}
// Permission selection methods
@ -131,7 +130,7 @@ export class ResourcePermissionStateService {
// Reset all state
reset() {
this . viewMode . set ( 'list' ) ;
this . viewMode . set ( eResourcePermissionViewModes . List ) ;
this . allResourcePermissions . set ( [ ] ) ;
this . resourcePermissions . set ( [ ] ) ;
this . totalCount . set ( 0 ) ;