diff --git a/src/app/pages/alerts/alerts.module.js b/src/app/pages/alerts/alerts.module.js
index 77a0010..9df7bf3 100644
--- a/src/app/pages/alerts/alerts.module.js
+++ b/src/app/pages/alerts/alerts.module.js
@@ -11,9 +11,13 @@
/** @ngInject */
function routeConfig($stateProvider) {
$stateProvider
- .state('alerts', {
+ .state('ui.alerts', {
url: '/alerts',
- templateUrl: 'app/pages/alerts/alerts.html'
+ templateUrl: 'app/pages/alerts/alerts.html',
+ title: 'Modals',
+ sidebarMeta: {
+ order: 500,
+ },
});
}
diff --git a/src/app/pages/buttons/buttons.module.js b/src/app/pages/buttons/buttons.module.js
index dcbd250..dc7098c 100644
--- a/src/app/pages/buttons/buttons.module.js
+++ b/src/app/pages/buttons/buttons.module.js
@@ -11,10 +11,14 @@
/** @ngInject */
function routeConfig($stateProvider) {
$stateProvider
- .state('buttons', {
+ .state('ui.buttons', {
url: '/buttons',
templateUrl: 'app/pages/buttons/buttons.html',
- controller: 'ButtonPageCtrl'
+ controller: 'ButtonPageCtrl',
+ title: 'Buttons',
+ sidebarMeta: {
+ order: 100,
+ },
});
}
diff --git a/src/app/pages/charts/amCharts/amCharts.module.js b/src/app/pages/charts/amCharts/amCharts.module.js
index bdf28b9..13600b5 100644
--- a/src/app/pages/charts/amCharts/amCharts.module.js
+++ b/src/app/pages/charts/amCharts/amCharts.module.js
@@ -13,7 +13,11 @@
$stateProvider
.state('charts.amCharts', {
url: '/amCharts',
- templateUrl: 'app/pages/charts/amCharts/charts.html'
+ templateUrl: 'app/pages/charts/amCharts/charts.html',
+ title: 'amCharts',
+ sidebarMeta: {
+ order: 0,
+ },
});
}
diff --git a/src/app/pages/charts/chartJs/chartJs.module.js b/src/app/pages/charts/chartJs/chartJs.module.js
index e594703..32c5d34 100644
--- a/src/app/pages/charts/chartJs/chartJs.module.js
+++ b/src/app/pages/charts/chartJs/chartJs.module.js
@@ -13,7 +13,11 @@
$stateProvider
.state('charts.chartJs', {
url: '/chartJs',
- templateUrl: 'app/pages/charts/chartJs/chartJs.html'
+ templateUrl: 'app/pages/charts/chartJs/chartJs.html',
+ title: 'Chart.js',
+ sidebarMeta: {
+ order: 200,
+ },
});
}
diff --git a/src/app/pages/charts/chartist/chartist.module.js b/src/app/pages/charts/chartist/chartist.module.js
index ce6f74a..19eba7f 100644
--- a/src/app/pages/charts/chartist/chartist.module.js
+++ b/src/app/pages/charts/chartist/chartist.module.js
@@ -11,10 +11,14 @@
/** @ngInject */
function routeConfig($stateProvider) {
$stateProvider
- .state('charts.chartist', {
- url: '/chartist',
- templateUrl: 'app/pages/charts/chartist/chartist.html'
- });
+ .state('charts.chartist', {
+ url: '/chartist',
+ templateUrl: 'app/pages/charts/chartist/chartist.html',
+ title: 'Chartist',
+ sidebarMeta: {
+ order: 100,
+ },
+ });
}
})();
\ No newline at end of file
diff --git a/src/app/pages/charts/charts.module.js b/src/app/pages/charts/charts.module.js
index 800c7ad..f81eb59 100644
--- a/src/app/pages/charts/charts.module.js
+++ b/src/app/pages/charts/charts.module.js
@@ -19,7 +19,12 @@
.state('charts', {
url: '/charts',
abstract: true,
- template: '
'
+ template: '',
+ title: 'Charts',
+ sidebarMeta: {
+ icon: 'ion-stats-bars',
+ order: 100,
+ },
});
}
diff --git a/src/app/pages/charts/morris/morris.module.js b/src/app/pages/charts/morris/morris.module.js
index 7254865..8b178b7 100644
--- a/src/app/pages/charts/morris/morris.module.js
+++ b/src/app/pages/charts/morris/morris.module.js
@@ -11,10 +11,14 @@
/** @ngInject */
function routeConfig($stateProvider) {
$stateProvider
- .state('charts.morris', {
- url: '/morris',
- templateUrl: 'app/pages/charts/morris/morris.html'
- });
+ .state('charts.morris', {
+ url: '/morris',
+ templateUrl: 'app/pages/charts/morris/morris.html',
+ title: 'Morris',
+ sidebarMeta: {
+ order: 300,
+ }
+ });
}
})();
\ No newline at end of file
diff --git a/src/app/pages/dashboard/dashboard.module.js b/src/app/pages/dashboard/dashboard.module.js
index 71ff34c..51eedb2 100644
--- a/src/app/pages/dashboard/dashboard.module.js
+++ b/src/app/pages/dashboard/dashboard.module.js
@@ -13,7 +13,12 @@
$stateProvider
.state('dashboard', {
url: '/dashboard',
- templateUrl: 'app/pages/dashboard/dashboard.html'
+ templateUrl: 'app/pages/dashboard/dashboard.html',
+ title: 'Dashboard',
+ sidebarMeta: {
+ icon: 'ion-android-home',
+ order: 0,
+ },
});
}
diff --git a/src/app/pages/form/form.module.js b/src/app/pages/form/form.module.js
index fe236df..99b4468 100644
--- a/src/app/pages/form/form.module.js
+++ b/src/app/pages/form/form.module.js
@@ -11,21 +11,42 @@
/** @ngInject */
function routeConfig($stateProvider) {
$stateProvider
- .state('form-inputs', {
- url: '/form-inputs',
- templateUrl: 'app/pages/form/inputs/inputs.html'
+ .state('form', {
+ url: '/form',
+ template : '',
+ abstract: true,
+ title: 'Form Elements',
+ sidebarMeta: {
+ icon: 'ion-compose',
+ order: 300,
+ },
})
- .state('form-layouts', {
- url: '/form-layouts',
- templateUrl: 'app/pages/form/layouts/layouts.html'
+ .state('form.inputs', {
+ url: '/inputs',
+ templateUrl: 'app/pages/form/inputs/inputs.html',
+ title: 'Form Inputs',
+ sidebarMeta: {
+ order: 0,
+ },
})
- .state('form-wizard',
+ .state('form.layouts', {
+ url: '/layouts',
+ templateUrl: 'app/pages/form/layouts/layouts.html',
+ title: 'Form Layouts',
+ sidebarMeta: {
+ order: 100,
+ },
+ })
+ .state('form.wizard',
{
- url: '/form-wizard',
+ url: '/wizard',
templateUrl: 'app/pages/form/wizard/wizard.html',
controller: 'WizardCtrl',
- controllerAs: 'vm'
- })
+ controllerAs: 'vm',
+ title: 'Form Wizard',
+ sidebarMeta: {
+ order: 200,
+ },
+ });
}
-
})();
diff --git a/src/app/pages/grid/grid.module.js b/src/app/pages/grid/grid.module.js
index 1365b8e..6659856 100644
--- a/src/app/pages/grid/grid.module.js
+++ b/src/app/pages/grid/grid.module.js
@@ -11,9 +11,13 @@
/** @ngInject */
function routeConfig($stateProvider) {
$stateProvider
- .state('grid', {
+ .state('ui.grid', {
url: '/grid',
- templateUrl: 'app/pages/grid/grid.html'
+ templateUrl: 'app/pages/grid/grid.html',
+ title: 'Grid',
+ sidebarMeta: {
+ order: 400,
+ },
});
}
diff --git a/src/app/pages/icons/icons.module.js b/src/app/pages/icons/icons.module.js
index 3d732bb..fb85f90 100644
--- a/src/app/pages/icons/icons.module.js
+++ b/src/app/pages/icons/icons.module.js
@@ -11,10 +11,14 @@
/** @ngInject */
function routeConfig($stateProvider) {
$stateProvider
- .state('icons', {
+ .state('ui.icons', {
url: '/icons',
templateUrl: 'app/pages/icons/icons.html',
- controller: 'IconsPageCtrl'
+ controller: 'IconsPageCtrl',
+ title: 'Icons',
+ sidebarMeta: {
+ order: 200,
+ },
});
}
diff --git a/src/app/pages/mail/mail.module.js b/src/app/pages/mail/mail.module.js
index 43aabae..11ba237 100644
--- a/src/app/pages/mail/mail.module.js
+++ b/src/app/pages/mail/mail.module.js
@@ -11,24 +11,29 @@
/** @ngInject */
function routeConfig($stateProvider,$urlRouterProvider) {
$stateProvider
- .state('mail', {
- url: '/mail',
- abstract: true,
- templateUrl: 'app/pages/mail/mail.html',
- controller: "MailTabCtrl",
- controllerAs: "tabCtrl"
- }).state('mail.label', {
- url: '/:label',
- templateUrl: 'app/pages/mail/list/mailList.html',
- controller: "MailListCtrl",
- controllerAs: "listCtrl"
- }).state('mail.detail', {
- url: '/:label/:id',
- templateUrl: 'app/pages/mail/detail/mailDetail.html',
- controller: "MailDetailCtrl",
- controllerAs: "detailCtrl"
- });
- $urlRouterProvider.when('/mail','/mail/inbox');
+ .state('mail', {
+ url: '/mail',
+ abstract: true,
+ templateUrl: 'app/pages/mail/mail.html',
+ controller: "MailTabCtrl",
+ controllerAs: "tabCtrl",
+ title: 'Mail',
+ sidebarMeta: {
+ icon: 'ion-ios-email-outline',
+ order: 500,
+ },
+ }).state('mail.label', {
+ url: '/:label',
+ templateUrl: 'app/pages/mail/list/mailList.html',
+ controller: "MailListCtrl",
+ controllerAs: "listCtrl"
+ }).state('mail.detail', {
+ url: '/:label/:id',
+ templateUrl: 'app/pages/mail/detail/mailDetail.html',
+ controller: "MailDetailCtrl",
+ controllerAs: "detailCtrl"
+ });
+ $urlRouterProvider.when('/mail','/mail/inbox');
}
})();
diff --git a/src/app/pages/maps/maps.module.js b/src/app/pages/maps/maps.module.js
index 74c37b3..de15488 100644
--- a/src/app/pages/maps/maps.module.js
+++ b/src/app/pages/maps/maps.module.js
@@ -14,27 +14,48 @@
.state('maps', {
url: '/maps',
templateUrl: 'app/pages/maps/maps.html',
- abstract: true
+ abstract: true,
+ title: 'Maps',
+ sidebarMeta: {
+ icon: 'ion-ios-location-outline',
+ order: 600,
+ },
})
.state('maps.gmap', {
url: '/gmap',
templateUrl: 'app/pages/maps/google-maps/google-maps.html',
- controller: 'GmapPageCtrl'
+ controller: 'GmapPageCtrl',
+ title: 'Google Maps',
+ sidebarMeta: {
+ order: 0,
+ },
})
.state('maps.leaflet', {
url: '/leaflet',
templateUrl: 'app/pages/maps/leaflet/leaflet.html',
- controller: 'LeafletPageCtrl'
+ controller: 'LeafletPageCtrl',
+ title: 'Leaflet Maps',
+ sidebarMeta: {
+ order: 100,
+ },
})
.state('maps.bubble', {
url: '/bubble',
templateUrl: 'app/pages/maps/map-bubbles/map-bubbles.html',
- controller: 'MapBubblePageCtrl'
+ controller: 'MapBubblePageCtrl',
+ title: 'Bubble Maps',
+ sidebarMeta: {
+ order: 200,
+ },
})
.state('maps.line', {
url: '/line',
templateUrl: 'app/pages/maps/map-lines/map-lines.html',
- controller: 'MapLinesPageCtrl'
+ controller: 'MapLinesPageCtrl',
+ title: 'Line Maps',
+ sidebarMeta: {
+ order: 300,
+ },
});
}
diff --git a/src/app/pages/modals/modals.module.js b/src/app/pages/modals/modals.module.js
index 45d53ca..9e1feed 100644
--- a/src/app/pages/modals/modals.module.js
+++ b/src/app/pages/modals/modals.module.js
@@ -11,9 +11,13 @@
/** @ngInject */
function routeConfig($stateProvider) {
$stateProvider
- .state('modals', {
+ .state('ui.modals', {
url: '/modals',
- templateUrl: 'app/pages/modals/modals.html'
+ templateUrl: 'app/pages/modals/modals.html',
+ title: 'Modals',
+ sidebarMeta: {
+ order: 300,
+ },
});
}
diff --git a/src/app/pages/notifications/notifications.module.js b/src/app/pages/notifications/notifications.module.js
index d12b33e..1bf17a7 100644
--- a/src/app/pages/notifications/notifications.module.js
+++ b/src/app/pages/notifications/notifications.module.js
@@ -11,10 +11,14 @@
/** @ngInject */
function routeConfig($stateProvider) {
$stateProvider
- .state('notifications', {
+ .state('ui.notifications', {
url: '/notifications',
templateUrl: 'app/pages/notifications/notifications.html',
- controller: 'NotificationsPageCtrl'
+ controller: 'NotificationsPageCtrl',
+ title: 'Notifications',
+ sidebarMeta: {
+ order: 700,
+ },
});
}
diff --git a/src/app/pages/pages.module.js b/src/app/pages/pages.module.js
index 326453b..79fa154 100644
--- a/src/app/pages/pages.module.js
+++ b/src/app/pages/pages.module.js
@@ -26,7 +26,8 @@
'BlurAdmin.pages.tables',
'BlurAdmin.pages.tree',
'BlurAdmin.pages.tabs',
- 'BlurAdmin.pages.typography'
+ 'BlurAdmin.pages.typography',
+ 'BlurAdmin.pages.ui',
])
.config(routeConfig);
diff --git a/src/app/pages/panels/panels.module.js b/src/app/pages/panels/panels.module.js
index 4606a4c..7924ae3 100644
--- a/src/app/pages/panels/panels.module.js
+++ b/src/app/pages/panels/panels.module.js
@@ -11,10 +11,14 @@
/** @ngInject */
function routeConfig($stateProvider) {
$stateProvider
- .state('panels', {
+ .state('ui.panels', {
url: '/panels',
templateUrl: 'app/pages/panels/panels.html',
- controller: 'NotificationsPageCtrl'
+ controller: 'NotificationsPageCtrl',
+ title: 'Panels',
+ sidebarMeta: {
+ order: 1100,
+ },
});
}
diff --git a/src/app/pages/profile/profile.module.js b/src/app/pages/profile/profile.module.js
index f5ff39e..1da0097 100644
--- a/src/app/pages/profile/profile.module.js
+++ b/src/app/pages/profile/profile.module.js
@@ -14,7 +14,12 @@
.state('profile', {
url: '/profile',
templateUrl: 'app/pages/profile/profile.html',
- controller: 'ProfilePageCtrl'
+ controller: 'ProfilePageCtrl',
+ title: 'User Profile',
+ sidebarMeta: {
+ icon: 'ion-person',
+ order: 700,
+ },
});
}
diff --git a/src/app/pages/progressBars/progressBars.module.js b/src/app/pages/progressBars/progressBars.module.js
index a29112d..6d1c6aa 100644
--- a/src/app/pages/progressBars/progressBars.module.js
+++ b/src/app/pages/progressBars/progressBars.module.js
@@ -11,9 +11,13 @@
/** @ngInject */
function routeConfig($stateProvider) {
$stateProvider
- .state('progressBars', {
+ .state('ui.progressBars', {
url: '/progressBars',
- templateUrl: 'app/pages/progressBars/progressBars.html'
+ templateUrl: 'app/pages/progressBars/progressBars.html',
+ title: 'Progress Bars',
+ sidebarMeta: {
+ order: 600,
+ },
});
}
diff --git a/src/app/pages/slider/slider.module.js b/src/app/pages/slider/slider.module.js
index d2366d7..6728305 100644
--- a/src/app/pages/slider/slider.module.js
+++ b/src/app/pages/slider/slider.module.js
@@ -11,10 +11,14 @@
/** @ngInject */
function routeConfig($stateProvider) {
$stateProvider
- .state('slider', {
- url: '/slider',
- templateUrl: 'app/pages/slider/slider.html'
- });
+ .state('ui.slider', {
+ url: '/slider',
+ templateUrl: 'app/pages/slider/slider.html',
+ title: 'Sliders',
+ sidebarMeta: {
+ order: 1000,
+ },
+ });
}
})();
diff --git a/src/app/pages/tables/tables.module.js b/src/app/pages/tables/tables.module.js
index 5bccca7..7590917 100644
--- a/src/app/pages/tables/tables.module.js
+++ b/src/app/pages/tables/tables.module.js
@@ -11,19 +11,32 @@
/** @ngInject */
function routeConfig($stateProvider, $urlRouterProvider) {
$stateProvider
- .state('tables', {
- url: '/tables',
- template : '',
- abstract: true,
- controller: 'TablesPageCtrl'
- }).state('tables.basic', {
- url: '/basic',
- templateUrl: 'app/pages/tables/basic/tables.html'
- }).state('tables.smart', {
- url: '/smart',
- templateUrl: 'app/pages/tables/smart/tables.html'
- });
- $urlRouterProvider.when('/tables','/tables/basic');
+ .state('tables', {
+ url: '/tables',
+ template : '',
+ abstract: true,
+ controller: 'TablesPageCtrl',
+ title: 'Tables',
+ sidebarMeta: {
+ icon: 'ion-grid',
+ order: 200,
+ },
+ }).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');
}
})();
diff --git a/src/app/pages/tabs/tabs.module.js b/src/app/pages/tabs/tabs.module.js
index 7f9e78e..8e0d99d 100644
--- a/src/app/pages/tabs/tabs.module.js
+++ b/src/app/pages/tabs/tabs.module.js
@@ -11,9 +11,13 @@
/** @ngInject */
function routeConfig($stateProvider) {
$stateProvider
- .state('tabs', {
+ .state('ui.tabs', {
url: '/tabs',
- templateUrl: 'app/pages/tabs/tabs.html'
+ templateUrl: 'app/pages/tabs/tabs.html',
+ title: 'Tabs and Accordions',
+ sidebarMeta: {
+ order: 800,
+ },
});
}
diff --git a/src/app/pages/tree/tree.module.js b/src/app/pages/tree/tree.module.js
index e50f457..795da6b 100644
--- a/src/app/pages/tree/tree.module.js
+++ b/src/app/pages/tree/tree.module.js
@@ -10,10 +10,14 @@
/** @ngInject */
function routeConfig($stateProvider) {
$stateProvider
- .state('tree', {
- url: '/tree',
- templateUrl: 'app/pages/tree/tree.html'
- });
+ .state('ui.tree', {
+ url: '/tree',
+ templateUrl: 'app/pages/tree/tree.html',
+ title: 'Tree View',
+ sidebarMeta: {
+ order: 900,
+ },
+ });
}
})();
diff --git a/src/app/pages/typography/typography.module.js b/src/app/pages/typography/typography.module.js
index 71f7bc2..f00703b 100644
--- a/src/app/pages/typography/typography.module.js
+++ b/src/app/pages/typography/typography.module.js
@@ -11,9 +11,13 @@
/** @ngInject */
function routeConfig($stateProvider) {
$stateProvider
- .state('typography', {
+ .state('ui.typography', {
url: '/typography',
- templateUrl: 'app/pages/typography/typography.html'
+ templateUrl: 'app/pages/typography/typography.html',
+ title: 'Typography',
+ sidebarMeta: {
+ order: 0,
+ },
});
}
diff --git a/src/app/pages/ui/ui.module.js b/src/app/pages/ui/ui.module.js
new file mode 100644
index 0000000..ebb286b
--- /dev/null
+++ b/src/app/pages/ui/ui.module.js
@@ -0,0 +1,26 @@
+/**
+ * @author k.danovsky
+ * created on 12.01.2016
+ */
+(function () {
+ 'use strict';
+
+ angular.module('BlurAdmin.pages.ui', [])
+ .config(routeConfig);
+
+ /** @ngInject */
+ function routeConfig($stateProvider) {
+ $stateProvider
+ .state('ui', {
+ url: '/ui',
+ template : '',
+ abstract: true,
+ title: 'UI Elements',
+ sidebarMeta: {
+ icon: 'ion-android-laptop',
+ order: 400,
+ },
+ });
+ }
+
+})();
diff --git a/src/app/theme/components/contentTop/contentTop.directive.js b/src/app/theme/components/contentTop/contentTop.directive.js
index 3a05287..6c2deae 100644
--- a/src/app/theme/components/contentTop/contentTop.directive.js
+++ b/src/app/theme/components/contentTop/contentTop.directive.js
@@ -9,46 +9,13 @@
.directive('contentTop', contentTop);
/** @ngInject */
- function contentTop($location) {
+ function contentTop($location, $state) {
return {
restrict: 'E',
templateUrl: 'app/theme/components/contentTop/contentTop.html',
link: function($scope) {
- $scope.pages = {
- '/dashboard': 'Dashboard',
- '/page': 'Default Page',
- '/404': 'Page Not Found',
- '/buttons': 'Buttons',
- '/charts/amCharts': 'amCharts',
- '/charts/chartJs': 'Chart.js',
- '/charts/chartist': 'Chartist.js',
- '/charts/morris': 'Morris',
- '/grid': 'Grid',
- '/alerts': 'Alerts',
- '/progressBars': 'Progress Bars',
- '/notifications': 'Notifications',
- '/icons': 'Icons',
- '/login': 'Authentication',
- '/maps': 'Maps',
- '/mail': 'Mail Box',
- '/modals': 'Modals',
- '/profile': 'User Profile',
- '/tables/basic': 'Basic Tables',
- '/tables/smart': 'Smart Tables',
- '/tree': 'Tree View',
- '/slider': 'Sliders',
- '/typography': 'Typography',
- '/form-layouts': 'Form Layouts',
- '/form-inputs': 'Form Inputs',
- '/maps/gmap': 'Google Map',
- '/maps/leaflet': 'Leaflet Map',
- '/maps/line': 'Line Map',
- '/maps/bubble': 'Bubble Map',
- '/panels': 'Panels'
- };
-
$scope.$watch(function () {
- $scope.activePageTitle = $scope.pages[$location.$$url];
+ $scope.activePageTitle = $state.current.title;
});
}
};
diff --git a/src/app/theme/components/sidebar/SidebarCtrl.js b/src/app/theme/components/sidebar/SidebarCtrl.js
index 6d007d1..2497749 100644
--- a/src/app/theme/components/sidebar/SidebarCtrl.js
+++ b/src/app/theme/components/sidebar/SidebarCtrl.js
@@ -9,153 +9,37 @@
.controller('SidebarCtrl', SidebarCtrl);
/** @ngInject */
- function SidebarCtrl($scope, $timeout, $location, $rootScope, layoutSizes) {
- $scope.menuItems = [
- {
- title: 'Dashboard',
- icon: 'ion-android-home',
- root: '#/dashboard'
- },
- {
- icon: 'ion-stats-bars',
- title: 'Charts',
- subMenu: [
- {
- title: 'amCharts',
- root: '#/charts/amCharts'
- },
- {
- title: 'Chart.js',
- root: '#/charts/chartJs'
- },
- {
- title: 'Chartist',
- root: '#/charts/chartist'
- },
- {
- title: 'Morris',
- root: '#/charts/morris'
- }
- ]
- },
- {
- title: 'Tables',
- icon: 'ion-grid',
- subMenu: [
- {
- title: "Basic Tables",
- root: '#/tables/basic'
- },
- {
- title: "Smart Tables",
- root: '#/tables/smart'
- }
- ]
- },
- {
- title: 'Form Elements',
- icon: 'ion-compose',
- subMenu: [
- {
- title: 'Inputs',
- root: '#/form-inputs'
- },
- {
- title: 'Form Layouts',
- root: '#/form-layouts'
- },
- {
- title: 'Form Wizard',
- root: '#/form-wizard'
- }
- ]
- },
- {
- title: 'UI Elements',
- icon: 'ion-android-laptop',
- subMenu: [
- {
- title: 'Typography',
- root: '#/typography'
- },
- {
- title: 'Buttons',
- root: '#/buttons'
- },
- {
- title: 'Icons',
- root: '#/icons'
- },
- {
- title: 'Modals',
- root: '#/modals'
- },
- {
- title: 'Grid',
- root: '#/grid'
- },
- {
- title: 'Alerts',
- root: '#/alerts'
- },
- {
- title: 'Progress Bars',
- root: '#/progressBars'
- },
- {
- title: 'Notifications',
- root: '#/notifications'
- },
- {
- title: 'Tabs and Accordions',
- root: '#/tabs'
- },
- {
- title: 'Tree View',
- root: '#/tree'
- },
- {
- title: 'Sliders',
- root: '#/slider'
- },
- {
- title: 'Panels',
- root: '#/panels'
- }
- ]
- },
- {
- title: 'Mail',
- icon: 'ion-ios-email-outline',
- root: '#/mail/inbox'
- },
- {
- title: 'Maps',
- icon: 'ion-ios-location-outline',
- subMenu: [
- {
- title: 'Google Maps',
- root: '#/maps/gmap'
- },
- {
- title: 'Leaflet',
- root: '#/maps/leaflet'
- },
- {
- title: 'Bubble Map',
- root: '#/maps/bubble'
- },
- {
- title: 'Line Map',
- root: '#/maps/line'
- }
- ]
- },
- {
- title: 'User Profile',
- icon: 'ion-person',
- root: '#/profile'
- },
+ function SidebarCtrl($scope, $timeout, $location, $rootScope, layoutSizes, $state) {
+
+ var states = $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,
+ root: '#/' + s.name.replace('.', '/'),
+ };
+ })
+ .sort(function(a, b) {
+ return (a.level - b.level) * 100 + a.order - b.order;
+ });
+
+ var menuItems = states.filter(function(item) {
+ return item.level == 0;
+ });
+ menuItems.forEach(function(item) {
+ var children = states.filter(function(child) {
+ return child.level == 1 && child.name.indexOf(item.name) == 0;
+ });
+ item.subMenu = children.length ? children : null;
+ });
+
+ var staticMenuItems = [
{
title: 'Login Page',
icon: 'ion-log-out',
@@ -185,6 +69,8 @@
}
];
+ $scope.menuItems = menuItems.concat(staticMenuItems);
+
function changeSelectElemTopValue() {
$timeout(function () {
var selectedItem = $('.al-sidebar-list-item.selected');