aboutsummaryrefslogtreecommitdiffstats
path: root/docs/angular.filter.ngdoc
diff options
context:
space:
mode:
Diffstat (limited to 'docs/angular.filter.ngdoc')
-rw-r--r--docs/angular.filter.ngdoc76
1 files changed, 76 insertions, 0 deletions
diff --git a/docs/angular.filter.ngdoc b/docs/angular.filter.ngdoc
new file mode 100644
index 00000000..9d1191c5
--- /dev/null
+++ b/docs/angular.filter.ngdoc
@@ -0,0 +1,76 @@
+@workInProgress
+@ngdoc overview
+@name angular.filter
+@namespace Namespace for all filters.
+@description
+# Overview
+Filters are a standard way to format your data for display to the user. For example, you
+might have the number 1234.5678 and would like to display it as US currency: $1,234.57.
+Filters allow you to do just that. In addition to transforming the data, filters also modify
+the DOM. This allows the filters to for example apply css styles to the filtered output if
+certain conditions were met.
+
+
+# Standard Filters
+
+The Angular framework provides a standard set of filters for common operations, including:
+{@link angular.filter.currency currency}, {@link angular.filter.json json},
+{@link angular.filter.number number}, and {@link angular.filter.html html}. You can also add
+your own filters.
+
+
+# Syntax
+
+Filters can be part of any {@link angular.scope} evaluation but are typically used with
+{{bindings}}. Filters typically transform the data to a new data type, formating the data in
+the process. Filters can be chained and take optional arguments. Here are few examples:
+
+* No filter: {{1234.5678}} => 1234.5678
+* Number filter: {{1234.5678|number}} => 1,234.57. Notice the “,” and rounding to two
+ significant digits.
+* Filter with arguments: {{1234.5678|number:5}} => 1,234.56780. Filters can take optional
+ arguments, separated by colons in a binding. To number, the argument “5” requests 5 digits
+ to the right of the decimal point.
+
+
+# Writing your own Filters
+
+Writing your own filter is very easy: just define a JavaScript function on `angular.filter`.
+The framework passes in the input value as the first argument to your function. Any filter
+arguments are passed in as additional function arguments.
+
+You can use these variables in the function:
+
+* `this` — The current scope.
+* `this.$element` — The DOM element containing the binding. This allows the filter to manipulate
+ the DOM in addition to transforming the input.
+
+
+@exampleDescription
+ The following example filter reverses a text string. In addition, it conditionally makes the
+ text upper-case (to demonstrate optional arguments) and assigns color (to demonstrate DOM
+ modification).
+
+@example
+ <script type="text/javascript">
+ angular.filter('reverse', function(input, uppercase, color) {
+ var out = "";
+ for (var i = 0; i < input.length; i++) {
+ out = input.charAt(i) + out;
+ }
+ if (uppercase) {
+ out = out.toUpperCase();
+ }
+ if (color) {
+ this.$element.css('color', color);
+ }
+ return out;
+ });
+ </script>
+
+ <input name="text" type="text" value="hello" /><br>
+ No filter: {{text}}<br>
+ Reverse: {{text|reverse}}<br>
+ Reverse + uppercase: {{text|reverse:true}}<br>
+ Reverse + uppercase + blue: {{text|reverse:true:"blue"}}
+