Browse Source

refactor(admin-ui): Move administrator module into SettingsModule

Michael Bromley 7 years ago
parent
commit
ca7a1c8889
24 changed files with 118 additions and 150 deletions
  1. 0 26
      admin-ui/src/app/administrator/administrator.module.ts
  2. 0 62
      admin-ui/src/app/administrator/administrator.routes.ts
  3. 0 4
      admin-ui/src/app/app.routes.ts
  4. 3 9
      admin-ui/src/app/core/components/main-nav/main-nav.component.html
  5. 7 7
      admin-ui/src/app/settings/components/admin-detail/admin-detail.component.html
  6. 0 0
      admin-ui/src/app/settings/components/admin-detail/admin-detail.component.scss
  7. 0 0
      admin-ui/src/app/settings/components/admin-detail/admin-detail.component.ts
  8. 3 3
      admin-ui/src/app/settings/components/administrator-list/administrator-list.component.html
  9. 0 0
      admin-ui/src/app/settings/components/administrator-list/administrator-list.component.scss
  10. 0 0
      admin-ui/src/app/settings/components/administrator-list/administrator-list.component.ts
  11. 9 9
      admin-ui/src/app/settings/components/permission-grid/permission-grid.component.html
  12. 0 0
      admin-ui/src/app/settings/components/permission-grid/permission-grid.component.scss
  13. 0 0
      admin-ui/src/app/settings/components/permission-grid/permission-grid.component.ts
  14. 3 3
      admin-ui/src/app/settings/components/role-detail/role-detail.component.html
  15. 0 0
      admin-ui/src/app/settings/components/role-detail/role-detail.component.scss
  16. 0 0
      admin-ui/src/app/settings/components/role-detail/role-detail.component.ts
  17. 3 3
      admin-ui/src/app/settings/components/role-list/role-list.component.html
  18. 0 0
      admin-ui/src/app/settings/components/role-list/role-list.component.scss
  19. 0 0
      admin-ui/src/app/settings/components/role-list/role-list.component.ts
  20. 0 0
      admin-ui/src/app/settings/providers/routing/administrator-resolver.ts
  21. 0 0
      admin-ui/src/app/settings/providers/routing/role-resolver.ts
  22. 17 2
      admin-ui/src/app/settings/settings.module.ts
  23. 53 1
      admin-ui/src/app/settings/settings.routes.ts
  24. 20 21
      admin-ui/src/i18n-messages/en.json

+ 0 - 26
admin-ui/src/app/administrator/administrator.module.ts

@@ -1,26 +0,0 @@
-import { NgModule } from '@angular/core';
-import { RouterModule } from '@angular/router';
-
-import { SharedModule } from '../shared/shared.module';
-
-import { administratorRoutes } from './administrator.routes';
-import { AdminDetailComponent } from './components/admin-detail/admin-detail.component';
-import { AdministratorListComponent } from './components/administrator-list/administrator-list.component';
-import { PermissionGridComponent } from './components/permission-grid/permission-grid.component';
-import { RoleDetailComponent } from './components/role-detail/role-detail.component';
-import { RoleListComponent } from './components/role-list/role-list.component';
-import { AdministratorResolver } from './providers/routing/administrator-resolver';
-import { RoleResolver } from './providers/routing/role-resolver';
-
-@NgModule({
-    imports: [SharedModule, RouterModule.forChild(administratorRoutes)],
-    declarations: [
-        AdministratorListComponent,
-        RoleListComponent,
-        RoleDetailComponent,
-        AdminDetailComponent,
-        PermissionGridComponent,
-    ],
-    providers: [AdministratorResolver, RoleResolver],
-})
-export class AdministratorModule {}

+ 0 - 62
admin-ui/src/app/administrator/administrator.routes.ts

