Sha256: 33873a9715a359186129146c53562234d21fe0ee85a29bb40024ec4a200b9e46
Contents?: true
Size: 1.57 KB
Versions: 1
Compression:
Stored size: 1.57 KB
Contents
Sprangular.service "Status", ($rootScope, $translate) -> status = initialized: false pageTitle: "Home" bodyClasses: {default: true} requestedPath: null httpLoading: false routeChanging: false cachedProducts: [] meta: {} isLoading: -> @httpLoading || @routeChanging cacheProduct: (product) -> status.cachedProducts.push(product) cacheProducts: (list) -> status.cachedProducts = status.cachedProducts.concat(list) findCachedProduct: (slug) -> _.find status.cachedProducts, (product) -> product.slug == slug setPageTitle: (translation_key) -> $translate(translation_key).then (text) -> status.pageTitle = text # addBodyClass('open', 'focused') addBodyClass: -> @_eachClass arguments, (classes, klass) -> classes[klass] = true # removeBodyClass('open', 'focused') removeBodyClass: -> @_eachClass arguments, (classes, klass) -> classes[klass] = false # toggleBodyClass('open', 'focused') toggleBodyClass: -> @_eachClass arguments, (classes, klass) -> classes[klass] = !classes[klass] _eachClass: (args, fn) -> self = this _.each args, (klass) -> fn(self.bodyClasses, klass) $rootScope.$on '$routeChangeSuccess', -> status.bodyClasses = {default: true} $rootScope.$watch (-> status.isLoading()), (loading) -> if loading status.addBodyClass('loading') $rootScope.$broadcast("loading.start") else status.removeBodyClass('loading') $rootScope.$broadcast("loading.end") status
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sprangular-0.1.0 | app/assets/javascripts/sprangular/services/status.coffee |