diff options
| author | Igor Minar | 2010-11-23 11:05:28 -0800 | 
|---|---|---|
| committer | Igor Minar | 2010-11-23 11:05:28 -0800 | 
| commit | b94600d71e90a9f93e507b2cac0ffc2c55e7857a (patch) | |
| tree | d058a23533d2545dde23f635e45097828a001e2e /src/apis.js | |
| parent | 3e5a4ef86c1f1221053eacb1a3a2eeb3da7d018d (diff) | |
| download | angular.js-b94600d71e90a9f93e507b2cac0ffc2c55e7857a.tar.bz2 | |
adding docs for angular.Array.add
Diffstat (limited to 'src/apis.js')
| -rw-r--r-- | src/apis.js | 60 | 
1 files changed, 60 insertions, 0 deletions
| diff --git a/src/apis.js b/src/apis.js index f687a471..6dd41fc4 100644 --- a/src/apis.js +++ b/src/apis.js @@ -167,6 +167,66 @@ var angularArray = {     * @ngdoc function     * @name angular.Array.add     * @function +   * +   * @description +   * `add` is a function similar to JavaScript's `Array#push` method, in that it appends a new +   * element to an array, but it differs in that the value being added is optional and defaults to +   * an emty object. +   * +   * Note: this function is used to augment the Array type in angular expressions. See +   * {@link angular.Array} for more info. +   * +   * @param {Array} array The array expand. +   * @param {*=} [value={}] The value to be added. +   * @returns {Array} The expanded array. +   * +   * @exampleDescription +   * This example shows how an initially empty array can be filled with objects created from user +   * input via the `$add` method. +   * +   * @example +     [<a href="" ng:click="people.$add()">add empty</a>] +     [<a href="" ng:click="people.$add({name:'John', sex:'male'})">add 'John'</a>] +     [<a href="" ng:click="people.$add({name:'Mary', sex:'female'})">add 'Mary'</a>] + +     <ul ng:init="people=[]"> +       <li ng:repeat="person in people"> +         <input name="person.name"> +         <select name="person.sex"> +           <option value="">--chose one--</option> +           <option>male</option> +           <option>female</option> +         </select> +         [<a href="" ng:click="people.$remove(person)">X</a>] +       </li> +     </ul> +     <pre>people = {{people}}</pre> + +     @scenario +     beforeEach(function() { +        expect(binding('people')).toBe('people = []'); +     }); + +     it('should create an empty record when "add empty" is clicked', function() { +       element('.doc-example a:contains("add empty")').click(); +       expect(binding('people')).toBe('people = [{\n  "name":"",\n  "sex":null}]'); +     }); + +     it('should create a "John" record when "add \'John\'" is clicked', function() { +       element('.doc-example a:contains("add \'John\'")').click(); +       expect(binding('people')).toBe('people = [{\n  "name":"John",\n  "sex":"male"}]'); +     }); + +     it('should create a "Mary" record when "add \'Mary\'" is clicked', function() { +       element('.doc-example a:contains("add \'Mary\'")').click(); +       expect(binding('people')).toBe('people = [{\n  "name":"Mary",\n  "sex":"female"}]'); +     }); + +     it('should delete a record when "X" is clicked', function() { +        element('.doc-example a:contains("add empty")').click(); +        element('.doc-example li a:contains("X"):first').click(); +        expect(binding('people')).toBe('people = []'); +     });     */    'add':function(array, value) {      array.push(isUndefined(value)? {} : value); | 
