Blame view

services/Menu.service.js 1.25 KB
6e6aa9b0   Tarpit Grover   Basic Setup
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);