From b0df1f66c409be2d1067eaf40814ad88c9cf156d Mon Sep 17 00:00:00 2001 From: lalanza808 Date: Mon, 29 Aug 2022 11:01:26 -0700 Subject: [PATCH] add simple sorting if javascript enabled (#16) --- xmrnodes/static/js/sort-table.min.js | 10 ++++++++++ xmrnodes/templates/index.html | 27 +++++++++++++++------------ 2 files changed, 25 insertions(+), 12 deletions(-) create mode 100644 xmrnodes/static/js/sort-table.min.js diff --git a/xmrnodes/static/js/sort-table.min.js b/xmrnodes/static/js/sort-table.min.js new file mode 100644 index 0000000..6276494 --- /dev/null +++ b/xmrnodes/static/js/sort-table.min.js @@ -0,0 +1,10 @@ +/* Copyright (c) 2006-2019 Tyler Uebele * Released under the MIT license. * latest at https://github.com/stationer/sSortTable/ * minified by Google Closure Compiler */ +function sortTable(a,b,c){sortTable.sortCol=-1;var d=a.className.match(/js-sort-\d+/);null!=d&&(sortTable.sortCol=d[0].replace(/js-sort-/,""),a.className=a.className.replace(new RegExp(" ?"+d[0]+"\\b"),""));"undefined"===typeof b&&(b=sortTable.sortCol);"undefined"!==typeof c?sortTable.sortDir=-1==c||"desc"==c?-1:1:(d=a.className.match(/js-sort-(a|de)sc/),sortTable.sortDir=null!=d&&sortTable.sortCol==b?"js-sort-asc"==d[0]?-1:1:1);a.className=a.className.replace(/ ?js-sort-(a|de)sc/g,"");a.className+= +" js-sort-"+b;sortTable.sortCol=b;a.className+=" js-sort-"+(-1==sortTable.sortDir?"desc":"asc");bb?1:-1)};sortTable.stripTags=function(a){return a.replace(/<\/?[a-z][a-z0-9]*\b[^>]*>/gi,"")}; +sortTable.date=function(a){return"undefined"!==typeof okDate?(a=okDate(sortTable.stripTags(a.innerHTML)))?a.getTime():0:(new Date(sortTable.stripTags(a.innerHTML))).getTime()||0};sortTable.number=function(a){return Number(sortTable.stripTags(a.innerHTML).replace(/[^-\d.]/g,""))};sortTable.string=function(a){return sortTable.stripTags(a.innerHTML).toLowerCase()};sortTable.raw=function(a){return a.innerHTML};sortTable.last=function(a){return sortTable.stripTags(a.innerHTML).split(" ").pop().toLowerCase()}; +sortTable.input=function(a){for(var b=0;b .js-sort-active:not(.js-sort-none):after {content: "\\25b2";font-size: 0.7em;padding-left: 3px;line-height: 0.7em;}', +0);c.insertRule('table.js-sort-table.js-sort-desc thead tr > .js-sort-active:not(.js-sort-none):after {content: "\\25bc";font-size: 0.7em;padding-left: 3px;line-height: 0.7em;}',0)};window.addEventListener?window.addEventListener("load",sortTable.init,!1):window.attachEvent&&window.attachEvent("onload",sortTable.init);"function"!==typeof NodeList.prototype.forEach&&(NodeList.prototype.forEach=Array.prototype.forEach); diff --git a/xmrnodes/templates/index.html b/xmrnodes/templates/index.html index af44227..2b538f3 100644 --- a/xmrnodes/templates/index.html +++ b/xmrnodes/templates/index.html @@ -2,6 +2,7 @@ {% block content %} +
@@ -62,23 +63,24 @@ {% endif %}


- +
- - - - - - - - + + + + + + + + {% for node in nodes %} - + + - - +
URLAvailableWeb
Compatible
NetworkDate AddedHeightLast CheckedHistoryURLHeightAvailableWeb
Compatible
NetworkDate AddedLast CheckedHistory
{% if node.is_tor %}{% endif %}{{ node.url }}{{ node.last_height }} {% if node.available %} @@ -94,8 +96,7 @@ {% endif %} {{ node.nettype }}{{ node.datetime_entered.strftime('%Y-%m-%d %H:%M') }} UTC
({{ node.datetime_entered | humanize }})
{{ node.last_height }}{{ node.datetime_entered | humanize }} {{ node.datetime_checked | humanize }} {% for hc in node.healthchecks %} {% if loop.index > loop.length - 6 %} @@ -115,4 +116,6 @@ + + {% endblock %}