Sha256: 70f48210870f03813048f84c8022c578fd5467a51c35f06f8332e731ba3840d1

Contents?: true

Size: 1.2 KB

Versions: 42

Compression:

Stored size: 1.2 KB

Contents

angular.module 'NgDestroy', ['Factories']

  .directive 'ngDestroy', ($injector, factoryName) ->
    restrict: 'A'
    require: '?ngCallback'
    link: (scope, element, attributes, ngCallbackCtrl) ->
      console.warn "ngDestroy is deprecated. Please consider using mrDestroy in its stead."
      element.bind 'click', (event) ->
        form = element[0]
        until form.nodeName == 'FORM' || !form
          form = form.parentNode
          break if !form
        form ||= element[0]
        return if attributes.disabled || form.disabled
        destroy(attributes.ngDestroy,attributes.ngContext)
      destroy = (modelName,listName) ->
        factory = factoryName(modelName)
        if listName
          list = scope
          for childScope in listName.split('.')
            list = list[childScope]
        else
          list = scope[factory]
        resource = list #Save resource for later if server returns success
        list = $injector.get(factory)
        object = {id: scope[modelName].id}
        list.delete(object).$promise #remove from server
        .then (returnData)->
          resource.drop(scope[modelName]) #remove from view
          ngCallbackCtrl.evaluate(returnData) if !!ngCallbackCtrl

Version data entries

42 entries across 42 versions & 1 rubygems

Version Path
material_raingular-0.6.16 lib/assets/javascripts/directives/ngdestroy.js.coffee
material_raingular-0.6.15 lib/assets/javascripts/directives/ngdestroy.js.coffee
material_raingular-0.6.14 lib/assets/javascripts/directives/ngdestroy.js.coffee
material_raingular-0.6.13 lib/assets/javascripts/directives/ngdestroy.js.coffee
material_raingular-0.6.12 lib/assets/javascripts/directives/ngdestroy.js.coffee
material_raingular-0.6.11 lib/assets/javascripts/directives/ngdestroy.js.coffee
material_raingular-0.6.10 lib/assets/javascripts/directives/ngdestroy.js.coffee
material_raingular-0.6.9 lib/assets/javascripts/directives/ngdestroy.js.coffee
material_raingular-0.6.8 lib/assets/javascripts/directives/ngdestroy.js.coffee
material_raingular-0.6.7 lib/assets/javascripts/directives/ngdestroy.js.coffee
material_raingular-0.6.6 lib/assets/javascripts/directives/ngdestroy.js.coffee
material_raingular-0.6.5 lib/assets/javascripts/directives/ngdestroy.js.coffee
material_raingular-0.6.4 lib/assets/javascripts/directives/ngdestroy.js.coffee
material_raingular-0.6.3 lib/assets/javascripts/directives/ngdestroy.js.coffee
material_raingular-0.6.2.3 lib/assets/javascripts/directives/ngdestroy.js.coffee
material_raingular-0.6.2.2 lib/assets/javascripts/directives/ngdestroy.js.coffee
material_raingular-0.6.2.1 lib/assets/javascripts/directives/ngdestroy.js.coffee
material_raingular-0.6.2 lib/assets/javascripts/directives/ngdestroy.js.coffee
material_raingular-0.6.1.1 lib/assets/javascripts/directives/ngdestroy.js.coffee
material_raingular-0.6.1 lib/assets/javascripts/directives/ngdestroy.js.coffee