You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by is...@apache.org on 2018/02/08 18:18:07 UTC
[ambari] branch trunk updated: [AMBARI-22926] UI changes in the
Background Ops modal. (#284)
This is an automated email from the ASF dual-hosted git repository.
ishanbha pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git
The following commit(s) were added to refs/heads/trunk by this push:
new 26bf7a2 [AMBARI-22926] UI changes in the Background Ops modal. (#284)
26bf7a2 is described below
commit 26bf7a2d24f2489fbf6c3df50b32f4ce70dff183
Author: Ishan Bhatt <is...@gmail.com>
AuthorDate: Thu Feb 8 10:18:04 2018 -0800
[AMBARI-22926] UI changes in the Background Ops modal. (#284)
---
ambari-web/app/styles/modal_popups.less | 7 +
.../app/templates/common/host_progress_popup.hbs | 500 +++++++++++----------
2 files changed, 263 insertions(+), 244 deletions(-)
diff --git a/ambari-web/app/styles/modal_popups.less b/ambari-web/app/styles/modal_popups.less
index 3fb0a24..e8ce292 100644
--- a/ambari-web/app/styles/modal_popups.less
+++ b/ambari-web/app/styles/modal_popups.less
@@ -66,10 +66,17 @@
padding: 10px 10px 10px 20px;
}
.progress-wrapper {
+ padding: 8px 0px;
.progress {
margin-bottom: 0;
}
}
+ .progress-percentage {
+ padding: 8px 5px;
+ }
+ td {
+ vertical-align: middle;
+ }
}
.status-dropdown {
.btn.dropdown-toggle:first-child {
diff --git a/ambari-web/app/templates/common/host_progress_popup.hbs b/ambari-web/app/templates/common/host_progress_popup.hbs
index cc2f073..81ea2dc 100644
--- a/ambari-web/app/templates/common/host_progress_popup.hbs
+++ b/ambari-web/app/templates/common/host_progress_popup.hbs
@@ -18,71 +18,78 @@
<div class="host-component-popup-wrap">
-{{#if view.parentView.isLoaded}}
-{{!-- OPERATIONS --}}
+ {{#if view.parentView.isLoaded}}
+ {{!-- OPERATIONS --}}
- <div {{bindAttr class="view.parentView.isServiceListHidden:hidden :task-list-main-wrap :table-body-wrap"}}>
- <div class="top-wrap">
- <div class="row">
- <h2 class="table-title col-sm-6">{{view view.parentView.titleClass}}</h2>
- <div class="table-controls col-sm-6">
- <div class="btn-group pull-right status-dropdown">
- <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
- {{view.serviceCategory.label}} <span class="caret"></span>
- </button>
- <ul class="dropdown-menu">
- {{#each category in view.categories}}
- <li><a href="#" {{action selectServiceCategory category target="view"}}>{{category.label}}</a></li>
- {{/each}}
- </ul>
+ <div {{bindAttr class="view.parentView.isServiceListHidden:hidden :task-list-main-wrap :table-body-wrap"}}>
+ <div class="top-wrap">
+ <div class="row">
+ <h2 class="table-title col-sm-6">{{view view.parentView.titleClass}}</h2>
+ <div class="table-controls col-sm-6">
+ <div class="btn-group pull-right status-dropdown">
+ <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true"
+ aria-expanded="false">
+ {{view.serviceCategory.label}} <span class="caret"></span>
+ </button>
+ <ul class="dropdown-menu">
+ {{#each category in view.categories}}
+ <li><a href="#" {{action selectServiceCategory category target="view"}}>{{category.label}}</a></li>
+ {{/each}}
+ </ul>
+ </div>
</div>
</div>
</div>
- </div>
- <table class="table table-hover">
- <thead>
+ <div id="service-info">
+ <table class="table table-hover">
+ <thead>
<tr>
<th class="col-sm-3">{{t common.operations}}</th>
+ <th class="col-sm-3">{{t common.status}}</th>
+ <th class="col-sm-2">{{t common.user}}</th>
<th class="col-sm-3">{{t common.startTime}}</th>
- <th colspan="3" class="col-sm-6">{{t common.duration}}</th>
+ <th class="col-sm-2" colspan="2">{{t common.duration}}</th>
</tr>
- </thead>
- </table>
- <div id="service-info">
- {{#if view.isServiceEmptyList}}
- <div class="log-list-wrap">{{t hostPopup.noServicesToShow}}</div>
- {{else}}
- <table class="table table-hover">
- <tbody>
- {{#each servicesInfo in view.services}}
- <tr {{action onOpClick servicesInfo}} {{bindAttr class="servicesInfo.isVisible::hidden :pointer"}}>
- <td class="col-sm-3">
- {{view statusIcon servicesInfoBinding="servicesInfo"}}
- <a href="#">
- {{servicesInfo.name}}
- </a>
- </td>
- <td class="col-sm-3">{{servicesInfo.startTime}}</td>
- <td class="col-sm-2">{{servicesInfo.duration}}</td>
- <td class="col-sm-3">
- <div class="progress-wrapper col-sm-10">
- <div class="progress">
- <div {{bindAttr class="servicesInfo.isInProgress:active servicesInfo.isInProgress:progress-bar-striped servicesInfo.barColor :progress-bar" style="servicesInfo.barWidth"}}></div>
- </div>
- </div>
- <div class="col-sm-2">{{servicesInfo.progress}}%</div>
- </td>
- <td class="col-sm-1 text-right">
- {{#if servicesInfo.isAbortable}}
- {{view abortIcon servicesInfoBinding="servicesInfo"}}
- {{/if}}
- <a class="action" href="#">
- <span class="icon icon-caret-right"></span>
- </a>
- </td>
- </tr>
- {{/each}}
- </tbody>
+ </thead>
+ <tbody>
+ {{#if view.isServiceEmptyList}}
+ <tr>
+ <td colspan="5">
+ <div class="log-list-wrap">{{t hostPopup.noServicesToShow}}</div>
+ </td>
+ </tr>
+ {{else}}
+ {{#each servicesInfo in view.services}}
+ <tr {{action onOpClick servicesInfo}} {{bindAttr class="servicesInfo.isVisible::hidden :pointer"}}>
+ <td class="col-sm-3">
+ {{view statusIcon servicesInfoBinding="servicesInfo"}}
+ <a href="#">
+ {{servicesInfo.name}}
+ </a>
+ </td>
+ <td class="col-sm-3">
+ <div class="progress-wrapper col-sm-8">
+ <div class="progress">
+ <div {{bindAttr class="servicesInfo.isInProgress:active servicesInfo.isInProgress:progress-bar-striped servicesInfo.barColor :progress-bar" style="servicesInfo.barWidth"}}></div>
+ </div>
+ </div>
+ <div class="progress-percentage col-sm-2">{{servicesInfo.progress}}%</div>
+ </td>
+ {{!-- Hardcoding this for now. Will change it once BE returns this value --}}
+ <td class="col-sm-2">Admin</td>
+ <td class="col-sm-3">{{servicesInfo.startTime}}</td>
+ <td class="col-sm-2">{{servicesInfo.duration}}</td>
+ <td class="col-sm-1 text-right">
+ {{#if servicesInfo.isAbortable}}
+ {{view abortIcon servicesInfoBinding="servicesInfo"}}
+ {{/if}}
+ <a class="action" href="#">
+ <span class="icon icon-caret-right"></span>
+ </a>
+ </td>
+ </tr>
+ {{/each}}
+ </tbody>
{{#if view.isPaginate}}
<tfoot>
<tr>
@@ -93,58 +100,59 @@
</tfoot>
{{/if}}
</table>
- {{/if}}
- {{#if view.isShowMore}}
- <div class="show-more" {{action requestMoreOperations}}><a href="#">{{t hostPopup.serviceInfo.showMore}}</a>
- </div>
- {{/if}}
+ {{/if}}
+ {{#if view.isShowMore}}
+ <div class="show-more" {{action requestMoreOperations}}><a href="#">{{t hostPopup.serviceInfo.showMore}}</a>
+ </div>
+ {{/if}}
+ </div>
</div>
- </div>
- {{!-- HOSTS ---}}
+ {{!-- HOSTS ---}}
- <div {{bindAttr class="view.parentView.isHostListHidden:hidden :task-list-main-wrap :table-body-wrap"}}>
- <div class="top-wrap">
- <div class="row">
- <h2 class="table-title col-sm-2">{{t common.hosts}}</h2>
- <div class="table-controls col-sm-10">
- <div class="btn-group pull-right status-dropdown">
- <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
- {{view.hostCategory.label}} <span class="caret"></span>
- </button>
- <ul class="dropdown-menu">
- {{#each category in view.categories}}
- <li><a href="#" {{action selectHostCategory category target="view"}}>{{category.label}}</a></li>
- {{/each}}
- </ul>
+ <div {{bindAttr class="view.parentView.isHostListHidden:hidden :task-list-main-wrap :table-body-wrap"}}>
+ <div class="top-wrap">
+ <div class="row">
+ <h2 class="table-title col-sm-2">{{t common.hosts}}</h2>
+ <div class="table-controls col-sm-10">
+ <div class="btn-group pull-right status-dropdown">
+ <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true"
+ aria-expanded="false">
+ {{view.hostCategory.label}} <span class="caret"></span>
+ </button>
+ <ul class="dropdown-menu">
+ {{#each category in view.categories}}
+ <li><a href="#" {{action selectHostCategory category target="view"}}>{{category.label}}</a></li>
+ {{/each}}
+ </ul>
+ </div>
</div>
</div>
</div>
- </div>
- {{#if view.isRequestSchedule}}
- {{#if view.sourceRequestScheduleRunning}}
- <div class="alert alert-info request-schedule-abort">
- {{t hostPopup.bgop.sourceRequestSchedule.running}}
- <button type="button" class="btn btn-warning pull-right"
- {{action doAbortRequestSchedule view.sourceRequestScheduleId target="view"}}>
- {{view.requestScheduleAbortLabel}}
- </button>
- </div>
- {{/if}}
- {{#if view.sourceRequestScheduleAborted}}
- <div class="alert alert-info request-schedule-abort">
- {{t hostPopup.bgop.sourceRequestSchedule.aborted}}
- </div>
+ {{#if view.isRequestSchedule}}
+ {{#if view.sourceRequestScheduleRunning}}
+ <div class="alert alert-info request-schedule-abort">
+ {{t hostPopup.bgop.sourceRequestSchedule.running}}
+ <button type="button" class="btn btn-warning pull-right"
+ {{action doAbortRequestSchedule view.sourceRequestScheduleId target="view"}}>
+ {{view.requestScheduleAbortLabel}}
+ </button>
+ </div>
+ {{/if}}
+ {{#if view.sourceRequestScheduleAborted}}
+ <div class="alert alert-info request-schedule-abort">
+ {{t hostPopup.bgop.sourceRequestSchedule.aborted}}
+ </div>
+ {{/if}}
{{/if}}
- {{/if}}
- {{#if view.isLevelLoaded}}
- <div id="host-info" {{bindAttr class="view.isRequestSchedule:scheduled"}}>
- {{#if view.isHostEmptyList}}
- <div class="log-list-wrap">{{t hostPopup.noHostsToShow}}</div>
- {{else}}
- <table class="table table-hover">
- <tbody>
+ {{#if view.isLevelLoaded}}
+ <div id="host-info" {{bindAttr class="view.isRequestSchedule:scheduled"}}>
+ {{#if view.isHostEmptyList}}
+ <div class="log-list-wrap">{{t hostPopup.noHostsToShow}}</div>
+ {{else}}
+ <table class="table table-hover">
+ <tbody>
{{#each hostInfo in view.pageContent}}
<tr {{action onHostClick hostInfo}} {{bindAttr class="hostInfo.isVisible::hidden :pointer"}}>
<td class="col-sm-6 text-nowrap">
@@ -159,7 +167,7 @@
<div {{bindAttr class="hostInfo.isInProgress:progress-bar-striped :active hostInfo.barColor :progress-bar" style="hostInfo.barWidth"}}></div>
</div>
</div>
- <div class="col-sm-2">{{hostInfo.progress}}%</div>
+ <div class="progress-percentage col-sm-2">{{hostInfo.progress}}%</div>
</td>
<td class="col-sm-1 text-right">
<a class="action" href="#">
@@ -168,52 +176,53 @@
</td>
</tr>
{{/each}}
- </tbody>
- {{#if view.isPaginate}}
- <tfoot>
+ </tbody>
+ {{#if view.isPaginate}}
+ <tfoot>
<tr>
<td colspan="3">
{{view App.PaginationView}}
</td>
</tr>
- </tfoot>
- {{/if}}
- </table>
- {{/if}}
- </div>
- {{else}}
- {{view App.SpinnerView}}
- {{/if}}
- </div>
+ </tfoot>
+ {{/if}}
+ </table>
+ {{/if}}
+ </div>
+ {{else}}
+ {{view App.SpinnerView}}
+ {{/if}}
+ </div>
- {{!-- TASKS ---}}
+ {{!-- TASKS ---}}
- <div {{bindAttr class="view.parentView.isTaskListHidden:hidden :task-list-main-wrap :table-body-wrap"}}>
- <div class="top-wrap">
- <div class="row">
- <h2 class="table-title col-sm-2">{{t common.tasks}}</h2>
- <div class="table-controls col-sm-10">
- <div class="btn-group pull-right status-dropdown">
- <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
- {{view.taskCategory.label}} <span class="caret"></span>
- </button>
- <ul class="dropdown-menu">
- {{#each category in view.categories}}
- <li><a href="#" {{action selectTaskCategory category target="view"}}>{{category.label}}</a></li>
- {{/each}}
- </ul>
+ <div {{bindAttr class="view.parentView.isTaskListHidden:hidden :task-list-main-wrap :table-body-wrap"}}>
+ <div class="top-wrap">
+ <div class="row">
+ <h2 class="table-title col-sm-2">{{t common.tasks}}</h2>
+ <div class="table-controls col-sm-10">
+ <div class="btn-group pull-right status-dropdown">
+ <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true"
+ aria-expanded="false">
+ {{view.taskCategory.label}} <span class="caret"></span>
+ </button>
+ <ul class="dropdown-menu">
+ {{#each category in view.categories}}
+ <li><a href="#" {{action selectTaskCategory category target="view"}}>{{category.label}}</a></li>
+ {{/each}}
+ </ul>
+ </div>
</div>
</div>
</div>
- </div>
- <div id="host-log">
- {{#if view.hostInfoLoaded}}
- {{#if view.isTasksEmptyList}}
- <div class="log-list-wrap">{{t hostPopup.noTasksToShow}}</div>
- {{else}}
- <table class="table table-hover">
- <tbody>
+ <div id="host-log">
+ {{#if view.hostInfoLoaded}}
+ {{#if view.isTasksEmptyList}}
+ <div class="log-list-wrap">{{t hostPopup.noTasksToShow}}</div>
+ {{else}}
+ <table class="table table-hover">
+ <tbody>
{{#each taskInfo in view.tasks}}
<tr {{action onTaskClick taskInfo}} {{bindAttr class="taskInfo.isVisible::hidden :pointer"}}>
<td class="col-sm-3">
@@ -229,126 +238,129 @@
</td>
</tr>
{{/each}}
- </tbody>
- {{#if view.isPaginate}}
- <tfoot>
- <tr>
- <td colspan="2">
- {{view App.PaginationView}}
- </td>
- </tr>
- </tfoot>
- {{/if}}
- </table>
+ </tbody>
+ {{#if view.isPaginate}}
+ <tfoot>
+ <tr>
+ <td colspan="2">
+ {{view App.PaginationView}}
+ </td>
+ </tr>
+ </tfoot>
+ {{/if}}
+ </table>
+ {{/if}}
+ {{else}}
+ {{view App.SpinnerView}}
{{/if}}
- {{else}}
- {{view App.SpinnerView}}
- {{/if}}
+ </div>
</div>
- </div>
- <!-- TASK DETAILS --->
+ <!-- TASK DETAILS --->
- <div {{bindAttr class="view.parentView.isLogWrapHidden:hidden :task-detail-info view.hostComponentLogsExists:task-detail-info-tabbed"}}>
- <div class="task-top-wrap top-wrap">
- <div {{bindAttr class="view.hostComponentLogsExists:task-detail-log-nav-actions :row"}}>
- <h2 class="table-title col-sm-5">{{t common.taskLog}}</h2>
- <div class="table-controls col-sm-7 pull-right">
- {{#if App.supports.logSearch}}
- {{#if view.isLogSearchInstalled}}
- {{#havePermissions "SERVICE.VIEW_OPERATIONAL_LOGS"}}
- <button type="button" class="btn btn-link pull-right" {{action navigateToHostLogs target="view"}}
- {{bindAttr class="view.isLogsLinkVisible::hidden" disabled="App.router.wizardWatcherController.isNonWizardUser"}}>
- <i class="glyphicon glyphicon-file"></i> {{t common.host}} {{t common.logs}}
- </button>
- {{/havePermissions}}
+ <div {{bindAttr class="view.parentView.isLogWrapHidden:hidden :task-detail-info view.hostComponentLogsExists:task-detail-info-tabbed"}}>
+ <div class="task-top-wrap top-wrap">
+ <div {{bindAttr class="view.hostComponentLogsExists:task-detail-log-nav-actions :row"}}>
+ <h2 class="table-title col-sm-5">{{t common.taskLog}}</h2>
+ <div class="table-controls col-sm-7 pull-right">
+ {{#if App.supports.logSearch}}
+ {{#if view.isLogSearchInstalled}}
+ {{#havePermissions "SERVICE.VIEW_OPERATIONAL_LOGS"}}
+ <button type="button" class="btn btn-link pull-right" {{action navigateToHostLogs target="view"}}
+ {{bindAttr class="view.isLogsLinkVisible::hidden" disabled="App.router.wizardWatcherController.isNonWizardUser"}}>
+ <i class="glyphicon glyphicon-file"></i> {{t common.host}} {{t common.logs}}
+ </button>
+ {{/havePermissions}}
+ {{/if}}
{{/if}}
- {{/if}}
- <button type="button" class="btn btn-link pull-right"
- {{translateAttr title="common.openNewWindow"}}
- {{action openTaskLogInDialog}}>
- <i class="icon icon-external-link"></i> {{t common.open}}
- </button>
- <button type="button" class="btn btn-link pull-right copy-clipboard"
- {{translateAttr title="common.fullLogPopup.clickToCopy"}}
- {{action "textTrigger" taskInfo target="view"}}>
- <i class="glyphicon glyphicon-copy"></i> {{t common.copy}}
- </button>
+ <button type="button" class="btn btn-link pull-right"
+ {{translateAttr title="common.openNewWindow"}}
+ {{action openTaskLogInDialog}}>
+ <i class="icon icon-external-link"></i> {{t common.open}}
+ </button>
+ <button type="button" class="btn btn-link pull-right copy-clipboard"
+ {{translateAttr title="common.fullLogPopup.clickToCopy"}}
+ {{action "textTrigger" taskInfo target="view"}}>
+ <i class="glyphicon glyphicon-copy"></i> {{t common.copy}}
+ </button>
+ </div>
</div>
- </div>
- <ul {{bindAttr class="view.hostComponentLogsExists::hide :nav :nav-tabs :task-detail-nav"}}>
- <li {{bindAttr class="view.isLevelLoaded:active"}}>
- <a href="#" data-target="#task-log-tab" data-toggle="tab" {{action setActiveTaskLogTab target="view"}}>{{t app.name}} stdout/stderr</a>
- </li>
- {{#each hostLog in view.hostComponentLogs}}
- <li>
- <a href="#" {{action setActiveLogTab hostLog target="view"}} {{bindAttr data-target="hostLog.tabClassNameSelector"}} data-toggle="tab">{{hostLog.displayedFileName}}</a>
+ <ul {{bindAttr class="view.hostComponentLogsExists::hide :nav :nav-tabs :task-detail-nav"}}>
+ <li {{bindAttr class="view.isLevelLoaded:active"}}>
+ <a href="#" data-target="#task-log-tab"
+ data-toggle="tab" {{action setActiveTaskLogTab target="view"}}>{{t app.name}} stdout/stderr</a>
</li>
- {{/each}}
- </ul>
- </div>
- {{#if view.isLevelLoaded}}
- <div class="task-detail-log-info">
- <div class="content-area">
- <div class="tab-content">
- <div class="task-detail-log-clipboard-wrap">
- {{#if view.isClipBoardActive}}
- {{view App.NotScrollableTextArea class="task-detail-log-clipboard" valueBinding="view.textAreaValue"}}
- {{/if}}
- </div>
- <div id="task-log-tab" class="tab-pane active">
- <div {{bindAttr class=":task-detail-log-maintext view.isClipBoardActive:hidden"}}>
- {{#if view.openedTask.isRebalanceHDFSTask }}
- <h5>{{t services.hdfs.rebalance.title}}</h5>
+ {{#each hostLog in view.hostComponentLogs}}
+ <li>
+ <a href="#" {{action setActiveLogTab hostLog target="view"}} {{bindAttr data-target="hostLog.tabClassNameSelector"}}
+ data-toggle="tab">{{hostLog.displayedFileName}}</a>
+ </li>
+ {{/each}}
+ </ul>
+ </div>
+ {{#if view.isLevelLoaded}}
+ <div class="task-detail-log-info">
+ <div class="content-area">
+ <div class="tab-content">
+ <div class="task-detail-log-clipboard-wrap">
+ {{#if view.isClipBoardActive}}
+ {{view App.NotScrollableTextArea class="task-detail-log-clipboard" valueBinding="view.textAreaValue"}}
+ {{/if}}
+ </div>
+ <div id="task-log-tab" class="tab-pane active">
+ <div {{bindAttr class=":task-detail-log-maintext view.isClipBoardActive:hidden"}}>
+ {{#if view.openedTask.isRebalanceHDFSTask }}
+ <h5>{{t services.hdfs.rebalance.title}}</h5>
- <div class="progresspopup-rebalancehdfs">
- <div class="progress-bar">
- <div {{bindAttr class=":progress view.openedTask.isInProgress:progress-bar-striped view.openedTask.barColor :active" style="view.openedTask.completionProgressStyle"}}></div>
+ <div class="progresspopup-rebalancehdfs">
+ <div class="progress-bar">
+ <div {{bindAttr class=":progress view.openedTask.isInProgress:progress-bar-striped view.openedTask.barColor :active" style="view.openedTask.completionProgressStyle"}}></div>
+ </div>
</div>
- </div>
- <div class="clearfix">
- <div class="pull-left">
- {{view.openedTask.dataMoved}} moved /
- {{view.openedTask.dataLeft}} left /
- {{view.openedTask.dataBeingMoved}} being processed
+ <div class="clearfix">
+ <div class="pull-left">
+ {{view.openedTask.dataMoved}} moved /
+ {{view.openedTask.dataLeft}} left /
+ {{view.openedTask.dataBeingMoved}} being processed
+ </div>
+ {{#if view.openedTask.isNotComplete}}
+ <button class="btn btn-danger pull-right" {{action stopRebalanceHDFS}}>{{t common.cancel}}</button>
+ {{/if}}
</div>
- {{#if view.openedTask.isNotComplete}}
- <button class="btn btn-danger pull-right" {{action stopRebalanceHDFS}}>{{t common.cancel}}</button>
- {{/if}}
- </div>
- <hr>
- {{/if}}
- <p>{{t common.stderr}}: <span class="muted">{{view.openedTask.errorLog}} </span></p>
- <pre class="stderr">{{view.openedTask.stderr}}</pre>
- <p>{{t common.stdout}}: <span class="muted"> {{view.openedTask.outputLog}} </span></p>
- <pre class="stdout">{{view.openedTask.stdout}}</pre>
- </div>
- </div>
- {{#each hostLog in view.hostComponentLogs}}
- <div {{bindAttr class=":tab-pane :log-component-tab hostLog.tabClassName"}}>
- <p {{bindAttr class="view.isClipBoardActive:hidden"}}>
- <strong>{{t common.file}}: </strong>
- <strong class="muted">{{hostLog.fileName}}</strong>
- {{#view App.LogSearchUILinkView linkQueryParamsBinding="hostLog.linkTail" tagName="span"}}
- <a {{bindAttr href="view.formatedLink" class=":pull-right view.isLodaded::disabled"}} target="_blank">
- <i class="icon-external-link"></i>
- {{t popup.logTail.openInLogSearch}}</a>
- {{/view}}
- </p>
- <div {{bindAttr class="view.isClipBoardActive:hidden"}}>
- {{view view.logTailView contentBinding="hostLog"}}
+ <hr>
+ {{/if}}
+ <p>{{t common.stderr}}: <span class="muted">{{view.openedTask.errorLog}} </span></p>
+ <pre class="stderr">{{view.openedTask.stderr}}</pre>
+ <p>{{t common.stdout}}: <span class="muted"> {{view.openedTask.outputLog}} </span></p>
+ <pre class="stdout">{{view.openedTask.stdout}}</pre>
</div>
</div>
- {{/each}}
+ {{#each hostLog in view.hostComponentLogs}}
+ <div {{bindAttr class=":tab-pane :log-component-tab hostLog.tabClassName"}}>
+ <p {{bindAttr class="view.isClipBoardActive:hidden"}}>
+ <strong>{{t common.file}}: </strong>
+ <strong class="muted">{{hostLog.fileName}}</strong>
+ {{#view App.LogSearchUILinkView linkQueryParamsBinding="hostLog.linkTail" tagName="span"}}
+ <a {{bindAttr href="view.formatedLink" class=":pull-right view.isLodaded::disabled"}}
+ target="_blank">
+ <i class="icon-external-link"></i>
+ {{t popup.logTail.openInLogSearch}}</a>
+ {{/view}}
+ </p>
+ <div {{bindAttr class="view.isClipBoardActive:hidden"}}>
+ {{view view.logTailView contentBinding="hostLog"}}
+ </div>
+ </div>
+ {{/each}}
+ </div>
</div>
</div>
- </div>
- {{else}}
- {{view App.SpinnerView}}
- {{/if}}
- </div>
-{{else}}
- {{view App.SpinnerView}}
-{{/if}}
+ {{else}}
+ {{view App.SpinnerView}}
+ {{/if}}
+ </div>
+ {{else}}
+ {{view App.SpinnerView}}
+ {{/if}}
</div>
--
To stop receiving notification emails like this one, please contact
ishanbha@apache.org.