Browse Source

Merge pull request #3769 from abpframework/feat/route-names

Added *RouteNames enums to all lazy-loadable modules
pull/3786/head
Levent Arman Özak 6 years ago
committed by GitHub
parent
commit
324b77d5f1
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 9
      npm/ng-packs/packages/account-config/src/lib/services/account-config.service.ts
  2. 2
      npm/ng-packs/packages/account/src/lib/enums/index.ts
  3. 6
      npm/ng-packs/packages/account/src/lib/enums/route-names.ts
  4. 2
      npm/ng-packs/packages/account/src/public-api.ts
  5. 17
      npm/ng-packs/packages/core/src/lib/plugins/config.plugin.ts
  6. 11
      npm/ng-packs/packages/identity-config/src/lib/services/identity-config.service.ts
  7. 2
      npm/ng-packs/packages/identity/src/lib/enums/index.ts
  8. 6
      npm/ng-packs/packages/identity/src/lib/enums/route-names.ts
  9. 2
      npm/ng-packs/packages/identity/src/public-api.ts
  10. 3
      npm/ng-packs/packages/setting-management-config/src/lib/services/setting-management-config.service.ts
  11. 2
      npm/ng-packs/packages/setting-management/src/lib/enums/index.ts
  12. 3
      npm/ng-packs/packages/setting-management/src/lib/enums/route-names.ts
  13. 2
      npm/ng-packs/packages/setting-management/src/public-api.ts
  14. 41
      npm/ng-packs/packages/tenant-management-config/src/lib/services/tenant-management-config.service.ts
  15. 2
      npm/ng-packs/packages/tenant-management/src/lib/enums/index.ts
  16. 5
      npm/ng-packs/packages/tenant-management/src/lib/enums/route-names.ts
  17. 2
      npm/ng-packs/packages/tenant-management/src/public-api.ts
  18. 10
      npm/ng-packs/scripts/build.ts

9
npm/ng-packs/packages/account-config/src/lib/services/account-config.service.ts

