Commit a4da2f50 authored by zheng liu's avatar zheng liu

Merged in test (pull request #50)

Test
parents 0c61a4ed 12f3e829
......@@ -84,6 +84,9 @@ class SSHws(Namespace):
self.leave_room(room=self.clients[request.sid]["room"])
join_room(room)
def on_token(self, token):
print(token)
def on_disconnect(self):
print("disconnect")
for connection in self.clients[request.sid]["chan"]:
......
......@@ -258,6 +258,14 @@
"integrity": "sha512-Yj/y5XrBBXbtwnZ6HJOBl/0XS/JBvVlHb1UWw5MIrsc81k7/eFiRAIKzmGpAba+Sw0G0dO22ABZ4yJjAMsML6A==",
"dev": true
},
"@angular/material": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/@angular/material/-/material-5.1.1.tgz",
"integrity": "sha512-RC3xkbX35daNq4w+XBmm+Vgi16TJvLbSkw5xkdxCqLSysFx9ymwDOjUbLeHt2nJtvYWvnSjuVukdSAeaBknTFg==",
"requires": {
"tslib": "1.8.1"
}
},
"@angular/platform-browser": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-5.2.0.tgz",
......
......@@ -19,6 +19,7 @@
"@angular/core": "5.2.0",
"@angular/forms": "5.2.0",
"@angular/http": "5.2.0",
"@angular/material": "^5.1.1",
"@angular/platform-browser": "5.2.0",
"@angular/platform-browser-dynamic": "5.2.0",
"@angular/router": "5.2.0",
......@@ -61,9 +62,9 @@
"socket.io-client": "^2.0.4",
"ssh-keygen": "^0.4.1",
"tether": "^1.4.0",
"tslib": "1.8.1",
"uuid-js": "^0.7.5",
"xterm": "^2.9.2",
"tslib": "1.8.1",
"zone.js": "0.8.20"
},
"devDependencies": {
......
......@@ -15,7 +15,7 @@ import {version} from '../../../environments/environment';
import * as jQuery from 'jquery/dist/jquery.min.js';
import {ElementServerMenuComponent} from '../../elements/server-menu/server-menu.component';
import {NavList, View} from '../control/control.component';
import {LayerService} from '../../elements/layer/layer.service';
import {DialogService} from '../../elements/dialog/dialog.service';
export interface HostGroup {
......@@ -83,7 +83,7 @@ export class CleftbarComponent implements OnInit {
private _search: SearchComponent,
private _logger: LogService,
private _menu: ElementServerMenuComponent,
private _layer: LayerService) {
private _dialog: DialogService) {
this._logger.log('nav.ts:NavComponent');
// this._appService.getnav()
}
......@@ -126,7 +126,7 @@ export class CleftbarComponent implements OnInit {
for (const u of host.system_users_granted) {
options += '<option value="' + u.id + '">' + u.username + '</option>';
}
this._layer.open({
this._dialog.open({
title: 'Please Choose a User',
scrollbar: false,
moveOut: true,
......@@ -142,7 +142,7 @@ export class CleftbarComponent implements OnInit {
}
}
that.login(host, user);
that._layer.close(index);
that._dialog.close(index);
},
btn2: function (index, layero) {
},
......
......@@ -18,6 +18,7 @@ import {RdpPageComponent} from './rdp-page/rdp-page.component';
import {TermPageComponent} from './term-page/term-page.component';
import {ElementServerMenuComponent} from './elements/server-menu/server-menu.component';
import {BlankPageComponent} from './blank-page/blank-page.component';
import {TestPageComponent} from './test-page/test-page.component';
const appRoutes: Routes = [
// {path: 'users/login', component: LoginComponent},
......@@ -25,7 +26,7 @@ const appRoutes: Routes = [
{path: 'term/:token', component: TermPageComponent},
{path: 'replay/:token', component: ReplayPageComponent},
{path: 'monitor/:token', component: MonitorPageComponent},
{path: 'test', component: TermPageComponent},
{path: 'test', component: TestPageComponent},
{path: 'undefined', component: BlankPageComponent},
{path: '', component: ControlPageComponent},
{path: '**', component: NotFoundComponent}
......
......@@ -20,7 +20,7 @@ import {AppRoutingModule} from './app-routing.module';
import {AppComponent} from './app.component';
// service
import {AppService, HttpService, LogService, UUIDService} from './app.service';
import {LayerService} from './elements/layer/layer.service';
import {DialogService} from './elements/dialog/dialog.service';
// Elements
import {ElementFooterComponent} from './elements/footer/footer.component';
......@@ -106,7 +106,7 @@ import { BlankPageComponent } from './blank-page/blank-page.component';
HttpService,
LogService,
UUIDService,
LayerService,
DialogService,
NGXLogger
]
})
......
......@@ -2,7 +2,7 @@ import {Injectable} from '@angular/core';
import * as layer from 'layui-layer/src/layer.js';
@Injectable()
export class LayerService {
export class DialogService {
constructor() {
}
......
This diff is collapsed.
import {Component, OnInit} from '@angular/core';
import {LayerService} from '../layer/layer.service';
import {DialogService} from '../dialog/dialog.service';
export class Menu {
......@@ -18,7 +18,7 @@ export class ElementServerMenuComponent implements OnInit {
top: number;
left: number;
constructor(private ly: LayerService) {
constructor(private _dialog: DialogService) {
}
ngOnInit() {
......@@ -29,7 +29,7 @@ export class ElementServerMenuComponent implements OnInit {
m.type = 'lll';
line.type = 'line';
this.MenuList = [m, m, line, m, m];
this.ly.alert();
this._dialog.alert();
}
public contextmenu(top: number, left: number) {
......
......@@ -15,7 +15,7 @@ export class ElementTermComponent implements OnInit, AfterViewInit {
@Input() host: any;
@Input() userid: any;
@Input() index: number;
// @Input() room: string;
@Input() token: string;
@ViewChild('term') el: ElementRef;
secret: string;
term: any;
......@@ -35,7 +35,7 @@ export class ElementTermComponent implements OnInit, AfterViewInit {
}
ngAfterViewInit() {
if (this.host) {
if (this.host || this.token) {
if (Cookie.get('cols')) {
term.col = parseInt(Cookie.get('cols'), 10);
}
......@@ -67,38 +67,37 @@ export class ElementTermComponent implements OnInit, AfterViewInit {
};
jQuery(window).resize();
NavList.List[this.index].Term = this.term;
if (this.host) {
NavList.List[this.index].Term = this.term;
// this.term.write('\x1b[31mWelcome to Jumpserver!\x1b[m\r\n');
TermWS.emit('host', {'uuid': this.host.id, 'userid': this.userid, 'secret': this.secret});
}
if (this.token) {
TermWS.emit('token', {'token': this.token, 'secrte': this.secret});
}
this.term.on('data', function (data) {
TermWS.emit('data', {'data': data, 'room': NavList.List[that.index].room});
});
this.term.on('data', function (data) {
TermWS.emit('data', {'data': data, 'room': NavList.List[that.index].room});
});
TermWS.on('data', function (data) {
if (data['room'] === NavList.List[that.index].room) {
that.term.write(data['data']);
}
});
TermWS.on('data', function (data) {
if (data['room'] === NavList.List[that.index].room) {
that.term.write(data['data']);
}
});
TermWS.on('disconnect', function () {
that.TerminalDisconnect();
});
TermWS.on('logout', function (data) {
if (data['room'] === NavList.List[that.index].room) {
NavList.List[this.index].connected = false;
this.term.write('\r\n\x1b[31mBye Bye!\x1b[m\r\n');
}
});
TermWS.on('room', function (data) {
if (data['secret'] === that.secret) {
NavList.List[that.index].room = data['room'];
}
});
}
TermWS.on('disconnect', function () {
that.TerminalDisconnect();
});
TermWS.on('logout', function (data) {
if (data['room'] === NavList.List[that.index].room) {
NavList.List[this.index].connected = false;
this.term.write('\r\n\x1b[31mBye Bye!\x1b[m\r\n');
}
});
TermWS.on('room', function (data) {
if (data['secret'] === that.secret) {
NavList.List[that.index].room = data['room'];
}
});
}
TerminalDisconnect() {
......
<p>
term-page works!
</p>
<app-element-term
[token]="token"
[index]="0">
</app-element-term>
import { Component, OnInit } from '@angular/core';
import {Component, OnInit} from '@angular/core';
import {DataStore} from '../globals';
import {ActivatedRoute, Params} from '@angular/router';
import * as jQuery from 'jquery/dist/jquery.min.js';
@Component({
selector: 'app-term-page',
......@@ -6,10 +9,16 @@ import { Component, OnInit } from '@angular/core';
styleUrls: ['./term-page.component.scss']
})
export class TermPageComponent implements OnInit {
token: string;
constructor() { }
constructor(private activatedRoute: ActivatedRoute) {
DataStore.NavShow = false;
}
ngOnInit() {
this.activatedRoute.params.subscribe((params: Params) => {
this.token = params['token'];
});
jQuery('body').css('background-color', 'black');
}
}
import { Component, OnInit } from '@angular/core';
import {Component, OnInit} from '@angular/core';
import {DataStore} from '../globals';
import {DialogService} from '../elements/dialog/dialog.service';
// import {Mats, MatDialogRef, MAT_DIALOG_DATA} from '@angular/material';
@Component({
selector: 'app-test-page',
......@@ -7,9 +11,12 @@ import { Component, OnInit } from '@angular/core';
})
export class TestPageComponent implements OnInit {
constructor() { }
constructor(private _dialog: DialogService) {
DataStore.NavShow = false;
}
ngOnInit() {
this._dialog.alert();
}
}
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