refactoring

master
subhra74 2019-07-20 09:02:38 +02:00
parent cf9150872c
commit 1784d8abdc
123 changed files with 11765 additions and 411 deletions

View File

@ -31,17 +31,17 @@ public class HealthApiController {
@Autowired
private SystemHealthMonitor healthMon;
@GetMapping("/app/sys/stats")
@GetMapping("/sys/stats")
public SystemStats getStats() {
return this.healthMon.getStats();
}
@GetMapping("/app/sys/procs")
@GetMapping("/sys/procs")
public List<ProcessInfo> getProcessList() {
return this.healthMon.getProcessList();
}
@PostMapping("/app/sys/procs")
@PostMapping("/sys/procs")
public Map<String, Boolean> killProcesses(
@RequestBody List<Integer> pidList) {
Map<String, Boolean> map = new HashMap<>();

View File

@ -42,5 +42,3 @@ testem.log
# System Files
.DS_Store
Thumbs.db
ui/package-lock.json

View File

@ -1,4 +1,4 @@
# WebShellJs
# WebConsole
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.2.2.

View File

@ -3,7 +3,7 @@
"version": 1,
"newProjectRoot": "projects",
"projects": {
"cloud-shell-js": {
"web-console": {
"root": "",
"sourceRoot": "src",
"projectType": "application",
@ -13,7 +13,7 @@
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist/cloud-shell-js",
"outputPath": "dist/web-console",
"index": "src/index.html",
"main": "src/main.ts",
"polyfills": "src/polyfills.ts",
@ -57,18 +57,18 @@
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "cloud-shell-js:build"
"browserTarget": "web-console:build"
},
"configurations": {
"production": {
"browserTarget": "cloud-shell-js:build:production"
"browserTarget": "web-console:build:production"
}
}
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"browserTarget": "cloud-shell-js:build"
"browserTarget": "web-console:build"
}
},
"test": {
@ -102,7 +102,7 @@
}
}
},
"cloud-shell-js-e2e": {
"web-console-e2e": {
"root": "e2e/",
"projectType": "application",
"prefix": "",
@ -111,11 +111,11 @@
"builder": "@angular-devkit/build-angular:protractor",
"options": {
"protractorConfig": "e2e/protractor.conf.js",
"devServerTarget": "cloud-shell-js:serve"
"devServerTarget": "web-console:serve"
},
"configurations": {
"production": {
"devServerTarget": "cloud-shell-js:serve:production"
"devServerTarget": "web-console:serve:production"
}
}
},
@ -131,5 +131,5 @@
}
}
},
"defaultProject": "cloud-shell-js"
"defaultProject": "web-console"
}

View File

