Moving dropdown to its own folder

This commit is contained in:
Rob Harrington
2015-05-07 16:43:05 +10:00
parent 7a4f0e214c
commit 1c03e27686

View File

@@ -0,0 +1,31 @@
dropDownModule = angular.module("ofn.dropdown", [])
dropDownModule.directive "ofnDropDown", ($document) ->
link: (scope, element, attrs) ->
outsideClickListener = (event) ->
unless $(event.target).is("div.ofn_drop_down##{attrs.id} div.menu") ||
$(event.target).parents("div.ofn_drop_down##{attrs.id} div.menu").length > 0
scope.$emit "offClick"
element.click (event) ->
if !scope.expanded
event.stopPropagation()
scope.deregistrationCallback = scope.$on "offClick", ->
$document.off "click", outsideClickListener
scope.$apply ->
scope.expanded = false
element.removeClass "expanded"
scope.deregistrationCallback()
$document.on "click", outsideClickListener
scope.$apply ->
scope.expanded = true
element.addClass "expanded"
dropDownModule.directive "ofnCloseOnClick", ($document) ->
link: (scope, element, attrs) ->
element.click (event) ->
event.stopPropagation()
scope.$emit "offClick"
dropDownModule.controller "DropDownCtrl", ($scope) ->
$scope.expanded = false