From 845e0c801daf83773e1f2e055f5d777fc2ae78eb Mon Sep 17 00:00:00 2001 From: Pieter Lambrecht Date: Tue, 27 Sep 2022 02:10:08 +0200 Subject: [PATCH] add js cleanGetUrl --- netbox/project-static/dist/lldp.js | Bin 107347 -> 107347 bytes netbox/project-static/dist/netbox.js.map | Bin 344131 -> 344131 bytes netbox/project-static/src/netbox.ts | 3 ++ netbox/project-static/src/util.ts | 28 ++++++++++++++++++ netbox/templates/inc/filter_list.html | 16 +--------- netbox/templates/search.html | 2 +- .../utilities/templates/search/searchbar.html | 2 +- 7 files changed, 34 insertions(+), 17 deletions(-) diff --git a/netbox/project-static/dist/lldp.js b/netbox/project-static/dist/lldp.js index c77672ff6e5e87adf55c8d80471468251ffad80b..04805acc6b3159803cb1a7e115b674a0ec77d018 100644 GIT binary patch delta 1612 zcmZ8geQXp}5YM#NLs~3Q5$FeP?^??qESD-EaL4x2rXMLS1(L<8$F<#e-Md@3-M#K@ zOUqpq6cC8ezzUlRDTzcHH4t$_E-Gr#*nlD$NhE{>%7=;piN?f`6vTN4sPUhf_xsJv z@6DU{-nmixxl#N38#93zn=%K0SW|66wu5jnL5qv^QB}|x+2yVC2LqfGZxLD;;__8` zh-KtL4%Y0=UyL2pjSf>+=QcZAf^Q%+Dk4Sa&?aRJ-~$QSa82QewTlWJX3l@yb3%?~93Q zs8r@SXI$4LCG7MOW2Cmw_{v+7M>yHV>JcgK7XlpdDGag3y;Zam4_979T;4vnq>C~~ zSX{&#mAEb_Iu}ePiM4^-4|e2T31SucOxmzjU5oZkwF|AYrWvhTGaJui)@ZcV?1rLZ z;+6$1EGf-mNN065<_Wsd&Xd!Y7_|)!Obj(tVAakBn=O~P60#e24TnXIA;!U`f&Wp~ z(&iUn7UAe2++k5~#CGWw;NXG}#zL$Qmj6L7?C`2ZD0^wua1QXs*1%_I>)Sp-%GUlo z0B;34@*syOoKqGg#mVx<24R_vC@gQC67JE2(cqR$bj{(iY?O<2&BfXSU4GQI?&yA; zn#K1FPDR<cJff zZ8CQko!GOxa-opdIe#x(9&k%ar`Wq9#B{l;xJouEa=g(#(1tai4ji3`HS*wn1oE4C z^x`(|rz3o8|2QfS9dKY^refwubHUr=D~dx9O^&SM`IOd%TQbax86Fi(g{bV$#g@nGWaGg~rw&1D{2 z3RPC?H-FilBqHb3q;N!cvb`FY@UPGUc;vO;57QCm{qQ;+=)v>H=>UeV7g*|rF*?AN z7uV4EkxO6DK-bvm2VrCNl>uD+c%>7A%dS55s7k(8Np*&<2kGoGZm2m#^ynPNt<`Kzk?M7t|J~%*DK|TG>#&UNS)$C7<>Rb#YgdOB!W>XxDFGn z6SvZPfB9=WNR)YD~f*@o;?2J+FHb6Id9T+PBL)~1T)!)*L_ zW^ENjkv>)hA5TC@xgPuoPuIgDS`1Bai1zt*D-6;qUmM(|R&;rI(|i@qV@%x)ahiK= s3tY&t@j;H5BfH@~wmz~4uHcI{(a%hM^ad1DaA7a}jIopZV9%t#0n0o!W&i*H delta 1612 zcmZ8geQXp}5YM#NLs~3Q5$FeP?^??qESD-EaL4x2rXMLS1(JtVk88Vo-Md@3-M#K@ zOUqpq6cC8ezzUlRDTzcHH4t$_E-Gr#*nlD$NhE{>%7=;piN?f`6vTN4sPUhf_xsJv z@6DU{-nmixxl#N38#93zn=%K0SW|6$wu5jnUW<$MQI*#j+2yVC2LqfGZ{b@Q;__8` zh-KtL4%Y0=UyL2pjSf>+=QcZAf^Q%+Dk4Sa&?aRJ-~$QSa82QewTlWJX3l@yb3%?~93Q zs8r@SXI$4LCG7MOW2Cmw_{v+7M>yHV>JcgK=K~z^DGag3y;Zam4_979T;4vnq>C~~ zSX{&#mAK9;Iu}ePiM4^-4|e2T31SucOxmzjU5oZkwF|AYrWvhTGaJui)@ZcV?1rLZ z;+A)Sp-%GUlo zfM5kW@*syOoKxl{#mNfB27Z~1D6C+e;_uOf(cqR$bj{(iY?O<2&BfXSU4GQI?&yA; znnijBr=slb*M4#mPI8M;Q5F?F?(g*Ro=|}8HIP=dlk9rVx#Dx;uHDpU1}}I;7{$crbDInJt-u<}!~h zg(|D{o4;&N5|MLiQaGYJ*_gLHNoH`E*=dUTHC*6KcD zC2veZF=PA9&1iFP$<>0`-@)=c*Ab7X>y`3E8b=XFq)zc63_gIJ;-h#s62YhxT!#tP ziCgKtzx=fwC7-(O1L2T(I|J9D-;QG=MZafFK8oW?=*pGJsLa&P(^WXlsx5=s+HT_^T+$I_(_$&ij;9_8_t ztoD0nCxMW1XM-IFmRgttd$H@(*N?*?iq*-WVaKVfc~A=(gf}NngITG%X|N*;+3)gU zp&f{6FNJvs7nDLTEjr?WHJGfLEw4aD>gh7LY(sV`1NrF9xh%L4u4Z8rYg0w@VK)9d zv$hJNNFS?$k0+p{Tn~PPr|V%6ErupIMEiWZ6$WXQuMKWareX@rN7t@E1l=hGHeynv z3KqUg^JG6vH=pQ%naHs{Fo$xjNvK4(EeWmY#*$Eo?rstm7YOc{CiXBYyCLdwhg7YO z4@Q_cSCtUVmVVGs1ND~B^Nqg*m+6o$Zi1tbE4V}W51G{}E4n;_X}${QF{W;YIL*Db r1uo>+gdj)Ek=<|~TOZj2SMWuf=x3%rdIO3nxUd&~#@NYyuxHZWy9+cx diff --git a/netbox/project-static/dist/netbox.js.map b/netbox/project-static/dist/netbox.js.map index 6c04b98492d90c796f99551c465047e79b0ea2d4..3598eb7b036501f7c4521cf0a66358a6fc26730c 100644 GIT binary patch delta 27 icmX@yAbPk#w4sHug{g(Pg=Gt?xjm!vb_;t}Zbkrx+6Vmr delta 27 icmX@yAbPk#w4sHug{g(Pg=Gt?xjm!Xb_;t}Zbkrx?+5?@ diff --git a/netbox/project-static/src/netbox.ts b/netbox/project-static/src/netbox.ts index c178a2dbd..4f75e6e75 100644 --- a/netbox/project-static/src/netbox.ts +++ b/netbox/project-static/src/netbox.ts @@ -14,6 +14,9 @@ import { initRackElevation } from './racks'; import { initLinks } from './links'; import { initHtmx } from './htmx'; +// @ts-ignore +import { cleanGetUrl } from './util'; + function initDocument(): void { for (const init of [ initBootstrap, diff --git a/netbox/project-static/src/util.ts b/netbox/project-static/src/util.ts index 9f6ff100d..51999e7e9 100644 --- a/netbox/project-static/src/util.ts +++ b/netbox/project-static/src/util.ts @@ -477,3 +477,31 @@ export function replaceAll(input: string, pattern: string | RegExp, replacement: return input.replace(pattern, replacement); } + + +/** + * Disable empty FormElemnts before submitting the form. + * + * @param targetform HTMLFormElement where the FormElements need to be disabled. + */ + +export function cleanGetUrl(targetform: HTMLFormElement) { + + var form_elements = targetform.elements; + + for (const element of form_elements) { + // The SELECT statement requires a different approach. It depends on the selectedIndex, rather that the value. + switch (element.nodeName) { + case "SELECT": + const selectElement = element as HTMLSelectElement; + if (selectElement.selectedIndex == null || selectElement.selectedIndex == -1 || selectElement[selectElement.selectedIndex].getAttribute('value') == '') { + element.setAttribute('disabled',''); + } + break; + default: + if (element.getAttribute('value') == null) { + element.setAttribute('disabled',''); + } + } + } +} \ No newline at end of file diff --git a/netbox/templates/inc/filter_list.html b/netbox/templates/inc/filter_list.html index c52739a88..15db4fa31 100644 --- a/netbox/templates/inc/filter_list.html +++ b/netbox/templates/inc/filter_list.html @@ -1,21 +1,7 @@ {% load form_helpers %} {% load helpers %} - - -
+
{% for field in filter_form.hidden_fields %} diff --git a/netbox/templates/search.html b/netbox/templates/search.html index a47b48b09..f8a0827ba 100644 --- a/netbox/templates/search.html +++ b/netbox/templates/search.html @@ -66,7 +66,7 @@ {% else %}
- +
Search diff --git a/netbox/utilities/templates/search/searchbar.html b/netbox/utilities/templates/search/searchbar.html index 74d12e9b9..3ae53c244 100644 --- a/netbox/utilities/templates/search/searchbar.html +++ b/netbox/utilities/templates/search/searchbar.html @@ -1,4 +1,4 @@ - +