From 256ad459d3a5d33c23010a29eb3352d9f34795db Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Tue, 14 Oct 2014 08:49:47 +0200 Subject: [PATCH] Improve listing of linked tasks in mail view (#3439) --- plugins/kolab_notes/skins/larry/notes.css | 2 +- plugins/tasklist/localization/en_US.inc | 2 +- plugins/tasklist/skins/larry/tasklist.css | 47 +++++++++++++++-------- plugins/tasklist/tasklist.php | 11 +++--- plugins/tasklist/tasklist_ui.php | 1 - 5 files changed, 38 insertions(+), 25 deletions(-) diff --git a/plugins/kolab_notes/skins/larry/notes.css b/plugins/kolab_notes/skins/larry/notes.css index 1937da68..83569d69 100644 --- a/plugins/kolab_notes/skins/larry/notes.css +++ b/plugins/kolab_notes/skins/larry/notes.css @@ -575,6 +575,6 @@ div.kolabmessagenotes a.kolabnotesref { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; - max-width: 12em; + max-width: 16em; background: url(sprites.png) -6px -151px no-repeat; } \ No newline at end of file diff --git a/plugins/tasklist/localization/en_US.inc b/plugins/tasklist/localization/en_US.inc index 4563999b..4fb59266 100644 --- a/plugins/tasklist/localization/en_US.inc +++ b/plugins/tasklist/localization/en_US.inc @@ -37,7 +37,7 @@ $labels['start'] = 'Start'; $labels['starttime'] = 'Start time'; $labels['alarms'] = 'Reminder'; $labels['repeat'] = 'Repeat'; -$labels['links'] = 'References'; +$labels['links'] = 'Reference'; $labels['status'] = 'Status'; $labels['status-needs-action'] = 'Needs action'; $labels['status-in-process'] = 'In process'; diff --git a/plugins/tasklist/skins/larry/tasklist.css b/plugins/tasklist/skins/larry/tasklist.css index 832197db..2aaf44b7 100644 --- a/plugins/tasklist/skins/larry/tasklist.css +++ b/plugins/tasklist/skins/larry/tasklist.css @@ -1338,18 +1338,36 @@ div.tasklist-invitebox .rsvp-status.accepted, } div.messagetasklinks { + position: relative; margin: 8px 8px; - padding: 4px 8px; + padding: 4px 8px 4px 30px; border: 1px solid #dfdfdf; background: #fafafa; border-radius: 4px; } -div.messagetasklinks span.messagetaskref { - position: relative; - display: inline-block; - margin-right: 1em; - padding-right: 24px; +div.messagetasklinks::before { + content: " "; + position: absolute; + top: 4px; + left: 8px; + width: 18px; + height: 18px; + background: url(buttons.png) -6px -115px no-repeat; +} + +div.messagetasklinks ul.tasklist { + margin: 0; + padding: 0; + list-style: none; +} + +div.messagetasklinks .messagetaskref { + display: block; + margin-bottom: 2px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; } div.messagetasklinks a.messagetasklink { @@ -1357,24 +1375,21 @@ div.messagetasklinks a.messagetasklink { display: inline-block; color: #333; font-weight: bold; - padding: 3px 0 2px 22px; + padding: 3px 0 2px 2px; text-shadow: 0px 1px 1px #fff; text-decoration: none; white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - max-width: 16em; - background: url(buttons.png) -6px -115px no-repeat; + vertical-align: middle; } -div.messagetasklinks span.messagetaskref.complete a.messagetasklink { +div.messagetasklinks .messagetaskref.complete a.messagetasklink { text-decoration: line-through; + text-shadow: none; + color: #666; } -div.messagetasklinks span.messagetaskref input.complete { - position: absolute; - top: 1px; - right: 2px; +div.messagetasklinks .messagetaskref input.complete { + vertical-align: middle; } diff --git a/plugins/tasklist/tasklist.php b/plugins/tasklist/tasklist.php index 82b36343..9da59844 100644 --- a/plugins/tasklist/tasklist.php +++ b/plugins/tasklist/tasklist.php @@ -1470,23 +1470,22 @@ class tasklist extends rcube_plugin 'data-list' => $task['list'], )); $complete = $this->driver->is_complete($task); - $links[] = html::span('messagetaskref' . ($complete ? ' complete' : ''), - $checkbox->show($complete ? $task['uid'] : null, array('value' => $task['uid'])) . ' ' . + $links[] = html::tag('li', 'messagetaskref' . ($complete ? ' complete' : ''), + $checkbox->show($complete ? $task['id'] : null, array('value' => $task['id'])) . ' ' . html::a(array( 'href' => $this->rc->url(array( 'task' => 'tasks', 'list' => $task['list'], - 'id' => $task['uid'], - 'complete' => $complete?1:null, + 'id' => $task['id'], )), 'class' => 'messagetasklink', - 'rel' => $task['uid'] . '@' . $task['list'], + 'rel' => $task['id'] . '@' . $task['list'], 'target' => '_blank', ), Q($task['title'])) ); } if (count($links)) { - $html .= html::div('messagetasklinks', join("\n", $links)); + $html .= html::div('messagetasklinks', html::tag('ul', 'tasklist', join("\n", $links))); } // prepend iTip/relation boxes to message body diff --git a/plugins/tasklist/tasklist_ui.php b/plugins/tasklist/tasklist_ui.php index 5451e2cd..912514e9 100644 --- a/plugins/tasklist/tasklist_ui.php +++ b/plugins/tasklist/tasklist_ui.php @@ -100,7 +100,6 @@ class tasklist_ui // check if the referenced task is completed $task = $this->plugin->driver->get_task(array('id' => $id, 'list' => $list)); - console($id, $task); if ($task && $this->plugin->driver->is_complete($task)) { $settings['selected_filter'] = 'complete'; }