diff options
Diffstat (limited to 'webapp/src/app/pages/build/settings-modal/build-settings-modal.component.ts')
-rw-r--r-- | webapp/src/app/pages/build/settings-modal/build-settings-modal.component.ts | 143 |
1 files changed, 0 insertions, 143 deletions
diff --git a/webapp/src/app/pages/build/settings-modal/build-settings-modal.component.ts b/webapp/src/app/pages/build/settings-modal/build-settings-modal.component.ts deleted file mode 100644 index fd1b904..0000000 --- a/webapp/src/app/pages/build/settings-modal/build-settings-modal.component.ts +++ /dev/null @@ -1,143 +0,0 @@ -import { Component, Input, ViewChild, OnInit } from '@angular/core'; -import { Observable } from 'rxjs/Observable'; -import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; -import { FormControl, FormGroup, Validators, ValidationErrors, FormBuilder, ValidatorFn, AbstractControl } from '@angular/forms'; - -// Import RxJs required methods -import 'rxjs/add/operator/map'; -import 'rxjs/add/operator/filter'; -import 'rxjs/add/operator/debounceTime'; - -import { AlertService, IAlert } from '../../../@core-xds/services/alert.service'; -import { ProjectService, IProject, ProjectType, ProjectTypes } from '../../../@core-xds/services/project.service'; -import { XDSConfigService } from '../../../@core-xds/services/xds-config.service'; - - -@Component({ - selector: 'xds-build-settings-modal', - templateUrl: 'build-settings-modal.component.html', - styleUrls: ['build-settings-modal.component.scss'], -}) -export class BuildSettingsModalComponent implements OnInit { - // @Input('server-id') serverID: string; - private serverID: string; - - cancelAction = false; - userEditedLabel = false; - projectTypes = ProjectTypes; - - addProjectForm: FormGroup; - typeCtrl: FormControl; - pathCliCtrl: FormControl; - pathSvrCtrl: FormControl; - - constructor( - private alert: AlertService, - private projectSvr: ProjectService, - private XdsConfigSvr: XDSConfigService, - private fb: FormBuilder, - private activeModal: NgbActiveModal, - ) { - // Define types (first one is special/placeholder) - this.projectTypes.unshift({ value: ProjectType.UNSET, display: '--Select a type--' }); - - this.typeCtrl = new FormControl(this.projectTypes[0].value, this.validatorProjType); - this.pathCliCtrl = new FormControl('', this.validatorProjPath); - this.pathSvrCtrl = new FormControl({ value: '', disabled: true }, this.validatorProjPath); - - this.addProjectForm = fb.group({ - type: this.typeCtrl, - pathCli: this.pathCliCtrl, - pathSvr: this.pathSvrCtrl, - label: ['', Validators.nullValidator], - }); - } - - - ngOnInit() { - // Update server ID - this.serverID = this.XdsConfigSvr.getCurServer().id; - this.XdsConfigSvr.onCurServer().subscribe(svr => this.serverID = svr.id); - - // Auto create label name - this.pathCliCtrl.valueChanges - .debounceTime(100) - .filter(n => n) - .map(n => { - const last = n.split('/'); - let nm = n; - if (last.length > 0) { - nm = last.pop(); - if (nm === '' && last.length > 0) { - nm = last.pop(); - } - } - return 'Project_' + nm; - }) - .subscribe(value => { - if (value && !this.userEditedLabel) { - this.addProjectForm.patchValue({ label: value }); - } - }); - - // Handle disabling of Server path - this.typeCtrl.valueChanges - .debounceTime(500) - .subscribe(valType => { - const dis = (valType === String(ProjectType.SYNCTHING)); - this.pathSvrCtrl.reset({ value: '', disabled: dis }); - }); - } - - closeModal() { - this.activeModal.close(); - } - - onKeyLabel(event: any) { - this.userEditedLabel = (this.addProjectForm.value.label !== ''); - } - - onChangeLocalProject(e) { - } - - onSubmit() { - if (this.cancelAction) { - return; - } - - const formVal = this.addProjectForm.value; - - const type = formVal['type'].value; - this.projectSvr.add({ - serverId: this.serverID, - label: formVal['label'], - pathClient: formVal['pathCli'], - pathServer: formVal['pathSvr'], - type: formVal['type'], - // FIXME: allow to set defaultSdkID from New Project config panel - }) - .subscribe(prj => { - this.alert.info('Project ' + prj.label + ' successfully created.'); - this.closeModal(); - - // Reset Value for the next creation - this.addProjectForm.reset(); - const selectedType = this.projectTypes[0].value; - this.addProjectForm.patchValue({ type: selectedType }); - - }, - err => { - this.alert.error(err, 60); - this.closeModal(); - }); - } - - private validatorProjType(g: FormGroup): ValidationErrors | null { - return (g.value !== ProjectType.UNSET) ? null : { validatorProjType: { valid: false } }; - } - - private validatorProjPath(g: FormGroup): ValidationErrors | null { - return (g.disabled || g.value !== '') ? null : { validatorProjPath: { valid: false } }; - } - -} |