Browse Source

re-setting order to default value and new sorting compare function

pull/17239/head
Sinan997 3 years ago
parent
commit
9b778069fd
  1. 22
      npm/ng-packs/packages/core/src/lib/services/routes.service.ts
  2. 2
      npm/ng-packs/packages/feature-management/src/lib/providers/feature-management-settings.provider.ts
  3. 2
      npm/ng-packs/packages/setting-management/config/src/lib/providers/setting-tab.provider.ts

22
npm/ng-packs/packages/core/src/lib/services/routes.service.ts

@ -12,6 +12,7 @@ import {
} from '../utils/tree-utils'; } from '../utils/tree-utils';
import { ConfigStateService } from './config-state.service'; import { ConfigStateService } from './config-state.service';
import { PermissionService } from './permission.service'; import { PermissionService } from './permission.service';
import { LocalizationService } from './localization.service';
// eslint-disable-next-line @typescript-eslint/ban-types // eslint-disable-next-line @typescript-eslint/ban-types
export abstract class AbstractTreeService<T extends { [key: string | number | symbol]: any }> { export abstract class AbstractTreeService<T extends { [key: string | number | symbol]: any }> {
@ -158,14 +159,26 @@ export abstract class AbstractNavTreeService<T extends ABP.Nav>
{ {
private subscription: Subscription; private subscription: Subscription;
private permissionService: PermissionService; private permissionService: PermissionService;
private localizationService: LocalizationService
readonly id = 'name'; readonly id = 'name';
readonly parentId = 'parentName'; readonly parentId = 'parentName';
readonly hide = (item: T) => item.invisible || !this.isGranted(item); readonly hide = (item: T) => item.invisible || !this.isGranted(item);
readonly sort = (a: T, b: T) => { readonly sort = (a: T, b: T) => {
if (!Number.isInteger(a.order)) return 1; const aName = this.localizationService.instant(a.name);
if (!Number.isInteger(b.order)) return -1; const bName = this.localizationService.instant(b.name);
const aNumber = a.order;
return (a.order as number) - (b.order as number); const bNumber = b.order;
if (!Number.isInteger(aNumber)) return 1;
if (!Number.isInteger(bNumber)) return -1;
if (aNumber > bNumber) return 1
if (aNumber < bNumber) return -1
if ( aName > bName ) return 1;
if ( aName < bName ) return -1;
return 0
}; };
constructor(protected injector: Injector) { constructor(protected injector: Injector) {
@ -175,6 +188,7 @@ export abstract class AbstractNavTreeService<T extends ABP.Nav>
.createOnUpdateStream(state => state) .createOnUpdateStream(state => state)
.subscribe(() => this.refresh()); .subscribe(() => this.refresh());
this.permissionService = injector.get(PermissionService); this.permissionService = injector.get(PermissionService);
this.localizationService = injector.get(LocalizationService);
this.othersGroup = injector.get(OTHERS_GROUP); this.othersGroup = injector.get(OTHERS_GROUP);
} }

2
npm/ng-packs/packages/feature-management/src/lib/providers/feature-management-settings.provider.ts

@ -17,7 +17,7 @@ export function configureSettingTabs(settingtabs: SettingTabsService) {
settingtabs.add([ settingtabs.add([
{ {
name: eFeatureManagementTabNames.FeatureManagement, name: eFeatureManagementTabNames.FeatureManagement,
order: 120, order: 100,
requiredPolicy: 'FeatureManagement.ManageHostFeatures', requiredPolicy: 'FeatureManagement.ManageHostFeatures',
component: FeatureManagementTabComponent, component: FeatureManagementTabComponent,
}, },

2
npm/ng-packs/packages/setting-management/config/src/lib/providers/setting-tab.provider.ts

@ -17,7 +17,7 @@ export function configureSettingTabs(settingTabs: SettingTabsService) {
settingTabs.add([ settingTabs.add([
{ {
name: eSettingManamagementSettingTabNames.EmailSettingGroup, name: eSettingManamagementSettingTabNames.EmailSettingGroup,
order: 110, order: 100,
requiredPolicy: 'SettingManagement.Emailing', requiredPolicy: 'SettingManagement.Emailing',
component: EmailSettingGroupComponent, component: EmailSettingGroupComponent,
}, },

Loading…
Cancel
Save