/
events.js
124 lines (104 loc) · 4.16 KB
/
events.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
(function() {
// load fake JSON data
var init = function() {
// alert('calling updates.js init');
// load the event data in JSON
$.getJSON('data/events.json', function(data) {
var eventUpdates = data.data;
// sort the data in recent first
eventUpdates.sort(function(a, b) {
return new Date(b.posted) - new Date(a.posted);
});
events = eventUpdates;
// refresh the view
redraw();
});
};
var redraw = function() {
// keep track of last date
var lastDate = null;
$.each(events, function(index, item) {
var author = authors[item.authorId];
var date = new Date(item.when);
// if date changed, output a header
if (!sameDay(date, lastDate)) {
$('<li data-role="list-divider" data-dividertheme="e">' + date.toDateString() + '</li>').appendTo('#events');
}
var discussionString = "";
if (item.discussionId != -1) {
discussions.get(item.discussionId, function(discussion) {
discussionString = "In discussion with " + discussion.comments.length + ' comments';
});
}
$('<li>' +
'<h3><a href=""></a>' + item.title + '</h3>' +
'<p>' + discussionString + '</p>' +
'<div class="ui-li-accordion" data-role="none" >' +
'<div class="pt-event-desc">' + item.description + '</div>'+
'<div class="pt-event-when">When: ' + date.getHours() + ':' + (date.getMinutes() < 10 ? '0' : '') + date.getMinutes() + '</div>'+
'<div class="pt-event-where">Where: ' + item.where + '</div>' +
'<div class="pt-nav">' + // Style of bottom banner
'<button class="pt-button-4view pt-calendar">' +
'<img src="images/icon-sync.png" />' +
'<div class="label">Cal Sync</div>' +
'</button>' +
'<button class="pt-button-4view pt-email">' +
'<img src="images/icon-email.png"/>' +
'<div class="label">Email</div>' +
'</button>' +
'<button class="pt-button-4view pt-sms">' +
'<img src="images/icon-sms.png" />' +
'<div class="label">SMS</div>' +
'</button>' +
'<button class="pt-button-4view pt-discuss">' +
'<img src="images/icon-discuss.png"/>' +
'<div class="label">Discuss</div>' +
'</button>' +
'</div>' +
'</div>' +
'</li>').appendTo('#events').data('item', item);
lastDate = date;
});
$('#events').listview('refresh');
// Hack: remove all thumb classes
$('.ui-page-active .ui-li-has-thumb').removeClass('ui-li-has-thumb');
// Link events
$('#events .pt-calendar').click(function() {
var li = $(this).closest('li');
var item = li.data('item');
Android.addCalendar(item.title, item.description, new Date(item.when).getTime(), null, item.where);
return false;
});
$('#events .pt-email').click(function() {
var li = $(this).closest('li');
Android.sendEmail(li.data('item').title, li.data('item').where);
return false;
});
$('#events .pt-sms').click(function() {
var li = $(this).closest('li');
Android.sendSMS(li.data('item').title + ': ' + li.data('item').description);
return false;
});
$('#events .pt-discuss').click(function() {
var li = $(this).closest('li');
var item = li.data('item');
var discussionId = item.discussionId;
if (discussionId != '-1') {
changePage('discussions-item.html?id=' + discussionId);
} else {
discussions.params = {
title: item.title,
description: item.description
};
changePage('discussions-post.html');
}
return false;
});
};
// whenever this page is loaded, call init
// scriptCache.onPageLoad('item.html', refresh);
// call init the first time it's loaded too
init();
// hide badge
$('#pt-home .pt-badge-events').css("visibility", "hidden");
})();