var calendars = []; var selectedCalendar = null; var selectedCalendarName = ''; var pickerData = []; var win = Ti.UI.createWindow({ backgroundColor: 'white', exitOnClose: true, fullscreen: false, layout: 'vertical', title: 'TIMOB-8085' }); var scrollView = Ti.UI.createScrollView({ backgroundColor: '#eee', height: 500, top: 20 }); var label = Ti.UI.createLabel({ backgroundColor: 'white', text: 'Click on the button to display the events for the selected calendar', textAlign: Ti.UI.TEXT_ALIGNMENT_CENTER, top: 20 }); scrollView.add(label); var selectableCalendars = Ti.Android.Calendar.selectableCalendars; for (var i = 0; i< selectableCalendars.length; i++) { calendars.push({ name: selectableCalendars[i].name, calendarObj: selectableCalendars[i] }); pickerData.push( Ti.UI.createPickerRow({ title: calendars[i].name }) ); if(i === 0){ selectedCalendar = selectableCalendars[i]; } } if(!calendars.length){ label.text = 'No calendars available. Select at least one in the native calendar before using this app'; } else { label.text = 'Click button to view calendar events'; var picker = Ti.UI.createPicker({ top:20 }); picker.add(pickerData); win.add(picker); picker.addEventListener('change', function(e){ selectedCalendar = calendars[e.rowIndex].calendarObj; }); var button = Ti.UI.createButton({ title: 'View events', top: 20 }); win.add(button); button.addEventListener('click', function(e){ label.text = ''; label.text = 'Generating...'; var cal_events = selectedCalendar.getEventsBetweenDates(new Date(1990, 1, 0), new Date(2100, 31, 11)); label.text = cal_events.length > 0 ? '' : 'No events.'; for (var j=0; j < cal_events.length; j++) { label.text += 'Description: ' + cal_events[j].description + '\n'; label.text += 'Start Date: ' + JSON.stringify(cal_events[j].begin) + '\n'; label.text += 'End Date: ' + JSON.stringify(cal_events[j].end) + '\n'; label.text += '\n'; } }); } win.add(scrollView); win.open();