mirror of https://github.com/akveo/blur-admin
make sidebar fixed, improve tables, center profile picture
parent
1097b5f34b
commit
18edcb95dd
|
@ -22,6 +22,8 @@
|
|||
"ammap": "~3.14.5",
|
||||
"angular": "~1.4.6",
|
||||
"angular-route": "~1.4.6",
|
||||
"angular-slimscroll": "~1.1.5",
|
||||
"angular-smart-table": "~2.1.3",
|
||||
"angular-toastr": "~1.5.0",
|
||||
"angular-ui-sortable": "~0.13.4",
|
||||
"animate.css": "~3.4.0",
|
||||
|
@ -37,6 +39,7 @@
|
|||
"jquery.easing": "~1.3.1",
|
||||
"jquery.easy-pie-chart": "~2.1.6",
|
||||
"leaflet": "~0.7.5",
|
||||
"moment": "~2.10.6"
|
||||
"moment": "~2.10.6",
|
||||
"slimScroll": "jquery-slimscroll#~1.3.6"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -89,6 +89,7 @@ gulp.task('js', function () {
|
|||
'bower_components/bootstrap-tagsinput/dist/bootstrap-tagsinput.min.js',
|
||||
'bower_components/moment/min/moment.min.js',
|
||||
'bower_components/amcharts/dist/amcharts/amcharts.js',
|
||||
'bower_components/amcharts/dist/amcharts/plugins/responsive/responsive.js',
|
||||
'bower_components/amcharts/dist/amcharts/serial.js',
|
||||
'bower_components/amcharts/dist/amcharts/funnel.js',
|
||||
'bower_components/amcharts/dist/amcharts/pie.js',
|
||||
|
@ -102,6 +103,9 @@ gulp.task('js', function () {
|
|||
'bower_components/Chart.js/Chart.min.js',
|
||||
'bower_components/leaflet/dist/leaflet.js',
|
||||
'bower_components/angular-toastr/dist/angular-toastr.tpls.min.js',
|
||||
'bower_components/angular-smart-table/dist/smart-table.min.js',
|
||||
'bower_components/slimScroll/jquery.slimscroll.min.js',
|
||||
'bower_components/angular-slimscroll/angular-slimscroll.js',
|
||||
'src/app/components/backTop/lib/jquery.backTop.min.js'
|
||||
];
|
||||
|
||||
|
|
|
@ -14,7 +14,9 @@ var blurAdminApp = angular.module('BlurAdmin', [
|
|||
'BlurAdmin.profilePage',
|
||||
'BlurAdmin.tablesPage',
|
||||
'BlurAdmin.typographyPage',
|
||||
'toastr'
|
||||
'toastr',
|
||||
'smart-table',
|
||||
'ui.slimscroll'
|
||||
]).config(['$routeProvider', 'toastrConfig', function ($routeProvider, toastrConfig) {
|
||||
$routeProvider.otherwise({redirectTo: '/dashboard'});
|
||||
|
||||
|
|
|
@ -4,7 +4,6 @@ $angle-right: "\f101";
|
|||
|
||||
.al-sidebar {
|
||||
width: $sidebar-width;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 904;
|
||||
|
@ -12,12 +11,12 @@ $angle-right: "\f101";
|
|||
min-height: 100%;
|
||||
@include bg-translucent-dark(0.5);
|
||||
transition: width 0.5s ease;
|
||||
height: 100%;
|
||||
position: fixed;
|
||||
}
|
||||
|
||||
a.collapse-menu-link {
|
||||
padding: 0px 0 0px 18px;
|
||||
font-size: 13px;
|
||||
color: $success;
|
||||
@include bg-translucent-dark(0.5);
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
|
@ -25,6 +24,13 @@ a.collapse-menu-link {
|
|||
line-height: 42px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
color: #fff;
|
||||
width: 18px;
|
||||
position: absolute;
|
||||
top: 52px;
|
||||
right: -18px;
|
||||
padding: 0;
|
||||
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
color: $warning;
|
||||
|
@ -40,6 +46,15 @@ a.collapse-menu-link {
|
|||
}
|
||||
}
|
||||
|
||||
.al-sidebar-list-block {
|
||||
position: absolute;
|
||||
height: 100%;
|
||||
top: 52px;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
.al-sidebar-list {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
@ -223,11 +238,6 @@ a.al-sidebar-list-link {
|
|||
width: 180px;
|
||||
}
|
||||
a.collapse-menu-link {
|
||||
display: block;
|
||||
width: 18px;
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
padding-left: 0px;
|
||||
i {
|
||||
transform: rotate(540deg);
|
||||
}
|
||||
|
@ -284,9 +294,7 @@ a.al-sidebar-list-link {
|
|||
}
|
||||
|
||||
a.collapse-menu-link {
|
||||
width: 100%;
|
||||
position: relative;
|
||||
padding-left: 18px;
|
||||
@include bg-translucent-dark(0.75);
|
||||
i {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
|
@ -300,4 +308,9 @@ a.al-sidebar-list-link {
|
|||
.sidebar-overlap {
|
||||
background: rgba(0, 0, 0, .75);
|
||||
@extend .sidebar-full-width;
|
||||
}
|
||||
|
||||
.slimScrollBar, .slimScrollRail {
|
||||
border-radius: 0px !important;
|
||||
width: 4px !important;
|
||||
}
|
|
@ -5,15 +5,14 @@
|
|||
|
||||
<a href class="collapse-menu-link clearfix" ng-click="menuExpand()">
|
||||
<i class="fa fa-angle-double-left"></i>
|
||||
<span>Collapse Menu</span>
|
||||
</a>
|
||||
|
||||
<div class="al-sidebar-list-block" ng-mouseleave="hideHoverElement()">
|
||||
<ul class="al-sidebar-list">
|
||||
<ul class="al-sidebar-list" slimscroll="{height: '100%'}">
|
||||
<li ng-repeat="item in menuItems" class="al-sidebar-list-item"
|
||||
ng-class="{'selected': item.selected, 'with-sub-menu': item.subMenu}" ng-mouseover="hoverItem($event, item)">
|
||||
|
||||
<a href="{{ item.root }}" ng-if="!item.subMenu" class="al-sidebar-list-link">
|
||||
<a href="{{ item.root }}" ng-if="!item.subMenu" class="al-sidebar-list-link" ng-click="collapseSidebar()">
|
||||
<i class="{{ item.icon }}"></i><span>{{ item.title }}</span>
|
||||
</a>
|
||||
|
||||
|
@ -26,7 +25,7 @@
|
|||
|
||||
<ul ng-if="item.subMenu" class="al-sidebar-sublist" ng-class="{expanded: item.selected, 'slide-right': item.slideRight}">
|
||||
<li ng-repeat="subitem in item.subMenu" ng-class="{selected: subitem.selected}">
|
||||
<a href="{{ subitem.root }}">{{ subitem.title }}</a>
|
||||
<a href="{{ subitem.root }}" ng-click="collapseSidebar()">{{ subitem.title }}</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
|
|
@ -176,6 +176,13 @@ blurAdminApp.directive('sidebar', function () {
|
|||
$scope.hideHoverElement = function () {
|
||||
$scope.showHoverElem = false;
|
||||
};
|
||||
|
||||
$scope.collapseSidebar = function() {
|
||||
if (window.innerWidth <= resWidthCollapseSidebar) {
|
||||
console.log('test');
|
||||
$scope.showSidebar = false;
|
||||
}
|
||||
};
|
||||
}]
|
||||
};
|
||||
});
|
|
@ -73,9 +73,13 @@ h3.with-line {
|
|||
width: 200px;
|
||||
height: 200px;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
img {
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
max-height: 100%;
|
||||
}
|
||||
i {
|
||||
display: none;
|
||||
|
|
|
@ -14,8 +14,8 @@ angular.module('BlurAdmin.tablesPage', ['ngRoute'])
|
|||
widgets: [
|
||||
[
|
||||
{
|
||||
title: 'Basic Table',
|
||||
url: 'app/pages/tables/widgets/basicTable.html'
|
||||
title: 'Smart Table',
|
||||
url: 'app/pages/tables/widgets/smartTable.html'
|
||||
}
|
||||
]
|
||||
]
|
||||
|
@ -24,25 +24,244 @@ angular.module('BlurAdmin.tablesPage', ['ngRoute'])
|
|||
widgets: [
|
||||
[
|
||||
{
|
||||
title: 'Striped Rows',
|
||||
url: 'app/pages/tables/widgets/stripedRows.html'
|
||||
title: 'Hover Tows and Fix Headers',
|
||||
url: 'app/pages/tables/widgets/hoverRows.html'
|
||||
},
|
||||
{
|
||||
title: 'Bordered table',
|
||||
url: 'app/pages/tables/widgets/borderedTable.html'
|
||||
title: 'Condensed Table',
|
||||
url: 'app/pages/tables/widgets/condensedTable.html'
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
title: 'Hover rows',
|
||||
url: 'app/pages/tables/widgets/hoverRows.html'
|
||||
title: 'Striped Rows',
|
||||
url: 'app/pages/tables/widgets/stripedRows.html'
|
||||
},
|
||||
{
|
||||
title: 'Condensed table',
|
||||
url: 'app/pages/tables/widgets/condensedTable.html'
|
||||
title: 'Bordered Table',
|
||||
url: 'app/pages/tables/widgets/borderedTable.html'
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
$scope.smartTableData = [
|
||||
{
|
||||
id: 1,
|
||||
firstName: 'Mark',
|
||||
lastName: 'Otto',
|
||||
username: '@mdo',
|
||||
email: 'mdo@gmail.com',
|
||||
age: '28'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
firstName: 'Jacob',
|
||||
lastName: 'Thornton',
|
||||
username: '@fat',
|
||||
email: 'fat@yandex.ru',
|
||||
age: '45'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
firstName: 'Larry',
|
||||
lastName: 'Bird',
|
||||
username: '@twitter',
|
||||
email: 'twitter@outlook.com',
|
||||
age: '18'
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
firstName: 'John',
|
||||
lastName: 'Snow',
|
||||
username: '@snow',
|
||||
email: 'snow@gmail.com',
|
||||
age: '20'
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
firstName: 'Jack',
|
||||
lastName: 'Sparrow',
|
||||
username: '@jack',
|
||||
email: 'jack@yandex.ru',
|
||||
age: '30'
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
firstName: 'Ann',
|
||||
lastName: 'Smith',
|
||||
username: '@ann',
|
||||
email: 'ann@gmail.com',
|
||||
age: '21'
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
firstName: 'Barbara',
|
||||
lastName: 'Black',
|
||||
username: '@barbara',
|
||||
email: 'barbara@yandex.ru',
|
||||
age: '43'
|
||||
},
|
||||
{
|
||||
id: 8,
|
||||
firstName: 'Sevan',
|
||||
lastName: 'Bagrat',
|
||||
username: '@sevan',
|
||||
email: 'sevan@outlook.com',
|
||||
age: '13'
|
||||
},
|
||||
{
|
||||
id: 9,
|
||||
firstName: 'Ruben',
|
||||
lastName: 'Vardan',
|
||||
username: '@ruben',
|
||||
email: 'ruben@gmail.com',
|
||||
age: '22'
|
||||
},
|
||||
{
|
||||
id: 10,
|
||||
firstName: 'Karen',
|
||||
lastName: 'Sevan',
|
||||
username: '@karen',
|
||||
email: 'karen@yandex.ru',
|
||||
age: '33'
|
||||
},
|
||||
{
|
||||
id: 11,
|
||||
firstName: 'Mark',
|
||||
lastName: 'Otto',
|
||||
username: '@mark',
|
||||
email: 'mark@gmail.com',
|
||||
age: '38'
|
||||
},
|
||||
{
|
||||
id: 12,
|
||||
firstName: 'Jacob',
|
||||
lastName: 'Thornton',
|
||||
username: '@jacob',
|
||||
email: 'jacob@yandex.ru',
|
||||
age: '48'
|
||||
},
|
||||
{
|
||||
id: 13,
|
||||
firstName: 'Haik',
|
||||
lastName: 'Hakob',
|
||||
username: '@haik',
|
||||
email: 'haik@outlook.com',
|
||||
age: '48'
|
||||
},
|
||||
{
|
||||
id: 14,
|
||||
firstName: 'Garegin',
|
||||
lastName: 'Jirair',
|
||||
username: '@garegin',
|
||||
email: 'garegin@gmail.com',
|
||||
age: '40'
|
||||
},
|
||||
{
|
||||
id: 15,
|
||||
firstName: 'Krikor',
|
||||
lastName: 'Bedros',
|
||||
username: '@krikor',
|
||||
email: 'krikor@yandex.ru',
|
||||
age: '32'
|
||||
}
|
||||
];
|
||||
|
||||
$scope.peopleTableData = [
|
||||
{
|
||||
id: 1,
|
||||
firstName: 'Mark',
|
||||
lastName: 'Otto',
|
||||
username: '@mdo',
|
||||
email: 'mdo@gmail.com',
|
||||
age: '28'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
firstName: 'Jacob',
|
||||
lastName: 'Thornton',
|
||||
username: '@fat',
|
||||
email: 'fat@yandex.ru',
|
||||
age: '45'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
firstName: 'Larry',
|
||||
lastName: 'Bird',
|
||||
username: '@twitter',
|
||||
email: 'twitter@outlook.com',
|
||||
age: '18'
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
firstName: 'John',
|
||||
lastName: 'Snow',
|
||||
username: '@snow',
|
||||
email: 'snow@gmail.com',
|
||||
age: '20'
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
firstName: 'Jack',
|
||||
lastName: 'Sparrow',
|
||||
username: '@jack',
|
||||
email: 'jack@yandex.ru',
|
||||
age: '30'
|
||||
}
|
||||
];
|
||||
|
||||
$scope.metricsTableData = [
|
||||
{
|
||||
image: 'img/chrome.svg',
|
||||
browser: 'Google Chrome',
|
||||
visits: '10,392',
|
||||
isVisitsUp: true,
|
||||
purchases: '4,214',
|
||||
isPurchasesUp: true,
|
||||
percent: '45%',
|
||||
isPercentUp: true
|
||||
},
|
||||
{
|
||||
image: 'img/firefox.svg',
|
||||
browser: 'Mozilla Firefox',
|
||||
visits: '7,873',
|
||||
isVisitsUp: true,
|
||||
purchases: '3,031',
|
||||
isPurchasesUp: false,
|
||||
percent: '28%',
|
||||
isPercentUp: true
|
||||
},
|
||||
{
|
||||
image: 'img/ie.svg',
|
||||
browser: 'Internet Explorer',
|
||||
visits: '5,890',
|
||||
isVisitsUp: false,
|
||||
purchases: '2,102',
|
||||
isPurchasesUp: false,
|
||||
percent: '17%',
|
||||
isPercentUp: false
|
||||
},
|
||||
{
|
||||
image: 'img/safari.svg',
|
||||
browser: 'Safari',
|
||||
visits: '4,001',
|
||||
isVisitsUp: false,
|
||||
purchases: '1,001',
|
||||
isPurchasesUp: false,
|
||||
percent: '14%',
|
||||
isPercentUp: true
|
||||
},
|
||||
{
|
||||
image: 'img/opera.svg',
|
||||
browser: 'Opera',
|
||||
visits: '1,833',
|
||||
isVisitsUp: true,
|
||||
purchases: '83',
|
||||
isPurchasesUp: true,
|
||||
percent: '5%',
|
||||
isPercentUp: false
|
||||
}
|
||||
];
|
||||
}]);
|
|
@ -1,4 +1,4 @@
|
|||
<div class="horizontal-scroll">
|
||||
<div class="horizontal-scroll" ng-controller="tablesPageCtrl">
|
||||
<table class="table table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
|
@ -10,40 +10,12 @@
|
|||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><img src="img/chrome.svg" width="20" height="20"></td>
|
||||
<td ng-class="nowrap">Google Chrome</td>
|
||||
<td class="align-right">10,392</td>
|
||||
<td class="align-right">4,214</td>
|
||||
<td class="align-right">45%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="img/firefox.svg" width="20" height="20"></td>
|
||||
<td>Mozilla Firefox</td>
|
||||
<td class="align-right">7,873</td>
|
||||
<td class="align-right">3,031</td>
|
||||
<td class="align-right">28%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="img/ie.svg" width="20" height="20"></td>
|
||||
<td ng-class="nowrap">Internet Explorer</td>
|
||||
<td class="align-right">5,890</td>
|
||||
<td class="align-right">2,102</td>
|
||||
<td class="align-right">17%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="img/safari.svg" width="20" height="20"></td>
|
||||
<td ng-class="nowrap">Safari</td>
|
||||
<td class="align-right">4,001</td>
|
||||
<td class="align-right">1,001</td>
|
||||
<td class="align-right">14%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="img/opera.svg" width="20" height="20"></td>
|
||||
<td ng-class="nowrap">Opera</td>
|
||||
<td class="align-right">1,833</td>
|
||||
<td class="align-right">83</td>
|
||||
<td class="align-right">5%</td>
|
||||
<tr ng-repeat="item in metricsTableData">
|
||||
<td><img ng-src="{{item.image}}" width="20" height="20"></td>
|
||||
<td ng-class="nowrap">{{item.browser}}</td>
|
||||
<td class="align-right">{{item.visits}}</td>
|
||||
<td class="align-right">{{item.purchases}}</td>
|
||||
<td class="align-right">{{item.percent}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<div class="horizontal-scroll">
|
||||
<div class="horizontal-scroll" ng-controller="tablesPageCtrl">
|
||||
<table class="table table-condensed">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th class="table-id">#</th>
|
||||
<th>First Name</th>
|
||||
<th>Last Name</th>
|
||||
<th>Username</th>
|
||||
|
@ -11,45 +11,13 @@
|
|||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>1</td>
|
||||
<td>Mark</td>
|
||||
<td>Otto</td>
|
||||
<td>@mdo</td>
|
||||
<td>mdo@gmail.com</td>
|
||||
<td>28</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2</td>
|
||||
<td>Jacob</td>
|
||||
<td>Thornton</td>
|
||||
<td>@fat</td>
|
||||
<td>fat@yandex.ru</td>
|
||||
<td>45</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>3</td>
|
||||
<td>Larry</td>
|
||||
<td>Bird</td>
|
||||
<td>@twitter</td>
|
||||
<td>twitter@outlook.com</td>
|
||||
<td>18</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>4</td>
|
||||
<td>John</td>
|
||||
<td>Snow</td>
|
||||
<td>@snow</td>
|
||||
<td>snow@gmail.com</td>
|
||||
<td>20</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>5</td>
|
||||
<td>Jack</td>
|
||||
<td>Sparrow</td>
|
||||
<td>@jack</td>
|
||||
<td>jack@yandex.ru</td>
|
||||
<td>30</td>
|
||||
<tr ng-repeat="item in peopleTableData">
|
||||
<td class="table-id">{{item.id}}</td>
|
||||
<td>{{item.firstName}}</td>
|
||||
<td>{{item.lastName}}</td>
|
||||
<td>{{item.username}}</td>
|
||||
<td><a class="email-link" ng-href="mailto:{{item.email}}">{{item.email}}</a></td>
|
||||
<td>{{item.age}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<div class="horizontal-scroll">
|
||||
<div class="horizontal-scroll" ng-controller="tablesPageCtrl">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
|
@ -13,55 +13,15 @@
|
|||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><img src="img/chrome.svg" width="20" height="20"></td>
|
||||
<td class="nowrap">Google Chrome</td>
|
||||
<td class="align-right">10,392</td>
|
||||
<td class="table-arr"><i class="icon-up"></i></td>
|
||||
<td class="align-right">4,214</td>
|
||||
<td class="table-arr"><i class="icon-up"></i></td>
|
||||
<td class="align-right">45%</td>
|
||||
<td class="table-arr"><i class="icon-up"></i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="img/firefox.svg" width="20" height="20"></td>
|
||||
<td class="nowrap">Mozilla Firefox</td>
|
||||
<td class="align-right">7,873</td>
|
||||
<td class="table-arr"><i class="icon-down"></i></td>
|
||||
<td class="align-right">3,031</td>
|
||||
<td class="table-arr"><i class="icon-up"></i></td>
|
||||
<td class="align-right">28%</td>
|
||||
<td class="table-arr"><i class="icon-up"></i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="img/ie.svg" width="20" height="20"></td>
|
||||
<td class="nowrap">Internet Explorer</td>
|
||||
<td class="align-right">5,890</td>
|
||||
<td class="table-arr"><i class="icon-down"></i></td>
|
||||
<td class="align-right">2,102</td>
|
||||
<td class="table-arr"><i class="icon-down"></i></td>
|
||||
<td class="align-right">17%</td>
|
||||
<td class="table-arr"><i class="icon-down"></i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="img/safari.svg" width="20" height="20"></td>
|
||||
<td class="nowrap">Safari</td>
|
||||
<td class="align-right">4,001</td>
|
||||
<td class="table-arr"><i class="icon-up"></i></td>
|
||||
<td class="align-right">1,001</td>
|
||||
<td class="table-arr"><i class="icon-down"></i></td>
|
||||
<td class="align-right">14%</td>
|
||||
<td class="table-arr"><i class="icon-down"></i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="img/opera.svg" width="20" height="20"></td>
|
||||
<td class="nowrap">Opera</td>
|
||||
<td class="align-right">1,833</td>
|
||||
<td class="table-arr"><i class="icon-up"></i></td>
|
||||
<td class="align-right">83</td>
|
||||
<td class="table-arr"><i class="icon-up"></i></td>
|
||||
<td class="align-right">5%</td>
|
||||
<td class="table-arr"><i class="icon-up"></i></td>
|
||||
<tr ng-repeat="item in metricsTableData">
|
||||
<td><img ng-src="{{item.image}}" width="20" height="20"></td>
|
||||
<td ng-class="nowrap">{{item.browser}}</td>
|
||||
<td class="align-right">{{item.visits}}</td>
|
||||
<td class="table-arr"><i ng-class="{'icon-up': item.isVisitsUp, 'icon-down': !item.isVisitsUp }"></i></td>
|
||||
<td class="align-right">{{item.purchases}}</td>
|
||||
<td class="table-arr"><i ng-class="{'icon-up': item.isPurchasesUp, 'icon-down': !item.isPurchasesUp }"></i></td>
|
||||
<td class="align-right">{{item.percent}}</td>
|
||||
<td class="table-arr"><i ng-class="{'icon-up': item.isPercentUp, 'icon-down': !item.isPercentUp }"></i></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
<div class="horizontal-scroll">
|
||||
<table class="table" st-table="smartTableData" ng-controller="tablesPageCtrl">
|
||||
<thead>
|
||||
<tr class="sortable">
|
||||
<th class="table-id" st-sort="id">#</th>
|
||||
<th st-sort="firstName">First Name</th>
|
||||
<th st-sort="lastName">Last Name</th>
|
||||
<th st-sort="username">Username</th>
|
||||
<th st-sort="email">Email</th>
|
||||
<th st-sort="age">Age</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th><input st-search="firstName" placeholder="Search First Name" class="input-sm form-control search-input" type="search"/></th>
|
||||
<th><input st-search="lastName" placeholder="Search Last Name" class="input-sm form-control search-input" type="search"/></th>
|
||||
<th><input st-search="username" placeholder="Search Username" class="input-sm form-control search-input" type="search"/></th>
|
||||
<th><input st-search="email" placeholder="Search Email" class="input-sm form-control search-input" type="search"/></th>
|
||||
<th><input st-search="age" placeholder="Search Age" class="input-sm form-control search-input" type="search"/></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="item in smartTableData">
|
||||
<td class="table-id">{{item.id}}</td>
|
||||
<td>{{item.firstName}}</td>
|
||||
<td>{{item.lastName}}</td>
|
||||
<td>{{item.username}}</td>
|
||||
<td><a class="email-link" ng-href="mailto:{{item.email}}">{{item.email}}</a></td>
|
||||
<td>{{item.age}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="6" class="text-center">
|
||||
<div st-pagination="" st-items-by-page="5" st-displayed-pages="5"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
|
@ -1,8 +1,8 @@
|
|||
<div class="horizontal-scroll">
|
||||
<div class="horizontal-scroll vertical-scroll" ng-controller="tablesPageCtrl">
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th class="table-id">#</th>
|
||||
<th>First Name</th>
|
||||
<th>Last Name</th>
|
||||
<th>Username</th>
|
||||
|
@ -11,45 +11,13 @@
|
|||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>1</td>
|
||||
<td>Mark</td>
|
||||
<td>Otto</td>
|
||||
<td>@mdo</td>
|
||||
<td>mdo@gmail.com</td>
|
||||
<td>28</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2</td>
|
||||
<td>Jacob</td>
|
||||
<td>Thornton</td>
|
||||
<td>@fat</td>
|
||||
<td>fat@yandex.ru</td>
|
||||
<td>45</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>3</td>
|
||||
<td>Larry</td>
|
||||
<td>Bird</td>
|
||||
<td>@twitter</td>
|
||||
<td>twitter@outlook.com</td>
|
||||
<td>18</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>4</td>
|
||||
<td>John</td>
|
||||
<td>Snow</td>
|
||||
<td>@snow</td>
|
||||
<td>snow@gmail.com</td>
|
||||
<td>20</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>5</td>
|
||||
<td>Jack</td>
|
||||
<td>Sparrow</td>
|
||||
<td>@jack</td>
|
||||
<td>jack@yandex.ru</td>
|
||||
<td>30</td>
|
||||
<tr ng-repeat="item in smartTableData">
|
||||
<td class="table-id">{{item.id}}</td>
|
||||
<td>{{item.firstName}}</td>
|
||||
<td>{{item.lastName}}</td>
|
||||
<td>{{item.username}}</td>
|
||||
<td><a class="email-link" ng-href="mailto:{{item.email}}">{{item.email}}</a></td>
|
||||
<td>{{item.age}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
@ -43,6 +43,9 @@ a.al-logo {
|
|||
white-space: nowrap;
|
||||
text-shadow: 0 0 2px;
|
||||
overflow: hidden;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
&:hover {
|
||||
color: $primary;
|
||||
text-decoration: none;
|
||||
|
|
|
@ -37,6 +37,11 @@
|
|||
}
|
||||
}
|
||||
|
||||
.table-id {
|
||||
text-align: left !important;
|
||||
width: 40px;
|
||||
}
|
||||
|
||||
.table-arr {
|
||||
width: 5px;
|
||||
padding: 10px 8px 8px 0 !important;
|
||||
|
@ -52,3 +57,56 @@
|
|||
.browser-icons {
|
||||
width: 41px;
|
||||
}
|
||||
|
||||
.st-sort-ascent, .st-sort-descent {
|
||||
position: relative;
|
||||
}
|
||||
.st-sort-ascent:after, .st-sort-descent:after {
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-bottom: 4px solid $default-text;
|
||||
border-top: 4px solid transparent;
|
||||
border-left: 4px solid transparent;
|
||||
border-right: 4px solid transparent;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
.st-sort-descent:after {
|
||||
transform:rotate(-180deg);
|
||||
margin-bottom: -2px;
|
||||
}
|
||||
|
||||
.sortable {
|
||||
th {
|
||||
cursor: pointer;
|
||||
&:after {
|
||||
content: '';
|
||||
display: inline-block;
|
||||
width: 8px;
|
||||
margin-left: 8px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
a.email-link {
|
||||
color: $default-text;
|
||||
&:hover {
|
||||
color: $danger;
|
||||
}
|
||||
}
|
||||
|
||||
input.search-input {
|
||||
margin-left: -8px;
|
||||
padding-left: 8px;
|
||||
}
|
||||
|
||||
.table .pagination {
|
||||
margin: 4px 0 -12px 0;
|
||||
a {
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
.vertical-scroll {
|
||||
max-height: 210px;
|
||||
}
|
Loading…
Reference in New Issue