@@ -1,62 +0,0 @@
-import { Route } from '@angular/router';
-import { Administrator, Role } from 'shared/generated-types';
-
-import { createResolveData } from '../common/base-entity-resolver';
-import { detailBreadcrumb } from '../common/detail-breadcrumb';
-import { _ } from '../core/providers/i18n/mark-for-extraction';
-
-import { AdminDetailComponent } from './components/admin-detail/admin-detail.component';
-import { AdministratorListComponent } from './components/administrator-list/administrator-list.component';
-import { RoleDetailComponent } from './components/role-detail/role-detail.component';
-import { RoleListComponent } from './components/role-list/role-list.component';
-import { AdministratorResolver } from './providers/routing/administrator-resolver';
-import { RoleResolver } from './providers/routing/role-resolver';
-
-export const administratorRoutes: Route[] = [
-    {
-        path: 'administrators',
-        component: AdministratorListComponent,
-        data: {
-            breadcrumb: _('breadcrumb.administrators'),
-        },
-    },
-    {
-        path: 'administrators/:id',
-        component: AdminDetailComponent,
-        resolve: createResolveData(AdministratorResolver),
-        data: { breadcrumb: administratorBreadcrumb },
-    },
-    {
-        path: 'roles',
-        component: RoleListComponent,
-        data: {
-            breadcrumb: _('breadcrumb.roles'),
-        },
-    },
-    {
-        path: 'roles/:id',
-        component: RoleDetailComponent,
-        resolve: createResolveData(RoleResolver),
-        data: { breadcrumb: roleBreadcrumb },
-    },
-];
-
-export function administratorBreadcrumb(data: any, params: any) {
-    return detailBreadcrumb<Administrator>({
-        entity: data.entity,
-        id: params.id,
-        breadcrumbKey: 'breadcrumb.administrators',
-        getName: admin => `${admin.firstName} ${admin.lastName}`,
-        route: 'administrators',
-    });
-}
-
-export function roleBreadcrumb(data: any, params: any) {
-    return detailBreadcrumb<Role>({
-        entity: data.entity,
-        id: params.id,
-        breadcrumbKey: 'breadcrumb.roles',
-        getName: role => role.description,
-        route: 'roles',
-    });
-}

+ 0 - 4
admin-ui/src/app/app.routes.ts

@@ -23,10 +23,6 @@ export const routes: Route[] = [
                 path: 'catalog',
                 loadChildren: './catalog/catalog.module#CatalogModule',
             },
