Created
May 11, 2015 22:22
-
-
Save leongaban/30b1b1bfa830fa5fb961 to your computer and use it in GitHub Desktop.
scopeFactory
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*global angular*/ | |
/* ============================================================================= | |
Scope factory | stores and retrieves $scopes | |
============================================================================= */ | |
(function() { "use strict"; | |
var app = angular.module('scopeFactory', []) | |
.factory('ScopeFactory', function() { | |
// Init ScopeFactory: | |
// ------------------ | |
var root = { that: this }; | |
var notifications = { that: this }; | |
var searchPopover = { that: this }; | |
var tagsPanel = { that: this }; | |
var tagsHover = { that: this }; | |
var tagsFilter = { that: this }; | |
var tickersPanel = { that: this }; | |
var viewHeader = { that: this }; | |
var chartHeader = { that: this }; | |
var chartScope = { that: this }; | |
var socialMedia = { that: this }; | |
var saveScope = function(type, vs) { | |
switch(type) { | |
case 'root': | |
root.that = vs; | |
break; | |
case 'notifications': | |
notifications.that = vs; | |
break; | |
case 'search': | |
searchPopover.that = vs; | |
break; | |
case 'tagsPanel': | |
tagsPanel.that = vs; | |
break; | |
case 'tagsHover': | |
tagsHover.that = vs; | |
break; | |
case 'tagsFilter': | |
tagsFilter.that = vs; | |
break; | |
case 'tickersPanel': | |
tickersPanel.that = vs; | |
break; | |
case 'viewHeader': | |
viewHeader.that = vs; | |
break; | |
case 'chartHeader': | |
chartHeader.that = vs; | |
break; | |
case 'chart': | |
chartScope.that = vs; | |
break; | |
case 'social': | |
socialMedia.that = vs; | |
break; | |
} | |
}; | |
var getScope = function(type) { | |
switch(type) { | |
case 'root': | |
return root.that; | |
break; | |
case 'notifications': | |
return notifications.that; | |
break; | |
case 'search': | |
return searchPopover.that; | |
break; | |
case 'tagsPanel': | |
return tagsPanel.that; | |
break; | |
case 'tagsHover': | |
return tagsHover.that; | |
break; | |
case 'tagsFilter': | |
return tagsFilter.that; | |
break; | |
case 'tickersPanel': | |
return tickersPanel.that; | |
break; | |
case 'viewHeader': | |
return viewHeader.that; | |
break; | |
case 'chartHeader': | |
return chartHeader.that; | |
break; | |
case 'chart': | |
return chartScope.that; | |
break; | |
case 'social': | |
return socialMedia.that; | |
break; | |
} | |
}; | |
return { | |
saveScope : saveScope, | |
getScope : getScope | |
}; | |
}); | |
})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment