A few days ago I needed to create a custom filter to truncate a piece of text with a specific length and with a custom ending, something like this: “This is an Examp…”.
Before I continue, I want to refer that AngularJS is on version 1.0. At this version the documentation is not yet completed.
The creation of custom filters only needs three things:
- Create the module
 - Create the filter and his function
 - Register the module in the application
 
1. Create the module
1 
 | angular.module('yourModuleName', []) | 
2. Create the filter and his function
1 
2 
3 
4 
5 
6 
 | angular.module('yourModuleName', [])    .filter('yourFilterName', function () {        return function () {            return;        };    }); | 
3. Register the module in the application
1 
 | angular.module('yourAppName', ['yourModuleName']); | 
Example: Truncate Filter
01 
02 
03 
04 
05 
06 
07 
08 
09 
10 
11 
12 
13 
14 
15 
16 
17 
18 
 | angular.module('filters', []).    filter('truncate', function () {        return function (text, length, end) {            if (isNaN(length))                length = 10;            if (end === undefined)                end = "...";            if (text.length <= length || text.length - end.length <= length) {                return text;            }            else {                return String(text).substring(0, length-end.length) + end;            }        };    }); | 
Note: This can not be the best practice implementation, but was the result I achieved and solved my problem.
No comments:
Post a Comment