@@ -5,6 +5,9 @@ import { AlertController, IonList, LoadingController, ModalController, ToastCont
55import { ScheduleFilterPage } from '../schedule-filter/schedule-filter' ;
66import { ConferenceData } from '../../providers/conference-data' ;
77import { UserData } from '../../providers/user-data' ;
8+ import { map } from 'rxjs/operators' ;
9+ import { CalendarComponentOptions , DayConfig , DefaultDate } from 'ion2-calendar' ;
10+ import * as moment from 'moment' ;
811
912@Component ( {
1013 selector : 'page-schedule' ,
@@ -15,14 +18,18 @@ export class SchedulePage implements OnInit {
1518 // Gets a reference to the list element
1619 @ViewChild ( 'scheduleList' ) scheduleList : IonList ;
1720
18- dayIndex = 0 ;
1921 queryText = '' ;
2022 segment = 'all' ;
2123 excludeTracks : any = [ ] ;
2224 shownSessions : any = [ ] ;
2325 groups : any = [ ] ;
2426 confDate : string ;
25-
27+ selectDate : string ;
28+ daysConfig : DayConfig [ ] = [ ] ;
29+ calOptions : CalendarComponentOptions = {
30+ from : 1293683278 , // the start unix timestamp
31+ daysConfig : this . daysConfig
32+ } ;
2633 constructor (
2734 public alertCtrl : AlertController ,
2835 public confData : ConferenceData ,
@@ -35,16 +42,33 @@ export class SchedulePage implements OnInit {
3542
3643 ngOnInit ( ) {
3744 // this.app.setTitle('Schedule');
38- this . updateSchedule ( ) ;
45+ this . findFirstSchedueDay ( ) ;
46+ }
47+
48+ findFirstSchedueDay ( ) {
49+ this . confData . load ( ) . pipe ( ) . subscribe ( ( data : any ) => {
50+ this . selectDate = data . schedule [ 0 ] . date ;
51+ data . schedule . forEach ( ( v ) => {
52+ this . daysConfig . push ( {
53+ date : moment ( v . date , 'YYYY-MM-DD' ) . toDate ( ) ,
54+ marked : true
55+ } ) ;
56+ } ) ;
57+ this . updateSchedule ( ) ;
58+ } ) ;
59+ }
60+
61+ changeDay ( $event ) {
62+ this . updateSchedule ( $event ) ;
3963 }
4064
41- updateSchedule ( ) {
65+ updateSchedule ( date : string = this . selectDate ) {
4266 // Close any open sliding items when the schedule updates
4367 if ( this . scheduleList ) {
4468 this . scheduleList . closeSlidingItems ( ) ;
4569 }
4670
47- this . confData . getTimeline ( this . dayIndex , this . queryText , this . excludeTracks , this . segment ) . subscribe ( ( data : any ) => {
71+ this . confData . getTimeline ( date , this . queryText , this . excludeTracks , this . segment ) . subscribe ( ( data : any ) => {
4872 this . shownSessions = data . shownSessions ;
4973 this . groups = data . groups ;
5074 } ) ;
0 commit comments