(function (window, angular) { var app = angular.module("framework.UI.breadcrumb", []); app.controller('BarController', barController); barController.$inject = ['$scope', '$state', '$modal', '$rootScope']; function barController($scope, $state, $modal, $rootScope) { $scope.breadcrumbs = []; $scope.helpAvailable = null; $scope.showHelp = showHelp; function showHelp() { if ($scope.helpAvailable) $modal.open({ templateUrl: $scope.helpAvailable, }); } $rootScope.$on('$stateChangeSuccess', function (event, toState, toParams, fromState, fromParams) { _parseStateName(toState.name); $scope.helpAvailable = toState.hasHelp; }); $scope.helpAvailable = $state.current.hasHelp; _parseStateName($state.current.name); function _parseStateName(stateName) { var parts = stateName.split('.'); var breadcrumbs = []; for (var i = 0; i < parts.length; i++) { var p = parts[i]; if (p === "root") continue; var full = parts.slice(0, i + 1).join('.'); breadcrumbs.push({ name: parts[i], $html: _generateBreadcrumbHtml(p, full) }); } $scope.breadcrumbs = breadcrumbs; } function _generateBreadcrumbHtml(name, state) { var template = '' + name + ''; return template; } }; })(window, angular);