feat: add setting page

parent fb64474a
cn.json
\ No newline at end of file
...@@ -2,14 +2,17 @@ ...@@ -2,14 +2,17 @@
<div *ngFor="let m of NavList.List;let i=index" <div *ngFor="let m of NavList.List;let i=index"
[ngClass]="{'active':i==NavList.Active}" [ngClass]="{'active':i==NavList.Active}"
> >
<app-element-term [host]="m.host" <app-element-term [index]="i"
[host]="m.host"
[userid]="m.user.id" [userid]="m.user.id"
[index]="i"
*ngIf="m.type=='ssh'"> *ngIf="m.type=='ssh'">
</app-element-term> </app-element-term>
<app-element-guacamole [host]="m.host" <app-element-guacamole [index]="i"
[userid]="m.user.id" [host]="m.host"
[index]="i" [userid]="m.user.id"
*ngIf="m.type=='rdp'"> *ngIf="m.type=='rdp'">
</app-element-guacamole> </app-element-guacamole>
<app-element-settings [index]="i"
*ngIf="m.type=='settings'">
</app-element-settings>
</div> </div>
...@@ -30,6 +30,7 @@ import {ElementRdpComponent} from './elements/rdp/rdp.component'; ...@@ -30,6 +30,7 @@ import {ElementRdpComponent} from './elements/rdp/rdp.component';
import {ElementServerMenuComponent} from './elements/server-menu/server-menu.component'; import {ElementServerMenuComponent} from './elements/server-menu/server-menu.component';
import {ElementIframeComponent} from './elements/iframe/iframe.component'; import {ElementIframeComponent} from './elements/iframe/iframe.component';
import {ElementElfinderComponent} from './elements/elfinder/elfinder.component'; import {ElementElfinderComponent} from './elements/elfinder/elfinder.component';
import {ElementSettingsComponent} from './elements/settings/settings.component';
// pages // pages
import {LoginComponent} from './BasicPage/login/login.component'; import {LoginComponent} from './BasicPage/login/login.component';
...@@ -97,6 +98,7 @@ import {ConnectPageComponent} from './connect-page/connect-page.component'; ...@@ -97,6 +98,7 @@ import {ConnectPageComponent} from './connect-page/connect-page.component';
ElementOfooterComponent, ElementOfooterComponent,
ElementGuacamoleComponent, ElementGuacamoleComponent,
ElementElfinderComponent, ElementElfinderComponent,
ElementSettingsComponent,
LoginComponent, LoginComponent,
SearchComponent, SearchComponent,
SearchFilter, SearchFilter,
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
import {Component, Inject, OnInit} from '@angular/core'; import {Component, Inject, OnInit} from '@angular/core';
import {AppService, HttpService, LocalStorageService, LogService} from '../../app.service'; import {AppService, HttpService, LocalStorageService, LogService} from '../../app.service';
import {CleftbarComponent} from '../../ControlPage/cleftbar/cleftbar.component'; import {CleftbarComponent} from '../../ControlPage/cleftbar/cleftbar.component';
import {ControlComponent, NavList} from '../../ControlPage/control/control.component'; import {ControlComponent, NavList, View} from '../../ControlPage/control/control.component';
import {DataStore, i18n} from '../../globals'; import {DataStore, i18n} from '../../globals';
import * as jQuery from 'jquery/dist/jquery.min.js'; import * as jQuery from 'jquery/dist/jquery.min.js';
import {MAT_DIALOG_DATA, MatDialog, MatDialogRef} from '@angular/material'; import {MAT_DIALOG_DATA, MatDialog, MatDialogRef} from '@angular/material';
...@@ -53,6 +53,10 @@ export class ElementNavComponent implements OnInit { ...@@ -53,6 +53,10 @@ export class ElementNavComponent implements OnInit {
CleftbarComponent.Hide(); CleftbarComponent.Hide();
break; break;
} }
case 'Settings': {
this.Settings();
break;
}
case 'ShowLeft': { case 'ShowLeft': {
CleftbarComponent.Show(); CleftbarComponent.Show();
break; break;
...@@ -253,10 +257,9 @@ export class ElementNavComponent implements OnInit { ...@@ -253,10 +257,9 @@ export class ElementNavComponent implements OnInit {
'disable': true 'disable': true
}, },
{ {
'id': 'Language', 'id': 'Settings',
'href': '', 'click': 'Settings',
'name': 'Language', 'name': 'Settings'
'disable': true
}] }]
}, { }, {
'id': 'Help', 'id': 'Help',
...@@ -339,6 +342,17 @@ export class ElementNavComponent implements OnInit { ...@@ -339,6 +342,17 @@ export class ElementNavComponent implements OnInit {
} }
location.reload(); location.reload();
} }
Settings() {
const id = NavList.List.length - 1;
NavList.List[id].nick = 'Setting';
NavList.List[id].connected = true;
NavList.List[id].edit = false;
NavList.List[id].closed = false;
NavList.List[id].type = 'settings';
NavList.List.push(new View());
NavList.Active = id;
}
} }
......
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { ElementSettingsComponent } from './settings.component';
describe('ElementSettingsComponent', () => {
let component: ElementSettingsComponent;
let fixture: ComponentFixture<ElementSettingsComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ ElementSettingsComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(ElementSettingsComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
import {Component, Input, OnInit} from '@angular/core';
@Component({
selector: 'app-element-settings',
templateUrl: './settings.component.html',
styleUrls: ['./settings.component.scss']
})
export class ElementSettingsComponent implements OnInit {
@Input() index: number;
constructor() {
}
ngOnInit() {
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment