Sha256: 57baf24edc1f034502ab36af225decb7839c4a54b4d1575c39389b60b125b597

Contents?: true

Size: 1.49 KB

Versions: 15

Compression:

Stored size: 1.49 KB

Contents

angular.module 'NgCreate', ['Factories', 'FactoryName']

  .directive 'ngCreate', ($timeout, $compile) ->
    restrict: 'A'
    link: (scope, element, attributes) ->
      element.bind 'click', (event) ->
        [parentName, listName] = attributes.ngContext.split('.') if attributes.ngContext
        attr = scope.$eval('(' + attributes.ngAttributes + ')') || {}
        scope.create(attributes.ngCreate,parentName,listName,attr)
    controller: ($scope, $injector, factoryName, $element) ->
      $scope.create = (modelName,parentName,listName,attributes) ->
        addTo = $element[0].attributes['ng-add-to'].value if $element[0].attributes['ng-add-to']
        factory = factoryName(modelName)
        list = $injector.get(factory)
        object = {}
        object[modelName] = attributes
        if parentName
          object[parentName]         = $scope[parentName]    unless parentName.indexOf('_id') < 0
          object[parentName + '_id'] = $scope[parentName].id     if parentName.indexOf('_id') < 0
        list.create object, (returnData) ->
          if addTo
            $scope[addTo].push(returnData)
          if listName
            scope = if $scope[parentName] then $scope else $scope.$parent
            scope[parentName] = {} unless scope[parentName]
            scope[parentName][listName] = [] unless scope[parentName][listName]
            scope[parentName][listName].push(returnData)
          else
            $scope[factory] = [] unless $scope[factory]
            $scope[factory].push(returnData)

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
material_raingular-0.0.2.6 lib/assets/javascripts/directives/ngcreate.js.coffee
material_raingular-0.0.2.5 lib/assets/javascripts/directives/ngcreate.js.coffee
material_raingular-0.0.2.4.999999999 lib/assets/javascripts/directives/ngcreate.js.coffee
material_raingular-0.0.2.4.8 lib/assets/javascripts/directives/ngcreate.js.coffee
material_raingular-0.0.2.4.7.alpha lib/assets/javascripts/directives/ngcreate.js.coffee
material_raingular-0.0.2.4.6.alpha lib/assets/javascripts/directives/ngcreate.js.coffee
material_raingular-0.0.2.4.5.alpha lib/assets/javascripts/directives/ngcreate.js.coffee
material_raingular-0.0.2.4.4.alpha lib/assets/javascripts/directives/ngcreate.js.coffee
material_raingular-0.0.2.4.3.alpha lib/assets/javascripts/directives/ngcreate.js.coffee
material_raingular-0.0.2.4.2.alpha lib/assets/javascripts/directives/ngcreate.js.coffee
material_raingular-0.0.2.4.1.alpha lib/assets/javascripts/directives/ngcreate.js.coffee
material_raingular-0.0.2.3.alpha lib/assets/javascripts/directives/ngcreate.js.coffee
material_raingular-0.0.2.2.alpha lib/assets/javascripts/directives/ngcreate.js.coffee
material_raingular-0.0.2.1.alpha lib/assets/javascripts/directives/ngcreate.js.coffee
material_raingular-0.0.2.alpha lib/assets/javascripts/directives/ngcreate.js.coffee