(function () { "use strict"; angular.module("enrServicesModule") .factory("detailsViewModeManager", ["$rootScope", function ($rootScope) { var modeEnum = { none: 0, summary: 1, county: 2 }; var modeChangeEventName = "detailsViewModeChanged"; var curMode = modeEnum.none; return { modeEnum: modeEnum, modeChangeEventName: modeChangeEventName, isSummaryMode: function () { return curMode === modeEnum.summary; }, isCountysMode: function () { return curMode === modeEnum.county; }, getCurMode: function () { return curMode; }, setCurMode: function (newMode) { if (newMode !== curMode) { curMode = newMode; $rootScope.$broadcast(modeChangeEventName, curMode); } } }; }]); }());