This is an automated email from the ASF dual-hosted git repository. ankovalyshyn pushed a commit to branch project_grid in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
commit d537007031ebae8e1b7e1363ebdd8e2fd7e63250 Author: Andriana Kovalyshyn <andriana_kovalys...@epam.com> AuthorDate: Thu May 23 17:02:02 2019 +0300 changed control type for endpoints; added service call --- .../project-form/project-form.component.html | 147 ++++++++++++--------- .../project/project-form/project-form.component.ts | 27 ++-- 2 files changed, 102 insertions(+), 72 deletions(-) diff --git a/services/self-service/src/main/resources/webapp/src/app/administration/project/project-form/project-form.component.html b/services/self-service/src/main/resources/webapp/src/app/administration/project/project-form/project-form.component.html index 371dae8..a579ace 100644 --- a/services/self-service/src/main/resources/webapp/src/app/administration/project/project-form/project-form.component.html +++ b/services/self-service/src/main/resources/webapp/src/app/administration/project/project-form/project-form.component.html @@ -17,76 +17,99 @@ ~ under the License. --> -<mat-card class="base-retreat project-form"> - <form [formGroup]="projectForm" novalidate> - <mat-horizontal-stepper #stepper class="stepper ani"> - <mat-step> - <ng-template matStepLabel>Project</ng-template> - <section class="inner-step mat-reset"> +<form [formGroup]="projectForm" novalidate> + <mat-horizontal-stepper #stepper class="stepper ani"> + <mat-step> + <ng-template matStepLabel>Project</ng-template> + <section class="inner-step mat-reset"> - <div class="form-block"> - <div class="control-group"> - <label class="label">Project name</label> - <div class="control"> - <input type="text" formControlName="project_name" placeholder="Enter project name" - (blur)="generateProjectTag($event)"> - </div> + <div class="form-block"> + <div class="control-group"> + <label class="label">Project name</label> + <div class="control"> + <input type="text" formControlName="project_name" placeholder="Enter project name" + (blur)="generateProjectTag($event)"> </div> - <div class="control-group"> - <label class="label">Endpoint name</label> - <div class="control"> - <input type="text" formControlName="endpoint_name" placeholder="Enter endpoint name"> - </div> + </div> + <!-- <div class="control-group"> + <label class="label">Endpoint name</label> + <div class="control"> + <input type="text" formControlName="endpoints_list" placeholder="Enter endpoint name"> </div> - <div class="control-group"> - <label class="label">Project tag</label> - <div class="control"> - <input type="text" formControlName="project_tag" placeholder="dlab-{ project name }"> + </div> --> + <div class="control-group"> + <div class="selector-wrapper"> + <mat-form-field> + <mat-select multiple formControlName="endpoints_list" placeholder="Select endpoint name"> + <mat-option class="multiple-select" disabled> + <a class="select ani" (click)="selectOptions(list, 'all')"> + <i class="material-icons">playlist_add_check</i> All + </a> + <a class="deselect ani" (click)="selectOptions(list)"> + <i class="material-icons">clear</i> None + </a> + </mat-option> + <mat-option *ngFor="let group of endpointsList" [value]="group"> + {{ group }} + </mat-option> + </mat-select> + <button class="caret"> + <i class="material-icons">keyboard_arrow_down</i> + </button> + </mat-form-field> </div> </div> - <div class="text-center m-bott-10"> - <button mat-raised-button type="button" class="butt" (click)="reset()">Clear</button> - <button mat-raised-button type="button" class="butt next" matStepperNext>Next<i class="material-icons">keyboard_arrow_right</i></button> + + <div class="control-group"> + <label class="label">Project tag</label> + <div class="control"> + <input type="text" formControlName="project_tag" placeholder="dlab-{ project name }"> </div> </div> + <div class="text-center m-bott-10"> + <button mat-raised-button type="button" class="butt" (click)="reset()">Clear</button> + <button mat-raised-button type="button" class="butt next" matStepperNext>Next<i + class="material-icons">keyboard_arrow_right</i></button> + </div> + </div> - </section> - </mat-step> - <mat-step> - <ng-template matStepLabel>Users</ng-template> - <div class="inner-step mat-reset"> - <div class="form-block"> - <div class="control-group"> - <div class="selector-wrapper"> - <mat-form-field> - <mat-select multiple formControlName="users_group" placeholder="Select user groups"> - <mat-option class="multiple-select" disabled> - <a class="select ani" (click)="selectOptions('all')"> - <i class="material-icons">playlist_add_check</i> All - </a> - <a class="deselect ani" (click)="selectOptions()"> - <i class="material-icons">clear</i> None - </a> - </mat-option> - <mat-option *ngFor="let group of groupsList" [value]="group"> - {{ group }} - </mat-option> - </mat-select> - <button class="caret"> - <i class="material-icons">keyboard_arrow_down</i> - </button> - </mat-form-field> - </div> - </div> - <div class="text-center m-bott-10"> - <button mat-raised-button type="button" class="butt" (click)="reset()">Clear</button> - <button mat-raised-button matStepperPrevious class="butt"><i class="material-icons">keyboard_arrow_left</i>Back</button> - <button mat-raised-button type="button" class="butt butt-success" [disabled]="!projectForm.valid" - (click)="createProject(projectForm.value)">Create</button> + </section> + </mat-step> + <mat-step> + <ng-template matStepLabel>Users</ng-template> + <div class="inner-step mat-reset"> + <div class="form-block"> + <div class="control-group"> + <div class="selector-wrapper"> + <mat-form-field> + <mat-select multiple formControlName="users_group" placeholder="Select user groups"> + <mat-option class="multiple-select" disabled> + <a class="select ani" (click)="selectOptions(groupsList, 'users_group', 'all')"> + <i class="material-icons">playlist_add_check</i> All + </a> + <a class="deselect ani" (click)="selectOptions(groupsList, 'users_group')"> + <i class="material-icons">clear</i> None + </a> + </mat-option> + <mat-option *ngFor="let group of groupsList" [value]="group"> + {{ group }} + </mat-option> + </mat-select> + <button class="caret"> + <i class="material-icons">keyboard_arrow_down</i> + </button> + </mat-form-field> </div> </div> + <div class="text-center m-bott-10"> + <button mat-raised-button type="button" class="butt" (click)="reset()">Clear</button> + <button mat-raised-button matStepperPrevious class="butt"><i + class="material-icons">keyboard_arrow_left</i>Back</button> + <button mat-raised-button type="button" class="butt butt-success" [disabled]="!projectForm.valid" + (click)="createProject(projectForm.value)">Create</button> + </div> </div> - </mat-step> - </mat-horizontal-stepper> - </form> -</mat-card> \ No newline at end of file + </div> + </mat-step> + </mat-horizontal-stepper> +</form> \ No newline at end of file diff --git a/services/self-service/src/main/resources/webapp/src/app/administration/project/project-form/project-form.component.ts b/services/self-service/src/main/resources/webapp/src/app/administration/project/project-form/project-form.component.ts index b6650a8..f1f936f 100644 --- a/services/self-service/src/main/resources/webapp/src/app/administration/project/project-form/project-form.component.ts +++ b/services/self-service/src/main/resources/webapp/src/app/administration/project/project-form/project-form.component.ts @@ -21,7 +21,7 @@ import { FormGroup, FormBuilder, Validators } from '@angular/forms'; import { ToastrService } from 'ngx-toastr'; - import { ProjectService,RolesGroupsService } from '../../../core/services'; + import { ProjectService,RolesGroupsService, EndpointService } from '../../../core/services'; import { Project } from '../project.component'; @Component({ @@ -32,23 +32,24 @@ export class ProjectFormComponent implements OnInit { public projectForm: FormGroup; - public groupsList: any; - public setupGroupsList = []; + public groupsList: any = []; + public endpointsList: any = []; constructor( public toastr: ToastrService, private _fb: FormBuilder, private projectService: ProjectService, - private rolesService: RolesGroupsService + private rolesService: RolesGroupsService, + private endpointService: EndpointService ) { } ngOnInit() { this.initFormModel(); this.getGroupsData(); + this.getEndpointsData(); } public createProject(data) { - // let parameters = {...data, users: this.setupGroupsList }; console.log(data); this.projectService.createProject(data).subscribe(response => { @@ -66,17 +67,17 @@ export class ProjectFormComponent implements OnInit { this.projectForm.controls.project_tag.setValue(user_tag.toLowerCase()); } - public selectOptions(select) { + public selectOptions(list, key, select?) { debugger; - this.projectForm.controls.users_group.setValue(select ? this.groupsList : []); + this.projectForm.controls[key].setValue(select ? list : []); } private initFormModel(): void { this.projectForm = this._fb.group({ 'project_name': ['', Validators.required], - 'endpoint_name': ['', Validators.required], + 'endpoints_list': [[], Validators.required], 'project_tag': ['', Validators.required], - 'users_group': [[]] + 'users_group': [[], Validators.required] }); } @@ -84,7 +85,7 @@ export class ProjectFormComponent implements OnInit { this.projectForm = this._fb.group({ 'project_name': [item.project_name, Validators.required], - 'endpoint_name': [item.endpoint_name,Validators.required], + 'endpoints_list': [item.endpoints_list,Validators.required], 'project_tag': [item.project_tag, Validators.required], 'users_list': [item.users_list, Validators.required] }); @@ -95,4 +96,10 @@ export class ProjectFormComponent implements OnInit { (list: any) => this.groupsList = list.map(el => el.group), error => this.toastr.error(error.message, 'Oops!')); } + + private getEndpointsData() { + this.endpointService.getEndpointsData().subscribe( + list => this.endpointsList = list, + error => this.toastr.error(error.message, 'Oops!')); + } } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@dlab.apache.org For additional commands, e-mail: commits-h...@dlab.apache.org