11import React from 'react' ;
22import ReactDOM from 'react-dom/client' ;
33import './index.css' ;
4- import { IgrNavbar , IgrNavDrawer , IgrNavDrawerHeaderItem , IgrNavDrawerItem , IgrIcon , IgrRadioGroup , IgrRadio , IgrNavDrawerModule , IgrNavbarModule , IgrRadioGroupModule , IgrRadioModule , IgrIconModule , registerIconFromText } from 'igniteui-react' ;
4+ import { IgrNavbar , IgrNavDrawer , IgrNavDrawerHeaderItem , IgrNavDrawerItem , IgrIcon , IgrRadioGroup , IgrRadio , registerIconFromText , IgrRadioChangeEventArgs } from 'igniteui-react' ;
55import 'igniteui-webcomponents/themes/light/bootstrap.css' ;
66
7- IgrNavDrawerModule . register ( ) ;
8- IgrNavbarModule . register ( ) ;
9- IgrIconModule . register ( ) ;
10- IgrRadioGroupModule . register ( ) ;
11- IgrRadioModule . register ( ) ;
12-
137const searchIcon = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/></svg>' ;
148const homeIcon = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"/></svg>' ;
159const menuIcon = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg>' ;
@@ -38,45 +32,45 @@ export default class NavDrawerAddPositionsNavbar extends React.Component<any, an
3832 < div className = "container sample" >
3933 < div onClick = { this . onNavDrawerClick } >
4034 < IgrNavDrawer ref = { this . navDrawerRef } position = { this . state . drawerPosition } >
41- < IgrNavDrawerHeaderItem key = "header" >
42- < span key = "sHeader" > Sample Drawer</ span >
35+ < IgrNavDrawerHeaderItem >
36+ < span > Sample Drawer</ span >
4337 </ IgrNavDrawerHeaderItem >
4438
45- < IgrNavDrawerItem key = "home" active >
46- < div slot = "icon" key = "iHome" >
39+ < IgrNavDrawerItem >
40+ < div slot = "icon" >
4741 < IgrIcon name = "home" collection = "material" />
4842 </ div >
49- < span slot = "content" key = "sHome" > Home</ span >
43+ < span slot = "content" > Home</ span >
5044 </ IgrNavDrawerItem >
5145
52- < IgrNavDrawerItem key = "search" >
53- < div slot = "icon" key = "iSearch" >
46+ < IgrNavDrawerItem >
47+ < div slot = "icon" >
5448 < IgrIcon name = "search" collection = "material" />
5549 </ div >
56- < span slot = "content" key = "sSearch" > Search</ span >
50+ < span slot = "content" > Search</ span >
5751 </ IgrNavDrawerItem >
5852 </ IgrNavDrawer >
5953 </ div >
6054 < div >
6155 < IgrRadioGroup alignment = "horizontal" style = { { marginBottom : '10px' } } >
62- < IgrRadio name = "position" value = "start" labelPosition = "after" checked = { true } onChange = { this . onRadioChange } key = "start" >
63- < span key = "sStart" > Start</ span >
56+ < IgrRadio name = "position" value = "start" labelPosition = "after" checked = { this . state . drawerPosition === "start" } onChange = { this . onRadioChange } >
57+ < span > Start</ span >
6458 </ IgrRadio >
65- < IgrRadio name = "position" value = "end" labelPosition = "after" onChange = { this . onRadioChange } key = "end" >
66- < span key = "sEnd" > End</ span >
59+ < IgrRadio name = "position" value = "end" labelPosition = "after" checked = { this . state . drawerPosition === "end" } onChange = { this . onRadioChange } >
60+ < span > End</ span >
6761 </ IgrRadio >
68- < IgrRadio name = "position" value = "top" labelPosition = "after" onChange = { this . onRadioChange } key = "top" >
69- < span key = "sTop" > Top</ span >
62+ < IgrRadio name = "position" value = "top" labelPosition = "after" checked = { this . state . drawerPosition === "top" } onChange = { this . onRadioChange } >
63+ < span > Top</ span >
7064 </ IgrRadio >
71- < IgrRadio name = "position" value = "bottom" labelPosition = "after" onChange = { this . onRadioChange } key = "bottom" >
72- < span key = "sBottom" > Bottom</ span >
65+ < IgrRadio name = "position" value = "bottom" labelPosition = "after" checked = { this . state . drawerPosition === "bottom" } onChange = { this . onRadioChange } >
66+ < span > Bottom</ span >
7367 </ IgrRadio >
7468 </ IgrRadioGroup >
7569 < IgrNavbar >
76- < div slot = "start" onClick = { this . onMenuIconClick } key = "start" >
70+ < div slot = "start" onClick = { this . onMenuIconClick } >
7771 < IgrIcon name = "menu" collection = "material" />
7872 </ div >
79- < h2 key = "navHome" > { this . state . title } </ h2 >
73+ < h2 > { this . state . title } </ h2 >
8074 </ IgrNavbar >
8175 </ div >
8276 </ div >
@@ -91,16 +85,16 @@ export default class NavDrawerAddPositionsNavbar extends React.Component<any, an
9185
9286 public onNavDrawerClick ( e : any ) {
9387 const drawerItem : any = e . target . closest ( 'igc-nav-drawer-item' ) ??
94- ( e . target . parentElement ?. closest ( 'igc-nav-drawer-item' ) ??
95- null )
88+ ( e . target . parentElement ?. closest ( 'igc-nav-drawer-item' ) ??
89+ null )
9690
9791 if ( ! drawerItem ) { return ; }
9892
9993 drawerItem . active = true ;
10094 const navDrawer = drawerItem . parentElement ;
10195 Array . from ( navDrawer . querySelectorAll ( 'igc-nav-drawer-item' ) )
102- . filter ( ( item : any ) => item !== drawerItem )
103- . forEach ( ( child : any ) => child . active = false ) ;
96+ . filter ( ( item : any ) => item !== drawerItem )
97+ . forEach ( ( child : any ) => child . active = false ) ;
10498
10599 this . setState ( { title : drawerItem . textContent } ) ;
106100 }
@@ -110,9 +104,9 @@ export default class NavDrawerAddPositionsNavbar extends React.Component<any, an
110104 this . navDrawer = navDrawer ;
111105 }
112106
113- public onRadioChange ( e : any ) {
107+ public onRadioChange ( e : IgrRadioChangeEventArgs ) {
114108 if ( e . detail . checked ) {
115- this . setState ( { drawerPosition : e . value } ) ;
109+ this . setState ( { drawerPosition : e . detail . value } ) ;
116110 }
117111 }
118112}
0 commit comments