Skip to content
This repository has been archived by the owner on Nov 9, 2017. It is now read-only.

Commit

Permalink
Merge pull request #212 from ammendonca/HAWKULAR-220
Browse files Browse the repository at this point in the history
HAWKULAR-220: App Server Detail - Deployments Metrics Tab
  • Loading branch information
mtho11 committed Jun 15, 2015
2 parents 52e0282 + 3b3a3a6 commit 998a991
Show file tree
Hide file tree
Showing 7 changed files with 238 additions and 97 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -102,20 +102,7 @@ module Sidebar {

// FIXME: Mock data.. remove when we have real app servers
$scope.getAppServerFromId = function(id) {
switch (id) {
case "f5087d5d26aeff90cc92c738a10d8bba":
$scope.resourceName = 'Eavy Machine';
break;
case "5c4785a7a304d32e5f404242666895f5":
$scope.resourceName = 'Tori Machine';
break;
case "21193e7941642baa1285cd7edd8af62e":
$scope.resourceName = 'Wiko Machine';
break;
case "20a0e9f5d777a16ad40928dd3ba1bef9":
$scope.resourceName = 'Tomy Machine';
break;
}
$scope.resourceName = id;
};

}]);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
-->
<li ng-class="vm.activeTab === 'jvm-metrics' ? 'active' : ''"><a href="#" ng-click="vm.activeTab = 'jvm-metrics'" class="hk-jvm-metrics">JVM</a></li>
<li ng-class="vm.activeTab === 'web' ? 'active' : ''"><a href="#" ng-click="vm.activeTab = 'web'" class="hk-web">Web</a></li>
<li ng-class="vm.activeTab === 'deployments' ? 'active' : ''"><a href="#" ng-click="vm.activeTab = 'deployments'" class="hk-deployments">Deployments</a></li>

<!--
<li ng-class="vm.activeTab === 'jms' ? 'active' : ''"><a href="#" ng-click="vm.activeTab = 'jms'" class="hk-jms">JMS</a></li>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,45 +1,136 @@

<section id="hk-deployments" class="hk-tab-content" ng-if="vm.activeTab === 'deployments'">

<h3 class="pull-left">Deployments</h3>
<span class="hk-update pull-right" tooltip-trigger tooltip-placement="bottom" tooltip="Last update"><i class="fa fa-clock-o"></i>{{vm.endTimeStamp | date:'mediumTime'}}</span>
<div class="panel panel-default hk-summary">
<div class="row">
<div class="col-sm-3 hk-summary-item">
<span class="hk-data">-Xmx</span>
<span class="hk-item">Max. Heap</span>
</div>
<div class="col-sm-3 hk-summary-item">
<span class="hk-data">20 GB</span>
<span class="hk-item">Avg. Heap Usage</span>
</div>
<div class="col-sm-3 hk-summary-item">
<span class="hk-data">22:00</span>
<span class="hk-item">Last Garbage Collection</span>
</div>
<div class="col-sm-3 hk-summary-item">
<span class="hk-data">3</span>
<span class="hk-item">Alerts</span>
</div>
</div>
<h3 class="pull-left">Deployment Status</h3>
<span class="hk-update pull-right" tooltip-trigger tooltip-placement="bottom" tooltip="Last update"><i class="fa fa-clock-o"></i>{{vm.endTimeStamp | date:'mediumTime'}}</span>
<div class="panel panel-default hk-summary">
<div class="row">
<div class="col-sm-3 hk-summary-item">
<span class="hk-data">{{vm.alertList.length}} <i class="fa fa-flag" ng-show="false"></i></span>
<span class="hk-item">Deployment Alerts</span>
</div>
<div class="col-sm-3 hk-summary-item">
<span class="hk-data">{{vm.failedDeployments || 0}} Failed</span>
<span class="hk-item">Deployments</span>
</div>
<div class="col-sm-3 hk-summary-item">
<span class="hk-data">{{vm.resourceList.length || 0}} Enabled</span>
<span class="hk-item">Deployments</span>
</div>
<div class="col-sm-3 hk-summary-item">
<span class="hk-data">{{vm.disabledDeployments || 0}} Disabled</span>
<span class="hk-item">Deployments</span>
</div>
</div>
</div>

