diff --git a/.jshintrc b/.jshintrc new file mode 100644 index 000000000..f39320a72 --- /dev/null +++ b/.jshintrc @@ -0,0 +1,7 @@ +{ + "globalstrict": true, + "globals": { + "angular": false, + "console": false + } +} diff --git a/app/scripts/app.js b/app/scripts/app.js index 7c1b8b033..87c4b74be 100644 --- a/app/scripts/app.js +++ b/app/scripts/app.js @@ -8,151 +8,144 @@ * Main module of the application. */ angular - .module('sbAdminApp', [ - 'oc.lazyLoad', - 'ui.router', - 'ui.bootstrap', - 'angular-loading-bar', - ]) - .config(['$stateProvider','$urlRouterProvider','$ocLazyLoadProvider',function ($stateProvider,$urlRouterProvider,$ocLazyLoadProvider) { - - $ocLazyLoadProvider.config({ - debug:false, - events:true, - }); + .module('sbAdminApp', [ + 'oc.lazyLoad', + 'ui.router', + 'ui.bootstrap', + 'angular-loading-bar', + ]) + .config(['$stateProvider', '$urlRouterProvider', '$ocLazyLoadProvider', function($stateProvider, $urlRouterProvider, + $ocLazyLoadProvider) { - $urlRouterProvider.otherwise('/dashboard/home'); + $ocLazyLoadProvider.config({ + debug: false, + events: true, + }); - $stateProvider - .state('dashboard', { - url:'/dashboard', - templateUrl: 'views/dashboard/main.html', - resolve: { - loadMyDirectives:function($ocLazyLoad){ - return $ocLazyLoad.load( - { - name:'sbAdminApp', - files:[ - 'scripts/directives/header/header.js', - 'scripts/directives/header/header-notification/header-notification.js', - 'scripts/directives/sidebar/sidebar.js', - 'scripts/directives/sidebar/sidebar-search/sidebar-search.js' - ] - }), - $ocLazyLoad.load( - { - name:'toggle-switch', - files:["bower_components/angular-toggle-switch/angular-toggle-switch.min.js", - "bower_components/angular-toggle-switch/angular-toggle-switch.css" - ] - }), - $ocLazyLoad.load( - { - name:'ngAnimate', - files:['bower_components/angular-animate/angular-animate.js'] - }) - $ocLazyLoad.load( - { - name:'ngCookies', - files:['bower_components/angular-cookies/angular-cookies.js'] - }) - $ocLazyLoad.load( - { - name:'ngResource', - files:['bower_components/angular-resource/angular-resource.js'] - }) - $ocLazyLoad.load( - { - name:'ngSanitize', - files:['bower_components/angular-sanitize/angular-sanitize.js'] - }) - $ocLazyLoad.load( - { - name:'ngTouch', - files:['bower_components/angular-touch/angular-touch.js'] - }) - } - } - }) - .state('dashboard.home',{ - url:'/home', - controller: 'MainCtrl', - templateUrl:'views/dashboard/home.html', - resolve: { - loadMyFiles:function($ocLazyLoad) { - return $ocLazyLoad.load({ - name:'sbAdminApp', - files:[ - 'scripts/controllers/main.js', - 'scripts/directives/timeline/timeline.js', - 'scripts/directives/notifications/notifications.js', - 'scripts/directives/chat/chat.js', - 'scripts/directives/dashboard/stats/stats.js' - ] - }) - } - } - }) - .state('dashboard.form',{ - templateUrl:'views/form.html', - url:'/form' - }) - .state('dashboard.blank',{ - templateUrl:'views/pages/blank.html', - url:'/blank' - }) - .state('login',{ - templateUrl:'views/pages/login.html', - url:'/login' - }) - .state('dashboard.chart',{ - templateUrl:'views/chart.html', - url:'/chart', - controller:'ChartCtrl', - resolve: { - loadMyFile:function($ocLazyLoad) { - return $ocLazyLoad.load({ - name:'chart.js', - files:[ - 'bower_components/angular-chart.js/dist/angular-chart.min.js', - 'bower_components/angular-chart.js/dist/angular-chart.css' - ] - }), - $ocLazyLoad.load({ - name:'sbAdminApp', - files:['scripts/controllers/chartContoller.js'] - }) - } - } - }) - .state('dashboard.table',{ - templateUrl:'views/table.html', - url:'/table' - }) - .state('dashboard.panels-wells',{ - templateUrl:'views/ui-elements/panels-wells.html', - url:'/panels-wells' - }) - .state('dashboard.buttons',{ - templateUrl:'views/ui-elements/buttons.html', - url:'/buttons' - }) - .state('dashboard.notifications',{ - templateUrl:'views/ui-elements/notifications.html', - url:'/notifications' - }) - .state('dashboard.typography',{ - templateUrl:'views/ui-elements/typography.html', - url:'/typography' - }) - .state('dashboard.icons',{ - templateUrl:'views/ui-elements/icons.html', - url:'/icons' - }) - .state('dashboard.grid',{ - templateUrl:'views/ui-elements/grid.html', - url:'/grid' - }) - }]); + $urlRouterProvider.otherwise('/dashboard/home'); - + $stateProvider + .state('dashboard', { + url: '/dashboard', + templateUrl: 'views/dashboard/main.html', + resolve: { + loadMyDirectives: function($ocLazyLoad) { + return $ocLazyLoad.load({ + name: 'sbAdminApp', + files: [ + 'scripts/directives/header/header.js', + 'scripts/directives/header/header-notification/header-notification.js', + 'scripts/directives/sidebar/sidebar.js', + 'scripts/directives/sidebar/sidebar-search/sidebar-search.js' + ] + }), + $ocLazyLoad.load({ + name: 'toggle-switch', + files: [ + "bower_components/angular-toggle-switch/angular-toggle-switch.min.js", + "bower_components/angular-toggle-switch/angular-toggle-switch.css" + ] + }), + $ocLazyLoad.load({ + name: 'ngAnimate', + files: ['bower_components/angular-animate/angular-animate.js'] + }), + $ocLazyLoad.load({ + name: 'ngCookies', + files: ['bower_components/angular-cookies/angular-cookies.js'] + }), + $ocLazyLoad.load({ + name: 'ngResource', + files: ['bower_components/angular-resource/angular-resource.js'] + }), + $ocLazyLoad.load({ + name: 'ngSanitize', + files: ['bower_components/angular-sanitize/angular-sanitize.js'] + }), + $ocLazyLoad.load({ + name: 'ngTouch', + files: ['bower_components/angular-touch/angular-touch.js'] + }); + } + } + }) + .state('dashboard.home', { + url: '/home', + controller: 'MainCtrl', + templateUrl: 'views/dashboard/home.html', + resolve: { + loadMyFiles: function($ocLazyLoad) { + return $ocLazyLoad.load({ + name: 'sbAdminApp', + files: [ + 'scripts/controllers/main.js', + 'scripts/directives/timeline/timeline.js', + 'scripts/directives/notifications/notifications.js', + 'scripts/directives/chat/chat.js', + 'scripts/directives/dashboard/stats/stats.js' + ] + }); + } + } + }) + .state('dashboard.form', { + templateUrl: 'views/form.html', + url: '/form' + }) + .state('dashboard.blank', { + templateUrl: 'views/pages/blank.html', + url: '/blank' + }) + .state('login', { + templateUrl: 'views/pages/login.html', + url: '/login' + }) + .state('dashboard.chart', { + templateUrl: 'views/chart.html', + url: '/chart', + controller: 'ChartCtrl', + resolve: { + loadMyFile: function($ocLazyLoad) { + return $ocLazyLoad.load({ + name: 'chart.js', + files: [ + 'bower_components/angular-chart.js/dist/angular-chart.min.js', + 'bower_components/angular-chart.js/dist/angular-chart.css' + ] + }), + $ocLazyLoad.load({ + name: 'sbAdminApp', + files: ['scripts/controllers/chartContoller.js'] + }); + } + } + }) + .state('dashboard.table', { + templateUrl: 'views/table.html', + url: '/table' + }) + .state('dashboard.panels-wells', { + templateUrl: 'views/ui-elements/panels-wells.html', + url: '/panels-wells' + }) + .state('dashboard.buttons', { + templateUrl: 'views/ui-elements/buttons.html', + url: '/buttons' + }) + .state('dashboard.notifications', { + templateUrl: 'views/ui-elements/notifications.html', + url: '/notifications' + }) + .state('dashboard.typography', { + templateUrl: 'views/ui-elements/typography.html', + url: '/typography' + }) + .state('dashboard.icons', { + templateUrl: 'views/ui-elements/icons.html', + url: '/icons' + }) + .state('dashboard.grid', { + templateUrl: 'views/ui-elements/grid.html', + url: '/grid' + }); + }]); diff --git a/app/scripts/controllers/chartContoller.js b/app/scripts/controllers/chartContoller.js index 556a6d60d..20508d05f 100644 --- a/app/scripts/controllers/chartContoller.js +++ b/app/scripts/controllers/chartContoller.js @@ -7,63 +7,62 @@ * Controller of the sbAdminApp */ angular.module('sbAdminApp') - .controller('ChartCtrl', ['$scope', '$timeout', function ($scope, $timeout) { + .controller('ChartCtrl', ['$scope', '$timeout', function($scope, $timeout) { $scope.line = { - labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'], - series: ['Series A', 'Series B'], - data: [ - [65, 59, 80, 81, 56, 55, 40], - [28, 48, 40, 19, 86, 27, 90] - ], - onClick: function (points, evt) { - console.log(points, evt); - } + labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'], + series: ['Series A', 'Series B'], + data: [ + [65, 59, 80, 81, 56, 55, 40], + [28, 48, 40, 19, 86, 27, 90] + ], + onClick: function(points, evt) { + console.log(points, evt); + } }; $scope.bar = { - labels: ['2006', '2007', '2008', '2009', '2010', '2011', '2012'], - series: ['Series A', 'Series B'], + labels: ['2006', '2007', '2008', '2009', '2010', '2011', '2012'], + series: ['Series A', 'Series B'], + + data: [ + [65, 59, 80, 81, 56, 55, 40], + [28, 48, 40, 19, 86, 27, 90] + ] - data: [ - [65, 59, 80, 81, 56, 55, 40], - [28, 48, 40, 19, 86, 27, 90] - ] - }; $scope.donut = { - labels: ["Download Sales", "In-Store Sales", "Mail-Order Sales"], - data: [300, 500, 100] + labels: ["Download Sales", "In-Store Sales", "Mail-Order Sales"], + data: [300, 500, 100] }; $scope.radar = { - labels:["Eating", "Drinking", "Sleeping", "Designing", "Coding", "Cycling", "Running"], + labels: ["Eating", "Drinking", "Sleeping", "Designing", "Coding", "Cycling", "Running"], - data:[ - [65, 59, 90, 81, 56, 55, 40], - [28, 48, 40, 19, 96, 27, 100] - ] + data: [ + [65, 59, 90, 81, 56, 55, 40], + [28, 48, 40, 19, 96, 27, 100] + ] }; $scope.pie = { - labels : ["Download Sales", "In-Store Sales", "Mail-Order Sales"], - data : [300, 500, 100] + labels: ["Download Sales", "In-Store Sales", "Mail-Order Sales"], + data: [300, 500, 100] }; $scope.polar = { - labels : ["Download Sales", "In-Store Sales", "Mail-Order Sales", "Tele Sales", "Corporate Sales"], - data : [300, 500, 100, 40, 120] + labels: ["Download Sales", "In-Store Sales", "Mail-Order Sales", "Tele Sales", "Corporate Sales"], + data: [300, 500, 100, 40, 120] }; $scope.dynamic = { - labels : ["Download Sales", "In-Store Sales", "Mail-Order Sales", "Tele Sales", "Corporate Sales"], - data : [300, 500, 100, 40, 120], - type : 'PolarArea', + labels: ["Download Sales", "In-Store Sales", "Mail-Order Sales", "Tele Sales", "Corporate Sales"], + data: [300, 500, 100, 40, 120], + type: 'PolarArea', - toggle : function () - { - this.type = this.type === 'PolarArea' ? - 'Pie' : 'PolarArea'; - } + toggle: function() { + this.type = this.type === 'PolarArea' ? + 'Pie' : 'PolarArea'; + } }; -}]); \ No newline at end of file + }]); diff --git a/app/scripts/controllers/form.js b/app/scripts/controllers/form.js index 0ddd3ebd5..e9e3c8dfd 100644 --- a/app/scripts/controllers/form.js +++ b/app/scripts/controllers/form.js @@ -8,5 +8,5 @@ */ angular.module('sbAdminApp') .controller('FormCtrl', function($scope) { - -}); \ No newline at end of file + + }); diff --git a/app/scripts/controllers/main.js b/app/scripts/controllers/main.js index 472f0da3a..c89efa0fb 100644 --- a/app/scripts/controllers/main.js +++ b/app/scripts/controllers/main.js @@ -7,5 +7,4 @@ * Controller of the sbAdminApp */ angular.module('sbAdminApp') - .controller('MainCtrl', function($scope,$position) { - }); + .controller('MainCtrl', function($scope, $position) {}); diff --git a/app/scripts/directives/chat/chat.js b/app/scripts/directives/chat/chat.js index 50550699d..5c65f05e4 100644 --- a/app/scripts/directives/chat/chat.js +++ b/app/scripts/directives/chat/chat.js @@ -7,12 +7,10 @@ * # adminPosHeader */ angular.module('sbAdminApp') - .directive('chat',function(){ - return { - templateUrl:'scripts/directives/chat/chat.html', - restrict: 'E', - replace: true, - } - }); - - + .directive('chat', function() { + return { + templateUrl: 'scripts/directives/chat/chat.html', + restrict: 'E', + replace: true, + }; + }); diff --git a/app/scripts/directives/dashboard/stats/stats.html b/app/scripts/directives/dashboard/stats/stats.html index 1eaaff4b5..453309218 100644 --- a/app/scripts/directives/dashboard/stats/stats.html +++ b/app/scripts/directives/dashboard/stats/stats.html @@ -11,7 +11,7 @@ - + - \ No newline at end of file + diff --git a/app/scripts/directives/dashboard/stats/stats.js b/app/scripts/directives/dashboard/stats/stats.js index fab7830cc..c59fff4d9 100644 --- a/app/scripts/directives/dashboard/stats/stats.js +++ b/app/scripts/directives/dashboard/stats/stats.js @@ -7,20 +7,25 @@ * # adminPosHeader */ angular.module('sbAdminApp') - .directive('stats',function() { - return { - templateUrl:'scripts/directives/dashboard/stats/stats.html', - restrict:'E', - replace:true, - scope: { + .directive('stats', function() { + return { + templateUrl: 'scripts/directives/dashboard/stats/stats.html', + restrict: 'E', + replace: true, + scope: { 'model': '=', 'comments': '@', 'number': '@', 'name': '@', 'colour': '@', - 'details':'@', - 'type':'@' - } - - } + 'details': '@', + 'type': '@', + 'url': '@?' + }, + compile: function(element, attrs) { + if (!attrs.url) { + attrs.url = '#'; + } + }, + }; }); diff --git a/app/scripts/directives/header/header-notification/header-notification.js b/app/scripts/directives/header/header-notification/header-notification.js index 8cd7beb43..a55353b5b 100644 --- a/app/scripts/directives/header/header-notification/header-notification.js +++ b/app/scripts/directives/header/header-notification/header-notification.js @@ -7,12 +7,10 @@ * # adminPosHeader */ angular.module('sbAdminApp') - .directive('headerNotification',function(){ - return { - templateUrl:'scripts/directives/header/header-notification/header-notification.html', - restrict: 'E', - replace: true, - } - }); - - + .directive('headerNotification', function() { + return { + templateUrl: 'scripts/directives/header/header-notification/header-notification.html', + restrict: 'E', + replace: true, + }; + }); diff --git a/app/scripts/directives/header/header.js b/app/scripts/directives/header/header.js index 86ecc225d..f285e9ef2 100644 --- a/app/scripts/directives/header/header.js +++ b/app/scripts/directives/header/header.js @@ -7,12 +7,10 @@ * # adminPosHeader */ angular.module('sbAdminApp') - .directive('header',function(){ - return { - templateUrl:'scripts/directives/header/header.html', - restrict: 'E', - replace: true, - } - }); - - + .directive('header', function() { + return { + templateUrl: 'scripts/directives/header/header.html', + restrict: 'E', + replace: true, + }; + }); diff --git a/app/scripts/directives/notifications/notifications.js b/app/scripts/directives/notifications/notifications.js index 7ffd315e0..4f93010ac 100644 --- a/app/scripts/directives/notifications/notifications.js +++ b/app/scripts/directives/notifications/notifications.js @@ -7,12 +7,10 @@ * # adminPosHeader */ angular.module('sbAdminApp') - .directive('notifications',function(){ - return { - templateUrl:'scripts/directives/notifications/notifications.html', - restrict: 'E', - replace: true, - } - }); - - + .directive('notifications', function() { + return { + templateUrl: 'scripts/directives/notifications/notifications.html', + restrict: 'E', + replace: true, + }; + }); diff --git a/app/scripts/directives/sidebar/sidebar-search/sidebar-search.js b/app/scripts/directives/sidebar/sidebar-search/sidebar-search.js index f2697d81d..09430b468 100644 --- a/app/scripts/directives/sidebar/sidebar-search/sidebar-search.js +++ b/app/scripts/directives/sidebar/sidebar-search/sidebar-search.js @@ -8,15 +8,14 @@ */ angular.module('sbAdminApp') - .directive('sidebarSearch',function() { - return { - templateUrl:'scripts/directives/sidebar/sidebar-search/sidebar-search.html', - restrict: 'E', - replace: true, - scope: { - }, - controller:function($scope){ - $scope.selectedMenu = 'home'; - } - } - }); + .directive('sidebarSearch', function() { + return { + templateUrl: 'scripts/directives/sidebar/sidebar-search/sidebar-search.html', + restrict: 'E', + replace: true, + scope: {}, + controller: function($scope) { + $scope.selectedMenu = 'home'; + } + }; + }); diff --git a/app/scripts/directives/sidebar/sidebar.js b/app/scripts/directives/sidebar/sidebar.js index d8882fd5a..783f4e376 100644 --- a/app/scripts/directives/sidebar/sidebar.js +++ b/app/scripts/directives/sidebar/sidebar.js @@ -8,33 +8,32 @@ */ angular.module('sbAdminApp') - .directive('sidebar',['$location',function() { + .directive('sidebar', ['$location', function() { return { - templateUrl:'scripts/directives/sidebar/sidebar.html', + templateUrl: 'scripts/directives/sidebar/sidebar.html', restrict: 'E', replace: true, - scope: { - }, - controller:function($scope){ + scope: {}, + controller: function($scope) { $scope.selectedMenu = 'dashboard'; $scope.collapseVar = 0; $scope.multiCollapseVar = 0; - - $scope.check = function(x){ - - if(x==$scope.collapseVar) + + $scope.check = function(x) { + + if (x == $scope.collapseVar) $scope.collapseVar = 0; else $scope.collapseVar = x; }; - - $scope.multiCheck = function(y){ - - if(y==$scope.multiCollapseVar) + + $scope.multiCheck = function(y) { + + if (y == $scope.multiCollapseVar) $scope.multiCollapseVar = 0; else $scope.multiCollapseVar = y; }; } - } + }; }]); diff --git a/app/scripts/directives/timeline/timeline.js b/app/scripts/directives/timeline/timeline.js index ae89fc140..b0613138c 100644 --- a/app/scripts/directives/timeline/timeline.js +++ b/app/scripts/directives/timeline/timeline.js @@ -7,10 +7,10 @@ * # adminPosHeader */ angular.module('sbAdminApp') - .directive('timeline',function() { + .directive('timeline', function() { return { - templateUrl:'scripts/directives/timeline/timeline.html', - restrict: 'E', - replace: true, - } + templateUrl: 'scripts/directives/timeline/timeline.html', + restrict: 'E', + replace: true, + }; }); diff --git a/app/views/dashboard/home.html b/app/views/dashboard/home.html index aebd8852f..3b21dfddb 100644 --- a/app/views/dashboard/home.html +++ b/app/views/dashboard/home.html @@ -7,14 +7,14 @@

Dashboard

- - + +
- +
@@ -35,7 +35,7 @@

Dashboard

Notifications Panel
- +