private function getEventTooltip(AphrontCalendarEventView $event) { $time_pref = $this->getUser()->getPreference(PhabricatorUserPreferences::PREFERENCE_TIME_FORMAT); Javelin::initBehavior('phabricator-tooltips'); $start = id(AphrontFormDateControlValue::newFromEpoch($this->getUser(), $event->getEpochStart())); $end = id(AphrontFormDateControlValue::newFromEpoch($this->getUser(), $event->getEpochEnd())); $start_date = $start->getDateTime()->format('m d Y'); $end_date = $end->getDateTime()->format('m d Y'); if ($event->getIsAllDay()) { if ($start_date == $end_date) { $tip = pht('All day'); } else { $tip = pht('All day, %s - %s', $start->getValueAsFormat('M j, Y'), $end->getValueAsFormat('M j, Y')); } } else { if ($start->getValueDate() == $end->getValueDate()) { $tip = pht('%s - %s', $start->getValueAsFormat($time_pref), $end->getValueAsFormat($time_pref)); } else { $tip = pht('%s - %s', $start->getValueAsFormat('M j, Y, ' . $time_pref), $end->getValueAsFormat('M j, Y, ' . $time_pref)); } } return $tip; }
private function getEventTooltip(AphrontCalendarEventView $event) { $viewer = $this->getViewer(); $time_key = PhabricatorTimeFormatSetting::SETTINGKEY; $time_pref = $viewer->getUserSetting($time_key); Javelin::initBehavior('phabricator-tooltips'); $start = id(AphrontFormDateControlValue::newFromEpoch($viewer, $event->getEpochStart())); $end = id(AphrontFormDateControlValue::newFromEpoch($viewer, $event->getEpochEnd())); $start_date = $start->getDateTime()->format('m d Y'); $end_date = $end->getDateTime()->format('m d Y'); if ($event->getIsAllDay()) { if ($start_date == $end_date) { $tip = pht('All day'); } else { $tip = pht('All day, %s - %s', $start->getValueAsFormat('M j, Y'), $end->getValueAsFormat('M j, Y')); } } else { if ($start->getValueDate() == $end->getValueDate()) { $tip = pht('%s - %s', $start->getValueAsFormat($time_pref), $end->getValueAsFormat($time_pref)); } else { $tip = pht('%s - %s', $start->getValueAsFormat('M j, Y, ' . $time_pref), $end->getValueAsFormat('M j, Y, ' . $time_pref)); } } return $tip; }
private function renderEvent(AphrontCalendarEventView $event, $epoch_start, $epoch_end) { $user = $this->user; $event_start = $event->getEpochStart(); $event_end = $event->getEpochEnd(); $classes = array(); $when = array(); $classes[] = 'aphront-calendar-event'; if ($event_start < $epoch_start) { $classes[] = 'aphront-calendar-event-continues-before'; $when[] = 'Started ' . phabricator_datetime($event_start, $user); } else { $when[] = 'Starts at ' . phabricator_time($event_start, $user); } if ($event_end > $epoch_end) { $classes[] = 'aphront-calendar-event-continues-after'; $when[] = 'Ends ' . phabricator_datetime($event_end, $user); } else { $when[] = 'Ends at ' . phabricator_time($event_end, $user); } Javelin::initBehavior('phabricator-tooltips'); $info = $event->getName(); if ($event->getDescription()) { $info .= "\n\n" . $event->getDescription(); } $text_div = javelin_render_tag('div', array('sigil' => 'has-tooltip', 'meta' => array('tip' => $info . "\n\n" . implode("\n", $when), 'size' => 240), 'class' => 'aphront-calendar-event-text'), phutil_escape_html(phutil_utf8_shorten($event->getName(), 32))); return javelin_render_tag('div', array('class' => implode(' ', $classes)), $text_div); }