From d743dc160ab701cb6b92579b5ff164b5ec2eaa9b Mon Sep 17 00:00:00 2001 From: thatmattlove Date: Tue, 31 Aug 2021 17:04:35 -0700 Subject: [PATCH] Fixes #7080: Re-add missing image preview element --- docs/release-notes/version-3.0.md | 1 + netbox/project-static/dist/config.js | Bin 114797 -> 114815 bytes netbox/project-static/dist/config.js.map | Bin 113045 -> 113061 bytes netbox/project-static/dist/jobs.js | Bin 115105 -> 115123 bytes netbox/project-static/dist/jobs.js.map | Bin 113225 -> 113241 bytes netbox/project-static/dist/lldp.js | Bin 115496 -> 115514 bytes netbox/project-static/dist/lldp.js.map | Bin 113694 -> 113710 bytes netbox/project-static/dist/netbox-dark.css | Bin 807436 -> 807517 bytes netbox/project-static/dist/netbox-light.css | Bin 502295 -> 502342 bytes netbox/project-static/dist/netbox-print.css | Bin 1658227 -> 1658424 bytes netbox/project-static/dist/netbox.js | Bin 322088 -> 322387 bytes netbox/project-static/dist/netbox.js.map | Bin 310621 -> 310915 bytes netbox/project-static/dist/status.js | Bin 135576 -> 135621 bytes netbox/project-static/dist/status.js.map | Bin 135722 -> 135773 bytes netbox/project-static/src/bs.ts | 42 ++++++++++++++++++-- netbox/project-static/src/global.d.ts | 5 +++ netbox/project-static/src/util.ts | 11 ++++- netbox/project-static/styles/netbox.scss | 5 +++ 18 files changed, 59 insertions(+), 5 deletions(-) diff --git a/docs/release-notes/version-3.0.md b/docs/release-notes/version-3.0.md index 45fc473ba..db3bc822c 100644 --- a/docs/release-notes/version-3.0.md +++ b/docs/release-notes/version-3.0.md @@ -8,6 +8,7 @@ * [#7071](https://github.com/netbox-community/netbox/issues/7071) - Fix exception when removing a primary IP from a device/VM * [#7072](https://github.com/netbox-community/netbox/issues/7072) - Fix table configuration under prefix child object views * [#7075](https://github.com/netbox-community/netbox/issues/7075) - Fix UI bug when a custom field has a space in the name +* [#7080](https://github.com/netbox-community/netbox/issues/7080) - Fix missing image previews * [#7081](https://github.com/netbox-community/netbox/issues/7081) - Fix UI bug that did not properly request and handle paginated data * [#7082](https://github.com/netbox-community/netbox/issues/7082) - Avoid exception when referencing invalid content type in table * [#7083](https://github.com/netbox-community/netbox/issues/7083) - Correct labeling for VM memory attribute diff --git a/netbox/project-static/dist/config.js b/netbox/project-static/dist/config.js index 079d7b90a357652009bd0bbfc43961f4121631ad..18f4811a2f2c6aca27e6a3ff2d60606c38868fec 100644 GIT binary patch delta 2525 zcmY*a4Nz3q6`t=cKS3&@hzJCP4YBXR0|C>{xcDS15>Y{rA3?TTSa$EigWY}0?pqLd z7d1^sO>HG!(;J)m6aS)^Xw0U4l+@`olWA zRaq0ERYH{8O$*=Qbd{wYk;Hz>H^=8~Axbn}*QJSDXkoN-{#GKpBD!W1xfc(OMGvEg zE{U~bh5G#h4NPV|Iz*gOTy{7m*-sRQv&yXn z+%8@8>axQ_Uzn`JP~vx!`2yA^ZtUtv!ysL|rqY^Cn0&+__+$UnV2B&`TZu~@Y{VKYUE@#p+$cq;K%mJd8d@4ZmTY31QoPUDBG zx#GfMuGo>d^1W#bx@h>QgVSFhU4^bh#<3gV8Mt%&hZsy;eCc^$Akld8Ja}$yo%$Kq z%$y$nLWGT9h_KN%LF>+Zmv6Xw#wz6biOnlVl&~%aB)LzC)Vu1tiLE=4d9DUL-^z4x z#ttH?lB~-+5}s*(gokFo@=tiF<<(HSmpIqh9bOuH_2uGrqBPd8wAIKHs`4OLVn~;w zW3EuiFtuM8tQ#g$i0F|}prlzDCbD%PL|h}*xZI;F?WC?pUsKIVW#!zK7NSh3VvjD> zsa~;#esG~LYa4I5fQyH0_4?Ex9i1vl_%FUCU{j*{bwA*zM-%U3l*Zn8hF=dqD6sG_ zADwAOJJn|L)7wdXvo5yN12bw`vZyWe?#$!G!$cXVZ*X)uSJYOH>y;tBvV~MO+s4!+ zOYJ}U6^7}8*@{QJMD_$Eo0qPgZCyG-6uYCtDfAqymlAdKgq=2f zBJbu)5Og&$duz3YJO1Q$u3*BfPyPYe6L;_2PBr1}yGu;5@g-n`X>N22=&``gUQ30R zX(u*aQIsaV-fonq;h+T_>~aSDJ3C0cU*6zS`olxoc%Uqr#BCg#FZ@0%n}Z(mK;O;< zZlCHNNg9+zn_b+=R$Z~0PONe(zlK}$`CP#;;WtqqA~i5*mDSHN@vw9AP=j&y$9Xu# zmtC2#^5tYER$<(DKNG(c&}vL)p#wrIVV9;+z_J%21%wr6LrqnAFAp)hAB)-XY;+1l z{oE$Cl@~>4%d(Mg)GovoJk%~Yhjg^E;v76Ls4BZRgFJJ4Ci{I31|C|O=cKd}NoMv1 zSZYKTV>Nheujk^UTz;-CROR-$!r^8$tXH`_9#J)3TY{f+6Jy6x90vldumCbbtf>Iy z=^-^9D~kr$L;-$_2BW1Axv9by!b;j;WwV2rZ_pC713m1+QoN0g#(67#B3L#OiP_6g z#6Eot^Nd4}BP*@2mq>M`fhr#f4C+I%*tUQekcn)TH)LF{Kp5PAO(m$16;PKi7xk(U zGEvHv?CJ{md00vzcdEJL z2Ii{)<4Z~{4nQ*w)na2N!p5HzR0x8mvR%a}GNdP=TiCv>Si~+i;0D(pU5CpSwsRYD zjbIb#Bj`0!wqOKs8NqhM1@7ubCtfu1vs+P#6ipTRy*Hthz1Iy*aH*`O5mrO%K{j$+ zyy$~fT0rz@?uhxvkzK~YZP+4kw|{XUJF~>cTg>b7@aF3dDOSJcarvzBX5N)^{n^YG z4`MmCv${bz9u&dgMVJ+^*@z6I+yb9*+>bZRdUR<#0h`%D4WD8oI}pSr_?Uf^=b_oS zHi`OSyaCoz8U zEIzZa)u;GdJGKY9;3G!&0h|Wb@iCTTWIu zJJkG9G`bb5?i#SlW1JZXS0(ukOgMtFuWv91Pp3OMXp)m9DX?>aS){UP5_a5&eDEZ3 zE64W-565NE2{(5#&YgQgTF}D>SS9a=h*fT5&m6&j;N}6#?B%1_i8kZQ$6&Fbja8h0 zEwzo8jIf`cz%sV)1W!$yarp#tz}4@b#4y~+QO&wf;o2N8@}>7QK0ukV<_so{$7E2Ba_U<`+LntHcRs)upr54$tX*_A+7Od?oPnkJ=O#R;up@cbmu*i_l V__N@z?>Z z*9+nu@ag_|#rz&34$D50l5W*!;`Y1^L<|KyUJ@jV7D@3#`k&*S7}M($eG6NNI4+Zk zkQ&xfvSIyDq5)C;okRt*_}@e+hV`N;KD~uVeoa3(#p}vc&JrJS3klKX7Q_&dT<#jL zs(3vb@7F|ERDWiw0lwsKriwUhNnYFG%s^0Iv#X7PeY*z0w(Gm=Ef~@t+9RP~_v~4L zX8qie(g*tqFNm^`@JAJ|CaX&Mxc#;`nPJdE3M0oaTm0@9dScu1K#Ywx#N=`f#%)sX4UuhArS^xBzYPMD%=wNH& zKrIuTJHQ0%l9#?aYr%Fsa@fVzUmjkG?a8bo*T6Dx>*x;l}ocazsaQT##D-034UyMo-jaLM*Uy3$*8e53HC7FGu4lLi& zY+2Si!pnlFiR+TSS>__D=RW^Wcy-GQ;Y=@auXeb+di;gw%4|exZd_rn6DMWqUat7C zCd9@);qrFfac-!god{u~MZ-#Yo77H3>tL98My(04SCed{p;ud7%a-cuJ4d>RG%54F zn$RHo`7ZsvbNx9ztmPC>kl3yMfE?1trc0B-7hmVFHCg*|5D4jqlUJ}okH7K+yB@w@ zY++$8xzGihu3jk0w2{U(jkoFhF31_FqIT)GFFahV#s8rEn+1<_o_IZFiuL z+>>`PhBqL4M^g&6Seu6#*{n%c(}-1cvTJzNK)@4<5UZ%k_mQj&v73E{iI1L{hdOl7 zKg`1kw(ZDrnw7|291{GLQW^Fmxrk%h(+{h zF1k5Q{!Ay`NmxvDX)cP4`h~cJ`_ctxkO?O(%fo(-$aLYWC^U~})8FP{@V=JmC(TI& zkvbM&u@PN_Rba8boR1IknO}Rj#vAZNB5iU+tMT}JJTYD>z)zWqv3)U)0x~Trh6shW z6r(azkrQ!SOs12?_%$Ys_7dc$bG?L?cfv~NhA`jI%h3g_r|(zb4fGjjt@sgV=_3Ml z*icG8ehBl7nTL^+QL>2$4HZgFfG9)Sa6G*M!1koHuEaFF+|l+TCo2CY%4MT9oDr0*`Sth*!+g^r$QsP4sCMAES@%3*kIG z)G@|Vve9^F3{^;LV*R3D|Cc~pLRd}*A}CB_B^2oS2=eK41Yc&Z-im;~bFPpMu@5G-w*XjWw(J&uI2aR?RbL6~`Gd7^z9oYbkdKwy&-=XHd5{HFHu!CdF_thFK(A zECro+A)7%d+`;hO8N{$HHtA(XCYW(wSPl8uEURX%6}5`3^oc|G4+1P;kv?}AkE7N2 z;t^OZXr)!hU{7ylB_s4F$FP(>d5oo|)wp;Jd2EW(w~u3lzPT4Abn^-P9s%>7JlpzC z;yrX4t50EyOY6KhA?WW;&02V6^p8x;= delta 25 hcmZ4bnQiK4wuUW?E4OUlxrMQYnK5s>*$&2hMgXA;3g`d; diff --git a/netbox/project-static/dist/jobs.js b/netbox/project-static/dist/jobs.js index 74ae3327220a8ba01614dd046d61b255977aaa00..3faf4b7ecaad490d7e784b3c65e7077e3f199ed7 100644 GIT binary patch delta 2567 zcmY*a3v3kE71f#bC&tB?k1@7mus0hzV~>q(l1i*Im<5~|u))~)hwGa4?(=%=-JSLB ztc~%mff5NwX>l0R7n<__1RTOALo>uFl^UT!t5z+vQj40Xs?tVEs1P(!gH%d;cMT+! zM(^Eo?|t{a_s)HHj_yb|cchOmK<~w(=YU?L1wSopV~VKCx}+>^(@1F5L|u~Po}i*C zOM8uSVU+wPgdfnj#MVUP9@`Fh&FmBmPg~8D(Rg)-CayLLMmJ1JOeGQZQR4+?f2aWwP=j@l59P+z8EWm<#B&qiqe~mSw-KdIhoVlFI zLn<2%X<T;$;b>odO(Fl%ZJso0QQe5url4KuK zI=jj}TF~Rx#i%ZK_8G5_RU>5nVJuHTt9fTza~ishM^eFIgvNQM13U0wB91USg{AAfgTpN*XYh3 zbNlzt2^70xyb3QGp7H$=b@mw5r+!EaZl1CWxjyEM%DqZN7lV@At@PHoYnC(Tax?Qx zCFs7DiTN2VOjIRVms?El1f}RRvd{h#QN#9jI6ca`mbyBlM(pi3=Ql8=wq~)jQtnZe z$9E-$b!l|S9WEL$T<3h%1564tJsJ)c)hh!`w)cdYd%zx-+jXUZRk!O)D`+Syn_AM( zlpa-V*QIK;SL`=FKG&VKhDt8z4lt*^*RO_*!SO;faQ*`UgJ#7$0l;S*GC#sgM(ond zbUged-$vVf`f?K*4DE7WdIPJe*Tn{7?`1VDNov3G@ba_s2PjX?iq4jt|*4&Ji^!8m{+#g8^g4Wa(2;CVPXDGiofKTsNR742vtR3yeIy%a zCJRw#T$?PW@zcpdTRT(uf)dO#BI5<-3-5PNpGlQZ&!L^k^kfEEm%QFQdp(kljb_pB zG6X?a&C;7W^WZXEpM3xquRMtYW5MlBQ(`V(^KE1pM{cLXWuCshF(s#&DfY1H>(lMB z>Q+WO*GIaX&1UZ1qX0ACyQkPF@RwiY2!y78c^7ClAKw2WmC)x8b4h7s0;|c@Y8B97 zLo>gS3N5plIdw%*>hzjst0WEkY*@#yWFWA09gA<08{NvLNS`(wbc`mkgK*+?KY~qD z(90g%8%W{ttDb?RgJX2Fn}W3Jiaim;E)UZQJeuF{4n-IpLVbeNpwBJ`zrxJR&rCxl zR`5Sh!wH(UWx`I=@k}hi3hSdx{93@UHIap82*ZqDoIpO$o{1Ewe1106)F9PyA9n>X zhabtt20>N7@<|x?r<$1tBi8?PlJM4m**cmcG%cXIG)4yAU6%RPQ~BvP+N^m4b?D+a9#bMZ@Zv9`>^5g^P9@*zXx zb@?bs*VK5-F&gG0`S?B7S`7urNflNzUepLXpY&n6WfY+aSkFHx##O2t>#Q9=6KuLF zahC&y{J}GrX6=6#S!o3unN(dIEcdgZPw$JxI)Y+QW^#gJ&AL*G2q-~i84MvStS($A z>g5A$q?nBS<{|`WU&|`cEUslzjozn5oEyqRVKyWtWSNwm6Q1oh^XyT6}`>lN)ST9i6zjY!zv&chb*6a3C0k(w|dqDHL{dT#YDs!qv zH}g3@EW}D)?L+5d7A#_6Qb4^G?MI0X9_vT|mlA}uXmkPfe4mB~#0wt};Q~C|HAok+ z*}64|Ql!*VnHYCJmv~(Wi}H$hmS|_Ey{H*0&!|xF5g5&Xl3d69#TB2 zTyGtW;<;-MW60&VW2kt7tmos2!f3O0jUhwGSjoDS;tEM-ys;k+kut|(th~EV z8)D&R-K{esZ8MWb|6jM6f3gjWv6<&@M=wp=w__((S{dJko`yC)whNz826Z>OA^4f~ zt5@*A#;Z@DfFIroJ)vsbi<7`A>SMF5>{pSMiB*YimY;AK1kg-HpS#atyOU<{QV+PfR6xHE%nCTT^m^yp1REF`BHUr!Xd@G(GMO z{7%l;Bn&4vOBz^H02jSFkwcf0z$n%>V!Z delta 2569 zcmY*a4Nz3q6`t?y0zpQ^AR-_L8)Dy+2Lh&@amf=`BoakIKtQ(?mfZ_H*xd)aZ$V_2 zXw8f!wMz1^H`e<96D7uIp3O6)cG65H+D<#Iwli(o*iI*HW)eG&HkrnmTHCYhPtut; z_nz;Zd(XM|eCM8LZcjO~J!N76BIgUA0wTr+{3O4QDWWRtlCrE#BcW9jbxD%DgNmvw zix_3X7_FNUcGI}j)NTyNx!wajc~vL~WzPLX{1jOf@t zv>S7y4d^p^qD3<|GPzInv4nMvF&TAc4l#Mq@A0w#3+my7K4APc+K5#~Wo*;zHYN|N zY-CUi=?UAQaUfO&pYdU=h&=u~mXARrXIxBbV@gCf_K%B3a6El}AM21}vb#f)159yu zlzFwF*Q1LOU3UA7SH`Q*XZ~(HN5Bg6=GNw9^cpL6)DzgVqYE_M+F5Bsr}4xt1+|7} z*AfgHXAk8+Udu#DR;5@^B7D*|Ag1Dy&g*OvW{ggx7Uci{%S!JQ);W1I4k6CRe6{z zF{Ddl!=6xKzu`LDTh-5`5Yr=}U}3$|&tyk;hGO6?KX8XuqSOy5W)7xd7P9X)<^&={J?Hv@0HCt!_P{$>CO7zfSk7&4+4o~P^K z$GJ8-=KPCIXfm{mIVnx7x?UHXj6E0Cc* z);mYlglM?l{uTO-S<@wtd711BN=~n_V!C1808?D<<_FBV zU|gOqqVdz|eA_Cf@CA!7&j?TCnNPpdIde8uK0Sw3Or|HZhIPp8=9w$u6s$H2f0HT* zo0wU0Eo&ZH4A*Dxp@mnRK%TMSM%R5Yo3HscQjNnmQqW?ay0OWgr1tjd4q5dm zWA63g4yVh^zI6o9&9`qWHgf#s7g++KnP1)lT;{zyUnCLw{9ZOGtu$aYEwx$&Y_!3} z&m}=ib1|o`C`z4P?Xngn<7FF~`K43@o@-{YF1gX8bcOr0kznyy0v8jGzwQUH=|1$a zhxWCk@cLEnKw?4h*k%toY1I`++=)YOpc{BKzuz+$W)7LDkB}PdrAvKIpeCtQ$9>!tz#M)! z11$nmzgm;jK!oUgK?ZWH%GtPrN7h-Vk%9(Zkcqv5s`6VFvg6y+`0q2({b*G@j=h0N zGI!0wJS#E>PlL|(W)?opqPWgbnb+?LhwIg_Ugq)nMAbSs7eA*Z)|PoV3W7C606e?w*I1^L=ZHUZ!JK+B`t?;6T%O;h-aI>TZ8Mg?%+yX zvSo&ewcauuaQ!&a~kdmqDU%f221fX5naLQJ3tH(RhD{6GyJxAwPUKJ1z* zQbyLGh=0@uP4K9^q81KIYexpSyAD~_Gq37}`yn9~5i%`cofYZFA{+eH;Q%hgx!IsmF4pmvHQXhN_{1R2 z!OvYol#_bv!y%NwzK$x!xb?Zj>jtrycZHE{Ck`ckK8!3r5yrPD*5xq7`}?wa7p2Ea z*YQ2r{i?jqIuOBADYnh5nh!;(E^kCp{s>v$jKyoD&e}PSR3UXU>rjfyC7JQYeiVxo zIT~eUoqgIc3pMK=oe_WaOd9)tT|NI~E0&<1=Was}P209%2R2)&--VuxIzGM=pHT$$ z1$092s@5-F#9bQ+#3?>S&o(#!E;~!^(JH%jJi5V2Drs2xW^_ z#(y$WOsdj#aU~UO{HHPORUEpf+aZsV&>b#I$j@@&0E)l!Y`hV=rjpMGb!Rk z6^|ug!vjc-D1k=^KWIdRi^saX z>l=q)v!Rif9ECHfkyvB=XGgJszi^bY(`a2ficFCC>M`{54|XGuw;snIi8Z=soV-mZ z@G*+5WhXH%*oz;w3I2yu_$Y~BG@57|{OW0J7m69bU4yxCu0=jMh2=I{!5dFe!s4$Z xZvV$53VBC6mAU*HE~lV}U%h~NeCs9Htqc?I0zDRK+F&`~Lg_=hMfN53{{f90V%-1$ diff --git a/netbox/project-static/dist/jobs.js.map b/netbox/project-static/dist/jobs.js.map index 89a6b6abecee59535da947bfca19864df6e8c0c4..fbd95026752bc3cac84fb2eb4bcd0ebfb86b4fd0 100644 GIT binary patch delta 40 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 MZk3RJ3V(O}KW=5M`~Uy| diff --git a/netbox/project-static/dist/lldp.js.map b/netbox/project-static/dist/lldp.js.map index 179f3b7e97178c3405c768b067e6d29716c18248..be357a5bc1312edf9251846efc0cc05eed2e04c7 100644 GIT binary patch delta 41 zcmV+^0M`GW_y(@{27t5yr?d%CK|xh4M?phsmyxsq7Pq#v0c`^UXh*jtxB>YCYHScP delta 26 icmZ4YgKgdqwuUW?%eQRbzJ;-dnMvPmyXg+bpUeQQPYaU( diff --git a/netbox/project-static/dist/netbox-dark.css b/netbox/project-static/dist/netbox-dark.css index e319596b5d787fb70a63925c01374e65da31215a..4caf6a4e6cfafce47a046b21ea50968958202774 100644 GIT binary patch delta 90 zcmeBKVt99nVM7aJ3sVbo3rh=Y3tJ0&3r7oQ3s(#G7M=tCx_Slq1^H#EMS7XJiRr1j p1x2Z4nW^QvP|@n##0uT=%#@N0tJ1vU)aeJ^m{qnP@aOSi0szuaAvXX3 delta 39 ucmcb+#IR?HVM7aJ3sVbo3rh=Y3tJ0&3r7oQ3s(#G7M=tC+XVx7e3$?k{0zeY diff --git a/netbox/project-static/dist/netbox-light.css b/netbox/project-static/dist/netbox-light.css index 06606cf837ca5e40f5d0893596f3c37fcc942a19..f5db11538a1391058a460e58b3d43507e7ea0fb7 100644 GIT binary patch delta 76 zcmbP!Mef)YxrP?T7N!>F7M2#)7Pc+yr7QIG3i1o`%TkNF7M2#)7Pc+yr7N~CS;4-D5dgFU3v>Vg diff --git a/netbox/project-static/dist/netbox-print.css b/netbox/project-static/dist/netbox-print.css index c13fad0fc8c9cc89ce83444ee1fee3651c7ac870..170e92bc4a424d6d0ea5a102c8e625b4f0dd8eb7 100644 GIT binary patch delta 161 zcmex7D|N@5)P@$u7N!>F7M2#)7Pc1l7LFFq7OocV7M>Q~7QPn#7J(MQ7NHj57LgXw z7O@ub7KtsA8{MaG_`=7*ua}vdn4YRzP?TDhnOd$ped8BCBW!{y(-qu>IMwnC^2<_- f&@>f5M5}WXD|E{F7M2#)7Pc1l7LFFq7OocV7M>Q~7QPn#7J(MQ7NHj57LgXw V7O@ub7KtsA8{M~;c}N~&1pw@n7196z diff --git a/netbox/project-static/dist/netbox.js b/netbox/project-static/dist/netbox.js index f63f39d86c15a7f5b6ac16ea3877636f50e30e0b..a5995f96aae5daa27f7f6153233639b5a2f9fd60 100644 GIT binary patch delta 17731 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 F{|CFp!?^$e diff --git a/netbox/project-static/dist/netbox.js.map b/netbox/project-static/dist/netbox.js.map index 394847d5ad51921e96a774d03266bf47f789f263..db0366f6bfeb9a2e54b5a1de6965389c35767c38 100644 GIT binary patch delta 389 zcmXv~Jxc>Y5XIYwO{##MSlI~Mh()w~yB^DNuE%jMA!QU5f*)WJ!A8LprnFjHEz@Wr zTy2r~1J1_6%EsRy1f9v6<}o|-K4$jwr*SiBT=(bt(Tn&Ut>)V@hQ0DU zcTT@>j9HAywQBl{W6TGc3{$qRKF*xRGo9%Qv)Fd?E6h_^nZi@1@4m$>sp#ko(wqz; cB0)qVhzQm3bac*h)$w#L^4|XI7IWug0A7$ViU0rr diff --git a/netbox/project-static/dist/status.js b/netbox/project-static/dist/status.js index 13c6a7b422717e8f42f90aaf7f4190495104c4c0..b60da0a36e2a163ed2b509ca190bff50a7ce5ab9 100644 GIT binary patch delta 5444 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 delta 5359 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 nIEt`ag*lS%&z|I9wH diff --git a/netbox/project-static/dist/status.js.map b/netbox/project-static/dist/status.js.map index 75ee69a42582976e4d4e7b316ad15e0796779a4f..a249f738055c4ab95e23394f628ef5d480f8c7a7 100644 GIT binary patch delta 151 zcmZ3rgyZfKj)pCang28ceRNzMogHC>qlJ@>x1+PA6Hvf0-ATvY(K%Gd+0oU|X?ov3 z#!hobM@LT`Pe;c{9bZSsK#-z99e+p1V35KxX9z#k(J>UH#uF&$=nf>@ji>AXXAEX6 go8J7NQG+WGBo9=d<+Oe2f5v8JM&s?8%uI~@0H%p7sQ>@~ delta 110 zcmcb+gk#kbj)pCang3M%eRNzM9Roo`u@i{Q1(WGcI_{2+7EU_Oj;{J{(VP<0F2LR_J BBuoGR diff --git a/netbox/project-static/src/bs.ts b/netbox/project-static/src/bs.ts index f31bbb9ef..e819b7cb1 100644 --- a/netbox/project-static/src/bs.ts +++ b/netbox/project-static/src/bs.ts @@ -1,6 +1,6 @@ -import { Collapse, Modal, Tab, Toast, Tooltip } from 'bootstrap'; +import { Collapse, Modal, Popover, Tab, Toast, Tooltip } from 'bootstrap'; import Masonry from 'masonry-layout'; -import { getElements } from './util'; +import { createElement, getElements } from './util'; type ToastLevel = 'danger' | 'warning' | 'success' | 'info'; @@ -8,6 +8,7 @@ type ToastLevel = 'danger' | 'warning' | 'success' | 'info'; // plugins). window.Collapse = Collapse; window.Modal = Modal; +window.Popover = Popover; window.Toast = Toast; window.Tooltip = Tooltip; @@ -156,13 +157,48 @@ function initSidebarAccordions(): void { } } +/** + * Initialize image preview popover, which shows a preview of an image from an image link with the + * `.image-preview` class. + */ +function initImagePreview(): void { + for (const element of getElements('a.image-preview')) { + // Generate a max-width that's a quarter of the screen's width (note - the actual element + // width will be slightly larger due to the popover body's padding). + const maxWidth = `${Math.round(window.innerWidth / 4)}px`; + + // Create an image element that uses the linked image as its `src`. + const image = createElement('img', { src: element.href }); + image.style.maxWidth = maxWidth; + + // Create a container for the image. + const content = createElement('div', null, null, [image]); + + // Initialize the Bootstrap Popper instance. + new Popover(element, { + // Attach this custom class to the popover so that it styling can be controlled via CSS. + customClass: 'image-preview-popover', + trigger: 'hover', + html: true, + content, + }); + } +} + /** * Enable any defined Bootstrap Tooltips. * * @see https://getbootstrap.com/docs/5.0/components/tooltips */ export function initBootstrap(): void { - for (const func of [initTooltips, initModals, initMasonry, initTabs, initSidebarAccordions]) { + for (const func of [ + initTooltips, + initModals, + initMasonry, + initTabs, + initImagePreview, + initSidebarAccordions, + ]) { func(); } } diff --git a/netbox/project-static/src/global.d.ts b/netbox/project-static/src/global.d.ts index f3dd7edd9..af5819c8e 100644 --- a/netbox/project-static/src/global.d.ts +++ b/netbox/project-static/src/global.d.ts @@ -17,6 +17,11 @@ interface Window { */ Modal: typeof import('bootstrap').Modal; + /** + * Bootstrap Popover Instance. + */ + Popover: typeof import('bootstrap').Popover; + /** * Bootstrap Toast Instance. */ diff --git a/netbox/project-static/src/util.ts b/netbox/project-static/src/util.ts index 99c9d039d..c3dd05b0e 100644 --- a/netbox/project-static/src/util.ts +++ b/netbox/project-static/src/util.ts @@ -422,7 +422,12 @@ export function createElement< P extends InferredProps, // Child element type. C extends HTMLElement = HTMLElement, ->(tag: T, properties: P | null, classes: string[], children: C[] = []): HTMLElementTagNameMap[T] { +>( + tag: T, + properties: P | null, + classes: Nullable = null, + children: C[] = [], +): HTMLElementTagNameMap[T] { // Create the base element. const element = document.createElement(tag); @@ -438,7 +443,9 @@ export function createElement< } // Add each CSS class to the element's class list. - element.classList.add(...classes); + if (classes !== null && classes.length > 0) { + element.classList.add(...classes); + } for (const child of children) { // Add each child element to the base element. diff --git a/netbox/project-static/styles/netbox.scss b/netbox/project-static/styles/netbox.scss index cc70dd2a0..b05cc07d4 100644 --- a/netbox/project-static/styles/netbox.scss +++ b/netbox/project-static/styles/netbox.scss @@ -956,6 +956,11 @@ div.card-overlay { } } +// Remove the max-width from image preview popovers as this is controlled on the image element. +.popover.image-preview-popover { + max-width: unset; +} + #django-messages { position: fixed; right: $spacer;