mirror of https://github.com/akveo/blur-admin
Add authSignIn, authSignUp, page.config, authenticate route, service localStorage, page.service, adjustment auth.css, adjustment gulp inject, install lodash for bower, add module main
parent
1f81f3b1c1
commit
c21905bfc6
|
@ -54,7 +54,8 @@
|
|||
"textAngular": "~1.4.6",
|
||||
"angular-xeditable": "~0.5.0",
|
||||
"ng-js-tree": "~0.0.7",
|
||||
"angular-ui-select": "^0.19.6"
|
||||
"angular-ui-select": "^0.19.6",
|
||||
"lodash": "^4.17.4"
|
||||
},
|
||||
"resolutions": {
|
||||
"angular": "~1.5.9",
|
||||
|
|
|
@ -11,24 +11,26 @@ var _ = require('lodash');
|
|||
|
||||
var browserSync = require('browser-sync');
|
||||
|
||||
gulp.task('inject-reload', ['inject'], function () {
|
||||
gulp.task('inject-reload', ['inject'], function() {
|
||||
browserSync.reload();
|
||||
});
|
||||
|
||||
gulp.task('inject', ['scripts', 'styles', 'injectAuth', 'inject404', 'copyVendorImages'], function () {
|
||||
gulp.task('inject', ['scripts', 'styles', 'injectAuth', 'inject404', 'copyVendorImages'], function() {
|
||||
var injectStyles = gulp.src([
|
||||
path.join(conf.paths.tmp, '/serve/app/main.css'),
|
||||
path.join(conf.paths.tmp, '/serve/app/auth.css'),
|
||||
path.join('!' + conf.paths.tmp, '/serve/app/vendor.css')
|
||||
], {read: false});
|
||||
], { read: false });
|
||||
|
||||
var injectScripts = gulp.src([
|
||||
path.join(conf.paths.src, '/assets/js/**/*.js'),
|
||||
path.join(conf.paths.src, '/app/**/*.module.js'),
|
||||
path.join(conf.paths.src, '/app/**/*.js'),
|
||||
path.join('!' + conf.paths.src, '/app/**/*.spec.js'),
|
||||
path.join('!' + conf.paths.src, '/app/**/*.mock.js'),
|
||||
])
|
||||
/*.pipe($.angularFilesort())*/.on('error', conf.errorHandler('AngularFilesort'));
|
||||
path.join(conf.paths.src, '/assets/js/**/*.js'),
|
||||
path.join(conf.paths.src, '/app/**/*.module.js'),
|
||||
path.join(conf.paths.src, '/app/**/*.js'),
|
||||
path.join('!' + conf.paths.src, '/app/**/*.spec.js'),
|
||||
path.join('!' + conf.paths.src, '/app/**/*.mock.js'),
|
||||
])
|
||||
/*.pipe($.angularFilesort())*/
|
||||
.on('error', conf.errorHandler('AngularFilesort'));
|
||||
|
||||
var injectOptions = {
|
||||
ignorePath: [conf.paths.src, path.join(conf.paths.tmp, '/serve')],
|
||||
|
@ -42,24 +44,23 @@ gulp.task('inject', ['scripts', 'styles', 'injectAuth', 'inject404', 'copyVendor
|
|||
.pipe(gulp.dest(path.join(conf.paths.tmp, '/serve')));
|
||||
});
|
||||
|
||||
gulp.task('injectAuth', ['stylesAuth'], function () {
|
||||
gulp.task('injectAuth', ['stylesAuth'], function() {
|
||||
return injectAlone({
|
||||
css: [path.join('!' + conf.paths.tmp, '/serve/app/vendor.css'), path.join(conf.paths.tmp, '/serve/app/auth.css')],
|
||||
paths: [path.join(conf.paths.src, '/auth.html'), path.join(conf.paths.src, '/reg.html')]
|
||||
paths: [path.join(conf.paths.src, '/auth.html'), path.join(conf.paths.src, '/reg.html'), path.join(conf.paths.src, '/app/pages/authSigIn/authSignIn.html'), path.join(conf.paths.src, '/app/pages/authSigIn/authSignUp.html')]
|
||||
})
|
||||
});
|
||||
|
||||
gulp.task('inject404', ['styles404'], function () {
|
||||
gulp.task('inject404', ['styles404'], function() {
|
||||
return injectAlone({
|
||||
css: [path.join('!' + conf.paths.tmp, '/serve/app/vendor.css'), path.join(conf.paths.tmp, '/serve/app/404.css')],
|
||||
paths: path.join(conf.paths.src, '/404.html')
|
||||
})
|
||||
});
|
||||
|
||||
var injectAlone = function (options) {
|
||||
var injectAlone = function(options) {
|
||||
var injectStyles = gulp.src(
|
||||
options.css
|
||||
, {read: false});
|
||||
options.css, { read: false });
|
||||
|
||||
var injectOptions = {
|
||||
ignorePath: [conf.paths.src, path.join(conf.paths.tmp, '/serve')],
|
||||
|
|
|
@ -0,0 +1,42 @@
|
|||
<div class="login" ng-controller="authSignInCtrl as signInVm">
|
||||
<main class="auth-main">
|
||||
<div class="auth-block">
|
||||
<h1>Sign in to Blur Admin</h1>
|
||||
<a ui-sref="authSignUp" class="auth-link">New to Blur Admin? Sign up!</a>
|
||||
|
||||
<form class="form-horizontal" ng-submit="signInVm.logar()">
|
||||
<div class="form-group">
|
||||
<label for="inputEmail3" class="col-sm-2 control-label">Email</label>
|
||||
|
||||
<div class="col-sm-10">
|
||||
<input type="email" ng-model="signInVm.user" class="form-control" id="inputEmail3" placeholder="Email">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="inputPassword3" class="col-sm-2 control-label">Password</label>
|
||||
|
||||
<div class="col-sm-10">
|
||||
<input type="password" ng-model="signInVm.passWord" class="form-control" id="inputPassword3" placeholder="Password">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-offset-2 col-sm-10">
|
||||
<button type="submit" class="btn btn-default btn-auth">Sign in</button>
|
||||
<a href class="forgot-pass">Forgot password?</a>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div class="auth-sep"><span><span>or Sign in with one click</span></span>
|
||||
</div>
|
||||
|
||||
<div class="al-share-auth">
|
||||
<ul class="al-share clearfix">
|
||||
<li><i class="socicon socicon-facebook" title="Share on Facebook"></i></li>
|
||||
<li><i class="socicon socicon-twitter" title="Share on Twitter"></i></li>
|
||||
<li><i class="socicon socicon-google" title="Share on Google Plus"></i></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</div>
|
|
@ -0,0 +1,22 @@
|
|||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.authSignIn', [])
|
||||
.config(routeConfig);
|
||||
|
||||
/** @ngInject */
|
||||
function routeConfig($stateProvider) {
|
||||
$stateProvider
|
||||
.state('authSignIn', {
|
||||
url: '/authSignIn',
|
||||
templateUrl: 'app/pages/authSignIn/authSignIn.html',
|
||||
title: 'My Page',
|
||||
controller: 'authSignInCtrl',
|
||||
sidebarMeta: {
|
||||
order: 800,
|
||||
},
|
||||
authenticate: false
|
||||
});
|
||||
}
|
||||
|
||||
})();
|
|
@ -0,0 +1,31 @@
|
|||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.authSignIn')
|
||||
.controller('authSignInCtrl', authSignInCtrl);
|
||||
|
||||
/** @ngInject */
|
||||
function authSignInCtrl($scope, localStorage, $state) {
|
||||
var vm = this;
|
||||
|
||||
vm.logar = logar;
|
||||
|
||||
init();
|
||||
|
||||
function init() {
|
||||
localStorage.clear();
|
||||
}
|
||||
|
||||
function logar() {
|
||||
var dadosUser = {
|
||||
user: vm.user,
|
||||
passWord: vm.passWord
|
||||
};
|
||||
localStorage.setObject('dataUser', dadosUser);
|
||||
$state.go('main.dashboard');
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
})();
|
|
@ -0,0 +1,49 @@
|
|||
<div class="login">
|
||||
|
||||
<main class="auth-main">
|
||||
<div class="auth-block">
|
||||
<h1>Sign up to Blur Admin</h1>
|
||||
<a ui-sref="authSignIn" class="auth-link">Already have a Blur Admin account? Sign in!</a>
|
||||
|
||||
<form class="form-horizontal">
|
||||
<div class="form-group">
|
||||
<label for="inputName3" class="col-sm-2 control-label">Name</label>
|
||||
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control" id="inputName3" placeholder="Full Name">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="inputEmail3" class="col-sm-2 control-label">Email</label>
|
||||
|
||||
<div class="col-sm-10">
|
||||
<input type="email" class="form-control" id="inputEmail3" placeholder="Email">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="inputPassword3" class="col-sm-2 control-label">Password</label>
|
||||
|
||||
<div class="col-sm-10">
|
||||
<input type="password" class="form-control" id="inputPassword3" placeholder="Password">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-offset-2 col-sm-10">
|
||||
<button type="submit" class="btn btn-default btn-auth">Sign up</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div class="auth-sep"><span><span>or Sign up with one click</span></span>
|
||||
</div>
|
||||
|
||||
<div class="al-share-auth">
|
||||
<ul class="al-share clearfix">
|
||||
<li><i class="socicon socicon-facebook" title="Share on Facebook"></i></li>
|
||||
<li><i class="socicon socicon-twitter" title="Share on Twitter"></i></li>
|
||||
<li><i class="socicon socicon-google" title="Share on Google Plus"></i></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</div>
|
|
@ -0,0 +1,22 @@
|
|||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.authSignUp', [])
|
||||
.config(routeConfig);
|
||||
|
||||
/** @ngInject */
|
||||
function routeConfig($stateProvider) {
|
||||
$stateProvider
|
||||
.state('authSignUp', {
|
||||
url: '/authSignUp',
|
||||
templateUrl: 'app/pages/authSignUp/authSignUp.html',
|
||||
title: 'My Page',
|
||||
controller: 'authSignUpCtrl',
|
||||
sidebarMeta: {
|
||||
order: 800,
|
||||
},
|
||||
authenticate: false
|
||||
});
|
||||
}
|
||||
|
||||
})();
|
|
@ -0,0 +1,13 @@
|
|||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.authSignUp')
|
||||
.controller('authSignUpCtrl', authSignUpCtrl);
|
||||
|
||||
/** @ngInject */
|
||||
function authSignUpCtrl($scope) {
|
||||
var vm = this;
|
||||
|
||||
}
|
||||
|
||||
})();
|
|
@ -2,23 +2,24 @@
|
|||
* @author v.lugovsky
|
||||
* created on 16.12.2015
|
||||
*/
|
||||
(function () {
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.charts.amCharts', [])
|
||||
.config(routeConfig).config(amChartConfig);
|
||||
.config(routeConfig).config(amChartConfig);
|
||||
|
||||
/** @ngInject */
|
||||
function routeConfig($stateProvider) {
|
||||
$stateProvider
|
||||
.state('charts.amCharts', {
|
||||
url: '/amCharts',
|
||||
templateUrl: 'app/pages/charts/amCharts/charts.html',
|
||||
title: 'amCharts',
|
||||
sidebarMeta: {
|
||||
order: 0,
|
||||
},
|
||||
});
|
||||
.state('main.charts.amCharts', {
|
||||
url: '/amCharts',
|
||||
templateUrl: 'app/pages/charts/amCharts/charts.html',
|
||||
title: 'amCharts',
|
||||
sidebarMeta: {
|
||||
order: 0,
|
||||
},
|
||||
authenticate: true
|
||||
});
|
||||
}
|
||||
|
||||
function amChartConfig(baConfigProvider) {
|
||||
|
@ -222,4 +223,4 @@
|
|||
};
|
||||
}
|
||||
|
||||
})();
|
||||
})();
|
|
@ -2,71 +2,73 @@
|
|||
* @author a.demeshko
|
||||
* created on 12/16/15
|
||||
*/
|
||||
(function () {
|
||||
'use strict';
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.charts.chartJs', [])
|
||||
.config(routeConfig).config(chartJsConfig);
|
||||
angular.module('BlurAdmin.pages.charts.chartJs', [])
|
||||
.config(routeConfig).config(chartJsConfig);
|
||||
|
||||
/** @ngInject */
|
||||
function routeConfig($stateProvider) {
|
||||
$stateProvider
|
||||
.state('charts.chartJs', {
|
||||
url: '/chartJs',
|
||||
templateUrl: 'app/pages/charts/chartJs/chartJs.html',
|
||||
title: 'Chart.js',
|
||||
sidebarMeta: {
|
||||
order: 200
|
||||
}
|
||||
});
|
||||
}
|
||||
/** @ngInject */
|
||||
function routeConfig($stateProvider) {
|
||||
$stateProvider
|
||||
.state('main.charts.chartJs', {
|
||||
url: '/chartJs',
|
||||
templateUrl: 'app/pages/charts/chartJs/chartJs.html',
|
||||
title: 'Chart.js',
|
||||
sidebarMeta: {
|
||||
order: 200
|
||||
},
|
||||
authenticate: true
|
||||
});
|
||||
}
|
||||
|
||||
function chartJsConfig(ChartJsProvider, baConfigProvider) {
|
||||
var layoutColors = baConfigProvider.colors;
|
||||
// Configure all charts
|
||||
ChartJsProvider.setOptions({
|
||||
chartColors: [
|
||||
layoutColors.primary, layoutColors.danger, layoutColors.warning, layoutColors.success, layoutColors.info, layoutColors.default, layoutColors.primaryDark, layoutColors.successDark, layoutColors.warningLight, layoutColors.successLight, layoutColors.primaryLight],
|
||||
responsive: true,
|
||||
maintainAspectRatio: false,
|
||||
animation: {
|
||||
duration: 2500
|
||||
},
|
||||
scale: {
|
||||
gridLines: {
|
||||
color: layoutColors.border
|
||||
},
|
||||
scaleLabel: {
|
||||
fontColor: layoutColors.defaultText
|
||||
},
|
||||
ticks: {
|
||||
fontColor: layoutColors.defaultText,
|
||||
showLabelBackdrop: false
|
||||
}
|
||||
}
|
||||
});
|
||||
// Configure all line charts
|
||||
ChartJsProvider.setOptions('Line', {
|
||||
datasetFill: false
|
||||
});
|
||||
// Configure all radar charts
|
||||
ChartJsProvider.setOptions('radar', {
|
||||
scale: {
|
||||
pointLabels: {
|
||||
fontColor: layoutColors.defaultText
|
||||
},
|
||||
ticks: {
|
||||
maxTicksLimit: 5,
|
||||
display: false
|
||||
}
|
||||
}
|
||||
});
|
||||
// Configure all bar charts
|
||||
ChartJsProvider.setOptions('bar', {
|
||||
tooltips: {
|
||||
enabled: false
|
||||
}
|
||||
});
|
||||
}
|
||||
function chartJsConfig(ChartJsProvider, baConfigProvider) {
|
||||
var layoutColors = baConfigProvider.colors;
|
||||
// Configure all charts
|
||||
ChartJsProvider.setOptions({
|
||||
chartColors: [
|
||||
layoutColors.primary, layoutColors.danger, layoutColors.warning, layoutColors.success, layoutColors.info, layoutColors.default, layoutColors.primaryDark, layoutColors.successDark, layoutColors.warningLight, layoutColors.successLight, layoutColors.primaryLight
|
||||
],
|
||||
responsive: true,
|
||||
maintainAspectRatio: false,
|
||||
animation: {
|
||||
duration: 2500
|
||||
},
|
||||
scale: {
|
||||
gridLines: {
|
||||
color: layoutColors.border
|
||||
},
|
||||
scaleLabel: {
|
||||
fontColor: layoutColors.defaultText
|
||||
},
|
||||
ticks: {
|
||||
fontColor: layoutColors.defaultText,
|
||||
showLabelBackdrop: false
|
||||
}
|
||||
}
|
||||
});
|
||||
// Configure all line charts
|
||||
ChartJsProvider.setOptions('Line', {
|
||||
datasetFill: false
|
||||
});
|
||||
// Configure all radar charts
|
||||
ChartJsProvider.setOptions('radar', {
|
||||
scale: {
|
||||
pointLabels: {
|
||||
fontColor: layoutColors.defaultText
|
||||
},
|
||||
ticks: {
|
||||
maxTicksLimit: 5,
|
||||
display: false
|
||||
}
|
||||
}
|
||||
});
|
||||
// Configure all bar charts
|
||||
ChartJsProvider.setOptions('bar', {
|
||||
tooltips: {
|
||||
enabled: false
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
})();
|
|
@ -2,7 +2,7 @@
|
|||
* @author a.demeshko
|
||||
* created on 12/17/15
|
||||
*/
|
||||
(function () {
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.charts.chartist', [])
|
||||
|
@ -11,14 +11,15 @@
|
|||
/** @ngInject */
|
||||
function routeConfig($stateProvider) {
|
||||
$stateProvider
|
||||
.state('charts.chartist', {
|
||||
url: '/chartist',
|
||||
templateUrl: 'app/pages/charts/chartist/chartist.html',
|
||||
title: 'Chartist',
|
||||
sidebarMeta: {
|
||||
order: 100,
|
||||
},
|
||||
});
|
||||
.state('main.charts.chartist', {
|
||||
url: '/chartist',
|
||||
templateUrl: 'app/pages/charts/chartist/chartist.html',
|
||||
title: 'Chartist',
|
||||
sidebarMeta: {
|
||||
order: 100,
|
||||
},
|
||||
authenticate: true
|
||||
});
|
||||
}
|
||||
|
||||
})();
|
|
@ -2,7 +2,7 @@
|
|||
* @author v.lugovsky
|
||||
* created on 16.12.2015
|
||||
*/
|
||||
(function () {
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.charts', [
|
||||
|
@ -10,22 +10,23 @@
|
|||
'BlurAdmin.pages.charts.chartJs',
|
||||
'BlurAdmin.pages.charts.chartist',
|
||||
'BlurAdmin.pages.charts.morris'
|
||||
])
|
||||
.config(routeConfig);
|
||||
])
|
||||
.config(routeConfig);
|
||||
|
||||
/** @ngInject */
|
||||
function routeConfig($stateProvider) {
|
||||
$stateProvider
|
||||
.state('charts', {
|
||||
url: '/charts',
|
||||
abstract: true,
|
||||
template: '<div ui-view autoscroll="true" autoscroll-body-top></div>',
|
||||
title: 'Charts',
|
||||
sidebarMeta: {
|
||||
icon: 'ion-stats-bars',
|
||||
order: 150,
|
||||
},
|
||||
});
|
||||
.state('main.charts', {
|
||||
url: '/charts',
|
||||
abstract: true,
|
||||
template: '<div ui-view autoscroll="true" autoscroll-body-top></div>',
|
||||
title: 'Charts',
|
||||
sidebarMeta: {
|
||||
icon: 'ion-stats-bars',
|
||||
order: 150,
|
||||
},
|
||||
authenticate: true
|
||||
});
|
||||
}
|
||||
|
||||
})();
|
||||
})();
|
|
@ -2,11 +2,11 @@
|
|||
* @author a.demeshko
|
||||
* created on 12/18/15
|
||||
*/
|
||||
(function () {
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.charts.morris', [])
|
||||
.config(routeConfig).config(function(baConfigProvider){
|
||||
.config(routeConfig).config(function(baConfigProvider) {
|
||||
var layoutColors = baConfigProvider.colors;
|
||||
Morris.Donut.prototype.defaults.backgroundColor = 'transparent';
|
||||
Morris.Donut.prototype.defaults.labelColor = layoutColors.defaultText;
|
||||
|
@ -17,14 +17,15 @@
|
|||
/** @ngInject */
|
||||
function routeConfig($stateProvider) {
|
||||
$stateProvider
|
||||
.state('charts.morris', {
|
||||
url: '/morris',
|
||||
templateUrl: 'app/pages/charts/morris/morris.html',
|
||||
title: 'Morris',
|
||||
sidebarMeta: {
|
||||
order: 300,
|
||||
}
|
||||
});
|
||||
.state('main.charts.morris', {
|
||||
url: '/morris',
|
||||
templateUrl: 'app/pages/charts/morris/morris.html',
|
||||
title: 'Morris',
|
||||
sidebarMeta: {
|
||||
order: 300,
|
||||
},
|
||||
authenticate: true
|
||||
});
|
||||
}
|
||||
|
||||
})();
|
|
@ -2,29 +2,30 @@
|
|||
* @author k.danovsky
|
||||
* created on 15.01.2016
|
||||
*/
|
||||
(function () {
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.components', [
|
||||
'BlurAdmin.pages.components.mail',
|
||||
'BlurAdmin.pages.components.timeline',
|
||||
'BlurAdmin.pages.components.tree',
|
||||
])
|
||||
.config(routeConfig);
|
||||
'BlurAdmin.pages.components.mail',
|
||||
'BlurAdmin.pages.components.timeline',
|
||||
'BlurAdmin.pages.components.tree',
|
||||
])
|
||||
.config(routeConfig);
|
||||
|
||||
/** @ngInject */
|
||||
function routeConfig($stateProvider) {
|
||||
$stateProvider
|
||||
.state('components', {
|
||||
url: '/components',
|
||||
template : '<ui-view autoscroll="true" autoscroll-body-top></ui-view>',
|
||||
abstract: true,
|
||||
title: 'Components',
|
||||
sidebarMeta: {
|
||||
icon: 'ion-gear-a',
|
||||
order: 100,
|
||||
},
|
||||
});
|
||||
.state('main.components', {
|
||||
url: '/components',
|
||||
template: '<ui-view autoscroll="true" autoscroll-body-top></ui-view>',
|
||||
abstract: true,
|
||||
title: 'Components',
|
||||
sidebarMeta: {
|
||||
icon: 'ion-gear-a',
|
||||
order: 100,
|
||||
},
|
||||
authenticate: true
|
||||
});
|
||||
}
|
||||
|
||||
})();
|
||||
})();
|
|
@ -2,39 +2,42 @@
|
|||
* @author v.lugovsky
|
||||
* created on 16.12.2015
|
||||
*/
|
||||
(function () {
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.components.mail', [])
|
||||
.config(routeConfig);
|
||||
|
||||
/** @ngInject */
|
||||
function routeConfig($stateProvider,$urlRouterProvider) {
|
||||
function routeConfig($stateProvider, $urlRouterProvider) {
|
||||
$stateProvider
|
||||
.state('components.mail', {
|
||||
url: '/mail',
|
||||
abstract: true,
|
||||
templateUrl: 'app/pages/components/mail/mail.html',
|
||||
controller: "MailTabCtrl",
|
||||
controllerAs: "tabCtrl",
|
||||
title: 'Mail',
|
||||
sidebarMeta: {
|
||||
order: 0,
|
||||
},
|
||||
}).state('components.mail.label', {
|
||||
url: '/:label',
|
||||
templateUrl: 'app/pages/components/mail/list/mailList.html',
|
||||
title: 'Mail',
|
||||
controller: "MailListCtrl",
|
||||
controllerAs: "listCtrl"
|
||||
}).state('components.mail.detail', {
|
||||
url: '/:label/:id',
|
||||
templateUrl: 'app/pages/components/mail/detail/mailDetail.html',
|
||||
title: 'Mail',
|
||||
controller: "MailDetailCtrl",
|
||||
controllerAs: "detailCtrl"
|
||||
});
|
||||
$urlRouterProvider.when('/components/mail','/components/mail/inbox');
|
||||
.state('main.components.mail', {
|
||||
url: '/mail',
|
||||
abstract: true,
|
||||
templateUrl: 'app/pages/components/mail/mail.html',
|
||||
controller: "MailTabCtrl",
|
||||
controllerAs: "tabCtrl",
|
||||
title: 'Mail',
|
||||
sidebarMeta: {
|
||||
order: 0,
|
||||
},
|
||||
authenticate: true
|
||||
}).state('main.components.mail.label', {
|
||||
url: '/:label',
|
||||
templateUrl: 'app/pages/components/mail/list/mailList.html',
|
||||
title: 'Mail',
|
||||
controller: "MailListCtrl",
|
||||
controllerAs: "listCtrl",
|
||||
authenticate: true
|
||||
}).state('main.components.mail.detail', {
|
||||
url: '/:label/:id',
|
||||
templateUrl: 'app/pages/components/mail/detail/mailDetail.html',
|
||||
title: 'Mail',
|
||||
controller: "MailDetailCtrl",
|
||||
controllerAs: "detailCtrl",
|
||||
authenticate: true
|
||||
});
|
||||
$urlRouterProvider.when('/main/components/mail', '/main/components/mail/inbox');
|
||||
}
|
||||
|
||||
})();
|
||||
})();
|
|
@ -2,7 +2,7 @@
|
|||
* @author a.demeshko
|
||||
* created on 1/12/16
|
||||
*/
|
||||
(function () {
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.components.timeline', [])
|
||||
|
@ -11,14 +11,15 @@
|
|||
/** @ngInject */
|
||||
function routeConfig($stateProvider) {
|
||||
$stateProvider
|
||||
.state('components.timeline', {
|
||||
.state('main.components.timeline', {
|
||||
url: '/timeline',
|
||||
templateUrl: 'app/pages/components/timeline/timeline.html',
|
||||
title: 'Timeline',
|
||||
sidebarMeta: {
|
||||
icon: 'ion-ios-pulse',
|
||||
order: 100,
|
||||
},
|
||||
title: 'Timeline',
|
||||
sidebarMeta: {
|
||||
icon: 'ion-ios-pulse',
|
||||
order: 100,
|
||||
},
|
||||
authenticate: true
|
||||
});
|
||||
}
|
||||
})();
|
|
@ -2,12 +2,12 @@
|
|||
* @author a.demeshko
|
||||
* created on 12.21.2015
|
||||
*/
|
||||
(function () {
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.components.tree', [])
|
||||
.config(routeConfig)
|
||||
.config(function(){
|
||||
.config(function() {
|
||||
$.jstree.defaults.core.themes.url = true;
|
||||
$.jstree.defaults.core.themes.dir = "assets/img/theme/vendor/jstree/dist/themes";
|
||||
});
|
||||
|
@ -15,14 +15,15 @@
|
|||
/** @ngInject */
|
||||
function routeConfig($stateProvider) {
|
||||
$stateProvider
|
||||
.state('components.tree', {
|
||||
url: '/tree',
|
||||
templateUrl: 'app/pages/components/tree/tree.html',
|
||||
title: 'Tree View',
|
||||
sidebarMeta: {
|
||||
order: 200,
|
||||
},
|
||||
});
|
||||
.state('main.components.tree', {
|
||||
url: '/tree',
|
||||
templateUrl: 'app/pages/components/tree/tree.html',
|
||||
title: 'Tree View',
|
||||
sidebarMeta: {
|
||||
order: 200,
|
||||
},
|
||||
authenticate: true
|
||||
});
|
||||
}
|
||||
|
||||
})();
|
||||
})();
|
|
@ -0,0 +1,12 @@
|
|||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.config', [])
|
||||
.config(routeConfig);
|
||||
|
||||
/** @ngInject */
|
||||
function routeConfig() {
|
||||
|
||||
}
|
||||
|
||||
})();
|
|
@ -0,0 +1,19 @@
|
|||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.config')
|
||||
.run(stateChangeStart);
|
||||
|
||||
/** @ngInject */
|
||||
function stateChangeStart($rootScope, $state, localStorage) {
|
||||
$rootScope.$on("$stateChangeStart", function(event, toState, toParams, fromState, fromParams) {
|
||||
var login = localStorage.getObject('dataUser');
|
||||
if (toState.authenticate && _.isEmpty(login)) {
|
||||
// User isn’t authenticated
|
||||
$state.transitionTo("authSignIn");
|
||||
event.preventDefault();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
})();
|
|
@ -2,24 +2,25 @@
|
|||
* @author v.lugovsky
|
||||
* created on 16.12.2015
|
||||
*/
|
||||
(function () {
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.dashboard', [])
|
||||
.config(routeConfig);
|
||||
.config(routeConfig);
|
||||
|
||||
/** @ngInject */
|
||||
function routeConfig($stateProvider) {
|
||||
$stateProvider
|
||||
.state('dashboard', {
|
||||
url: '/dashboard',
|
||||
templateUrl: 'app/pages/dashboard/dashboard.html',
|
||||
title: 'Dashboard',
|
||||
sidebarMeta: {
|
||||
icon: 'ion-android-home',
|
||||
order: 0,
|
||||
},
|
||||
});
|
||||
.state('main.dashboard', {
|
||||
url: '/dashboard',
|
||||
templateUrl: 'app/pages/dashboard/dashboard.html',
|
||||
title: 'Dashboard',
|
||||
sidebarMeta: {
|
||||
icon: 'ion-android-home',
|
||||
order: 0,
|
||||
},
|
||||
authenticate: true
|
||||
});
|
||||
}
|
||||
|
||||
})();
|
||||
})();
|
|
@ -2,51 +2,54 @@
|
|||
* @author v.lugovsky
|
||||
* created on 16.12.2015
|
||||
*/
|
||||
(function () {
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.form', ['ui.select', 'ngSanitize'])
|
||||
.config(routeConfig);
|
||||
.config(routeConfig);
|
||||
|
||||
/** @ngInject */
|
||||
function routeConfig($stateProvider) {
|
||||
$stateProvider
|
||||
.state('form', {
|
||||
url: '/form',
|
||||
template : '<ui-view autoscroll="true" autoscroll-body-top></ui-view>',
|
||||
abstract: true,
|
||||
title: 'Form Elements',
|
||||
sidebarMeta: {
|
||||
icon: 'ion-compose',
|
||||
order: 250,
|
||||
},
|
||||
})
|
||||
.state('form.inputs', {
|
||||
url: '/inputs',
|
||||
templateUrl: 'app/pages/form/inputs/inputs.html',
|
||||
title: 'Form Inputs',
|
||||
sidebarMeta: {
|
||||
order: 0,
|
||||
},
|
||||
})
|
||||
.state('form.layouts', {
|
||||
url: '/layouts',
|
||||
templateUrl: 'app/pages/form/layouts/layouts.html',
|
||||
title: 'Form Layouts',
|
||||
sidebarMeta: {
|
||||
order: 100,
|
||||
},
|
||||
})
|
||||
.state('form.wizard',
|
||||
{
|
||||
url: '/wizard',
|
||||
templateUrl: 'app/pages/form/wizard/wizard.html',
|
||||
controller: 'WizardCtrl',
|
||||
controllerAs: 'vm',
|
||||
title: 'Form Wizard',
|
||||
sidebarMeta: {
|
||||
order: 200,
|
||||
},
|
||||
});
|
||||
.state('main.form', {
|
||||
url: '/form',
|
||||
template: '<ui-view autoscroll="true" autoscroll-body-top></ui-view>',
|
||||
abstract: true,
|
||||
title: 'Form Elements',
|
||||
sidebarMeta: {
|
||||
icon: 'ion-compose',
|
||||
order: 250,
|
||||
},
|
||||
authenticate: true
|
||||
})
|
||||
.state('main.form.inputs', {
|
||||
url: '/inputs',
|
||||
templateUrl: 'app/pages/form/inputs/inputs.html',
|
||||
title: 'Form Inputs',
|
||||
sidebarMeta: {
|
||||
order: 0,
|
||||
},
|
||||
authenticate: true
|
||||
})
|
||||
.state('main.form.layouts', {
|
||||
url: '/layouts',
|
||||
templateUrl: 'app/pages/form/layouts/layouts.html',
|
||||
title: 'Form Layouts',
|
||||
sidebarMeta: {
|
||||
order: 100,
|
||||
},
|
||||
authenticate: true
|
||||
})
|
||||
.state('main.form.wizard', {
|
||||
url: '/wizard',
|
||||
templateUrl: 'app/pages/form/wizard/wizard.html',
|
||||
controller: 'WizardCtrl',
|
||||
controllerAs: 'vm',
|
||||
title: 'Form Wizard',
|
||||
sidebarMeta: {
|
||||
order: 200,
|
||||
},
|
||||
authenticate: true
|
||||
});
|
||||
}
|
||||
})();
|
||||
})();
|
|
@ -0,0 +1,31 @@
|
|||
<div class="body-bg"></div>
|
||||
<main ng-if="$pageFinishedLoading" ng-class="{ 'menu-collapsed': $baSidebarService.isMenuCollapsed() }">
|
||||
|
||||
<ba-sidebar></ba-sidebar>
|
||||
<page-top></page-top>
|
||||
|
||||
<div class="al-main">
|
||||
<div class="al-content">
|
||||
<content-top></content-top>
|
||||
<div ui-view autoscroll="true" autoscroll-body-top></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<footer class="al-footer clearfix">
|
||||
<div class="al-footer-right">Created with <i class="ion-heart"></i></div>
|
||||
<div class="al-footer-main clearfix">
|
||||
<div class="al-copy">Blur Admin 2016</div>
|
||||
<ul class="al-share clearfix">
|
||||
<li><i class="socicon socicon-facebook"></i></li>
|
||||
<li><i class="socicon socicon-twitter"></i></li>
|
||||
<li><i class="socicon socicon-google"></i></li>
|
||||
<li><i class="socicon socicon-github"></i></li>
|
||||
</ul>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<back-top></back-top>
|
||||
</main>
|
||||
<div id="preloader" ng-show="!$pageFinishedLoading">
|
||||
<div></div>
|
||||
</div>
|
|
@ -0,0 +1,24 @@
|
|||
/**
|
||||
* @author l.azevedo
|
||||
* created on 29.07.2017
|
||||
*/
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.main', [])
|
||||
.config(routeConfig);
|
||||
|
||||
/** @ngInject */
|
||||
function routeConfig($stateProvider) {
|
||||
$stateProvider
|
||||
.state('main', {
|
||||
url: '/main',
|
||||
templateUrl: 'app/pages/main/main.html',
|
||||
redirectTo: 'main.dashboard',
|
||||
authenticate: true
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
})();
|
|
@ -2,61 +2,66 @@
|
|||
* @author v.lugovsky
|
||||
* created on 16.12.2015
|
||||
*/
|
||||
(function () {
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.maps', [])
|
||||
.config(routeConfig);
|
||||
.config(routeConfig);
|
||||
|
||||
/** @ngInject */
|
||||
function routeConfig($stateProvider) {
|
||||
$stateProvider
|
||||
.state('maps', {
|
||||
url: '/maps',
|
||||
templateUrl: 'app/pages/maps/maps.html',
|
||||
abstract: true,
|
||||
title: 'Maps',
|
||||
sidebarMeta: {
|
||||
icon: 'ion-ios-location-outline',
|
||||
order: 500,
|
||||
},
|
||||
})
|
||||
.state('maps.gmap', {
|
||||
url: '/gmap',
|
||||
templateUrl: 'app/pages/maps/google-maps/google-maps.html',
|
||||
controller: 'GmapPageCtrl',
|
||||
title: 'Google Maps',
|
||||
sidebarMeta: {
|
||||
order: 0,
|
||||
},
|
||||
})
|
||||
.state('maps.leaflet', {
|
||||
url: '/leaflet',
|
||||
templateUrl: 'app/pages/maps/leaflet/leaflet.html',
|
||||
controller: 'LeafletPageCtrl',
|
||||
title: 'Leaflet Maps',
|
||||
sidebarMeta: {
|
||||
order: 100,
|
||||
},
|
||||
})
|
||||
.state('maps.bubble', {
|
||||
url: '/bubble',
|
||||
templateUrl: 'app/pages/maps/map-bubbles/map-bubbles.html',
|
||||
controller: 'MapBubblePageCtrl',
|
||||
title: 'Bubble Maps',
|
||||
sidebarMeta: {
|
||||
order: 200,
|
||||
},
|
||||
})
|
||||
.state('maps.line', {
|
||||
url: '/line',
|
||||
templateUrl: 'app/pages/maps/map-lines/map-lines.html',
|
||||
controller: 'MapLinesPageCtrl',
|
||||
title: 'Line Maps',
|
||||
sidebarMeta: {
|
||||
order: 300,
|
||||
},
|
||||
});
|
||||
.state('main.maps', {
|
||||
url: '/maps',
|
||||
templateUrl: 'app/pages/maps/maps.html',
|
||||
abstract: true,
|
||||
title: 'Maps',
|
||||
sidebarMeta: {
|
||||
icon: 'ion-ios-location-outline',
|
||||
order: 500,
|
||||
},
|
||||
authenticate: true
|
||||
})
|
||||
.state('main.maps.gmap', {
|
||||
url: '/gmap',
|
||||
templateUrl: 'app/pages/maps/google-maps/google-maps.html',
|
||||
controller: 'GmapPageCtrl',
|
||||
title: 'Google Maps',
|
||||
sidebarMeta: {
|
||||
order: 0,
|
||||
},
|
||||
authenticate: true
|
||||
})
|
||||
.state('main.maps.leaflet', {
|
||||
url: '/leaflet',
|
||||
templateUrl: 'app/pages/maps/leaflet/leaflet.html',
|
||||
controller: 'LeafletPageCtrl',
|
||||
title: 'Leaflet Maps',
|
||||
sidebarMeta: {
|
||||
order: 100,
|
||||
},
|
||||
authenticate: true
|
||||
})
|
||||
.state('main.maps.bubble', {
|
||||
url: '/bubble',
|
||||
templateUrl: 'app/pages/maps/map-bubbles/map-bubbles.html',
|
||||
controller: 'MapBubblePageCtrl',
|
||||
title: 'Bubble Maps',
|
||||
sidebarMeta: {
|
||||
order: 200,
|
||||
},
|
||||
authenticate: true
|
||||
})
|
||||
.state('main.maps.line', {
|
||||
url: '/line',
|
||||
templateUrl: 'app/pages/maps/map-lines/map-lines.html',
|
||||
controller: 'MapLinesPageCtrl',
|
||||
title: 'Line Maps',
|
||||
sidebarMeta: {
|
||||
order: 300,
|
||||
},
|
||||
authenticate: true
|
||||
});
|
||||
}
|
||||
|
||||
})();
|
||||
})();
|
|
@ -2,26 +2,30 @@
|
|||
* @author v.lugovsky
|
||||
* created on 16.12.2015
|
||||
*/
|
||||
(function () {
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages', [
|
||||
'ui.router',
|
||||
|
||||
'BlurAdmin.pages.dashboard',
|
||||
'BlurAdmin.pages.ui',
|
||||
'BlurAdmin.pages.components',
|
||||
'BlurAdmin.pages.form',
|
||||
'BlurAdmin.pages.tables',
|
||||
'BlurAdmin.pages.charts',
|
||||
'BlurAdmin.pages.maps',
|
||||
'BlurAdmin.pages.profile',
|
||||
])
|
||||
.config(routeConfig);
|
||||
'ui.router',
|
||||
'BlurAdmin.pages.services',
|
||||
'BlurAdmin.pages.config',
|
||||
'BlurAdmin.pages.main',
|
||||
'BlurAdmin.pages.dashboard',
|
||||
'BlurAdmin.pages.ui',
|
||||
'BlurAdmin.pages.components',
|
||||
'BlurAdmin.pages.form',
|
||||
'BlurAdmin.pages.tables',
|
||||
'BlurAdmin.pages.charts',
|
||||
'BlurAdmin.pages.maps',
|
||||
'BlurAdmin.pages.profile',
|
||||
'BlurAdmin.pages.authSignIn',
|
||||
'BlurAdmin.pages.authSignUp',
|
||||
])
|
||||
.config(routeConfig);
|
||||
|
||||
/** @ngInject */
|
||||
function routeConfig($urlRouterProvider, baSidebarServiceProvider) {
|
||||
$urlRouterProvider.otherwise('/dashboard');
|
||||
$urlRouterProvider.otherwise('/authSignIn');
|
||||
|
||||
baSidebarServiceProvider.addStaticItem({
|
||||
title: 'Pages',
|
||||
|
@ -59,4 +63,4 @@
|
|||
});
|
||||
}
|
||||
|
||||
})();
|
||||
})();
|
|
@ -2,21 +2,22 @@
|
|||
* @author v.lugovsky
|
||||
* created on 16.12.2015
|
||||
*/
|
||||
(function () {
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.profile', [])
|
||||
.config(routeConfig);
|
||||
.config(routeConfig);
|
||||
|
||||
/** @ngInject */
|
||||
function routeConfig($stateProvider) {
|
||||
$stateProvider
|
||||
.state('profile', {
|
||||
url: '/profile',
|
||||
title: 'Profile',
|
||||
templateUrl: 'app/pages/profile/profile.html',
|
||||
controller: 'ProfilePageCtrl',
|
||||
});
|
||||
.state('main.profile', {
|
||||
url: '/profile',
|
||||
title: 'Profile',
|
||||
templateUrl: 'app/pages/profile/profile.html',
|
||||
controller: 'ProfilePageCtrl',
|
||||
authenticate: true
|
||||
});
|
||||
}
|
||||
|
||||
})();
|
||||
})();
|
|
@ -0,0 +1,56 @@
|
|||
/**
|
||||
* @author l.azevedo
|
||||
* created on 29/06/2017
|
||||
*/
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.services')
|
||||
.service('localStorage', localStorage);
|
||||
|
||||
/** @ngInject */
|
||||
function localStorage($window) {
|
||||
var service = {
|
||||
set: set,
|
||||
get: get,
|
||||
setObject: setObject,
|
||||
getObject: getObject,
|
||||
clear: clear
|
||||
}
|
||||
|
||||
return service;
|
||||
|
||||
function set(key, value) {
|
||||
if ($window.fakeLocalStorage) {
|
||||
$window.fakeLocalStorage[key] = value;
|
||||
} else {
|
||||
$window.localStorage[key] = value;
|
||||
}
|
||||
}
|
||||
|
||||
function get(key, defaultValue) {
|
||||
return !$window.fakeLocalStorage ? $window.localStorage[key] || defaultValue : $window.fakeLocalStorage[key] || defaultValue;
|
||||
}
|
||||
|
||||
function setObject(key, value) {
|
||||
if ($window.fakeLocalStorage) {
|
||||
$window.fakeLocalStorage[key] = angular.toJson(value);
|
||||
} else {
|
||||
$window.localStorage[key] = angular.toJson(value);
|
||||
}
|
||||
}
|
||||
|
||||
function getObject(key) {
|
||||
return !$window.fakeLocalStorage ? angular.fromJson($window.localStorage[key] || '{}') : angular.fromJson($window.fakeLocalStorage[key] || '{}');
|
||||
}
|
||||
|
||||
function clear() {
|
||||
if ($window.fakeLocalStorage) {
|
||||
$window.fakeLocalStorage = {};
|
||||
} else {
|
||||
$window.localStorage.clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
})();
|
|
@ -0,0 +1,12 @@
|
|||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.services', [])
|
||||
.config(routeConfig);
|
||||
|
||||
/** @ngInject */
|
||||
function routeConfig() {
|
||||
|
||||
}
|
||||
|
||||
})();
|
|
@ -2,7 +2,7 @@
|
|||
* @author v.lugovsky
|
||||
* created on 16.12.2015
|
||||
*/
|
||||
(function () {
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.tables', [])
|
||||
|
@ -11,32 +11,35 @@
|
|||
/** @ngInject */
|
||||
function routeConfig($stateProvider, $urlRouterProvider) {
|
||||
$stateProvider
|
||||
.state('tables', {
|
||||
url: '/tables',
|
||||
template : '<ui-view autoscroll="true" autoscroll-body-top></ui-view>',
|
||||
abstract: true,
|
||||
controller: 'TablesPageCtrl',
|
||||
title: 'Tables',
|
||||
sidebarMeta: {
|
||||
icon: 'ion-grid',
|
||||
order: 300,
|
||||
},
|
||||
}).state('tables.basic', {
|
||||
url: '/basic',
|
||||
templateUrl: 'app/pages/tables/basic/tables.html',
|
||||
title: 'Basic Tables',
|
||||
sidebarMeta: {
|
||||
order: 0,
|
||||
},
|
||||
}).state('tables.smart', {
|
||||
url: '/smart',
|
||||
templateUrl: 'app/pages/tables/smart/tables.html',
|
||||
title: 'Smart Tables',
|
||||
sidebarMeta: {
|
||||
order: 100,
|
||||
},
|
||||
});
|
||||
$urlRouterProvider.when('/tables','/tables/basic');
|
||||
.state('main.tables', {
|
||||
url: '/tables',
|
||||
template: '<ui-view autoscroll="true" autoscroll-body-top></ui-view>',
|
||||
abstract: true,
|
||||
controller: 'TablesPageCtrl',
|
||||
title: 'Tables',
|
||||
sidebarMeta: {
|
||||
icon: 'ion-grid',
|
||||
order: 300,
|
||||
},
|
||||
authenticate: true
|
||||
}).state('main.tables.basic', {
|
||||
url: '/basic',
|
||||
templateUrl: 'app/pages/tables/basic/tables.html',
|
||||
title: 'Basic Tables',
|
||||
sidebarMeta: {
|
||||
order: 0,
|
||||
},
|
||||
authenticate: true
|
||||
}).state('main.tables.smart', {
|
||||
url: '/smart',
|
||||
templateUrl: 'app/pages/tables/smart/tables.html',
|
||||
title: 'Smart Tables',
|
||||
sidebarMeta: {
|
||||
order: 100,
|
||||
},
|
||||
authenticate: true
|
||||
});
|
||||
$urlRouterProvider.when('/main/tables', '/main/tables/basic');
|
||||
}
|
||||
|
||||
})();
|
||||
})();
|
|
@ -2,23 +2,24 @@
|
|||
* @author v.lugovsky
|
||||
* created on 16.12.2015
|
||||
*/
|
||||
(function () {
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.ui.alerts', [])
|
||||
.config(routeConfig);
|
||||
.config(routeConfig);
|
||||
|
||||
/** @ngInject */
|
||||
function routeConfig($stateProvider) {
|
||||
$stateProvider
|
||||
.state('ui.alerts', {
|
||||
url: '/alerts',
|
||||
templateUrl: 'app/pages/ui/alerts/alerts.html',
|
||||
title: 'Alerts',
|
||||
sidebarMeta: {
|
||||
order: 500,
|
||||
},
|
||||
});
|
||||
.state('main.ui.alerts', {
|
||||
url: '/alerts',
|
||||
templateUrl: 'app/pages/ui/alerts/alerts.html',
|
||||
title: 'Alerts',
|
||||
sidebarMeta: {
|
||||
order: 500,
|
||||
},
|
||||
authenticate: true
|
||||
});
|
||||
}
|
||||
|
||||
})();
|
||||
})();
|
|
@ -2,24 +2,25 @@
|
|||
* @author v.lugovsky
|
||||
* created on 16.12.2015
|
||||
*/
|
||||
(function () {
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.ui.buttons', [])
|
||||
.config(routeConfig);
|
||||
.config(routeConfig);
|
||||
|
||||
/** @ngInject */
|
||||
function routeConfig($stateProvider) {
|
||||
$stateProvider
|
||||
.state('ui.buttons', {
|
||||
url: '/buttons',
|
||||
templateUrl: 'app/pages/ui/buttons/buttons.html',
|
||||
controller: 'ButtonPageCtrl',
|
||||
title: 'Buttons',
|
||||
sidebarMeta: {
|
||||
order: 100,
|
||||
},
|
||||
});
|
||||
.state('main.ui.buttons', {
|
||||
url: '/buttons',
|
||||
templateUrl: 'app/pages/ui/buttons/buttons.html',
|
||||
controller: 'ButtonPageCtrl',
|
||||
title: 'Buttons',
|
||||
sidebarMeta: {
|
||||
order: 100,
|
||||
},
|
||||
authenticate: true
|
||||
});
|
||||
}
|
||||
|
||||
})();
|
||||
})();
|
|
@ -2,23 +2,24 @@
|
|||
* @author v.lugovsky
|
||||
* created on 16.12.2015
|
||||
*/
|
||||
(function () {
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.ui.grid', [])
|
||||
.config(routeConfig);
|
||||
.config(routeConfig);
|
||||
|
||||
/** @ngInject */
|
||||
function routeConfig($stateProvider) {
|
||||
$stateProvider
|
||||
.state('ui.grid', {
|
||||
url: '/grid',
|
||||
templateUrl: 'app/pages/ui/grid/grid.html',
|
||||
title: 'Grid',
|
||||
sidebarMeta: {
|
||||
order: 400,
|
||||
},
|
||||
});
|
||||
.state('main.ui.grid', {
|
||||
url: '/grid',
|
||||
templateUrl: 'app/pages/ui/grid/grid.html',
|
||||
title: 'Grid',
|
||||
sidebarMeta: {
|
||||
order: 400,
|
||||
},
|
||||
authenticate: true
|
||||
});
|
||||
}
|
||||
|
||||
})();
|
||||
})();
|
|
@ -2,24 +2,25 @@
|
|||
* @author v.lugovsky
|
||||
* created on 16.12.2015
|
||||
*/
|
||||
(function () {
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.ui.icons', [])
|
||||
.config(routeConfig);
|
||||
.config(routeConfig);
|
||||
|
||||
/** @ngInject */
|
||||
function routeConfig($stateProvider) {
|
||||
$stateProvider
|
||||
.state('ui.icons', {
|
||||
url: '/icons',
|
||||
templateUrl: 'app/pages/ui/icons/icons.html',
|
||||
controller: 'IconsPageCtrl',
|
||||
title: 'Icons',
|
||||
sidebarMeta: {
|
||||
order: 200,
|
||||
},
|
||||
});
|
||||
.state('main.ui.icons', {
|
||||
url: '/icons',
|
||||
templateUrl: 'app/pages/ui/icons/icons.html',
|
||||
controller: 'IconsPageCtrl',
|
||||
title: 'Icons',
|
||||
sidebarMeta: {
|
||||
order: 200,
|
||||
},
|
||||
authenticate: true
|
||||
});
|
||||
}
|
||||
|
||||
})();
|
||||
})();
|
|
@ -2,24 +2,25 @@
|
|||
* @author v.lugovsky
|
||||
* created on 16.12.2015
|
||||
*/
|
||||
(function () {
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.ui.modals', [])
|
||||
.config(routeConfig);
|
||||
.config(routeConfig);
|
||||
|
||||
/** @ngInject */
|
||||
function routeConfig($stateProvider) {
|
||||
$stateProvider
|
||||
.state('ui.modals', {
|
||||
url: '/modals',
|
||||
templateUrl: 'app/pages/ui/modals/modals.html',
|
||||
controller: 'ModalsPageCtrl',
|
||||
title: 'Modals',
|
||||
sidebarMeta: {
|
||||
order: 300,
|
||||
},
|
||||
});
|
||||
.state('main.ui.modals', {
|
||||
url: '/modals',
|
||||
templateUrl: 'app/pages/ui/modals/modals.html',
|
||||
controller: 'ModalsPageCtrl',
|
||||
title: 'Modals',
|
||||
sidebarMeta: {
|
||||
order: 300,
|
||||
},
|
||||
authenticate: true
|
||||
});
|
||||
}
|
||||
|
||||
})();
|
||||
})();
|
|
@ -2,24 +2,25 @@
|
|||
* @author v.lugovsky
|
||||
* created on 16.12.2015
|
||||
*/
|
||||
(function () {
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.ui.notifications', [])
|
||||
.config(routeConfig);
|
||||
.config(routeConfig);
|
||||
|
||||
/** @ngInject */
|
||||
function routeConfig($stateProvider) {
|
||||
$stateProvider
|
||||
.state('ui.notifications', {
|
||||
url: '/notifications',
|
||||
templateUrl: 'app/pages/ui/notifications/notifications.html',
|
||||
controller: 'NotificationsPageCtrl',
|
||||
title: 'Notifications',
|
||||
sidebarMeta: {
|
||||
order: 700,
|
||||
},
|
||||
});
|
||||
.state('main.ui.notifications', {
|
||||
url: '/notifications',
|
||||
templateUrl: 'app/pages/ui/notifications/notifications.html',
|
||||
controller: 'NotificationsPageCtrl',
|
||||
title: 'Notifications',
|
||||
sidebarMeta: {
|
||||
order: 700,
|
||||
},
|
||||
authenticate: true
|
||||
});
|
||||
}
|
||||
|
||||
})();
|
||||
})();
|
|
@ -2,24 +2,25 @@
|
|||
* @author v.lugovsky
|
||||
* created on 23.12.2015
|
||||
*/
|
||||
(function () {
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.ui.panels', [])
|
||||
.config(routeConfig);
|
||||
.config(routeConfig);
|
||||
|
||||
/** @ngInject */
|
||||
function routeConfig($stateProvider) {
|
||||
$stateProvider
|
||||
.state('ui.panels', {
|
||||
url: '/panels',
|
||||
templateUrl: 'app/pages/ui/panels/panels.html',
|
||||
controller: 'NotificationsPageCtrl',
|
||||
title: 'Panels',
|
||||
sidebarMeta: {
|
||||
order: 1100,
|
||||
},
|
||||
});
|
||||
.state('main.ui.panels', {
|
||||
url: '/panels',
|
||||
templateUrl: 'app/pages/ui/panels/panels.html',
|
||||
controller: 'NotificationsPageCtrl',
|
||||
title: 'Panels',
|
||||
sidebarMeta: {
|
||||
order: 1100,
|
||||
},
|
||||
authenticate: true
|
||||
});
|
||||
}
|
||||
|
||||
})();
|
||||
})();
|
|
@ -2,23 +2,24 @@
|
|||
* @author v.lugovsky
|
||||
* created on 16.12.2015
|
||||
*/
|
||||
(function () {
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.ui.progressBars', [])
|
||||
.config(routeConfig);
|
||||
.config(routeConfig);
|
||||
|
||||
/** @ngInject */
|
||||
function routeConfig($stateProvider) {
|
||||
$stateProvider
|
||||
.state('ui.progressBars', {
|
||||
url: '/progressBars',
|
||||
templateUrl: 'app/pages/ui/progressBars/progressBars.html',
|
||||
title: 'Progress Bars',
|
||||
sidebarMeta: {
|
||||
order: 600,
|
||||
},
|
||||
});
|
||||
.state('main.ui.progressBars', {
|
||||
url: '/progressBars',
|
||||
templateUrl: 'app/pages/ui/progressBars/progressBars.html',
|
||||
title: 'Progress Bars',
|
||||
sidebarMeta: {
|
||||
order: 600,
|
||||
},
|
||||
authenticate: true
|
||||
});
|
||||
}
|
||||
|
||||
})();
|
||||
})();
|
|
@ -2,7 +2,7 @@
|
|||
* @author a.demeshko
|
||||
* created on 12/22/15
|
||||
*/
|
||||
(function () {
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.ui.slider', [])
|
||||
|
@ -11,14 +11,15 @@
|
|||
/** @ngInject */
|
||||
function routeConfig($stateProvider) {
|
||||
$stateProvider
|
||||
.state('ui.slider', {
|
||||
url: '/slider',
|
||||
templateUrl: 'app/pages/ui/slider/slider.html',
|
||||
title: 'Sliders',
|
||||
sidebarMeta: {
|
||||
order: 1000,
|
||||
},
|
||||
});
|
||||
.state('main.ui.slider', {
|
||||
url: '/slider',
|
||||
templateUrl: 'app/pages/ui/slider/slider.html',
|
||||
title: 'Sliders',
|
||||
sidebarMeta: {
|
||||
order: 1000,
|
||||
},
|
||||
authenticate: true
|
||||
});
|
||||
}
|
||||
|
||||
})();
|
||||
})();
|
|
@ -2,23 +2,24 @@
|
|||
* @author v.lugovsky
|
||||
* created on 21.12.2015
|
||||
*/
|
||||
(function () {
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.ui.tabs', [])
|
||||
.config(routeConfig);
|
||||
.config(routeConfig);
|
||||
|
||||
/** @ngInject */
|
||||
function routeConfig($stateProvider) {
|
||||
$stateProvider
|
||||
.state('ui.tabs', {
|
||||
url: '/tabs',
|
||||
templateUrl: 'app/pages/ui/tabs/tabs.html',
|
||||
title: 'Tabs & Accordions',
|
||||
sidebarMeta: {
|
||||
order: 800,
|
||||
},
|
||||
});
|
||||
.state('main.ui.tabs', {
|
||||
url: '/tabs',
|
||||
templateUrl: 'app/pages/ui/tabs/tabs.html',
|
||||
title: 'Tabs & Accordions',
|
||||
sidebarMeta: {
|
||||
order: 800,
|
||||
},
|
||||
authenticate: true
|
||||
});
|
||||
}
|
||||
|
||||
})();
|
||||
})();
|
|
@ -2,23 +2,24 @@
|
|||
* @author v.lugovsky
|
||||
* created on 16.12.2015
|
||||
*/
|
||||
(function () {
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.ui.typography', [])
|
||||
.config(routeConfig);
|
||||
.config(routeConfig);
|
||||
|
||||
/** @ngInject */
|
||||
function routeConfig($stateProvider) {
|
||||
$stateProvider
|
||||
.state('ui.typography', {
|
||||
url: '/typography',
|
||||
templateUrl: 'app/pages/ui/typography/typography.html',
|
||||
title: 'Typography',
|
||||
sidebarMeta: {
|
||||
order: 0,
|
||||
},
|
||||
});
|
||||
.state('main.ui.typography', {
|
||||
url: '/typography',
|
||||
templateUrl: 'app/pages/ui/typography/typography.html',
|
||||
title: 'Typography',
|
||||
sidebarMeta: {
|
||||
order: 0,
|
||||
},
|
||||
authenticate: true
|
||||
});
|
||||
}
|
||||
|
||||
})();
|
||||
})();
|
|
@ -2,37 +2,38 @@
|
|||
* @author k.danovsky
|
||||
* created on 12.01.2016
|
||||
*/
|
||||
(function () {
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.pages.ui', [
|
||||
'BlurAdmin.pages.ui.typography',
|
||||
'BlurAdmin.pages.ui.buttons',
|
||||
'BlurAdmin.pages.ui.icons',
|
||||
'BlurAdmin.pages.ui.modals',
|
||||
'BlurAdmin.pages.ui.grid',
|
||||
'BlurAdmin.pages.ui.alerts',
|
||||
'BlurAdmin.pages.ui.progressBars',
|
||||
'BlurAdmin.pages.ui.notifications',
|
||||
'BlurAdmin.pages.ui.tabs',
|
||||
'BlurAdmin.pages.ui.slider',
|
||||
'BlurAdmin.pages.ui.panels',
|
||||
])
|
||||
.config(routeConfig);
|
||||
'BlurAdmin.pages.ui.typography',
|
||||
'BlurAdmin.pages.ui.buttons',
|
||||
'BlurAdmin.pages.ui.icons',
|
||||
'BlurAdmin.pages.ui.modals',
|
||||
'BlurAdmin.pages.ui.grid',
|
||||
'BlurAdmin.pages.ui.alerts',
|
||||
'BlurAdmin.pages.ui.progressBars',
|
||||
'BlurAdmin.pages.ui.notifications',
|
||||
'BlurAdmin.pages.ui.tabs',
|
||||
'BlurAdmin.pages.ui.slider',
|
||||
'BlurAdmin.pages.ui.panels',
|
||||
])
|
||||
.config(routeConfig);
|
||||
|
||||
/** @ngInject */
|
||||
function routeConfig($stateProvider) {
|
||||
$stateProvider
|
||||
.state('ui', {
|
||||
url: '/ui',
|
||||
template : '<ui-view autoscroll="true" autoscroll-body-top></ui-view>',
|
||||
abstract: true,
|
||||
title: 'UI Features',
|
||||
sidebarMeta: {
|
||||
icon: 'ion-android-laptop',
|
||||
order: 200,
|
||||
},
|
||||
});
|
||||
.state('main.ui', {
|
||||
url: '/ui',
|
||||
template: '<ui-view autoscroll="true" autoscroll-body-top></ui-view>',
|
||||
abstract: true,
|
||||
title: 'UI Features',
|
||||
sidebarMeta: {
|
||||
icon: 'ion-android-laptop',
|
||||
order: 200,
|
||||
},
|
||||
authenticate: true
|
||||
});
|
||||
}
|
||||
|
||||
})();
|
||||
})();
|
|
@ -2,7 +2,7 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('BlurAdmin.theme.components')
|
||||
.provider('baSidebarService', baSidebarServiceProvider);
|
||||
.provider('baSidebarService', baSidebarServiceProvider);
|
||||
|
||||
/** @ngInject */
|
||||
function baSidebarServiceProvider() {
|
||||
|
@ -65,23 +65,23 @@
|
|||
|
||||
function defineMenuItemStates() {
|
||||
return $state.get()
|
||||
.filter(function(s) {
|
||||
return s.sidebarMeta;
|
||||
})
|
||||
.map(function(s) {
|
||||
var meta = s.sidebarMeta;
|
||||
return {
|
||||
name: s.name,
|
||||
title: s.title,
|
||||
level: (s.name.match(/\./g) || []).length,
|
||||
order: meta.order,
|
||||
icon: meta.icon,
|
||||
stateRef: s.name,
|
||||
};
|
||||
})
|
||||
.sort(function(a, b) {
|
||||
return (a.level - b.level) * 100 + a.order - b.order;
|
||||
});
|
||||
.filter(function(s) {
|
||||
return s.sidebarMeta;
|
||||
})
|
||||
.map(function(s) {
|
||||
var meta = s.sidebarMeta;
|
||||
return {
|
||||
name: s.name,
|
||||
title: s.title,
|
||||
level: ((s.name.match(/\./g) || []).length - 1),
|
||||
order: meta.order,
|
||||
icon: meta.icon,
|
||||
stateRef: s.name,
|
||||
};
|
||||
})
|
||||
.sort(function(a, b) {
|
||||
return (a.level - b.level) * 100 + a.order - b.order;
|
||||
});
|
||||
}
|
||||
|
||||
function shouldMenuBeCollapsed() {
|
||||
|
@ -96,4 +96,4 @@
|
|||
};
|
||||
|
||||
}
|
||||
})();
|
||||
})();
|
|
@ -12,11 +12,11 @@
|
|||
<a uib-dropdown-toggle class="profile-toggle-link">
|
||||
<img ng-src="{{::( 'Nasta' | profilePicture )}}">
|
||||
</a>
|
||||
<ul class="top-dropdown-menu profile-dropdown" uib-dropdown-menu>
|
||||
<ul class="top-dropdown-menu profile-dropdown" uib-dropdown-menu>
|
||||
<li><i class="dropdown-arr"></i></li>
|
||||
<li><a href="#/profile"><i class="fa fa-user"></i>Profile</a></li>
|
||||
<li><a href="#/main/profile"><i class="fa fa-user"></i>Profile</a></li>
|
||||
<li><a href><i class="fa fa-cog"></i>Settings</a></li>
|
||||
<li><a href class="signout"><i class="fa fa-power-off"></i>Sign out</a></li>
|
||||
<li><a href="#/authSignIn" class="signout"><i class="fa fa-power-off"></i>Sign out</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<msg-center></msg-center>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" ng-app="BlurAdmin">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
|
@ -23,57 +24,34 @@
|
|||
<!-- css files will be automatically insert here -->
|
||||
<!-- endinject -->
|
||||
<!-- endbuild -->
|
||||
|
||||
<!-- build:css({.tmp/serve,src}) styles/auth.css -->
|
||||
<!-- inject:css -->
|
||||
<!-- css files will be automatically insert here -->
|
||||
<!-- endinject -->
|
||||
<!-- endbuild -->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="body-bg"></div>
|
||||
<main ng-if="$pageFinishedLoading" ng-class="{ 'menu-collapsed': $baSidebarService.isMenuCollapsed() }">
|
||||
<div ui-view autoscroll="true" autoscroll-body-top></div>
|
||||
|
||||
<ba-sidebar></ba-sidebar>
|
||||
<page-top></page-top>
|
||||
<!-- build:js(src) scripts/vendor.js -->
|
||||
<!-- bower:js -->
|
||||
<!-- run `gulp inject` to automatically populate bower script dependencies -->
|
||||
<!-- endbower -->
|
||||
<!-- endbuild -->
|
||||
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
|
||||
|
||||
<div class="al-main">
|
||||
<div class="al-content">
|
||||
<content-top></content-top>
|
||||
<div ui-view autoscroll="true" autoscroll-body-top></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- build:js({.tmp/serve,.tmp/partials,src}) scripts/app.js -->
|
||||
<!-- inject:js -->
|
||||
<!-- js files will be automatically insert here -->
|
||||
<!-- endinject -->
|
||||
|
||||
<footer class="al-footer clearfix">
|
||||
<div class="al-footer-right">Created with <i class="ion-heart"></i></div>
|
||||
<div class="al-footer-main clearfix">
|
||||
<div class="al-copy">Blur Admin 2016</div>
|
||||
<ul class="al-share clearfix">
|
||||
<li><i class="socicon socicon-facebook"></i></li>
|
||||
<li><i class="socicon socicon-twitter"></i></li>
|
||||
<li><i class="socicon socicon-google"></i></li>
|
||||
<li><i class="socicon socicon-github"></i></li>
|
||||
</ul>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<back-top></back-top>
|
||||
</main>
|
||||
|
||||
<div id="preloader" ng-show="!$pageFinishedLoading">
|
||||
<div></div>
|
||||
</div>
|
||||
|
||||
<!-- build:js(src) scripts/vendor.js -->
|
||||
<!-- bower:js -->
|
||||
<!-- run `gulp inject` to automatically populate bower script dependencies -->
|
||||
<!-- endbower -->
|
||||
<!-- endbuild -->
|
||||
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
|
||||
|
||||
<!-- build:js({.tmp/serve,.tmp/partials,src}) scripts/app.js -->
|
||||
<!-- inject:js -->
|
||||
<!-- js files will be automatically insert here -->
|
||||
<!-- endinject -->
|
||||
|
||||
<!-- inject:partials -->
|
||||
<!-- angular templates will be automatically converted in js and inserted here -->
|
||||
<!-- endinject -->
|
||||
<!-- endbuild -->
|
||||
<!-- inject:partials -->
|
||||
<!-- angular templates will be automatically converted in js and inserted here -->
|
||||
<!-- endinject -->
|
||||
<!-- endbuild -->
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,28 +1,30 @@
|
|||
@import "common.scss";
|
||||
@import "theme/_socicon.scss";
|
||||
@import "theme/_layout.scss";
|
||||
@import 'theme/buttons.scss';
|
||||
@import 'app/form.scss';
|
||||
|
||||
html {
|
||||
// @import "theme/_socicon.scss";
|
||||
// @import "theme/_layout.scss";
|
||||
// @import 'theme/buttons.scss';
|
||||
// @import 'app/form.scss';
|
||||
// html {
|
||||
// min-height: 520px;
|
||||
// height: 100%;
|
||||
// }
|
||||
.login {
|
||||
min-height: 520px;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
@include main-background();
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
$text-color: #ffffff;
|
||||
|
||||
.form-control, .form-control:focus {
|
||||
.login .form-control,
|
||||
.login .form-control:focus {
|
||||
@include placeholderStyle($text-color, 0.9);
|
||||
background-color: rgba(0, 0, 0, .4);
|
||||
border-radius: 5px;
|
||||
color: $text-color;
|
||||
}
|
||||
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
|
||||
|
||||
.login .form-control[disabled],
|
||||
.login .form-control[readonly],
|
||||
fieldset[disabled] .form-control {
|
||||
@include placeholderStyle($text-color, 0.6);
|
||||
}
|
||||
|
||||
|
@ -35,7 +37,7 @@ $text-color: #ffffff;
|
|||
|
||||
.auth-block {
|
||||
width: 540px;
|
||||
margin: 0 auto;
|
||||
margin: 150px auto;
|
||||
border-radius: 5px;
|
||||
@include bg-translucent-dark(0.55);
|
||||
color: #fff;
|
||||
|
@ -57,12 +59,10 @@ $text-color: #ffffff;
|
|||
color: $primary-dark;
|
||||
}
|
||||
}
|
||||
|
||||
.control-label {
|
||||
padding-top: 11px;
|
||||
color: $text-color;
|
||||
}
|
||||
|
||||
.form-group {
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
@ -105,18 +105,19 @@ a.forgot-pass {
|
|||
text-align: center;
|
||||
display: block;
|
||||
position: relative;
|
||||
& > span {
|
||||
&>span {
|
||||
display: table-cell;
|
||||
width: 30%;
|
||||
white-space: nowrap;
|
||||
padding: 0 24px;
|
||||
color: $text-color;
|
||||
& > span {
|
||||
&>span {
|
||||
margin-top: -12px;
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
&:before, &:after {
|
||||
&:before,
|
||||
&:after {
|
||||
border-top: solid 1px $text-color;
|
||||
content: "";
|
||||
height: 1px;
|
||||
|
|
Loading…
Reference in New Issue