diff options
Diffstat (limited to 'solr-8.3.1/server/solr-webapp/webapp/libs/ngtimeago.js')
-rw-r--r-- | solr-8.3.1/server/solr-webapp/webapp/libs/ngtimeago.js | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/solr-8.3.1/server/solr-webapp/webapp/libs/ngtimeago.js b/solr-8.3.1/server/solr-webapp/webapp/libs/ngtimeago.js new file mode 100644 index 000000000..5592402f3 --- /dev/null +++ b/solr-8.3.1/server/solr-webapp/webapp/libs/ngtimeago.js @@ -0,0 +1,101 @@ +/* +Copyright (c) 2014 Uttesh Kumar + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ +'use strict'; + +var catalyst = angular.module('ngtimeago', []); + + +catalyst.filter('timeago', function() { + return function(input, p_allowFuture) { + + if (input === undefined) { + return "-"; + } + + var substitute = function (stringOrFunction, number, strings) { + var string = angular.isFunction(stringOrFunction) ? stringOrFunction(number, dateDifference) : stringOrFunction; + var value = (strings.numbers && strings.numbers[number]) || number; + return string.replace(/%d/i, value); + }, + nowTime = (new Date()).getTime(), + date = (new Date(input)).getTime(), + //refreshMillis= 6e4, //A minute + allowFuture = p_allowFuture || false, + strings= { + prefixAgo: ' ', + prefixFromNow: '', + suffixAgo: "ago", + suffixFromNow: "from now", + seconds: "less than a minute", + minute: "about a minute", + minutes: "%d minutes", + hour: "about an hour", + hours: "about %d hours", + day: "a day", + days: "%d days", + month: "about a month", + months: "%d months", + year: "about a year", + years: "%d years" + }, + dateDifference = nowTime - date, + words, + seconds = Math.abs(dateDifference) / 1000, + minutes = seconds / 60, + hours = minutes / 60, + days = hours / 24, + years = days / 365, + separator = strings.wordSeparator === undefined ? " " : strings.wordSeparator, + + + prefix = strings.prefixAgo, + suffix = strings.suffixAgo; + + if (allowFuture) { + if (dateDifference < 0) { + prefix = strings.prefixFromNow; + suffix = strings.suffixFromNow; + } + } + + words = seconds < 45 && substitute(strings.seconds, Math.round(seconds), strings) || + seconds < 90 && substitute(strings.minute, 1, strings) || + minutes < 45 && substitute(strings.minutes, Math.round(minutes), strings) || + minutes < 90 && substitute(strings.hour, 1, strings) || + hours < 24 && substitute(strings.hours, Math.round(hours), strings) || + hours < 42 && substitute(strings.day, 1, strings) || + days < 30 && substitute(strings.days, Math.round(days), strings) || + days < 45 && substitute(strings.month, 1, strings) || + days < 365 && substitute(strings.months, Math.round(days / 30), strings) || + years < 1.5 && substitute(strings.year, 1, strings) || + substitute(strings.years, Math.round(years), strings); + console.log(words+" "+prefix+suffix); + prefix.replace(/ /g, '') + words.replace(/ /g, '') + suffix.replace(/ /g, '') + return (prefix+' '+words+' '+suffix+' '+separator); + }; + }); + + + |