Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save ericmustin/2a3b06ca153e7d8339595ec066695770 to your computer and use it in GitHub Desktop.

Select an option

Save ericmustin/2a3b06ca153e7d8339595ec066695770 to your computer and use it in GitHub Desktop.
example for abstracting some of controller DOM manipulation into directive
- #categoriesMenu{"ng-click" => "goBackToMainMenu($event)", "ng-show" => "sub_menu_show"}
+ #categoriesMenu{"ng-show" => "sub_menu_show", 'gobacktomainmenu' => ""}
# $scope.goBackToMainMenu = (event) ->
# console.log('goBackToMainMenu invoked with, ', event)
# return true if $(event.target).is("li.link.strong")
# $scope.sub_menu_show = false
# $timeout( ->
# $scope.sub_menu = false
# , 200)
# true
$scope.$on('gobacktomainmenu', (_event, args) ->
$scope.sub_menu = sub_menu = args['sub_menu']
$scope.sub_menu_show = sub_menu = args['sub_menu']
)
angular.module('HeaderModule').directive('gobacktomainmenu',
($rootScope, $timeout) ->
"ngInject"
restrict: 'A'
scope: {}
link: ($scope, elem, attrs) ->
onElemClick = (event) ->
return true if $(event.target).is("li.link.strong")
$timeout(->
$rootScope.$broadcast('gobacktomainmenu', {sub_menu: false})
, 0)
elem.on('click', onElemClick)
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment