mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-26 00:32:42 +01:00
When a Calendar day has too many events, show a "More..." link
Summary: Fixes T8361. Test Plan: {F1739073} Reviewers: chad Reviewed By: chad Maniphest Tasks: T8361 Differential Revision: https://secure.phabricator.com/D16337
This commit is contained in:
parent
89f6764e1b
commit
ef6c689e87
2 changed files with 41 additions and 5 deletions
|
@ -5,6 +5,16 @@ final class PHUICalendarListView extends AphrontTagView {
|
|||
private $events = array();
|
||||
private $blankState;
|
||||
private $view;
|
||||
private $moreLink;
|
||||
|
||||
public function setMoreLink($more_link) {
|
||||
$this->moreLink = $more_link;
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getMoreLink() {
|
||||
return $this->moreLink;
|
||||
}
|
||||
|
||||
private function getView() {
|
||||
return $this->view;
|
||||
|
@ -60,7 +70,7 @@ final class PHUICalendarListView extends AphrontTagView {
|
|||
$icon_icon = $event->getIcon();
|
||||
$icon_color = $event->getIconColor();
|
||||
|
||||
$dot = id(new PHUIIconView())
|
||||
$icon = id(new PHUIIconView())
|
||||
->setIcon($icon_icon, $icon_color)
|
||||
->addClass('phui-calendar-list-item-icon');
|
||||
|
||||
|
@ -108,7 +118,7 @@ final class PHUICalendarListView extends AphrontTagView {
|
|||
),
|
||||
),
|
||||
array(
|
||||
$dot,
|
||||
$icon,
|
||||
$time,
|
||||
$title,
|
||||
));
|
||||
|
@ -121,6 +131,29 @@ final class PHUICalendarListView extends AphrontTagView {
|
|||
$content);
|
||||
}
|
||||
|
||||
if ($this->moreLink) {
|
||||
$singletons[] = phutil_tag(
|
||||
'li',
|
||||
array(
|
||||
'class' => 'phui-calendar-list-item',
|
||||
),
|
||||
phutil_tag(
|
||||
'a',
|
||||
array(
|
||||
'href' => $this->moreLink,
|
||||
'class' => 'phui-calendar-list-more',
|
||||
),
|
||||
array(
|
||||
id(new PHUIIconView())->setIcon('fa-ellipsis-h grey'),
|
||||
phutil_tag(
|
||||
'span',
|
||||
array(
|
||||
'class' => 'phui-calendar-list-title',
|
||||
),
|
||||
pht('View More...')),
|
||||
)));
|
||||
}
|
||||
|
||||
if (empty($singletons)) {
|
||||
$singletons[] = phutil_tag(
|
||||
'li',
|
||||
|
|
|
@ -95,13 +95,13 @@ final class PHUICalendarMonthView extends AphrontView {
|
|||
->setViewer($viewer)
|
||||
->setView('month');
|
||||
foreach ($all_day_events as $item) {
|
||||
if ($counter <= $max_daily) {
|
||||
if ($counter < $max_daily) {
|
||||
$list->addEvent($item);
|
||||
}
|
||||
$counter++;
|
||||
}
|
||||
foreach ($list_events as $item) {
|
||||
if ($counter <= $max_daily) {
|
||||
if ($counter < $max_daily) {
|
||||
$list->addEvent($item);
|
||||
}
|
||||
$counter++;
|
||||
|
@ -112,8 +112,11 @@ final class PHUICalendarMonthView extends AphrontView {
|
|||
$day->format('m').'/'.
|
||||
$day->format('d').'/';
|
||||
|
||||
$day_id = $day->format('Ymd');
|
||||
if ($counter > $max_daily) {
|
||||
$list->setMoreLink($uri);
|
||||
}
|
||||
|
||||
$day_id = $day->format('Ymd');
|
||||
|
||||
$classes = array();
|
||||
if ($day->format('m') != $this->month) {
|
||||
|
|
Loading…
Reference in a new issue