summaryrefslogtreecommitdiffstats
path: root/docs/release/scripts/minimaws/lib/assets/common.js
diff options
context:
space:
mode:
Diffstat (limited to 'docs/release/scripts/minimaws/lib/assets/common.js')
-rw-r--r--docs/release/scripts/minimaws/lib/assets/common.js78
1 files changed, 78 insertions, 0 deletions
diff --git a/docs/release/scripts/minimaws/lib/assets/common.js b/docs/release/scripts/minimaws/lib/assets/common.js
new file mode 100644
index 00000000000..79200217ddb
--- /dev/null
+++ b/docs/release/scripts/minimaws/lib/assets/common.js
@@ -0,0 +1,78 @@
+// license:BSD-3-Clause
+// copyright-holders:Vas Crabb
+
+function sort_table(tbl, col, dir, numeric)
+{
+ var tbody = tbl.tBodies[0];
+ var trows = Array.prototype.slice.call(tbody.rows, 0).sort(
+ function (x, y)
+ {
+ if (numeric)
+ return dir * (parseInt(x.cells[col].textContent) - parseInt(y.cells[col].textContent));
+ else
+ return dir * x.cells[col].textContent.localeCompare(y.cells[col].textContent);
+ })
+ trows.forEach(function (row) { tbody.appendChild(row); });
+}
+
+
+function make_table_sortable(tbl)
+{
+ var headers = tbl.tHead.rows[0].cells;
+ for (var i = 0; i < headers.length; i++)
+ {
+ (function (col)
+ {
+ var dir = 1;
+ var sorticon = document.createElement('img');
+ sorticon.setAttribute('src', assetsurl + '/sortind.png');
+ sorticon.style.cssFloat = 'right';
+ sorticon.style.marginLeft = '0.5em';
+ headers[col].appendChild(sorticon);
+ headers[col].addEventListener(
+ 'click',
+ function (event)
+ {
+ var imgsrc = sorticon.getAttribute('src');
+ imgsrc = imgsrc.substr(imgsrc.lastIndexOf('/') + 1);
+ if (imgsrc != 'sortind.png')
+ dir = -dir;
+ if (dir < 0)
+ sorticon.setAttribute('src', assetsurl + '/sortdesc.png');
+ else
+ sorticon.setAttribute('src', assetsurl + '/sortasc.png');
+ for (var i = 0; i < headers.length; i++)
+ {
+ if (i != col)
+ headers[i].lastChild.setAttribute('src', assetsurl + '/sortind.png');
+ }
+ sort_table(tbl, col, dir, headers[col].getAttribute('class') == 'numeric');
+ });
+ }(i));
+ }
+}
+
+
+function make_restore_default_handler(popup, index)
+{
+ return function (event)
+ {
+ if (popup.selectedIndex != index)
+ {
+ popup.selectedIndex = index;
+ popup.dispatchEvent(new Event('change'));
+ }
+ }
+}
+
+
+function make_restore_default_button(title, id, popup, index)
+{
+ var btn = document.createElement('button');
+ btn.setAttribute('id', id);
+ btn.setAttribute('type', 'button');
+ btn.disabled = popup.selectedIndex == index;
+ btn.textContent = title;
+ btn.onclick = make_restore_default_handler(popup, index);
+ return btn;
+}