diff options
| author | Vojta Jina | 2012-02-23 19:47:58 -0800 | 
|---|---|---|
| committer | Vojta Jina | 2012-02-28 18:22:35 -0800 | 
| commit | 139e1b09a94f60b351cc961d8bfd882c0b8ba594 (patch) | |
| tree | e4403c52a9be8db33a991420056c865855bdd6f7 /src/widget/form.js | |
| parent | 60743fc52aea9eabee58258a31f4ba465013cb4e (diff) | |
| download | angular.js-139e1b09a94f60b351cc961d8bfd882c0b8ba594.tar.bz2 | |
docs(forms): Update API docs for forms
- API forms (ng:model + controller, form + controller)
- fix some broken links
- ng:change, ng:model-instant
Diffstat (limited to 'src/widget/form.js')
| -rw-r--r-- | src/widget/form.js | 56 | 
1 files changed, 49 insertions, 7 deletions
| diff --git a/src/widget/form.js b/src/widget/form.js index 23b07107..306581e9 100644 --- a/src/widget/form.js +++ b/src/widget/form.js @@ -1,5 +1,27 @@  'use strict'; + +/** + * @ngdoc object + * @name angular.module.ng.$compileProvider.directive.form.FormController + * + * @property {boolean} pristine True if user has not interacted with the form yet. + * @property {boolean} dirty True if user has already interacted with the form. + * @property {boolean} valid True if all of the containg widgets are valid. + * @property {boolean} invalid True if at least one containing widget is invalid. + * + * @property {Object} error Is an object hash, containing references to all invalid widgets, where + * + *  - keys are error ids (such as `REQUIRED`, `URL` or `EMAIL`), + *  - values are arrays of widgets that are invalid with given error. + * + * @description + * Form is a controller that keeps track of all registered widgets. + * + * Each {@link angular.module.ng.$compileProvider.directive.form form} directive creates an instance + * of `FormController`. + * + */  FormController.$inject = ['$scope', 'name'];  function FormController($scope, name) {    var form = this, @@ -73,6 +95,19 @@ function FormController($scope, name) {    }  } +/** + * @ngdoc function + * @name angular.module.ng.$compileProvider.directive.form.FormController#registerWidget + * @methodOf angular.module.ng.$compileProvider.directive.form.FormController + * @function + * + * @param {Object} widget Widget to register (controller of a widget) + * @param {string=} alias Name alias of the widget. + *                        (If specified, widget will be accesible as a form property) + * + * @description + * + */  FormController.prototype.registerWidget = function(widget, alias) {    if (alias && !this.hasOwnProperty(alias)) {      widget.widgetId = alias; @@ -82,16 +117,15 @@ FormController.prototype.registerWidget = function(widget, alias) {  /** - * @ngdoc directive + * @ngdoc widget   * @name angular.module.ng.$compileProvider.directive.form   *   * @scope   * @description - * Angular widget that creates a form scope using the - * {@link angular.module.ng.$formFactory $formFactory} API. The resulting form scope instance is - * attached to the DOM element using the jQuery `.data()` method under the `$form` key. - * See {@link guide/dev_guide.forms forms} on detailed discussion of forms and widgets. + * Directive that instantiates + * {@link angular.module.ng.$compileProvider.directive.form.FormController Form} controller.   * + * If `name` attribute is specified, the controller is published to the scope as well.   *   * # Alias: `ng:form`   * @@ -101,9 +135,16 @@ FormController.prototype.registerWidget = function(widget, alias) {   * element nesting.   *   * + * # CSS classes + *  - `ng-valid` Is set if the form is valid. + *  - `ng-invalid` Is set if the form is invalid. + *  - `ng-pristine` Is set if the form is pristine. + *  - `ng-dirty` Is set if the form is dirty. + * + *   * # Submitting a form and preventing default action   * - * Since the role of forms in client-side Angular applications is different than in old-school + * Since the role of forms in client-side Angular applications is different than in classical   * roundtrip apps, it is desirable for the browser not to translate the form submission into a full   * page reload that sends the data to the server. Instead some javascript logic should be triggered   * to handle the form submission in application specific way. @@ -128,7 +169,8 @@ FormController.prototype.registerWidget = function(widget, alias) {   * hitting enter in any of the input fields will trigger the click handler on the *first* button or   * input[type=submit] (`ng:click`) *and* a submit handler on the enclosing form (`ng:submit`)   * - * @param {string=} name Name of the form. + * @param {string=} name Name of the form. If specified, the form controller will be published into + *                       related scope, under this name.   *   * @example      <doc:example> | 