@ -10,7 +10,7 @@ describe('workspace-project App', () => {
it('should display welcome message', () => {
page.navigateTo();
expect(page.getTitleText()).toEqual('Welcome to web-shell-js!');
expect(page.getTitleText()).toEqual('Welcome to web-console!');
});
afterEach(async () => {

11356
ui/web-console/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
{
"name": "cloud-shell-js",
"name": "web-console",
"version": "0.0.0",
"scripts": {
"ng": "ng",
@ -19,18 +19,18 @@
"@angular/platform-browser": "~7.2.0",
"@angular/platform-browser-dynamic": "~7.2.0",
"@angular/router": "~7.2.0",
"@ng-bootstrap/ng-bootstrap": "^4.2.0",
"core-js": "^2.5.4",
"rxjs": "~6.3.3",
"tslib": "^1.9.0",
"zone.js": "~0.8.26",
"@ng-bootstrap/ng-bootstrap": "^4.2.0",
"@swimlane/ngx-charts": "^12.0.1",
"bootstrap": "^4.3.1",
"chart.js": "^2.8.0",
"core-js": "^2.5.4",
"font-awesome": "^4.7.0",
"font-awesome": "^4.7.0",
"ng2-ace-editor": "^0.3.9",
"ng2-charts": "^2.2.3",
"rxjs": "~6.3.3",
"tslib": "^1.9.0",
"xterm": "^3.14.5",
"zone.js": "~0.8.26"
"ng2-charts": "2.2.5",
"xterm": "^3.14.5"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.12.0",

View File

@ -1,175 +1,175 @@
.selected-tab{
border-bottom: 3px solid dodgerblue;
border-right: 1px solid rgb(230,230,230);
}
.normal-tab{
border-bottom: 3px solid rgb(240,240,240);
border-right: 1px solid rgb(230,230,230);
}
.nav-tree {
height: 100%;
width: 250px;
min-width: 250px;
background: rgb(240, 240, 240);
overflow: hidden;
overflow-x: auto;
overflow-y: auto;
border-right: 1px solid rgb(230, 230, 230);
padding-top: 10px;
}
.file-list {
flex: 1;
overflow: hidden;
overflow-x: auto;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
position: relative;
max-width: calc(100vw - 250px);
}
.file-list-header {
display: flex;
height: 51px;
background: white;
border-bottom: 1px solid rgb(230, 230, 230);
cursor: pointer;
position: sticky;
top: 0px;
box-shadow: 0px 0px 6px 0px rgb(230, 230, 230);
}
.file-list-item-row {
display: flex;
height: 51px;
border-bottom: 1px solid rgb(240, 240, 240);
overflow: hidden;
}
.desktop-file-list-first-item {
flex: 2;
overflow-x: hidden;
line-height: 50px;
display: flex;
padding-left: 10px;
}
.desktop-file-list-other-item {
flex: 1;
line-height: 50px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.mobile-file-list-row {
display: none;
width: 100%;
}
.desktop-nav {
display: flex;
padding: 10px;
padding-left: 15px;
background: rgb(245, 245, 245);
border-bottom: 1px solid rgb(230, 230, 230);
flex-wrap: nowrap;
overflow: hidden;
}
.mobile-nav {
display: none;
justify-content: space-around;
flex-wrap: nowrap;
overflow: hidden;
background: rgb(245, 245, 245);
border-top: 1px solid rgb(230, 230, 230);
}
.desktop-file-tabs {
height: 50px;
width: 100%;
display: flex;
background: rgb(240, 240, 240);
border-bottom: 1px solid rgb(220,220,220);
}
.dropdown-ctx-menu {
display: flex;
width: 200px;
flex-direction: column;
position: fixed;
right: 0px;
max-height: 50vh;
background: white;
border: 1px solid rgb(200, 200, 200);
box-shadow: 3px 3px 10px 0px rgb(200, 200, 200);
z-index: 301;
overflow-y: auto;
}
.noselect {
-webkit-touch-callout: none;
/* iOS Safari */
-webkit-user-select: none;
/* Safari */
-khtml-user-select: none;
/* Konqueror HTML */
-moz-user-select: none;
/* Firefox */
-ms-user-select: none;
/* Internet Explorer/Edge */
user-select: none;
/* Non-prefixed version, currently
supported by Chrome and Opera */
}
@media (max-width:800px) {
[class="nav-tree"] {
display: none;
}
[class="file-list"] {
max-width: 100vw;
}
[class="file-list-header"] {
display: none;
}
[class*="file-list-content-wrapper"] {
padding-top: 0px;
}
[class*="file-list-item-row"] {
height: 80px;
}
[class="desktop-file-list-first-item"] {
display: none;
}
[class="desktop-file-list-other-item"] {
display: none;
}
[class="mobile-file-list-row"] {
display: flex;
}
[class="desktop-file-list-other-item"] {
display: none;
}
[class="desktop-nav"] {
display: none;
}
[class="mobile-nav"] {
display: flex;
}
[class*="desktop-file-tabs"] {
display: none;
}
[class="dropdown-ctx-menu"] {
bottom: 40px;
}
}
@media (min-width:800px) {
[class="dropdown-ctx-menu"] {
top: 100px;
}
.selected-tab{
border-bottom: 3px solid dodgerblue;
border-right: 1px solid rgb(230,230,230);
}
.normal-tab{
border-bottom: 3px solid rgb(240,240,240);
border-right: 1px solid rgb(230,230,230);
}
.nav-tree {
height: 100%;
width: 250px;
min-width: 250px;
background: rgb(240, 240, 240);
overflow: hidden;
overflow-x: auto;
overflow-y: auto;
border-right: 1px solid rgb(230, 230, 230);
padding-top: 10px;
}
.file-list {
flex: 1;
overflow: hidden;
overflow-x: auto;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
position: relative;
max-width: calc(100vw - 250px);
}
.file-list-header {
display: flex;
height: 51px;
background: white;
border-bottom: 1px solid rgb(230, 230, 230);
cursor: pointer;
position: sticky;
top: 0px;
box-shadow: 0px 0px 6px 0px rgb(230, 230, 230);
}
.file-list-item-row {
display: flex;
height: 51px;
border-bottom: 1px solid rgb(240, 240, 240);
overflow: hidden;
}
.desktop-file-list-first-item {
flex: 2;
overflow-x: hidden;
line-height: 50px;
display: flex;
padding-left: 10px;
}
.desktop-file-list-other-item {
flex: 1;
line-height: 50px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.mobile-file-list-row {
display: none;
width: 100%;
}
.desktop-nav {
display: flex;
padding: 10px;
padding-left: 15px;
background: rgb(245, 245, 245);
border-bottom: 1px solid rgb(230, 230, 230);
flex-wrap: nowrap;
overflow: hidden;
}
.mobile-nav {
display: none;
justify-content: space-around;
flex-wrap: nowrap;
overflow: hidden;
background: rgb(245, 245, 245);
border-top: 1px solid rgb(230, 230, 230);
}
.desktop-file-tabs {
height: 50px;
width: 100%;
display: flex;
background: rgb(240, 240, 240);
border-bottom: 1px solid rgb(220,220,220);
}
.dropdown-ctx-menu {
display: flex;
width: 200px;
flex-direction: column;
position: fixed;
right: 0px;
max-height: 50vh;
background: white;
border: 1px solid rgb(200, 200, 200);
box-shadow: 3px 3px 10px 0px rgb(200, 200, 200);
z-index: 301;
overflow-y: auto;
}
.noselect {
-webkit-touch-callout: none;
/* iOS Safari */
-webkit-user-select: none;
/* Safari */
-khtml-user-select: none;
/* Konqueror HTML */
-moz-user-select: none;
/* Firefox */
-ms-user-select: none;
/* Internet Explorer/Edge */
user-select: none;
/* Non-prefixed version, currently
supported by Chrome and Opera */
}
@media (max-width:800px) {
[class="nav-tree"] {
display: none;
}
[class="file-list"] {
max-width: 100vw;
}
[class="file-list-header"] {
display: none;
}
[class*="file-list-content-wrapper"] {
padding-top: 0px;
}
[class*="file-list-item-row"] {
height: 80px;
}
[class="desktop-file-list-first-item"] {
display: none;
}
[class="desktop-file-list-other-item"] {
display: none;
}
[class="mobile-file-list-row"] {
display: flex;
}
[class="desktop-file-list-other-item"] {
display: none;
}
[class="desktop-nav"] {
display: none;
}
[class="mobile-nav"] {
display: flex;
}
[class*="desktop-file-tabs"] {
display: none;
}
[class="dropdown-ctx-menu"] {
bottom: 40px;
}
}
@media (min-width:800px) {
[class="dropdown-ctx-menu"] {
top: 100px;
}
}

View File

@ -1,170 +1,170 @@
.fullscreen {
width: 100vw;
height: 100vh;
position: fixed;
bottom: 0px;
right: 0px;
display: flex;
flex-direction: column;
background: black;
color: white;
z-index: 100;
}
.minimized {
width: 200px;
position: fixed;
right: 10px;
bottom: 0px;
color: white;
background: black;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
}
.rounded-top {
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
.normal {
width: 740px;
height: 450px;
position: fixed;
bottom: 0px;
right: 10px;
display: flex;
flex-direction: column;
background: black;
color: white;
z-index: 100;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
}
.term-normal {
height: 410px;
}
.term-fullscreen {
height: calc(100vh - 40px);
}
.router-wrapper {
padding-top: 55px;
height: 100%;
}
.desktop-title {
flex: 1;
line-height: 55px;
color: gray;
font-size: 22px;
}
.mobile-title {
flex: 1;
line-height: 55px;
color: gray;
font-size: 22px;
display: none;
}
.desktop-nav {
height: 55px;
/* background: rgb(33, 37, 43); */
background: rgb(36, 46, 43);;
display: flex;
justify-content: flex-end;
box-shadow: 0px 3px 6px 0px rgb(200, 200, 200);
margin-bottom: 5px;
position: fixed;
width: 100vw;
z-index: 150;
padding-left: 20px;
padding-right: 20px;
left: 0px;
top: 0px;
}
.mobile-nav {
background: rgb(33, 37, 43);
display: none;
justify-content: space-around;
box-shadow: 0px 3px 6px 0px rgb(200, 200, 200);
margin-bottom: 5px;
position: fixed;
width: 100vw;
z-index: 150;
padding-left: 20px;
padding-right: 20px;
left: 0px;
top: 0px;
}
.desktop-terminal-wrapper {
display: block;
}
.terminal-btn {
position: fixed;
right: 30px;
bottom: 30px;
border-radius: 50%;
background: rgb(20, 20, 20);
color: white;
width: 50px;
text-align: center;
height: 50px;
z-index: 300;
box-shadow: 2px 2px 5px gray;
}
.active-link {
background: rgb(62, 66, 81)
}
.device-keyboard {
padding-right: 10px;
cursor: pointer;
color: white;
display: none;
}
@media (max-width:800px) {
[class="desktop-nav"] {
display: none;
}
[class="mobile-nav"] {
display: flex;
}
[class*="desktop-terminal-wrapper"] {
display: none;
}
[class="terminal-btn"] {
bottom: 60px;
right: 30px;
}
[class*="desktop-title"] {
display: none;
}
[class*="mobile-title"] {
display: block;
}
[class="device-keyboard"] {
display: block;
}
[class="term-fullscreen"]{
height: 50vh
}
}
.bg-gradient {
background: #3A1C71;
/* fallback for old browsers */
background: -webkit-linear-gradient(to right, #FFAF7B, #D76D77, #3A1C71);
/* Chrome 10-25, Safari 5.1-6 */
background: linear-gradient(to right, #FFAF7B, #D76D77, #3A1C71);
/* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
.fullscreen {
width: 100vw;
height: 100vh;
position: fixed;
bottom: 0px;
right: 0px;
display: flex;
flex-direction: column;
background: black;
color: white;
z-index: 100;
}
.minimized {
width: 200px;
position: fixed;
right: 10px;
bottom: 0px;
color: white;
background: black;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
}
.rounded-top {
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
.normal {
width: 740px;
height: 450px;
position: fixed;
bottom: 0px;
right: 10px;
display: flex;
flex-direction: column;
background: black;
color: white;
z-index: 100;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
}
.term-normal {
height: 410px;
}
.term-fullscreen {
height: calc(100vh - 40px);
}
.router-wrapper {
padding-top: 55px;
height: 100%;
}
.desktop-title {
flex: 1;
line-height: 55px;
color: gray;
font-size: 22px;
}
.mobile-title {
flex: 1;
line-height: 55px;
color: gray;
font-size: 22px;
display: none;
}
.desktop-nav {
height: 55px;
/* background: rgb(33, 37, 43); */
background: rgb(36, 46, 43);;
display: flex;
justify-content: flex-end;
box-shadow: 0px 3px 6px 0px rgb(200, 200, 200);
margin-bottom: 5px;
position: fixed;
width: 100vw;
z-index: 150;
padding-left: 20px;
padding-right: 20px;
left: 0px;
top: 0px;
}
.mobile-nav {
background: rgb(33, 37, 43);
display: none;
justify-content: space-around;
box-shadow: 0px 3px 6px 0px rgb(200, 200, 200);
margin-bottom: 5px;
position: fixed;
width: 100vw;
z-index: 150;
padding-left: 20px;
padding-right: 20px;
left: 0px;
top: 0px;
}
.desktop-terminal-wrapper {
display: block;
}
.terminal-btn {
position: fixed;
right: 30px;
bottom: 30px;
border-radius: 50%;
background: rgb(20, 20, 20);
color: white;
width: 50px;
text-align: center;
height: 50px;
z-index: 300;
box-shadow: 2px 2px 5px gray;
}
.active-link {
background: rgb(62, 66, 81)
}
.device-keyboard {
padding-right: 10px;
cursor: pointer;
color: white;
display: none;
}
@media (max-width:800px) {
[class="desktop-nav"] {
display: none;
}
[class="mobile-nav"] {
display: flex;
}
[class*="desktop-terminal-wrapper"] {
display: none;
}
[class="terminal-btn"] {
bottom: 60px;
right: 30px;
}
[class*="desktop-title"] {
display: none;
}
[class*="mobile-title"] {
display: block;
}
[class="device-keyboard"] {
display: block;
}
[class="term-fullscreen"]{
height: 50vh
}
}
.bg-gradient {
background: #3A1C71;
/* fallback for old browsers */
background: -webkit-linear-gradient(to right, #FFAF7B, #D76D77, #3A1C71);
/* Chrome 10-25, Safari 5.1-6 */
background: linear-gradient(to right, #FFAF7B, #D76D77, #3A1C71);
/* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}

View File

@ -1,13 +1,13 @@
.search-box{
border-bottom: 1px solid rgb(200,200,200);
margin-right: 10px;
}
.search-text{
border: none;
margin-left: 5px;
}
.search-text:focus{
outline: none;
.search-box{
border-bottom: 1px solid rgb(200,200,200);
margin-right: 10px;
}
.search-text{
border: none;
margin-left: 5px;
}
.search-text:focus{
outline: none;
}

View File

@ -1,11 +1,11 @@
import { FileItem } from './file-item';
export class SearchContext {
id: string;
searchText: string;
files: FileItem[]=[];
folders: FileItem[]=[];
searching: boolean;
isDone: boolean;
folder: string;
import { FileItem } from './file-item';
export class SearchContext {
id: string;
searchText: string;
files: FileItem[]=[];
folders: FileItem[]=[];
searching: boolean;
isDone: boolean;
folder: string;
}

Some files were not shown because too many files have changed in this diff Show More