File tree Expand file tree Collapse file tree 2 files changed +40
-2
lines changed
e2e/testcafe-devextreme/tests/navigation/buttonGroup
packages/devextreme/js/__internal/core/r1/runtime/inferno Expand file tree Collapse file tree 2 files changed +40
-2
lines changed Original file line number Diff line number Diff line change @@ -35,3 +35,39 @@ test('selected class should not be added to the button after hovering (T1222079)
3535 selectedItemKeys : [ 'Button_1' ] ,
3636 disabled : true ,
3737} ) ) ;
38+ test ( 'selected class should be set after reenabling (T1308601)' , async ( t ) => {
39+ const buttonGroup = new ButtonGroup ( '#container' ) ;
40+
41+ await buttonGroup . option ( 'disabled' , true ) ;
42+ await buttonGroup . option ( 'disabled' , false ) ;
43+
44+ await t
45+ . click ( buttonGroup . getItem ( 1 ) . element ) ;
46+
47+ await buttonGroup . option ( 'disabled' , true ) ;
48+ await buttonGroup . option ( 'disabled' , false ) ;
49+
50+ await t
51+ . click ( buttonGroup . getItem ( 0 ) . element ) ;
52+
53+ await t
54+ . expect ( buttonGroup . getItem ( 0 ) . isSelected )
55+ . ok ( )
56+ . expect ( buttonGroup . isItemSelected ( 0 ) )
57+ . ok ( ) ;
58+
59+ await t
60+ . hover ( buttonGroup . getItem ( 1 ) . element ) ;
61+
62+ await t
63+ . expect ( buttonGroup . getItem ( 0 ) . isSelected )
64+ . ok ( )
65+ . expect ( buttonGroup . isItemSelected ( 0 ) )
66+ . ok ( ) ;
67+ } ) . before ( async ( ) => createWidget ( 'dxButtonGroup' , {
68+ items : [
69+ { text : 'Button_1' } ,
70+ { text : 'Button_2' } ,
71+ ] ,
72+ selectedItemKeys : [ 'Button_1' ] ,
73+ } ) ) ;
Original file line number Diff line number Diff line change @@ -118,7 +118,8 @@ export class InfernoWrapperComponent<
118118 const indexInRemoved = el . dxClasses . removed . indexOf ( value ) ;
119119 if ( indexInRemoved > - 1 ) {
120120 el . dxClasses . removed . splice ( indexInRemoved , 1 ) ;
121- } else if ( ! el . dxClasses . added . includes ( value ) ) {
121+ }
122+ if ( ! el . dxClasses . added . includes ( value ) ) {
122123 el . dxClasses . added . push ( value ) ;
123124 }
124125 } ) ;
@@ -127,7 +128,8 @@ export class InfernoWrapperComponent<
127128 const indexInAdded = el . dxClasses . added . indexOf ( value ) ;
128129 if ( indexInAdded > - 1 ) {
129130 el . dxClasses . added . splice ( indexInAdded , 1 ) ;
130- } else if ( ! el . dxClasses . removed . includes ( value ) ) {
131+ }
132+ if ( ! el . dxClasses . removed . includes ( value ) ) {
131133 el . dxClasses . removed . push ( value ) ;
132134 }
133135 } ) ;
You can’t perform that action at this time.
0 commit comments