<!-- Alerts -->
<div class="hk-info-top clearfix">
<h3 class="pull-left" data-toggle="tooltip" data-placement="top" title="" data-original-title="Expand/collapse">
<button class="btn btn-link hk-trigger" ng-click="showAllAlerts = !showAllAlerts"><i class="fa" ng-show="vm.alertList.length > 0" ng-class="showAllAlerts ? 'fa-minus-square-o' : 'fa-plus-square-o'"></i> Deployment Alerts <span ng-show="vm.alertList.length > 0">({{showAllAlerts ? vm.alertList.length : vm.math.min(vm.alertList.length, 3)}} of {{vm.alertList.length}})</span></button>
</h3>
<span class="hk-settings pull-right"><a href="#" ng-controller="MetricsAlertController as mac" ng-click="mac.openSetup()"><i class="fa fa-cog"></i>Alert Settings</a></span>
</div>
<div class="clearfix">
<!-- No Alerts -->
<div class="panel panel-default alert alert-info" ng-show="vm.alertList.length === 0">
<div class="hk-alert-icon"><i class="fa fa-flag gray"></i></div>
<div>No alerts have been fired in this category and time range.</div>
</div>
<!-- Alerts exist -->
<div class="panel panel-default alert alert-danger" ng-repeat="alert in vm.alertList | limitTo: (showAllAlerts ? 100000 : 3) track by $index">
<div class="hk-alert-icon"><i class="fa fa-flag"></i></div>
<div class="hk-date">{{alert.evalSets[0][0].evalTimestamp | date:'medium' }}</div>
<div class="hk-event"><strong>Alert Summary</strong>: alert details.</div>
</div>
</div>

<!-- Deployments Table -->
<div class="hk-info-top clearfix">
<h3>Deployments</h3>
<div class="actions-table">
<button class="btn btn-default add" type="button" disabled>Add Deployment</button>
<div class="dropdown">
<button class="btn btn-default" type="button" id="dropdownMenu1" dropdown-toggle>
Actions
<span class="caret"></span>
</button>
<ul class="dropdown-menu disabled" role="menu" aria-labelledby="dropdownMenu1">
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Enable</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Disable</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Redeploy</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Undeploy</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Delete</a></li>
</ul>
</div>
</div>
</div>

