From 093a86bc3819d453f96f886aeea711c76f53fd89 Mon Sep 17 00:00:00 2001 From: thatmattlove Date: Tue, 31 Aug 2021 15:13:42 -0700 Subject: [PATCH] Fixes #7081: Properly handle pre-selected values even when they're outside of pagination limits --- netbox/project-static/dist/netbox.js | Bin 321880 -> 322088 bytes netbox/project-static/dist/netbox.js.map | Bin 310441 -> 310621 bytes .../src/select/api/apiSelect.ts | 39 +++++++++++++----- 3 files changed, 29 insertions(+), 10 deletions(-) diff --git a/netbox/project-static/dist/netbox.js b/netbox/project-static/dist/netbox.js index 77cf2541ce2e38431aed6c43481c657eb3bd4c95..f63f39d86c15a7f5b6ac16ea3877636f50e30e0b 100644 GIT binary patch delta 14393 zcmbt*33L=y+V;6!H|%>h0!c_WBvg?~lMol^rqYBEb_fch7@N?Yu5>l&beFwU2uTD- zoe>?zrT_7|jN7N5+vo_Q_8A31|L>de%p%}2in!0X4B!GPI*#K1+^X(QK>hyzoS(z# zTXpN+_ul*N_kG{I_G116FX!*Lw`R7kG_Mf@k{nce)`&?tEZ0l2p{!mb>dvql2_`g2 z)|6VgN9pS8>s}+bDXOPO?2wJr8#N{87!8_RtFD$p9irIY*QZs4A{Dw+RV6kmdaLG@ zTa=*KC~Gp{CnP>fmD*ahRJC&<(RRh0wFORHQ5D6}7>oIO9930ery5DbLTbFPuS*Wf zhOD_UNe95764FFHbzuJY#7G@zs;@NHG9+^OJ(^}`1B$v;FcMMyz z?pGM{_jOHGy3*l{sGAaQJ9eWx+kN4%*da;IKs2JdrQSrWr#GNzyOv)(c?i){+J>2B zhSJ_Bb|fS1iBL2m_DH=EwY$QHhkhV6_4tM*ILoOG*8=`EzUfr!>(h5V;d76|?BiX5 z@w&JI+vv~EuP{<0jH#(@kwT2WGjaibZ!x9-!tV_cGa8~dqUT_A9iI1hui3RlFUZX}FJE0hWn7j$-C^)wK+$(q-Oz8t zw|i4gqVIYsHJmzhWpk4lm|0hwV*nis*LspJeXi2(3AO5}Q*1IuPrCVP2d3Whlsrby zjm1gyU2i_MnH1?tty`ZPck5WG*YL$Ef=U!~yLL}2*Oj1}Xo_~}$%GnMo#+XxkfkiU z>8VF|bJYD|_j>$R?)d<}qn?rQd(Jb<@q5KHSB}(`c0Pl1d1}Jm*71fCbcW*dqp^S* zn;+ez=&8&0mQ02Ox;5;8%bK}^9_#?})rRkn?L9HVsH#fJn-vv6ez%XG|IK|Hhhl}r z&AE`0$ttR~b7eb?pBALbbJ{z+~&EKnM#g+nwZAb5TpLrhA2eP?v(lHB9w4Bn$? zRaHw@x2$yPzF1rpwbToLss#^z|EH>PhTJ2$fwiDB;7j;KW7pY#t|L>iN=Gy%aa`nvePTij#huu27nFfw$mVO<*Aq=96fITx!u!*6J9k7Q zj%vf1=+RX-9|oLMRb?K)Ty^{B56g~C?fbqUb>05a_Dn~c($U)E?d$7tYprcw#lTB{ zzZ?cCQkNYpu^9?;-YFENKG{DUlCa}oRjT}eSPYfoafH>5gu~^Cg@Rhb;guT|Bjr8t zI7Ur4cvXR+4BDV1KDep@zLGu`?TVJXGMV@}C^vut5%+F`N zY{%!dFINb_c&g`RPobe$d(xxv5Z6@BO;uG|>aQ_19Df^*<)VNnFhZ;3K zawo_z_mx}C`G;P)xY|&9Jcg?VgOxUq=Bm+TMuZJePuPqp7 z9dF>YsnSCdOjvK$gr!y;DjNeyvECguTx<3oYR74IzFm+y`f7f;8$1Ysh;~$fu#QNw z%df^99?+mG?r<5YX|LB~@I|jD@cY--i}CyZ>)edsdAK3@b~Gse;3{h{j60AZhrq#y4$lOAhrdzk zK7FRi>A9&{yg>zVDr9hO>8>_#;)XZM0cFb@FVtitTT^=b&!C*7al|_urjl@4^0WEP zUsv)ON+`b4w^B4DPpvDXY~l%DFsQ~BsL(o!vFoh2`UnuT^KEW<|M+&pa1$CQQEJOO zMXB%JEuLUFwNN0SMobeRC!)afig#oT-~7&H17ZjY4Qn;L95Y&~^xZ0aZ+e$I0a?&9 z#|{GHklb48-FNHr4W|)`hx}o65cKKqRl|i^{od_106G4TQv8m2e;K+iet(|rEbvFv z30Fmp1T1YD)wy8DA?0C>+m2kto;oFrD2h5eLg9oOTL^34Y-w;)R~=o)zmH65M^|9@lSikG z((H<2L_>j!T920c;OHwQ8q9}j+uAHv%WN6K`tq^1BF(EbdO~8O1VXynBp1g%J}vpU zbci`oOLcx+QUq;fN=}<)E|w(JF24M&AD?3_fB0h@E>-@?j42pt7wvGl>{`~(&92@G zEu0E|@*zgHd|Hg(;HOboU=wg=Q_c*BSd={e=`6v(GF6{RXJa#Ro7^b3NWG07%^8fY ziNcMY>!huj+_a)l3W`o<%K}5dy^I8mk<@59K zJN=7u@!R$VKjZlC3v7V9{R<8^^RoYo8Ng_7mJK>UQ<3A%uBFC)>7aN7{lBa&`SCH_ zhFtb#>vVj@Nia#usIZK3(x9B;@HrwuIR2t`)Ew&0zxyZyq%RQ=bJz{D%RF5%LleN#SK%Q_o9 zd|Rn+W>3sbu^1)1g`g?ka2Gi&P2x74TKzc(!d8?t_0QjPUw zgck(JtN_1H`}LQkcGMs_)ma@Oml2KaAf)I#U5ra|)Tt%9!b>8dgxJRM(Oy;6?)1k( z0RSHKC~A-ixeamW+%7pF>uiCO{6ija58B~InIHHBNg9}u%*|LclPtuJZ<|Sm+s2q{ zbMXwo$ zoCd7R1a`?;qzs$id=`1R5X-hKB{~qbZz=H*?Y?DX2r<&+JTerdNDn`sTss6v{`Ey9 zFK?1xZqE8l6@J_TEz<+V<7bb1$xPyB|L~GI#Gfu-Puv8r7q^imXzpzz6(juvQ`!DD zGHI4yiGimg9igDx@9b99&XuN@6$fBD?zMhrT#I(Eh(;0`@2czT^Rvkt$T5H)<|C8{ z0LU)iP3(4m&IWEtKVkD-`B@{AyUljLDGz^1cT(k@uvY_z}K{E zWFo%0G;-aH>{n}Z_=@#bfiBGhn_dXo@oArHWELkRUq83Jj^)j+UTfvGAtD3z6(JIu z;CG32v#R}4C4TE>&4>e4r$XdHd|tbeEO+I$ZQf;^~q-u1)4^8;` z`rxyR%`@xN`UaDlZ)_y<0H&;yG>`Sm=gZyl0>~S82mI{PPEvwz*LIQ_XrAnZM)0#E zounE~Q5ee1pPmy2tD>FPg`sFKj*y^GX;PUZvRfJ83s20tYA?WL3W#=@r%Zo$DS3+I z;Q*KU+3q-*Zu86R`bD&qZ9hRqvQY^#VSENF9Nq%O5B6d+6J#^?ux}fY*h>i##llTV z@;vAEQQhP$G>zTlZS>kVk&kV79ouW}y{VUMLhtTgqVchn{p2|`AN7+5I2Zbz9ntn= zTx4~J$>hq#QEYO6I!WMkAOHXcX{d#p&EDNk@`u#a$v7zUY$cP}m@Q-!U{2mbq%v#F z`ObDN6b{7HNX9?I@P!!e+d`&cZ{PgOKZYb$i%dJHXuIen#HGfa5>oteGBh1v!VGwed=m&Of`7gz@(2 zm1LLAudppw5C{9iRiqPrvwlvNp}FkmB+Wm4{~9SwFaHH;;Ips2n)E|G4c|s?0nB^0 zksblPW!uSQG;_9-`_R0z9lGA1KDnJ#+lByFF=rdIe?syp6oH>LTu&tQ%9-8*Xpa7y z{tF1Z<9f2X%o^UtU5l0Q_DzKYzbV>n&K+|Dk;<*PKQcrCq<&Vn7f0{BfqaZDth3{ zui4{wL7m+WfcYlXPuJn;3+^E2L# zFu&K`%tK7`Z0fKSD}Mp=IoK12VkX7^L9YS-&F} zWAt^uBQ7+5`W;cw411JJMI%2-=1<7#P|2OMPg@`5JkD-g#m3`{HWF ztaDv{_Qyxzk@(rF9S~l}4%3w3Sx48iJ4pUWzq36N3olc9JkT*~Xg)i!gZS}r%;%&? zSPLPE>?G5cWtVkM3*~Go>~2P(1HUnl21q}nFG~y04_5hXr>PPvA0r7YcI#v05j2Z; zktzAyyoWjxd`C5Pt~$vJuG+kdbd_XRLk?nK4EHf^dYr7l?3It3$|d+X$>VhBdV)+U z8q8g$@-*qn>@SnzQ8);Z0M7uSnzwGwVx#K+r|ti zH@Q+VwQKg74{>-J}xDKX#LKXd3o# z#$mxdWGM1Myje!Eo2#MT)z0K0EsJoq@73J z%-gF3lZ3mh&Im_+^mURyTn&TiO)tTDh?LYpi)90J7~FcAsfW|!b!W%t4zlSGS&YL! zdx+}-_SPZNipKT2Y2)61ouu)0`(ZM#g5v1f_Ojw=s*#p9+{bDSWxQ*xr+fCN(Z#TkbQX-|mo z%CgRvWIerjg3Ja4@F-;Vb279DQ^1Q{&3CFjfoONcVLCr^KR12FwV#vsN9TM^5!Nof z_zU8iWXJWD&*^b^qN)p-wqWi(pt{1UY_NOA*bviVAB?fB9c|2{ai`{sw{%A`aoHZxu?cxPEq%`f+XgZgd5&5nIUMpd z9yvAGgaX^m6EshdNAk^n)$C92F0kD=9%--$tY9F3V9t*$#llrK1Txt5RW?LJ*x#yb z`#>f(-B#{0oc?Gc5$%$BQpME*E8UT(nPxV~>+m<(%(J+rInB1F#cHdK^rzEpZ;^9! zB>-y~NW$UBUI|2GcXJoEAiupgsbWIzH4~CNr{pr2FvB(jdvMOMl~w8z@|dy2kI&az zgWej%y3_g$+bn_{aKzaW4(V%sv5?OSsh);fcn-iVE0b&`&6=V*v+=^*+K8MRh%zDe zq4auU0&kwC^)jaA9EJ8+x*Z`n3-1a7)6k;yQVyD!JClFbbCG2xY)63ViK zXpT-M%;9J*Qe{0o-fhbthMiV6+3b0SD9K?~p$n7JYLl%VsmJs!3v82+sAZ2Yw9PF= zI7i3*0ZHTwbYu-x4A;ak4`NC(J6=!nvGa;WwlYC?>ueq#z(4C3*$}8^KVM`!J0J78 z4o2Y589@>PSk>4I*05uXAQ(EEx!890Xl$dmi?7q{Ye%%|lu$T9l22;8#U8h(qMuwlllfq1~{Rj!SI$<9Mbe z{eyI5nzuHf^4Ok^{DRo`48``uTanhox9Av0U`Y z?ND?vhiTsT3hph28EZ64Now6aa|2nAyocwsA;!=rIrH46 zER2Xcsxgp#R6@(e*mCirCRC)DH3SGMX68yV>;|O7i}Z3s8tFqX9@R+y9YpDMmE@Q;;U`nwt)1yge2Thu1{)YM`y}pTcT+I>H!u6=U=zs&ogIod0B0k4F^BoiHPglv2iB_1V@?kq=0G` zcHT*$$Zh}+ni51PYPU3-gZ*pQQl)Gg^iP;gxrAvVG3{ozt+p8@S2L30ybyUwx605)yl@2JyVa&!rUpdN=*Q2IF8;T$fN-hKa9)^S2!L_+>9>MC&*Vjp$Vmd{ z#U0-Yg)W3wX@t(TaS-qgCJD5xE_NwwX)c%k&dN*_YcnLGj4!pGAOYoa;UK=OdnNnpZ_l+K4VJwj>S zY0IAT|Fo=?4uYcQ$qaMLXXnw1B8%=xez*|#YfP1)v(7v^eZ3CXE>k9C?&~y$#mRW7 zS58&&imxEbnk+Q+^_kC>k};JBtnI*OXfus{mPb*}!Nv`t5*pVKx^RoZ5%%L?PXjdo z$@FK;Ab4iU1mcTkCx7Vc%T#CZ38r3eLEgi(-aodE4Z9*k>6Zn-${8qW)!B$)v;02)F?L zl9iSLTl!+{+CmyD!;B)vl_ZYg&T=|z{=%-x!_Km00(d-*V z3)x#mbU2=m`)C20%ZF2>$;~#O%`B#+g}DV$2@`4b!`}jYKF<1HblUg%YB<`B+ETzP zq{SR;A?}A2ML!8A_x(rVU?F}kR+CSMj?EmZDIAR>0I0L3e0m|}_L_76MW^= zPNAx;&fClB7<4{dPEiua{#s6No?)O217(_Kg#<6}!4)^d%<$HsCa`^HJRS-_fn7HR zDAcmBG7Ai;0K00erh+;OP)&nk3q+N&N$dc4qrHN@jM|9aAiH4|B!J^-@+n05_^l{O%~qhLz$jc-Q&YEtP^j{Pl13B z)k3+i)+--iJ>hEgh=bb84HvsdvA(+8;=8D46%dx2`jP%wS`G&&U{ zchmxFOQxAjxqceuuFU1rOlG*vYM!taOZJ&h-#MLDpt{*w-V|rv z`!0YI{YjDT89B-FjFM-1MsQ`*uh!Fsygaxya?rdCu=+W)s0sHXpI;60BUrA4l#PR0 zo`oK@I}bS5P}!)rk5CxOEw@!!lQNgI(E3tMOq+BfTAq ztelTc80oJ0^zVYTiz#R>T}ZFRnC}+S>S8YKQJsgle7KqODtr`00G*yi=Jua$q=fPaPzv6JjG*^0};fCEYpHbc6b}^xs!fqFd_g zB?Ny<0E3s&xri5ha3Otw*x?0tlP7G z=x2kGe<4O7`00c}-}6|lpKcwGf@f1*h>IXJCiyaRp8W;^k9ngh&AV7J+?|ZvCQM?J z+Ub7+#=dqsX#u=`)c81kI<#M)iRbZQ!7{+wxCC1Ek9(yEG6mr9_GIrA;_;6daqqCr}3o5cSv zDQM9y<0G2JVlD)6cZmKT7&A7~Cj|Ho%-Lz0u4SF3C*9dee`_;5?Cws867W4F?FrLk zlcvCLUxj+u%w4m^(yU@G^31w^K`WQ5N`nfc$tL>{skokZs5;_{{Z$cvTzAi%i7M4d!?fOx{tc3wLrL-|SQwx} z0hIZ#Hp@ey7R-{i?DDO+7<#dR7XL?N(z=@B>BuXG**re^3wC?3vS@R==vT zTeeZVhxhrTQC{f}Rmd-?JkL33LZ(^~-x_K;ES+Cn`=dxebg58S|Jp_?a9hiLK{;gz z#xn^w5K(cA515x6Zdy!q1(gg*!xk|+WbP)qlCtUJy1L+?WhfdLAgJE&1~r{dr%w)g p`!h-Uh}6py@{TT*-Fyx7hmY;OhE5&Hhs9++)|>wOH8i>Y{{Z{%KM()_ delta 14191 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 NI}=ImxsLX3{2yi={%-&P diff --git a/netbox/project-static/dist/netbox.js.map b/netbox/project-static/dist/netbox.js.map index e47154395c024685a5709b0d5b5fc1346481f1f2..394847d5ad51921e96a774d03266bf47f789f263 100644 GIT binary patch delta 402 zcmZ9IK}y3=5Qb@dAa)_rt%3(|KnfD*M)=>f4Iw;gjj_~Str6>@TAQGBVOkFjV6j;=#+uqw@DU9d zjY|nNQu+n+Uc(z|@eLNWE7|@E+5&o(Z&8b#e0Wz)v5)@QI|9629=2H8fG-4MsIjv= z;+#TB^1!D>XW$*@hj(hzDaDyd)b4hzF7S?B!#@#DEXL42xthHsYM%Whs=Q@|8!bjp h!m6Afr0R8}Tub$Y?ceUD`RAhw)}4Jfcc0bR{RK{DaYFzA delta 198 zcmccnOK9a!p@tU57N!>FEi8u$nS=A3rt256NUD3L>9{*O`htjbCmml9)7#O}8;J;Z zbgpoo{;`lnOxe@X(G#RHRL9lP(O)Og(J@gc)X_P|S;rs5_jGji+kU5rg^!6bdHU-T z7I|rN7m)IBpp0h-NKdj(u%lxzkn3DEUA2^DC5x-0bK3S7r7WvCxr|Gks+@r?Fe%wS ax1PnDoz>LT$=G@N#Dy%P+nL%~qRjxXH#_S9 diff --git a/netbox/project-static/src/select/api/apiSelect.ts b/netbox/project-static/src/select/api/apiSelect.ts index b6e75783a..a10f646d2 100644 --- a/netbox/project-static/src/select/api/apiSelect.ts +++ b/netbox/project-static/src/select/api/apiSelect.ts @@ -389,6 +389,19 @@ export class APISelect { } } + /** + * Get all options from the native select element that are already selected and do not contain + * placeholder values. + */ + private getPreselectedOptions(): HTMLOptionElement[] { + return Array.from(this.base.options) + .filter(option => option.selected) + .filter(option => { + if (option.value === '---------' || option.innerText === '---------') return false; + return true; + }); + } + /** * Process a valid API response and add results to this instance's options. * @@ -398,13 +411,19 @@ export class APISelect { data: APIAnswer, action: ApplyMethod = 'merge', ): Promise { - // Get all non-placeholder (empty) options' values. If any exist, it means we're editing an - // existing object. When we fetch options from the API later, we can set any of the options - // contained in this array to `selected`. - const selectOptions = Array.from(this.base.options) - .filter(option => option.selected) - .map(option => option.getAttribute('value')) - .filter(isTruthy); + // Get all already-selected options. + const preSelected = this.getPreselectedOptions(); + + // Get the values of all already-selected options. + const selectedValues = preSelected.map(option => option.getAttribute('value')).filter(isTruthy); + + // Build SlimSelect options from all already-selected options. + const preSelectedOptions = preSelected.map(option => ({ + value: option.value, + text: option.innerText, + selected: true, + disabled: false, + })) as Option[]; let options = [] as Option[]; @@ -441,12 +460,12 @@ export class APISelect { } // Set option to disabled if it is contained within the disabled array. - if (selectOptions.some(option => this.disabledOptions.includes(option))) { + if (selectedValues.some(option => this.disabledOptions.includes(option))) { disabled = true; } // Set pre-selected options. - if (selectOptions.includes(value)) { + if (selectedValues.includes(value)) { selected = true; // If an option is selected, it can't be disabled. Otherwise, it won't be submitted with // the rest of the form, resulting in that field's value being deleting from the object. @@ -469,7 +488,7 @@ export class APISelect { this.options = [...this.options, ...options]; break; case 'replace': - this.options = options; + this.options = [...preSelectedOptions, ...options]; break; }