From 706c2bf28ee15986ff751e7021cb884762c4f1f9 Mon Sep 17 00:00:00 2001 From: AbomDocPhibes Date: Wed, 4 Mar 2026 10:58:22 -0500 Subject: [PATCH 01/12] quotefix --- resources/static/auto-complete.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/static/auto-complete.js b/resources/static/auto-complete.js index e8c29d0..0a9c4bc 100755 --- a/resources/static/auto-complete.js +++ b/resources/static/auto-complete.js @@ -134,7 +134,7 @@ var autoComplete = (function(){ var excapedSearchSeparator = o.searchSeparator.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$]/g, "\\$&"); var splitRegExp = new RegExp(" |" + excapedSearchSeparator,"gi"); var re = new RegExp(search.split(splitRegExp).join('|').replace(/\\\|/gi, "|"), "gi"); - return '
' + item.toString().replace(re, function (x) {return "" + x + "";}) + '
'; + return '
' + item.toString().replace(re, function (x) {return "" + x + "";}) + '
'; }, onSelect: function(e, term, item){ var obj = JSON.parse(item.getAttribute('data-fullval')); From 3aeeb3b40d5c605e999d18fc2e11c4c5428b1724 Mon Sep 17 00:00:00 2001 From: AbomDocPhibes Date: Wed, 4 Mar 2026 12:18:50 -0500 Subject: [PATCH 02/12] Update auto-complete.js --- resources/static/auto-complete.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/static/auto-complete.js b/resources/static/auto-complete.js index 0a9c4bc..14eeb10 100755 --- a/resources/static/auto-complete.js +++ b/resources/static/auto-complete.js @@ -134,7 +134,7 @@ var autoComplete = (function(){ var excapedSearchSeparator = o.searchSeparator.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$]/g, "\\$&"); var splitRegExp = new RegExp(" |" + excapedSearchSeparator,"gi"); var re = new RegExp(search.split(splitRegExp).join('|').replace(/\\\|/gi, "|"), "gi"); - return '
' + item.toString().replace(re, function (x) {return "" + x + "";}) + '
'; + return '
' + item.toString().replace(re, function (x) {return "" + x + "";}) + '
'; }, onSelect: function(e, term, item){ var obj = JSON.parse(item.getAttribute('data-fullval')); From 0cc3ceff5e46bf1fc6872120b539edb1635524af Mon Sep 17 00:00:00 2001 From: AbomDocPhibes Date: Fri, 6 Mar 2026 09:10:03 -0500 Subject: [PATCH 03/12] Update auto-complete.js --- resources/static/auto-complete.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/static/auto-complete.js b/resources/static/auto-complete.js index 14eeb10..8a50dca 100755 --- a/resources/static/auto-complete.js +++ b/resources/static/auto-complete.js @@ -220,13 +220,13 @@ var autoComplete = (function(){ var selectOnHover = window.value; if(selectOnHover == "yes"){ - that.value = this.getAttribute('data-val'); + that.value = decodeURIComponent(this.getAttribute('data-val')); } }, that.sc); live('autocomplete-suggestion', 'mousedown', function(e){ if (hasClass(this, 'autocomplete-suggestion')) { // else outside click - var v = this.getAttribute('data-val'); + var v = decodeURIComponent(this.getAttribute('data-val')); that.value = v; that.last_val = v; that.nchild = 1; @@ -267,7 +267,7 @@ var autoComplete = (function(){ // Auto select the only result found if (options.autoSelect == 'yes' & data.length == 1) { let firstData = that.sc.firstElementChild; - var v = firstData.getAttribute('data-val'); + var v = decodeURIComponent(firstData.getAttribute('data-val')); that.value = v; that.last_val = v; that.nchild = 1; @@ -293,13 +293,13 @@ var autoComplete = (function(){ if (!sel) { next = (key == 40) ? that.sc.querySelector('.autocomplete-suggestion') : that.sc.childNodes[that.sc.childNodes.length - 1]; // first : last next.className += ' selected'; - that.value = next.getAttribute('data-val'); + that.value = decodeURIComponent(next.getAttribute('data-val')); } else { next = (key == 40) ? sel.nextSibling : sel.previousSibling; if (next) { sel.className = sel.className.replace(' selected', ''); next.className += ' selected'; - that.value = next.getAttribute('data-val'); + that.value = decodeURIComponent(next.getAttribute('data-val')); } else { sel.className = sel.className.replace(' selected', ''); that.value = that.last_val; next = 0; } } @@ -310,7 +310,7 @@ var autoComplete = (function(){ else if (key == 27) { that.value = that.last_val; that.sc.style.display = 'none'; } // enter else if (key == 13) { - if (sel && that.sc.style.display != 'none') { o.onSelect(e, sel.getAttribute('data-val'), sel); that.last_val = sel.getAttribute('data-val'); that.nchild = 1; setTimeout(function(){ that.sc.style.display = 'none'; }, 20); } + if (sel && that.sc.style.display != 'none') { o.onSelect(e, decodeURIComponent(sel.getAttribute('data-val')), sel); that.last_val = decodeURIComponent(sel.getAttribute('data-val')); that.nchild = 1; setTimeout(function(){ that.sc.style.display = 'none'; }, 20); } return false; } }; From d54650f88883f14be00b759498d6db4c6a92063e Mon Sep 17 00:00:00 2001 From: AbomDocPhibes Date: Fri, 6 Mar 2026 09:11:35 -0500 Subject: [PATCH 04/12] Update auto-complete.js --- resources/static/auto-complete.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/static/auto-complete.js b/resources/static/auto-complete.js index 8a50dca..048c488 100755 --- a/resources/static/auto-complete.js +++ b/resources/static/auto-complete.js @@ -137,7 +137,7 @@ var autoComplete = (function(){ return '
' + item.toString().replace(re, function (x) {return "" + x + "";}) + '
'; }, onSelect: function(e, term, item){ - var obj = JSON.parse(item.getAttribute('data-fullval')); + var obj = JSON.parse(decodeURIComponent(item.getAttribute('data-fullval'))); if (o.questionType === 'single') { document.getElementById(options.inputName).value = obj.inputValue; From 5d9aacaee807f2f5cc18ec684377254fd09fac35 Mon Sep 17 00:00:00 2001 From: AbomDocPhibes Date: Fri, 6 Mar 2026 09:23:21 -0500 Subject: [PATCH 05/12] Update AutoComplete.adc --- bin/AutoComplete.adc | Bin 18519 -> 16917 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bin/AutoComplete.adc b/bin/AutoComplete.adc index 17201e7b16307d1a0a9f37f92c111e8da29decb0..169498a62dfe980dda2c169a4537d56b95796c8d 100644 GIT binary patch literal 16917 zcmaic19W8D)^2Ruw(X>2r(<--wr$(CZKGq`wv&$Sq?4EPpLg%Mr|bc}t!$-az!iUBUzM4}E!*)zN~ zHO_7i4$c<+lhGr9#HgI&Ykt7YSaR~#;el-6)$;thfkT{>J}%C*S}E!g&N?39+$g5z zS8@Pnz);WvM-=*e7hBL{awz^pQ$l6Nmh?MkRr$IfwyLbCSgF1uTpM$QNqSs_3HxUU zNkHKw8XAm3UCI-g>xmHSUdb9ciGh9x9*o*q^KMzn+pbqU5?rIV^JTwgOoC&~=j!(B z989*m$H2f%PVp>}Yi$?Q3EQ1vQJps%t%ijL&BgF8dd&8E(W$7;YGNdxy)Cyca%&;( zwWu9DH^9!|t?R+*JK0FNJocmdZt;}I)^1@4*nx))Jo^yP1>KCYmgIZ7A*Hi>= z1fX8QTi86pt(wZM#?DBiOTOnRnp%d~M<>HviyA8I?fB!v#f)<8Z&J4hTTH=Dl|-W3 zn1cT#u4$#C7d{#xhv4fuW5KJBQN{woU&k%h&54$rqT@jG^?#;K8PvzwEpZV6CLwWk zUd1T|TSaN7?FC)53t{~}8J^`Z0Y#jMDQxJA4f5S#fcj`5eR_+=vXSi_L%wO)axJ@t z_mzTFGeNEY2$QwlGNULhX`js`A9fdbGl6d3K8NO*DWM740|(yZ8xEnhl2e-NEKBAa zsNCOXr&HQ?6x!#sbkPC;_+!rMTU!~K8q>L0TAXXBTVoHQdcnthFpwg2ThS`y8LHY+ zw$9Va6O8zoutWOsz&Ho5*CuhNr+$-=p81%?o-P7iP0rz`w|>*-wO`XzC>SnmA;MjQ zU!1(p_%-QBw>~(Q?iEr6fu11JmRNaW1R6W6≪|mMHAR?nFhOj_*BxrAERDjp+9t zyIcvPFi3CKczSwDg_ew>%DY&-P=0@6ROwi=^#C+Glo?ZSuGIRBaJA9^1 zNFz!^G2*i&$5d=!#X>~SsqL&V0Z-D-@$M;5kCOf#Jk5h4eW37e6>V|I3R1j;{lapF)=&C zW>sydf%kaQ&(85D3Hm0#N4rxY`=(v2XKg0vl#wYS=h7v?^{D~b8ZCkD z+u<%qP#gIW@%Eg42GWcJkdveTp)m;&PH=Z?d2PN~a}ebzVw^tK$eXk&sY2MDreFY& zxKa%Iwi;5W`thz@3>1=1B;iV>cou(Yc0k-8u; zxHRuxwTy>4+Oi9uekK4_If2H~_V3mN^ZbZH*vA3mZ4M5C>x8;o&9fMC7)uZj`{cK4!IRs$a&!%oXRB!?ZdQ>TZv#k1R2w|oj~%-!s(ezM|&Rj5kKijbU=lr z<}7X?okfr7S?Cdh6Cx@a-GOiKLCKo#RDspuw@OUh&VSoOa3|5pm3@jB5%YCPxBJEB z??{ECIk+Ej98F9w?P2FbdZ8l_*50R4FQkn#dnrJ8q32n<61halW!s;p{=ntB3#2yA zSbAe0F1u2K`I@D3zU|u!_ds`PeSsJsp27p;-e5e@c|OiZ9zFzm_8uX@4SKzi@z_|7 zc&5?wvXbJj(J~$^h)v7d#1DaKYC}BOc0!w}LRUD09u8nNgxGGHO~@qI zKJlW6R?xC88OvVpROR2A25-FwPNO}aq*OLVWPP6W+jZ$z7nBZ^G%~$#l`}s zUezTg_BoUte*QuU=MF8wS8wSgP9dy7hKbQ4^ApK{0}MT27pnvGz}c)*AFkFk)Itqsx$eQdeEMTDV!7{q57~@ki|F#2*eDcD%Hjq_yq|(5v62=OF?JJ7*<#X%A|ie~UsghZR`0_NPnEJoUjYw$ zcU+({+~jJVW~oNP|nFc4a8407!AQ4#glC--LIgo zmY0N}z#}RR^N$`3qw$Hi+3%12#R5 z9~a+7oO#DO@)hE(E#r2jPRi$3hh@-F_=_r)QVSat9tpB?0HtDri9xa;fLx?`pae#i zG~+@f?+GaUxzHP()PA4g`)zqj5>WOAN~a zxbPyH7%dTD;U!eLCU|G2oXvjZ9)g{%&1MR5oP$z^LMu|t@StQOmUgO$5mBR*^2K37 z7I(8DNmLulqCi2YOPu*-23lE7r!u$Plq6C!m^=_{{GHy{^eRAxbZh zFE9^7+qle&X1`gjSXBX!;Ow9;7fYluo*#4VQ;h{dJ$}=x=#hFt1#k+c1c>1AYd0mt zc(l9x4wOLLRt`3D>!BR#Rfx+#C!YhiVBkZ_l*z>gNXm|2LmHs|s}3}$T%}xU%S)W( zl!;!kNkv7Th@TR*Sn~p>9RLeaeYyT{)9w7hjM%Bn?u3}3*P(AWVnw*E+-%_&fJn{y zeGyz=4ctvBfD~5FsgE!PmSO+-<1O2(+$Cu{f`zOfl0&VV(tgbj>0{O#A@g z1p;LG144{+s)8reAb}vJlaeP39|YPZ*RVcTX(Fu2ZQoPUJr5ugH^xuEiuwE6HpFLa zwZWmLs%^4GLBA~iOUOJ;mg(47sQEpbP=R+d=pf_@KN5ub8;hNt%V2MeciX4po$Q(F zX+q3*$EUt4>%K0bofNna&bOg$a~F?+pbxBf2zcwbovz>y%y;LfFBE6)eO>KayYPeu zE~uW9RpM4+ippgWI4LJgGV9Z$#Zmm|Ofu6DGQT{Nq9ny&_@8NDAk~%a@QjXATn303 zSQ|5qHELUp@30LBb ziOASV9bZoGt}n`^@b#9aN(ykkJ&Kct0=loMb%HA>yOJ84+cVb5wFMGQ!Fz|om`974oS{eO?o(2p%_>-1Opm;6CZjD%lAd>!Ck5+|1myW}it14X#(o z6EE&ME7ZXw(7lk2wx`XP(QJw1UT%c-`&cB(I@P+c7Cyk$`-sy=-`iZF7ZOj+z8Eij zaaGibVxhLCnK!MpS2X=dp~oYdJ%GgS?1+V|8;;0t(P+vJFor(k{@!>0WR)(ib6=?`oOwlpFA0a`D@Z zDY1@CsU{($`uXxa45N!@H`(G@%OWw8NKvWDZv}V`n)?Ep)@kubHOpLNbb=Mzk*s>? z_#UCw1Pywfex!P)9=gi`Ru6J=dE2p|Wb}HW|IPiREzn0&OTr48@x03Be3>vGAenkM z0`Q!ths+-_cP+qqUtI84mJU<(Z9(@~ggIq3m7J+FFaFu{G!yhACZaXb8MJWwFOQtL zx5!~ZDPyMmMIdzbDbtM6uU}@DmdBb%50RCuhIC{^3_0H*p{N~UjiFuZk8p2I=AJb> zRMXXg@}n%9AQp#z$QU~Trk5@`XU#V^Wn1tCP^YVN?QL4{9xyNDSAG@L4|Q3!;`=E5 zB45U*3o!Ko{&(*IloiCN91sAY@zcMB{PZ5|40R1G4L==Q<+ur}IevtpDdACW81w`| zJtS;&5G6y>IiJ#W*dmqssMwK@i z?2+V!J322GeLXfdQrLKKWMZedj~(DGK$Vbm)IBzGx*rT>%IS};R*HH-*VTRFS7aYD z2k^S->5b{1{!cw$-4RRurgsXaBTi9Zp2^H;(t~x>6cRg2=Eh|8hsI>A&BN(`~!7ou3Us;uJ+-{;)}t+#5oxRuk>AWO4-)IRX+`R1$H(!1FDnHC1Ke z6cpm{lynuc-M^NOTMDn};`p&gjD9ASqdX1AnQfDQUmEP+=LPxd<8YD`P^sp&0(axO zS$Jj%Bu;*jz7;5pEUr7lniaTDaB=!t03{#7dfIn%^|)^`aSuWdm(8l1+3yDQuMq|K zpJ>JBApW~Re}1wvw6}J&(>Ju&p#R@1BLA(Tfvc6SrK$d30)NIq+~7^dD?cj|ea;uW ze-tn67zeRnr^ zJw|fyVAy(ei8r?g&xa;#Y?YP=JeYnIZ~u~DDw0J?S-~PK3pgryxfP7fS)*8WPQw(o z;RebeBBx2Hb#&{K6`9|F#~lC^!0u2_fmDKBppzbpx$1?Q6(c2vqd;>fUdKxH8e`g5 zi7N5E4GSNKJe;TjuX3m>pi1Z^ml)S+oN=nxytfJcUp@1uqNONsN12}rZhu~6|EQ>h zmA-|efuXRjgRY*gz2W~T>=^Y0x|ac^{}KEdE*e~*ZCP{GuK~`_-@j$(5R~|rSX@}) zU7I>(2;8QN^Op-z%A6Y3hb(B+d1co@l-o^CtKO<%cJd`BbmjZ@qG~u1po(uF3M@6n z5L4_{AQe~3RFQ5`Gc8S``qXFy z6y&3EE`ZE{K%$|qqWCbK&02p~F!}2kQ~l?1Z=?VKAoyPtG<7i5wJ>!vw4*b#KgTk) zUu(IqcQ*O}?qwr8HYwdN$0dz#%v8zjpB$X@icN%(7DU1gQ-T=&CbRqX^0l+*(G!2I zZLSUfX6VI7OcFp?ew1uN+9(Y3NWQ!6>azgMo<`2e^?#G($>wppM+GWeAz2z*OsEYJ z5jG&v(?w(K6{CqT6$H~uiLv3g$AU_-FW@P3^=(cMQ|ph2N4u6p3<6;c;lw;RODOb1 zPWvkEG0~TDkUx+P!5Qz;0j(}{mx7Gs&g>-EI zZYpwDacS%G*#)U^=nEc~I}_N7%Di+prD1jbyeq!N^$JM6&3P`D9KSrVqik z{w-!0Qfj!Y)p)#jRaQ+L3c!;Ie3#>r&)*wSmHwa!zJj)MoeM~rTYnY zA`W)|IN9ZAeeHU65{!xBvB2Q<8HWdVvFxm3S9+N@?!ITuN#yz*X4>&amiQcGZ03_j zC-4e;R6p+nPk8yWWP2d=1S5E0^oSvNp!5tOc;NJqBX}V76eD$yaH1MI;^e1q)CMtlS9 z(MEiO?b$+n1Mc~P_%;UcA$pZ<XowMtP+sU>|pY0!RL6 zV;}G>-o5<*bcwL2)RKpW8GPArOf99J5Ug8GL^73dTx=ARJtR5{1+$sXY9M)H7?p(P zJiJH6W5*Bg&0vN#gHN_uE?$QGf~_nQ$?a`5({j|UiFX;hzlQ)1$x6)j=?lv)55_Pz zJNg-ETCJ+Go=F=(><6#Eu%hbZ0!?&_dp|u-(2JEg`kBSfI9^N!@DIe`0a1+#RZr`O zy9%lUzam0&vGjgdhfa~EAy+uGj;4CthGNhCx73T-n#-tWE|j&bFNXwK^2}B33yOXiCWJZjPr;IId~}ggX<3#KEvxu(vVrBX!@Qp zmyT)}MZ@`yRw7pFbMe9Su?ErC2c0rX<;9J8om4V_r3jG+-pgjhL={9`smTJ+;D zjAoj)Q2<27?cdPq1;SNS={3{5b!tndqUT@2hL70_r?juOTdv46;LGDBO?Ui&U@<&m zBnICSJsIybRSpGUH)0#I9jf6K44mW_DlMrP{aAC80xF;rH>-=o7R$#0s0|HQFT@e* z+Bp$;RwUnM%y79HzZ}(Fm>s{#G`Pe8v^=p$zcap@yXvgN9gglO=gQwWu%35w8A*c; zx}@+fXM`R8lmw-$H(Wsq_MSYf3l`^RX~V}DTq4IRiuw+38&HOfIYHxJ{yjq^jN-C?h zP2I>kwQ5w_b6c4!&)RZha-b@6gwjb;jsfe|7o5gZDvkAqXhndCw|HjHlx{6>?sGn5qBRJI)Ce0K?JheOF%4n62U89(y zG)f82Pw!E>drm%d7w4AQc`C27_& zte~&eF-%}eFZArD)7zpx)D%?*emnPe1Kpg~^1L5;5~I`#9g7-K zP168WvT2!gDw44zkyaJQPi7{I^CPgx-rQU!#y(Y^9L;0voUq?IFLk`>yB}F?t@9+V zjIF=oJOj;ZdNWM+qwQZ$;Y3~cKfeXBa4Wsb4mNZ*n+3NPWiDr1=DYyDxx!mNzf8YZ zRi0cQEc4#2@3w@*U$7tks^L$`p5W{#x8zGKUTM!wuRH{*bm2+wxXbji2Nhe>d?roy z;O$Z1806-DWe;CF#>R|P+h;LCH#^Cv??X`(g&(BJ#zCP!=W#yf=0*yT7+f)D#2CD% zzJrM8XxFCou(Xu<1sOIq?W7hRg`8V;QRJy%K)e-URgkEVwu!L(X$+~@E1y8vq>Y?DoqARH6M#GzG4)=AA z2AW(@z5QEYYZ3Pg^SDMD>;W~#5<4Fc^A`;24SC)SMA;wD-hh8M_#`2}NymK}dikFh z)jt}1U#%S!9c^r^?HmjZ1nsPy?LQ5_Kg@X4Nya~{T9ECI=??@VP~0*{nePJBnV>x# zY*QF8t~;!?sMlTTUTYgR8kOVekvsaiJC9y2roBfAYL1$T!+^B2acHxTl9tLKUA=aX3o)Z4l`Geq*bw^~)AzUA;TQmxP zCPXn}h_%}FSiM_vXQA(xziVbucY`_e>AVg=003bBqh{7NhF1ThN~Mar6t)107y27~ zU$-7mYi_lrN{#%fUu05HX9CgQWN4}rbN%?ZsL0J0x3Q7+ig5X|PtMO9&!0D$p|UgY zc(&QVaie(+{XUI?o2fdys8U4JSvOg_qe;`uzjRzznmxgb>H{BR0_0k|ROdVarJyRI zrd9ZZqY_mnlvUEG@Xn7jV8{v=3C>53NjjZO@$C51O}P4>F0$)Ehhw6$VVBuxKr$q< zCQoN;Ab>dy9wfC&P)(8roa(IuW^~bgO+6<(!dM=2Vw-xORQzfMM>wA76RCEoN|<@x zZ9EnBGO2N4;P!!2OKGoM@+3{yjM8Dxb!2Ewg1TT|D8BFxRdXcb;04)!_lF7M-A~|N z&w|1-?l^tC4gzFHwj@Osh09>bUT>8ro+6Z0^BuQTR(BUp%z_@~#C=Gdb7(3(_?Xw8 zkdt8ezEo5@(m+8|8x2Y_-|LV2%ZM7S;;v<)9X+o6)kS&1@d|~M_m}9Yzbxz-1p!WT zKJM#9MlVv>kNdEER!2ePGYaG87>NcwjWY5O;boWHQ~SWa1b zGoMLjnO45BKFX0v+WBI?XOy2syOVVJF`mJ_!?q_LQ)1JiFb0r%kpiX#y@cMhxe6pbUiZio$u=HiMedZ^%+>Q^3VJFg(b_xvEA()mH`{3woR#>hb|SuKV*Umsg)QdLz$4m$Jgf3)ZUE zF+0O;aRbRk_+YR{Z3texXh9wET|H%E@kWEi#si{^g&!aPcKrYJS^>)C#`8W`LI*ei z0Pa7o1bb5}V~anX)k0-W>s1C6&+7RPoo|9Z^I+$W<}n!Oi{jYlEDgz~f@GaO%{pRD zz?BFep6}uzkh!N#;^O<8_EWr__>)!kuD;`QB9K$iktik;PYSN5wCco0=a7~dWCpOX zbL?@bGHa>?Oq!hVVTgmt=*q3pIr4NOa0<*2v$2BVf#T50yOq4(ayDCHkXrCIqVmO% z4=LQAdUQQIvXgcmaGZ@nsv;N`AwML|^$r_ahkw1+l7$z`s?B z(~fMRSJln$aJE=piS?=N;0ZBO!bNr9Db&cb!(Gixa)c*LLxWQiC0=r&sOxeh5wc6gp$SztJ{_U&e4p~bN6Iuq-TJ&S8 zxOZy!4l{*F(v|UUym)dR%+N0rDn7`$2S#}#(fm?_(@p4O@{fF-8(AU^*-L7s_zU01 zuVvxcJq|AY$K{eijWht-x-9gX%r$O{g<0iY6Vu-lg^=i;Qh6{Q;fKbV<9a0x<~1G8 zNnshhMB&QS=%I6u$Kh4PA0{?H@{QsTYX7-MXGUmPf2p!PR@O^>|fT4G0 zrviDPxy$g9^aFh-Q4Rvmb217vJs+E?DKbO_%^Q!K-nZ#0r zzH=(Tqq8Py|}bpf7-x50fe!Br7sj zdTH_ngD+bw%jF!Y=`{|Z+v%37=0zXiwat9bZpu3JyRxG#6OPv!N4Xf`DV%Ok7gyR@ z|03gpcnu<)u03wn)PXG9paNT^3~YlGeZA7RDKX}ngT?|iDGFq(J5nF&5)Th7RS<=2 zC6&!wTqd}@{i6hZ>hTz*>5;XaDeN71@EzdqgCqPNTDJZg<>j}>5s7B32=e|F#OoB5mhYIDi zC)iy4__?_k4PCC)Y>!6gE5?vd!WG#I;LJV8c_fP@iD*=89KT~Nnf2aHA>dgYVGp*= zZNmd6I1dPH)5Xt&cGblssnZFN!m#VW{Zl?7EoP2Et%l3$n(A6r0znP1@7*B_jgNR< z%t4SykW;$4Jir$0pypNNh*u9~h&31VD{Pm(HDVcLA_l88)DM!WVaZw$EQ7U}5*-;p zHWKrkq6Fw&Qb$}3VA#UtKW2l0}zzX$aa5N7;!6o(So zU}sXtMb;}8{Q@OIKD#S_r_Ng1YlG~=ksH#3@VNIBRO5R9Yf2@(ml@HU@5Cvpo1{bIxhuOZQ+E0hkFBJL z!wA9M7+A&PaUF^IDSzs1MXVe*B36iVmB^%S~5uay488Oj?Kp!5o& z^VW@@Mpm_&B1dK5{p}sRRX5OB&_V+`u>CU)7fTQ!Q;Q&aC7XT_jOi7<^}DuQ>r~MO zfo`#OMD%eCP_{JHgNQ!zAP6W!7)}zs-B;%A@tpaA8H#J_36ZtjuLe;|>4{TI;5Iac zn@uve9-3~MzT9fe=z9)(=6WE!XndFYONM)IlSyfN_eqCa%y2rUk{y<%htI7J&{A!g z6)1Bsm+iSN8exH{^%e?l{C@hWk?Pci_H6c@eI^PGwI*>{{VX)zuYegcb$){WZvSgYn(dor{Y zY%ASO;MwUX4fU;+n=;Lbk9rsJ{@TaJz7B8oS%=>jAS8PxHMuF@-he32K!184;n_DYe2`gzx71Y-05)|0voUB?%ix_Pf+bI>&sESd7RZlQ%&hZ>c*16q z3Omtzyo=zLm@37yAN?%6L0TpAKyakbzS$UNE52+5r-R7`?vEYZ{WY#YZHh+PaiUOw zFC3DHtPCMDqc|n;^a@L)TIzsFdJvbtezXs#Y&%Fek+dZDvXfHYyh(w4o36=8NtUe% ziZPvIno37BQwFGGUY!%@jT4_r*gvKr14)uXJ@cR-s?7qWQh|?lD-i8KeKwf1{#fss ziUc-tt#=i7oa0rBo>g3QbO|9(OeZ-** zr5^vdh^dYQ$h}CNO~cTzkzOTT<4=u6<`-;&7}mW-`);9GTm9_#WHiux8ysbvbvGDi zk!6`1S=(*sbZ1G_X>GuNp{C?&{mpsu7!NLMvYDT9h4c6#n&c>A9`B4Br7X68d+?W9 z3R{yQm67DeJ)av1&Z}HfgJS|U3#hB7dF`?-k^xyLsa935nhQ`7pTE7U{QV|&rmZ24 z+=#q$lTg-3GsacU_47pa1P42^Qz48ujz8*NbR%mAS^_pI$nBAxh3~+bA}~4-Taq1n zA!uJN}ps#yYC5V1~%d&N=)vndU=ne{u z**3GNCZ1I;Gdi7MJyClZCO^wOZ@J4IrP z4<-uj;><~{Ec%h|CfwDtrXaV>P_SlHeOEsKnL?Yc?AFshbSa{I_`aY)7nsHqFShjQ z2S9Z%u|X4Qc{BJ2cT}4=jEKe4aAw_} zmjnPH{QoZqGy4f1bNfBExNLgmXZRXARC)c>I_8yCYImNM(D=2~N(m$Otg(&60~vV| z62c+~JiwP)=J(6BNbqa`(zW^@46Kxh(W3cV8vwlS56{LRSzW?QGp-sn8gV5FZxPlv z36hdk(Y<|F=DddyKb=9Q*?5S5#?@H}grm|9N4zC&h=w11oqA@D zuO1s<{3ewezPDmAu-~c?z_>L&-tw*EPQc!j_k%Xvl&k~{;MUs8N-#?ZnLa!vs9kMB zfme8(O&TvHnL+z!w)ca@XH%BsXEtXjA(ITzqz3DCZUm~C(qrW*DG=*)YH>0>-czlb zfz=U!vh>qy;;(h3kj_YX=-64}cRmsuTDXfTBT4DW3Ucab>Yz%#*~rXgpygSWqp6GS z(nJP8m~fFYzP~W8PLF^ChfK35Ra&RU?58hMBe2CIjtR?65f72%v+t9)zPz)+58giO zwQKutsKUm}DG&lfOHObTKGG&+^OkFGyNYU&h6V|#iFUd__B~P#oHvU(9==gVhnWcR zwR?T^sWZQ4T@6$h%*W)wo4<|<&a1srMd8D0pHdw@Q%wrA>V)LwCIk- z0cSm7%xKG4)8FMQI-w{WW9GMzA}x30CdpV$!q}M0wxy#3+6AOJ_YrAD22DopixyrLd-AIO_xwzvo1@d~| zAd!l|?lB23?V$W?;xn?c;$p!V>~4gki4toy5{Er{4{EQ~;QMF@&OPp2^anC7DQC8{y( zvko-%UW6S(@}I*%l`O&YHKX8k?nU#7S{=h8^ed8pFq@AMS8}^i359j==@_#i#lZI0bMT0F`@ZY% z9}&mue6~xxt8mCkPhyrF#hEuh2q0NtQ?B!Uk0RVu^5(mrj;LTnMT{^sbO36%lpOU> z1xnz!_ZM~;4gSUwmoWZjm(uHBoRU&3o@RMst?F}kS)H`#;V3^x@*HH`(<=6&V$gMy zE4A9@urVUDFifAHN*%;XkyH8TpH>M1Vy8_=F&jIvoJmQP+^)0xo( ze>^|B$fT27k}Hx#*?jXU zh!RBLkErh0OJCVhwg^Tt@#Ez}VK+$u5x8e$&-hXpqss)GXN%COvD+9!SIRAt-Q6pu z1dZUB9s?vTY$<;>?XEk>{iS|#T24IfB(p{rbgdgd5EvbttQZ)fezRJJ!WGG?;(%Cm z5^h2Z?=3MJ8O?3gyX=UfPzW;gGb9(FX^_Y;m&!ExdAxpq+|XXU$>7R%m(^K1uRGV> z?Km+?xf#yx^KB~WJa1{Z;!Hf{f}>_@HK(R1C|l{ylRFZY$cw0v+rA5wP7OhWnkK8} z0;KQlu@3ec>We-SFu?as(?bQ6Q8um^S7S>3h!|?Ib14ES82(SfwH6D}s{ufq3t!4W z?420Dq-c-R|Ezxwe*VRiB6~P>_$R*_gO``wEAnLZmDP%4-vj{%6`8Y*LOzxVZSCqOod~TwpuOXl`3bD z5bumijGSM#Adt=0xX7i^+9YS+ml(f_sfk6%;9m15lqV+5$0|etGiVeOOTU<+-3Gib z$y(PO4l_r{%6(VrwI0lChl#A-mzZ!3%|{UKlT*Q_I%*(HYTgEiImt&4PZr-+e`0rI z^iPg=2fZACdAO@H*Sc(TqMT!$-V+4?MWmqRKT8#xPmI)jgIa$cdv3#LoJC|2FNw!F zLe!F2p2$mJ!C)U@3bHvaz`oqO4apJV)uJyj@6k0>Gkf$m#9Mf)-+DEzR51OXUx0{? z;zx(fP=15;j`Fp!U#wV~Mt^qPG;GDCtd3k(;U?r4sr0@Hq>RGOn07EO_l5cp_k|ZK z!cGpgTkr@Nf;|DByoROTckr+Kq`E?}k-Z>H6}vyvEYWL@3c+hLLs=10l*U-yz>{7{ znEa;5W8#Y~yv2HI;e}f_wZwKWO`TYB8&dRyNUGHKgFtobaFtN32`k@1laZY4Iu8RQ zq{Ix(lfN}8;qf5>ILxj&OV#LQ+87IJ`SH0LYFd6$zkKE>wG4N`#@yD-sU~z<4CT#X zm0wIJ`-g**m;}jQFUa~<$!PaAZ9pYxx>{O=S?7qi3*9GKh$(W(H*BqIms@Nf2hX5FYTqVlsxo*l_4rZ+av|=`&Kq-a_DpQh=X7u zQ%+l|*+pA&AV$OPViiwX=b|DPMGqMBM{S1@ha9e^O z2^}I>0TIG7u@6A*$>Fcjii4T3_vlHbG|h%oUZv3eSG>Fo#}Q^-|05_#Ak1;cCG6w)| zxYc7uP}-(Th+D)^kHv-%yIxT!R*05V-4g^prS)0q{01R^g$Y=w2)=OVD-XQ9I+2F@ z_zQ;1MjShU99Xy^I^1tj;7sEC=4`Gv%`fe4J+B#v3V##Gg~o}(u5aus;ClN zbXn$Ortu+BUgK&XPBzUnDI=G<&TmuJbip=wsxe=7;|d8l^9W0I%PWe|1`FOP2 z^qQOCRR8E_9yaoZy66IlG3~$^jA;9q7BTIKy@z&BHm(0;gd$UGzTSSGMsRWzRZQ=S zJm@TH4sKjJc{qRt+Zq+naQTU}>=y1dP*%?CkRN>-*EDJmQak9tF10t|!3(l{vDnRN zu0Ujon~etQSA17dffQq^KsEgKEGl`N{wY*b!x~f7oO^(z@+gt-XonRYnA`4-*aJ`K zwcYN87Y=jPJG(BG(hyf~*s@iveFhLG8oJ?O4ls6owx@K1H#7UqB{`ImJ?EsC_d8E` zCVYbhYF8ywZEOBT1}McE)4*VyHzrJ`o0qppuUq*f?}iq@2uVt0HUYT#$0kauonl=j z-xJL;q{Xn+5)HYWZIkYgnV>!0W^RVCnng)=>LPkHS7eoR z!Pzx(WzvUSy+rB{4dB~Irm@0aQ--(PgC-O$Nl2sK4?Ghnp)3I(-E%fmrMib=3kFw= z%UUuR*95|91I^D1^ou>~X3bwL@Da2vgJ^KhEPk3v$xqqfAxW1vG;aYU$*`e&lm(1* z5+D!Dl6bcpb4Iz3N;dCm)hX^e^b9BoQat4vHmQn`-O_4otbc1&?nfv~Ie^7ZG{x%$o=rMg?0Oq1&KT9rta zE1U!J_C2QnDM9Fpe{A;}*Ykyo?u+U8wj8m4>vQLiqEi+wr2!uorDl!TmkYa0Z>EK9 z9vBBt-Ks?YSZ5iy0dvZz2h}nP=GBMZbTp2MPG8JbG~6z#`mmxrxKL9iREMVCpydq$ zetMH?@rfpn>JzI!s%^lKq^EU;?*NAr+A+jsNF!#q#!>O6t=%Zw&A(i|Un_?h7vEF$ zu9!6C!Cp^8Y(*b}|Jp?FeYZ~CUBtB9;A@HUKm*s}?{qyts4{F`tyGE(J9Z=*awo?@ z-Z6a)>B?5r#CPnP!fzoJ8rjwO&35gV+ldrI$+$N$ye4j(DdNWIFhv-I;LzIE)U}Aj z(pV6;r$E++?QUYj;t*h4X|i1r1ST59IFxryd502PXLy3EJQTYe@P-yg&FL2o;~`@< zW<__U^%DuVXaD9_qil{sdEG*7ndGb4*N34-&MGN<_1L;SMA9VIFftPqX=x+}NlHbr z0T87Lk1f7^v9o+W%mBy}pdx;dil0^seO6c0daWY|8%{BiZX>Z($t+Lq(>j-Q*>ZPy zAQ@tTEIOd?o`9b}6jwBV9&_t>FA2l;R_y;2-RE7e<_-ZEg^o9quBg=tN zyJtOj|z!7v#4q?z&vN3G4$-$24PZ?DWfvUy#li*S1^wXHjNeDlgsYa2v;Kvgl4J z9mqZ4ht{zBPX0T|hZk>>Ty3h}ev49CZ*o>NTq!cjr2r^`sRaH^aa$I$DV%*d+Y#TIDZ) zRTSC&N`!GULg%_?Z@iDq6xHdAXDU27v(hkf^A*<3aTjz8$A4v?kZJ?|f@5;oJ~m#a!AP~y`oNoOyGV=S0?9brHf0X|`pZ&Y!@26$|63hAw zJ^poe_IJ78dGdeBt;78XYyK~>|BiwFLB{^Ge8zMDsy^TTM$P`0hW{=22RZxC@`vEk z-vs}Is{Jp3KfCC6vi83qJ`c4c{^yhb1@NEL?Z3466YFmJsNYkee?bKh|39G2?0*OPJ#F_F5FzP50{uIQ_ZQNC&(=Re z{ePA}W-B}8euSCFK?fK`(>0fv*H2=_^zvKPUQJ|lH U^#A~X@cFU^0RV{M{o~vJ0fid6ssI20 literal 18519 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 J3H7*ucmSH=knsQj From dc862240506001fb86f2a16db8c7f1af1521cc84 Mon Sep 17 00:00:00 2001 From: AbomDocPhibes Date: Fri, 6 Mar 2026 10:25:52 -0500 Subject: [PATCH 06/12] encodingfix --- bin/AutoComplete.adc | Bin 16917 -> 16930 bytes resources/static/auto-complete.js | 145 ++++++++++++++++-------------- 2 files changed, 80 insertions(+), 65 deletions(-) diff --git a/bin/AutoComplete.adc b/bin/AutoComplete.adc index 169498a62dfe980dda2c169a4537d56b95796c8d..f4b29508afcf97ab8e125681fd67d67b5bc1f0dc 100644 GIT binary patch delta 4645 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' + item.toString().replace(re, function (x) {return "" + x + "";}) + ''; + + return '
' + + item.toString().replace(re, function (x) { return "" + x + ""; }) + + '
'; }, onSelect: function(e, term, item){ - var obj = JSON.parse(decodeURIComponent(item.getAttribute('data-fullval'))); + var obj = (typeof item._fullData === 'string') ? JSON.parse(item._fullData) : item._fullData; if (o.questionType === 'single') { document.getElementById(options.inputName).value = obj.inputValue; @@ -147,14 +151,14 @@ var autoComplete = (function(){ } else { var i = 0; for (var key in obj) { - if (options.inputIds.length > i) { - var attrValue = obj[key]; - document.getElementById(options.inputIds[i].toString()).value = attrValue.toString(); - var event = document.createEvent('HTMLEvents'); - event.initEvent('autocomplete', true, false); - document.getElementById(options.inputIds[i].toString()).dispatchEvent(event); - i++; - } + if (options.inputIds.length > i) { + var attrValue = obj[key]; + document.getElementById(options.inputIds[i].toString()).value = attrValue.toString(); + var event = document.createEvent('HTMLEvents'); + event.initEvent('autocomplete', true, false); + document.getElementById(options.inputIds[i].toString()).dispatchEvent(event); + i++; + } } } if (window.askia @@ -170,12 +174,12 @@ var autoComplete = (function(){ // init var elems = typeof o.selector == 'object' ? [o.selector] : document.querySelectorAll(o.selector); - for (var i=0; n = elems.length, i < n; i++) { + for (var i = 0; n = elems.length, i < n; i++) { var that = elems[i]; // create suggestions container "sc" that.sc = document.createElement('div'); - that.sc.className = 'autocomplete-suggestions '+o.menuClass; + that.sc.className = 'autocomplete-suggestions ' + o.menuClass; that.autocompleteAttr = that.getAttribute('autocomplete'); that.setAttribute('autocomplete', 'off'); @@ -219,14 +223,14 @@ var autoComplete = (function(){ this.className += ' selected'; var selectOnHover = window.value; - if(selectOnHover == "yes"){ - that.value = decodeURIComponent(this.getAttribute('data-val')); + if (selectOnHover == "yes") { + that.value = this._value; } }, that.sc); live('autocomplete-suggestion', 'mousedown', function(e){ if (hasClass(this, 'autocomplete-suggestion')) { // else outside click - var v = decodeURIComponent(this.getAttribute('data-val')); + var v = this._value; that.value = v; that.last_val = v; that.nchild = 1; @@ -240,47 +244,53 @@ var autoComplete = (function(){ if (!over_sb) { that.value = that.last_val; that.sc.style.display = 'none'; - if (e.relatedTarget !== null && hasClass(e.relatedTarget, "close-icon")) removeClass(document.querySelector('#adc_' + that.id.replace("adc_","").replace("_input","")),"marginbottom"); + if (e.relatedTarget !== null && hasClass(e.relatedTarget, "close-icon")) removeClass(document.querySelector('#adc_' + that.id.replace("adc_","").replace("_input","")), "marginbottom"); setTimeout(function(){ that.sc.style.display = 'none'; }, 350); // hide suggestions on fast input } else if (that !== document.activeElement) setTimeout(function(){ that.focus(); }, 20); }; addEvent(that, 'blur', that.blurHandler); - var suggest = function(data,fullData){ + var suggest = function(data, fullData){ var val = that.value; var nItem = 0; that.cache[val] = data; that.fullCache[val] = fullData; if (data.length && val.length >= o.minChars) { var s = ''; - for (var i=0; n = data.length, i < n;i++) { + for (var i = 0; n = data.length, i < n; i++) { s += o.renderItem(data[i], val, fullData[i]); nItem++; } that.sc.innerHTML = s; + var suggestionNodes = that.sc.querySelectorAll('.autocomplete-suggestion'); + for (var j = 0; j < suggestionNodes.length; j++) { + suggestionNodes[j]._value = data[j]; + suggestionNodes[j]._fullData = fullData[j]; + } + that.updateSC(0); that.nchild = nItem; document.querySelector('#adc_' + that.id.replace("adc_","").replace("_input","") + ' .nomatch').innerHTML = ''; - removeClass(document.querySelector('#adc_' + that.id.replace("adc_","").replace("_input","")),"marginbottom"); + removeClass(document.querySelector('#adc_' + that.id.replace("adc_","").replace("_input","")), "marginbottom"); // Auto select the only result found if (options.autoSelect == 'yes' & data.length == 1) { - let firstData = that.sc.firstElementChild; - var v = decodeURIComponent(firstData.getAttribute('data-val')); - that.value = v; - that.last_val = v; - that.nchild = 1; - o.onSelect(null, null, firstData); - setTimeout(function(){ - that.sc.style.display = 'none'; - }, 350); + let firstData = that.sc.firstElementChild; + var v = firstData._value; + that.value = v; + that.last_val = v; + that.nchild = 1; + o.onSelect(null, null, firstData); + setTimeout(function(){ + that.sc.style.display = 'none'; + }, 350); } } else { - that.sc.style.display = 'none'; + that.sc.style.display = 'none'; document.querySelector('#adc_' + that.id.replace("adc_","").replace("_input","") + ' .nomatch').innerHTML = o.noMatchFound; - addClass(document.querySelector('#adc_' + that.id.replace("adc_","").replace("_input","")),"marginbottom"); + addClass(document.querySelector('#adc_' + that.id.replace("adc_","").replace("_input","")), "marginbottom"); } }; @@ -293,13 +303,13 @@ var autoComplete = (function(){ if (!sel) { next = (key == 40) ? that.sc.querySelector('.autocomplete-suggestion') : that.sc.childNodes[that.sc.childNodes.length - 1]; // first : last next.className += ' selected'; - that.value = decodeURIComponent(next.getAttribute('data-val')); + that.value = next._value; } else { next = (key == 40) ? sel.nextSibling : sel.previousSibling; if (next) { sel.className = sel.className.replace(' selected', ''); next.className += ' selected'; - that.value = decodeURIComponent(next.getAttribute('data-val')); + that.value = next._value; } else { sel.className = sel.className.replace(' selected', ''); that.value = that.last_val; next = 0; } } @@ -310,7 +320,12 @@ var autoComplete = (function(){ else if (key == 27) { that.value = that.last_val; that.sc.style.display = 'none'; } // enter else if (key == 13) { - if (sel && that.sc.style.display != 'none') { o.onSelect(e, decodeURIComponent(sel.getAttribute('data-val')), sel); that.last_val = decodeURIComponent(sel.getAttribute('data-val')); that.nchild = 1; setTimeout(function(){ that.sc.style.display = 'none'; }, 20); } + if (sel && that.sc.style.display != 'none') { + o.onSelect(e, sel._value, sel); + that.last_val = sel._value; + that.nchild = 1; + setTimeout(function(){ that.sc.style.display = 'none'; }, 20); + } return false; } }; @@ -325,23 +340,23 @@ var autoComplete = (function(){ var val = that.value; if (val.length >= o.minChars) { //if (val != that.last_val) { - that.last_val = val; - clearTimeout(that.timer); - if (o.cache) { - if (val in that.cache) { suggest(that.cache[val],that.fullCache[val]); return; } - // no requests if previous suggestions were empty - for (var i=1; n = val.length - o.minChars, i < n; i++) { - var part = val.slice(0, val.length-i); - if (part in that.cache && !that.cache[part].length) { suggest([],[]); return; } - } + that.last_val = val; + clearTimeout(that.timer); + if (o.cache) { + if (val in that.cache) { suggest(that.cache[val], that.fullCache[val]); return; } + // no requests if previous suggestions were empty + for (var i = 1; n = val.length - o.minChars, i < n; i++) { + var part = val.slice(0, val.length - i); + if (part in that.cache && !that.cache[part].length) { suggest([], []); return; } } - that.timer = setTimeout(function(){ o.source(val, suggest); }, o.delay); + } + that.timer = setTimeout(function(){ o.source(val, suggest); }, o.delay); //} } else { if (key != 13) that.last_val = val; that.sc.style.display = 'none'; document.querySelector('#adc_' + that.id.replace("adc_","").replace("_input","") + ' .nomatch').innerHTML = ''; - removeClass(document.querySelector('#adc_' + that.id.replace("adc_","").replace("_input","")),"marginbottom"); + removeClass(document.querySelector('#adc_' + that.id.replace("adc_","").replace("_input","")), "marginbottom"); } } }; @@ -351,12 +366,12 @@ var autoComplete = (function(){ if (that.nchild > 1) that.keyupHandler(e); }; //if (!o.minChars) - addEvent(that, 'focus', that.focusHandler); + addEvent(that, 'focus', that.focusHandler); } // public destroy method this.destroy = function(){ - for (var i=0; n = elems.length, i < n; i++) { + for (var i = 0; n = elems.length, i < n; i++) { var that = elems[i]; removeEvent(window, 'resize', that.updateSC); removeEvent(that, 'blur', that.blurHandler); @@ -381,6 +396,6 @@ var autoComplete = (function(){ else if (typeof module !== 'undefined' && module.exports) module.exports = autoComplete; else - autoComplete.databases = {}; - window.autoComplete = autoComplete; -})(); + autoComplete.databases = {}; + window.autoComplete = autoComplete; +})(); \ No newline at end of file From a24550e1d5632fbc46e71f003cfd7b7527848c65 Mon Sep 17 00:00:00 2001 From: AbomDocPhibes Date: Fri, 6 Mar 2026 10:46:28 -0500 Subject: [PATCH 07/12] encoding fix updated config to 3.3.0 --- bin/AutoComplete.adc | Bin 16930 -> 17006 bytes config.xml | 6 +- resources/static/auto-complete.js | 154 +++++++++++++++--------------- 3 files changed, 82 insertions(+), 78 deletions(-) diff --git a/bin/AutoComplete.adc b/bin/AutoComplete.adc index f4b29508afcf97ab8e125681fd67d67b5bc1f0dc..d2a53c0a6eb52cf13fe114bdbe98af0c68b4209b 100644 GIT binary patch delta 8065 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 U5QzH!sqGK>Db0s)B>oEj2bKH{^Z)<= delta 8044 zcmZ8`Wl&sU*W?WDP6+N6oZ!JFxO;GS4Kl$73j`R*;4Z->xCR)UV8Pv8g1gIxcWb|Q zcW>2G{hY4ubMO6mP9KK?b3=g`YKrg(XaE2J1px0`jgbL|3GZud=#{n>^9BO|0L9nC z(SS8_t#sX(o2S^+sRn{=`B8&~F}%ZKwM2>r- zb7(Cpvvr71ruWm+4eBdZRR1(#lAuP=eut<~?VJm9kxWN072$KV>-HaIY6;`2Y`TvY z8F*B(qt}SMG?EO3lhc9{t?A*l8T{Q)gQDS?MpMt1%Vmj|WQWH6E_F=L%U2b+nyA5Z z_@pNJnO5+Q{YOTI1y&lkOE2TPhOP8Cu!kFqroLw;WF>X;tk}0BFv~+uEM9`-t)Byr? zuFCz%aa5rUqmY}@NV*u}{_phFh zo@Ewt>&Z2^7W%RQr}u{oTyp+7N_D=N_#w;mXf3D<>ze(<x6Wp`?dXpv zV^kmF;WI@31LE0o#!Y=0?xA7l{d`J@Vbh;*Nm4f62EH&!l*y%E=GRDGkK#7qFquS> z`;>>>hLT*H;Diz4)byiJGm~CPNHdgWk8%3vxa$eJIxyjEhIG*tyeBzBNLUw-w3g6f zr_mn8X-)>LM3LP{bNx0Vv_(53W89^!_mLetrIhyFXt$XpcQ8DShl^(BflbkExI*-TiY3Yt$lT`lMIw~u=DZ+{oa_YQ2RownHac0&h`mR(79F8> zc>ZQSKzP3$rt@(6)6=KP(e#hT_P4k(@20xp!9s_9h0yJ{=I|irZKAIeSqFha&1r-M zhTiN23_;VPjz)*z01rQqdzItQDwi${ti?ukhk|HlJ3SO}aQYDkVkcyjEQLm@HgW-B zCXN#YH-n}^w;qap&E+vU3>gi2;07Xnhl^^*)%)%-oyL^6UKz+uL7v?z+R7wDjLFfi zjvr&@X|=D=v(J0Wr7RPaYwm;Vm~;YLP%(OsZOxJ}3A0|B#Vd$aa2$rZ4|8YBD(%R~ z1PhDJe}h{9Uqx9RXk~wV0Pb|HgU~X3)Ph8CoSNT8#s$b)b;@WB9x6Ewn}wBNzWZiM zaKz|uDYtLPWrgf1m+V&Vdx~~CH!FpP3@NwD+q<@k$-{q_-+kUSlN&%o$6CDgsL)gu zeZI(p%ld5iF3y>1nU+5_bj9!Q&CKI~x5yAIPb1z1>=d`5xL-E4(63BHAYNFmm0D1z zaYL1r15|{D(;{S{z=4#6(If_DjpDv3Trw5%(@AFrE%x~uiu*05r=JbiV0IkGHb^c+ zkwG4=31oCjw;$ zP-Pn4A5q7 z_<;2MIIi@e22VAJIb}L!imL%~bO+oVnhiQS>NMiaghfWjWUT-aT!XpVofV&>YkOL+ zQulpY&MuGc4amH7OPT%j6F{bF>8cQ`y9(>P1fWQga}X%aL}Jx*G%}LC!J+BRrcnuQ zHj>yPC{A%=#V^tP;~OX)Uh>`xkvL}4mD^Ouy--VhR#C1Pv8kALu(sFI;Er{e)f55U z3{)g1;;CH3y4 zX?xLqn{*`%7x;7Ps=5XDj#Ll)yRV^QjbTPII7|ElHP?t|EH)NxYLhiW;@KWO z4F6{^9nRFbCm^ky>)d1n|d2W=s!{+=PawKU5Y}Mvd^u&G&WciBTfY7Rvtr9 ze)3O>QIN$DzhlKfHPCjau>P9@>ZRf2t4@nsyo79WK)R4!O66oFH%F@mg2=-my? z!$M)%)?_h)}5Y?-c!gsfpfbd!klldlWco7?Py zI;S2ZErn{XiQEp5s@4_oR)~h+o`UehQ=Ki0&TAevnw#H4=l3eWy7pc!jc00t^Nyyo zwEPAbW7zWZ`}{iYBz$I!C*+FdNwuCnBX%#q+(}TWC-UP#5&srGoR?56wp21dQZ!~?>+ zR5Fc8zA0J9w6`_bLWWwsy=mBAtv6&A6ubc~c8N`?q@#YfdwoagUhR=6LgN;(ej@K1nPrS$D_t8KT#Kj(C>7r+a7+u_1s|i?Dxk0h`vc zemJ(!_uXmM3_?~KlMRN;CwN1X>qX4!xMkAyoJLU6%97DK(ac#3p9vh8pO1 z@U@)#OqFG<1Rqh+SUfRp(7)8~kzd$O-WkDk(+%MAVw@UKX8M0A+js%fOJ=>ZrWzZv z9YsS~(hZn}Hdh=)w%4!+2?C z_Se#b854wO!ot6Pa9L+N@5Iu)S-jvFs+yK54`bm9YE&Mx!vvOSw?YptWez4>^KcB<1y zw&uu@jo@wih|;+1bLFgwxVW;sQ_e@7Xu<6}r%s)NIE1rMzt5mcHbD#0tk~K(aE+rx z6d_wbP6eL_5l&hJDD8Y}A@Xr=m>e?ZvRt_jF!G$~ncdI~P5r_Y#DF z6tKTP`8in{NV|t;tJglMl-j((Y&$3b^}_Rcn@H8#B*2Z3@Q6GUYN~JLHUN5~BwDI% z{hqrNfj*a2&oCy-|L&_jKfD1B7%s~qoiqN-OcC#pUbupfho$?a+}6$aqb5mmYYH?t zNjr90{3_TXZKn=L*#I^tgjZxoCoMk79C0=~Iv%DXYA+sI_`}h^TUx%&0S0GQ%Wa;D zlJ;dQ#qu)kQBqfIWvde;Y67_-t$L_2!%Nai2m;dYiqLwqC1eZR8Lxc-OBypo1WW0C z3;;b$erN7IYLxZddDNvK91rvJyE-o7_jx2=kHYS;r<(mY4QN!9AaTsJD&W`T&?(@h zfyA?b7d6x5e`0U(@5I{b))L5obw#6O7=aRTKsvymLZr1&KS$+6rEnnTl`rk7T{H^N z!*or=0lN)eB^U!M2x)`G3&0}<9zvqPciUIvLd;O>bOUM zcQx(UJcHyC-1`CXsrvAPT|4}gaI`teoDj+50lw{akGVV3c|szPGXO7OjTQZO_HX<> z3S`dHN!|Ff1c zkV1E87-tLJ|iOo8Vkqiel8tNQ(tW~uA#Vk z(^!fB3%>7p5%cP|<{Hbev5bD)1kGL)s_33X$9Y%U5G&+d7=}5>i?4}C$Py8}S7CEa zZ_^o&gew<@->?K$V^YX^fvtV1i%c+Z@6e>ZkUZZ(ZibZBd0@33@H4ju?H#J57PIDo zoR~JHDMG0?dl?kw+Y?8U#c}6qb{c!?#17J|P}{MrT#9Wn>I`IX9g>8uk;|NO6;G!V z8+hEY%p?bCmB;ik6EFNWFWv40m-s$jEl|wcdvtv>O`Rf*cA{?1Z1COCo^za_c&sb-&f$ zOeSnaBXmMSZS|=m@ZO-X1SaR`j1*`f(LJ4FV;G9p7lR<;ji8d#Ctd{>9)I^-*=B>u zsjRljH&I}M-9(w~v}*zVK5}Y~E_MT$R}nw=SYeHoY+;({hYu)-pWbC~chhD?cQiSy zv1zw9I_Vk@rQ9$}SbWg#0*u{X8>!RR74ljRG)>T2Ee{+}evdJv!^Hn|VkNn7(wSnj z`NW4eN?^5AhLl;oc%9CDI?j_QA$~Ntf%q6Qma+m)SZ14TQ@x2-&9>j2Xp)TQ8awvz zQ|nD`9mIQ^9bBhjF$*9dZ?K+qK!U@%jjL>D@C^!u!}-J=N>nG`MA4q3V8i&&B23c~ZhUzY? zQUT#P!$;-9#?4{IDHD#`6-A-3yL7%E=bqb=EhGCoe(iBU3L{V$b`Rk|@M{Rsks!8o z^}XZ1NOIe(;oG{3h^vc8G6=SX-_`?5 zD?}p)L0$+Fs|0!SpN|{k=0wLTGqvFJ@jkV(|J`Y-t^=}gacV6}X2%x_bZxtJsA}TM znmWs{T9xHaF%a~Z+^ZL5)Lz_mKKcc4WeyBBxu zJ0?bdbfBsuyC(k2ip*yce~b9P$+&}OtP$-Fm6pBQwPl<3`x{G@!nA8J6!lXtzWK!k z#pAOCHk%u#AUcIi)Mu@QdKzdEw= z3^|L*k?^H^!?(z$5-CO}-Pw0wt98Zy6H|86tg4DO9Zc@(rr}^|ZcWIw5iAKUfVb3F z>(1^f@wzRhi?I4R_1Te_MAZu1wk0n`QPmzALB^J;LgPn#P<8R!zpU!_GRGzbnTNa! z*DruM)<^2NO1=u^P-$ZvK7rXa_*CsPhwj$TdiPx+E3ke(oUc=gpI`<_kF0nWS)){f z-|2f}HY~+(_OT$Y2(DSyviO6s>>|<|aWc+&I85mhGG|B{e@sByT>&HDnO3IFLG|4Q zD;?U(aBKuX=H<>29;+eaR4SAx$HABlYJeF;zvdK~oZ9r8W);gWiV&sor&AtG!}|)A z_?FT@nYzs1H`A;j{>`?ND=I3RSbMAZwkGXbf$u&KEmPSMl=OfeZW47{oO4PI$j=~P zp=Jpp4ml8T@nP@KZyE*f8cRAaL2B*PP6h^lZ%wq&nG2}SkYACh1!wsN4>R*JM9&gQ zQ?8E(L!^c6N1><*-^jzn|C(?jwJ+BKeRK|R%nu`kLWMtVm}TNzRwa!c&U19;r*2^> z0o!V1v?pSm+$^>!v41dbaUI)nM|Jibj7&$Jb^KjJnbW(YP;v*eF!s7DbI2zw>$h6l zo<6_>wQQY-Osh^thMQ2%=XR#nt+F|e-@nvD(B2m4P-n>L>F0)&x zp3OR#E(+ufg$PqzIme#gPUuELp~F+k9v6``akjF)(E!Ddy_FINn934ir%7-*SsCli zrtmGwK}ZO}sGowlJe2k!hXYr75B3BSRf1~}xJ9C|Y&)rddjK*qhL>Wru`3?7Lp1Q(I&+X<78zZRNLC{ioJko3n- z*P4VdM9(3?r%K5P)i@yDM7?`=UzgB?Gsv-fC|`%te6?JeWOmwO&@Wv^_4}15#3Y90 zl3Ww;``)uprOyZ~N!VE!ohd9!P~6Cm&bkGsq`#2kS95|H=n%aVTQ$R%d~>SaDwbd)mBSD@kE=UH*@XM(Ez)&j%SE^Rd688ReV3J_M)qY0)$k;$lS+FIT zt$9*jR1_|ggJLROQ!3(KuqB0N0+TVvsyOZ)^HF)ePmORMChL%G&{t~+Q^ra=gM2xb z*hMIsNk+)m#-IcjQh70^xBvi}*PE%SuWe42PNN@QTz`m^TI2Izs7>;=2=>~8HV`LT zpffbT22kN_lnk)T{A(c}z+hl6vThLZ-fO`tzbXwNqRx0QaKk6ZK`m-yAIL;k+u@$5Dne!Ti=6 z<&PZ*W_`BcO}%|lbYWWLicfcYjU%VIO$WNSk+nmQ)}X2uqh6&jr#EWvu*I!jIIv->ndgv5ijYw@f_8+tbehLyp*)Jc>h&nur8EbOuS$G<{;7Z3)`+t!E0l9f8# z?$omuA#mF|Hm+KEXrPzz&bj@512UlW3Sk4KW}hkS%>Y?rRZBBqz1+uo3^WD@(#vcj zp$)f7@ol#ta~(f|Gs@Wa> zQS3_oCiKNykn~Z&L~Xfo4tXgvaotl{(LGW~=_9{;=hb+2+%7CeJWrU~qjmn7z$Blk zt?F_6^ZBJJex*{qXwV#3nW&&qy1z<1NB1^Q|L7~vl~Mj>)YM4O!pU`Rr2fmw6^5Vn zdy#tC-cCE1Wv79652K2m)?00;rXuLC|Kij#j&4CtdDie@pp^~~)hP>$J6J{EZvP!+ z5cU}5G4>Z?8Sc1s{B;*H_fuhlxKtc>YN+T-d6^jfMD$r{@B^TCe(c5^Bz=hH zz@FwO4r0x>d(<*Y3_stDqPG8I-G*Z7aB3sGk#+v=$PrDY|htsa8G45ps=Rb*N#GY>=E{}oXC)KEm4W?@(N6F#aq^T-DsOqhMmOX`%`JnLxafa`fa zuPvr1?~&|0q5kV>Hq^9ZnNDpc*JQfxS?Hr=GVA1OMT(onWn(EVgfBwIXS(=0U}3E3 zPN4suulTFVg}m!$wGy1U(|m;z;c7D7)K65gZ;P{_D{Ce!Rndwq@a+M%C#|E(zT&oR z*aXYItvf1ygbyb|zxwYf)f9nn1c3jOgFJuCOS}>o&zsl#Fx<3jlDpGP88D zVt2CquMzMs0FKWQB?DH(!$e75#q*+MaI-k^KWGW!(Zw)d84@uvI27FfFiK)?sb2Rn zB?MS|ng8QGVpOlz=6}`+y#H7a#s1SCMVt(-o9sV~kT~6|#`GVP zN&X*Zgd8p&RqDnUs3>iWNhc>h!U+baS1TNRD~ diff --git a/config.xml b/config.xml index a6d8545..ad8e666 100755 --- a/config.xml +++ b/config.xml @@ -7,13 +7,13 @@ AutoComplete 4b7058ef-4656-4aa4-ae9c-269c8a2810f8 - 3.2.1 - 2023-06-20 + 3.3.0 + 2026-03-06 Askia ]]> http://www.askia.com - + General diff --git a/resources/static/auto-complete.js b/resources/static/auto-complete.js index a2dc934..7523fcc 100755 --- a/resources/static/auto-complete.js +++ b/resources/static/auto-complete.js @@ -77,7 +77,6 @@ var autoComplete = (function(){ elem.attachEvent("on" + event, attachHandler); } } - function removeEvent(el, type, handler){ // if (el.removeEventListener) not working in IE11 if (el.detachEvent) el.detachEvent('on'+type, handler); else el.removeEventListener(type, handler); @@ -92,21 +91,35 @@ var autoComplete = (function(){ } function updateValue() { - if (o.questionType === 'single') { - if (o.responseInList != 1) { - document.getElementById(o.inputIds[0].toString()).value = that.value; - } else { - document.getElementById(o.inputIds[0].toString()).value = ''; - } - } else { - for (i = 0; n = o.inputIds.length, i < n; i++) { - if (o.dataFields()[i] == o.searchField && o.responseInList != 1) { - document.getElementById(o.inputIds[i].toString()).value = that.value; - } else { - document.getElementById(o.inputIds[i].toString()).value = ''; - } - } - } + if (o.questionType === 'single') { + if (o.responseInList != 1) { + document.getElementById(o.inputIds[0].toString()).value = that.value; + } else { + document.getElementById(o.inputIds[0].toString()).value = ''; + } + } else { + for (i = 0; n = o.inputIds.length, i < n; i++) { + if (o.dataFields()[i] == o.searchField && o.responseInList != 1) { + document.getElementById(o.inputIds[i].toString()).value = that.value; + } else { + document.getElementById(o.inputIds[i].toString()).value = ''; + } + } + } + } + + function escapeHtmlAttr(value) { + return String(value) + .replace(/&/g, '&') + .replace(/"/g, '"') + .replace(//g, '>'); + } + + function decodeHtmlAttr(value) { + var txt = document.createElement('textarea'); + txt.innerHTML = value; + return txt.value; } var o = { @@ -133,15 +146,12 @@ var autoComplete = (function(){ // escape special characters search = search.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$]/g, '\\$&'); var excapedSearchSeparator = o.searchSeparator.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$]/g, "\\$&"); - var splitRegExp = new RegExp(" |" + excapedSearchSeparator, "gi"); + var splitRegExp = new RegExp(" |" + excapedSearchSeparator,"gi"); var re = new RegExp(search.split(splitRegExp).join('|').replace(/\\\|/gi, "|"), "gi"); - - return '
' + - item.toString().replace(re, function (x) { return "" + x + ""; }) + - '
'; + return '
' + item.toString().replace(re, function (x) {return "" + x + "";}) + '
'; }, onSelect: function(e, term, item){ - var obj = (typeof item._fullData === 'string') ? JSON.parse(item._fullData) : item._fullData; + var obj = JSON.parse(decodeHtmlAttr(item.getAttribute('data-fullval'))); if (o.questionType === 'single') { document.getElementById(options.inputName).value = obj.inputValue; @@ -151,14 +161,14 @@ var autoComplete = (function(){ } else { var i = 0; for (var key in obj) { - if (options.inputIds.length > i) { - var attrValue = obj[key]; - document.getElementById(options.inputIds[i].toString()).value = attrValue.toString(); - var event = document.createEvent('HTMLEvents'); - event.initEvent('autocomplete', true, false); - document.getElementById(options.inputIds[i].toString()).dispatchEvent(event); - i++; - } + if (options.inputIds.length > i) { + var attrValue = obj[key]; + document.getElementById(options.inputIds[i].toString()).value = attrValue.toString(); + var event = document.createEvent('HTMLEvents'); + event.initEvent('autocomplete', true, false); + document.getElementById(options.inputIds[i].toString()).dispatchEvent(event); + i++; + } } } if (window.askia @@ -174,12 +184,12 @@ var autoComplete = (function(){ // init var elems = typeof o.selector == 'object' ? [o.selector] : document.querySelectorAll(o.selector); - for (var i = 0; n = elems.length, i < n; i++) { + for (var i=0; n = elems.length, i < n; i++) { var that = elems[i]; // create suggestions container "sc" that.sc = document.createElement('div'); - that.sc.className = 'autocomplete-suggestions ' + o.menuClass; + that.sc.className = 'autocomplete-suggestions '+o.menuClass; that.autocompleteAttr = that.getAttribute('autocomplete'); that.setAttribute('autocomplete', 'off'); @@ -223,14 +233,14 @@ var autoComplete = (function(){ this.className += ' selected'; var selectOnHover = window.value; - if (selectOnHover == "yes") { - that.value = this._value; + if(selectOnHover == "yes"){ + that.value = decodeHtmlAttr(this.getAttribute('data-val')); } }, that.sc); live('autocomplete-suggestion', 'mousedown', function(e){ if (hasClass(this, 'autocomplete-suggestion')) { // else outside click - var v = this._value; + var v = decodeHtmlAttr(this.getAttribute('data-val')); that.value = v; that.last_val = v; that.nchild = 1; @@ -244,53 +254,47 @@ var autoComplete = (function(){ if (!over_sb) { that.value = that.last_val; that.sc.style.display = 'none'; - if (e.relatedTarget !== null && hasClass(e.relatedTarget, "close-icon")) removeClass(document.querySelector('#adc_' + that.id.replace("adc_","").replace("_input","")), "marginbottom"); + if (e.relatedTarget !== null && hasClass(e.relatedTarget, "close-icon")) removeClass(document.querySelector('#adc_' + that.id.replace("adc_","").replace("_input","")),"marginbottom"); setTimeout(function(){ that.sc.style.display = 'none'; }, 350); // hide suggestions on fast input } else if (that !== document.activeElement) setTimeout(function(){ that.focus(); }, 20); }; addEvent(that, 'blur', that.blurHandler); - var suggest = function(data, fullData){ + var suggest = function(data,fullData){ var val = that.value; var nItem = 0; that.cache[val] = data; that.fullCache[val] = fullData; if (data.length && val.length >= o.minChars) { var s = ''; - for (var i = 0; n = data.length, i < n; i++) { + for (var i=0; n = data.length, i < n;i++) { s += o.renderItem(data[i], val, fullData[i]); nItem++; } that.sc.innerHTML = s; - var suggestionNodes = that.sc.querySelectorAll('.autocomplete-suggestion'); - for (var j = 0; j < suggestionNodes.length; j++) { - suggestionNodes[j]._value = data[j]; - suggestionNodes[j]._fullData = fullData[j]; - } - that.updateSC(0); that.nchild = nItem; document.querySelector('#adc_' + that.id.replace("adc_","").replace("_input","") + ' .nomatch').innerHTML = ''; - removeClass(document.querySelector('#adc_' + that.id.replace("adc_","").replace("_input","")), "marginbottom"); + removeClass(document.querySelector('#adc_' + that.id.replace("adc_","").replace("_input","")),"marginbottom"); // Auto select the only result found if (options.autoSelect == 'yes' & data.length == 1) { - let firstData = that.sc.firstElementChild; - var v = firstData._value; - that.value = v; - that.last_val = v; - that.nchild = 1; - o.onSelect(null, null, firstData); - setTimeout(function(){ - that.sc.style.display = 'none'; - }, 350); + let firstData = that.sc.firstElementChild; + var v = decodeHtmlAttr(firstData.getAttribute('data-val')); + that.value = v; + that.last_val = v; + that.nchild = 1; + o.onSelect(null, null, firstData); + setTimeout(function(){ + that.sc.style.display = 'none'; + }, 350); } } else { - that.sc.style.display = 'none'; + that.sc.style.display = 'none'; document.querySelector('#adc_' + that.id.replace("adc_","").replace("_input","") + ' .nomatch').innerHTML = o.noMatchFound; - addClass(document.querySelector('#adc_' + that.id.replace("adc_","").replace("_input","")), "marginbottom"); + addClass(document.querySelector('#adc_' + that.id.replace("adc_","").replace("_input","")),"marginbottom"); } }; @@ -303,13 +307,13 @@ var autoComplete = (function(){ if (!sel) { next = (key == 40) ? that.sc.querySelector('.autocomplete-suggestion') : that.sc.childNodes[that.sc.childNodes.length - 1]; // first : last next.className += ' selected'; - that.value = next._value; + that.value = decodeHtmlAttr(next.getAttribute('data-val')); } else { next = (key == 40) ? sel.nextSibling : sel.previousSibling; if (next) { sel.className = sel.className.replace(' selected', ''); next.className += ' selected'; - that.value = next._value; + that.value = decodeHtmlAttr(next.getAttribute('data-val')); } else { sel.className = sel.className.replace(' selected', ''); that.value = that.last_val; next = 0; } } @@ -321,8 +325,8 @@ var autoComplete = (function(){ // enter else if (key == 13) { if (sel && that.sc.style.display != 'none') { - o.onSelect(e, sel._value, sel); - that.last_val = sel._value; + o.onSelect(e, decodeHtmlAttr(sel.getAttribute('data-val')), sel); + that.last_val = decodeHtmlAttr(sel.getAttribute('data-val')); that.nchild = 1; setTimeout(function(){ that.sc.style.display = 'none'; }, 20); } @@ -340,23 +344,23 @@ var autoComplete = (function(){ var val = that.value; if (val.length >= o.minChars) { //if (val != that.last_val) { - that.last_val = val; - clearTimeout(that.timer); - if (o.cache) { - if (val in that.cache) { suggest(that.cache[val], that.fullCache[val]); return; } - // no requests if previous suggestions were empty - for (var i = 1; n = val.length - o.minChars, i < n; i++) { - var part = val.slice(0, val.length - i); - if (part in that.cache && !that.cache[part].length) { suggest([], []); return; } + that.last_val = val; + clearTimeout(that.timer); + if (o.cache) { + if (val in that.cache) { suggest(that.cache[val],that.fullCache[val]); return; } + // no requests if previous suggestions were empty + for (var i=1; n = val.length - o.minChars, i < n; i++) { + var part = val.slice(0, val.length-i); + if (part in that.cache && !that.cache[part].length) { suggest([],[]); return; } + } } - } - that.timer = setTimeout(function(){ o.source(val, suggest); }, o.delay); + that.timer = setTimeout(function(){ o.source(val, suggest); }, o.delay); //} } else { if (key != 13) that.last_val = val; that.sc.style.display = 'none'; document.querySelector('#adc_' + that.id.replace("adc_","").replace("_input","") + ' .nomatch').innerHTML = ''; - removeClass(document.querySelector('#adc_' + that.id.replace("adc_","").replace("_input","")), "marginbottom"); + removeClass(document.querySelector('#adc_' + that.id.replace("adc_","").replace("_input","")),"marginbottom"); } } }; @@ -366,12 +370,12 @@ var autoComplete = (function(){ if (that.nchild > 1) that.keyupHandler(e); }; //if (!o.minChars) - addEvent(that, 'focus', that.focusHandler); + addEvent(that, 'focus', that.focusHandler); } // public destroy method this.destroy = function(){ - for (var i = 0; n = elems.length, i < n; i++) { + for (var i=0; n = elems.length, i < n; i++) { var that = elems[i]; removeEvent(window, 'resize', that.updateSC); removeEvent(that, 'blur', that.blurHandler); @@ -396,6 +400,6 @@ var autoComplete = (function(){ else if (typeof module !== 'undefined' && module.exports) module.exports = autoComplete; else - autoComplete.databases = {}; - window.autoComplete = autoComplete; + autoComplete.databases = {}; + window.autoComplete = autoComplete; })(); \ No newline at end of file From fafe4d5b71369671ce34140a6ec627a159623bd1 Mon Sep 17 00:00:00 2001 From: AbomDocPhibes Date: Fri, 6 Mar 2026 12:01:10 -0500 Subject: [PATCH 08/12] Update single.html --- resources/dynamic/single.html | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/resources/dynamic/single.html b/resources/dynamic/single.html index e6c488f..43abf26 100644 --- a/resources/dynamic/single.html +++ b/resources/dynamic/single.html @@ -30,10 +30,18 @@ - - + +
{% Dim highlightInput = CurrentADC.PropValue("highlightInputOnError") From e81a2e4f0ef63a8d823706127692f45fdf9405c6 Mon Sep 17 00:00:00 2001 From: AbomDocPhibes Date: Fri, 6 Mar 2026 12:30:54 -0500 Subject: [PATCH 09/12] html value fixes used .replace to fix the improperly escaped inputvalues --- bin/AutoComplete.adc | Bin 17006 -> 17206 bytes resources/dynamic/open.html | 111 ++++++++++++++++-------------- resources/dynamic/single.html | 126 ++++++++++++++++++---------------- 3 files changed, 129 insertions(+), 108 deletions(-) diff --git a/bin/AutoComplete.adc b/bin/AutoComplete.adc index d2a53c0a6eb52cf13fe114bdbe98af0c68b4209b..3e02ebc27f6ffa573c032c86afc32007b78c22be 100644 GIT binary patch delta 2102 zcmZ9NdpOg5AIE=;Zj-f*Q5X+~rW{+8*w|vX<3mCTMZ<`492Qwh4&^ZB7$S+s`LIxQ zP*`Xox@iuHbhng4SrIpGzpm@K>v_Kaygr}L_5NPJ>-t^S=lhzE6KakZlCZaih=>CK zAO^HwYmg`q7H+@Bt`x>gfc&syKxm7sHpFfaGYB0J(#ZE9HjtBBU{6XeK*4qZ{c1=1 zH6ORg5y&J70sto4S%sKgtUd)OqsiITZcG;y(_dGwDSZO!U^^ytC+m1DGAZkvV^p5{ zjCy%Z%geri@{9JHM$Msq1$PwWF_MyoISb>D{;YVXypArps8&Ie%q$7eu30S5M(R&1 zg-rhL1+ATtPa3+;mq`@c=^VQ%M$v%_peQR5J5#K9zNxBHG^fMSheJj)xb{)G;zBls zh4A%;@W!CCZgOu^_39q}Tc*9bg^nIb$@=3|JvNu_9Szlsn~it>EG>5SA-VZ|V!gZrGC?RB1`U_q>hkOP&2G2C!?29IEUqwVk{wa%6(~{n$@%dat9)X+x$K z5+ZsjcXO1+TrlW_n|L4@#$kUI1AY;1Z=egGIdZQ!e&*kzXLfFbKx0Fept=T8o zQf(dys(PNw68!-)YF7?EDI6`!bh_ui#yGQA*wI_hY$OdPy>pJ5lH(BY6<;Q#wZsQY3AFFLV4 zYTi7YP%i3wVCi3|noqphuRK9Ru%>eq>U!92SDj!r zN^+&l1uhkroJ(LNh?n3^FZ=D)y~;ZOsHW9u@y0%mg5S*SM1F-fKN|VbBrE-MEk6AD zxmQ;ZuV%$Xl*x|s1mk)+U7Y&zWf=(cPaWHA7wdIFRAeclU&BQH@m}z^vw9?tw$;KOkPCc zkM-8<@2oicX+PU@cz=cE>jKB9qn;L>p%!UoQ-wE6dKV$;(w@r4E8Ey*w0*{YUV&IE zOyHFH<&#F(!yZ)f{qLMJHKD^?XDU4Kp{{3tUi*AO3;P`HW5~Szx^>pzq!>NLldFav zVzMuN7Uc(e81rek!ylzyI8C*$WMJL%4F(1u<9=OLAGbJcF!H-F0Kmmr?MfKN1Lw2; zW4efq`BTawep0>)oNpDj!Y-pV@dk6v^*R*PAB5eb=pNS0o!f#(b{UhU_XXY*T-=+s z_w)Cn!ZQ9EfHGsg9qIf+QifU`F~}K?B;_Q^g=VfS9BmYt{F3F>b^XJ31X8CO0z-0$ z<^m+DSG1pq71u&)pzP>w-I9y|?vbmlERvYVndp7cx-h2gNEd9^vc&j>LamED-=#=P z*UYa)jjC3c<4=*cHMDwBqeV#_EmBd~asQ~(N{N>mLo*$^Ga8%7bq4Rsg|}Ai%8|K` z-%bQ%`j*y(R4vx3deiX7rW+kB5T0LT%&OQ3ihsImhSQC3Wma2oo`3<_`OWsX2SnU_ zDRlRJkIMAuXQM5z0@b^ggGeEVsg$yyaV}_R)Aaiy);-^vA5H}V}IG^-a)2rU-+WOxc?d#C)sg{ z+9TCA^7vq=ilumZTUT>|FN{<4>8t1R;<1zFJ0k2ChK|az(Ds$f!@N(^Xyk2?2O5qv z&2y+f<)8F>u);qp5=tR*7K^KO|jQyH(#tCltay?U3#3N%QzRMnp9^?rXC~P?0Is!e!|U_ zpW2*eAhVXY0UH{vcrUUmaLuK7WLU~_G%u#XrY?YM2)VHkP&GL393arnoUV3O>AM?u zSS~ca>V^ov?vSyZz`8iqf?pYrd#Gv^Q9UtwXccC^{TGd~(=qv=x7gZhC=t+2W*XXH z8>Rt=fV`p^gapUS_=6zy2nHbh2>Kw32?s#%2qqxpOsqiom^grFHL(F9X6pR^stYhR zQUdMwb14BpVauvNkE}B5CPrS@H|%VHy|s`q3iz*decYUH+Mo0i0syNmZOZ?=u~pfs zZe3Df=@3C3v+zW;@T}U_M4A;ul>YI(U(=HRGzhTT!@5mW`VnG6)~~+UdMTR306^uR n5LoE$VZ9^j{s`I8O-A&P0HA0C0LuRpB5JYpNw{qd1aSH{XIZQ; delta 1842 zcmY+Fc{tnY7RMt|6_O~Tw3bm@?OViBf@CZaD(FRP8KEY)Q?!;=MdCzX3|w$4&!SK4t+xMezfGeZ_@Cuosj*LIKIw zc%#Urki#zhYxBfQFbMR!EC{5|SkO>mywHSFSwW%R>R4ok>aN0Xzea)k>)YdlI{by% zv^#kNWjcSpD5$)OV)J+&?wbpaG33N)x7IhAbsshSra*OhmYDLU7zlu9KFxJDJjnN>mLlBph$VkvE=wcuD5QN2aN^>-8H6a zi3HU!1Ll;r=$Sxo;A)&!l517$8Saj_mVM-p;@h?GH@2qI)m}9(gyS8u5Qpe(!goz7 zu@%^>?8Mxck*Zm7l+hc7Hj=uM?%|!F>`vS>`yGpN<0a!Jl+*rYO2D7@Of+GLWk_YS z*?L+7A#R3T1s9Rdn#JY~!ap0jV5m>q?aMW^@~(vB!16H5Wsb8oawlUR3nd$QQg+Jm z`pO=NYRlT$et+GuQ^fOGy!gP-bhq*v`9B;qx63C|x|>%HCL>1uyevar-|u|ZWoX(- zKcY7|oTIr%HaY&wR`2K|)za24X@Rd&*OB^|Jr7|H5x!=qtPomH47H&5??@&j|j$ zm4E;Z*9{h*o7{Fv<$t2(me3M8bR9kJJ4G|@oX#~DTc`N3cq(d*P!q@6MN9k)2uWG$ z`_-*$^mM(!Y^ycIKKv22Twv6aa^|O))c^;k&(Bxx=EsDX9<|^T7tRfB(cDSUjMu8@ zGTn!zIjre%&&yRVCA)!;#-IvU1*1Mzm|f;8)7F0?7DhUf4d4a;*gT=ND#qAcST@bM zInqa6zeZ;(D{p1J{rBn*#Qcpl8Ri@o&+POeFVa_^+}b8S_ZkRI$eeH*7Ta6ribW6w z=}}Q|SXY~`rPCz~jdv!kzek<Gyt0E3(Fp$|p^6ZANjvY|;@%hktVK*MXJfA#<8TjT!Tk`cR z-h?}JOrC~}9o-4IE;I|(C5xc(Y6j78_=H`l%GsGCcg+j$A6{>;#^g4fYcSHb6 zcDw{vbQ3QhNL^xKF4WEU7Ay5?&E0PFRDN%mzLWWcQlt>^z+};R*4eWQ&4Y;T&mJ$g zF~MPFnllz9QIK)By6rVj%h?{-rwx02!%&5knObz0(@K3tUhnc=K<2p5x?%H;#~C2s zrYzf$?<#gRXsXjL=6w|~q+(mQc22*yLz2O(;ou*$sqe=h_`C07@sfn4`MPG=pBp+2 zd)un`)=KD|hbudZG_QnnpX;Db0&7*=y~kr|jRDV+Xj{n$t0@`l9WPsM=my_2;lzU| z_4pB+x$x5oDIE64f#ej(Hx8!Ll;6~7owVlFh3Sip*d9C}He9rZkr zobk3j`35o ze~)0;U>&uA(AVJsfiw^8=<8|HW-MwT8Di{FhTkb^MjIBeCdMPI2Kc7#|6Wx7D&e+Y z&@u}FfdbV)AdRp84{tj9e - window.value = '{%= selectOnHover %}'; - - - -{% - Next idxPA -%} -
- {% - Dim highlightInput = CurrentADC.PropValue("highlightInputOnError") - Dim highlightConditionBlockingMessage = CurrentADC.PropValue("highlightConditionBlockingErrorMessage").ToLowerCase().Trim() - Dim highlightConditionNonBlockingMessage = CurrentADC.PropValue("highlightConditionNonBlockingErrorMessage").ToLowerCase().Trim() -Dim classHighlight = On(highlightInput = "yes" And highlightConditionBlockingMessage = "true"," blocking_errormessage",On(highlightInput = "yes" And highlightConditionNonBlockingMessage = "true"," nonblocking_errormessage","")) -Dim placeholder = CurrentADC.PropValue("placeholder") - %} - - - -
+{% + ' Input settings + Dim inputId + Dim inputName + Dim inputValue + Dim inputSearchValue = "" + + ' Get properties + Dim autofocus = "" + If (CurrentADC.PropValue("autofocus") = "autofocus") Then + autofocus = "autofocus" + EndIf + + Dim selectOnHover = CurrentADC.PropValue("selectOnHover") + + Dim arrParentAnswers = CurrentQuestion.ParentLoop.Answers + Dim idxPA + + For idxPA = 1 To arrParentAnswers.Count + inputName = CurrentQuestion.Iteration(arrParentAnswers[idxPA].Index).InputName() + inputId = inputName + inputValue = CurrentQuestion.Iteration(arrParentAnswers[idxPA].Index).InputValue() + + ' Get selected answer + If (arrParentAnswers[idxPA].Caption = CurrentADC.PropValue("searchField")) Then + inputSearchValue = CurrentQuestion.Iteration(arrParentAnswers[idxPA].Index).InputValue() + EndIf + + ' Safe escaped value for hidden open-end input + Dim safeInputValue = inputValue + safeInputValue = safeInputValue.Replace("&", "&").Replace(Chr(34), """).Replace("<", "<").Replace(">", ">") +%} + + + +{% + Next idxPA + + Dim highlightInput = CurrentADC.PropValue("highlightInputOnError") + Dim highlightConditionBlockingMessage = CurrentADC.PropValue("highlightConditionBlockingErrorMessage").ToLowerCase().Trim() + Dim highlightConditionNonBlockingMessage = CurrentADC.PropValue("highlightConditionNonBlockingErrorMessage").ToLowerCase().Trim() + Dim classHighlight = On(highlightInput = "yes" And highlightConditionBlockingMessage = "true"," blocking_errormessage",On(highlightInput = "yes" And highlightConditionNonBlockingMessage = "true"," nonblocking_errormessage","")) + Dim placeholder = CurrentADC.PropValue("placeholder") + + ' Safe escaped value for visible search input + Dim safeInputSearchValue = inputSearchValue + safeInputSearchValue = safeInputSearchValue.Replace("&", "&").Replace(Chr(34), """).Replace("<", "<").Replace(">", ">") + + ' Safe escaped placeholder + Dim safePlaceholder = placeholder + safePlaceholder = safePlaceholder.Replace("&", "&").Replace(Chr(34), """).Replace("<", "<").Replace(">", ">") +%} +
+ + + +
\ No newline at end of file diff --git a/resources/dynamic/single.html b/resources/dynamic/single.html index 43abf26..6fcdadb 100644 --- a/resources/dynamic/single.html +++ b/resources/dynamic/single.html @@ -1,58 +1,68 @@ -{% - ' Input settings - Dim inputId - Dim inputName - Dim inputValue - Dim inputSearchValue = "" - - ' Get properties - Dim autofocus = "" - If (CurrentADC.PropValue("autofocus") = "autofocus") Then - autofocus = "autofocus" - EndIf - - Dim selectOnHover = CurrentADC.PropValue("selectOnHover") - - - ' Generate input fields - inputName = CurrentQuestion.InputName() - inputId = inputName - inputValue = CurrentQuestion.InputValue() - - ' Get selected answer - Dim arrAnswers = CurrentQuestion.Answers - Dim idxA - - For idxA = 1 To arrAnswers.Count - inputSearchValue = arrAnswers[idxA].Caption - Next idxA - %} - - - - - -
- {% - Dim highlightInput = CurrentADC.PropValue("highlightInputOnError") - Dim highlightConditionBlockingMessage = CurrentADC.PropValue("highlightConditionBlockingErrorMessage").ToLowerCase().Trim() - Dim highlightConditionNonBlockingMessage = CurrentADC.PropValue("highlightConditionNonBlockingErrorMessage").ToLowerCase().Trim() - Dim classHighlight = On(highlightInput = "yes" And highlightConditionBlockingMessage = "true"," blocking_errormessage",On(highlightInput = "yes" And highlightConditionNonBlockingMessage = "true"," nonblocking_errormessage","")) - Dim placeholder = CurrentADC.PropValue("placeholder") - %} - - - -
+{% + ' Input settings + Dim inputId + Dim inputName + Dim inputValue + Dim inputSearchValue = "" + + ' Get properties + Dim autofocus = "" + If (CurrentADC.PropValue("autofocus") = "autofocus") Then + autofocus = "autofocus" + EndIf + + Dim selectOnHover = CurrentADC.PropValue("selectOnHover") + + ' Generate input fields + inputName = CurrentQuestion.InputName() + inputId = inputName + inputValue = CurrentQuestion.InputValue() + + ' Get selected answer + Dim arrAnswers = CurrentQuestion.Answers + Dim idxA + + For idxA = 1 To arrAnswers.Count + inputSearchValue = arrAnswers[idxA].Caption + Next idxA + + Dim highlightInput = CurrentADC.PropValue("highlightInputOnError") + Dim highlightConditionBlockingMessage = CurrentADC.PropValue("highlightConditionBlockingErrorMessage").ToLowerCase().Trim() + Dim highlightConditionNonBlockingMessage = CurrentADC.PropValue("highlightConditionNonBlockingErrorMessage").ToLowerCase().Trim() + Dim classHighlight = On(highlightInput = "yes" And highlightConditionBlockingMessage = "true"," blocking_errormessage",On(highlightInput = "yes" And highlightConditionNonBlockingMessage = "true"," nonblocking_errormessage","")) + Dim placeholder = CurrentADC.PropValue("placeholder") + Dim safeInputValue = inputValue + Dim safeInputSearchValue = inputSearchValue + Dim safePlaceholder = placeholder + + + ' Escape for HTML attributes + safeInputValue = safeInputValue.Replace("&", "&").Replace(Chr(34), """).Replace("<", "<").Replace(">", ">") + safeInputSearchValue = safeInputSearchValue.Replace("&", "&").Replace(Chr(34), """).Replace("<", "<").Replace(">", ">") + safePlaceholder = safePlaceholder.Replace("&", "&").Replace(Chr(34), """).Replace("<", "<").Replace(">", ">") +%} + + + + +
+ + + +
\ No newline at end of file From de14b4e13c1c056ad707b25ce408f7fe78fb8f04 Mon Sep 17 00:00:00 2001 From: AbomDocPhibes Date: Tue, 10 Mar 2026 09:00:42 -0400 Subject: [PATCH 10/12] Update changelog.md --- changelog.md | 1 + 1 file changed, 1 insertion(+) diff --git a/changelog.md b/changelog.md index 1a3a363..c7f0f0e 100755 --- a/changelog.md +++ b/changelog.md @@ -19,3 +19,4 @@ * v3.1.6 - 2021/03/31 - Prabath Gamage - json encode/parse issue fixed * v3.2.0 - 2021/11/10 - Prabath Gamage - Auto select when one result found * v3.2.1 - 2023/06/20 - Prabath Gamage - A tiny functional fix +* v3.3.10 - 2026/06/10 - Jordan Grindle - overhaul of the JS and HTML files to allow the use of double quotes without breaking the control \ No newline at end of file From 261fed2178469c5f35d5f561db66f90f36f2b1cc Mon Sep 17 00:00:00 2001 From: AbomDocPhibes Date: Wed, 11 Mar 2026 09:56:35 -0400 Subject: [PATCH 11/12] changelog & config change --- changelog.md | 3 ++- config.xml | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/changelog.md b/changelog.md index c7f0f0e..319ecdf 100755 --- a/changelog.md +++ b/changelog.md @@ -19,4 +19,5 @@ * v3.1.6 - 2021/03/31 - Prabath Gamage - json encode/parse issue fixed * v3.2.0 - 2021/11/10 - Prabath Gamage - Auto select when one result found * v3.2.1 - 2023/06/20 - Prabath Gamage - A tiny functional fix -* v3.3.10 - 2026/06/10 - Jordan Grindle - overhaul of the JS and HTML files to allow the use of double quotes without breaking the control \ No newline at end of file +* v3.3.0 - 2026/06/10 - Jordan Grindle - overhaul of the JS and HTML files to allow the use of double quotes without breaking the control +v3.3.1 - 2026/06/11 - Jordan Grindle - change of double quote syntax to accomodate 5.5 survey engine \ No newline at end of file diff --git a/config.xml b/config.xml index ad8e666..7cca9d9 100755 --- a/config.xml +++ b/config.xml @@ -7,8 +7,8 @@ AutoComplete 4b7058ef-4656-4aa4-ae9c-269c8a2810f8 - 3.3.0 - 2026-03-06 + 3.3.1 + 2026-03-11 Askia ]]> From 1beb4293bfb456fa498f27b0b89f9e3942ba44cc Mon Sep 17 00:00:00 2001 From: AbomDocPhibes Date: Wed, 11 Mar 2026 11:48:52 -0400 Subject: [PATCH 12/12] 5.5 syntax fix removed Chr(32) syntax as 5.5 wouldnt accept it --- bin/AutoComplete.adc | Bin 17206 -> 17587 bytes resources/dynamic/open.html | 27 ++++++++++++++++++++------- resources/dynamic/single.html | 23 +++++++++++++++++++---- 3 files changed, 39 insertions(+), 11 deletions(-) diff --git a/bin/AutoComplete.adc b/bin/AutoComplete.adc index 3e02ebc27f6ffa573c032c86afc32007b78c22be..59b83cf14ec83a4e46330b59f02b891f0bba874b 100644 GIT binary patch delta 6442 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 A`Tzg` delta 5995 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 diff --git a/resources/dynamic/open.html b/resources/dynamic/open.html index e00901f..23511f1 100644 --- a/resources/dynamic/open.html +++ b/resources/dynamic/open.html @@ -28,7 +28,7 @@ ' Safe escaped value for hidden open-end input Dim safeInputValue = inputValue - safeInputValue = safeInputValue.Replace("&", "&").Replace(Chr(34), """).Replace("<", "<").Replace(">", ">") + safeInputValue = safeInputValue.Replace("&", "&").Replace("<", "<").Replace(">", ">") %} +
\ No newline at end of file diff --git a/resources/dynamic/single.html b/resources/dynamic/single.html index 6fcdadb..ac34162 100644 --- a/resources/dynamic/single.html +++ b/resources/dynamic/single.html @@ -34,12 +34,13 @@ Dim safeInputValue = inputValue Dim safeInputSearchValue = inputSearchValue Dim safePlaceholder = placeholder + ' Escape for HTML attributes - safeInputValue = safeInputValue.Replace("&", "&").Replace(Chr(34), """).Replace("<", "<").Replace(">", ">") - safeInputSearchValue = safeInputSearchValue.Replace("&", "&").Replace(Chr(34), """).Replace("<", "<").Replace(">", ">") - safePlaceholder = safePlaceholder.Replace("&", "&").Replace(Chr(34), """).Replace("<", "<").Replace(">", ">") + safeInputValue = safeInputValue.Replace("&", "&").Replace("<", "<").Replace(">", ">") + safeInputSearchValue = safeInputSearchValue.Replace("&", "&").Replace("<", "<").Replace(">", ">") + safePlaceholder = safePlaceholder.Replace("&", "&").Replace("<", "<").Replace(">", ">") %} +
\ No newline at end of file