<div class="hk-info-top clearfix">
<h3 class="pull-left" tooltip-trigger tooltip-placement="top" tooltip="Expand/collapse"><button class="btn btn-link hk-trigger"><i class="fa fa-plus-square-o"></i> Alerts <span>(1)</span></button></h3>
<span class="hk-settings pull-right"><a href="#" ng-controller="MetricsAlertController as mac" ng-click="mac.openSetup()"><i class="fa fa-cog"></i>Alert Settings</a></span>
<div id="DataTables_Table_0_wrapper" class="dataTables_wrapper no-footer">
<div class="dataTables_header">
<div id="DataTables_Table_0_filter" class="dataTables_filter">
<label><input type="search" ng-model="vm.search" aria-controls="DataTables_Table_0"></label>
</div>
<div class="dataTables_info" id="DataTables_Table_0_info" role="status" aria-live="polite">Showing <b>1</b> to <b>{{vm.resourceList.length}}</b> of <b>{{vm.resourceList.length}}</b> Items</div>
</div>
<div class="table-responsive">
<table class="datatable table table-striped table-bordered table-checkbox dataTable no-footer" id="DataTables_Table_0" aria-describedby="DataTables_Table_0_info" role="grid">
<thead>
<tr role="row">
<th class="sorting" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="1" aria-sort="ascending" aria-label=": activate to sort column descending"><input type="checkbox"></th>
<th class="sorting" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="1" aria-label="Current State: activate to sort column ascending">Current State</th>
<th class="sorting" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="1" aria-label="Deployments 10: activate to sort column ascending">Deployments <span class="label label-default label-alert pull-right" tooltip-trigger tooltip-placement="top" tooltip="Total alerts" ng-show="vm.alertList.length">{{vm.alertList.length}}</span></th>
<th class="sorting" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="1" aria-label="Enabled/Disabled: activate to sort column ascending">Enabled/Disabled</th>
<th class="sorting" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="1" aria-label="Computer Health: activate to sort column ascending">Computed Health</th>
<th class="sorting" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="1" aria-label="Actions: activate to sort column ascending">Actions</th>
</tr>
</thead>
<tbody>
<tr class="odd"><td valign="top" colspan="6" class="dataTables_empty" ng-show="vm.search && (vm.resourceList | filter:vm.search).length === 0"><p>Suggestions</p><ul><li>Check the syntax of the search term.</li><li>Check that the correct menu option is chosen (token ID vs. user ID).</li><li>Use wildcards (* to match zero or more characters or ? to match a single character).</li><li>Clear the search field, then click Search to return to the 20 most recent records.</li></ul></td></tr>
<tr role="row" ng-repeat="res in vm.resourceList | filter:vm.search" class="odd">
<td class="sorting_1"><input type="checkbox"></td>
<td class="state" ng-show="res.state === 'up'"><i class="fa fa-check-circle-o"></i> OK</td>
<td class="state" ng-show="res.state === 'unknown'"><i class="fa fa-square"></i> Stopped</td>
<td class="state" ng-show="false"><i class="fa fa-times-circle-o"></i> Failed</td>
<td><strong>{{res.properties.name | limitTo14 : res.properties.name.length-13 : 12}}</strong> <span ng-show="false">({{res.properties.name | limitTo14 : res.properties.name.length-13 : 12}})</span> <span class="label label-danger label-alert pull-right" tooltip-trigger tooltip-placement="top" tooltip="Deployment alerts">{{res.alerts}}</span></td>
<td ng-show="true">Enabled</td>
<td ng-show="false">Disabled</td>
<td class="success" ng-show="true">Good</td>
<td class="warning" ng-show="false">Fair</td>
<td class="danger" ng-show="false">Poor</td>
<td class="actions">
<div class="dropdown">
<button class="btn btn-default" type="button" id="dropdownMenu2" dropdown-toggle>
Actions
<span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu2">
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Enable</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Disable</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Redeploy</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Undeploy</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Delete</a></li>
</ul>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="alerts-activity clearfix">
<div class="panel panel-default alert alert-danger">
<div class="hk-alert-icon">
<i class="fa fa-flag"></i>
</div>
<div class="hk-date">
12 Feb, 5:35 PM
</div>
<div class="hk-event">
Server <strong>down</strong> for 4 minutes (until 5:39 PM).
</div>
<div class="dataTables_footer">
<div class="dataTables_paginate paging_bootstrap_input" id="DataTables_Table_0_paginate">
<ul class="pagination">
<li class="first disabled"><span class="i fa fa-angle-double-left"></span></li>
<li class="prev disabled"><span class="i fa fa-angle-left"></span></li>
</ul>
<div class="pagination-input">
<input type="text" class="paginate_input" value="1"><span class="paginate_of">of <b>1</b></span>
</div>
<ul class="pagination">
<li class="next disabled"><span class="i fa fa-angle-right"></span></li>
<li class="last disabled"><span class="i fa fa-angle-double-right"></span></li>
</ul>
</div>
</div>
</div>

