Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F13235323
D12983.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
4 KB
Referenced Files
None
Subscribers
None
D12983.diff
View Options
diff --git a/src/view/phui/calendar/PHUICalendarDayView.php b/src/view/phui/calendar/PHUICalendarDayView.php
--- a/src/view/phui/calendar/PHUICalendarDayView.php
+++ b/src/view/phui/calendar/PHUICalendarDayView.php
@@ -46,6 +46,15 @@
require_celerity_resource('phui-calendar-day-css');
$hours = $this->getHoursOfDay();
+ $js_hours = array();
+
+ foreach ($hours as $hour) {
+ $js_hours[] = array(
+ 'hour' => $hour->format('G'),
+ 'hour_meridian' => $hour->format('g A'),
+ );
+ }
+
$js_hourly_events = array();
$hourly_events = array();
@@ -90,6 +99,8 @@
'eventEndEpoch' => $event->getEpochEnd(),
'eventName' => $event->getName(),
'eventID' => $event->getEventID(),
+ 'viewerIsInvited' => $event->getViewerIsInvited(),
+ 'uri' => $event->getURI(),
);
}
}
@@ -115,7 +126,9 @@
'eventEndEpoch' => $event->getEpochEnd(),
'eventName' => $event->getName(),
'eventID' => $event->getEventID(),
- 'hour' => $hour,
+ 'viewerIsInvited' => $event->getViewerIsInvited(),
+ 'uri' => $event->getURI(),
+ 'hour' => $hour->format('G'),
'offset' => '0',
'width' => '100%',
'top' => $top.'%',
@@ -201,6 +214,8 @@
array(
'todayEvents' => $this->jsTodayEvents,
'hourlyEvents' => $js_hourly_events,
+ 'hours' => $js_hours,
+ 'firstEventHour' => $first_event_hour->format('G'),
));
$table_box = id(new PHUIObjectBoxView())
diff --git a/webroot/rsrc/js/application/calendar/behavior-day-view.js b/webroot/rsrc/js/application/calendar/behavior-day-view.js
--- a/webroot/rsrc/js/application/calendar/behavior-day-view.js
+++ b/webroot/rsrc/js/application/calendar/behavior-day-view.js
@@ -4,6 +4,8 @@
JX.behavior('day-view', function(config) {
+ var hours = config.hours;
+ var first_event_hour = config.firstEventHour;
var hourly_events = config.hourlyEvents;
var today_events = config.todayEvents;
@@ -78,8 +80,103 @@
return hourly_events;
}
+ function drawEvent(
+ start,
+ end,
+ name,
+ viewerIsInvited,
+ uri,
+ id,
+ offset,
+ width,
+ top,
+ height) {
+
+ var link_class = 'phui-calendar-day-event-link';
+ if (viewerIsInvited) {
+ link_class = link_class + ' viewer-invited-day-event';
+ }
+
+ var name_link = JX.$N(
+ 'a',
+ {
+ className : link_class,
+ href: uri
+ },
+ name);
+
+ var div = JX.$N(
+ 'div',
+ {
+ className: 'phui-calendar-day-event',
+ style: {
+ left: offset,
+ width: width,
+ top: top,
+ height: height
+ }
+ },
+ name_link);
+
+ return div;
+ }
+
+ function drawRows() {
+ var rows = [];
+ var early_hours = [8];
+ if (first_event_hour) {
+ early_hours.push(first_event_hour);
+ }
+ var min_early_hour = Math.min(early_hours[0], early_hours[1]);
+
+
+ for(var i=0; i < hours.length; i++) {
+ if (hours[i]['hour'] < min_early_hour) {
+ continue;
+ }
+ var drawn_hourly_events = [];
+ var cell_time = JX.$N(
+ 'td',
+ {className: 'phui-calendar-day-hour'},
+ hours[i]['hour_meridian']);
+
+ for (var j=0; j < hourly_events.length; j++) {
+ if (hourly_events[j]['hour'] == hours[i]['hour']) {
+ drawn_hourly_events.push(
+ drawEvent(
+ hourly_events[j]['eventStartEpoch'],
+ hourly_events[j]['eventEndEpoch'],
+ hourly_events[j]['eventName'],
+ hourly_events[j]['eventID'],
+ hourly_events[j]['viewerIsInvited'],
+ hourly_events[j]['hour'],
+ hourly_events[j]['offset'],
+ hourly_events[j]['width'],
+ hourly_events[j]['top'],
+ hourly_events[j]['height']
+ )
+ );
+ }
+ }
+
+ var cell_event = JX.$N(
+ 'td',
+ {
+ className: 'phui-calendar-day-events'
+ },
+ drawn_hourly_events);
+ var row = JX.$N(
+ 'tr',
+ {},
+ [cell_time, cell_event]);
+ rows.push(row);
+ }
+ return rows;
+ }
+
var today_clusters = findTodayClusters();
for(var i=0; i < today_clusters.length; i++) {
hourly_events = updateEventsFromCluster(today_clusters[i], hourly_events);
}
+ var rows = drawRows();
});
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, May 22, 4:41 AM (3 w, 3 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6290935
Default Alt Text
D12983.diff (4 KB)
Attached To
Mode
D12983: Translate drawing day rows into javascript
Attached
Detach File
Event Timeline
Log In to Comment