Files
openfoodnetwork/app/assets/javascripts/darkswarm/directives/flash.js.coffee
Will Marshall 6b00b1c14c MOAR COMMENTS
2014-07-31 15:58:03 +10:00

30 lines
878 B
CoffeeScript

Darkswarm.directive "ofnFlash", (flash, $timeout, RailsFlashLoader)->
# Our own flash class. Uses the "flash" service (third party), and a directive
# called RailsFlashLoader to render
typePairings =
info: "info"
error: "alert"
success: "success"
scope: {}
restrict: 'E'
templateUrl: "flash.html"
controller: ($scope)->
$scope.closeAlert = (index)->
$scope.flashes.splice(index, 1)
link: ($scope, element, attr) ->
$scope.flashes = []
# Callback when a new flash message is pushed to flash service
show = (message, type)=>
if message
$scope.flashes.push({message: message, type: typePairings[type]})
$timeout($scope.delete, 10000)
$scope.delete = ->
$scope.flashes.shift()
# Register our callback (above) with flash service
flash.subscribe(show)
RailsFlashLoader.initFlash()