</section>
</section><!-- .deployments -->
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,7 @@ <h1>No application servers set up.</h1>
<p ng-hide="res.state"><span class="spinner spinner-sm spinner-inline"></span> <span class="fetching">Fetching state...</span></p>
{{res.state | firstUpper}}
</td>
<!--<td><a href="/hawkular-ui/app/app-details/{{res.id | urlEncode}}">{{res.id | limitTo14 : res.id.length-4 : 1}}</a> <a href="/hawkular-ui/app/app-details/{{res.id | urlEncode}}" class="pull-right"><span class="label label-danger label-alert" tooltip-trigger tooltip-placement="top" tooltip="Server alerts" ng-show="res.alerts.length > 0">{{res.alerts.length}}</span></a></td>-->
<td>{{res.id | limitTo14 : res.id.length-4 : 1}}<span class="label label-danger label-alert" tooltip-trigger tooltip-placement="top" tooltip="Server alerts" ng-show="res.alerts.length > 0">{{res.alerts.length}}</span></td>
<td><a href="/hawkular-ui/app/app-details/{{res.id | limitTo14 : res.id.length-4 : 1}}">{{res.id | limitTo14 : res.id.length-4 : 1}}</a> <a href="/hawkular-ui/app/app-details/{{res.id | urlEncode}}" class="pull-right"><span class="label label-danger label-alert" tooltip-trigger tooltip-placement="top" tooltip="Server alerts" ng-show="res.alerts.length > 0">{{res.alerts.length}}</span></a></td>
<td>{{res.type.id}}</td>
<td>{{res.properties.name | limitTo14 : res.properties.name.length-17 : 16}}</td>
<!-- <td class="center"><span class="label label-primary" ng-repeat="tag in res.tags">{{tag}}</span><span ng-hide="res.tags.length > 0">--</span></td> -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,9 @@ a:hover .fa-spinner {
padding: 2px 4px;
}

.help-block {

}

// tables

Expand All @@ -169,6 +172,18 @@ a:hover .fa-spinner {

.table-striped > tbody > tr:nth-child(odd) > td {
background-color: white;

&.success {
background-color: #dff0d8;
}

&.danger {
background-color: #f2dede;
}

&.warning {
background-color: #fcf8e3;
}
}

.table-striped > tbody > tr.selected > td {
Expand All @@ -194,6 +209,18 @@ a:hover .fa-spinner {
font-size: 20px;
text-align: center;
width: 21px;

&.fa-square {
font-size: 18px;
}

&.fa-check-circle-o {
color: @brand-success;
}

&.fa-times-circle-o {
color: @brand-danger;
}
}

p {
Expand All @@ -209,12 +236,37 @@ a:hover .fa-spinner {
span.fetching {
color: @gray-light;
}
}

td.actions {

min-width: 95px;

.dropdown {
position: absolute;
margin-top: -2px;
}
}
}

.dataTables_header {
padding: 5px 5px 7px 5px;
padding: 7px 5px 9px 5px;
}

.actions-table {
position: absolute;
top: 46px;
z-index: 10;
right: 5px;

.add,
.dropdown {
display:inline-block;
}

.add {
margin-right: 8px;
}
}


Expand Down Expand Up @@ -258,6 +310,7 @@ a:hover .fa-spinner {
}
}

.ng-dirty,
.hk-fade-in {
.help-block {
color: @brand-danger;
Expand Down Expand Up @@ -367,7 +420,7 @@ a:hover .fa-spinner {
}

.btn-link {
color: @gray;
color: @gray-light;

&:hover {
color: @link-hover-color;
Expand Down Expand Up @@ -530,7 +583,6 @@ a:hover .fa-spinner {
}

.blank-slate-pf {
// .panel;
margin-bottom: 20px;
background-color: #ffffff;
border: 1px solid transparent;
Expand Down Expand Up @@ -929,6 +981,9 @@ section {
}

.hk-info-top {

position: relative;

.hk-settings {
margin-top: @grid-gutter-width/4;
}
Expand All @@ -937,14 +992,20 @@ section {
margin-top: -7px;
margin-right: -11px;
}

+ .dataTables_wrapper {
margin-top: 0;
}
}


// modal

.modal-backdrop {
width: 100%!important;
}


// dev styles

// metrics response
Expand Down

0 comments on commit 998a991

Please sign in to comment.