1
1
import _ from 'lodash' ;
2
2
import React , { Component } from 'react' ;
3
- import { Incubator } from 'react-native-ui-lib' ;
3
+ import { Incubator , View , Text } from 'react-native-ui-lib' ;
4
4
import MockServer from './MockServer' ;
5
5
6
6
export default class CalendarScreen extends Component {
@@ -18,10 +18,11 @@ export default class CalendarScreen extends Component {
18
18
19
19
loadEvents = async ( date : number ) => {
20
20
this . setState ( { showLoader : true } ) ;
21
- const { events} = this . state ;
21
+ // const {events} = this.state;
22
22
const newEvents = await MockServer . getEvents ( date ) ;
23
23
this . pageIndex ++ ;
24
- this . setState ( { events : _ . uniqBy ( [ ...events , ...newEvents ] , e => e . id ) , showLoader : false } ) ;
24
+ // this.setState({events: _.uniqBy([...events, ...newEvents], e => e.id), showLoader: false});
25
+ this . setState ( { events : newEvents , showLoader : false } ) ;
25
26
} ;
26
27
27
28
onChangeDate = ( date : number ) => {
@@ -38,11 +39,46 @@ export default class CalendarScreen extends Component {
38
39
this . loadEvents ( date ) ;
39
40
} ;
40
41
42
+ // TODO: Fix type once we export them
43
+ renderEvent = ( eventItem : any ) => {
44
+ return (
45
+ < View marginH-10 padding-5 bg-blue70 >
46
+ < Text >
47
+ Item for
48
+ { new Date ( eventItem . start ) . toLocaleString ( 'en-GB' , {
49
+ month : 'short' ,
50
+ day : 'numeric' ,
51
+ hour12 : false ,
52
+ hour : '2-digit' ,
53
+ minute : '2-digit'
54
+ } ) }
55
+ -{ new Date ( eventItem . end ) . toLocaleString ( 'en-GB' , { hour12 : false , hour : '2-digit' , minute : '2-digit' } ) }
56
+ </ Text >
57
+ </ View >
58
+ ) ;
59
+ } ;
60
+
61
+ // TODO: Fix type once we export them
62
+ renderHeader = ( headerItem : any ) => {
63
+ return (
64
+ < View centerV flex marginL-5 >
65
+ < Text > { headerItem . header } </ Text >
66
+ </ View >
67
+ ) ;
68
+ } ;
69
+
41
70
render ( ) {
42
- const { date, events/* , showLoader */ } = this . state ;
71
+ const { date, events, showLoader} = this . state ;
72
+
43
73
return (
44
- < Incubator . Calendar data = { events } initialDate = { date } /* onChangeDate={this.onChangeDate} */ staticHeader >
45
- { /* <Incubator.Calendar.Agenda onEndReached={this.onEndReached} showLoader={showLoader}/> */ }
74
+ < Incubator . Calendar data = { events } initialDate = { date } onChangeDate = { this . onChangeDate } staticHeader >
75
+ < Incubator . Calendar . Agenda
76
+ renderEvent = { this . renderEvent }
77
+ renderHeader = { this . renderHeader }
78
+ // itemHeight={30}
79
+ onEndReached = { this . onEndReached }
80
+ showLoader = { showLoader }
81
+ />
46
82
</ Incubator . Calendar >
47
83
) ;
48
84
}
0 commit comments