diff options
| author | Misko Hevery | 2012-03-13 16:14:58 -0700 |
|---|---|---|
| committer | Misko Hevery | 2012-03-13 16:59:10 -0700 |
| commit | e9e3ee012b50f868f4cd68f3571560680998a19b (patch) | |
| tree | a025cd1d4d28ea786e0e0978ab283526ee841ece /src/directive | |
| parent | de9464c1431906883bdf180fb00615e6fa371577 (diff) | |
| download | angular.js-e9e3ee012b50f868f4cd68f3571560680998a19b.tar.bz2 | |
feat(compile): allow ngForm on attribute and class
#feature
- ngForm directive can now be used with element, class, and attributes
Diffstat (limited to 'src/directive')
| -rw-r--r-- | src/directive/form.js | 53 |
1 files changed, 27 insertions, 26 deletions
diff --git a/src/directive/form.js b/src/directive/form.js index 47274589..f4c96455 100644 --- a/src/directive/form.js +++ b/src/directive/form.js @@ -222,31 +222,32 @@ function FormController(name, element, attrs) { </doc:scenario> </doc:example> */ -var formDirective = [function() { - return { - name: 'form', - restrict: 'E', - inject: { - name: 'accessor' - }, - controller: FormController, - compile: function() { - return { - pre: function(scope, formElement, attr, controller) { - formElement.bind('submit', function(event) { - if (!attr.action) event.preventDefault(); - }); +var formDirectiveDev = { + name: 'form', + restrict: 'E', + inject: { + name: 'accessor' + }, + controller: FormController, + compile: function() { + return { + pre: function(scope, formElement, attr, controller) { + formElement.bind('submit', function(event) { + if (!attr.action) event.preventDefault(); + }); - var parentFormCtrl = formElement.parent().inheritedData('$formController'); - if (parentFormCtrl) { - formElement.bind('$destroy', function() { - parentFormCtrl.$removeControl(controller); - if (attr.name) delete scope[attr.name]; - extend(controller, nullFormCtrl); //stop propagating child destruction handlers upwards - }); - } + var parentFormCtrl = formElement.parent().inheritedData('$formController'); + if (parentFormCtrl) { + formElement.bind('$destroy', function() { + parentFormCtrl.$removeControl(controller); + if (attr.name) delete scope[attr.name]; + extend(controller, nullFormCtrl); //stop propagating child destruction handlers upwards + }); } - }; - } - }; -}]; + } + }; + } +}; + +var formDirective = valueFn(formDirectiveDev); +var ngFormDirective = valueFn(extend(copy(formDirectiveDev), {restrict:'EAC'})); |
