From da67a353284b5b1a0057a226c13e7463997dae8a Mon Sep 17 00:00:00 2001 From: Matt Date: Thu, 5 Aug 2021 09:28:25 -0700 Subject: [PATCH] #6797: Automatically collapse inactive sections in the sidenav --- netbox/project-static/dist/config.js | Bin 107869 -> 107902 bytes netbox/project-static/dist/config.js.map | Bin 410083 -> 410290 bytes netbox/project-static/dist/jobs.js | Bin 108289 -> 108322 bytes netbox/project-static/dist/jobs.js.map | Bin 412248 -> 412455 bytes netbox/project-static/dist/lldp.js | Bin 108567 -> 108600 bytes netbox/project-static/dist/lldp.js.map | Bin 412597 -> 412804 bytes netbox/project-static/dist/netbox.js | Bin 313457 -> 314111 bytes netbox/project-static/dist/netbox.js.map | Bin 1119918 -> 1122832 bytes netbox/project-static/dist/status.js | Bin 127964 -> 128001 bytes netbox/project-static/dist/status.js.map | Bin 460850 -> 461058 bytes netbox/project-static/src/bs.ts | 3 +- netbox/project-static/src/global.d.ts | 5 ++ netbox/project-static/src/sidenav.ts | 68 ++++++++++++++++++++++ netbox/project-static/styles/sidenav.scss | 4 -- 14 files changed, 75 insertions(+), 5 deletions(-) diff --git a/netbox/project-static/dist/config.js b/netbox/project-static/dist/config.js index f797ea52ebe389c8c2a215982cfb25c624866281..14b9df04f719fffe258d1239e9fc42025e014034 100644 GIT binary patch delta 1297 zcmYk3YfKzf6vuOx0?X4@BS=A@25~k!Yy)YmE>2J>k8T4f5L+a;Om;6jBeQd-J9l?k zwhgI9u{5-jDP2wQL2ESujZMbvXreLI4@PRlXkv`oPii&B^6-P!Xj{)L3+b2tx&Pli z=ggdQFE8cYSjxN5o2zXc36xBp?g z;+?;iXR^B_K4|o8?>6^0eNtmz^om6o)S>U3AR8Sclc>uh&!YB)o&ecg2z^@QV9ZeU zpCDxPvb_*8r`U@QWM*aj>l{0-jPu3dH!3GB@SERErU1?8@qKpLh2#HV*}_y6>St4@ zKs64YkU=#so@fE=4%1EBknNdqBO9Jsax@a=N=68aM%3Cq<_Sm=Lzpjh9}37qdI(@7YaQ!x(Ak_J-w#?2-4&LVrtxUA4Q({Rndt=I&$e zZtnmdjhE-E>@m~x@8f{<>@nQV`q}^TaRDm}Wwn0BDfSGEjIlN)^TRIh;1I7-O(PMn z->h3~2YZ8~Z;v~n&AjqnFF?$AFdasHEBzd5gEbE^bJ@DKqdvg|mBeeiM2)XwLQ*G; zlX=DyS2DpolBjdC>&TIWarN_ZNEo?G9~W=o`uc?N)zW=;Z2{NDiklU}YKf3AZo9M# z5@zG2u5I`i6U#pqIw(ttxzK2y{9d{PXsTu(l$j+f2LPxsu=*&p8FQ5YUj47`C~9Mz>S|_^tb2@$*LND}>px@O+>P_7tvAo1{&w>h@Xap6B=$N4P>o>> z;9lrYy$bNcL_a$^%!fo_SdxQ5qShrdz>h$eXgq7%vUc-2hCZOkfzj-JfZposlI=1! zjUpT+i6D({lx1-OYY|7aOs#d^0oQVKVvI{c0hC*o6E5dM%$hBQL-^3vN*Q>Z=`aM~E#bpiZ@0A4)8H#@Zl#JMYB~{o&2d@9 hm3q2pP*jA2Y}5BsQD?&VEuJb&)&$8apM&;-{{iIs-h%)D delta 1268 zcmYjOZA@Eb6wbMYt{;qS&J`iZ$HKPTP)fk*2({^y6$AxjH0nfBZra=48`^sd_if9^ z$TF9SgAm7Fw)?|Pg=tL2K3p#DYIHG~@yANCB}*h`albU0=pxLRZDz_mw{*lm=bYy` z&vWvg^R8yhw=?F?IvGf4uQJn&B|%vBP1&W;vzC{&UHOs;8)qyZZ@~1@rX|2s{=^*v z6_os1lvTG2t}yM~)S1yP{(-{T`t(|d{5aRTDy&Ugr5?SIJO~kkmALk{~NN8}T z3q_Y^`mG{i_Zc!?+kT=GkW8Lz0isjaZl51{A zLh`1lJ@ZY$x^Tyi6kW>fME`2WfpP0%C8V_7i|u(3)Q;Tv(Z)zbJvIb&+RQCsivcbj z28Z_KA8h~<4KBY3K{~fQk9EgNDaQVlJs8ie^gJsOcZeI5lL{Ye#T^GD_#v#=Lwa4< ziSndXQV1vIIHz;W>FHu6?fJVrQ0~?)^*I&_)rp;8)9(Cv)x^kzUc7e*lU8?s*@SPa ze5f$yAYmn^hsuAI(=Y%1*${oO`iYVDK00Hhy8Bz`!$&u+=YwBAUI=ekAgKTD0JjBkNjYpR zw&L1E5EZ9Kt!#n@U1)&wHWWFU;1@d+$o|(hy`mF5g=l%J7rx$Xu=sHkrY<(1ek#KN z1k~aL{00F%ZvX_q93Om2JtQyU7 zp>-}va#Rwjh#X2PA}*X2MIJNqx+shko|?}ogf*DGeAbdcV(sz<+~|tuurX5Crl75` dC?InR@s1ErT9oj*?shrM#k{ZU4X2>l`X4J7)|&tT diff --git a/netbox/project-static/dist/config.js.map b/netbox/project-static/dist/config.js.map index 01bca10ef3cbe56faf2e52ebb1ede271f5522d46..a955a375917373deba50875968e0cf65a5d62ffa 100644 GIT binary patch delta 411 zcmaFdEV-#wvY~~sg{g&k3yW3-r*nQzPGUiEs?K!H3YLTQ`uYlvDJcrc`MJ6Ic?wSX z`6b0AMTrFG7p9fjh2g_4ZaN`>6SN`<6Upt8K;(%jS( zh4h^Kq{N(@N(GIAqRiaHqD&w&Ex#xx4`@L_PHB2(Ua_WLOdiA>J(wdDxNH?*?CJk1 zSfr-Es$h{549U;WDakBQuvLJvwu@G>IIUug+#aFKI-7;jeft-6*7GdWZ&-^AL<=(_#kCf0py zK<TfF{N5VO`YVR1je5q~q`C z=&uv(=oqf!>gb#U<@-812I{ywI;TOT(YS$*j-fzV1E;X<%C>9)%#8ZmOB~qp838oo Biz5I4 delta 208 zcmdngD*3osvY~~sg{g&k3yW68bdw5}1JkEhvdB$uuVfL}ezKCqeidW*c1{)6*({8% z+m~vvo(IvTx~%pBKzge!tE4=TJ|Dx%!waPEWU^MdP8XQTYPP+5J!>^Hqx*FB&8(e_ z?%OABX5GgI2MC@~{CEj1&ki!*bajnVmcA-reo8 zZ3r60($Gq7>1xCW)M^46n~d4jL}RKSjMRY9XpE0fYBk34@PpQ9t!I{n^vnO;|L>l2 zX3n`2D_ILGSr(6ak$z)*4X@21P& z`%7^uyIU7^-m$ygXs!FG!o28|^Dt=r-&jH6&BK$ZtHV#Bc6lEI#aQ%yoM&N-Yr!AE z%RAXY@ETL>ISVqQH1b7;8P~?dd~oy9$t1XqFDK)GX5_>nv+Tl&zp-p_stom$snekG z?vn~=#>JBjfZbubZWpoxGj?PHGs~7*!fdesVWEIl*~J_ls(EB4JRu;KBuOO=jf%j; zn6Anm;wKt&65e;_5g`1nGb1?~6FSW_#n?C70SHIWHUlx|v7MOy|$P`Zi{_%-^w}u$op<)9&;tHR+@1Ql!C#8nbGDo&5o3C(Pc(?Cs7T zJn|Rj%giwo^Y7w-bYTLwv$^nZHZEXov8d9`1l62@k)zC|rheGw?CTeGs_P`+bQ@Jm zO<-)Hvo2-jfOo{~w6BLn& z#1@M(hffX)itX63D8KS)F+_Rh@`w35xVk#ZKVQDF~0hJu7$F=oC&qYsc(I^0F751f+C|}?Jxl4J?jsGi_fhu;kjj_43%u$kNWyX zUn#{mlLIsqBx);;9T>)U5|lpHFH&B%Spw9!dy@e4ZZ%)|M$+<)g$8?T>3{q_3K&^x;dli2GBKskn^0C&P* z{AGY=#|PQ*0nsf>13qPFh-g)@6mTI3`e-C=!)d#H9Yya^70*ce-a~KnRk0=on}!gM zkmwMNY?Y<)Al4!d>8aY}c?(?4%m_0f4mnVqOj_ZGOb91u3*iVpbaJf-99HzVS3p4t zdiysdTRUeQwPBop9@1ff<+3W7|L|`4fJI8DEI)Q z9)Oo}v8?boe2|0PK6?flvcMP5pN8^rpScl_M;h>(uS3HmP!&tD&<+c+G#W-UOg*8X zf-|O)hPDaaNzxJFc1b$Jw`EhyPL=o(Y%SZg1)?|Y&6df;G<;Q1-$+$e)`LXqt&b=g iuGG;+hh$aiX50QzDhHV~c7vxXQ*=pBF1!fty#E0aHQ$v0 delta 1268 zcmYjOZA?>V6wbMYdTD{^oMjNkhe5qfO9{+P(ypl+7KRfTvdk$X<+iiV7qfi{IkFy0Cs!PpUg3k3Ci_=Xt{P&x4v z#ApZE0Wo!qoM7O9`h5Df0n_~fdp?9|*@y;Vb#X)i1k$lx=$SqCH+n9OmSUVAJq{x6 z91}rQzZ>%aPR<>#%R#Pw!iHRMVvYeqYbGrvgjn5fcU15+h#avG#-n^dhzSyL66%|5 zN70qZo;;Codv%$hZaLWoNG4A;0a34=dY8p%J3nfIO#<;WbT)Q5(-`dgi94pt>4zU* zM)jVl%{7EnHw)FR&ahaWE$v>>?e|pcu9`aAE5t^Kt%KNFo%^w*XQoPVsjsKL#C6E@ zFdpK;^grvK3llDCbw(WlSt7zg;*Dk=>j_iSOc`FpI@1VvrQQnzEaM~e(rmG6{GuMf zOFdU(7%yHuitz<)3cTta?a>BE(S@7ERVm_#@Ci<|9y)|&LLi)ImxOdh3m><-q5`Rq z+$n0F`!;_~xOHoaF3xR3|H_;NShp^hV(eMoiSfd6=Zg|?1o%EVnGmAQxMN=kKZFxINtYcv zVSzMD3BpTR&T1X9y4pEOefhosl)t-Od5MEUWpo>u)O&wkH!w1xmmdscQfnVB8SrhD zj}wg1M>xsqqViwm^s9e=)+ z(*W-u?k7Xtb|3HVj)=jaAXN=!2rm+eh@8&CR2DvM_ahEO#XwKCACUi#s|FiI9GXP3 zN9YgA=~Y{n_M;c+WIW^5rWtsYYw!|ISz)0_n`Pn0T<~fi6vEpq__W_G;9wD#ltV#r z9bDYS^T(BLp$eJK9ivr z{7P{gegnUj(+d&69P5KKCe)jU;94F|yZIh?j1X7y#-Z$RTt81B;O>s;A1bGWzN*0t zmt5nLBuj;m3dwNwmf eD0)-o6U040Txn6l>pEKGARl$_({7vwpZP!Rp4Vdl diff --git a/netbox/project-static/dist/jobs.js.map b/netbox/project-static/dist/jobs.js.map index 880b13d4eae24bfafb72f9e4eebbd4a7b1f066e7..1dc717dfbc12e68fabb60081731490cf1a1dfd51 100644 GIT binary patch delta 403 zcmX|*yGz7C5QmAE2`c9cEj$n$tyF^Np;jWe7mpMor}zd7qlp^W?1oF^9u`{M6=Gu{ zZecCff*7SIC49~t76uq{T*|x5=J_QZ1CHUkQ$)`y;<6*hSg_$a zHm*^=Y*AXoEN=B5=VMobC^%rod$@2aRjucY_*RUrB9-&FJ+`yCcZ#PhpV7JgF z_w3#R*={anr}Zo$S$&F-IXy!Rnida+)+SyIt-5xSkQv=1ed*cg-OwgtRn&||OszHc E32T^&Bme*a delta 198 zcmZ2JP4dPR$%Yoj7N!>FEi8%^)3qyD4ovT>WRc_b%}+_pQLt42)7$q}vQ%tj4Bu|1 z%{rTf(RKSJeb)0JdXWjMy#SDY&%JM-H)G28z!(%-Ra1ybk6fiA^Ych?)P)g zIq#iwlS_G*m+~(4SRiOTVVSa6gG>-uNR;`Ub)T^-SIfbR^VT=>F?4MG8Zgw{`Mc?g zxBpU}$@VLv!h5!M8=Xxb*O(W*auEh?@Ea?ryxljBy6AfWwQuBUP>s2fPl_yzaV`8K zjPPEz8%B%?_KF3WQ5pL($BfIPVljAl<#-xA##iG>K;u8Q$1J;a>~Acao2WwlbmAmv zeE)G3G~>$g7QpT>*|Y`Ot|>dRp{WH+BVo2gh_FaVtL}66SOqigG zOeD5MoH-OZEU31_hvWSEXXOy*xeFf^Z{qs;IA2t|E)XkqTZ|1)XsI9loqyBp9XK+m~!Z`Li08owL5WxM= zpF9ij@>oARG95}kpWQzVTH!BHlDQ`*Zt_d0oCiz-uvk7zAo{UicJ-S zei9$1vGuYneimyHNAyf>`ho>+Jk~|+hh@zMZ<`E)Efz_ zIAbPB*&uW?Nk@d+CE1MNy3H&*Q!;{Jec7fh5j|ONwoIoc!ByJaN&^8|4-?7N98)!1 gsiTVy%K>RW+wlEV4l`-=Hctag)g|R(`3w~Q4=o4XjsO4v delta 1267 zcmYjOZA@Eb6wbK?RwyHzb07rySlD(O3Iv>vP@7I!hoFE+{aBEcYkS*!Lwj$br|p1| zWiAs3Ar4=*`@?+*(<~YLaJjfUql?LmKL*LRERmQ+e`z$)MVK+$%#?X<>4<;MInQ&R z=j1)-y?irEyP5S_I|otyRc?Z_Mv>>S-yyIw)|d5dnTmxPr>vi>q4d(a1)x;=#2pjm z7X4a~Quj&@iM6k5)0^wAmYR*%1REu#`+F;htSLA`@ka0f#m>+hAnIpA-`Jpqsj;6R z!a8v~MD#H{%t4F(bn=#k(%nHvE`(UghyfveVMGH0%AuX)nLYG3dCrd(Q=A|D0A$uR zCWEYhJLU$OoH<^XL0tVrC2@g?IS!E3Oy(CM+FdS}AiCRR9vwr`u;3RXqJj;`e3Km{ zx;WXJEhArH%0zwhk#-<5ezXZtzjE|lD^1&RvI#bd=x*%V)!mS!;Mk3>h$&~sKE6Qe zSEe@AAXYVtRc#GExhh>c60*zdt}DyF5roVrZw;Piev z#J%Z%);twLK5TCYSNl~3#XaZ=rylDLv7DI_x`=&d7todZ&JJ2RAF}hag?iTK^#C5` zz7(N&?$SYu&lpqS(Z4eutcL`FM^LvFV0Ziwp2{9cWDR3vrApiDp>6o`qg+$3^&t`{XzN=Uhcwf2X#Us zHY+g{lr(3z58Is`yrMsUR|F>9-ljdrL!LIe6>{`De_pk4DzXdr_EXYp?=M>DZRHPR zT$T@c#qMP4U#0Aee}6VbCzd}o)6Pey%v5`S1AF-B7L`Y?!$_LZWB?o0S{z_A3}_z# zyuWV%hkG0z!PO(lfq8kSMEQ;Ii;eT9{%ey_)(*}*vb^05U#&M;`nXX`2k+HRtI!8t ztuP9|f!E0B0|_Wc`r&vE>21SsC7Y&Qdk@@MAZgj-P_j=l&lC5%dLrhBstK{bVkpH0 zSGhQ*sQ^(y)gO<^v~Wr!J!aHZQIse;wU|~!R$%J#DNBfmmCKuOt;3hb=14;yhnBno cuPVgQHHglntk89PPUrlboWz3SRGsPS6)Xqq_4O4TQ&JR?^K*0a^Aw!& z^Gk|LiV_Pz0tNYbsd**E3MKgp3FVo2Df#6IIts=43MCn-l?u6ul?q9zKxKKwrMamo z3h6odNr^c*l?oaKMVYyYMVUZmT7FSX9?*h!r*wg=1 zut-gRQNbc76q28xQ<7PrV5jy&mz8EyOO1NBV*+D`C6>ASs2~7TkEr)2hrRn zto8yx+S`RyQXWXBCbRPJ0_max)+$%V)a~!KvaV-lbe%qLCu=98>voM@tozu2+~)^a zmomCf?>)#mVY=TXR>A3dhgdHI#hDJXwgRb+!>lquLzW(9UDP045Mb)0Pi-==^yvA zh;F}A$x^(LF?@S~HtTE_M%V3c^jXh?=shN^_5wiqj|;1$JdhSkVddck(#nObRjy3w zPTS{gV_nb8=sw+V7i%Y@`}P~VSog63xzi7_E@kwbZhMGz!t{BYSp}!xJH&b!D8A`1 wYb%hlIKnE!=(#=g20GXCvdjifLE9}|*#eju%eHrUu>E2N02_8kj{pDw diff --git a/netbox/project-static/dist/netbox.js b/netbox/project-static/dist/netbox.js index 1d2edfa38e5388fe945b6d2542ea4d42ae0fc648..82323dc9be346d7a04bddb55bd85e42d14d56c74 100644 GIT binary patch delta 5357 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 UVcBV%K4JN3g7N4}mae(~3(~bWvj6}9 diff --git a/netbox/project-static/dist/netbox.js.map b/netbox/project-static/dist/netbox.js.map index 1a5b9f1ee7ad786ff6d3f3f39d008f75a00dcc0d..6c7dc5fd0a78f5e98906988aaccdc0b0ef201000 100644 GIT binary patch delta 2391 zcmZuyTWl0n7*3a#!rAF%OD|R^oFYjtnQn!|fQ2QVnO11Z($-Qdv}-!uopy)Lo*8Cl zTN`7F$tp1lK@)oL0fHv-V7#CbmtbP>g4YM(RYTOo81+FV#s}oZ|D2iG7W84KXU_bW z@B98s-+Ht6LX==8s%k2GA=%dB%ZcH*6 zoVIc~i(}B-@oYNNYln!Rp&FAzCo-wT{ z%`_KqyX_b`%`xCOZ8;MZ64+*b#-MITe1iIM;voo(5;#1w=axCtUF*?rf1kV zfrHadc70T8I(B&p6)!JEul~KJ?}6k#Lep8x z=`-~lFp*j7=coaNuDeq#eq8#B{qhZxb^w#SF@FzUhk^C0h(sqb1&&wkHIjY@ZC=LE$VcVc3i5KL6T0Lw6x zi#3|z;u_8!xk3Ogi#;bbH2Hbmo{;Kzijz&To5!V}q<}t$;ub$SA^la!hJHnerCyP0 z*~h1)diLRxG{LOLCB)9XDs74Zlz=Xz;Ye8ZHPl?(%%l$@Z0HuMSS(R(bN?3>HsIbg z(zAL-#(6uVc{-4QOQ^V~(XZvx_SFPhN{Q?5)?JR0ye?+2D z_QtJBbdSFvp<#mWaeo!`v8~@l>KS2ZU41CpN>$lI-=bDF^d1ZiY(=jmOMfs35RmHg zrG3{P#*mkb%4>sR;d0bHcv>@IPh;4iy%ueQw#$1~PV6F!ykfRY=x^KQ0%Ja}F1xe#n>WxHTs33lZj*dRY#l-9ENOHy@n z7Dm_9NBjz@dbAR>k6F$>LB|tgEbXkScNxtaA#F zZ1KqIc9mV6bO4Qg)NntXl*hDguqj!(?Pg5LghIx`ldUJc>{c z)XepgKEh-5^VGv!05Yp^izJ5+$>Cd)KgN86G}jOwfE`jgeZH?i>^mjlR-hAJpoIu7 z&_jk%9`!-Nco?$uJ?c|}dIsb|6-I!Tx?N!;8rvWRswRm}``FRySi_p6^Drnhv%h$z XI+j`mmAD;?d66d$6pz%!66OB_J>V%p delta 281 zcmbPm#AV%DmxdO`7N!>F7M2#)7Pc1l7LFFqEnM5DPCq!6>wrjkW?o8uxn4+qVsVLr ztpb>y&NZD&YWk5Jnf6ugD@`;^KD6jA`b{xGJx2HK9O8nyj0%x?PCAK>j)@?hl};eC&>5)T(zD1-$Ja64Yx{pm!B}QS U&*`zUf+b7^0oyOj3fi&&0Cg^6IsgCw diff --git a/netbox/project-static/dist/status.js b/netbox/project-static/dist/status.js index 65ae99fbfe8067eff3ef00a7f66f88458bdb929c..a640a92d183aa60860d1f2e49999e4f736e4357b 100644 GIT binary patch delta 3830 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 diff --git a/netbox/project-static/src/bs.ts b/netbox/project-static/src/bs.ts index 58216592a..ee22bf685 100644 --- a/netbox/project-static/src/bs.ts +++ b/netbox/project-static/src/bs.ts @@ -1,4 +1,4 @@ -import { Modal, Tab, Toast, Tooltip } from 'bootstrap'; +import { Collapse, Modal, Tab, Toast, Tooltip } from 'bootstrap'; import Masonry from 'masonry-layout'; import { getElements } from './util'; @@ -6,6 +6,7 @@ type ToastLevel = 'danger' | 'warning' | 'success' | 'info'; // Add common Bootstrap components to `window`, so they may be consumed globally (primarily for // plugins). +window.Collapse = Collapse; window.Modal = Modal; window.Toast = Toast; window.Tooltip = Tooltip; diff --git a/netbox/project-static/src/global.d.ts b/netbox/project-static/src/global.d.ts index dbe63eae8..e0a52735a 100644 --- a/netbox/project-static/src/global.d.ts +++ b/netbox/project-static/src/global.d.ts @@ -7,6 +7,11 @@ type Dict = Record; type Nullable = T | null; interface Window { + /** + * Bootstrap Collapse Instance. + */ + Collapse: typeof import('bootstrap').Collapse; + /** * Bootstrap Modal Instance. */ diff --git a/netbox/project-static/src/sidenav.ts b/netbox/project-static/src/sidenav.ts index 90f0623ae..964b73c95 100644 --- a/netbox/project-static/src/sidenav.ts +++ b/netbox/project-static/src/sidenav.ts @@ -1,8 +1,10 @@ +import { Collapse } from 'bootstrap'; import { StateManager } from './state'; import { getElements, isElement } from './util'; type NavState = { pinned: boolean }; type BodyAttr = 'show' | 'hide' | 'hidden' | 'pinned'; +type Section = [HTMLAnchorElement, InstanceType]; class SideNav { /** @@ -15,6 +17,16 @@ class SideNav { */ private state: StateManager; + /** + * The currently active parent nav-link controlling a section. + */ + private activeLink: Nullable = null; + + /** + * All collapsible sections and their controlling nav-links. + */ + private sections: Section[] = []; + constructor(base: HTMLDivElement) { this.base = base; this.state = new StateManager( @@ -23,6 +35,7 @@ class SideNav { ); this.init(); + this.initSectionLinks(); this.initLinks(); } @@ -97,11 +110,17 @@ class SideNav { } } + /** + * Show the sidenav. + */ private show(): void { this.bodyAdd('show'); this.bodyRemove('hidden', 'hide'); } + /** + * Hide the sidenav and collapse all active nav sections. + */ private hide(): void { this.bodyAdd('hidden'); this.bodyRemove('pinned', 'show'); @@ -131,6 +150,51 @@ class SideNav { this.state.set('pinned', false); } + /** + * When a section's controlling nav-link is clicked, update this instance's `activeLink` + * attribute and close all other sections. + */ + private handleSectionClick(event: Event): void { + event.preventDefault(); + const element = event.target as HTMLAnchorElement; + this.activeLink = element; + this.closeInactiveSections(); + } + + /** + * Close all sections that are not associated with the currently active link (`activeLink`). + */ + private closeInactiveSections(): void { + for (const [link, collapse] of this.sections) { + if (link !== this.activeLink) { + link.classList.add('collapsed'); + link.setAttribute('aria-expanded', 'false'); + collapse.hide(); + } + } + } + + /** + * Initialize `bootstrap.Collapse` instances on all section collapse elements and add event + * listeners to the controlling nav-links. + */ + private initSectionLinks(): void { + for (const section of getElements( + '.navbar-nav .nav-item .nav-link[data-bs-toggle]', + )) { + if (section.parentElement !== null) { + const collapse = section.parentElement.querySelector('.collapse'); + if (collapse !== null) { + const collapseInstance = new Collapse(collapse, { + toggle: false, // Don't automatically open the collapse element on invocation. + }); + this.sections.push([section, collapseInstance]); + section.addEventListener('click', event => this.handleSectionClick(event)); + } + } + } + } + /** * Starting from the bottom-most active link in the element tree, work backwards to determine the * link's containing `.collapse` element and the `.collapse` element's containing `.nav-link` @@ -232,6 +296,10 @@ class SideNav { } } + /** + * Handle sidenav visibility state for small screens. On small screens, there is no pinned state, + * only open/closed. + */ private onMobileToggle(event: Event): void { event.preventDefault(); if (this.bodyHas('hidden')) { diff --git a/netbox/project-static/styles/sidenav.scss b/netbox/project-static/styles/sidenav.scss index 3363b1f41..0c7bbfb1e 100644 --- a/netbox/project-static/styles/sidenav.scss +++ b/netbox/project-static/styles/sidenav.scss @@ -271,10 +271,6 @@ white-space: nowrap; transition: $transition-100ms-ease-in-out; - // &.disabled { - // opacity: 0.8; - // } - &.active { position: relative; color: var(--nbx-sidebar-link-hover-bg);