From 89b6ef6b138763e5c78f1ee585fdbcccbe4c4c0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?marker=20dao=20=C2=AE?= Date: Tue, 14 Nov 2023 21:26:16 +0400 Subject: [PATCH] Tabs: Set focusedElement when selectedIndex, selectedItems, selectedItems was changed (T1193394) --- packages/devextreme/js/ui/tabs.js | 17 ++++ .../widgets/fluent/tabs/layout/tab/_base.scss | 10 +- .../generic/tabs/layout/tab/_base.scss | 34 +++---- .../generic/tabs/layout/tab/_vertical.scss | 18 ++-- .../material/tabs/layout/tab/_base.scss | 11 ++- ...el-in-htmleditor (material-blue-light).png | Bin 15903 -> 15913 bytes ...mleditor (material-blue-light-compact).png | Bin 13972 -> 13978 bytes ...el focus borders (material-blue-light).png | Bin 5769 -> 5775 bytes .../DevExpress.ui.widgets/tabPanel.tests.js | 8 +- .../tests/DevExpress.ui.widgets/tabs.tests.js | 90 +++++++++++++++++- 10 files changed, 148 insertions(+), 40 deletions(-) diff --git a/packages/devextreme/js/ui/tabs.js b/packages/devextreme/js/ui/tabs.js index 618f8f1feca5..670f02a0ddbf 100644 --- a/packages/devextreme/js/ui/tabs.js +++ b/packages/devextreme/js/ui/tabs.js @@ -681,6 +681,17 @@ const Tabs = CollectionWidget.inherit({ this._toggleFocusedDisabledPrevClass(currentIndex, shouldPrevClassBeSetted); }, + _updateFocusedElement() { + const { focusStateEnabled, selectedIndex } = this.option(); + const itemElements = this._itemElements(); + + if(focusStateEnabled && itemElements.length) { + const selectedItem = itemElements.get(selectedIndex); + + this.option({ focusedElement: selectedItem }); + } + }, + _optionChanged: function(args) { switch(args.name) { case 'useInkRipple': @@ -742,6 +753,12 @@ const Tabs = CollectionWidget.inherit({ this._toggleIndicatorPositionClass(args.value); break; } + case 'selectedIndex': + case 'selectedItem': + case 'selectedItems': + this.callBase(args); + this._updateFocusedElement(); + break; default: this.callBase(args); } diff --git a/packages/devextreme/scss/widgets/fluent/tabs/layout/tab/_base.scss b/packages/devextreme/scss/widgets/fluent/tabs/layout/tab/_base.scss index c277b9fb312d..67c9c67e6794 100644 --- a/packages/devextreme/scss/widgets/fluent/tabs/layout/tab/_base.scss +++ b/packages/devextreme/scss/widgets/fluent/tabs/layout/tab/_base.scss @@ -44,10 +44,6 @@ } } - &.dx-state-focused { - background-color: $tabs-focused-tab-bg-color; - } - &.dx-state-disabled { color: $tabs-tab-disabled-color; @@ -96,6 +92,12 @@ } } +.dx-tabs.dx-state-focused { + .dx-tab.dx-state-focused { + background-color: $tabs-focused-tab-bg-color; + } +} + .dx-tabs-icon-position-start .dx-tab-text::after { text-align: end; } diff --git a/packages/devextreme/scss/widgets/generic/tabs/layout/tab/_base.scss b/packages/devextreme/scss/widgets/generic/tabs/layout/tab/_base.scss index 0cb729216623..ffe5ce631390 100644 --- a/packages/devextreme/scss/widgets/generic/tabs/layout/tab/_base.scss +++ b/packages/devextreme/scss/widgets/generic/tabs/layout/tab/_base.scss @@ -74,15 +74,6 @@ } } - &.dx-state-focused { - @include dx-tabs-border-mixin( - $generic-tabs-border-focused-top, - $generic-tabs-border-focused-right, - $generic-tabs-border-focused-bottom, - $generic-tabs-border-focused-left, - ); - } - &.dx-state-disabled .dx-tab-content { opacity: 0.32; } @@ -91,13 +82,6 @@ &::after { z-index: 2; } - - @include dx-tabs-border-mixin( - $generic-tabs-border-focused-disabled-top, - $generic-tabs-border-focused-disabled-right, - $generic-tabs-border-focused-disabled-bottom, - $generic-tabs-border-focused-disabled-left, - ); } .dx-tab-text { @@ -120,6 +104,24 @@ .dx-tabs.dx-state-focused { .dx-tab { + &.dx-state-focused { + @include dx-tabs-border-mixin( + $generic-tabs-border-focused-top, + $generic-tabs-border-focused-right, + $generic-tabs-border-focused-bottom, + $generic-tabs-border-focused-left, + ); + } + + &.dx-state-focused.dx-state-disabled { + @include dx-tabs-border-mixin( + $generic-tabs-border-focused-disabled-top, + $generic-tabs-border-focused-disabled-right, + $generic-tabs-border-focused-disabled-bottom, + $generic-tabs-border-focused-disabled-left, + ); + } + &.dx-focused-disabled-next-tab { &::after { border-inline-end: none; diff --git a/packages/devextreme/scss/widgets/generic/tabs/layout/tab/_vertical.scss b/packages/devextreme/scss/widgets/generic/tabs/layout/tab/_vertical.scss index 7009e0ea5f4b..bbe71d55f93f 100644 --- a/packages/devextreme/scss/widgets/generic/tabs/layout/tab/_vertical.scss +++ b/packages/devextreme/scss/widgets/generic/tabs/layout/tab/_vertical.scss @@ -47,15 +47,6 @@ ); } - &.dx-state-focused { - @include dx-tabs-border-mixin( - $generic-tabs-vertical-border-focused-top, - $generic-tabs-vertical-border-focused-right, - $generic-tabs-vertical-border-focused-bottom, - $generic-tabs-vertical-border-focused-left, - ); - } - &.dx-state-focused.dx-state-disabled { @include dx-tabs-border-mixin( $generic-tabs-vertical-border-focused-disabled-top, @@ -68,6 +59,15 @@ &.dx-state-focused { .dx-tab { + &.dx-state-focused { + @include dx-tabs-border-mixin( + $generic-tabs-vertical-border-focused-top, + $generic-tabs-vertical-border-focused-right, + $generic-tabs-vertical-border-focused-bottom, + $generic-tabs-vertical-border-focused-left, + ); + } + &.dx-focused-disabled-next-tab { &::after { border-inline-end: $generic-tabs-border; diff --git a/packages/devextreme/scss/widgets/material/tabs/layout/tab/_base.scss b/packages/devextreme/scss/widgets/material/tabs/layout/tab/_base.scss index 3e4966e3f780..770c1c0709ad 100644 --- a/packages/devextreme/scss/widgets/material/tabs/layout/tab/_base.scss +++ b/packages/devextreme/scss/widgets/material/tabs/layout/tab/_base.scss @@ -35,11 +35,6 @@ } } - &.dx-state-focused { - background-color: $tabs-focused-tab-bg-color; - } - - &.dx-state-disabled { color: $tabs-tab-disabled-color; @@ -66,3 +61,9 @@ @include dx-icon-sizing($material-tabs-icon-size); } } + +.dx-tabs.dx-state-focused { + .dx-tab.dx-state-focused { + background-color: $tabs-focused-tab-bg-color; + } +} diff --git a/packages/devextreme/testing/testcafe/tests/htmlEditor/dialogs/addImage/etalons/tabpanel-in-htmleditor (material-blue-light).png b/packages/devextreme/testing/testcafe/tests/htmlEditor/dialogs/addImage/etalons/tabpanel-in-htmleditor (material-blue-light).png index 50f72ca23ae17b6d10974428622c0532e0dc499f..ff788651393fab1c4b8163b7b3540f39a96469e8 100644 GIT binary patch delta 13004 zcmb7rc|28X`~K;4(m+BoMASA_WX=%LU@TOp5+QRE$xw#Ks+1v9>>?p2ib^uoMnb08 zh*Qdtc}}KK=HYiOb>8( z`|TT77e_~CtCcjL)AwkdUbSVt6f4W}Qp)c)KU!>HnHN3y>A(*CI{nh+EnNK@U+SBj zc-rvw!;C>wie1VMKm9b`6wN242lkdey^_eV?{~#jw|sbI=v8yG6CQ~*gJNezmrHj~ zPIIX)PS;r8xN#%KYmDCA+iTqEoWsJ(8dh^kfj2QFB{;<>E5oLSuPQ#ClBg54&)Zu? zJd%->l~qwL+gN;Td^}3pdX2ie`dyJYFKG&e;%u)p-A$FsJ0-F7Vf<3wUA?6BdG24K+1E6GJZs z4l#o_6?a5Or@dY;%nab2DhCg#&da(rJFTR-wR-qHdnTr)rWUeOSkutcQ)!?srMT|% z=Zf>*<2<7V zEp(Ns_T|F`i{5hQK3}&s)QOV5A!Yg2aVx*qw`G%Ugle?hxuOg)>_gFADN6<3%+v2I zFw$I8!8{MMpUpm*d8?i{B1Q2nl)<_CYxQJJbwI! z7;;@d+3Gnm+F%))?$o8RYuB!=Vq)DfF4g7>bJOm5r`SH#)s4k1PRG5T_-v;}VbxQe zzwo?Z;nG5n>B5Sp5n|Ev=FOXFKPD!|sBv@GH;C#VK5;@*Pmh@@tZPwtZN=@|w>MKL zWt@QtXJ#jcUXNERH8{NL7sk%Mofv8|%qP4Q=Czk(H%Sk0%>s zo?c7;&zGNko9YU!egFPy(~vMP^U)J0%63mS7x%u4HpDX#)~vxAPm+_n%2XGmE?>Uf ze6il7LC(J6&1;YGRer@-(i%oa@_S9y8P)-!KGmkD;to#Je(l<|UelGPiH{zwh_3AE zymR7IM<_8TK%beJ$^QB@xgpJbIc;#z9@8#^85kCL@2=TB$txrzjA%jHRAKX`92b!eN3N!lfc4tljtW{YT>A8|_cWYxczK88 ztu?;px3-FitTZ}(S{N_SMx^M3qowt9cN5<}+og_TuWx6yc}LIBPOcA7^B))*D%CeN zJ#^v(CrzeCnW~28A3u6@QKXU~>7`x0^JI%#*N;p6U%yfu+TUFDih2HAypw^Mw>}p_%8~R5~?6`E=pbeimE|KR0E~#*G`Niuo6= zoU2XLW#W+wvcfSQPu7>Rspied%nY!zv+L@zvawlTUsv}wU2tRY*qi0+%yQvJFi(oZ zyL&qao3cW)2Z=%Z&d;AePbox2MU|Lb{B+#dz2gSyP&M6K4d6ZR&)hz=v^4lxc8h~O zkGzB65mQtCfCC2(IOeuA$T>7?#pma%s2oIiv0Pl3Z>U!2Vq&{dY|ge}!-lZf*x;d; z^```m$ZiyRe{0MBZi<}At+B-5>D4kEu`RHA?Ln+d@}b%Qs-3<(~c0U}&V zu43y&^d2TA`ofbP1u?ja-l%+$8-_EF`Vol!!ISbv2LP?J4KyT)2YMvF-BY`<9k>8P=8A zT_H-3A3tvYbi%af&DG_E*NFE8)K%a^Qf+kfZt9Fz*jF{fYX|Fc?U z)*kljl-pwLShzxYqQR0^JKZ4YP=;CI@59+$%m)r0Okc|_eSLN~Hxy~Y+!K=xVElvl zUCcB;#dI<;1vB>~C{Q(evO zUBRT0mio_caIX5&-(T1@dg}`Ubm#Nj;iCQvW7SF{?Id~$TPRZt;YI-R>OW}Od7@xu z12R$r^6hSKc#nnBfX%Z^#~fpSf2~EUEoDK-#G$^v3=TOx956uGH?M-@Z%u#g^?}pu zQ&XFfD9c)0qbPhkBEos1(Z=Ol``&x^?tS_4Wi!hvESi%H;YW`hyYBD*-IT*wXPbmX zUzjG}Uf`D~>at}H)U=)3snwfS{+HiEg!-E7h>L8&qr{v=xL>0>vvK9FfVWdTe#`dD ztQ8l}$ac9M$QxMTnZB)P_s9*8fjzf%7!y~B4fA(dq?K*1e))`ghKYlyE)5n@)PCVX z++Ho=YB^i{kx95as^s0w{&k|0YExTNuGm$4#t^(k@;SrbVzcPdoU3@}$W6S;X8u=lCu_uQyUryZ2n!7Zl~+TQm%=8oa@JRPQ~8aJNi^SV@JcT z-PCMTd9`f9?yhQ<26wyk-LGzrZD%-rh}{fw^%;8cQVXH86(-GcALuscI*M+nB^(Ji zaVp(#J2EoUv11?nRnD(?uY-elQjGH&)0q#EIGd8=Cr*ra21;ajPC6Kia~Aupvzhtc z4}8(dA#SWCyRoN;QKGv_rbh6{<;%N6mB&`m22u;|cXnEI-uD{QCT&2aBAAeG)jD#7 zm621tyJY>L?yt$I!tW>ZCwC(zW)D2iP1|9ded~1_=YL(vzG}w{rq>l1Vcd^Pe;e3XJhTAuKv{y_Q^aH z9Gxmc zP!SCM6$;vFy6Myajf9UMKYp8STf9Fp;VND*=WO4Ub-pi2b$%OwhuK&+{ldkI>9)1P zXV0EBNHbf8pf33NwTBE2K{%k*y=$#X#Y1f>7oZ0Xpw?%Tk}K(z?XJ1$Yq=z^5D{%7 zHW)*2kV$gugEb(8NoT`ajBD~+~z>ABAzjOxyriq0I{ROPX|gz#x9ZZ;aGINaiCbqF4F zwYx2)vffBxO+mw_%FXgGu1~2}k1F|lUN*hHcE^!?wim11nV9RVtGS{lG;_xO2wdbE zDw+shzeD4BeRp`AZ2ajSYO(^jt+b_6(Uy*z0GH%+w7K#rA`md@_*rSadEg!f|1Rd_JvPFH96pgm4jx zTtrv6MW8Y#G1>EgLq%ln(xK~WeN#J}#oV23_?;vM1JYEPGH;57(5{O6Fs*$3k-Z~$ z`4RiXWg|7^-LbY&Ug0_`=LQ1wPVW15z~%a(@Qy2iz6NtSI}YgDFd11M3aURDufspM zxu$e+)WPU>ON-R$4Te?Cz zzx4eK5^5vu98W++Ma4IFW&76GQQ4>>-ZwUCdw3|8v0;gT5U}9l3E&h9Lyow`xxOb) zo)iMShNe7xc%9Hk7@VJMOUlfoBJinof63Gei;Na9IH(k$B-+;9lS#;E)p7c??bI}A z;_7fwp&E#&j(V4y~V*Hnk!>&1mxCT{6JLd*7>m~5h5UA{8BT$0I4 zg+C=FMUY44G}HOK9~?5LtKOhC^B6z<`_OajyE~uA+-D#reD8!*Z?Ey``%-oxDT${<9pO{+;fZ;#U$zVsAC2nIxy$ zUI|D&mv9+X)8$8$*V$;5k+`L3KEdRIx`O>bsR0O}|7OY5*2O=&+n>$pc)v;rH68rg z72;N;Jm-Cvv%11;ZV&a46_+3ef6UcEsqT~YkN)b`KFOtgqOEL4ajbGyZYVF~X^xY; z2ZD%Za#93lrIJ*bUNSN%V_m`C>Fn(MuWdktu9PU?H4@|K>f-X<8{gV`iUjw7{N;e< z+qP}%fN7CA7q-hB`75|y0+-T1G$a&;&lR_~l~`L@Ic_a9yCvV|MeXf94L>YIj8*`a zP9JJW_aU&44D0xUfK{u1O##6}OV+BK<#g5Et10Q}VV{yui~|ebtQ5~>VpV)4_NP@^ znUzC8sU~-rrQ^6GXYg*R;Y;#Wobw#TE=>07Q4F+Au~KZMS4>Qf_@2Hi`1PyLY7b$7 zJch;0%*fbSW~TOJA&yX@p{!$jm1GnlUqyKz{`J(WSC+g7-2T`#Yj&lwy^dASVN-|I zeCt-3I=9UBcPy!~)IyOb!~PbGr@2ekPTZ~9k*>h*w=9ywNO^3p#K=p{X%m<0q6fs3 znVGk>OQj9S*@1>110jgvYLYZd3OtIYX8g^S#g8iudn!&Eqtg%$fQy8 zghi~l=bTSStSp*qxjD0HWs#(dzmHlN7va*gTF*OAq-fpZhsx<2%xjt%!VH2Eh6vXQ zR`+~r+|Zza!-0Hl$;!VTh`be1Y*>jys3i7q#+bCX^I!BxzcIuUy-&?TQsm6&kqQ@G zJdPa28ZzcqGc;^D{FY_pg@)oOAg8yX{52n+9OYK=Qb;XW*!Aw+y9R8hhlj`O`H3bJ zdFv;Kb4NaW`czsTCZNq8Seh2hBOijWIf_bO%DG#MERQu3c36a@YiHFCqkYHt zgV?HMr@Qi3@n0y(CTJh&4`jcqc_82XFp;|dxv_G1n5#zTd%N6puJ8S=hlU3Q-k*u1 z8^i^iYu-bpIy1=)2TBVTn;ppa3GI|@zbYl3zmUXY>YfuVvF_!W)n!v1rk51Am6=T( z4$S^<&uhO@L@77jI+0FsA{ya4K!Tnx1Jhm^zG=7-%# zk|qFjTO-g}0Pfr-CRS3{+FA{c5LN5P`ucIOU?kEa#47ixg@^~%yxEo`d?LbN&PtQN zz&6Oy;Z0%HzLm)}V~!)9=6ub3!nN0sG}i?=b+|Zdd50DT6*7|>VVUMrQ?ZBhwW}V3 zTLDimebeQ^b!A&CB&X`MM2;sI^H$I%xW*UQi~6qDj`Plak>#Y0>$07*3zZr;OPB*J2#inHA!24d$qS3bUSJc@46$l`?eQ9z@R?}=Uu2~^GBvW!W&r`8{d8cT z5`Wgg&o2X61vDIA?A*CipRAqPbYpkj!Ip-DX8X1PyqoWVT zCngF8Z(b0i5eMGS< zz$7e3Th8pwZ?8{D&@RtTIHAxE2j@p}1m{Lt^H2qZiK(i_!ENnzb#=dg|9-1#WU_12 zJ#D9~EDN)rHpi+zNOH<`q*WJO6&(f$zN6vmz(9Z+MNoA6cJQ-iO)u>@K~Px1fVq6H zrqE~+`&Tpg5DfsapiKp3bg2OR76StVmXpIRf|+80TlV{!G5Qq)x!$Vkah4*{>+apV zWq0ljtLhpBLz|Ar(%nW*g6t_ea3Vd9ef z&B)G9^xU~~f|c*ymG+IBH(^UQZQ4W#@<^Kfb}E_&F``?t+>P>ki()o*DS`PHje zS`l$^hd^V}U=WusUDE2EoE>#nZU7qyZe5T^*;Va4p{1BJ&PoYG)prk|Bw z5*3zd4|ehGTaECX7SiZx!@~{$tJ=Mz?%!tT8+Iuv0k>{3#I&ZTryH30l*=)Bt%%rI zT`+HC%wXnK*dvX!b7k4`w3js6hq^iqX=FFl^E6PdP!jfLka&$s^&wKgvw|E9U%OG( zA3Uu+3<*(*`V7=CSziYS2VdW}C49y2%V2A?-JTPFBUoo(hM>V{z!G4M=?LWr+6}Hl zpVh@U1PqZsea+31Q&M^k!_uEv{qz9{Kx!YZvCfMA`4~r^Z6*o7(IWobYh-lLSdvTd zjt;&T+;Nw@dNNHb{nz&!m>3lQ{2yPT672lxLi5_^&h4P4ZxWO3PsJ6@n*n(I;R;gp z(q`n?R@cy=WxSbXkDA&;Rd57?;w-Cf9pKo;vE~M3w*FKqE1%H5hXrG^^Ss+Qwqb9V zt}64b`)8a$cDtWX!CgPZ$;!!*7*k6qke%_yKD_Ar2^^9@DO5Es>Mg!i`#zYWat&b* zWFL1|Uiz9Z)K8%F=epHz?)>>U`Hn*yd3Zp@{r)gq{pO8*TX4rrGHCrU3u@k`jiiNP z{{5-Qv6?s4Z+a;6kvE8jmKBFt{M<@P>8}CEw}{|`N^m@X(kZ3;9! zN0xE1U^27w52*%X8pdKA`)Afst@s6rgKYul=xC?9F__US~)ms=Z$M{eOGQ`v{-h0>{h;5F*Efi-l>3%=z;mw>xzYW*}1Qr7^ zU#)m76ejr34N3Th5nf)Gd`{G%f<{I8vLB> zI#%uT@JO#dr8aZqW4Hi`f{<q&7p;;K-H}{UL}*h zmS2UJb=uyb+`JL7ZJp|zWa{g&HINAsva?Yc^?rMqdO0{dBSV_>S&~JE-nLa#)UxRM zYGr_2uiO9qtF%0bSEP0~)RaYyj;@4MwHItT{xsxIzdJt$);J<`Y>pVOIeO|;wWde^ zqsZ);ugOv1-~%~!bavgoa|f2AMYE!_VXH#UeR!yiGJ6aJq6Gl(|MgadjfieJ;Dt$P zlLpNxRB7Zj6@dwtNq+a$!1J!if;l0V-YRp*t%8+AdAS*M9wuIeTOGxIz(ml2Lhn4GsC7st2ouD9FDK(r*C7?Yl~D;y{S)1q%ZOWI{Hb z{anw5;s(N=!28S^mCBT?)&mHkkP|sU+P{}|GX*L(Al)hVjupUS zQL2QB55wBdo1)M6bh}$@i8~1f{d~c^9C_wBKkAIqFZYO=c92a9r8hS$ogs>M7kHer z0)adcdFs+OI>H>eN^mJ?N@xc*i-oG}HDJ_cfdFRgHCh_u^p?9M52M+Cei48L-I|;8 zQlSF}xKH;)P8V_JzZvnKRH}PsSPbKvRzMAWP$KX4F(eS*D;Rj7u+}vwi#aZ_{244h8eB!a8@~s6GV-&1%xc5|)mu>3l&f5VKhmC`O6A?`&|r z2hW}{HG#{hfjyH=8GvI(pqC##deq>MJ0$0j-NCTXrMj>jqr{kVk->>+(=K+jNo-4s zDY8w9eVeEoeOK<>#yI`Umxz5MA zqk{5x?}Sif5cQ`#gGucf!A7UHyC>4L_smSY&$=^b&a@AhF75&d$cEg;y5?lfW4*4I~>G z78OPR)=?ZlD*hOpKycDi8j`h7v|XYwVc>Z6UmznDP&y#R)*HL5g{?jS!O?`-Rd+PJ zx+n^GTC1lNtcLC*-UE2A6Gj3Gv^UCf5ZV~*{Mj}s>@ipj1)M;0U5XLv_ZZjDwu0Nm z#MHVoZy_6mS%g_2r!PzDxc_=kx9?PA)F+3upwH^;SiB!D7wdTv;ag8GR(h zzH0@BA5!&5Q=F3_n^V%vi~W`QflP8;cc7$b0Ll$;c5#{hT%WJ8{h2}fHHgyVXr__0 zs}n=BNC`OVt>WUn3HA+XSIvukS>0y(laTak9Et4zIh>|XWe<9V!qpRwpeZ3vfB*jF z0BV4&%+P(!4LRtDHXV+4_hV5FaGC(XdNL$%ntDkgaZ%6%Fg@N!U4!k`jg~X#VsJ{d z9jkH9ZGqdYE|&C1p@ROC2asgRRwZ+St0XEhpxmagZ`|o2a&HvuGAY(|V`Zd-4f?8- zr`mnU9*tfR)#=riZ-cfxfA%aWIW_-YHpr(1Lu+em1SF(GhWyCuYVpasg{mw6mD{)=>iSz7rpB*7iTd z;j0nIn+>^c5(wp+P$3y9@b;1soNdjG$4{P^fB*8nM4iG)EO5hbk@XjZ(} z{(Zji|8=8Ui2T2CqkCO#?S8a-$lHM+_O7gVtqTwN_@(HQgwS$RMDn%1dI zZRRw&zzQ28T@1G3J&_sb1aU0Qp=B2-%^=_?@WL%D(S;!f&69MYy*>=-=wbp~fc)Lb zzY|JMqFyZ7>g4g|fgcy-&p=KIVNub*==1qeR=*x5{^Qg8y3g31J0}G68HS3d4)q_2 z*4=3qrEAFM0MetdG3l}1GyUN3ujhGAI=^7zSBW8~fEfZEI^`HQ!1Fc1)x#^|0YVOe zpNqUBdO{j{ka$ivTPG<&-6wz#7GU7gwjTs%s4My0ujG#8Mez#*qse}*#f6bY zJ+fdO%Nw~IIy+JjSH@4ofSHj7M~3+KRl%6taJRP0@+3AxtlV}q@$iu&g{lK!y_W0= zAOcl^6c~48tEsL3@%F3bHV@EtsenRxyJ2~f>%w$jCcx`(-sCAV^`W+RA4ti9>31Mc zZ$5&)F!;C#@gB4%_s+BIG_dUm=X&v()w=>=aGj{w4fDMe12jT->5$9}vK_aev%=W5 z(K?1$m>z5^h)as|zK38Yg=MRxpmXsCpbX}h-5q|=U#Ty~#l1Jm#sEX0w~%uDpW&)^ z4T!-b{OueZPEU{Z5P}<#2of}cJI|2f9l7Acqy=G`T_h{!6$9`L-_(jggNe^NmGUyw zA}-m00n>tHmk;@O(I1&VS8!(7t>9oh)IpX=oKt6M;Ix9Fp&=yNTVG}dQv2{%L|k4z z5`fiZEBugTQmjXb&QgEg5wY&0s94CjjSk6K@;53y#B>0rK3^V(%}3DmcjwL>!FxbD zm}`;#Pvs}z{-v+m$i*Z-f1a3;5w1o8tdEb6RNdRjh=P~w-`u}$cL`_=vVSwDC&H+_ zqN20*BtT}Otu&hV*m{Vb9w(Sn2CNo;umxK-{1U9*A3d~Need37zXYQ2GidM(+PHHK zx^JTX3lCAAF1#_AjoGgsZ6&Iz{9)N}29g;;5|P#Yp#8HlAXk)bS%zvh_80x|#A*x0 zRzg&i2t;EPI;&2HSs<7#)&2Or#3+nUFEI)zcmE5c@Y5@|kc`5ADiz7g{}jMKc?^`$ zlyDB6nQh2D8VUX+U*>DR83nLRzYSCI8$yzasdzIlvw#J-G7xL#T=?N%o?cEVMLt!m z6Tta{>_J0NzbZ;a zWDzh*cvJrc(4XY1$84v)R6ulim&@wL5PBlNdc8oH0epZe0D;gwWy8gQ5h^pFqoUce z{lYFO-SwoH7o9}?HTV;&Fblx1k`+Gano^sg{@U0lRwNar z+UuITL`7j2NGb{}(-K#OX3~GCD0~L1x5QzyaWXNGcOOD4ZvZ2M&%!`35^l}|aG<3yk^bY@4Z+~U4aqtKV95$S{HWaRb6tlh9D!lazzw4b z=6{L;2zM909JU8NH`tmNZ53fH1;y4LFc$4|;W@_Qq^6q!``hsr&d*4K_;0d-+0F8Ub=+YF0ig*AZ`l zxtsDldq;^ZDgnRBsoa#{weQ6O7UtI%?S z4!;yY50KBds`@XGa?B3)HSa<0N~1j4%<`tLr9~Inn2sIyF5v%{{83dUsH#fvH=)m^ z5woY`xagIY#iT3-ETPqlei~5!G;kas+_ZYfr%}~Pfs7B|z|MXvENn?GhZK{6xX?88mWKa=aLLnCTOTv5?JprangylVwirUc zK`3lO3FBXCAt)*?{#KG{NflW8E4IUl1b1+y7og=)EyRO*m0O>>nNfs!QTnfF@85n~ yB}D$elmcr1&hwd9<+zto)8s@l@5wtcux}YU8MQI1A?r8%(N@<}d%n-?+W!M4W5`$l literal 15903 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 m{0a+25q2j=A#nS5W#5wH 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 diff --git a/packages/devextreme/testing/testcafe/tests/navigation/tabPanel/etalons/TabPanel focus borders (material-blue-light).png b/packages/devextreme/testing/testcafe/tests/navigation/tabPanel/etalons/TabPanel focus borders (material-blue-light).png index 4d1b4fc1b4c4b49e56c75c5ef389999963fdf7e1..c4277a4c107b9b84772e09ec479023ebf1f1ef05 100644 GIT binary patch literal 5775 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 literal 5769 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 { assert.equal(instance.option('selectedItems').length, 2, 'selected two items in multiple mode'); }); + + QUnit.test('focusedElement must be changed after changing the selectedIndex', function(assert) { + assert.expect(2); + + const $tabs = $('#tabs').dxTabs({ + items: [ + { text: '0' }, + { text: '1' }, + { text: '2' }, + ], + focusStateEnabled: true, + }); + const tabs = $tabs.dxTabs('instance'); + + const tabsItemFirst = $tabs.find(`.${TABS_ITEM_CLASS}`).eq(0); + + tabsItemFirst.trigger('dxclick'); + + const $focusedElementFirst = tabs.option('focusedElement'); + + assert.strictEqual($focusedElementFirst, tabsItemFirst[0]); + + tabs.option({ selectedIndex: 1 }); + + const tabItemSecond = $tabs.find(`.${TABS_ITEM_CLASS}`).eq(1); + const $focusedElementSecond = tabs.option('focusedElement'); + + assert.strictEqual($focusedElementSecond, tabItemSecond[0]); + }); + + QUnit.test('focusedElement must be changed after changing the selectedItem', function(assert) { + assert.expect(2); + + const $tabs = $('#tabs').dxTabs({ + items: [ + { text: '0' }, + { text: '1' }, + { text: '2' }, + ], + focusStateEnabled: true, + }); + const tabs = $tabs.dxTabs('instance'); + + const tabsItemFirst = $tabs.find(`.${TABS_ITEM_CLASS}`).eq(0); + + tabsItemFirst.trigger('dxclick'); + + const $focusedElementFirst = tabs.option('focusedElement'); + + assert.strictEqual($focusedElementFirst, tabsItemFirst[0]); + + tabs.option({ selectedItem: tabs.option('items[1]') }); + + const tabItemSecond = $tabs.find(`.${TABS_ITEM_CLASS}`).eq(1); + const $focusedElementSecond = tabs.option('focusedElement'); + + assert.strictEqual($focusedElementSecond, tabItemSecond[0]); + }); + + QUnit.test('focusedElement must be changed after changing the selectedItems', function(assert) { + assert.expect(2); + + const items = [ + { text: '0' }, + { text: '1' }, + { text: '2' }, + ]; + const $tabs = $('#tabs').dxTabs({ items, focusStateEnabled: true }); + const tabs = $tabs.dxTabs('instance'); + + const tabItemFirst = $tabs.find(`.${TABS_ITEM_CLASS}`).eq(0); + + tabItemFirst.trigger('dxclick'); + + const $focusedElementFirst = tabs.option('focusedElement'); + + assert.strictEqual($focusedElementFirst, tabItemFirst[0]); + + tabs.option({ selectedItems: [items[1], items[2]] }); + + const tabItemSecond = $tabs.find(`.${TABS_ITEM_CLASS}`).eq(1); + const $focusedElementSecond = tabs.option('focusedElement'); + + assert.strictEqual($focusedElementSecond, tabItemSecond[0]); + }); }); QUnit.module('Horizontal scrolling', () => { @@ -753,12 +838,13 @@ QUnit.module('Horizontal scrolling', () => { }); QUnit.test('selected item should be visible after selectedIndex was changed', function(assert) { - assert.expect(1); + assert.expect(2); const $element = $('#scrollableTabs').dxTabs({ items: [{ text: 'item 1' }, { text: 'item 1' }, { text: 'item 1' }, { text: 'item 1' }], + width: 100, selectedIndex: 0, scrollingEnabled: true, - width: 100 + focusStateEnabled: true, }); const instance = $element.dxTabs('instance'); const scrollable = $element.find('.' + SCROLLABLE_CLASS).dxScrollable('instance');