Skip to content

Commit 34f6c1b

Browse files
committed
2 parents 59bf64b + 1553493 commit 34f6c1b

File tree

29 files changed

+476
-131
lines changed

29 files changed

+476
-131
lines changed

angular/src/AppPreBootstrap.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
1-
import * as moment from 'moment';
1+
import * as moment from 'moment';
22
import { AppConsts } from '@shared/AppConsts';
33
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
44
import { Type, CompilerOptions, NgModuleRef } from '@angular/core';
5+
import { environment } from './environments/environment';
56

67
export class AppPreBootstrap {
78

8-
static run(callback: () => void): void {
9-
AppPreBootstrap.getApplicationConfig(() => {
9+
static run(appRootUrl: string, callback: () => void): void {
10+
AppPreBootstrap.getApplicationConfig(appRootUrl, () => {
1011
AppPreBootstrap.getUserConfiguration(callback);
1112
});
1213
}
@@ -15,9 +16,9 @@ export class AppPreBootstrap {
1516
return platformBrowserDynamic().bootstrapModule(moduleType, compilerOptions);
1617
}
1718

18-
private static getApplicationConfig(callback: () => void) {
19+
private static getApplicationConfig(appRootUrl: string, callback: () => void) {
1920
return abp.ajax({
20-
url: '/assets/appconfig.json',
21+
url: appRootUrl + 'assets/' + environment.appConfig,
2122
method: 'GET',
2223
headers: {
2324
'Abp.TenantId': abp.multiTenancy.getTenantIdCookie()
@@ -65,4 +66,4 @@ export class AppPreBootstrap {
6566
callback();
6667
});
6768
}
68-
}
69+
}

angular/src/app/app-routing.module.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { HomeComponent } from './home/home.component';
66
import { AboutComponent } from './about/about.component';
77
import { UsersComponent } from './users/users.component';
88
import { TenantsComponent } from './tenants/tenants.component';
9-
import { RolesComponent } from "app/roles/roles.component";
9+
import { RolesComponent } from 'app/roles/roles.component';
1010

1111
@NgModule({
1212
imports: [

angular/src/app/layout/sidebar-user-area.component.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
 <div class="user-info">
1+
<div class="user-info">
22
<div class="image">
3-
<img src="/assets/images/user.png" width="48" height="48" alt="User" />
3+
<img src="assets/images/user.png" width="48" height="48" alt="User" />
44
</div>
55
<div class="info-container">
66
<div class="name" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{shownLoginName}}</div>
@@ -12,4 +12,4 @@
1212
</ul>
1313
</div>
1414
</div>
15-
</div>
15+
</div>

angular/src/app/roles/edit-role/edit-role.component.html

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<div bsModal #editRoleModal="bs-modal" class="modal fade" (onShown)="onShown()" tabindex="-1" role="dialog" aria-labelledby="edidtRoleModal" aria-hidden="true" [config]="{backdrop: 'static'}">
1+
<div bsModal #editRoleModal="bs-modal" class="modal fade" (onShown)="onShown()" tabindex="-1" role="dialog" aria-labelledby="edidtRoleModal" aria-hidden="true" [config]="{backdrop: 'static'}">
22
<div class="modal-dialog">
33

44
<div #modalContent class="modal-content">
@@ -10,7 +10,7 @@
1010
<span aria-hidden="true">&times;</span>
1111
</button>
1212
<h4 class="modal-title">
13-
<span>{{l("EditRole")}} <span *ngIf="role.isStatic"> (<span style="color:red">static</span>)</span></span>
13+
<span>{{l("EditRole")}} <span *ngIf="model.role.isStatic"> (<span style="color:red">static</span>)</span></span>
1414
</h4>
1515
</div>
1616
<div class="modal-body">
@@ -19,7 +19,7 @@ <h4 class="modal-title">
1919
<div class="col-sm-12">
2020
<div class="form-group form-float">
2121
<div class="form-line">
22-
<input id="rolename" [disabled]="role.isStatic" type="text" name="RoleName" [(ngModel)]="role.name" required maxlength="32" minlength="2" class="validate form-control">
22+
<input id="rolename" [disabled]="model.role.isStatic" type="text" name="RoleName" [(ngModel)]="model.role.name" required maxlength="32" minlength="2" class="validate form-control">
2323
<label for="rolename" class="form-label">{{l("RoleName")}}</label>
2424
</div>
2525
</div>
@@ -30,7 +30,7 @@ <h4 class="modal-title">
3030
<div class="col-sm-12">
3131
<div class="form-group form-float">
3232
<div class="form-line">
33-
<input id="displayname" type="text" name="DisplayName" [(ngModel)]="role.displayName" required maxlength="32" minlength="2" class="validate form-control">
33+
<input id="displayname" type="text" name="DisplayName" [(ngModel)]="model.role.displayName" required maxlength="32" minlength="2" class="validate form-control">
3434
<label for="displayname" class="form-label">{{l("DisplayName")}}</label>
3535
</div>
3636
</div>
@@ -41,7 +41,7 @@ <h4 class="modal-title">
4141
<div class="col-sm-12">
4242
<div class="form-group form-float">
4343
<div class="form-line">
44-
<textarea id="role-description" name="Description" [(ngModel)]="role.description" class="validate form-control"></textarea>
44+
<textarea id="role-description" name="Description" [(ngModel)]="model.role.description" class="validate form-control"></textarea>
4545
<label for="role-description" class="form-label">Role Description</label>
4646
</div>
4747
</div>
@@ -52,9 +52,9 @@ <h4 class="modal-title">
5252
<div class="col-sm-12">
5353
<h4>Permissions</h4>
5454

55-
<ng-template ngFor let-permission [ngForOf]="permissions.items" let-permissionIndex="index">
55+
<ng-template ngFor let-permission [ngForOf]="model.permissions" let-permissionIndex="index">
5656
<div class="col-sm-6">
57-
<input [disabled]="role.isStatic" type="checkbox" name="permission" value="{{permission.name}}" class="filled-in" id="permission-{{permissionIndex}}" checked="{{checkPermission(permission.name)}}" />
57+
<input [disabled]="model.role.isStatic" type="checkbox" name="permission" value="{{permission.name}}" class="filled-in" id="permission-{{permissionIndex}}" checked="{{checkPermission(permission.name)}}" />
5858
<label for="permission-{{permissionIndex}}">{{permission.displayName}}</label>
5959
</div>
6060
</ng-template>
@@ -74,4 +74,4 @@ <h4>Permissions</h4>
7474
</form>
7575
</div>
7676
</div>
77-
</div>
77+
</div>

angular/src/app/roles/edit-role/edit-role.component.ts

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,21 @@
1-
import { Component, ViewChild, Injector, Output, EventEmitter, ElementRef, OnInit } from '@angular/core';
1+
import { Component, ViewChild, Injector, Output, EventEmitter, ElementRef } from '@angular/core';
22
import { ModalDirective } from 'ngx-bootstrap';
3-
import { RoleServiceProxy, RoleDto, ListResultDtoOfPermissionDto } from '@shared/service-proxies/service-proxies';
3+
import { RoleServiceProxy, GetRoleForEditOutput, RoleDto } from '@shared/service-proxies/service-proxies';
44
import { AppComponentBase } from '@shared/app-component-base';
55
import { finalize } from 'rxjs/operators';
66

77
@Component({
88
selector: 'edit-role-modal',
99
templateUrl: './edit-role.component.html'
1010
})
11-
export class EditRoleComponent extends AppComponentBase implements OnInit {
11+
export class EditRoleComponent extends AppComponentBase {
1212
@ViewChild('editRoleModal') modal: ModalDirective;
1313
@ViewChild('modalContent') modalContent: ElementRef;
1414

1515
active: boolean = false;
1616
saving: boolean = false;
1717

18-
permissions: ListResultDtoOfPermissionDto = null;
19-
role: RoleDto = null;
18+
model: GetRoleForEditOutput = null;
2019

2120
@Output() modalSave: EventEmitter<any> = new EventEmitter<any>();
2221
constructor(
@@ -26,21 +25,14 @@ export class EditRoleComponent extends AppComponentBase implements OnInit {
2625
super(injector);
2726
}
2827

29-
ngOnInit(): void {
30-
this._roleService.getAllPermissions()
31-
.subscribe((permissions: ListResultDtoOfPermissionDto) => {
32-
this.permissions = permissions;
33-
});
34-
}
35-
3628
show(id: number): void {
37-
this._roleService.get(id)
29+
this._roleService.getRoleForEdit(id)
3830
.pipe(finalize(() => {
3931
this.active = true;
4032
this.modal.show();
4133
}))
42-
.subscribe((result: RoleDto) => {
43-
this.role = result;
34+
.subscribe((result: GetRoleForEditOutput) => {
35+
this.model = result;
4436
});
4537
}
4638

@@ -49,7 +41,7 @@ export class EditRoleComponent extends AppComponentBase implements OnInit {
4941
}
5042

5143
checkPermission(permissionName: string): string {
52-
if (this.role.permissions.indexOf(permissionName) != -1) {
44+
if (this.model.grantedPermissionNames.indexOf(permissionName) != -1) {
5345
return "checked";
5446
}
5547
else {
@@ -58,6 +50,8 @@ export class EditRoleComponent extends AppComponentBase implements OnInit {
5850
}
5951

6052
save(): void {
53+
const role = this.model.role;
54+
6155
var permissions = [];
6256
$(this.modalContent.nativeElement).find("[name=permission]").each(
6357
function (index: number, elem: Element) {
@@ -67,9 +61,18 @@ export class EditRoleComponent extends AppComponentBase implements OnInit {
6761
}
6862
)
6963

70-
this.role.permissions = permissions;
7164
this.saving = true;
72-
this._roleService.update(this.role)
65+
var input = new RoleDto();
66+
67+
input.name = role.name;
68+
input.displayName = role.displayName;
69+
input.description = role.description;
70+
input.id = role.id;
71+
input.isStatic = role.isStatic;
72+
input.permissions = permissions;
73+
74+
75+
this._roleService.update(input)
7376
.pipe(finalize(() => { this.saving = false; }))
7477
.subscribe(() => {
7578
this.notify.info(this.l('SavedSuccessfully'));

angular/src/app/roles/roles.component.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import { Component, Injector, ViewChild } from '@angular/core';
2-
import { PagedListingComponentBase, PagedRequestDto } from "shared/paged-listing-component-base";
3-
import { RoleServiceProxy, RoleDto, PagedResultDtoOfRoleDto } from "shared/service-proxies/service-proxies";
2+
import { PagedListingComponentBase, PagedRequestDto } from 'shared/paged-listing-component-base';
3+
import { RoleServiceProxy, RoleDto, PagedResultDtoOfRoleDto } from 'shared/service-proxies/service-proxies';
44
import { appModuleAnimation } from '@shared/animations/routerTransition';
5-
import { CreateRoleComponent } from "app/roles/create-role/create-role.component";
6-
import { EditRoleComponent } from "app/roles/edit-role/edit-role.component";
5+
import { CreateRoleComponent } from 'app/roles/create-role/create-role.component';
6+
import { EditRoleComponent } from 'app/roles/edit-role/edit-role.component';
77
import { finalize } from 'rxjs/operators';
88

99
@Component({

angular/src/app/tenants/tenants.component.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ import { Component, Injector, ViewChild } from '@angular/core';
22
import { appModuleAnimation } from '@shared/animations/routerTransition';
33
import { TenantServiceProxy, TenantDto, PagedResultDtoOfTenantDto } from '@shared/service-proxies/service-proxies';
44

5-
import { PagedListingComponentBase, PagedRequestDto } from "shared/paged-listing-component-base";
6-
import { EditTenantComponent } from "app/tenants/edit-tenant/edit-tenant.component";
7-
import { CreateTenantComponent } from "app/tenants/create-tenant/create-tenant.component";
5+
import { PagedListingComponentBase, PagedRequestDto } from 'shared/paged-listing-component-base';
6+
import { EditTenantComponent } from 'app/tenants/edit-tenant/edit-tenant.component';
7+
import { CreateTenantComponent } from 'app/tenants/create-tenant/create-tenant.component';
88
import { finalize } from 'rxjs/operators';
99

1010
@Component({

angular/src/app/users/users.component.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import { Component, Injector, ViewChild } from '@angular/core';
22
import { appModuleAnimation } from '@shared/animations/routerTransition';
33
import { UserServiceProxy, UserDto, PagedResultDtoOfUserDto } from '@shared/service-proxies/service-proxies';
4-
import { PagedListingComponentBase, PagedRequestDto } from "shared/paged-listing-component-base";
5-
import { CreateUserComponent } from "app/users/create-user/create-user.component";
6-
import { EditUserComponent } from "app/users/edit-user/edit-user.component";
4+
import { PagedListingComponentBase, PagedRequestDto } from 'shared/paged-listing-component-base';
5+
import { CreateUserComponent } from 'app/users/create-user/create-user.component';
6+
import { EditUserComponent } from 'app/users/edit-user/edit-user.component';
77
import { finalize } from 'rxjs/operators';
88

99
@Component({
Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
// "Hot Module Replacement" enabled environment
1+
// "Hot Module Replacement" enabled environment
22

33
export const environment = {
44
production: false,
5-
hmr: true
6-
};
5+
hmr: true,
6+
appConfig: 'appconfig.json'
7+
};

angular/src/environments/environment.prod.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@
22

33
export const environment = {
44
production: true,
5-
hmr: false
6-
};
5+
hmr: false,
6+
appConfig: 'appconfig.json'
7+
};

0 commit comments

Comments
 (0)