My main question is simple :
I get errors when doing DOM manipulation within Controllers or Directives however, the functionality works perfectly.
Erro
As the error states, Angular disallows accessing DOM nodes in expressions.
CoffeeScript uses an implicit return
if none is specified.
This means that for example the scope.open
function in your code will:
return element.dialog('open');
Angular will detect this and throw the error.
If you add an explicit return
it should solve the issue:
scope.open = =>
element.dialog('open')
return true