apollodec/Apollo/bower_components/angular-truncate/src/truncate.js
venbatechnologies@gmail.com d06b1c0cba status file
2017-12-07 11:31:25 +05:30

50 lines
1.7 KiB
JavaScript
Executable File

angular.module('truncate', [])
.filter('characters', function () {
return function (input, chars, breakOnWord) {
if (isNaN(chars)) return input;
if (chars <= 0) return '';
if (input && input.length > chars) {
input = input.substring(0, chars);
if (!breakOnWord) {
var lastspace = input.lastIndexOf(' ');
//get last space
if (lastspace !== -1) {
input = input.substr(0, lastspace);
}
}else{
while(input.charAt(input.length-1) === ' '){
input = input.substr(0, input.length -1);
}
}
return input + '…';
}
return input;
};
})
.filter('splitcharacters', function() {
return function (input, chars) {
if (isNaN(chars)) return input;
if (chars <= 0) return '';
if (input && input.length > chars) {
var prefix = input.substring(0, chars/2);
var postfix = input.substring(input.length-chars/2, input.length);
return prefix + '...' + postfix;
}
return input;
};
})
.filter('words', function () {
return function (input, words) {
if (isNaN(words)) return input;
if (words <= 0) return '';
if (input) {
var inputWords = input.split(/\s+/);
if (inputWords.length > words) {
input = inputWords.slice(0, words).join(' ') + '…';
}
}
return input;
};
});