1- import React from 'react' ;
1+ import React , { useRef } from 'react' ;
22import ReactDOM from 'react-dom/client' ;
33import './index.css' ;
4- import { IgrButton , IgrToast , IgrButtonModule , IgrToastModule } from 'igniteui-react' ;
4+ import { IgrButton , IgrToast } from 'igniteui-react' ;
55import 'igniteui-webcomponents/themes/light/bootstrap.css' ;
66
7- IgrButtonModule . register ( ) ;
8- IgrToastModule . register ( ) ;
7+ export default function ToastProperties ( ) {
8+ const toastRef = useRef < IgrToast > ( null ) ;
99
10- export default class ToastProperties extends React . Component < any , any > {
10+ const onToggleButtonClicked = ( ) => {
11+ toastRef . current ?. toggle ( ) ;
12+ } ;
1113
12- public toastRef : IgrToast ;
13-
14- constructor ( props : any ) {
15- super ( props ) ;
16- this . onToggleButtonClicked = this . onToggleButtonClicked . bind ( this ) ;
17- this . onKeepOpenButtonClicked = this . onKeepOpenButtonClicked . bind ( this ) ;
18- this . onDisplayTimeButtonClicked = this . onDisplayTimeButtonClicked . bind ( this ) ;
19- this . onToastRef = this . onToastRef . bind ( this ) ;
20- }
21-
22- public render ( ) : JSX . Element {
23- return (
24- < div className = "container sample" >
25- < div style = { { display : 'flex' , justifyContent : 'space-evenly' , marginTop : '20px' } } >
26- < IgrButton variant = "contained" onClick = { this . onToggleButtonClicked } >
27- < span > Toggle Toast</ span >
28- </ IgrButton >
29- < IgrButton variant = "contained" onClick = { this . onKeepOpenButtonClicked } >
30- < span > Toggle keepOpen Property</ span >
31- </ IgrButton >
32- < IgrButton variant = "contained" onClick = { this . onDisplayTimeButtonClicked } >
33- < span > Set DisplayTime to 8000</ span >
34- </ IgrButton >
35- </ div >
36-
37- < IgrToast ref = { this . onToastRef } >
38- < span > Toast Message</ span >
39- </ IgrToast >
40- </ div >
41- ) ;
42- }
43-
44- public onToastRef ( toast : IgrToast ) {
45- if ( ! toast ) { return ; }
46- this . toastRef = toast ;
47- }
48-
49- public onToggleButtonClicked ( ) {
50- if ( this . toastRef ) {
51- this . toastRef . toggle ( ) ;
14+ const onKeepOpenButtonClicked = ( ) => {
15+ if ( toastRef . current ) {
16+ toastRef . current . keepOpen = ! toastRef . current . keepOpen ;
5217 }
53- }
18+ } ;
5419
55- public onKeepOpenButtonClicked ( ) {
56- if ( this . toastRef ) {
57- this . toastRef . keepOpen = ! this . toastRef . keepOpen ;
20+ const onDisplayTimeButtonClicked = ( ) => {
21+ if ( toastRef . current ) {
22+ toastRef . current . displayTime = 8000 ;
5823 }
59- }
24+ } ;
25+
26+ return (
27+ < div className = "container sample" >
28+ < div style = { { display : 'flex' , justifyContent : 'space-evenly' , marginTop : '20px' } } >
29+ < IgrButton variant = "contained" onClick = { onToggleButtonClicked } >
30+ < span > Toggle Toast</ span >
31+ </ IgrButton >
32+ < IgrButton variant = "contained" onClick = { onKeepOpenButtonClicked } >
33+ < span > Toggle keepOpen Property</ span >
34+ </ IgrButton >
35+ < IgrButton variant = "contained" onClick = { onDisplayTimeButtonClicked } >
36+ < span > Set DisplayTime to 8000</ span >
37+ </ IgrButton >
38+ </ div >
6039
61- public onDisplayTimeButtonClicked ( ) {
62- if ( this . toastRef ) {
63- this . toastRef . displayTime = 8000 ;
64- }
65- }
40+ < IgrToast ref = { toastRef } >
41+ < span > Toast Message </ span >
42+ </ IgrToast >
43+ </ div >
44+ ) ;
6645}
6746
68- // rendering above class to the React DOM
47+ // rendering above function to the React DOM
6948const root = ReactDOM . createRoot ( document . getElementById ( 'root' ) ) ;
70- root . render ( < ToastProperties /> ) ;
49+ root . render ( < ToastProperties /> ) ;
0 commit comments