lib/assets/javascripts/directives/ngcreate.js.coffee in material_raingular-0.0.2.6.3 vs lib/assets/javascripts/directives/ngcreate.js.coffee in material_raingular-0.0.2.6.4

- old
+ new

@@ -1,32 +1,33 @@ angular.module 'NgCreate', ['Factories', 'FactoryName'] - .directive 'ngCreate', ($timeout, $compile) -> + .directive 'ngCreate', ($injector, factoryName) -> restrict: 'A' - link: (scope, element, attributes) -> + require: '?ngCallback' + link: (scope, element, attributes, ngCallbackCtrl) -> 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'] + create(attributes.ngCreate,parentName,listName,attr) + 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[modelName][parentName] = $scope[parentName] unless parentName.indexOf('_id') < 0 - object[modelName][parentName + '_id'] = $scope[parentName].id if parentName.indexOf('_id') < 0 - object[parentName] = $scope[parentName] unless parentName.indexOf('_id') < 0 - object[parentName + '_id'] = $scope[parentName].id if parentName.indexOf('_id') < 0 + object[modelName][parentName] = scope[parentName] unless parentName.indexOf('_id') < 0 + object[modelName][parentName + '_id'] = scope[parentName].id if parentName.indexOf('_id') < 0 + 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) + scope[addTo].push(returnData) if listName - scope = if $scope[parentName] then $scope else $scope.$parent + 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) + scope[factory] = [] unless scope[factory] + scope[factory].push(returnData) + ngCallbackCtrl.evaluate(returnData) if !!ngCallbackCtrl