diff options
| author | Elliott Sprehn | 2010-11-08 23:26:36 -0800 | 
|---|---|---|
| committer | Misko Hevery | 2010-11-09 13:39:12 -0800 | 
| commit | 257e97a65f7dd794faa5d8c0d72bbd5a894cb471 (patch) | |
| tree | 8fa51fbe70c657985e03fdb1762832c3ff913679 /src/scenario/Scenario.js | |
| parent | c048f0d8e8385e96e9fff0b4ff733cecfa726d93 (diff) | |
| download | angular.js-257e97a65f7dd794faa5d8c0d72bbd5a894cb471.tar.bz2 | |
Support substring matching of bindings with repeater(). Closes #123
Diffstat (limited to 'src/scenario/Scenario.js')
| -rw-r--r-- | src/scenario/Scenario.js | 28 | 
1 files changed, 28 insertions, 0 deletions
| diff --git a/src/scenario/Scenario.js b/src/scenario/Scenario.js index fc7150bc..ae1a6760 100644 --- a/src/scenario/Scenario.js +++ b/src/scenario/Scenario.js @@ -294,3 +294,31 @@ function browserTrigger(element, type) {    };  })(_jQuery.fn); +/** + * Finds all bindings with the substring match of name and returns an + * array of their values. + * + * @param {string} name The name to match + * @return {Array.<string>} String of binding values + */ +_jQuery.fn.bindings = function(name) { +  function contains(text, value) { +    return value instanceof RegExp ? +      value.test(text) : +      text && text.indexOf(value) >= 0; +  } +  var result = []; +  this.find('.ng-binding').each(function() { +    var element = new _jQuery(this); +    if (!angular.isDefined(name) || +      contains(element.attr('ng:bind'), name) || +      contains(element.attr('ng:bind-template'), name)) { +      if (element.is('input, textarea')) { +        result.push(element.val()); +      } else { +        result.push(element.html()); +      } +    } +  }); +  return result; +}; | 
