Sha256: 26d3db28f9c5110ba725fdba947910fb8b95e1f7d82bffd87288c8b0e7b920c9
Contents?: true
Size: 1.35 KB
Versions: 1
Compression:
Stored size: 1.35 KB
Contents
# //= require material_raingular/directives/destroy/directive class MrDestroyModel extends AngularLinkModel REGEXP: /^\s*(.*?)\s+in\s+(.*?)(?:\s+track\s+by\s+([\s\S]+?))?$/ # 1: model name # 2: collection name # 3: track by value @inject( '$parse' 'factoryName' '$timeout' ) initialize: -> @_setForm() @$element.bind 'click', @destroy @register(Directives.MrDestroy) destroy: => return if @$attrs.disabled || @form.disabled @$timeout => @_list().drop(@_model()) factory = @$injector.get(@_options().factory || @factoryName(@_matchedExpression()[1])) factory.destroy {id: @_model().id}, @_callBack _callBack: (data) => @$controller[1]?.evaluate(data) _model: -> @$controller[0].$viewValue _list: -> @_options().list || @$scope.$eval(@_matchedExpression()[2].split('|')[0]) _options: -> @$scope.$eval(@$attrs.mrOptions || '{}') _matchedExpression: -> @_repeatElement().getAttribute('ng-repeat').match(@REGEXP) _repeatElement: -> repeatElement = @$element[0] until repeatElement.hasAttribute 'ng-repeat' repeatElement = repeatElement.parentNode break if !repeatElement repeatElement _setForm: -> @form = @$element[0] until @form.nodeName == 'FORM' || !@form @form = @form.parentNode break if !@form @form ||= @$element[0]
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
material_raingular-0.2.5 | lib/assets/javascripts/material_raingular/directives/destroy/linkmodel.coffee |