From ee4f00dc824703ad7f90063739fb69bb2bbbd71d Mon Sep 17 00:00:00 2001 From: Tad Hardesty Date: Mon, 30 Jul 2018 02:25:21 -0700 Subject: [PATCH] Speed up VV searching --- code/datums/datumvars.dm | 42 ++++++++++++++++++---------------------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index 547d82dd1dc..6f1471d8062 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -239,33 +239,28 @@ return } - //This part here resets everything to how it was at the start so the filter is applied to the complete list. Screw efficiency, it's client-side anyway and it only looks through 200 or so variables at maximum anyway (mobs). - if(complete_list != null && complete_list != ""){ - var vars_ol1 = document.getElementById("vars"); - vars_ol1.innerHTML = complete_list + //This part here resets everything to how it was at the start so the filter is applied to the complete list. + //>"Screw efficiency, it's client-side anyway and it only looks through 200 or so variables at maximum anyway (mobs)." + //>proceeds to put 600 variables on GLOB + var vars_ol = document.getElementById("vars"); + while (vars_ol.hasChildNodes()) { + vars_ol.removeChild(vars_ol.lastChild); } + document.cookie="[refid][cookieoffset]search="+encodeURIComponent(filter); - if(filter == ""){ - return; - }else{ - var vars_ol = document.getElementById('vars'); - var lis = vars_ol.getElementsByTagName("li"); - for ( var i = 0; i < lis.length; ++i ) - { - try{ - var li = lis\[i\]; - if ( li.innerText.toLowerCase().indexOf(filter) == -1 ) - { - vars_ol.removeChild(li); - i--; - } - }catch(err) { } - } + for (var i = 0; i < complete_list.length; ++i) { + try { + var li = complete_list\[i\]; + if (!filter || li.innerText.toLowerCase().indexOf(filter) != -1) + { + vars_ol.appendChild(li); + } + } catch(err) {} } var lis_new = vars_ol.getElementsByTagName("li"); for ( var j = 0; j < lis_new.length; ++j ) { - var li1 = lis\[j\]; + var li1 = lis_new\[j\]; if (j == 0){ li1.style.backgroundColor = "#ffee88"; }else{ @@ -363,8 +358,9 @@ [variable_html.Join()]