# Using Angular directives for connect HTML clicks in buttons and controller actions

I'm trying to improve my Angular directive. I'm pretty new to CoffeeScript, so I think there may be inconsistent code.

'use strict'
class Main extends Directive
constructor: (VerifyService) ->
return {
restrict : 'M'
scope.watch 'events', ->
ACTION =
booking = () ->
scope.ctrl.create()

filter = (control) ->
if ACTION[control]
ACTION[control]()
return

door = () ->
control = $(this).data('controller-control') filter(control) return init = () -> PROP.element.bind('click', door) return return test = () -> if VerifyService.each(PROP) init() return test() return }  I'm using directives not only to manipulate the HTML, but to use as a bridge between HTML and CONTROLLERS. Please do not question why I'm doing like this; there is a very big reason. I'm using the GULP-NG-CLASSIFY, which makes available the use of CoffeeScript class syntax. Inside of the link function (which all directive have) I'm starting my code from the bottom to the top. First I test if all my HTML properties are available (in this code I only have one):  test = () -> if VerifyService.each(PROP) init() return test() return  If all the PROP exists in the HTML, I want initialize the script, which will bind a click in the PROP.element:  init = () -> PROP.element.bind('click', door) return return  So, in the door, I want get the data from data-controller-control:  door = () -> control =$(this).data('controller-control')
filter(control)
return


I need filter and I want get the controller action requested. I need to be sure that the action in my controller exists:

      filter = (control) ->
if ACTION[control]
ACTION[control]()
return


Finally I call the ACTION requested by the user:

      ACTION =
booking = () ->
scope.ctrl.create()


In this case I only have one.