Menu.service.js
1.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
(function (window, angular) {
var app = angular.module("framework.services.menu", []);
app.provider('MenuService', MenuServiceProvider);
function MenuServiceProvider() {
var menuItems = [];
var defaultIcon = 'icon-Align-JustifyAll';
var provider = {
registerMenuItem: registerMenuItem,
setDefaultIcon: setDefaultIcon,
$get: getService
};
return provider;
function registerMenuItem(menuItem) {
menuItems.push(menuItem);
}
function setDefaultIcon(icon) {
defaultIcon = icon;
}
function getService() {
angular.forEach(menuItems, function (mi) {
mi.$html = _buildTemplate(mi);
});
var service = {
menuItems: menuItems,
defaultIcon: defaultIcon
};
return service;
}
function _buildTemplate(menuItem) {
var template = '<a ui-sref="' + menuItem.state + '" style="color:white;">' +
'<i class="{{item.icon ? item.icon : menu.defaultIcon}}"></i>' +
'{{item.title}}' +
'</a>';
return template;
}
};
})(window, angular);