]> git.rmz.io Git - dotfiles.git/blobdiff - dwb/greasemonkey/wikipedia.table.filter.user.js
dwb: remove config
[dotfiles.git] / dwb / greasemonkey / wikipedia.table.filter.user.js
diff --git a/dwb/greasemonkey/wikipedia.table.filter.user.js b/dwb/greasemonkey/wikipedia.table.filter.user.js
deleted file mode 100644 (file)
index 2b42d7c..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-// ==UserScript==\r
-// @name           Wikipedia Table filter\r
-// @namespace      benibela\r
-// @include        https?://*.wikipedia.org/wiki/*\r
-// ==/UserScript==\r
-\r
-\r
-var tables = document.getElementsByClassName("wikitable");\r
-var hiddenLists = new Array();\r
-var hiddenNames = new Array();\r
-var hiddenPropertiesDisplay = "";\r
-\r
-if (tables.length > 0) {\r
-\r
-function stringContains(str, list) {\r
-  for (var i=0;i<list.length;i++)\r
-    if (str == list[i] || (list[i] > 3 && str.indexOf(list[i]) >= 0)) return true;\r
-  return false;\r
-}\r
-\r
-function arrayIndexOf(ar, v) {\r
-  for (var i=0;i<ar.length;i++) if (ar[i] == v) return i;\r
-  return -1;\r
-}\r
-function arrayContains(ar, v) {\r
-  for (var i=0;i<ar.length;i++) if (ar[i] == v) return true;\r
-  return false;\r
-}\r
-\r
-function updateHideText(){\r
-  for (var i=0;i<hiddenLists.length;i++)\r
-    hiddenLists[i].innerHTML = "<b>Hidden names:</b> " + (hiddenNames.join(", ")).replace("<", "&lt;")+\r
-                              "<br>"+"<b>Hidden properties: </b>" + (hiddenPropertiesDisplay).replace("<", "&lt;");\r
-}\r
-function updateHide(){\r
-  for (var i=0;i<tables.length;i++) {\r
-    for (var r=0;r<tables[i].rows.length;r++)\r
-      if (tables[i].rows[r].cells[0] && ( stringContains(tables[i].rows[r].cells[0].textContent, hiddenNames)) )\r
-\r
-        tables[i].rows[r].style.display="none";\r
-  }\r
-  updateHideText();\r
-}\r
-\r
-function newButton(){\r
-  var deleteThis = document.createElement("a");\r
-  deleteThis.textContent = "x";\r
-  deleteThis.addEventListener("click", function(e){\r
-    var cell = e.target.parentNode;\r
-    var row = cell.parentNode;\r
-    if (cell == row.cells[0]) {\r
-      if (cell.textContent == "x") {\r
-        row.style.display = "none";  //empty row (repeated table headers, wikipedias idea of filtering)\r
-      } else if (!arrayContains(hiddenNames, cell.textContent)) {\r
-        hiddenNames.push(cell.textContent);\r
-        updateHide();\r
-      }\r
-    } else if (row.parentNode.nodeName == "THEAD" || row.parentNode.nodeName == "TFOOT"\r
-               || (row.parentNode.nodeName == "TBODY" && row.parentNode.parentNode.rows[0] == row)) {\r
-      if (hiddenPropertiesDisplay != "") hiddenPropertiesDisplay += ", ";\r
-      hiddenPropertiesDisplay += " Column("+cell.textContent+") ";\r
-\r
-      var table = row.parentNode.parentNode; //tbody actually\r
-      var pos = arrayIndexOf(row.cells,cell);\r
-      for (var i=0;i<table.rows.length;i++)\r
-        table.rows[i].cells[pos].style.display = "none";\r
-    } else {\r
-      var table = row.parentNode; //tbody actually\r
-      var pos = arrayIndexOf(row.cells,cell);\r
-      var remove = cell.textContent;\r
-      for (var i=0;i<table.rows.length;i++)\r
-        if (table.rows[i].cells[pos] && table.rows[i].cells[pos].textContent == remove) {\r
-          if (!arrayContains(hiddenNames, table.rows[i].cells[0].textContent))\r
-            hiddenNames.push(table.rows[i].cells[0].textContent);\r
-        }\r
-       if (hiddenPropertiesDisplay != "") hiddenPropertiesDisplay += ", ";\r
-       if (table.nodeName == "TBODY") table = table.parentNode;\r
-       hiddenPropertiesDisplay += table.rows[0].cells[pos].textContent + " = " + remove.substr(0, remove.length-1);\r
-\r
-       updateHide();\r
-    }\r
-  });\r
-  deleteThis.className = "delete-this-button";\r
-  return deleteThis;\r
-}\r
-\r
-setTimeout(function(){\r
-for (var i=0;i<tables.length;i++) {\r
-  for (var r=0;r<tables[i].rows.length;r++)\r
-    for (var c=0;c<tables[i].rows[r].cells.length;c++) {\r
-      tables[i].rows[r].cells[c].appendChild(newButton());\r
-    }\r
-  var temp = document.createElement("div");\r
-  tables[i].parentNode.insertBefore(temp, tables[i].nextSibling);\r
-  hiddenLists.push(temp);\r
-}}, 100);\r
-\r
-var head = document.getElementsByTagName("head")[0];\r
-var ele = head.appendChild(window.document.createElement("style"));\r
-ele.innerHTML = ".delete-this-button {flush: right; display: inline-block; 0; bottom: 0; color: red; cursor: pointer}";\r
-\r
-}\r