diff --git a/gulpfile.js b/gulpfile.js index 2db35d717..7977444cc 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -106,6 +106,22 @@ gulp.task('js-logs', function () { .pipe(gulp.dest('webadmin/dist/js')); }); +gulp.task('js-terminal', function () { + // needs special treatment for error handling + var uglifyer = uglify(); + uglifyer.on('error', function (error) { + console.error(error); + }); + + gulp.src(['webadmin/src/js/terminal.js', 'webadmin/src/js/client.js']) + .pipe(ejs({ oauth: oauth }, {}, { ext: '.js' })) + .pipe(sourcemaps.init()) + .pipe(concat('terminal.js', { newLine: ';' })) + .pipe(uglifyer) + .pipe(sourcemaps.write()) + .pipe(gulp.dest('webadmin/dist/js')); +}); + gulp.task('js-setup', function () { // needs special treatment for error handling var uglifyer = uglify(); @@ -226,6 +242,7 @@ gulp.task('watch', ['default'], function () { gulp.watch(['webadmin/src/js/setupdns.js', 'webadmin/src/js/client.js'], ['js-setupdns']); gulp.watch(['webadmin/src/js/restore.js', 'webadmin/src/js/client.js'], ['js-restore']); gulp.watch(['webadmin/src/js/logs.js', 'webadmin/src/js/client.js'], ['js-logs']); + gulp.watch(['webadmin/src/js/terminal.js', 'webadmin/src/js/client.js'], ['js-terminal']); gulp.watch(['webadmin/src/js/index.js', 'webadmin/src/js/client.js', 'webadmin/src/js/appstore.js', 'webadmin/src/js/main.js', 'webadmin/src/views/*.js'], ['js-index']); gulp.watch(['webadmin/src/3rdparty/**/*'], ['3rdparty']); }); diff --git a/webadmin/src/theme.scss b/webadmin/src/theme.scss index d8b667123..ea78edd88 100644 --- a/webadmin/src/theme.scss +++ b/webadmin/src/theme.scss @@ -1136,11 +1136,6 @@ footer { margin: 5px 0; color: white; } - - select { - display: inline-block; - width: 250px; - } } .logs-container { @@ -1170,51 +1165,44 @@ footer { // Terminal // ---------------------------- -.terminal-controls { - margin-top: 25px; - margin-bottom: 10px; +.terminal-view { + background: black; - .ng-isolate-scope { - float: left; + .terminal-controls { + margin: 5px; + + .ng-isolate-scope { + float: left; + } + + h3 { + margin: 5px 0; + color: white; + } } - h3 { - display: inline-block; - margin-top: 6px; - margin-bottom: 0; + .terminal-container { + flex-grow: 1; + margin-bottom: 5px; + color: white; + overflow: auto; + padding: 5px; + font-family: monospace; + + &.placeholder { + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + } } - select { - display: inline-block; - width: 250px; - margin-left: 20px; + .contextMenuBackdrop { + display: none; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; } } - -.terminal-container { - flex-grow: 1; - margin-left: calc(8.33% + 15px); - margin-right: calc(8.33% + 15px); - margin-bottom: 20px; - background-color: black; - color: white; - overflow: auto; - padding: 5px; - font-family: monospace; - - &.placeholder { - display: flex; - justify-content: center; - align-items: center; - flex-direction: column; - } -} - -.contextMenuBackdrop { - display: none; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; -}