@@ -245,6 +245,28 @@ <h3>Accessibility</h3>
245245 < span id ="accRefText "> accessible ref text</ span >
246246 </ section >
247247
248+ < section >
249+ < h3 > selection-change Event Demo</ h3 >
250+ < p > Normal behavior - selection works:</ p >
251+ < ui5-segmented-button id ="eventTestSB1 ">
252+ < ui5-segmented-button-item id ="normalItem1 " selected > First</ ui5-segmented-button-item >
253+ < ui5-segmented-button-item id ="normalItem2 "> Second</ ui5-segmented-button-item >
254+ < ui5-segmented-button-item id ="normalItem3 "> Third</ ui5-segmented-button-item >
255+ </ ui5-segmented-button >
256+ < br > < br >
257+ < ui5-input id ="normalEventLog " readonly value ="No event yet "> </ ui5-input >
258+ < br > < br >
259+
260+ < p > With preventDefault - "Second" item blocks selection:</ p >
261+ < ui5-segmented-button id ="eventTestSB2 ">
262+ < ui5-segmented-button-item id ="blockedItem1 " selected > First</ ui5-segmented-button-item >
263+ < ui5-segmented-button-item id ="blockedItem2 "> Second (Blocked)</ ui5-segmented-button-item >
264+ < ui5-segmented-button-item id ="blockedItem3 "> Third</ ui5-segmented-button-item >
265+ </ ui5-segmented-button >
266+ < br > < br >
267+ < ui5-input id ="blockedEventLog " readonly value ="No event yet "> </ ui5-input >
268+ </ section >
269+
248270 < script >
249271
250272 progSetButton1 . addEventListener ( "click" , function ( ) {
@@ -265,6 +287,33 @@ <h3>Accessibility</h3>
265287 segButtonProg . items [ 0 ] . selected = true ;
266288 } ) ;
267289
290+ // Normal behavior - events fire, selection works
291+ normalItem1 . addEventListener ( "selection-change" , function ( e ) {
292+ normalEventLog . value = "Item 1 clicked - selection allowed" ;
293+ } ) ;
294+
295+ normalItem2 . addEventListener ( "selection-change" , function ( e ) {
296+ normalEventLog . value = "Item 2 clicked - selection allowed" ;
297+ } ) ;
298+
299+ normalItem3 . addEventListener ( "selection-change" , function ( e ) {
300+ normalEventLog . value = "Item 3 clicked - selection allowed" ;
301+ } ) ;
302+
303+ // Blocked behavior - "Second" item prevents selection
304+ blockedItem1 . addEventListener ( "selection-change" , function ( e ) {
305+ blockedEventLog . value = "Item 1 clicked - selection allowed" ;
306+ } ) ;
307+
308+ blockedItem2 . addEventListener ( "selection-change" , function ( e ) {
309+ e . preventDefault ( ) ; // Block selection for this item
310+ blockedEventLog . value = "Item 2 clicked - SELECTION BLOCKED!" ;
311+ } ) ;
312+
313+ blockedItem3 . addEventListener ( "selection-change" , function ( e ) {
314+ blockedEventLog . value = "Item 3 clicked - selection allowed" ;
315+ } ) ;
316+
268317 </ script >
269318
270319</ body >
0 commit comments