@ -1,5 +1,6 @@
import { addAbpRoutes, eLayoutType } from '@abp/ng.core';
import { Injectable } from '@angular/core';
import { eAccountRouteNames } from '@abp/ng.account';
@Injectable({
providedIn: 'root',
@ -7,14 +8,14 @@ import { Injectable } from '@angular/core';
export class AccountConfigService {
constructor() {
addAbpRoutes({
name: 'AbpAccount::Menu:Account',
name: eAccountRouteNames.Account,
path: 'account',
invisible: true,
layout: eLayoutType.application,
children: [
{ path: 'login', name: 'AbpAccount::Login', order: 1 },
{ path: 'register', name: 'AbpAccount::Register', order: 2 },
{ path: 'manage-profile', name: 'AbpAccount::ManageYourProfile', order: 3 },
{ path: 'login', name: eAccountRouteNames.Login, order: 1 },
{ path: 'register', name: eAccountRouteNames.Register, order: 2 },
{ path: 'manage-profile', name: eAccountRouteNames.ManageProfile, order: 3 },
],
});
}

2
npm/ng-packs/packages/account/src/lib/enums/index.ts

@ -0,0 +1,2 @@
export * from './components';
export * from './route-names';

6
npm/ng-packs/packages/account/src/lib/enums/route-names.ts

@ -0,0 +1,6 @@
export const enum eAccountRouteNames {
Account = 'AbpAccount::Menu:Account',
Login = 'AbpAccount::Login',
Register = 'AbpAccount::Register',
ManageProfile = 'AbpAccount::ManageYourProfile',
}

2
npm/ng-packs/packages/account/src/public-api.ts

@ -1,6 +1,6 @@
export * from './lib/account.module';
export * from './lib/components';
export * from './lib/enums/components';
export * from './lib/enums';
export * from './lib/tokens';
export * from './lib/models';
export * from './lib/services';

17
npm/ng-packs/packages/core/src/lib/plugins/config.plugin.ts

@ -10,7 +10,7 @@ import {
} from '@ngxs/store';
import clone from 'just-clone';
import snq from 'snq';
import { ABP } from '../models';
import { ABP } from '../models/common';
import { getAbpRoutes, organizeRoutes } from '../utils/route-utils';
export const NGXS_CONFIG_PLUGIN_OPTIONS = new InjectionToken('NGXS_CONFIG_PLUGIN_OPTIONS');
@ -30,8 +30,8 @@ export class ConfigPlugin implements NgxsPlugin {
if (isInitAction && !this.initialized) {
const transformedRoutes = transformRoutes(this.router.config);
let { routes } = transformedRoutes;
const { wrappers } = transformedRoutes;
let { routes, wrappers } = transformedRoutes;
wrappers = reduceWrappers(wrappers);
routes = organizeRoutes(routes, wrappers);
const flattedRoutes = flatRoutes(clone(routes));
@ -118,3 +118,14 @@ function flatRoutes(routes: ABP.FullRoute[]): ABP.FullRoute[] {
return flat(routes);
}
function reduceWrappers(wrappers: ABP.FullRoute[] = []) {
const existingWrappers = new Set();
return wrappers.filter(wrapper => {
if (existingWrappers.has(wrapper.name)) return false;
existingWrappers.add(wrapper.name);
return true;
});
}

11
npm/ng-packs/packages/identity-config/src/lib/services/identity-config.service.ts

@ -1,5 +1,6 @@
import { addAbpRoutes, eLayoutType } from '@abp/ng.core';
import { Injectable } from '@angular/core';
import { eIdentityRouteNames } from '@abp/ng.identity';
@Injectable({
providedIn: 'root',
@ -8,29 +9,29 @@ export class IdentityConfigService {
constructor() {
addAbpRoutes([
{
name: 'AbpUiNavigation::Menu:Administration',
name: eIdentityRouteNames.Administration,
path: '',
order: 1,
wrapper: true,
iconClass: 'fa fa-wrench',
},
{
name: 'AbpIdentity::Menu:IdentityManagement',
name: eIdentityRouteNames.IdentityManagement,
path: 'identity',
order: 1,
parentName: 'AbpUiNavigation::Menu:Administration',
parentName: eIdentityRouteNames.Administration,
layout: eLayoutType.application,
iconClass: 'fa fa-id-card-o',
children: [
{
path: 'roles',
name: 'AbpIdentity::Roles',
name: eIdentityRouteNames.Roles,
order: 1,
requiredPolicy: 'AbpIdentity.Roles',
},
{
path: 'users',
name: 'AbpIdentity::Users',
name: eIdentityRouteNames.Users,
order: 2,
requiredPolicy: 'AbpIdentity.Users',
},

2
npm/ng-packs/packages/identity/src/lib/enums/index.ts

@ -0,0 +1,2 @@
export * from './components';
export * from './route-names';

6
npm/ng-packs/packages/identity/src/lib/enums/route-names.ts

@ -0,0 +1,6 @@
export const enum eIdentityRouteNames {
Administration = 'AbpUiNavigation::Menu:Administration',
IdentityManagement = 'AbpIdentity::Menu:IdentityManagement',
Roles = 'AbpIdentity::Roles',
Users = 'AbpIdentity::Users',
}

2
npm/ng-packs/packages/identity/src/public-api.ts

@ -4,7 +4,7 @@
export * from './lib/identity.module';
export * from './lib/actions/identity.actions';
export * from './lib/enums/components';
export * from './lib/enums';
export * from './lib/components';
export * from './lib/models/identity';
export * from './lib/services';

3
npm/ng-packs/packages/setting-management-config/src/lib/services/setting-management-config.service.ts

@ -2,6 +2,7 @@ import { Injectable, Injector } from '@angular/core';
import { addAbpRoutes, eLayoutType, PatchRouteByName, ABP } from '@abp/ng.core';
import { getSettingTabs } from '@abp/ng.theme.shared';
import { Store } from '@ngxs/store';
import { eSettingManagementRouteNames } from '@abp/ng.setting-management';
@Injectable({
providedIn: 'root',
@ -13,7 +14,7 @@ export class SettingManagementConfigService {
constructor(private injector: Injector) {
const route = {
name: 'AbpSettingManagement::Settings',
name: eSettingManagementRouteNames.Settings,
path: 'setting-management',
parentName: 'AbpUiNavigation::Menu:Administration',
requiredPolicy: 'AbpAccount.SettingManagement',

2
npm/ng-packs/packages/setting-management/src/lib/enums/index.ts

@ -0,0 +1,2 @@
export * from './components';
export * from './route-names';

3
npm/ng-packs/packages/setting-management/src/lib/enums/route-names.ts

@ -0,0 +1,3 @@
export const enum eSettingManagementRouteNames {
Settings = 'AbpSettingManagement::Settings',
}

2
npm/ng-packs/packages/setting-management/src/public-api.ts

@ -1,3 +1,3 @@
export * from './lib/setting-management.module';
export * from './lib/components/setting-management.component';
export * from './lib/enums/components';
export * from './lib/enums';

41
npm/ng-packs/packages/tenant-management-config/src/lib/services/tenant-management-config.service.ts

@ -1,25 +1,34 @@
import { Injectable } from '@angular/core';
import { addAbpRoutes, eLayoutType } from '@abp/ng.core';
import { eTenantManagementRouteNames } from '@abp/ng.tenant-management';
@Injectable({
providedIn: 'root',
})
export class TenantManagementConfigService {
constructor() {
addAbpRoutes({
name: 'AbpTenantManagement::Menu:TenantManagement',
path: 'tenant-management',
parentName: 'AbpUiNavigation::Menu:Administration',
layout: eLayoutType.application,
iconClass: 'fa fa-users',
children: [
{
path: 'tenants',
name: 'AbpTenantManagement::Tenants',
order: 1,
requiredPolicy: 'AbpTenantManagement.Tenants',
},
],
});
addAbpRoutes([
{
name: eTenantManagementRouteNames.Administration,
path: '',
order: 1,
wrapper: true,
iconClass: 'fa fa-wrench',
},
{
name: eTenantManagementRouteNames.TenantManagement,
path: 'tenant-management',
parentName: eTenantManagementRouteNames.Administration,
layout: eLayoutType.application,
iconClass: 'fa fa-users',
children: [
{
path: 'tenants',
name: eTenantManagementRouteNames.Tenants,
order: 1,
requiredPolicy: 'AbpTenantManagement.Tenants',
},
],
},
]);
}
}

2
npm/ng-packs/packages/tenant-management/src/lib/enums/index.ts

@ -0,0 +1,2 @@
export * from './components';
export * from './route-names';

5
npm/ng-packs/packages/tenant-management/src/lib/enums/route-names.ts

@ -0,0 +1,5 @@
export const enum eTenantManagementRouteNames {
Administration = 'AbpUiNavigation::Menu:Administration',
TenantManagement = 'AbpTenantManagement::Menu:TenantManagement',
Tenants = 'AbpTenantManagement::Tenants',
}

2
npm/ng-packs/packages/tenant-management/src/public-api.ts

@ -1,7 +1,7 @@
export * from './lib/tenant-management.module';
export * from './lib/actions';
export * from './lib/components';
export * from './lib/enums/components';
export * from './lib/enums';
export * from './lib/models';
export * from './lib/services';
export * from './lib/states';

10
npm/ng-packs/scripts/build.ts

@ -32,8 +32,9 @@ import program from 'commander';
'copy',
'--angular',
'--no-watch',
'--packages',
'@abp/ng.feature-management,@abp/ng.permission-management,@abp/ng.account.config,@abp/ng.identity.config,@abp/ng.setting-management.config,@abp/ng.tenant-management.config',
'--all-packages',
'--excluded-packages',
'@abp/ng.core,@abp/ng.theme.shared,@abp/ng.feature-management,@abp/ng.permission-management,@abp/ng.account.config,@abp/ng.identity.config,@abp/ng.setting-management.config,@abp/ng.tenant-management.config',
],
{ stdout: 'inherit', cwd: '../' },
);
@ -45,9 +46,8 @@ import program from 'commander';
'copy',
'--angular',
'--no-watch',
'--all-packages',
'--excluded-packages',
'@abp/ng.core,@abp/ng.theme.shared,@abp/ng.feature-management,@abp/ng.permission-management,@abp/ng.account.config,@abp/ng.identity.config,@abp/ng.setting-management.config,@abp/ng.tenant-management.config',
'--packages',
'@abp/ng.feature-management,@abp/ng.permission-management,@abp/ng.account.config,@abp/ng.identity.config,@abp/ng.setting-management.config,@abp/ng.tenant-management.config',
],
{ stdout: 'inherit', cwd: '../' },
);

Loading…
Cancel
Save