diff options
Diffstat (limited to 'webapp/src/app/pages')
25 files changed, 403 insertions, 151 deletions
diff --git a/webapp/src/app/pages/build/build-settings-modal/build-settings-modal.component.html b/webapp/src/app/pages/build/build-settings-modal/build-settings-modal.component.html new file mode 100644 index 0000000..7dd2ec7 --- /dev/null +++ b/webapp/src/app/pages/build/build-settings-modal/build-settings-modal.component.html @@ -0,0 +1,60 @@ +<div class="modal-header"> + <span>Build Settings</span> + <button class="close" aria-label="Close" (click)="closeModal()"> + <span aria-hidden="true">×</span> + </button> +</div> + +<div class="modal-body row"> + <div class="col-12"> + <form [formGroup]="settingsProjectForm" (ngSubmit)="onSubmit()"> + + <div class="form-group row"> + <label for="clean-cmd" class="col-sm-3 col-form-label">Clean command</label> + <div class="col-sm-9"> + <input type="text" id="inputCleanCmd" class="form-control" formControlName="cmdClean"> + </div> + </div> + + <div class="form-group row"> + <label for="prebuild-cmd" class="col-sm-3 col-form-label">Pre-Build command</label> + <div class="col-sm-9"> + <input type="text" id="inputPrebuildCmd" class="form-control" formControlName="cmdPrebuild"> + </div> + </div> + + <div class="form-group row"> + <label for="build-cmd" class="col-sm-3 col-form-label">Build command</label> + <div class="col-sm-9"> + <input type="text" id="inputBuildCmd" class="form-control" formControlName="cmdBuild"> + </div> + </div> + + <div class="form-group row"> + <label for="populate-cmd" class="col-sm-3 col-form-label">Populate command</label> + <div class="col-sm-9"> + <input type="text" id="inputPopulateCmd" class="form-control" formControlName="cmdPopulate"> + </div> + </div> + + <div class="form-group row"> + <label for="envvars-cmd" class="col-sm-3 col-form-label">Env variables</label> + <div class="col-sm-9"> + <input type="text" id="inputEnvVars" class="form-control" formControlName="envVars"> + </div> + </div> + + <div class="offset-sm-9 col-sm-9"> + <button class="btn btn-sm btn-hero-secondary" (click)="closeAction=false; resetDefault()">Reset settings</button> + </div> + </form> + </div> +</div> +<div class="modal-footer form-group"> + <div class="col-12"> + <div class="offset-sm-4 col-sm-6"> + <button class="btn btn-md btn-secondary" (click)="closeAction=false; closeModal()"> Cancel </button> + <button class="btn btn-md btn-primary" [disabled]="!settingsProjectForm.valid" (click)="closeAction=true; onSubmit()">Update</button> + </div> + </div> +</div> diff --git a/webapp/src/app/pages/build/build-settings-modal/build-settings-modal.component.ts b/webapp/src/app/pages/build/build-settings-modal/build-settings-modal.component.ts new file mode 100644 index 0000000..01c6d1e --- /dev/null +++ b/webapp/src/app/pages/build/build-settings-modal/build-settings-modal.component.ts @@ -0,0 +1,77 @@ +import { Component, Input, 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 { AlertService } from '../../../@core-xds/services/alert.service'; +import { ProjectService, IProject } from '../../../@core-xds/services/project.service'; + + +@Component({ + selector: 'xds-build-settings-modal', + templateUrl: 'build-settings-modal.component.html', +}) + +export class BuildSettingsModalComponent implements OnInit { + // @Input('server-id') serverID: string; + private serverID: string; + + closeAction = false; + userEditedLabel = false; + + settingsProjectForm: FormGroup; + subpathCtrl = new FormControl('', Validators.nullValidator); + + private curPrj: IProject; + + constructor( + private alert: AlertService, + private projectSvr: ProjectService, + private fb: FormBuilder, + private activeModal: NgbActiveModal, + ) { + this.settingsProjectForm = fb.group({ + subpath: this.subpathCtrl, + cmdClean: ['', Validators.required], + cmdPrebuild: ['', Validators.nullValidator], + cmdBuild: ['', Validators.required], + cmdPopulate: ['', Validators.nullValidator], + cmdArgs: ['', Validators.nullValidator], + envVars: ['', Validators.nullValidator], + }); + } + + ngOnInit() { + this.curPrj = this.projectSvr.getCurrent(); + this.settingsProjectForm.patchValue(this.curPrj.uiSettings); + } + + closeModal() { + this.activeModal.close(); + } + + resetDefault() { + this.settingsProjectForm.patchValue(this.projectSvr.getDefaultSettings()); + } + + onSubmit() { + if (!this.closeAction) { + return; + } + + this.curPrj.uiSettings = this.settingsProjectForm.value; + this.projectSvr.setSettings(this.curPrj) + .subscribe(prj => { + this.alert.info('Settings of project "' + prj.label + '" successfully updated.'); + this.closeModal(); + + // Reset Value for the next creation + this.settingsProjectForm.reset(); + }, + err => { + this.alert.error(err, 60); + this.closeModal(); + }); + } + +} diff --git a/webapp/src/app/pages/build/build.component.html b/webapp/src/app/pages/build/build.component.html index a1ef62d..1ce9484 100644 --- a/webapp/src/app/pages/build/build.component.html +++ b/webapp/src/app/pages/build/build.component.html @@ -11,43 +11,48 @@ </nb-actions> </nb-card-body> </div> - <div class="col-md-12 col-lg-12 col-xxxl-6"> + <div class="col-md-12 col-lg-12"> <nb-card size="xlarge"> <nb-tabset fullWidth> - <nb-tab tabTitle="Build"> + <nb-tab tabTitle="Build" style="overflow: hidden;"> - <div class="row" style="margin-top:1em;"> - <!-- FIXME SEB - <button class="btn pull-right " (click)="reset() "> - <span class="fa fa-eraser fa-size-x2"></span> - </button> - --> - <div class="col-md-12 text-center "> - <textarea rows="20" class="textarea-scroll" #scrollOutput>{{ cmdOutput }}</textarea> - </div> + <div class="offset-md-10 col-md-2 right"> + <i class="control-icon fa fa-eraser" (click)="resetOutput()"> + </i> + </div> + <div class="col-md-12 text-center "> + <textarea rows="20" class="textarea-scroll" #scrollOutput>{{ cmdOutput }}</textarea> </div> <nb-card-body> - <nb-actions size="medium" fullWidth> - <nb-action (click)="clean()"> - <i class="fa fa-eraser"></i> - <span>Clean</span> - </nb-action> - <nb-action (click)="preBuild()"> - <i class="nb-list"></i> - <span>Pre-Build</span> - </nb-action> - <nb-action (click)="build()"> - <i class="fa fa-wrench"></i> - <span>Build</span> - </nb-action> - <nb-action (click)="populate()"> - <i class="fa fa-send"></i> - <span>Populate</span> - </nb-action> - </nb-actions> - </nb-card-body> + <nb-actions size="medium" fullWidth> + <nb-action (click)="settingsShow()"> + <i class="fa fa-cog"></i> + <span>Settings</span> + </nb-action> + + <nb-action> + </nb-action> + + <nb-action (click)="clean()"> + <i class="fa fa-eraser"></i> + <span>Clean</span> + </nb-action> + <nb-action (click)="preBuild()"> + <i class="nb-list"></i> + <span>Pre-Build</span> + </nb-action> + <nb-action (click)="build()"> + <i class="fa fa-wrench"></i> + <span>Build</span> + </nb-action> + <nb-action (click)="populate()"> + <i class="fa fa-send"></i> + <span>Populate</span> + </nb-action> + </nb-actions> + </nb-card-body> </nb-tab> diff --git a/webapp/src/app/pages/build/build.component.scss b/webapp/src/app/pages/build/build.component.scss index b256f66..5308f3f 100644 --- a/webapp/src/app/pages/build/build.component.scss +++ b/webapp/src/app/pages/build/build.component.scss @@ -23,6 +23,12 @@ } } +.right { + display: flex; + flex-direction: row-reverse; + padding-right: 30px; +} + nb-action { i { font-size: 2rem; diff --git a/webapp/src/app/pages/build/build.component.spec.ts b/webapp/src/app/pages/build/build.component.spec.ts index 016192c..a676a66 100644 --- a/webapp/src/app/pages/build/build.component.spec.ts +++ b/webapp/src/app/pages/build/build.component.spec.ts @@ -8,7 +8,7 @@ describe('BuildComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ BuildComponent ] + declarations: [ BuildComponent ], }) .compileComponents(); })); diff --git a/webapp/src/app/pages/build/build.component.ts b/webapp/src/app/pages/build/build.component.ts index 5adb9bc..99b7e54 100644 --- a/webapp/src/app/pages/build/build.component.ts +++ b/webapp/src/app/pages/build/build.component.ts @@ -1,11 +1,13 @@ import { Component, ViewEncapsulation, AfterViewChecked, ElementRef, ViewChild, OnInit, Input } from '@angular/core'; import { Observable } from 'rxjs/Observable'; import { FormControl, FormGroup, Validators, FormBuilder } from '@angular/forms'; -import { CookieService } from 'ngx-cookie'; +import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; import 'rxjs/add/operator/scan'; import 'rxjs/add/operator/startWith'; +import { BuildSettingsModalComponent } from './build-settings-modal/build-settings-modal.component'; + import { XDSAgentService, ICmdOutput } from '../../@core-xds/services/xdsagent.service'; import { ProjectService, IProject } from '../../@core-xds/services/project.service'; import { AlertService, IAlert } from '../../@core-xds/services/alert.service'; @@ -26,9 +28,6 @@ export class BuildComponent implements OnInit, AfterViewChecked { // @Input() curProject: IProject; @Input() curProject = <IProject>null; - public buildForm: FormGroup; - public subpathCtrl = new FormControl('', Validators.required); - public debugEnable = false; public buildIsCollapsed = false; public cmdOutput: string; public cmdInfo: string; @@ -38,37 +37,16 @@ export class BuildComponent implements OnInit, AfterViewChecked { constructor( private prjSvr: ProjectService, private xdsSvr: XDSAgentService, - private fb: FormBuilder, private alertSvr: AlertService, private sdkSvr: SdkService, - private cookie: CookieService, + private modalService: NgbModal, ) { this.cmdOutput = ''; this.cmdInfo = ''; // TODO: to be remove (only for debug) - this.buildForm = fb.group({ - subpath: this.subpathCtrl, - cmdClean: ['', Validators.nullValidator], - cmdPrebuild: ['', Validators.nullValidator], - cmdBuild: ['', Validators.nullValidator], - cmdPopulate: ['', Validators.nullValidator], - cmdArgs: ['', Validators.nullValidator], - envVars: ['', Validators.nullValidator], - }); + } ngOnInit() { - // Set default settings - // TODO save & restore values from cookies - this.buildForm.patchValue({ - subpath: '', - cmdClean: 'rm -rf build', - cmdPrebuild: 'mkdir -p build && cd build && cmake ..', - cmdBuild: 'cd build && make', - cmdPopulate: 'cd build && make remote-target-populate', - cmdArgs: '', - envVars: '', - }); - // Command output data tunneling this.xdsSvr.CmdOutput$.subscribe(data => { this.cmdOutput += data.stdout; @@ -88,70 +66,77 @@ export class BuildComponent implements OnInit, AfterViewChecked { }); this._scrollToBottom(); - - // only use for debug - this.debugEnable = (this.cookie.get('debug_build') === '1'); } ngAfterViewChecked() { this._scrollToBottom(); } - reset() { + resetOutput() { this.cmdOutput = ''; } + settingsShow() { + const activeModal = this.modalService.open(BuildSettingsModalComponent, { size: 'lg', container: 'nb-layout' }); + activeModal.componentInstance.modalHeader = 'Large Modal'; + } + clean() { + const curPrj = this.prjSvr.getCurrent(); this._exec( - this.buildForm.value.cmdClean, - this.buildForm.value.subpath, + curPrj.uiSettings.cmdClean, + curPrj.uiSettings.subpath, [], - this.buildForm.value.envVars); + curPrj.uiSettings.envVars.join(' ')); } preBuild() { + const curPrj = this.prjSvr.getCurrent(); this._exec( - this.buildForm.value.cmdPrebuild, - this.buildForm.value.subpath, + curPrj.uiSettings.cmdPrebuild, + curPrj.uiSettings.subpath, [], - this.buildForm.value.envVars); + curPrj.uiSettings.envVars.join(' ')); } build() { + const curPrj = this.prjSvr.getCurrent(); this._exec( - this.buildForm.value.cmdBuild, - this.buildForm.value.subpath, + curPrj.uiSettings.cmdBuild, + curPrj.uiSettings.subpath, [], - this.buildForm.value.envVars + curPrj.uiSettings.envVars.join(' '), ); } populate() { + const curPrj = this.prjSvr.getCurrent(); this._exec( - this.buildForm.value.cmdPopulate, - this.buildForm.value.subpath, + curPrj.uiSettings.cmdPopulate, + curPrj.uiSettings.subpath, [], // args - this.buildForm.value.envVars + curPrj.uiSettings.envVars.join(' '), ); } execCmd() { + const curPrj = this.prjSvr.getCurrent(); this._exec( - this.buildForm.value.cmdArgs, - this.buildForm.value.subpath, + curPrj.uiSettings.cmdArgs.join(' '), + curPrj.uiSettings.subpath, [], - this.buildForm.value.envVars + curPrj.uiSettings.envVars.join(' '), ); } private _exec(cmd: string, dir: string, args: string[], env: string) { + this.curProject = this.prjSvr.getCurrent(); + const prjID = this.curProject.id; + if (!this.curProject) { - this.alertSvr.warning('No active project', true); + return this.alertSvr.warning('No active project', true); } - // const prjID = this.curProject.id; - const prjID = this.prjSvr.getCurrent().id; - this.cmdOutput += this._outputHeader(); const sdkid = this.sdkSvr.getCurrentId(); diff --git a/webapp/src/app/pages/build/build.module.ts b/webapp/src/app/pages/build/build.module.ts index ac1dfab..34f05f2 100644 --- a/webapp/src/app/pages/build/build.module.ts +++ b/webapp/src/app/pages/build/build.module.ts @@ -2,6 +2,7 @@ import { NgModule } from '@angular/core'; import { ThemeModule } from '../../@theme/theme.module'; import { BuildComponent } from './build.component'; +import { BuildSettingsModalComponent } from './build-settings-modal/build-settings-modal.component'; import { ProjectSelectDropdownComponent } from './settings/project-select-dropdown.component'; import { SdkSelectDropdownComponent } from './settings/sdk-select-dropdown.component'; @@ -11,10 +12,12 @@ import { SdkSelectDropdownComponent } from './settings/sdk-select-dropdown.compo ], declarations: [ BuildComponent, + BuildSettingsModalComponent, ProjectSelectDropdownComponent, SdkSelectDropdownComponent, ], entryComponents: [ + BuildSettingsModalComponent, ], }) export class BuildModule { } 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 new file mode 100644 index 0000000..fd1b904 --- /dev/null +++ b/webapp/src/app/pages/build/settings-modal/build-settings-modal.component.ts @@ -0,0 +1,143 @@ +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 } }; + } + +} diff --git a/webapp/src/app/pages/build/settings/project-select-dropdown.component.ts b/webapp/src/app/pages/build/settings/project-select-dropdown.component.ts index da3580a..a83ec0a 100644 --- a/webapp/src/app/pages/build/settings/project-select-dropdown.component.ts +++ b/webapp/src/app/pages/build/settings/project-select-dropdown.component.ts @@ -1,4 +1,5 @@ import { Component, OnInit, Input } from '@angular/core'; +import { Observable } from 'rxjs/Observable'; import { IProject, ProjectService } from '../../../@core-xds/services/project.service'; @@ -7,33 +8,27 @@ import { IProject, ProjectService } from '../../../@core-xds/services/project.se template: ` <div class="form-group"> <label>Project</label> - <select class="form-control"> - <option *ngFor="let prj of projects" (click)="select(prj)">{{prj.label}}</option> + <select class="form-control" [(ngModel)]="curPrj" (click)="select()"> + <option *ngFor="let prj of projects$ | async" [ngValue]="prj">{{ prj.label }}</option> </select> </div> `, }) export class ProjectSelectDropdownComponent implements OnInit { - projects: IProject[]; + projects$: Observable<IProject[]>; curPrj: IProject; - constructor(private prjSvr: ProjectService) { } + constructor(private projectSvr: ProjectService) { } ngOnInit() { - this.curPrj = this.prjSvr.getCurrent(); - this.prjSvr.Projects$.subscribe((s) => { - if (s) { - this.projects = s; - if (this.curPrj === null || s.indexOf(this.curPrj) === -1) { - this.prjSvr.setCurrent(this.curPrj = s.length ? s[0] : null); - } - } - }); + this.curPrj = this.projectSvr.getCurrent(); + this.projects$ = this.projectSvr.projects$; + this.projectSvr.curProject$.subscribe(p => this.curPrj = p); } - select(s) { - this.prjSvr.setCurrent(this.curPrj = s); + select() { + this.projectSvr.setCurrentById(this.curPrj.id); } } diff --git a/webapp/src/app/pages/config/config-xds/downloadXdsAgent.component.ts b/webapp/src/app/pages/config/config-xds/downloadXdsAgent.component.ts index 3901331..556316c 100644 --- a/webapp/src/app/pages/config/config-xds/downloadXdsAgent.component.ts +++ b/webapp/src/app/pages/config/config-xds/downloadXdsAgent.component.ts @@ -2,6 +2,8 @@ import { Component } from '@angular/core'; @Component({ selector: 'xds-dwnl-agent', + template: ``, + /* FIXME SEB: to be reworked template: ` <template #popTemplate> <h3>Install xds-agent:</h3> @@ -25,7 +27,8 @@ import { Component } from '@angular/core'; .fa-size-x2 { font-size: 20px; } - `] + `], + */ }) export class DwnlAgentComponent { diff --git a/webapp/src/app/pages/config/config.module.ts b/webapp/src/app/pages/config/config.module.ts index 2fdaf94..d11bcf3 100644 --- a/webapp/src/app/pages/config/config.module.ts +++ b/webapp/src/app/pages/config/config.module.ts @@ -10,6 +10,6 @@ import { ConfigRoutingModule, routedConfig } from './config-routing.module'; ], declarations: [ ...routedConfig, - ] + ], }) export class ConfigModule { } diff --git a/webapp/src/app/pages/projects/project-add-modal/project-add-modal.component.html b/webapp/src/app/pages/projects/project-add-modal/project-add-modal.component.html index e2c6748..9d26c71 100644 --- a/webapp/src/app/pages/projects/project-add-modal/project-add-modal.component.html +++ b/webapp/src/app/pages/projects/project-add-modal/project-add-modal.component.html @@ -39,13 +39,14 @@ <input type="text" id="inputLabel" class="form-control" formControlName="label" (keyup)="onKeyLabel($event)"> </div> </div> - - <div class="offset-sm-3 col-sm-9"> - <button class="btn btn-md btn-secondary" (click)="cancelAction=true; closeModal()"> Cancel </button> - <button class="btn btn-md btn-primary" type="submit" [disabled]="!addProjectForm.valid">Add Folder</button> - </div> </form> </div> </div> <div class="modal-footer form-group"> + <div class="col-12"> + <div class="offset-sm-4 col-sm-6"> + <button class="btn btn-md btn-secondary" (click)="cancelAction=true; closeModal()"> Cancel </button> + <button class="btn btn-md btn-primary" (click)="onSubmit()" [disabled]="!addProjectForm.valid">Add Folder</button> + </div> + </div> </div> diff --git a/webapp/src/app/pages/projects/project-add-modal/project-add-modal.component.ts b/webapp/src/app/pages/projects/project-add-modal/project-add-modal.component.ts index 640ac5c..15b1b24 100644 --- a/webapp/src/app/pages/projects/project-add-modal/project-add-modal.component.ts +++ b/webapp/src/app/pages/projects/project-add-modal/project-add-modal.component.ts @@ -16,7 +16,7 @@ import { XDSConfigService } from '../../../@core-xds/services/xds-config.service @Component({ selector: 'xds-project-add-modal', templateUrl: 'project-add-modal.component.html', - styleUrls: ['project-add-modal.component.scss'] + styleUrls: ['project-add-modal.component.scss'], }) export class ProjectAddModalComponent implements OnInit { // @Input('server-id') serverID: string; @@ -24,7 +24,7 @@ export class ProjectAddModalComponent implements OnInit { cancelAction = false; userEditedLabel = false; - projectTypes = ProjectTypes; + projectTypes = Object.assign([], ProjectTypes); addProjectForm: FormGroup; typeCtrl: FormControl; @@ -36,7 +36,7 @@ export class ProjectAddModalComponent implements OnInit { private projectSvr: ProjectService, private XdsConfigSvr: XDSConfigService, private fb: FormBuilder, - private activeModal: NgbActiveModal + private activeModal: NgbActiveModal, ) { // Define types (first one is special/placeholder) this.projectTypes.unshift({ value: ProjectType.UNSET, display: '--Select a type--' }); @@ -108,7 +108,7 @@ export class ProjectAddModalComponent implements OnInit { const formVal = this.addProjectForm.value; const type = formVal['type'].value; - this.projectSvr.Add({ + this.projectSvr.add({ serverId: this.serverID, label: formVal['label'], pathClient: formVal['pathCli'], diff --git a/webapp/src/app/pages/projects/project-card/project-card.component.scss b/webapp/src/app/pages/projects/project-card/project-card.component.scss index a433f58..6ac8d11 100644 --- a/webapp/src/app/pages/projects/project-card/project-card.component.scss +++ b/webapp/src/app/pages/projects/project-card/project-card.component.scss @@ -13,11 +13,6 @@ nb-card-footer { text-align: right; } -.fa-big { - font-size: 20px; - font-weight: bold; -} - .fa-size-x2 { font-size: 20px; } @@ -31,14 +26,6 @@ th label { margin-bottom: 0; } -tr.info>th { - vertical-align: middle; -} - -tr.info>td { - vertical-align: middle; -} - .btn-outline-danger.btn-xds { color: #ff4c6a; &:focus { diff --git a/webapp/src/app/pages/projects/project-card/project-card.component.ts b/webapp/src/app/pages/projects/project-card/project-card.component.ts index 160c4c8..840d656 100644 --- a/webapp/src/app/pages/projects/project-card/project-card.component.ts +++ b/webapp/src/app/pages/projects/project-card/project-card.component.ts @@ -17,28 +17,28 @@ export class ProjectCardComponent { constructor( private alert: AlertService, - private projectSvr: ProjectService + private projectSvr: ProjectService, ) { } delete(prj: IProject) { - this.projectSvr.Delete(prj).subscribe( + this.projectSvr.delete(prj).subscribe( res => { }, - err => this.alert.error('ERROR delete: ' + err) + err => this.alert.error('ERROR delete: ' + err), ); } sync(prj: IProject) { - this.projectSvr.Sync(prj).subscribe( + this.projectSvr.sync(prj).subscribe( res => { }, - err => this.alert.error('ERROR: ' + err) + err => this.alert.error('ERROR: ' + err), ); } } // Make Project type human readable @Pipe({ - name: 'readableType' + name: 'readableType', }) export class ProjectReadableTypePipe implements PipeTransform { diff --git a/webapp/src/app/pages/projects/projects.component.html b/webapp/src/app/pages/projects/projects.component.html index 662dfcc..ecce824 100644 --- a/webapp/src/app/pages/projects/projects.component.html +++ b/webapp/src/app/pages/projects/projects.component.html @@ -20,7 +20,7 @@ </div> </nb-card-body> </div> - <div class="col-md-12 col-lg-12 col-xxxl-6" *ngFor="let prj of (projects$ | async)"> + <div class="col-md-6 col-lg-6" *ngFor="let prj of (projects$ | async)"> <xds-project-card [project]="prj"></xds-project-card> </div> </div> diff --git a/webapp/src/app/pages/projects/projects.component.scss b/webapp/src/app/pages/projects/projects.component.scss index 3631fbb..92a8807 100644 --- a/webapp/src/app/pages/projects/projects.component.scss +++ b/webapp/src/app/pages/projects/projects.component.scss @@ -25,7 +25,7 @@ order: 1; flex-direction: row-reverse; } - nb-actions>nb-action { + nb-actions > nb-action { padding: 0; } nb-action { diff --git a/webapp/src/app/pages/projects/projects.component.ts b/webapp/src/app/pages/projects/projects.component.ts index 179bbd0..761ff50 100644 --- a/webapp/src/app/pages/projects/projects.component.ts +++ b/webapp/src/app/pages/projects/projects.component.ts @@ -23,7 +23,7 @@ export class ProjectsComponent implements OnInit { } ngOnInit() { - this.projects$ = this.projectSvr.Projects$; + this.projects$ = this.projectSvr.projects$; } add() { diff --git a/webapp/src/app/pages/projects/projects.module.ts b/webapp/src/app/pages/projects/projects.module.ts index 48f37ce..960a2da 100644 --- a/webapp/src/app/pages/projects/projects.module.ts +++ b/webapp/src/app/pages/projects/projects.module.ts @@ -17,7 +17,7 @@ import { ProjectAddModalComponent } from './project-add-modal/project-add-modal. ProjectReadableTypePipe, ], entryComponents: [ - ProjectAddModalComponent + ProjectAddModalComponent, ], }) export class ProjectsModule { } diff --git a/webapp/src/app/pages/sdks/sdk-card/sdk-card.component.scss b/webapp/src/app/pages/sdks/sdk-card/sdk-card.component.scss index e404610..a83cca4 100644 --- a/webapp/src/app/pages/sdks/sdk-card/sdk-card.component.scss +++ b/webapp/src/app/pages/sdks/sdk-card/sdk-card.component.scss @@ -13,11 +13,6 @@ nb-card-footer { text-align: right; } -.fa-big { - font-size: 20px; - font-weight: bold; -} - .fa-size-x2 { font-size: 20px; } @@ -31,14 +26,6 @@ th label { margin-bottom: 0; } -tr.info>th { - vertical-align: middle; -} - -tr.info>td { - vertical-align: middle; -} - .btn-outline-danger.btn-xds { color: #ff4c6a; &:focus { diff --git a/webapp/src/app/pages/sdks/sdk-card/sdk-card.component.ts b/webapp/src/app/pages/sdks/sdk-card/sdk-card.component.ts index 8228570..7135d36 100644 --- a/webapp/src/app/pages/sdks/sdk-card/sdk-card.component.ts +++ b/webapp/src/app/pages/sdks/sdk-card/sdk-card.component.ts @@ -17,7 +17,7 @@ export class SdkCardComponent { constructor( private alert: AlertService, - private sdkSvr: SdkService + private sdkSvr: SdkService, ) { } @@ -28,7 +28,7 @@ export class SdkCardComponent { delete(sdk: ISdk) { this.sdkSvr.delete(sdk).subscribe( res => { }, - err => this.alert.error('ERROR delete: ' + err) + err => this.alert.error('ERROR delete: ' + err), ); } } diff --git a/webapp/src/app/pages/sdks/sdks.component.html b/webapp/src/app/pages/sdks/sdks.component.html index adfd924..94c2501 100644 --- a/webapp/src/app/pages/sdks/sdks.component.html +++ b/webapp/src/app/pages/sdks/sdks.component.html @@ -20,7 +20,7 @@ </div> </nb-card-body> </div> - <div class="col-md-12 col-lg-12 col-xxxl-6" *ngFor="let sdk of (sdks$ | async)"> + <div class="col-md-6 col-lg-6" *ngFor="let sdk of (sdks$ | async)"> <xds-sdk-card [sdk]="sdk"></xds-sdk-card> </div> </div> diff --git a/webapp/src/app/pages/sdks/sdks.component.scss b/webapp/src/app/pages/sdks/sdks.component.scss index 3631fbb..92a8807 100644 --- a/webapp/src/app/pages/sdks/sdks.component.scss +++ b/webapp/src/app/pages/sdks/sdks.component.scss @@ -25,7 +25,7 @@ order: 1; flex-direction: row-reverse; } - nb-actions>nb-action { + nb-actions > nb-action { padding: 0; } nb-action { diff --git a/webapp/src/app/pages/sdks/sdks.component.ts b/webapp/src/app/pages/sdks/sdks.component.ts index 3208121..ef933af 100644 --- a/webapp/src/app/pages/sdks/sdks.component.ts +++ b/webapp/src/app/pages/sdks/sdks.component.ts @@ -2,7 +2,7 @@ import { Component, OnInit } from '@angular/core'; import { Observable } from 'rxjs/Observable'; import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; -//import { SdkAddModalComponent } from './sdk-add-modal/sdk-add-modal.component'; +// import { SdkAddModalComponent } from './sdk-add-modal/sdk-add-modal.component'; import { SdkService, ISdk } from '../../@core-xds/services/sdk.service'; diff --git a/webapp/src/app/pages/sdks/sdks.module.ts b/webapp/src/app/pages/sdks/sdks.module.ts index 48629f6..c811eb4 100644 --- a/webapp/src/app/pages/sdks/sdks.module.ts +++ b/webapp/src/app/pages/sdks/sdks.module.ts @@ -3,7 +3,7 @@ import { ThemeModule } from '../../@theme/theme.module'; import { SdksComponent } from './sdks.component'; import { SdkCardComponent } from './sdk-card/sdk-card.component'; -//import { SdkAddModalComponent } from './sdk-add-modal/sdk-add-modal.component'; +// import { SdkAddModalComponent } from './sdk-add-modal/sdk-add-modal.component'; @NgModule({ @@ -13,10 +13,10 @@ import { SdkCardComponent } from './sdk-card/sdk-card.component'; declarations: [ SdksComponent, SdkCardComponent, - //SdkAddModalComponent, + // SdkAddModalComponent, ], entryComponents: [ - //SdkAddModalComponent + // SdkAddModalComponent, ], }) export class SdksModule { } |