aboutsummaryrefslogtreecommitdiff
path: root/solr-8.3.1/server/solr-webapp/webapp/libs/ngtimeago.js
diff options
context:
space:
mode:
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.js101
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);
+ };
+ });
+
+
+