Files
openfoodnetwork/app/assets/javascripts/darkswarm/directives/tab.js.coffee
Matt-Yorkley 15b6b1271a Remove event handlers in Angular directives on the $destroy event
This is a common source of memory leaks!
2021-08-03 16:20:19 +01:00

16 lines
414 B
CoffeeScript

angular.module('Darkswarm').directive "tab", ->
restrict: "C"
require: "^^tabsetCtrl"
scope:
name: "@"
link: (scope, element, attrs, ctrl) ->
element.on "click", ->
scope.$apply ->
ctrl.toggle(scope.name)
scope.$on "$destroy", ->
element.off("click")
ctrl.registerSelectionListener (prefix, selection) ->
element.toggleClass('selected', selection == scope.name)