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>&nbsp;All
+                      </a>
+                      <a class="deselect ani" (click)="selectOptions(list)">
+                        <i class="material-icons">clear</i>&nbsp;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>&nbsp;All
-                        </a>
-                        <a class="deselect ani" (click)="selectOptions()">
-                          <i class="material-icons">clear</i>&nbsp;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>&nbsp;All
+                    </a>
+                    <a class="deselect ani" (click)="selectOptions(groupsList, 
'users_group')">
+                      <i class="material-icons">clear</i>&nbsp;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

Reply via email to