(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 = '' + '' + '{{item.title}}' + ''; return template; } }; })(window, angular);