table skeleton
This commit is contained in:
parent
906ee1b216
commit
ef64445d9c
146
app/table/entry/column_duration/duration_column.css
Normal file
146
app/table/entry/column_duration/duration_column.css
Normal file
@ -0,0 +1,146 @@
|
||||
.nav-side-menu {
|
||||
overflow: auto;
|
||||
font-family: verdana;
|
||||
font-size: 12px;
|
||||
font-weight: 200;
|
||||
background-color: #2e353d;
|
||||
position: fixed;
|
||||
top: 0px;
|
||||
width: 300px;
|
||||
height: 100%;
|
||||
color: #e1ffff;
|
||||
}
|
||||
.nav-side-menu .brand {
|
||||
background-color: #23282e;
|
||||
line-height: 50px;
|
||||
display: block;
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
}
|
||||
.nav-side-menu .toggle-btn {
|
||||
display: none;
|
||||
}
|
||||
.nav-side-menu ul,
|
||||
.nav-side-menu li {
|
||||
list-style: none;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
line-height: 35px;
|
||||
cursor: pointer;
|
||||
/*
|
||||
.collapsed{
|
||||
.arrow:before{
|
||||
font-family: FontAwesome;
|
||||
content: "\f053";
|
||||
display: inline-block;
|
||||
padding-left:10px;
|
||||
padding-right: 10px;
|
||||
vertical-align: middle;
|
||||
float:right;
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
.nav-side-menu ul :not(collapsed) .arrow:before,
|
||||
.nav-side-menu li :not(collapsed) .arrow:before {
|
||||
font-family: FontAwesome;
|
||||
content: "\f078";
|
||||
display: inline-block;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
vertical-align: middle;
|
||||
float: right;
|
||||
}
|
||||
.nav-side-menu ul .active,
|
||||
.nav-side-menu li .active {
|
||||
border-left: 3px solid #d19b3d;
|
||||
background-color: #4f5b69;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li.active,
|
||||
.nav-side-menu li .sub-menu li.active {
|
||||
color: #d19b3d;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li.active a,
|
||||
.nav-side-menu li .sub-menu li.active a {
|
||||
color: #d19b3d;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li,
|
||||
.nav-side-menu li .sub-menu li {
|
||||
background-color: #181c20;
|
||||
border: none;
|
||||
line-height: 28px;
|
||||
border-bottom: 1px solid #23282e;
|
||||
margin-left: 0px;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li:hover,
|
||||
.nav-side-menu li .sub-menu li:hover {
|
||||
background-color: #020203;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li:before,
|
||||
.nav-side-menu li .sub-menu li:before {
|
||||
font-family: FontAwesome;
|
||||
content: "\f105";
|
||||
display: inline-block;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.nav-side-menu li {
|
||||
padding-left: 0px;
|
||||
border-left: 3px solid #2e353d;
|
||||
border-bottom: 1px solid #23282e;
|
||||
}
|
||||
.nav-side-menu li a {
|
||||
text-decoration: none;
|
||||
color: #e1ffff;
|
||||
}
|
||||
.nav-side-menu li a i {
|
||||
padding-left: 10px;
|
||||
width: 20px;
|
||||
padding-right: 20px;
|
||||
}
|
||||
.nav-side-menu li:hover {
|
||||
border-left: 3px solid #d19b3d;
|
||||
background-color: #4f5b69;
|
||||
-webkit-transition: all 1s ease;
|
||||
-moz-transition: all 1s ease;
|
||||
-o-transition: all 1s ease;
|
||||
-ms-transition: all 1s ease;
|
||||
transition: all 1s ease;
|
||||
}
|
||||
@media (max-width: 767px) {
|
||||
.nav-side-menu {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.nav-side-menu .toggle-btn {
|
||||
display: block;
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 10px;
|
||||
z-index: 10 !important;
|
||||
padding: 3px;
|
||||
background-color: #ffffff;
|
||||
color: #000;
|
||||
width: 40px;
|
||||
text-align: center;
|
||||
}
|
||||
.brand {
|
||||
text-align: left !important;
|
||||
font-size: 22px;
|
||||
padding-left: 20px;
|
||||
line-height: 50px !important;
|
||||
}
|
||||
}
|
||||
@media (min-width: 767px) {
|
||||
.nav-side-menu .menu-list .menu-content {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
body {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
59
app/table/entry/column_duration/duration_column.html
Normal file
59
app/table/entry/column_duration/duration_column.html
Normal file
@ -0,0 +1,59 @@
|
||||
<div nv-app="adagios.sidebar" class="nav-side-menu" ng-controller="SideBarCtrl">
|
||||
<div class="brand">ADAGIOS</div>
|
||||
<i class="fa fa-bars fa-2x toggle-btn" data-toggle="collapse" data-target="#menu-content"></i>
|
||||
|
||||
<div class="menu-list">
|
||||
|
||||
<ul id="menu-content" class="menu-content out">
|
||||
|
||||
<li data-toggle="collapse" data-target="#shortcut" class="collapsed menu-title">
|
||||
<a href="#"> Shortcut <span class="arrow"></span></a>
|
||||
</li>
|
||||
<ul class="sub-menu collapse" id="shortcut">
|
||||
<li><a href="#/tactical">Dashboard</a></li>
|
||||
<li><a href="#/hosts">Hosts</a></li>
|
||||
<li><a href="#">Services</a></li>
|
||||
<li><a href="#">Networks parents</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<li data-toggle="collapse" data-target="#reports" class="collapsed menu-title">
|
||||
<a href="#"> Reports <span class="arrow"></span></a>
|
||||
</li>
|
||||
<ul class="sub-menu collapse" id="reports">
|
||||
<li><a href="#">State History</a></li>
|
||||
<li><a href="#">Log</a></li>
|
||||
<li><a href="#">Comments</a></li>
|
||||
<li><a href="#">Downtimes</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<li data-toggle="collapse" data-target="#groups" class="collapsed menu-title">
|
||||
<a href="#"> Groups <span class="arrow"></span></a>
|
||||
</li>
|
||||
<ul class="sub-menu collapse" id="groups">
|
||||
<li><a href="#">Hostgroups</a></li>
|
||||
<li><a href="#">Servicegroups</a></li>
|
||||
<li><a href="#">Contactgroups</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<li data-toggle="collapse" data-target="#other" class="collapsed menu-title">
|
||||
<a href="#"> Other <span class="arrow"></span></a>
|
||||
</li>
|
||||
<ul class="sub-menu collapse" id="other">
|
||||
<li><a href="#">Grafana</a></li>
|
||||
<li><a href="#">Nagvis</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="#">
|
||||
<i class="fa fa-user fa-lg"></i> Profile
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
14
app/table/entry/column_duration/duration_column.js
Normal file
14
app/table/entry/column_duration/duration_column.js
Normal file
@ -0,0 +1,14 @@
|
||||
'use strict';
|
||||
|
||||
angular.module('adagios.table.entry.column_duration', [])
|
||||
|
||||
.controller('SideBarCtrl', ['$scope', '$http', function ($scope, $http) {
|
||||
return;
|
||||
}])
|
||||
|
||||
.directive('sidebar', function () {
|
||||
return {
|
||||
restrict: 'E',
|
||||
templateUrl: "sidebar/sidebar.html"
|
||||
};
|
||||
});
|
41
app/table/entry/column_duration/duration_column_test.js
Normal file
41
app/table/entry/column_duration/duration_column_test.js
Normal file
@ -0,0 +1,41 @@
|
||||
'use strict';
|
||||
|
||||
describe('Sidebar module', function () {
|
||||
var $compile,
|
||||
$rootScope,
|
||||
$controller,
|
||||
$httpBackend;
|
||||
|
||||
beforeEach(module('adagios.sidebar'));
|
||||
|
||||
beforeEach(inject(function (_$compile_, _$rootScope_, _$controller_, _$httpBackend_) {
|
||||
$compile = _$compile_;
|
||||
$rootScope = _$rootScope_;
|
||||
$controller = _$controller_;
|
||||
$httpBackend = _$httpBackend_;
|
||||
|
||||
$httpBackend.expectGET('sidebar/sidebar.html').respond('<li></li>');
|
||||
}));
|
||||
|
||||
describe('SideBarCtrl', function () {
|
||||
|
||||
it('should be defined', function () {
|
||||
var scope = $rootScope.$new(),
|
||||
ctrl = $controller('SideBarCtrl', { $scope : scope });
|
||||
|
||||
expect(ctrl).toBeDefined();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('Sidebar directive', function () {
|
||||
|
||||
it('should send a GET request', function () {
|
||||
var element = $compile('<sidebar></sidebar>')($rootScope);
|
||||
$httpBackend.flush();
|
||||
|
||||
expect(element.html()).toBe('<li></li>');
|
||||
});
|
||||
|
||||
});
|
||||
});
|
146
app/table/entry/column_host/host_column.css
Normal file
146
app/table/entry/column_host/host_column.css
Normal file
@ -0,0 +1,146 @@
|
||||
.nav-side-menu {
|
||||
overflow: auto;
|
||||
font-family: verdana;
|
||||
font-size: 12px;
|
||||
font-weight: 200;
|
||||
background-color: #2e353d;
|
||||
position: fixed;
|
||||
top: 0px;
|
||||
width: 300px;
|
||||
height: 100%;
|
||||
color: #e1ffff;
|
||||
}
|
||||
.nav-side-menu .brand {
|
||||
background-color: #23282e;
|
||||
line-height: 50px;
|
||||
display: block;
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
}
|
||||
.nav-side-menu .toggle-btn {
|
||||
display: none;
|
||||
}
|
||||
.nav-side-menu ul,
|
||||
.nav-side-menu li {
|
||||
list-style: none;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
line-height: 35px;
|
||||
cursor: pointer;
|
||||
/*
|
||||
.collapsed{
|
||||
.arrow:before{
|
||||
font-family: FontAwesome;
|
||||
content: "\f053";
|
||||
display: inline-block;
|
||||
padding-left:10px;
|
||||
padding-right: 10px;
|
||||
vertical-align: middle;
|
||||
float:right;
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
.nav-side-menu ul :not(collapsed) .arrow:before,
|
||||
.nav-side-menu li :not(collapsed) .arrow:before {
|
||||
font-family: FontAwesome;
|
||||
content: "\f078";
|
||||
display: inline-block;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
vertical-align: middle;
|
||||
float: right;
|
||||
}
|
||||
.nav-side-menu ul .active,
|
||||
.nav-side-menu li .active {
|
||||
border-left: 3px solid #d19b3d;
|
||||
background-color: #4f5b69;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li.active,
|
||||
.nav-side-menu li .sub-menu li.active {
|
||||
color: #d19b3d;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li.active a,
|
||||
.nav-side-menu li .sub-menu li.active a {
|
||||
color: #d19b3d;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li,
|
||||
.nav-side-menu li .sub-menu li {
|
||||
background-color: #181c20;
|
||||
border: none;
|
||||
line-height: 28px;
|
||||
border-bottom: 1px solid #23282e;
|
||||
margin-left: 0px;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li:hover,
|
||||
.nav-side-menu li .sub-menu li:hover {
|
||||
background-color: #020203;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li:before,
|
||||
.nav-side-menu li .sub-menu li:before {
|
||||
font-family: FontAwesome;
|
||||
content: "\f105";
|
||||
display: inline-block;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.nav-side-menu li {
|
||||
padding-left: 0px;
|
||||
border-left: 3px solid #2e353d;
|
||||
border-bottom: 1px solid #23282e;
|
||||
}
|
||||
.nav-side-menu li a {
|
||||
text-decoration: none;
|
||||
color: #e1ffff;
|
||||
}
|
||||
.nav-side-menu li a i {
|
||||
padding-left: 10px;
|
||||
width: 20px;
|
||||
padding-right: 20px;
|
||||
}
|
||||
.nav-side-menu li:hover {
|
||||
border-left: 3px solid #d19b3d;
|
||||
background-color: #4f5b69;
|
||||
-webkit-transition: all 1s ease;
|
||||
-moz-transition: all 1s ease;
|
||||
-o-transition: all 1s ease;
|
||||
-ms-transition: all 1s ease;
|
||||
transition: all 1s ease;
|
||||
}
|
||||
@media (max-width: 767px) {
|
||||
.nav-side-menu {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.nav-side-menu .toggle-btn {
|
||||
display: block;
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 10px;
|
||||
z-index: 10 !important;
|
||||
padding: 3px;
|
||||
background-color: #ffffff;
|
||||
color: #000;
|
||||
width: 40px;
|
||||
text-align: center;
|
||||
}
|
||||
.brand {
|
||||
text-align: left !important;
|
||||
font-size: 22px;
|
||||
padding-left: 20px;
|
||||
line-height: 50px !important;
|
||||
}
|
||||
}
|
||||
@media (min-width: 767px) {
|
||||
.nav-side-menu .menu-list .menu-content {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
body {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
59
app/table/entry/column_host/host_column.html
Normal file
59
app/table/entry/column_host/host_column.html
Normal file
@ -0,0 +1,59 @@
|
||||
<div nv-app="adagios.sidebar" class="nav-side-menu" ng-controller="SideBarCtrl">
|
||||
<div class="brand">ADAGIOS</div>
|
||||
<i class="fa fa-bars fa-2x toggle-btn" data-toggle="collapse" data-target="#menu-content"></i>
|
||||
|
||||
<div class="menu-list">
|
||||
|
||||
<ul id="menu-content" class="menu-content out">
|
||||
|
||||
<li data-toggle="collapse" data-target="#shortcut" class="collapsed menu-title">
|
||||
<a href="#"> Shortcut <span class="arrow"></span></a>
|
||||
</li>
|
||||
<ul class="sub-menu collapse" id="shortcut">
|
||||
<li><a href="#/tactical">Dashboard</a></li>
|
||||
<li><a href="#/hosts">Hosts</a></li>
|
||||
<li><a href="#">Services</a></li>
|
||||
<li><a href="#">Networks parents</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<li data-toggle="collapse" data-target="#reports" class="collapsed menu-title">
|
||||
<a href="#"> Reports <span class="arrow"></span></a>
|
||||
</li>
|
||||
<ul class="sub-menu collapse" id="reports">
|
||||
<li><a href="#">State History</a></li>
|
||||
<li><a href="#">Log</a></li>
|
||||
<li><a href="#">Comments</a></li>
|
||||
<li><a href="#">Downtimes</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<li data-toggle="collapse" data-target="#groups" class="collapsed menu-title">
|
||||
<a href="#"> Groups <span class="arrow"></span></a>
|
||||
</li>
|
||||
<ul class="sub-menu collapse" id="groups">
|
||||
<li><a href="#">Hostgroups</a></li>
|
||||
<li><a href="#">Servicegroups</a></li>
|
||||
<li><a href="#">Contactgroups</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<li data-toggle="collapse" data-target="#other" class="collapsed menu-title">
|
||||
<a href="#"> Other <span class="arrow"></span></a>
|
||||
</li>
|
||||
<ul class="sub-menu collapse" id="other">
|
||||
<li><a href="#">Grafana</a></li>
|
||||
<li><a href="#">Nagvis</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="#">
|
||||
<i class="fa fa-user fa-lg"></i> Profile
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
14
app/table/entry/column_host/host_column.js
Normal file
14
app/table/entry/column_host/host_column.js
Normal file
@ -0,0 +1,14 @@
|
||||
'use strict';
|
||||
|
||||
angular.module('adagios.table.entry.column_host', [])
|
||||
|
||||
.controller('SideBarCtrl', ['$scope', '$http', function ($scope, $http) {
|
||||
return;
|
||||
}])
|
||||
|
||||
.directive('sidebar', function () {
|
||||
return {
|
||||
restrict: 'E',
|
||||
templateUrl: "sidebar/sidebar.html"
|
||||
};
|
||||
});
|
41
app/table/entry/column_host/host_column_test.js
Normal file
41
app/table/entry/column_host/host_column_test.js
Normal file
@ -0,0 +1,41 @@
|
||||
'use strict';
|
||||
|
||||
describe('Sidebar module', function () {
|
||||
var $compile,
|
||||
$rootScope,
|
||||
$controller,
|
||||
$httpBackend;
|
||||
|
||||
beforeEach(module('adagios.sidebar'));
|
||||
|
||||
beforeEach(inject(function (_$compile_, _$rootScope_, _$controller_, _$httpBackend_) {
|
||||
$compile = _$compile_;
|
||||
$rootScope = _$rootScope_;
|
||||
$controller = _$controller_;
|
||||
$httpBackend = _$httpBackend_;
|
||||
|
||||
$httpBackend.expectGET('sidebar/sidebar.html').respond('<li></li>');
|
||||
}));
|
||||
|
||||
describe('SideBarCtrl', function () {
|
||||
|
||||
it('should be defined', function () {
|
||||
var scope = $rootScope.$new(),
|
||||
ctrl = $controller('SideBarCtrl', { $scope : scope });
|
||||
|
||||
expect(ctrl).toBeDefined();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('Sidebar directive', function () {
|
||||
|
||||
it('should send a GET request', function () {
|
||||
var element = $compile('<sidebar></sidebar>')($rootScope);
|
||||
$httpBackend.flush();
|
||||
|
||||
expect(element.html()).toBe('<li></li>');
|
||||
});
|
||||
|
||||
});
|
||||
});
|
146
app/table/entry/column_last_check/last_check_column.css
Normal file
146
app/table/entry/column_last_check/last_check_column.css
Normal file
@ -0,0 +1,146 @@
|
||||
.nav-side-menu {
|
||||
overflow: auto;
|
||||
font-family: verdana;
|
||||
font-size: 12px;
|
||||
font-weight: 200;
|
||||
background-color: #2e353d;
|
||||
position: fixed;
|
||||
top: 0px;
|
||||
width: 300px;
|
||||
height: 100%;
|
||||
color: #e1ffff;
|
||||
}
|
||||
.nav-side-menu .brand {
|
||||
background-color: #23282e;
|
||||
line-height: 50px;
|
||||
display: block;
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
}
|
||||
.nav-side-menu .toggle-btn {
|
||||
display: none;
|
||||
}
|
||||
.nav-side-menu ul,
|
||||
.nav-side-menu li {
|
||||
list-style: none;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
line-height: 35px;
|
||||
cursor: pointer;
|
||||
/*
|
||||
.collapsed{
|
||||
.arrow:before{
|
||||
font-family: FontAwesome;
|
||||
content: "\f053";
|
||||
display: inline-block;
|
||||
padding-left:10px;
|
||||
padding-right: 10px;
|
||||
vertical-align: middle;
|
||||
float:right;
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
.nav-side-menu ul :not(collapsed) .arrow:before,
|
||||
.nav-side-menu li :not(collapsed) .arrow:before {
|
||||
font-family: FontAwesome;
|
||||
content: "\f078";
|
||||
display: inline-block;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
vertical-align: middle;
|
||||
float: right;
|
||||
}
|
||||
.nav-side-menu ul .active,
|
||||
.nav-side-menu li .active {
|
||||
border-left: 3px solid #d19b3d;
|
||||
background-color: #4f5b69;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li.active,
|
||||
.nav-side-menu li .sub-menu li.active {
|
||||
color: #d19b3d;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li.active a,
|
||||
.nav-side-menu li .sub-menu li.active a {
|
||||
color: #d19b3d;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li,
|
||||
.nav-side-menu li .sub-menu li {
|
||||
background-color: #181c20;
|
||||
border: none;
|
||||
line-height: 28px;
|
||||
border-bottom: 1px solid #23282e;
|
||||
margin-left: 0px;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li:hover,
|
||||
.nav-side-menu li .sub-menu li:hover {
|
||||
background-color: #020203;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li:before,
|
||||
.nav-side-menu li .sub-menu li:before {
|
||||
font-family: FontAwesome;
|
||||
content: "\f105";
|
||||
display: inline-block;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.nav-side-menu li {
|
||||
padding-left: 0px;
|
||||
border-left: 3px solid #2e353d;
|
||||
border-bottom: 1px solid #23282e;
|
||||
}
|
||||
.nav-side-menu li a {
|
||||
text-decoration: none;
|
||||
color: #e1ffff;
|
||||
}
|
||||
.nav-side-menu li a i {
|
||||
padding-left: 10px;
|
||||
width: 20px;
|
||||
padding-right: 20px;
|
||||
}
|
||||
.nav-side-menu li:hover {
|
||||
border-left: 3px solid #d19b3d;
|
||||
background-color: #4f5b69;
|
||||
-webkit-transition: all 1s ease;
|
||||
-moz-transition: all 1s ease;
|
||||
-o-transition: all 1s ease;
|
||||
-ms-transition: all 1s ease;
|
||||
transition: all 1s ease;
|
||||
}
|
||||
@media (max-width: 767px) {
|
||||
.nav-side-menu {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.nav-side-menu .toggle-btn {
|
||||
display: block;
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 10px;
|
||||
z-index: 10 !important;
|
||||
padding: 3px;
|
||||
background-color: #ffffff;
|
||||
color: #000;
|
||||
width: 40px;
|
||||
text-align: center;
|
||||
}
|
||||
.brand {
|
||||
text-align: left !important;
|
||||
font-size: 22px;
|
||||
padding-left: 20px;
|
||||
line-height: 50px !important;
|
||||
}
|
||||
}
|
||||
@media (min-width: 767px) {
|
||||
.nav-side-menu .menu-list .menu-content {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
body {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
59
app/table/entry/column_last_check/last_check_column.html
Normal file
59
app/table/entry/column_last_check/last_check_column.html
Normal file
@ -0,0 +1,59 @@
|
||||
<div nv-app="adagios.sidebar" class="nav-side-menu" ng-controller="SideBarCtrl">
|
||||
<div class="brand">ADAGIOS</div>
|
||||
<i class="fa fa-bars fa-2x toggle-btn" data-toggle="collapse" data-target="#menu-content"></i>
|
||||
|
||||
<div class="menu-list">
|
||||
|
||||
<ul id="menu-content" class="menu-content out">
|
||||
|
||||
<li data-toggle="collapse" data-target="#shortcut" class="collapsed menu-title">
|
||||
<a href="#"> Shortcut <span class="arrow"></span></a>
|
||||
</li>
|
||||
<ul class="sub-menu collapse" id="shortcut">
|
||||
<li><a href="#/tactical">Dashboard</a></li>
|
||||
<li><a href="#/hosts">Hosts</a></li>
|
||||
<li><a href="#">Services</a></li>
|
||||
<li><a href="#">Networks parents</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<li data-toggle="collapse" data-target="#reports" class="collapsed menu-title">
|
||||
<a href="#"> Reports <span class="arrow"></span></a>
|
||||
</li>
|
||||
<ul class="sub-menu collapse" id="reports">
|
||||
<li><a href="#">State History</a></li>
|
||||
<li><a href="#">Log</a></li>
|
||||
<li><a href="#">Comments</a></li>
|
||||
<li><a href="#">Downtimes</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<li data-toggle="collapse" data-target="#groups" class="collapsed menu-title">
|
||||
<a href="#"> Groups <span class="arrow"></span></a>
|
||||
</li>
|
||||
<ul class="sub-menu collapse" id="groups">
|
||||
<li><a href="#">Hostgroups</a></li>
|
||||
<li><a href="#">Servicegroups</a></li>
|
||||
<li><a href="#">Contactgroups</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<li data-toggle="collapse" data-target="#other" class="collapsed menu-title">
|
||||
<a href="#"> Other <span class="arrow"></span></a>
|
||||
</li>
|
||||
<ul class="sub-menu collapse" id="other">
|
||||
<li><a href="#">Grafana</a></li>
|
||||
<li><a href="#">Nagvis</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="#">
|
||||
<i class="fa fa-user fa-lg"></i> Profile
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
14
app/table/entry/column_last_check/last_check_column.js
Normal file
14
app/table/entry/column_last_check/last_check_column.js
Normal file
@ -0,0 +1,14 @@
|
||||
'use strict';
|
||||
|
||||
angular.module('adagios.table.entry.column_last_check', [])
|
||||
|
||||
.controller('SideBarCtrl', ['$scope', '$http', function ($scope, $http) {
|
||||
return;
|
||||
}])
|
||||
|
||||
.directive('sidebar', function () {
|
||||
return {
|
||||
restrict: 'E',
|
||||
templateUrl: "sidebar/sidebar.html"
|
||||
};
|
||||
});
|
41
app/table/entry/column_last_check/last_check_column_test.js
Normal file
41
app/table/entry/column_last_check/last_check_column_test.js
Normal file
@ -0,0 +1,41 @@
|
||||
'use strict';
|
||||
|
||||
describe('Sidebar module', function () {
|
||||
var $compile,
|
||||
$rootScope,
|
||||
$controller,
|
||||
$httpBackend;
|
||||
|
||||
beforeEach(module('adagios.sidebar'));
|
||||
|
||||
beforeEach(inject(function (_$compile_, _$rootScope_, _$controller_, _$httpBackend_) {
|
||||
$compile = _$compile_;
|
||||
$rootScope = _$rootScope_;
|
||||
$controller = _$controller_;
|
||||
$httpBackend = _$httpBackend_;
|
||||
|
||||
$httpBackend.expectGET('sidebar/sidebar.html').respond('<li></li>');
|
||||
}));
|
||||
|
||||
describe('SideBarCtrl', function () {
|
||||
|
||||
it('should be defined', function () {
|
||||
var scope = $rootScope.$new(),
|
||||
ctrl = $controller('SideBarCtrl', { $scope : scope });
|
||||
|
||||
expect(ctrl).toBeDefined();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('Sidebar directive', function () {
|
||||
|
||||
it('should send a GET request', function () {
|
||||
var element = $compile('<sidebar></sidebar>')($rootScope);
|
||||
$httpBackend.flush();
|
||||
|
||||
expect(element.html()).toBe('<li></li>');
|
||||
});
|
||||
|
||||
});
|
||||
});
|
146
app/table/entry/column_service_check/service_check_column.css
Normal file
146
app/table/entry/column_service_check/service_check_column.css
Normal file
@ -0,0 +1,146 @@
|
||||
.nav-side-menu {
|
||||
overflow: auto;
|
||||
font-family: verdana;
|
||||
font-size: 12px;
|
||||
font-weight: 200;
|
||||
background-color: #2e353d;
|
||||
position: fixed;
|
||||
top: 0px;
|
||||
width: 300px;
|
||||
height: 100%;
|
||||
color: #e1ffff;
|
||||
}
|
||||
.nav-side-menu .brand {
|
||||
background-color: #23282e;
|
||||
line-height: 50px;
|
||||
display: block;
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
}
|
||||
.nav-side-menu .toggle-btn {
|
||||
display: none;
|
||||
}
|
||||
.nav-side-menu ul,
|
||||
.nav-side-menu li {
|
||||
list-style: none;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
line-height: 35px;
|
||||
cursor: pointer;
|
||||
/*
|
||||
.collapsed{
|
||||
.arrow:before{
|
||||
font-family: FontAwesome;
|
||||
content: "\f053";
|
||||
display: inline-block;
|
||||
padding-left:10px;
|
||||
padding-right: 10px;
|
||||
vertical-align: middle;
|
||||
float:right;
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
.nav-side-menu ul :not(collapsed) .arrow:before,
|
||||
.nav-side-menu li :not(collapsed) .arrow:before {
|
||||
font-family: FontAwesome;
|
||||
content: "\f078";
|
||||
display: inline-block;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
vertical-align: middle;
|
||||
float: right;
|
||||
}
|
||||
.nav-side-menu ul .active,
|
||||
.nav-side-menu li .active {
|
||||
border-left: 3px solid #d19b3d;
|
||||
background-color: #4f5b69;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li.active,
|
||||
.nav-side-menu li .sub-menu li.active {
|
||||
color: #d19b3d;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li.active a,
|
||||
.nav-side-menu li .sub-menu li.active a {
|
||||
color: #d19b3d;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li,
|
||||
.nav-side-menu li .sub-menu li {
|
||||
background-color: #181c20;
|
||||
border: none;
|
||||
line-height: 28px;
|
||||
border-bottom: 1px solid #23282e;
|
||||
margin-left: 0px;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li:hover,
|
||||
.nav-side-menu li .sub-menu li:hover {
|
||||
background-color: #020203;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li:before,
|
||||
.nav-side-menu li .sub-menu li:before {
|
||||
font-family: FontAwesome;
|
||||
content: "\f105";
|
||||
display: inline-block;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.nav-side-menu li {
|
||||
padding-left: 0px;
|
||||
border-left: 3px solid #2e353d;
|
||||
border-bottom: 1px solid #23282e;
|
||||
}
|
||||
.nav-side-menu li a {
|
||||
text-decoration: none;
|
||||
color: #e1ffff;
|
||||
}
|
||||
.nav-side-menu li a i {
|
||||
padding-left: 10px;
|
||||
width: 20px;
|
||||
padding-right: 20px;
|
||||
}
|
||||
.nav-side-menu li:hover {
|
||||
border-left: 3px solid #d19b3d;
|
||||
background-color: #4f5b69;
|
||||
-webkit-transition: all 1s ease;
|
||||
-moz-transition: all 1s ease;
|
||||
-o-transition: all 1s ease;
|
||||
-ms-transition: all 1s ease;
|
||||
transition: all 1s ease;
|
||||
}
|
||||
@media (max-width: 767px) {
|
||||
.nav-side-menu {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.nav-side-menu .toggle-btn {
|
||||
display: block;
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 10px;
|
||||
z-index: 10 !important;
|
||||
padding: 3px;
|
||||
background-color: #ffffff;
|
||||
color: #000;
|
||||
width: 40px;
|
||||
text-align: center;
|
||||
}
|
||||
.brand {
|
||||
text-align: left !important;
|
||||
font-size: 22px;
|
||||
padding-left: 20px;
|
||||
line-height: 50px !important;
|
||||
}
|
||||
}
|
||||
@media (min-width: 767px) {
|
||||
.nav-side-menu .menu-list .menu-content {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
body {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
@ -0,0 +1,59 @@
|
||||
<div nv-app="adagios.sidebar" class="nav-side-menu" ng-controller="SideBarCtrl">
|
||||
<div class="brand">ADAGIOS</div>
|
||||
<i class="fa fa-bars fa-2x toggle-btn" data-toggle="collapse" data-target="#menu-content"></i>
|
||||
|
||||
<div class="menu-list">
|
||||
|
||||
<ul id="menu-content" class="menu-content out">
|
||||
|
||||
<li data-toggle="collapse" data-target="#shortcut" class="collapsed menu-title">
|
||||
<a href="#"> Shortcut <span class="arrow"></span></a>
|
||||
</li>
|
||||
<ul class="sub-menu collapse" id="shortcut">
|
||||
<li><a href="#/tactical">Dashboard</a></li>
|
||||
<li><a href="#/hosts">Hosts</a></li>
|
||||
<li><a href="#">Services</a></li>
|
||||
<li><a href="#">Networks parents</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<li data-toggle="collapse" data-target="#reports" class="collapsed menu-title">
|
||||
<a href="#"> Reports <span class="arrow"></span></a>
|
||||
</li>
|
||||
<ul class="sub-menu collapse" id="reports">
|
||||
<li><a href="#">State History</a></li>
|
||||
<li><a href="#">Log</a></li>
|
||||
<li><a href="#">Comments</a></li>
|
||||
<li><a href="#">Downtimes</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<li data-toggle="collapse" data-target="#groups" class="collapsed menu-title">
|
||||
<a href="#"> Groups <span class="arrow"></span></a>
|
||||
</li>
|
||||
<ul class="sub-menu collapse" id="groups">
|
||||
<li><a href="#">Hostgroups</a></li>
|
||||
<li><a href="#">Servicegroups</a></li>
|
||||
<li><a href="#">Contactgroups</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<li data-toggle="collapse" data-target="#other" class="collapsed menu-title">
|
||||
<a href="#"> Other <span class="arrow"></span></a>
|
||||
</li>
|
||||
<ul class="sub-menu collapse" id="other">
|
||||
<li><a href="#">Grafana</a></li>
|
||||
<li><a href="#">Nagvis</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="#">
|
||||
<i class="fa fa-user fa-lg"></i> Profile
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
14
app/table/entry/column_service_check/service_check_column.js
Normal file
14
app/table/entry/column_service_check/service_check_column.js
Normal file
@ -0,0 +1,14 @@
|
||||
'use strict';
|
||||
|
||||
angular.module('adagios.table.entry.column_service_check', [])
|
||||
|
||||
.controller('SideBarCtrl', ['$scope', '$http', function ($scope, $http) {
|
||||
return;
|
||||
}])
|
||||
|
||||
.directive('column', function (col_type) {
|
||||
return {
|
||||
restrict: 'E',
|
||||
templateUrl: "column/" + col_type + ".html"
|
||||
};
|
||||
});
|
@ -0,0 +1,41 @@
|
||||
'use strict';
|
||||
|
||||
describe('Sidebar module', function () {
|
||||
var $compile,
|
||||
$rootScope,
|
||||
$controller,
|
||||
$httpBackend;
|
||||
|
||||
beforeEach(module('adagios.sidebar'));
|
||||
|
||||
beforeEach(inject(function (_$compile_, _$rootScope_, _$controller_, _$httpBackend_) {
|
||||
$compile = _$compile_;
|
||||
$rootScope = _$rootScope_;
|
||||
$controller = _$controller_;
|
||||
$httpBackend = _$httpBackend_;
|
||||
|
||||
$httpBackend.expectGET('sidebar/sidebar.html').respond('<li></li>');
|
||||
}));
|
||||
|
||||
describe('SideBarCtrl', function () {
|
||||
|
||||
it('should be defined', function () {
|
||||
var scope = $rootScope.$new(),
|
||||
ctrl = $controller('SideBarCtrl', { $scope : scope });
|
||||
|
||||
expect(ctrl).toBeDefined();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('Sidebar directive', function () {
|
||||
|
||||
it('should send a GET request', function () {
|
||||
var element = $compile('<sidebar></sidebar>')($rootScope);
|
||||
$httpBackend.flush();
|
||||
|
||||
expect(element.html()).toBe('<li></li>');
|
||||
});
|
||||
|
||||
});
|
||||
});
|
146
app/table/entry/entry.css
Normal file
146
app/table/entry/entry.css
Normal file
@ -0,0 +1,146 @@
|
||||
.nav-side-menu {
|
||||
overflow: auto;
|
||||
font-family: verdana;
|
||||
font-size: 12px;
|
||||
font-weight: 200;
|
||||
background-color: #2e353d;
|
||||
position: fixed;
|
||||
top: 0px;
|
||||
width: 300px;
|
||||
height: 100%;
|
||||
color: #e1ffff;
|
||||
}
|
||||
.nav-side-menu .brand {
|
||||
background-color: #23282e;
|
||||
line-height: 50px;
|
||||
display: block;
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
}
|
||||
.nav-side-menu .toggle-btn {
|
||||
display: none;
|
||||
}
|
||||
.nav-side-menu ul,
|
||||
.nav-side-menu li {
|
||||
list-style: none;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
line-height: 35px;
|
||||
cursor: pointer;
|
||||
/*
|
||||
.collapsed{
|
||||
.arrow:before{
|
||||
font-family: FontAwesome;
|
||||
content: "\f053";
|
||||
display: inline-block;
|
||||
padding-left:10px;
|
||||
padding-right: 10px;
|
||||
vertical-align: middle;
|
||||
float:right;
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
.nav-side-menu ul :not(collapsed) .arrow:before,
|
||||
.nav-side-menu li :not(collapsed) .arrow:before {
|
||||
font-family: FontAwesome;
|
||||
content: "\f078";
|
||||
display: inline-block;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
vertical-align: middle;
|
||||
float: right;
|
||||
}
|
||||
.nav-side-menu ul .active,
|
||||
.nav-side-menu li .active {
|
||||
border-left: 3px solid #d19b3d;
|
||||
background-color: #4f5b69;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li.active,
|
||||
.nav-side-menu li .sub-menu li.active {
|
||||
color: #d19b3d;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li.active a,
|
||||
.nav-side-menu li .sub-menu li.active a {
|
||||
color: #d19b3d;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li,
|
||||
.nav-side-menu li .sub-menu li {
|
||||
background-color: #181c20;
|
||||
border: none;
|
||||
line-height: 28px;
|
||||
border-bottom: 1px solid #23282e;
|
||||
margin-left: 0px;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li:hover,
|
||||
.nav-side-menu li .sub-menu li:hover {
|
||||
background-color: #020203;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li:before,
|
||||
.nav-side-menu li .sub-menu li:before {
|
||||
font-family: FontAwesome;
|
||||
content: "\f105";
|
||||
display: inline-block;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.nav-side-menu li {
|
||||
padding-left: 0px;
|
||||
border-left: 3px solid #2e353d;
|
||||
border-bottom: 1px solid #23282e;
|
||||
}
|
||||
.nav-side-menu li a {
|
||||
text-decoration: none;
|
||||
color: #e1ffff;
|
||||
}
|
||||
.nav-side-menu li a i {
|
||||
padding-left: 10px;
|
||||
width: 20px;
|
||||
padding-right: 20px;
|
||||
}
|
||||
.nav-side-menu li:hover {
|
||||
border-left: 3px solid #d19b3d;
|
||||
background-color: #4f5b69;
|
||||
-webkit-transition: all 1s ease;
|
||||
-moz-transition: all 1s ease;
|
||||
-o-transition: all 1s ease;
|
||||
-ms-transition: all 1s ease;
|
||||
transition: all 1s ease;
|
||||
}
|
||||
@media (max-width: 767px) {
|
||||
.nav-side-menu {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.nav-side-menu .toggle-btn {
|
||||
display: block;
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 10px;
|
||||
z-index: 10 !important;
|
||||
padding: 3px;
|
||||
background-color: #ffffff;
|
||||
color: #000;
|
||||
width: 40px;
|
||||
text-align: center;
|
||||
}
|
||||
.brand {
|
||||
text-align: left !important;
|
||||
font-size: 22px;
|
||||
padding-left: 20px;
|
||||
line-height: 50px !important;
|
||||
}
|
||||
}
|
||||
@media (min-width: 767px) {
|
||||
.nav-side-menu .menu-list .menu-content {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
body {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
4
app/table/entry/entry.html
Normal file
4
app/table/entry/entry.html
Normal file
@ -0,0 +1,4 @@
|
||||
<td> {{entry.host_name}} </td>
|
||||
<td> {{entry.description}} </td>
|
||||
<td> {{entry.last_check}} </td>
|
||||
<td> {{entry.last_hard_state_change}} </td>
|
18
app/table/entry/entry.js
Normal file
18
app/table/entry/entry.js
Normal file
@ -0,0 +1,18 @@
|
||||
'use strict';
|
||||
|
||||
angular.module('adagios.table.entry', ['adagios.table.entry.column_duration',
|
||||
'adagios.table.entry.column_host',
|
||||
'adagios.table.entry.column_last_check',
|
||||
'adagios.table.entry.column_service_check'
|
||||
])
|
||||
|
||||
.controller('EntryCtrl', ['$scope', '$http', function ($scope, $http) {
|
||||
noop;
|
||||
}])
|
||||
|
||||
.directive('entry', function () {
|
||||
return {
|
||||
restrict: 'E',
|
||||
templateUrl: "table/entry/entry.html"
|
||||
};
|
||||
});
|
41
app/table/entry/entry_test.js
Normal file
41
app/table/entry/entry_test.js
Normal file
@ -0,0 +1,41 @@
|
||||
'use strict';
|
||||
|
||||
describe('Sidebar module', function () {
|
||||
var $compile,
|
||||
$rootScope,
|
||||
$controller,
|
||||
$httpBackend;
|
||||
|
||||
beforeEach(module('adagios.sidebar'));
|
||||
|
||||
beforeEach(inject(function (_$compile_, _$rootScope_, _$controller_, _$httpBackend_) {
|
||||
$compile = _$compile_;
|
||||
$rootScope = _$rootScope_;
|
||||
$controller = _$controller_;
|
||||
$httpBackend = _$httpBackend_;
|
||||
|
||||
$httpBackend.expectGET('sidebar/sidebar.html').respond('<li></li>');
|
||||
}));
|
||||
|
||||
describe('SideBarCtrl', function () {
|
||||
|
||||
it('should be defined', function () {
|
||||
var scope = $rootScope.$new(),
|
||||
ctrl = $controller('SideBarCtrl', { $scope : scope });
|
||||
|
||||
expect(ctrl).toBeDefined();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('Sidebar directive', function () {
|
||||
|
||||
it('should send a GET request', function () {
|
||||
var element = $compile('<sidebar></sidebar>')($rootScope);
|
||||
$httpBackend.flush();
|
||||
|
||||
expect(element.html()).toBe('<li></li>');
|
||||
});
|
||||
|
||||
});
|
||||
});
|
146
app/table/entry/table.css
Normal file
146
app/table/entry/table.css
Normal file
@ -0,0 +1,146 @@
|
||||
.nav-side-menu {
|
||||
overflow: auto;
|
||||
font-family: verdana;
|
||||
font-size: 12px;
|
||||
font-weight: 200;
|
||||
background-color: #2e353d;
|
||||
position: fixed;
|
||||
top: 0px;
|
||||
width: 300px;
|
||||
height: 100%;
|
||||
color: #e1ffff;
|
||||
}
|
||||
.nav-side-menu .brand {
|
||||
background-color: #23282e;
|
||||
line-height: 50px;
|
||||
display: block;
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
}
|
||||
.nav-side-menu .toggle-btn {
|
||||
display: none;
|
||||
}
|
||||
.nav-side-menu ul,
|
||||
.nav-side-menu li {
|
||||
list-style: none;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
line-height: 35px;
|
||||
cursor: pointer;
|
||||
/*
|
||||
.collapsed{
|
||||
.arrow:before{
|
||||
font-family: FontAwesome;
|
||||
content: "\f053";
|
||||
display: inline-block;
|
||||
padding-left:10px;
|
||||
padding-right: 10px;
|
||||
vertical-align: middle;
|
||||
float:right;
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
.nav-side-menu ul :not(collapsed) .arrow:before,
|
||||
.nav-side-menu li :not(collapsed) .arrow:before {
|
||||
font-family: FontAwesome;
|
||||
content: "\f078";
|
||||
display: inline-block;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
vertical-align: middle;
|
||||
float: right;
|
||||
}
|
||||
.nav-side-menu ul .active,
|
||||
.nav-side-menu li .active {
|
||||
border-left: 3px solid #d19b3d;
|
||||
background-color: #4f5b69;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li.active,
|
||||
.nav-side-menu li .sub-menu li.active {
|
||||
color: #d19b3d;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li.active a,
|
||||
.nav-side-menu li .sub-menu li.active a {
|
||||
color: #d19b3d;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li,
|
||||
.nav-side-menu li .sub-menu li {
|
||||
background-color: #181c20;
|
||||
border: none;
|
||||
line-height: 28px;
|
||||
border-bottom: 1px solid #23282e;
|
||||
margin-left: 0px;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li:hover,
|
||||
.nav-side-menu li .sub-menu li:hover {
|
||||
background-color: #020203;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li:before,
|
||||
.nav-side-menu li .sub-menu li:before {
|
||||
font-family: FontAwesome;
|
||||
content: "\f105";
|
||||
display: inline-block;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.nav-side-menu li {
|
||||
padding-left: 0px;
|
||||
border-left: 3px solid #2e353d;
|
||||
border-bottom: 1px solid #23282e;
|
||||
}
|
||||
.nav-side-menu li a {
|
||||
text-decoration: none;
|
||||
color: #e1ffff;
|
||||
}
|
||||
.nav-side-menu li a i {
|
||||
padding-left: 10px;
|
||||
width: 20px;
|
||||
padding-right: 20px;
|
||||
}
|
||||
.nav-side-menu li:hover {
|
||||
border-left: 3px solid #d19b3d;
|
||||
background-color: #4f5b69;
|
||||
-webkit-transition: all 1s ease;
|
||||
-moz-transition: all 1s ease;
|
||||
-o-transition: all 1s ease;
|
||||
-ms-transition: all 1s ease;
|
||||
transition: all 1s ease;
|
||||
}
|
||||
@media (max-width: 767px) {
|
||||
.nav-side-menu {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.nav-side-menu .toggle-btn {
|
||||
display: block;
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 10px;
|
||||
z-index: 10 !important;
|
||||
padding: 3px;
|
||||
background-color: #ffffff;
|
||||
color: #000;
|
||||
width: 40px;
|
||||
text-align: center;
|
||||
}
|
||||
.brand {
|
||||
text-align: left !important;
|
||||
font-size: 22px;
|
||||
padding-left: 20px;
|
||||
line-height: 50px !important;
|
||||
}
|
||||
}
|
||||
@media (min-width: 767px) {
|
||||
.nav-side-menu .menu-list .menu-content {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
body {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
59
app/table/entry/table.html
Normal file
59
app/table/entry/table.html
Normal file
@ -0,0 +1,59 @@
|
||||
<div nv-app="adagios.sidebar" class="nav-side-menu" ng-controller="SideBarCtrl">
|
||||
<div class="brand">ADAGIOS</div>
|
||||
<i class="fa fa-bars fa-2x toggle-btn" data-toggle="collapse" data-target="#menu-content"></i>
|
||||
|
||||
<div class="menu-list">
|
||||
|
||||
<ul id="menu-content" class="menu-content out">
|
||||
|
||||
<li data-toggle="collapse" data-target="#shortcut" class="collapsed menu-title">
|
||||
<a href="#"> Shortcut <span class="arrow"></span></a>
|
||||
</li>
|
||||
<ul class="sub-menu collapse" id="shortcut">
|
||||
<li><a href="#/tactical">Dashboard</a></li>
|
||||
<li><a href="#/hosts">Hosts</a></li>
|
||||
<li><a href="#">Services</a></li>
|
||||
<li><a href="#">Networks parents</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<li data-toggle="collapse" data-target="#reports" class="collapsed menu-title">
|
||||
<a href="#"> Reports <span class="arrow"></span></a>
|
||||
</li>
|
||||
<ul class="sub-menu collapse" id="reports">
|
||||
<li><a href="#">State History</a></li>
|
||||
<li><a href="#">Log</a></li>
|
||||
<li><a href="#">Comments</a></li>
|
||||
<li><a href="#">Downtimes</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<li data-toggle="collapse" data-target="#groups" class="collapsed menu-title">
|
||||
<a href="#"> Groups <span class="arrow"></span></a>
|
||||
</li>
|
||||
<ul class="sub-menu collapse" id="groups">
|
||||
<li><a href="#">Hostgroups</a></li>
|
||||
<li><a href="#">Servicegroups</a></li>
|
||||
<li><a href="#">Contactgroups</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<li data-toggle="collapse" data-target="#other" class="collapsed menu-title">
|
||||
<a href="#"> Other <span class="arrow"></span></a>
|
||||
</li>
|
||||
<ul class="sub-menu collapse" id="other">
|
||||
<li><a href="#">Grafana</a></li>
|
||||
<li><a href="#">Nagvis</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="#">
|
||||
<i class="fa fa-user fa-lg"></i> Profile
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
14
app/table/entry/table.js
Normal file
14
app/table/entry/table.js
Normal file
@ -0,0 +1,14 @@
|
||||
'use strict';
|
||||
|
||||
angular.module('adagios.sidebar', [])
|
||||
|
||||
.controller('SideBarCtrl', ['$scope', '$http', function ($scope, $http) {
|
||||
return;
|
||||
}])
|
||||
|
||||
.directive('sidebar', function () {
|
||||
return {
|
||||
restrict: 'E',
|
||||
templateUrl: "sidebar/sidebar.html"
|
||||
};
|
||||
});
|
41
app/table/entry/table_test.js
Normal file
41
app/table/entry/table_test.js
Normal file
@ -0,0 +1,41 @@
|
||||
'use strict';
|
||||
|
||||
describe('Sidebar module', function () {
|
||||
var $compile,
|
||||
$rootScope,
|
||||
$controller,
|
||||
$httpBackend;
|
||||
|
||||
beforeEach(module('adagios.sidebar'));
|
||||
|
||||
beforeEach(inject(function (_$compile_, _$rootScope_, _$controller_, _$httpBackend_) {
|
||||
$compile = _$compile_;
|
||||
$rootScope = _$rootScope_;
|
||||
$controller = _$controller_;
|
||||
$httpBackend = _$httpBackend_;
|
||||
|
||||
$httpBackend.expectGET('sidebar/sidebar.html').respond('<li></li>');
|
||||
}));
|
||||
|
||||
describe('SideBarCtrl', function () {
|
||||
|
||||
it('should be defined', function () {
|
||||
var scope = $rootScope.$new(),
|
||||
ctrl = $controller('SideBarCtrl', { $scope : scope });
|
||||
|
||||
expect(ctrl).toBeDefined();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('Sidebar directive', function () {
|
||||
|
||||
it('should send a GET request', function () {
|
||||
var element = $compile('<sidebar></sidebar>')($rootScope);
|
||||
$httpBackend.flush();
|
||||
|
||||
expect(element.html()).toBe('<li></li>');
|
||||
});
|
||||
|
||||
});
|
||||
});
|
146
app/table/table.css
Normal file
146
app/table/table.css
Normal file
@ -0,0 +1,146 @@
|
||||
.nav-side-menu {
|
||||
overflow: auto;
|
||||
font-family: verdana;
|
||||
font-size: 12px;
|
||||
font-weight: 200;
|
||||
background-color: #2e353d;
|
||||
position: fixed;
|
||||
top: 0px;
|
||||
width: 300px;
|
||||
height: 100%;
|
||||
color: #e1ffff;
|
||||
}
|
||||
.nav-side-menu .brand {
|
||||
background-color: #23282e;
|
||||
line-height: 50px;
|
||||
display: block;
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
}
|
||||
.nav-side-menu .toggle-btn {
|
||||
display: none;
|
||||
}
|
||||
.nav-side-menu ul,
|
||||
.nav-side-menu li {
|
||||
list-style: none;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
line-height: 35px;
|
||||
cursor: pointer;
|
||||
/*
|
||||
.collapsed{
|
||||
.arrow:before{
|
||||
font-family: FontAwesome;
|
||||
content: "\f053";
|
||||
display: inline-block;
|
||||
padding-left:10px;
|
||||
padding-right: 10px;
|
||||
vertical-align: middle;
|
||||
float:right;
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
.nav-side-menu ul :not(collapsed) .arrow:before,
|
||||
.nav-side-menu li :not(collapsed) .arrow:before {
|
||||
font-family: FontAwesome;
|
||||
content: "\f078";
|
||||
display: inline-block;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
vertical-align: middle;
|
||||
float: right;
|
||||
}
|
||||
.nav-side-menu ul .active,
|
||||
.nav-side-menu li .active {
|
||||
border-left: 3px solid #d19b3d;
|
||||
background-color: #4f5b69;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li.active,
|
||||
.nav-side-menu li .sub-menu li.active {
|
||||
color: #d19b3d;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li.active a,
|
||||
.nav-side-menu li .sub-menu li.active a {
|
||||
color: #d19b3d;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li,
|
||||
.nav-side-menu li .sub-menu li {
|
||||
background-color: #181c20;
|
||||
border: none;
|
||||
line-height: 28px;
|
||||
border-bottom: 1px solid #23282e;
|
||||
margin-left: 0px;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li:hover,
|
||||
.nav-side-menu li .sub-menu li:hover {
|
||||
background-color: #020203;
|
||||
}
|
||||
.nav-side-menu ul .sub-menu li:before,
|
||||
.nav-side-menu li .sub-menu li:before {
|
||||
font-family: FontAwesome;
|
||||
content: "\f105";
|
||||
display: inline-block;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.nav-side-menu li {
|
||||
padding-left: 0px;
|
||||
border-left: 3px solid #2e353d;
|
||||
border-bottom: 1px solid #23282e;
|
||||
}
|
||||
.nav-side-menu li a {
|
||||
text-decoration: none;
|
||||
color: #e1ffff;
|
||||
}
|
||||
.nav-side-menu li a i {
|
||||
padding-left: 10px;
|
||||
width: 20px;
|
||||
padding-right: 20px;
|
||||
}
|
||||
.nav-side-menu li:hover {
|
||||
border-left: 3px solid #d19b3d;
|
||||
background-color: #4f5b69;
|
||||
-webkit-transition: all 1s ease;
|
||||
-moz-transition: all 1s ease;
|
||||
-o-transition: all 1s ease;
|
||||
-ms-transition: all 1s ease;
|
||||
transition: all 1s ease;
|
||||
}
|
||||
@media (max-width: 767px) {
|
||||
.nav-side-menu {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.nav-side-menu .toggle-btn {
|
||||
display: block;
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 10px;
|
||||
z-index: 10 !important;
|
||||
padding: 3px;
|
||||
background-color: #ffffff;
|
||||
color: #000;
|
||||
width: 40px;
|
||||
text-align: center;
|
||||
}
|
||||
.brand {
|
||||
text-align: left !important;
|
||||
font-size: 22px;
|
||||
padding-left: 20px;
|
||||
line-height: 50px !important;
|
||||
}
|
||||
}
|
||||
@media (min-width: 767px) {
|
||||
.nav-side-menu .menu-list .menu-content {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
body {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
16
app/table/table.html
Normal file
16
app/table/table.html
Normal file
@ -0,0 +1,16 @@
|
||||
<div ng-app="adagios.table" ng-controller="TableCtrl" id="table">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th ng-repeat="(key, value) in entries[0]">
|
||||
<cell cell_type="header" > {{key}} </cell>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tr ng-repeat="entry in entries">
|
||||
<td ng-repeat="(key, value) in entry">
|
||||
<cell cell_type="{{key}}" > {{value}} </cell>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
16
app/table/table.js
Normal file
16
app/table/table.js
Normal file
@ -0,0 +1,16 @@
|
||||
'use strict';
|
||||
|
||||
angular.module('adagios.table', ['ngRoute', 'adagios.table.entry', 'adagios.live'])
|
||||
|
||||
.controller('TableCtrl', ['$scope', '$http', 'GetServices', function ($scope, $http, GetServices) {
|
||||
$scope.entries = GetServices;
|
||||
|
||||
}])
|
||||
|
||||
.directive('servicetable', function () {
|
||||
return {
|
||||
restrict: 'E',
|
||||
templateUrl: "table/table.html"
|
||||
};
|
||||
});
|
||||
|
41
app/table/table_test.js
Normal file
41
app/table/table_test.js
Normal file
@ -0,0 +1,41 @@
|
||||
'use strict';
|
||||
|
||||
describe('Sidebar module', function () {
|
||||
var $compile,
|
||||
$rootScope,
|
||||
$controller,
|
||||
$httpBackend;
|
||||
|
||||
beforeEach(module('adagios.sidebar'));
|
||||
|
||||
beforeEach(inject(function (_$compile_, _$rootScope_, _$controller_, _$httpBackend_) {
|
||||
$compile = _$compile_;
|
||||
$rootScope = _$rootScope_;
|
||||
$controller = _$controller_;
|
||||
$httpBackend = _$httpBackend_;
|
||||
|
||||
$httpBackend.expectGET('sidebar/sidebar.html').respond('<li></li>');
|
||||
}));
|
||||
|
||||
describe('SideBarCtrl', function () {
|
||||
|
||||
it('should be defined', function () {
|
||||
var scope = $rootScope.$new(),
|
||||
ctrl = $controller('SideBarCtrl', { $scope : scope });
|
||||
|
||||
expect(ctrl).toBeDefined();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('Sidebar directive', function () {
|
||||
|
||||
it('should send a GET request', function () {
|
||||
var element = $compile('<sidebar></sidebar>')($rootScope);
|
||||
$httpBackend.flush();
|
||||
|
||||
expect(element.html()).toBe('<li></li>');
|
||||
});
|
||||
|
||||
});
|
||||
});
|
Loading…
x
Reference in New Issue
Block a user