mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-18 21:02:41 +01:00
Month view should adjust to display badges with event count instead of event list on mobile and tablets.
Summary: Ref T4392, Month view should adjust to display badges with event count instead of event list on mobile and tablets. Test Plan: Open month view, adjust browser as mobile size, event lists should turn into badges with event counts and calendar days should be links to day views of those days. Reviewers: epriestley, #blessed_reviewers, chad Reviewed By: epriestley, #blessed_reviewers Subscribers: Korvin, epriestley Maniphest Tasks: T4392 Differential Revision: https://secure.phabricator.com/D12820
This commit is contained in:
parent
7bfbc46a63
commit
20b7308dfb
3 changed files with 124 additions and 14 deletions
|
@ -122,7 +122,7 @@ return array(
|
||||||
'rsrc/css/layout/phabricator-source-code-view.css' => '2ceee894',
|
'rsrc/css/layout/phabricator-source-code-view.css' => '2ceee894',
|
||||||
'rsrc/css/phui/calendar/phui-calendar-day.css' => '38891735',
|
'rsrc/css/phui/calendar/phui-calendar-day.css' => '38891735',
|
||||||
'rsrc/css/phui/calendar/phui-calendar-list.css' => 'c1d0ca59',
|
'rsrc/css/phui/calendar/phui-calendar-list.css' => 'c1d0ca59',
|
||||||
'rsrc/css/phui/calendar/phui-calendar-month.css' => '4c39f6d9',
|
'rsrc/css/phui/calendar/phui-calendar-month.css' => '75e6a2ee',
|
||||||
'rsrc/css/phui/calendar/phui-calendar.css' => '8675968e',
|
'rsrc/css/phui/calendar/phui-calendar.css' => '8675968e',
|
||||||
'rsrc/css/phui/phui-action-header-view.css' => '89c497e7',
|
'rsrc/css/phui/phui-action-header-view.css' => '89c497e7',
|
||||||
'rsrc/css/phui/phui-action-list.css' => '4f4d09f2',
|
'rsrc/css/phui/phui-action-list.css' => '4f4d09f2',
|
||||||
|
@ -779,7 +779,7 @@ return array(
|
||||||
'phui-calendar-css' => '8675968e',
|
'phui-calendar-css' => '8675968e',
|
||||||
'phui-calendar-day-css' => '38891735',
|
'phui-calendar-day-css' => '38891735',
|
||||||
'phui-calendar-list-css' => 'c1d0ca59',
|
'phui-calendar-list-css' => 'c1d0ca59',
|
||||||
'phui-calendar-month-css' => '4c39f6d9',
|
'phui-calendar-month-css' => '75e6a2ee',
|
||||||
'phui-crumbs-view-css' => '594d719e',
|
'phui-crumbs-view-css' => '594d719e',
|
||||||
'phui-document-view-css' => '94d5dcd8',
|
'phui-document-view-css' => '94d5dcd8',
|
||||||
'phui-feed-story-css' => 'c9f3a0b5',
|
'phui-feed-story-css' => 'c9f3a0b5',
|
||||||
|
|
|
@ -75,6 +75,8 @@ final class PHUICalendarMonthView extends AphrontView {
|
||||||
$empty_cell = array(
|
$empty_cell = array(
|
||||||
'list' => null,
|
'list' => null,
|
||||||
'date' => null,
|
'date' => null,
|
||||||
|
'uri' => null,
|
||||||
|
'count' => 0,
|
||||||
'class' => null,
|
'class' => null,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -137,9 +139,16 @@ final class PHUICalendarMonthView extends AphrontView {
|
||||||
$list->addEvent($item);
|
$list->addEvent($item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$uri = $this->getBrowseURI();
|
||||||
|
$uri = $uri.$day->format('Y').'/'.
|
||||||
|
$day->format('m').'/'.
|
||||||
|
$day->format('d').'/';
|
||||||
|
|
||||||
$markup[] = array(
|
$markup[] = array(
|
||||||
'list' => $list,
|
'list' => $list,
|
||||||
'date' => $day,
|
'date' => $day,
|
||||||
|
'uri' => $uri,
|
||||||
|
'count' => count($all_day_events) + count($list_events),
|
||||||
'class' => $class,
|
'class' => $class,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -149,33 +158,78 @@ final class PHUICalendarMonthView extends AphrontView {
|
||||||
|
|
||||||
foreach ($rows as $row) {
|
foreach ($rows as $row) {
|
||||||
$cells = array();
|
$cells = array();
|
||||||
|
$event_count_badge = null;
|
||||||
|
|
||||||
while (count($row) < 7) {
|
while (count($row) < 7) {
|
||||||
$row[] = $empty_cell;
|
$row[] = $empty_cell;
|
||||||
}
|
}
|
||||||
foreach ($row as $cell) {
|
foreach ($row as $cell) {
|
||||||
$cell_list = $cell['list'];
|
$cell_list = $cell['list'];
|
||||||
$class = $cell['class'];
|
$class = $cell['class'];
|
||||||
|
$uri = $cell['uri'];
|
||||||
|
$count = $cell['count'];
|
||||||
|
|
||||||
|
$event_count = null;
|
||||||
|
if ($count > 0) {
|
||||||
|
$event_count = phutil_tag(
|
||||||
|
'div',
|
||||||
|
array(
|
||||||
|
'class' => 'phui-calendar-month-count-badge',
|
||||||
|
),
|
||||||
|
$count);
|
||||||
|
}
|
||||||
|
|
||||||
|
$event_count_badge = phutil_tag(
|
||||||
|
'div',
|
||||||
|
array(
|
||||||
|
'class' => 'phui-calendar-month-event-count',
|
||||||
|
),
|
||||||
|
$event_count);
|
||||||
|
|
||||||
|
$cell_day_secret_link = phutil_tag(
|
||||||
|
'a',
|
||||||
|
array(
|
||||||
|
'class' => 'phui-calendar-month-secret-link',
|
||||||
|
'href' => $uri,
|
||||||
|
),
|
||||||
|
null);
|
||||||
|
|
||||||
|
$cell_div = phutil_tag(
|
||||||
|
'div',
|
||||||
|
array(
|
||||||
|
'class' => 'phui-calendar-month-cell-div',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
$cell_day_secret_link,
|
||||||
|
$event_count_badge,
|
||||||
|
$cell_list,
|
||||||
|
));
|
||||||
|
|
||||||
$cells[] = phutil_tag(
|
$cells[] = phutil_tag(
|
||||||
'td',
|
'td',
|
||||||
array(
|
array(
|
||||||
'class' => 'phui-calendar-month-event-list '.$class,
|
'class' => 'phui-calendar-month-event-list '.$class,
|
||||||
),
|
),
|
||||||
$cell_list);
|
$cell_div);
|
||||||
}
|
}
|
||||||
$table[] = phutil_tag('tr', array(), $cells);
|
$table[] = phutil_tag('tr', array(), $cells);
|
||||||
|
|
||||||
$cells = array();
|
$cells = array();
|
||||||
foreach ($row as $cell) {
|
foreach ($row as $cell) {
|
||||||
$class = $cell['class'];
|
$class = $cell['class'];
|
||||||
|
$cell_day_secret_link = null;
|
||||||
|
|
||||||
if ($cell['date']) {
|
if ($cell['date']) {
|
||||||
$cell_day = $cell['date'];
|
$cell_day = $cell['date'];
|
||||||
|
$uri = $cell['uri'];
|
||||||
|
|
||||||
$uri = $this->getBrowseURI();
|
$cell_day_secret_link = phutil_tag(
|
||||||
$date = $cell['date'];
|
'a',
|
||||||
$uri = $uri.$date->format('Y').'/'.
|
array(
|
||||||
$date->format('m').'/'.
|
'class' => 'phui-calendar-month-secret-link',
|
||||||
$date->format('d').'/';
|
'href' => $uri,
|
||||||
|
),
|
||||||
|
null);
|
||||||
|
|
||||||
$cell_day = phutil_tag(
|
$cell_day = phutil_tag(
|
||||||
'a',
|
'a',
|
||||||
|
@ -202,15 +256,23 @@ final class PHUICalendarMonthView extends AphrontView {
|
||||||
),
|
),
|
||||||
null);
|
null);
|
||||||
|
|
||||||
|
$cell_div = phutil_tag(
|
||||||
|
'div',
|
||||||
|
array(
|
||||||
|
'class' => 'phui-calendar-month-cell-div',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
$cell_day_secret_link,
|
||||||
|
$cell_day,
|
||||||
|
$today_slot,
|
||||||
|
));
|
||||||
|
|
||||||
$cells[] = phutil_tag(
|
$cells[] = phutil_tag(
|
||||||
'td',
|
'td',
|
||||||
array(
|
array(
|
||||||
'class' => 'phui-calendar-date-number-container '.$class,
|
'class' => 'phui-calendar-date-number-container '.$class,
|
||||||
),
|
),
|
||||||
array(
|
$cell_div);
|
||||||
$cell_day,
|
|
||||||
$today_slot,
|
|
||||||
));
|
|
||||||
}
|
}
|
||||||
$table[] = phutil_tag('tr', array(), $cells);
|
$table[] = phutil_tag('tr', array(), $cells);
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,12 +22,55 @@ table.phui-calendar-view td {
|
||||||
width: 14.2857%; /* This is one seventh, approximately. */
|
width: 14.2857%; /* This is one seventh, approximately. */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.phui-calendar-month-cell-div {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.phui-calendar-month-event-list .phui-calendar-month-cell-div {
|
||||||
|
min-height: 125px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.device .phui-calendar-month-event-list .phui-calendar-month-cell-div {
|
||||||
|
min-height: 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
a.phui-calendar-month-secret-link {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
table.phui-calendar-view tr td:first-child {
|
table.phui-calendar-view tr td:first-child {
|
||||||
border-left-width: 0px;
|
border-left-width: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
table.phui-calendar-view .phui-calendar-event-list {
|
.device table.phui-calendar-view .phui-calendar-event-list {
|
||||||
min-height: 125px;
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.phui-calendar-month-event-count {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.device .phui-calendar-month-event-count {
|
||||||
|
display: block;
|
||||||
|
text-align: center;
|
||||||
|
padding-top: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.phui-calendar-month-event-count .phui-calendar-month-count-badge {
|
||||||
|
border: 1px solid {$lightgreyborder};
|
||||||
|
color: {$lightgreytext};
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
border-radius: 50%;
|
||||||
|
text-align: center;
|
||||||
|
vertical-align: middle;
|
||||||
|
padding: 5px 3px 0px 3px;
|
||||||
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
table.phui-calendar-view a.phui-calendar-date-number {
|
table.phui-calendar-view a.phui-calendar-date-number {
|
||||||
|
@ -79,6 +122,8 @@ table.phui-calendar-view td.phui-calendar-date-number-container {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 4px 8px;
|
padding: 4px 8px;
|
||||||
background-color: {$lightpink};
|
background-color: {$lightpink};
|
||||||
|
display: block;
|
||||||
|
float: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
li.phui-calendar-list-item.all-day:first-child {
|
li.phui-calendar-list-item.all-day:first-child {
|
||||||
|
@ -87,6 +132,9 @@ li.phui-calendar-list-item.all-day:first-child {
|
||||||
|
|
||||||
.phui-calendar-view .phui-calendar-list li {
|
.phui-calendar-view .phui-calendar-list li {
|
||||||
margin: 0 8px;
|
margin: 0 8px;
|
||||||
|
display: inline-block;
|
||||||
|
float: left;
|
||||||
|
clear: both;
|
||||||
}
|
}
|
||||||
|
|
||||||
.phui-calendar-view .phui-calendar-list li:first-child {
|
.phui-calendar-view .phui-calendar-list li:first-child {
|
||||||
|
|
Loading…
Reference in a new issue