filters:{
date(str,format){
let date = new Date();
date.setTime(str*1000);
return format
.replace('YYYY', `${date.getFullYear()}`)
.replace('YY', `${date.getFullYear() % 100}`)
.replace('MM', `${date.getMonth()}`.padStart(2, '0'))
.replace('M', `${date.getMonth() + 1}`)
.replace('DD', `${date.getDate()}`.padStart(2, '0'))
.replace('D', `${date.getDate()}`)
.replace('HH', `${date.getHours()}`.padStart(2, '0'))
.replace('H', `${date.getHours()}`)
.replace('hh', `${date.getHours() % 12}`.padStart(2, '0'))
.replace('h', `${date.getHours() % 12}`)
.replace('A', date.getHours() < 12 ? 'AM' : 'PM')
.replace('a', date.getHours() < 12 ? 'am' : 'pm')
.replace('mm', `${date.getMinutes()}`.padStart(2, '0'))
.replace('m', `${date.getMinutes()}`)
.replace('ss', `${date.getSeconds()}`.padStart(2, '0'))
.replace('s', `${date.getSeconds()}`);
},
truncate(text,length, clamp){
text = text || '';
clamp = clamp || '...';
length = length || 30;
if (text.length <= length) return text;
var tcText = text.slice(0, length - clamp.length);
var last = tcText.length - 1;
while (last > 0 && tcText[last] !== ' ' && tcText[last] !== clamp[0]) last -= 1;
// Fix for case when text dont have any `space`
last = last || length - clamp.length;
tcText = tcText.slice(0, last);
return tcText + clamp;
},
formatSize:function(size){
if (size > 1024 * 1024 * 1024 * 1024) {
return (size / 1024 / 1024 / 1024 / 1024).toFixed(2) + ' TB'
} else if (size > 1024 * 1024 * 1024) {
return (size / 1024 / 1024 / 1024).toFixed(2) + ' GB'
} else if (size > 1024 * 1024) {
return (size / 1024 / 1024).toFixed(2) + ' MB'
} else if (size > 1024) {
return (size / 1024).toFixed(2) + ' KB'
}
return size.toString() + ' B'
},
highlight(words,query){
return words.replace(query, '<i class="text-danger">' + query + '</i>')
}
}