-            {
-                path: 'admin',
-                loadChildren: './administrator/administrator.module#AdministratorModule',
-            },
             {
                 path: 'orders',
                 loadChildren: './order/order.module#OrderModule',

+ 3 - 9
admin-ui/src/app/core/components/main-nav/main-nav.component.html

@@ -59,28 +59,22 @@
         </section>
         <section class="nav-group">
             <input id="tabexample2" type="checkbox">
-            <label for="tabexample2">{{ 'nav.administrator' | translate }}</label>
+            <label for="tabexample2">{{ 'nav.settings' | translate }}</label>
             <ul class="nav-list">
                 <li>
                     <a class="nav-link"
-                       [routerLink]="['/admin', 'administrators']"
+                       [routerLink]="['/settings', 'administrators']"
                        routerLinkActive="active">
                         <clr-icon shape="administrator" size="20"></clr-icon>{{ 'nav.administrators' | translate }}
                     </a>
                 </li>
                 <li>
                     <a class="nav-link"
-                       [routerLink]="['/admin', 'roles']"
+                       [routerLink]="['/settings', 'roles']"
                        routerLinkActive="active">
                         <clr-icon shape="users" size="20"></clr-icon>{{ 'nav.roles' | translate }}
                     </a>
                 </li>
-            </ul>
-        </section>
-        <section class="nav-group">
-            <input id="tabexample2" type="checkbox">
-            <label for="tabexample2">{{ 'nav.settings' | translate }}</label>
-            <ul class="nav-list">
                 <li>
                     <a class="nav-link"
                        [routerLink]="['/settings', 'tax-categories']"

+ 7 - 7
admin-ui/src/app/administrator/components/admin-detail/admin-detail.component.html → admin-ui/src/app/settings/components/admin-detail/admin-detail.component.html

@@ -15,25 +15,25 @@
 
 <form class="form" [formGroup]="administratorForm" >
     <section class="form-block">
-        <label>{{ 'admin.administrator' | translate }}</label>
-        <vdr-form-field [label]="'admin.email-address' | translate" for="emailAddress">
+        <label>{{ 'settings.administrator' | translate }}</label>
+        <vdr-form-field [label]="'settings.email-address' | translate" for="emailAddress">
             <input id="emailAddress" type="text" formControlName="emailAddress">
         </vdr-form-field>
-        <vdr-form-field [label]="'admin.first-name' | translate" for="firstName">
+        <vdr-form-field [label]="'settings.first-name' | translate" for="firstName">
             <input id="firstName" type="text" formControlName="firstName">
         </vdr-form-field>
-        <vdr-form-field [label]="'admin.last-name' | translate" for="lastName">
+        <vdr-form-field [label]="'settings.last-name' | translate" for="lastName">
             <input id="lastName" type="text" formControlName="lastName">
         </vdr-form-field>
-        <vdr-form-field *ngIf="isNew$ | async" [label]="'admin.password' | translate" for="password">
+        <vdr-form-field *ngIf="isNew$ | async" [label]="'settings.password' | translate" for="password">
             <input id="password" type="password" formControlName="password">
         </vdr-form-field>
-        <vdr-form-field *ngIf="!(isNew$ | async)" [label]="'admin.password' | translate" for="password" [readOnlyToggle]="true">
+        <vdr-form-field *ngIf="!(isNew$ | async)" [label]="'settings.password' | translate" for="password" [readOnlyToggle]="true">
             <input id="password" type="password" formControlName="password">
         </vdr-form-field>
     </section>
     <section class="form-block">
-        <label>{{ 'admin.roles' | translate }}</label>
+        <label>{{ 'settings.roles' | translate }}</label>
         <ng-select [items]="allRoles$ | async"
                    [multiple]="true"
                    [hideSelected]="true"

+ 0 - 0
admin-ui/src/app/administrator/components/admin-detail/admin-detail.component.scss → admin-ui/src/app/settings/components/admin-detail/admin-detail.component.scss


+ 0 - 0
admin-ui/src/app/administrator/components/admin-detail/admin-detail.component.ts → admin-ui/src/app/settings/components/admin-detail/admin-detail.component.ts


+ 3 - 3
admin-ui/src/app/administrator/components/administrator-list/administrator-list.component.html → admin-ui/src/app/settings/components/administrator-list/administrator-list.component.html

@@ -14,9 +14,9 @@
                 (pageChange)="setPageNumber($event)"
                 (itemsPerPageChange)="setItemsPerPage($event)">
     <vdr-dt-column>{{ 'common.ID' | translate }}</vdr-dt-column>
-    <vdr-dt-column>{{ 'admin.first-name' | translate }}</vdr-dt-column>
-    <vdr-dt-column>{{ 'admin.last-name' | translate }}</vdr-dt-column>
-    <vdr-dt-column>{{ 'admin.email-address' | translate }}</vdr-dt-column>
+    <vdr-dt-column>{{ 'settings.first-name' | translate }}</vdr-dt-column>
+    <vdr-dt-column>{{ 'settings.last-name' | translate }}</vdr-dt-column>
+    <vdr-dt-column>{{ 'settings.email-address' | translate }}</vdr-dt-column>
     <vdr-dt-column></vdr-dt-column>
     <ng-template let-administrator="item">
         <td class="left">{{ administrator.id }}</td>

+ 0 - 0
admin-ui/src/app/administrator/components/administrator-list/administrator-list.component.scss → admin-ui/src/app/settings/components/administrator-list/administrator-list.component.scss


+ 0 - 0
admin-ui/src/app/administrator/components/administrator-list/administrator-list.component.ts → admin-ui/src/app/settings/components/administrator-list/administrator-list.component.ts


+ 9 - 9
admin-ui/src/app/administrator/components/permission-grid/permission-grid.component.html → admin-ui/src/app/settings/components/permission-grid/permission-grid.component.html

@@ -1,14 +1,14 @@
 <table class="table">
     <tr>
-        <th>{{ 'admin.section' | translate }}</th>
-        <th>{{ 'admin.create' | translate }}</th>
-        <th>{{ 'admin.read' | translate }}</th>
-        <th>{{ 'admin.update' | translate }}</th>
-        <th>{{ 'admin.delete' | translate }}</th>
+        <th>{{ 'settings.section' | translate }}</th>
+        <th>{{ 'settings.create' | translate }}</th>
+        <th>{{ 'settings.read' | translate }}</th>
+        <th>{{ 'settings.update' | translate }}</th>
+        <th>{{ 'settings.delete' | translate }}</th>
     </tr>
     <tbody>
     <tr>
-        <td>{{ 'admin.catalog' | translate }}</td>
+        <td>{{ 'settings.catalog' | translate }}</td>
         <td><vdr-select-toggle size="small"
                                [disabled]="readonly"
                                [selected]="permissions['CreateCatalog']"
@@ -27,7 +27,7 @@
                                (selectedChange)="setPermission('DeleteCatalog', $event)"></vdr-select-toggle></td>
     </tr>
     <tr>
-        <td>{{ 'admin.customer' | translate }}</td>
+        <td>{{ 'settings.customer' | translate }}</td>
         <td><vdr-select-toggle size="small"
                                [disabled]="readonly"
                                [selected]="permissions['CreateCustomer']"
@@ -46,7 +46,7 @@
                                (selectedChange)="setPermission('DeleteCustomer', $event)"></vdr-select-toggle></td>
     </tr>
     <tr>
-        <td>{{ 'admin.order' | translate }}</td>
+        <td>{{ 'settings.order' | translate }}</td>
         <td><vdr-select-toggle size="small"
                                [disabled]="readonly"
                                [selected]="permissions['CreateOrder']"
@@ -65,7 +65,7 @@
                                (selectedChange)="setPermission('DeleteOrder', $event)"></vdr-select-toggle></td>
     </tr>
     <tr>
-        <td>{{ 'admin.administrator' | translate }}</td>
+        <td>{{ 'settings.administrator' | translate }}</td>
         <td><vdr-select-toggle size="small"
                                [disabled]="readonly"
                                [selected]="permissions['CreateAdministrator']"

+ 0 - 0
admin-ui/src/app/administrator/components/permission-grid/permission-grid.component.scss → admin-ui/src/app/settings/components/permission-grid/permission-grid.component.scss


+ 0 - 0
admin-ui/src/app/administrator/components/permission-grid/permission-grid.component.ts → admin-ui/src/app/settings/components/permission-grid/permission-grid.component.ts


+ 3 - 3
admin-ui/src/app/administrator/components/role-detail/role-detail.component.html → admin-ui/src/app/settings/components/role-detail/role-detail.component.html

@@ -15,8 +15,8 @@
 
 <form class="form" [formGroup]="roleForm" >
     <section class="form-block">
-        <label>{{ 'admin.role' | translate }}</label>
-        <vdr-form-field [label]="'admin.description' | translate" for="description">
+        <label>{{ 'settings.role' | translate }}</label>
+        <vdr-form-field [label]="'settings.description' | translate" for="description">
             <input id="description" type="text" formControlName="description" (input)="updateCode($event.target.value)">
         </vdr-form-field>
         <vdr-form-field [label]="'common.code' | translate" for="code" [readOnlyToggle]="true">
@@ -24,7 +24,7 @@
         </vdr-form-field>
     </section>
     <section class="form-block">
-        <label>{{ 'admin.permissions' | translate }}</label>
+        <label>{{ 'settings.permissions' | translate }}</label>
         <vdr-permission-grid [permissions]="permissions" (permissionChange)="setPermission($event)"></vdr-permission-grid>
     </section>
 </form>

+ 0 - 0
admin-ui/src/app/administrator/components/role-detail/role-detail.component.scss → admin-ui/src/app/settings/components/role-detail/role-detail.component.scss


+ 0 - 0
admin-ui/src/app/administrator/components/role-detail/role-detail.component.ts → admin-ui/src/app/settings/components/role-detail/role-detail.component.ts


+ 3 - 3
admin-ui/src/app/administrator/components/role-list/role-list.component.html → admin-ui/src/app/settings/components/role-list/role-list.component.html

@@ -2,7 +2,7 @@
     <vdr-ab-right>
         <a class="btn btn-primary" [routerLink]="['./create']">
             <clr-icon shape="plus"></clr-icon>
-            {{ 'admin.create-new-role' | translate }}
+            {{ 'settings.create-new-role' | translate }}
         </a>
     </vdr-ab-right>
 </vdr-action-bar>
@@ -15,8 +15,8 @@
                 (itemsPerPageChange)="setItemsPerPage($event)">
     <vdr-dt-column>{{ 'common.ID' | translate }}</vdr-dt-column>
     <vdr-dt-column>{{ 'common.code' | translate }}</vdr-dt-column>
-    <vdr-dt-column>{{ 'admin.description' | translate }}</vdr-dt-column>
-    <vdr-dt-column>{{ 'admin.permissions' | translate }}</vdr-dt-column>
+    <vdr-dt-column>{{ 'settings.description' | translate }}</vdr-dt-column>
+    <vdr-dt-column>{{ 'settings.permissions' | translate }}</vdr-dt-column>
     <vdr-dt-column></vdr-dt-column>
     <ng-template let-role="item">
         <td class="left">{{ role.id }}</td>

+ 0 - 0
admin-ui/src/app/administrator/components/role-list/role-list.component.scss → admin-ui/src/app/settings/components/role-list/role-list.component.scss


+ 0 - 0
admin-ui/src/app/administrator/components/role-list/role-list.component.ts → admin-ui/src/app/settings/components/role-list/role-list.component.ts


+ 0 - 0
admin-ui/src/app/administrator/providers/routing/administrator-resolver.ts → admin-ui/src/app/settings/providers/routing/administrator-resolver.ts


+ 0 - 0
admin-ui/src/app/administrator/providers/routing/role-resolver.ts → admin-ui/src/app/settings/providers/routing/role-resolver.ts


+ 17 - 2
admin-ui/src/app/settings/settings.module.ts

@@ -3,14 +3,29 @@ import { RouterModule } from '@angular/router';
 
 import { SharedModule } from '../shared/shared.module';
 
+import { AdminDetailComponent } from './components/admin-detail/admin-detail.component';
+import { AdministratorListComponent } from './components/administrator-list/administrator-list.component';
+import { PermissionGridComponent } from './components/permission-grid/permission-grid.component';
+import { RoleDetailComponent } from './components/role-detail/role-detail.component';
+import { RoleListComponent } from './components/role-list/role-list.component';
 import { TaxCategoryDetailComponent } from './components/tax-category-detail/tax-category-detail.component';
 import { TaxCategoryListComponent } from './components/tax-category-list/tax-category-list.component';
+import { AdministratorResolver } from './providers/routing/administrator-resolver';
+import { RoleResolver } from './providers/routing/role-resolver';
 import { TaxCategoryResolver } from './providers/routing/tax-category-resolver';
 import { settingsRoutes } from './settings.routes';
 
 @NgModule({
     imports: [SharedModule, RouterModule.forChild(settingsRoutes)],
-    declarations: [TaxCategoryListComponent, TaxCategoryDetailComponent],
-    providers: [TaxCategoryResolver],
+    declarations: [
+        TaxCategoryListComponent,
+        TaxCategoryDetailComponent,
+        AdministratorListComponent,
+        RoleListComponent,
+        RoleDetailComponent,
+        AdminDetailComponent,
+        PermissionGridComponent,
+    ],
+    providers: [TaxCategoryResolver, AdministratorResolver, RoleResolver],
 })
 export class SettingsModule {}

+ 53 - 1
admin-ui/src/app/settings/settings.routes.ts

@@ -1,15 +1,47 @@
 import { Route } from '@angular/router';
-import { AdjustmentSource } from 'shared/generated-types';
+import { AdjustmentSource, Administrator, Role } from 'shared/generated-types';
 
 import { createResolveData } from '../common/base-entity-resolver';
 import { detailBreadcrumb } from '../common/detail-breadcrumb';
 import { _ } from '../core/providers/i18n/mark-for-extraction';
 
+import { AdminDetailComponent } from './components/admin-detail/admin-detail.component';
+import { AdministratorListComponent } from './components/administrator-list/administrator-list.component';
+import { RoleDetailComponent } from './components/role-detail/role-detail.component';
+import { RoleListComponent } from './components/role-list/role-list.component';
 import { TaxCategoryDetailComponent } from './components/tax-category-detail/tax-category-detail.component';
 import { TaxCategoryListComponent } from './components/tax-category-list/tax-category-list.component';
+import { AdministratorResolver } from './providers/routing/administrator-resolver';
+import { RoleResolver } from './providers/routing/role-resolver';
 import { TaxCategoryResolver } from './providers/routing/tax-category-resolver';
 
 export const settingsRoutes: Route[] = [
+    {
+        path: 'administrators',
+        component: AdministratorListComponent,
+        data: {
+            breadcrumb: _('breadcrumb.administrators'),
+        },
+    },
+    {
+        path: 'administrators/:id',
+        component: AdminDetailComponent,
+        resolve: createResolveData(AdministratorResolver),
+        data: { breadcrumb: administratorBreadcrumb },
+    },
+    {
+        path: 'roles',
+        component: RoleListComponent,
+        data: {
+            breadcrumb: _('breadcrumb.roles'),
+        },
+    },
+    {
+        path: 'roles/:id',
+        component: RoleDetailComponent,
+        resolve: createResolveData(RoleResolver),
+        data: { breadcrumb: roleBreadcrumb },
+    },
     {
         path: 'tax-categories',
         component: TaxCategoryListComponent,
@@ -27,6 +59,26 @@ export const settingsRoutes: Route[] = [
     },
 ];
 
+export function administratorBreadcrumb(data: any, params: any) {
+    return detailBreadcrumb<Administrator>({
+        entity: data.entity,
+        id: params.id,
+        breadcrumbKey: 'breadcrumb.administrators',
+        getName: admin => `${admin.firstName} ${admin.lastName}`,
+        route: 'administrators',
+    });
+}
+
+export function roleBreadcrumb(data: any, params: any) {
+    return detailBreadcrumb<Role>({
+        entity: data.entity,
+        id: params.id,
+        breadcrumbKey: 'breadcrumb.roles',
+        getName: role => role.description,
+        route: 'roles',
+    });
+}
+
 export function taxCategoryBreadcrumb(data: any, params: any) {
     return detailBreadcrumb<AdjustmentSource.Fragment>({
         entity: data.entity,

+ 20 - 21
admin-ui/src/i18n-messages/en.json

@@ -1,24 +1,6 @@
 {
   "admin": {
-    "administrator": "Administrator",
-    "catalog": "Catalog",
-    "create": "Create",
-    "create-new-administrator": "Create new administrator",
-    "create-new-role": "Create new role",
-    "customer": "Customer",
-    "delete": "Delete",
-    "description": "Description",
-    "email-address": "Email address",
-    "first-name": "First name",
-    "last-name": "Last name",
-    "order": "Order",
-    "password": "Password",
-    "permissions": "Permissions",
-    "read": "Read",
-    "role": "Role",
-    "roles": "Roles",
-    "section": "Section",
-    "update": "Update"
+    "create-new-administrator": "Create new administrator"
   },
   "breadcrumb": {
     "administrators": "Administrators",
@@ -123,7 +105,6 @@
     "create-new-promotion": "Create new promotion"
   },
   "nav": {
-    "administrator": "Admin",
     "administrators": "Administrators",
     "assets": "Assets",
     "catalog": "Catalog",
@@ -142,7 +123,25 @@
     "create-new-order": "Create new order"
   },
   "settings": {
+    "administrator": "Administrator",
+    "catalog": "Catalog",
+    "create": "Create",
+    "create-new-role": "Create new role",
     "create-new-tax-category": "Create tax category",
-    "tax-rate": "Tax rate"
+    "customer": "Customer",
+    "delete": "Delete",
+    "description": "Description",
+    "email-address": "Email address",
+    "first-name": "First name",
+    "last-name": "Last name",
+    "order": "Order",
+    "password": "Password",
+    "permissions": "Permissions",
+    "read": "Read",
+    "role": "Role",
+    "roles": "Roles",
+    "section": "Section",
+    "tax-rate": "Tax rate",
+    "update": "Update"
   }
 }