Difference between revisions of "MediaWiki:Common.js"

(Created page with "Any JavaScript here will be loaded for all users on every page load.: function Pager(tableName, itemsPerPage) { this.tableName = tableName; this.itemsPerPage = itemsPer...")
 
m
 
(29 intermediate revisions by the same user not shown)
Line 1: Line 1:
/* Any JavaScript here will be loaded for all users on every page load. */
+
// window.onload = function() {
 
+
countUpFromTime2("Jan 12, 2015 15:19:00", 'countup1',"Oct 17, 2022 08:48:00", 'countup2');
 +
// };
 +
function countUpFromTime2(countFrom1, id1, countFrom2, id2) {
 +
  countUpFromTime(countFrom1, id1);
 +
  countUpFromTime(countFrom2, id2);
 +
  clearTimeout(countUpFromTime2.interval);
 +
  countUpFromTime.interval = setTimeout(function(){ countUpFromTime2(countFrom1, id1, countFrom2, id2); }, 1000);
 +
}
 +
function countUpFromTime(countFrom, id) {
 +
  countFrom = new Date(countFrom).getTime();
 +
  var now = new Date(),
 +
      countFrom = new Date(countFrom),
 +
      timeDifference = (now - countFrom);
 +
   
 +
  var secondsInADay = 60 * 60 * 1000 * 24,
 +
      secondsInAHour = 60 * 60 * 1000;
 +
   
 +
  days = Math.floor(timeDifference / (secondsInADay) * 1);
 +
  years = Math.floor(days / 365);
 +
  if (years >= 1){ days = days - (years * 365) }
 +
  hours = Math.floor((timeDifference % (secondsInADay)) / (secondsInAHour) * 1);
 +
  mins = Math.floor(((timeDifference % (secondsInADay)) % (secondsInAHour)) / (60 * 1000) * 1);
 +
  secs = Math.floor((((timeDifference % (secondsInADay)) % (secondsInAHour)) % (60 * 1000)) / 1000 * 1);
  
function Pager(tableName, itemsPerPage) {
+
  var idEl = document.getElementById(id);
this.tableName = tableName;
+
  if (idEl != null) {
this.itemsPerPage = itemsPerPage;
+
    idEl.getElementsByClassName('years')[0].innerHTML = years;
this.currentPage = 1;
+
    idEl.getElementsByClassName('days')[0].innerHTML = days;
this.pages = 0;
+
    idEl.getElementsByClassName('hours')[0].innerHTML = hours;
this.inited = false;
+
    idEl.getElementsByClassName('minutes')[0].innerHTML = mins;
this.showRecords = function(from, to) {
+
    idEl.getElementsByClassName('seconds')[0].innerHTML = secs;
var rows = document.getElementById(tableName).rows;
+
  }
for (var i = 1; i < rows.length; i++) {
 
if (i < from || i > to)
 
rows[i].style.display = 'none';
 
else
 
rows[i].style.display = '';
 
}
 
}
 
this.showPage = function(pageNumber) {
 
if (! this.inited) {
 
alert("not inited");
 
return;
 
}
 
var oldPageAnchor = document.getElementById('pg'+this.currentPage);
 
oldPageAnchor.className = 'pg-normal';
 
this.currentPage = pageNumber;
 
var newPageAnchor = document.getElementById('pg'+this.currentPage);
 
newPageAnchor.className = 'pg-selected';
 
var from = (pageNumber - 1) * itemsPerPage + 1;
 
var to = from + itemsPerPage - 1;
 
this.showRecords(from, to);
 
}
 
this.prev = function() {
 
if (this.currentPage > 1)
 
this.showPage(this.currentPage - 1);
 
}
 
this.next = function() {
 
if (this.currentPage < this.pages) {
 
this.showPage(this.currentPage + 1);
 
}
 
}
 
this.init = function() {
 
var rows = document.getElementById(tableName).rows;
 
var records = (rows.length - 1);
 
this.pages = Math.ceil(records / itemsPerPage);
 
this.inited = true;
 
}
 
this.showPageNav = function(pagerName, positionId) {
 
if (! this.inited) {
 
alert("not inited");
 
return;
 
 
}
 
}
var element = document.getElementById(positionId);
 
var pagerHtml = '<span onclick="' + pagerName + '.prev();" class="pg-normal"> « Prev </span> ';
 
for (var page = 1; page <= this.pages; page++)
 
pagerHtml += '<span id="pg' + page + '" class="pg-normal" onclick="' + pagerName + '.showPage(' + page + ');">' + page + '</span> ';
 
pagerHtml += '<span onclick="'+pagerName+'.next();" class="pg-normal"> Next »</span>';
 
element.innerHTML = pagerHtml;
 
}
 
}
 
 
 
var pager = new Pager('tablepaging', 5);
 
pager.init();
 
pager.showPageNav('pager', 'pageNavPosition');
 
pager.showPage(1);
 

Latest revision as of 20:42, 17 December 2023

// window.onload = function() {
countUpFromTime2("Jan 12, 2015 15:19:00", 'countup1',"Oct 17, 2022 08:48:00", 'countup2'); 
// };
function countUpFromTime2(countFrom1, id1, countFrom2, id2) {
  countUpFromTime(countFrom1, id1);
  countUpFromTime(countFrom2, id2);
  clearTimeout(countUpFromTime2.interval);
  countUpFromTime.interval = setTimeout(function(){ countUpFromTime2(countFrom1, id1, countFrom2, id2); }, 1000);
}
function countUpFromTime(countFrom, id) {
  countFrom = new Date(countFrom).getTime();
  var now = new Date(),
      countFrom = new Date(countFrom),
      timeDifference = (now - countFrom);
    
  var secondsInADay = 60 * 60 * 1000 * 24,
      secondsInAHour = 60 * 60 * 1000;
    
  days = Math.floor(timeDifference / (secondsInADay) * 1);
  years = Math.floor(days / 365);
  if (years >= 1){ days = days - (years * 365) }
  hours = Math.floor((timeDifference % (secondsInADay)) / (secondsInAHour) * 1);
  mins = Math.floor(((timeDifference % (secondsInADay)) % (secondsInAHour)) / (60 * 1000) * 1);
  secs = Math.floor((((timeDifference % (secondsInADay)) % (secondsInAHour)) % (60 * 1000)) / 1000 * 1);

  var idEl = document.getElementById(id);
  if (idEl != null) {
    idEl.getElementsByClassName('years')[0].innerHTML = years;
    idEl.getElementsByClassName('days')[0].innerHTML = days;
    idEl.getElementsByClassName('hours')[0].innerHTML = hours;
    idEl.getElementsByClassName('minutes')[0].innerHTML = mins;
    idEl.getElementsByClassName('seconds')[0].innerHTML = secs;
  }
}