From c3d99d68da512f8dbd8310cde348ceda68ebed95 Mon Sep 17 00:00:00 2001
From: Igor Minar
Date: Tue, 23 Nov 2010 17:14:04 -0800
Subject: docs for angular.Array.filter
---
src/apis.js | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 68 insertions(+)
(limited to 'src')
diff --git a/src/apis.js b/src/apis.js
index cb2eaf43..31d2b687 100644
--- a/src/apis.js
+++ b/src/apis.js
@@ -149,6 +149,74 @@ var angularArray = {
* @ngdoc function
* @name angular.Array.filter
* @function
+ *
+ * @description
+ * Selects a subset of items from `array` and returns it as a new array.
+ *
+ * @param {Array} array The source array.
+ * @param {string|Object|function()} expression The predicate to be used for selecting items from
+ * `array`.
+ *
+ * Can be one of:
+ *
+ * - `string`: Predicate that results in a substring match using the value of `expression`
+ * string. All strings or objects with string properties in `array` that contain this string
+ * will be returned. The predicate can be negated by prefixing the string with `!`.
+ *
+ * - `Object`: A pattern object can be used to filter specific properties on objects contained
+ * by `array`. For example `{name:"M", phone:"1"}` predicate will return an array of items
+ * which have property `name` containing "M" and property `phone` containing "1". A special
+ * property name `$` can be used (as in `{$:"text"}`) to accept a match against any
+ * property of the object. That's equivalent to the simple substring match with a `string`
+ * as described above.
+ *
+ * - `function`: A predicate function can be used to write arbitrary filters. The function is
+ * called for each element of `array`. The final result is an array of those elements that
+ * the predicate returned true for.
+ *
+ * @example
+
+
+ Search:
+
+
Name
Phone
+
+
{{friend.name}}
+
{{friend.phone}}
+
+
+
+ Any:
+ Name only
+ Phone only
+
+
Name
Phone
+
+
{{friend.name}}
+
{{friend.phone}}
+
+
+
+ @scenario
+ it('should search across all fields when filtering with a string', function() {
+ input('searchText').enter('m');
+ expect(repeater('#searchTextResults tr', 'friend in friends').column('name')).
+ toEqual(['Mary', 'Mike', 'Adam']);
+
+ input('searchText').enter('76');
+ expect(repeater('#searchTextResults tr', 'friend in friends').column('name')).
+ toEqual(['John', 'Julie']);
+ });
+
+ it('should search in specific fields when filtering with a predicate object', function() {
+ input('search.$').enter('i');
+ expect(repeater('#searchObjResults tr', 'friend in friends').column('name')).
+ toEqual(['Mary', 'Mike', 'Julie']);
+ });
*/
'filter':function(array, expression) {
var predicates = [];
--
cgit v1.2.3