diff options
Diffstat (limited to 'gui')
20 files changed, 167 insertions, 348 deletions
diff --git a/gui/app/index.html b/gui/app/index.html index 5592656cc..d959b14d2 100644 --- a/gui/app/index.html +++ b/gui/app/index.html @@ -100,6 +100,7 @@ <script src="scripts/controllers/suitedetail.controller.js"></script> <script src="scripts/controllers/suitecreate.controller.js"></script> <script src="scripts/controllers/task.controller.js"></script> + <script src="scripts/controllers/taskLog.controller.js"></script> <script src="scripts/controllers/report.controller.js"></script> <script src="scripts/controllers/project.controller.js"></script> <script src="scripts/controllers/projectDetail.controller.js"></script> diff --git a/gui/app/scripts/controllers/container.controller.js b/gui/app/scripts/controllers/container.controller.js index 6c2ccd8ff..3ad200a91 100644 --- a/gui/app/scripts/controllers/container.controller.js +++ b/gui/app/scripts/controllers/container.controller.js @@ -128,7 +128,7 @@ angular.module('yardStickGui2App') $scope.selectContainer = name; } $scope.goBack = function goBack() { - $state.go('app2.projectList'); + $state.go('app.projectList'); } $scope.openDeleteEnv = function openDeleteEnv(id, name) { diff --git a/gui/app/scripts/controllers/content.controller.js b/gui/app/scripts/controllers/content.controller.js index d2bc19eea..0288fa540 100644 --- a/gui/app/scripts/controllers/content.controller.js +++ b/gui/app/scripts/controllers/content.controller.js @@ -2,7 +2,7 @@ angular.module('yardStickGui2App') .controller('ContentController', ['$scope', '$state', '$stateParams', 'mainFactory', 'Upload', 'toaster', '$location', '$localStorage', - function($scope, $state, $stateParams, mainFactory, Upload, toaster, $location, $localStorage) { + function ($scope, $state, $stateParams, mainFactory, Upload, toaster, $location, $localStorage) { @@ -11,10 +11,11 @@ angular.module('yardStickGui2App') $scope.showEnvironment = false; $scope.counldGoDetail = false; $scope.activeStatus = 0; + $scope.ifshowEnvChild = false; - $scope.$watch(function() { + $scope.$watch(function () { return location.hash - }, function(newvalue, oldvalue) { + }, function (newvalue, oldvalue) { if (location.hash.indexOf('project') > -1) { $scope.projectShow = true; $scope.taskShow = false; @@ -26,6 +27,13 @@ angular.module('yardStickGui2App') $scope.reportShow = true; $scope.taskShow = true; $scope.projectShow = true; + } else if (location.hash.indexOf('envDetail') > -1 || location.hash.indexOf('envimageDetail') > -1 || + location.hash.indexOf('envpodupload') > -1 || location.hash.indexOf('envcontainer') > -1) { + $scope.ifshowEnvChild = true; + $scope.activeStatus=0; + }else{ + $scope.ifshowEnvChild=false; + $scope.activeStatus=-1; } }) @@ -88,30 +96,30 @@ angular.module('yardStickGui2App') } function gotoTestcase() { - $state.go('app2.testcase'); + $state.go('app.testcase'); } function gotoEnviron() { if ($location.path().indexOf('env') > -1 || $location.path().indexOf('environment') > -1) { $scope.counldGoDetail = true; } - $state.go('app2.environment'); + $state.go('app.environment'); } function gotoSuite() { - $state.go('app2.testsuite'); + $state.go('app.testsuite'); } function gotoProject() { - $state.go('app2.projectList'); + $state.go('app.projectList'); } function gotoTask() { - $state.go('app2.tasklist'); + $state.go('app.tasklist'); } function gotoReport() { - $state.go('app2.report'); + $state.go('app.report'); } function goBack() { @@ -119,7 +127,7 @@ angular.module('yardStickGui2App') return; } else if ($location.path().indexOf('main/envDetail/') || $location.path().indexOf('main/imageDetail/') || $location.path().indexOf('main/podupload/') || $location.path().indexOf('main/container/')) { - $state.go('app2.environment'); + $state.go('app.environment'); return; } else { window.history.back(); @@ -133,4 +141,4 @@ angular.module('yardStickGui2App') } - ]);
\ No newline at end of file + ]); diff --git a/gui/app/scripts/controllers/detail.controller.js b/gui/app/scripts/controllers/detail.controller.js index 3e2eaa100..bfdb525f7 100644 --- a/gui/app/scripts/controllers/detail.controller.js +++ b/gui/app/scripts/controllers/detail.controller.js @@ -108,6 +108,7 @@ angular.module('yardStickGui2App') //buildtoEnvInfo function buildToEnvInfo(object) { + $scope.envInfo=[]; var tempKeyArray = Object.keys(object); for (var i = 0; i < tempKeyArray.length; i++) { @@ -118,7 +119,11 @@ angular.module('yardStickGui2App') value: tempValue }; $scope.envInfo.push(temp); + } + + console.log($scope.envInfo); + console.log($scope.openrcInfo); } function uploadFiles($file, $invalidFiles) { diff --git a/gui/app/scripts/controllers/image.controller.js b/gui/app/scripts/controllers/image.controller.js index 53acff405..f6c91592f 100644 --- a/gui/app/scripts/controllers/image.controller.js +++ b/gui/app/scripts/controllers/image.controller.js @@ -149,7 +149,7 @@ angular.module('yardStickGui2App') } $scope.goBack = function goBack() { - $state.go('app2.projectList'); + $state.go('app.projectList'); } $scope.goNext = function goNext() { diff --git a/gui/app/scripts/controllers/main.js b/gui/app/scripts/controllers/main.js index e3e880e62..ab76bf0f2 100644 --- a/gui/app/scripts/controllers/main.js +++ b/gui/app/scripts/controllers/main.js @@ -18,11 +18,7 @@ angular.module('yardStickGui2App') $scope.showNextPod = null; $scope.displayContainerInfo = []; $scope.containerList = [{ value: 'create_influxdb', name: "InfluxDB" }, { value: 'create_grafana', name: "Grafana" }] - $scope.items = [ - 'The first choice!', - 'And another choice for you.', - 'but wait! A third!' - ]; + $scope.$on('$destroy', function() { $interval.cancel($scope.intervalImgae) }); @@ -381,7 +377,7 @@ angular.module('yardStickGui2App') $scope.goBack = function goBack() { - $state.go('app2.projectList'); + $state.go('app.projectList'); } $scope.displayContainerInfo = []; diff --git a/gui/app/scripts/controllers/pod.controller.js b/gui/app/scripts/controllers/pod.controller.js index 3ef236854..56dfee148 100644 --- a/gui/app/scripts/controllers/pod.controller.js +++ b/gui/app/scripts/controllers/pod.controller.js @@ -113,7 +113,7 @@ angular.module('yardStickGui2App') } $scope.goBack = function goBack() { - $state.go('app2.projectList'); + $state.go('app.projectList'); } diff --git a/gui/app/scripts/controllers/project.controller.js b/gui/app/scripts/controllers/project.controller.js index 0a7b8b932..197474567 100644 --- a/gui/app/scripts/controllers/project.controller.js +++ b/gui/app/scripts/controllers/project.controller.js @@ -91,7 +91,7 @@ angular.module('yardStickGui2App') } function gotoDetail(id) { - $state.go('app2.projectdetail', { projectId: id }) + $state.go('app.projectdetail', { projectId: id }) } diff --git a/gui/app/scripts/controllers/projectDetail.controller.js b/gui/app/scripts/controllers/projectDetail.controller.js index 4ab4a055a..843f66c57 100644 --- a/gui/app/scripts/controllers/projectDetail.controller.js +++ b/gui/app/scripts/controllers/projectDetail.controller.js @@ -606,16 +606,16 @@ angular.module('yardStickGui2App') function gotoDetail(id) { - $state.go('app2.tasklist', { taskId: id }); + $state.go('app.tasklist', { taskId: id }); } function gotoReport(id) { - $state.go('app2.report', { taskId: id }); + $state.go('app.report', { taskId: id }); } function gotoModify(id) { - $state.go('app2.taskModify', { taskId: id }); + $state.go('app.taskModify', { taskId: id }); } function goBack() { @@ -671,20 +671,8 @@ angular.module('yardStickGui2App') }) } - - - - - - - - - - - - - - - + $scope.gotoLog = function gotoLog(task_id) { + $state.go('app2.taskLog', { taskId: task_id }); + } } - ]);
\ No newline at end of file + ]); diff --git a/gui/app/scripts/controllers/taskLog.controller.js b/gui/app/scripts/controllers/taskLog.controller.js new file mode 100644 index 000000000..17722b7da --- /dev/null +++ b/gui/app/scripts/controllers/taskLog.controller.js @@ -0,0 +1,34 @@ +'use strict'; + +angular.module('yardStickGui2App').controller('TaskLogController', ['$scope', '$stateParams', '$http', '$interval', 'mainFactory', function ($scope, $stateParams, $http, $interval, mainFactory) { + $scope.logLines = []; + $scope.getLog = getLog; + $scope.taskId = $stateParams.taskId; + $scope.taskStatus = 0; + $scope.index = 0; + + $scope.goBack = function goBack() { + window.history.back(); + } + + function getLog(){ + + function get_data(){ + mainFactory.getTaskLog().get({'taskId': $scope.taskId, 'index': $scope.index}).$promise.then(function(data){ + angular.forEach(data.result.data, function(ele){ + $scope.logLines.push(ele); + $scope.index = data.result.index; + }); + + if(data.status == 1){ + $interval.cancel($scope.intervalTask); + $scope.taskStatus = 1; + } + }); + } + + $scope.intervalTask = $interval(get_data, 2000); + } + + getLog(); +}]); diff --git a/gui/app/scripts/controllers/testcase.controller.js b/gui/app/scripts/controllers/testcase.controller.js index 616ceb4a8..c93fd8cb0 100644 --- a/gui/app/scripts/controllers/testcase.controller.js +++ b/gui/app/scripts/controllers/testcase.controller.js @@ -41,7 +41,7 @@ angular.module('yardStickGui2App') } function gotoDetail(name) { - $state.go('app2.testcasedetail', { name: name }); + $state.go('app.testcasedetail', { name: name }); } @@ -93,7 +93,7 @@ angular.module('yardStickGui2App') } $scope.goBack = function goBack() { - $state.go('app2.projectList'); + $state.go('app.projectList'); } $scope.openDeleteEnv = function openDeleteEnv(id, name) { diff --git a/gui/app/scripts/controllers/testsuit.controller.js b/gui/app/scripts/controllers/testsuit.controller.js index abc9095c7..a15daa776 100644 --- a/gui/app/scripts/controllers/testsuit.controller.js +++ b/gui/app/scripts/controllers/testsuit.controller.js @@ -41,16 +41,16 @@ angular.module('yardStickGui2App') function gotoDetail(name) { var temp = name.split('.')[0]; - $state.go('app2.suitedetail', { name: temp }) + $state.go('app.suitedetail', { name: temp }) } function gotoCreateSuite() { - $state.go('app2.suitcreate'); + $state.go('app.suitcreate'); } $scope.goBack = function goBack() { - $state.go('app2.projectList'); + $state.go('app.projectList'); } diff --git a/gui/app/scripts/factory/main.factory.js b/gui/app/scripts/factory/main.factory.js index f8e9df9a1..44fbeb39f 100644 --- a/gui/app/scripts/factory/main.factory.js +++ b/gui/app/scripts/factory/main.factory.js @@ -178,6 +178,14 @@ angular.module('yardStickGui2App') }) }, + getTaskLog: function(){ + return $resource(Base_URL + '/api/v2/yardstick/tasks/:taskId/log?index=:index', { taskId: "@taskId", index: "@index" }, { + 'get': { + method: 'GET' + } + }) + }, + taskAddEnv: function() { return $resource(Base_URL + '/api/v2/yardstick/tasks/:taskId', { taskId: "@taskId" }, { 'put': { diff --git a/gui/app/scripts/router.config.js b/gui/app/scripts/router.config.js index b42954272..da2eb086b 100644 --- a/gui/app/scripts/router.config.js +++ b/gui/app/scripts/router.config.js @@ -20,14 +20,6 @@ angular.module('yardStickGui2App') $stateProvider - .state('app2', { - url: "/main", - controller: 'ContentController', - templateUrl: "views/main2.html", - ncyBreadcrumb: { - label: 'Main' - } - }) .state('app', { url: "/main", controller: 'ContentController', @@ -37,7 +29,7 @@ angular.module('yardStickGui2App') } }) - .state('app2.environment', { + .state('app.environment', { url: '/environment', templateUrl: 'views/environmentList.html', controller: 'MainCtrl', @@ -45,7 +37,7 @@ angular.module('yardStickGui2App') label: 'Environment' } }) - .state('app2.testcase', { + .state('app.testcase', { url: '/testcase', templateUrl: 'views/testcaselist.html', controller: 'TestcaseController', @@ -53,7 +45,7 @@ angular.module('yardStickGui2App') label: 'Test Case' } }) - .state('app2.testsuite', { + .state('app.testsuite', { url: '/suite', templateUrl: 'views/suite.html', controller: 'SuiteListController', @@ -61,7 +53,7 @@ angular.module('yardStickGui2App') label: 'Test Suite' } }) - .state('app2.suitcreate', { + .state('app.suitcreate', { url: '/suitcreate', templateUrl: 'views/testcasechoose.html', controller: 'suitcreateController', @@ -69,7 +61,7 @@ angular.module('yardStickGui2App') label: 'Suite Create' } }) - .state('app2.testcasedetail', { + .state('app.testcasedetail', { url: '/testdetail/:name', templateUrl: 'views/testcasedetail.html', controller: 'testcaseDetailController', @@ -78,7 +70,7 @@ angular.module('yardStickGui2App') }, params: { name: null } }) - .state('app2.suitedetail', { + .state('app.suitedetail', { url: '/suitedetail/:name', templateUrl: 'views/suitedetail.html', controller: 'suiteDetailController', @@ -124,7 +116,7 @@ angular.module('yardStickGui2App') label: 'Container Manage' } }) - .state('app2.projectList', { + .state('app.projectList', { url: '/project', templateUrl: 'views/projectList.html', controller: 'ProjectController', @@ -133,7 +125,7 @@ angular.module('yardStickGui2App') } }) - .state('app2.tasklist', { + .state('app.tasklist', { url: '/task/:taskId', templateUrl: 'views/taskList.html', controller: 'TaskController', @@ -143,7 +135,17 @@ angular.module('yardStickGui2App') } }) - .state('app2.report', { + .state('app.taskLog', { + url: '/task/:taskId/log', + templateUrl: 'views/taskLog.html', + controller: 'TaskLogController', + params: { taskId: null }, + ncyBreadcrumb: { + label: 'TaskLog' + } + + }) + .state('app.report', { url: '/report/:taskId', templateUrl: 'views/report.html', controller: 'ReportController', @@ -153,7 +155,7 @@ angular.module('yardStickGui2App') } }) - .state('app2.projectdetail', { + .state('app.projectdetail', { url: '/projectdetail/:projectId', templateUrl: 'views/projectdetail.html', controller: 'ProjectDetailController', @@ -163,7 +165,7 @@ angular.module('yardStickGui2App') } }) - .state('app2.taskModify', { + .state('app.taskModify', { url: '/taskModify/:taskId', templateUrl: 'views/taskmodify.html', controller: 'TaskModifyController', diff --git a/gui/app/styles/main.css b/gui/app/styles/main.css index e13a66bce..d2ea8ba42 100644 --- a/gui/app/styles/main.css +++ b/gui/app/styles/main.css @@ -20,6 +20,8 @@ body { } + + /* Custom page header */ .header { @@ -206,3 +208,7 @@ input:focus{outline: 0} overflow: hidden; } +.bs-sidenav{ + margin-top:21px !important; +} + diff --git a/gui/app/views/layout/sideNav.html b/gui/app/views/layout/sideNav.html index 4fc99cd4f..6c4426307 100644 --- a/gui/app/views/layout/sideNav.html +++ b/gui/app/views/layout/sideNav.html @@ -18,7 +18,7 @@ </div> </div> - <div class="panel-group" role="tablist" aria-multiselectable="true" bs-collapse style="margin-bottom:0px;" ng-model="activeStatus"> + <div class="panel-group" role="tablist" aria-multiselectable="true" bs-collapse style="margin-bottom:0px;" ng-model="activeStatus" ng-if="ifshowEnvChild"> <div class="panel panel-default"> <div class="panel-heading" role="tab"> <h4 class="panel-title"> @@ -48,6 +48,19 @@ </div> </div> </div> + <div class="panel-group" role="tablist" aria-multiselectable="false" bs-collapse style="margin-bottom:0px;" ng-if="!ifshowEnvChild"> + <div class="panel panel-default"> + <div class="panel-heading" role="tab"> + <h4 class="panel-title"> + <a bs-collapse-toggle style=" text-decoration: none;"> + <div style="display:inline;" ng-click="gotoEnviron()">Environment </div> + <!--<i class="fa fa-sort-asc" aria-hidden="true" style="margin-left: 71px;display:inline"></i>--> + </a> + </h4> + </div> + + </div> + </div> <div class="panel-group " role="tablist " aria-multiselectable="true " bs-collapse style="margin-bottom:0px; "> <div class="panel panel-default "> @@ -138,4 +151,4 @@ .active.panel-body { background-color: #dfe3e4; } -</style> +</style>
\ No newline at end of file diff --git a/gui/app/views/layout/sideNav2.html b/gui/app/views/layout/sideNav2.html deleted file mode 100644 index 93e0de4be..000000000 --- a/gui/app/views/layout/sideNav2.html +++ /dev/null @@ -1,108 +0,0 @@ -<div class="naviSide"> - - - <ul class="nav bs-sidenav"> - - <div class="panel-group " role="tablist " aria-multiselectable="true " bs-collapse style="margin-bottom:0px; "> - <div class="panel panel-default "> - <div class="panel-heading " role="tab "> - <h4 class="panel-title "> - <a bs-collapse-toggle style=" text-decoration: none;" ng-click="gotoProject();"> - Project - </a> - </h4> - - </div> - - </div> - </div> - <div class="panel-group" role="tablist" aria-multiselectable="false" bs-collapse style="margin-bottom:0px;"> - <div class="panel panel-default"> - <div class="panel-heading" role="tab"> - <h4 class="panel-title"> - <a bs-collapse-toggle style=" text-decoration: none;"> - <div style="display:inline;" ng-click="gotoEnviron()">Environment </div> - <!--<i class="fa fa-sort-asc" aria-hidden="true" style="margin-left: 71px;display:inline"></i>--> - </a> - </h4> - </div> - - </div> - </div> - - <div class="panel-group " role="tablist " aria-multiselectable="true " bs-collapse style="margin-bottom:0px; "> - <div class="panel panel-default "> - <div class="panel-heading " role="tab "> - <h4 class="panel-title "> - <a bs-collapse-toggle style=" text-decoration: none;" ng-click="gotoTestcase()"> - Test Case - </a> - </h4> - - </div> - - </div> - </div> - - <div class="panel-group " role="tablist " aria-multiselectable="true " bs-collapse style="margin-bottom:0px; "> - <div class="panel panel-default "> - <div class="panel-heading " role="tab "> - <h4 class="panel-title "> - <a bs-collapse-toggle style=" text-decoration: none;" ng-click="gotoSuite()"> - Test Suite - </a> - </h4> - - </div> - - </div> - </div> - - - - </ul> - -</div> - -<style> - .bs-sidenav { - margin-top: 21px; - margin-bottom: 20px; - width: 124px; - } - - .nav { - margin-bottom: 0; - padding-left: 0; - list-style: none; - } - - .nav>li { - position: relative; - display: block; - } - - li { - display: list-item; - text-align: -webkit-match-parent; - } - - a { - cursor: pointer; - } - - a.active { - background-color: #EEEEEE; - border-radius: 5px; - width: 165px; - } - /*a:hover { - width: 165px; - }*/ - - .nav>li>a:hover, - .nav>li>a:focus { - text-decoration: underline; - background-color: transparent; - } -</style> diff --git a/gui/app/views/main2.html b/gui/app/views/main2.html deleted file mode 100644 index 3f49e82e0..000000000 --- a/gui/app/views/main2.html +++ /dev/null @@ -1,174 +0,0 @@ -<div> - <div ng-include="'views/layout/header.html'"></div> -</div> -<div ng-include="'views/layout/sideNav2.html'"></div> - - -<div style="margin-top:80px;margin-left:220px;"> - <!--<div ncy-breadcrumb></div>--> - <div> - <ol class="progressDefine"> - <li data-step="1" ng-click="gotoProject();" style="cursor:pointer" ng-class="{'is-complete':projectShow}"> - Project - </li> - <li data-step="2" ng-class="{'is-complete':taskShow}"> - Task - </li> - - <li data-step="3" ng-class="{'is-complete':reportShow}"> - Reporting - </li> - - </ol> - </div> - - -</div> - - - - - - - - - -<div ui-view></div> - - - -<style> - .stepsContent { - display: flex; - flex-direction: row; - justify-content: space-around; - margin-left: 120px; - margin-top: 100px; - } - - .stepItem { - display: flex; - flex-direction: column; - } - - .nextButton { - margin-left: 500px; - } - - .progressDefine { - list-style: none; - margin: 0; - padding: 0; - display: table; - table-layout: fixed; - width: 100%; - color: #849397; - } - - .progressDefine>li { - position: relative; - display: table-cell; - text-align: center; - font-size: 0.8em; - } - - .progressDefine>li:before { - content: attr(data-step); - display: block; - margin: 0 auto; - background: #DFE3E4; - width: 3em; - height: 3em; - text-align: center; - margin-bottom: 0.25em; - line-height: 3em; - border-radius: 100%; - position: relative; - z-index: 5; - } - - .progressDefine>li:after { - content: ''; - position: absolute; - display: block; - background: #DFE3E4; - width: 100%; - height: 0.5em; - top: 1.25em; - left: 50%; - margin-left: 1.5em\9; - z-index: -1; - } - - .progressDefine>li:last-child:after { - display: none; - } - - .progressDefine>li.is-complete { - color: #4dc5cf; - } - - .progressDefine>li.is-complete:before, - .progressDefine>li.is-complete:after { - color: #FFF; - background: #4dc5cf; - } - - .progressDefine>li.is-active { - color: #3498DB; - } - - .progressDefine>li.is-active:before { - color: #FFF; - background: #3498DB; - } - /** - * Needed for IE8 - */ - - .progressDefine__last:after { - display: none !important; - } - /** - * Size Extensions - */ - - .progressDefine--medium { - font-size: 1.5em; - } - - .progressDefine--large { - font-size: 2em; - } - /** - * Some Generic Stylings - */ - - *, - *:after, - *:before { - box-sizing: border-box; - } - - h1 { - margin-bottom: 1.5em; - } - - .progressDefine { - margin-bottom: 3em; - } - - a { - color: #3498DB; - text-decoration: none; - } - - a:hover { - text-decoration: underline; - } - /* - body { - text-align: center; - color: #444; - }*/ -</style> diff --git a/gui/app/views/projectdetail.html b/gui/app/views/projectdetail.html index 357a26add..405ff5af0 100644 --- a/gui/app/views/projectdetail.html +++ b/gui/app/views/projectdetail.html @@ -47,6 +47,7 @@ <li role="menuitem" ng-show="task.status!=0"><a ng-click="runAtaskForTable(task.uuid)">run</a></li> <li role="menuitem" ng-show="task.status!=0"><a ng-click="gotoModify(task.uuid)">modify</a></li> + <li role="menuitem" ng-show="task.status!=-1"><a ng-click="gotoLog(task.uuid)">log</a></li> <li role="menuitem" ng-show="task.status!=-1 && task.status!=0"><a ng-click="gotoReport(task.uuid)" style="color:#2ecc71">reporting</a></li> <li role="menuitem"><a ng-click="openDeleteEnv(task.uuid,'task')">delete</a></li> diff --git a/gui/app/views/taskLog.html b/gui/app/views/taskLog.html new file mode 100644 index 000000000..f90eb22b8 --- /dev/null +++ b/gui/app/views/taskLog.html @@ -0,0 +1,39 @@ +<div class="content"> + <i class="fa fa-arrow-left fa-1x" aria-hidden="true" style="color: #999;cursor:pointer" ng-click="goBack()">Back</i> + <h3>Log</h3> + <hr/> + <div style="display:flex;flex-direction:row"> + <div> + <div style="margin-top:5px;">Task: {{ taskId }}</div> + </div> + <div class="progree-parent" style="margin-top:10px;margin-left:20px"> + <div class="progree-child" ng-show="taskStatus==0" style="width:50%"></div> + <div class="progree-child" ng-show="taskStatus==1" style="width:100%"></div> + </div> + <i class="fa fa-check" aria-hidden="true" style="margin-top:10px;margin-left:5px;color: #2ecc71;" ng-show="taskStatus==1">finish</i> + <i class="fa fa-spinner" aria-hidden="true" style="margin-top:10px;margin-left:5px;color: #2ecc71;" ng-show="taskStatus==0">runing</i> + </div> + <div class="box"> + <div class="line-block" ng-repeat="line in logLines track by $index"> + <span>{{ line }}</span> + </div> + </div> +</div> + +<style> + .box { + width: 90%%; + border-radius: 5px; + border: 1px solid #e8e8e8; + line-height: 180%; + margin-top: 20px; + } + + .line-block { + margin-left: 10px; + } + + .content { + height: 90%; + } +</style> |