Skip to content

Commit cb772b5

Browse files
committed
Refactored filters to fit ES6 syntax
1 parent 9722ab5 commit cb772b5

8 files changed

+89
-100
lines changed

angular/filters/capitalize.filter.js

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
1-
(function(){
2-
"use strict";
3-
4-
angular.module('app.filters').filter( 'capitalize', function(){
5-
return function(input) {
6-
return (input) ? input.replace(/([^\W_]+[^\s-]*) */g,function(txt){
7-
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
8-
}) : '';
9-
};
10-
});
11-
})();
1+
export function CapitalizeFilter() {
2+
return function(input) {
3+
return (input) ? input.replace(/([^\W_]+[^\s-]*) */g, function(txt) {
4+
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
5+
}) : '';
6+
};
7+
}
Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,12 @@
1-
(function(){
2-
"use strict";
3-
4-
angular.module('app.filters').filter( 'humanReadable', function(){
5-
return function humanize(str) {
6-
if ( !str ){
7-
return '';
8-
}
9-
var frags = str.split('_');
10-
for (var i=0; i<frags.length; i++) {
11-
frags[i] = frags[i].charAt(0).toUpperCase() + frags[i].slice(1);
12-
}
13-
return frags.join(' ');
14-
};
15-
});
16-
})();
1+
export function HumanReadableFilter() {
2+
return function humanize(str) {
3+
if (!str) {
4+
return '';
5+
}
6+
var frags = str.split('_');
7+
for (var i = 0; i < frags.length; i++) {
8+
frags[i] = frags[i].charAt(0).toUpperCase() + frags[i].slice(1);
9+
}
10+
return frags.join(' ');
11+
};
12+
}
Lines changed: 26 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,27 @@
1-
(function(){
2-
'use strict';
1+
export function TruncatCharactersFilter() {
2+
return function(input, chars, breakOnWord) {
3+
if (isNaN(chars)) {
4+
return input;
5+
}
6+
if (chars <= 0) {
7+
return '';
8+
}
9+
if (input && input.length > chars) {
10+
input = input.substring(0, chars);
311

4-
angular.module('app.filters').filter('truncateCharacters', function () {
5-
return function (input, chars, breakOnWord) {
6-
if (isNaN(chars)) {
7-
return input;
8-
}
9-
if (chars <= 0) {
10-
return '';
11-
}
12-
if (input && input.length > chars) {
13-
input = input.substring(0, chars);
14-
15-
if (!breakOnWord) {
16-
var lastspace = input.lastIndexOf(' ');
17-
// Get last space
18-
if (lastspace !== -1) {
19-
input = input.substr(0, lastspace);
20-
}
21-
} else {
22-
while (input.charAt(input.length-1) === ' ') {
23-
input = input.substr(0, input.length - 1);
24-
}
25-
}
26-
return input + '...';
27-
}
28-
return input;
29-
};
30-
});
31-
})();
12+
if (!breakOnWord) {
13+
var lastspace = input.lastIndexOf(' ');
14+
// Get last space
15+
if (lastspace !== -1) {
16+
input = input.substr(0, lastspace);
17+
}
18+
} else {
19+
while (input.charAt(input.length - 1) === ' ') {
20+
input = input.substr(0, input.length - 1);
21+
}
22+
}
23+
return input + '...';
24+
}
25+
return input;
26+
};
27+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
export function TruncateWordsFilter() {
2+
return function(input, words) {
3+
if (isNaN(words)) {
4+
return input;
5+
}
6+
if (words <= 0) {
7+
return '';
8+
}
9+
if (input) {
10+
var inputWords = input.split(/\s+/);
11+
if (inputWords.length > words) {
12+
input = inputWords.slice(0, words).join(' ') + '...';
13+
}
14+
}
15+
return input;
16+
};
17+
}

angular/filters/truncate_words.js

Lines changed: 0 additions & 21 deletions
This file was deleted.

angular/filters/trust_html.filter.js

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
1-
(function(){
2-
"use strict";
3-
4-
angular.module('app.filters').filter( 'trustHtml', function( $sce ){
5-
return function( html ){
6-
return $sce.trustAsHtml(html);
7-
};
8-
});
9-
})();
1+
export function TrustHtmlFilter($sce) {
2+
return function(html) {
3+
return $sce.trustAsHtml(html);
4+
};
5+
}

angular/filters/ucfirst.filter.js

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,8 @@
1-
(function(){
2-
"use strict";
3-
4-
angular.module('app.filters').filter('ucfirst', function() {
5-
return function( input ) {
6-
if ( !input ){
7-
return null;
8-
}
9-
return input.substring(0, 1).toUpperCase() + input.substring(1);
10-
};
11-
});
12-
13-
})();
1+
export function UcFirstFilter() {
2+
return function(input) {
3+
if (!input) {
4+
return null;
5+
}
6+
return input.substring(0, 1).toUpperCase() + input.substring(1);
7+
};
8+
}

angular/index.filters.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import {CapitalizeFilter} from './filters/capitalize.filter';
2+
import {HumanReadableFilter} from './filters/human_readable.filter';
3+
import {TruncatCharactersFilter} from './filters/truncate_characters.filter';
4+
import {TruncateWordsFilter} from './filters/truncate_words.filter';
5+
import {TrustHtmlFilter} from './filters/trust_html.filter';
6+
import {UcFirstFilter} from './filters/ucfirst.filter';
7+
8+
angular.module('app.filters')
9+
.filter('capitalize', CapitalizeFilter)
10+
.filter('humanReadable', HumanReadableFilter)
11+
.filter('truncateCharacters', TruncatCharactersFilter)
12+
.filter('truncateWords', TruncateWordsFilter)
13+
.filter('trustHtml', TrustHtmlFilter)
14+
.filter('ucfirst', UcFirstFilter);

0 commit comments

Comments
 (0)