Moved Dashboad webapp on Angular 5 !
[src/xds/xds-agent.git] / webapp / src / app / projects / projectAddModal.component.ts
index 1352060..0718f4c 100644 (file)
@@ -8,22 +8,22 @@ import 'rxjs/add/operator/map';
 import 'rxjs/add/operator/filter';
 import 'rxjs/add/operator/debounceTime';
 
-import { AlertService, IAlert } from "../services/alert.service";
-import { ProjectService, IProject, ProjectType, ProjectTypes } from "../services/project.service";
+import { AlertService, IAlert } from '../services/alert.service';
+import { ProjectService, IProject, ProjectType, ProjectTypes } from '../services/project.service';
 
 
 @Component({
-    selector: 'project-add-modal',
-    templateUrl: './app/projects/projectAddModal.component.html',
-    styleUrls: ['./app/projects/projectAddModal.component.css']
+    selector: 'xds-project-add-modal',
+    templateUrl: 'projectAddModal.component.html',
+    styleUrls: ['projectAddModal.component.css']
 })
-export class ProjectAddModalComponent {
+export class ProjectAddModalComponent implements OnInit {
     @ViewChild('childProjectModal') public childProjectModal: ModalDirective;
     @Input() title?: string;
     @Input('server-id') serverID: string;
 
-    cancelAction: boolean = false;
-    userEditedLabel: boolean = false;
+    cancelAction = false;
+    userEditedLabel = false;
     projectTypes = ProjectTypes;
 
     addProjectForm: FormGroup;
@@ -37,17 +37,17 @@ export class ProjectAddModalComponent {
         private fb: FormBuilder
     ) {
         // Define types (first one is special/placeholder)
-        this.projectTypes.unshift({ value: ProjectType.UNSET, display: "--Select a type--" });
+        this.projectTypes.unshift({ value: ProjectType.UNSET, display: '--Select a type--' });
 
-        this.typeCtrl = new FormControl(this.projectTypes[0].value, Validators.pattern("[A-Za-z]+"));
-        this.pathCliCtrl = new FormControl("", Validators.required);
-        this.pathSvrCtrl = new FormControl({ value: "", disabled: true }, [Validators.required, Validators.minLength(1)]);
+        this.typeCtrl = new FormControl(this.projectTypes[0].value, Validators.pattern('[A-Za-z]+'));
+        this.pathCliCtrl = new FormControl('', Validators.required);
+        this.pathSvrCtrl = new FormControl({ value: '', disabled: true }, [Validators.required, Validators.minLength(1)]);
 
         this.addProjectForm = fb.group({
             type: this.typeCtrl,
             pathCli: this.pathCliCtrl,
             pathSvr: this.pathSvrCtrl,
-            label: ["", Validators.nullValidator],
+            label: ['', Validators.nullValidator],
         });
     }
 
@@ -57,15 +57,15 @@ export class ProjectAddModalComponent {
             .debounceTime(100)
             .filter(n => n)
             .map(n => {
-                let last = n.split('/');
+                const last = n.split('/');
                 let nm = n;
                 if (last.length > 0) {
                     nm = last.pop();
-                    if (nm === "" && last.length > 0) {
+                    if (nm === '' && last.length > 0) {
                         nm = last.pop();
                     }
                 }
-                return "Project_" + nm;
+                return 'Project_' + nm;
             })
             .subscribe(value => {
                 if (value && !this.userEditedLabel) {
@@ -77,8 +77,8 @@ export class ProjectAddModalComponent {
         this.typeCtrl.valueChanges
             .debounceTime(500)
             .subscribe(valType => {
-                let dis = (valType === String(ProjectType.SYNCTHING));
-                this.pathSvrCtrl.reset({ value: "", disabled: dis });
+                const dis = (valType === String(ProjectType.SYNCTHING));
+                this.pathSvrCtrl.reset({ value: '', disabled: dis });
             });
     }
 
@@ -93,19 +93,19 @@ export class ProjectAddModalComponent {
     }
 
     onKeyLabel(event: any) {
-        this.userEditedLabel = (this.addProjectForm.value.label !== "");
+        this.userEditedLabel = (this.addProjectForm.value.label !== '');
     }
 
     /* FIXME: change input to file type
-     <td><input type="file" id="select-local-path" webkitdirectory
-     formControlName="pathCli" placeholder="myProject" (change)="onChangeLocalProject($event)"></td>
+     <td><input type='file' id='select-local-path' webkitdirectory
+     formControlName='pathCli' placeholder='myProject' (change)='onChangeLocalProject($event)'></td>
 
     onChangeLocalProject(e) {
         if e.target.files.length < 1 {
             console.log('NO files');
         }
         let dir = e.target.files[0].webkitRelativePath;
-        console.log("files: " + dir);
+        console.log('files: ' + dir);
         let u = URL.createObjectURL(e.target.files[0]);
     }
     */
@@ -117,9 +117,9 @@ export class ProjectAddModalComponent {
             return;
         }
 
-        let formVal = this.addProjectForm.value;
+        const formVal = this.addProjectForm.value;
 
-        let type = formVal['type'].value;
+        const type = formVal['type'].value;
         this.projectSvr.Add({
             serverId: this.serverID,
             label: formVal['label'],
@@ -129,12 +129,12 @@ export class ProjectAddModalComponent {
             // FIXME: allow to set defaultSdkID from New Project config panel
         })
             .subscribe(prj => {
-                this.alert.info("Project " + prj.label + " successfully created.");
+                this.alert.info('Project ' + prj.label + ' successfully created.');
                 this.hide();
 
                 // Reset Value for the next creation
                 this.addProjectForm.reset();
-                let selectedType = this.projectTypes[0].value;
+                const selectedType = this.projectTypes[0].value;
                 this.addProjectForm.patchValue({ type: selectedType });
 
             },