diff options
| author | Vojta Jina | 2011-06-07 23:13:44 +0200 | 
|---|---|---|
| committer | Igor Minar | 2011-06-07 16:11:00 -0700 | 
| commit | e0ee3a0726f43972244e400863a6dcf567f00a0e (patch) | |
| tree | 4da26a12dc0598f5e52c8a61c0c432fd4ed5f7fe /docs/content/cookbook/advancedform.ngdoc | |
| parent | e670a812fa85dd6a63b0d128815f9c0682ffd177 (diff) | |
| download | angular.js-e0ee3a0726f43972244e400863a6dcf567f00a0e.tar.bz2 | |
Update latest docs content from gdocs
Diffstat (limited to 'docs/content/cookbook/advancedform.ngdoc')
| -rw-r--r-- | docs/content/cookbook/advancedform.ngdoc | 149 | 
1 files changed, 72 insertions, 77 deletions
diff --git a/docs/content/cookbook/advancedform.ngdoc b/docs/content/cookbook/advancedform.ngdoc index e14be8b4..b376cbee 100644 --- a/docs/content/cookbook/advancedform.ngdoc +++ b/docs/content/cookbook/advancedform.ngdoc @@ -9,80 +9,80 @@ detection, and preventing invalid form submission.  <doc:example> - <doc:source> -    <script> -    UserForm.$inject = ['$invalidWidgets']; -    function UserForm($invalidWidgets){ -      this.$invalidWidgets = $invalidWidgets; -      this.state = /^\w\w$/; -      this.zip = /^\d\d\d\d\d$/; -      this.master = { -        name: 'John Smith', -        address:{ -          line1: '123 Main St.', -          city:'Anytown', -          state:'AA', -          zip:'12345' -        }, -        contacts:[ -          {type:'phone', value:'1(234) 555-1212'} -        ] -      }; -      this.cancel(); -    } - - -    UserForm.prototype = { -      cancel: function(){ -        this.form = angular.copy(this.master); -      }, - - -      save: function(){ -        this.master = this.form; -        this.cancel(); -      } -    }; -    </script> -    <div ng:controller="UserForm"> - - -      <label>Name:</label><br/> -      <input type="text" name="form.name" ng:required/> <br/><br/> - - -      <label>Address:</label><br/> -      <input type="text" name="form.address.line1" size="33" ng:required/> <br/> -      <input type="text" name="form.address.city" size="12" ng:required/>, -      <input type="text" name="form.address.state" size="2" ng:required ng:validate="regexp:state"/> -      <input type="text" name="form.address.zip" size="5" ng:required +<doc:source> +   <script> +   UserForm.$inject = ['$invalidWidgets']; +   function UserForm($invalidWidgets){ +     this.$invalidWidgets = $invalidWidgets; +     this.state = /^\w\w$/; +     this.zip = /^\d\d\d\d\d$/; +     this.master = { +       name: 'John Smith', +       address:{ +         line1: '123 Main St.', +         city:'Anytown', +         state:'AA', +         zip:'12345' +       }, +       contacts:[ +         {type:'phone', value:'1(234) 555-1212'} +       ] +     }; +     this.cancel(); +   } + + +   UserForm.prototype = { +     cancel: function(){ +       this.form = angular.copy(this.master); +     }, + + +     save: function(){ +       this.master = this.form; +       this.cancel(); +     } +   }; +   </script> +   <div ng:controller="UserForm"> + + +     <label>Name:</label><br/> +     <input type="text" name="form.name" ng:required/> <br/><br/> + + +     <label>Address:</label><br/> +     <input type="text" name="form.address.line1" size="33" ng:required/> <br/> +     <input type="text" name="form.address.city" size="12" ng:required/>, +     <input type="text" name="form.address.state" size="2" ng:required ng:validate="regexp:state"/> +     <input type="text" name="form.address.zip" size="5" ng:required  ng:validate="regexp:zip"/><br/><br/> -      <label>Phone:</label> -      [ <a href="" ng:click="form.contacts.$add()">add</a> ] -      <div ng:repeat="contact in form.contacts"> -        <select name="contact.type"> -          <option>email</option> -          <option>phone</option> -          <option>pager</option> -          <option>IM</option> -        </select> -        <input type="text" name="contact.value" ng:required/> -         [ <a href="" ng:click="form.contacts.$remove(contact)">X</a> ] -      </div> -    <button ng:click="cancel()" disabled="{{master.$equals(form)}}">Cancel</button> -    <button ng:click="save()" disabled="{{$invalidWidgets.visible() || +     <label>Contacts:</label> +     [ <a href="" ng:click="form.contacts.$add()">add</a> ] +     <div ng:repeat="contact in form.contacts"> +       <select name="contact.type"> +         <option>email</option> +         <option>phone</option> +         <option>pager</option> +         <option>IM</option> +       </select> +       <input type="text" name="contact.value" ng:required/> +        [ <a href="" ng:click="form.contacts.$remove(contact)">X</a> ] +     </div> +   <button ng:click="cancel()" disabled="{{master.$equals(form)}}">Cancel</button> +   <button ng:click="save()" disabled="{{$invalidWidgets.visible() ||  master.$equals(form)}}">Save</button> -    <hr/> -    Debug View: -    <pre>form={{form}} -    master={{master}}</pre> -    </div> - </doc:source> - <doc:scenario> +   <hr/> +   Debug View: +   <pre>form={{form}} +   master={{master}}</pre> +   </div> +</doc:source> +<doc:scenario>    it('should enable save button', function(){      expect(element(':button:contains(Save)').attr('disabled')).toBeTruthy();      input('form.name').enter(''); @@ -100,7 +100,7 @@ master.$equals(form)}}">Save</button>      expect(element(':button:contains(Cancel)').attr('disabled')).toBeTruthy();      expect(element(':input[name=form.name]').val()).toEqual('John Smith');    }); - </doc:scenario> +</doc:scenario>  </doc:example> @@ -109,15 +109,10 @@ master.$equals(form)}}">Save</button>  #Things to notice -* Cancel & save buttons are only enabled if the form is dirty -- there is something to cancel or -  save. +* Cancel & save buttons are only enabled if the form is dirty — there is something to cancel or +save.  * Save button is only enabled if there are no validation errors on the form.  * Cancel reverts the form changes back to original state.  * Save updates the internal model of the form.  * Debug view shows the two models. One presented to the user form and the other being the pristine -  copy master. - - - - - +copy master.  | 
