diff --git a/plugins/libkolab/skins/elastic/include/tasklist.less b/plugins/libkolab/skins/elastic/include/tasklist.less
index 06688aa5..781bd248 100644
--- a/plugins/libkolab/skins/elastic/include/tasklist.less
+++ b/plugins/libkolab/skins/elastic/include/tasklist.less
@@ -337,7 +337,7 @@ html.touch #tasklist {
.description {
display: block;
- white-space: pre;
+ white-space: pre-wrap;
}
.title {
diff --git a/plugins/libkolab/skins/elastic/libkolab.less b/plugins/libkolab/skins/elastic/libkolab.less
index d6f89b7b..036f8be0 100644
--- a/plugins/libkolab/skins/elastic/libkolab.less
+++ b/plugins/libkolab/skins/elastic/libkolab.less
@@ -390,8 +390,23 @@ button.btn.print:before {
padding: .5em 1em;
background-color: @color-black-shade-bg;
+ button {
+ margin-right: 1rem;
+ }
+
.prop {
margin-left: .5rem;
+ display: inline-block;
+ vertical-align: middle;
+
+ label {
+ margin: 0;
+ }
+
+ label:before {
+ line-height: 1.25;
+ margin-right: .25rem;
+ }
}
@media print {
diff --git a/plugins/tasklist/localization/en_US.inc b/plugins/tasklist/localization/en_US.inc
index b878f10b..8c7769b6 100644
--- a/plugins/tasklist/localization/en_US.inc
+++ b/plugins/tasklist/localization/en_US.inc
@@ -102,6 +102,7 @@ $labels['import'] = 'Import';
$labels['importtasks'] = 'Import Tasks';
$labels['viewactions'] = 'View actions';
$labels['focusview'] = 'View only this list';
+$labels['activate'] = 'Activate';
// date words
$labels['on'] = 'on';
diff --git a/plugins/tasklist/skins/elastic/templates/print.html b/plugins/tasklist/skins/elastic/templates/print.html
index 8d0c1958..f9ec3190 100644
--- a/plugins/tasklist/skins/elastic/templates/print.html
+++ b/plugins/tasklist/skins/elastic/templates/print.html
@@ -3,7 +3,7 @@
-
+
diff --git a/plugins/tasklist/tasklist.js b/plugins/tasklist/tasklist.js
index 343c5695..d50c0c38 100644
--- a/plugins/tasklist/tasklist.js
+++ b/plugins/tasklist/tasklist.js
@@ -1685,7 +1685,7 @@ function rcube_tasklist_ui(settings)
if (!task_draghelper)
task_draghelper = $('');
- var title = $(e.target).parents('li').first().find('.title').text();
+ var title = $(e.target).parents('li').first().find('.title:first').text();
task_draghelper.html(Q(title) || '✔');
@@ -2573,7 +2573,7 @@ function rcube_tasklist_ui(settings)
// activate the first tab
$('#taskedit:not([data-notabs])').tabs('option', 'active', 0); // Larry
- if (elastic && $.tab)
+ if ($('#taskedit').data('notabs'))
$('#taskedit li.nav-item:first-child a').tab('show'); // Elastic
// define dialog buttons
@@ -2722,12 +2722,12 @@ function rcube_tasklist_ui(settings)
me.dialog_resize($dialog.get(0), $dialog.height(), 580);
}
- title.select();
-
// Elastic
editform.removeClass('hidden').parents('.watermark').addClass('formcontainer');
$('#taskedit').parent().trigger('loaded');
+ title.select();
+
// show nav buttons on mobile (elastic)
$('.content-frame-navigation > .buttons > :not(.disabled)').show();
}
diff --git a/plugins/tasklist/tasklist_ui.php b/plugins/tasklist/tasklist_ui.php
index 6423c6e6..8554d271 100644
--- a/plugins/tasklist/tasklist_ui.php
+++ b/plugins/tasklist/tasklist_ui.php
@@ -253,8 +253,8 @@ class tasklist_ui
}
$classes = array('tasklist');
- $title = $prop['title'] ?: ($prop['name'] != $prop['listname'] || strlen($prop['name']) > 25 ?
- html_entity_decode($prop['name'], ENT_COMPAT, RCUBE_CHARSET) : '');
+ $title = $prop['title'] ?: ($prop['name'] != $prop['listname'] || strlen($prop['name']) > 25 ?
+ html_entity_decode($prop['name'], ENT_COMPAT, RCUBE_CHARSET) : '');
if ($prop['virtual'])
$classes[] = 'virtual';
@@ -267,15 +267,22 @@ class tasklist_ui
if (!$activeonly || $prop['active']) {
$label_id = 'tl:' . $id;
+ $chbox = html::tag('input', array(
+ 'type' => 'checkbox',
+ 'name' => '_list[]',
+ 'value' => $id,
+ 'checked' => $prop['active'],
+ 'title' => $this->plugin->gettext('activate'),
+ 'aria-labelledby' => $label_id
+ ));
+
return html::div(join(' ', $classes),
html::a(array('class' => 'listname', 'title' => $title, 'href' => '#', 'id' => $label_id), $prop['listname'] ?: $prop['name']) .
- ($prop['virtual'] ? '' :
- html::tag('input', array('type' => 'checkbox', 'name' => '_list[]', 'value' => $id, 'checked' => $prop['active'], 'aria-labelledby' => $label_id)) .
- html::span('actions',
- ($prop['removable'] ? html::a(array('href' => '#', 'class' => 'remove', 'title' => $this->plugin->gettext('removelist')), ' ') : '') .
- html::a(array('href' => '#', 'class' => 'quickview', 'title' => $this->plugin->gettext('focusview'), 'role' => 'checkbox', 'aria-checked' => 'false'), ' ') .
- (isset($prop['subscribed']) ? html::a(array('href' => '#', 'class' => 'subscribed', 'title' => $this->plugin->gettext('tasklistsubscribe'), 'role' => 'checkbox', 'aria-checked' => $prop['subscribed'] ? 'true' : 'false'), ' ') : '')
- )
+ ($prop['virtual'] ? '' : $chbox . html::span('actions',
+ ($prop['removable'] ? html::a(array('href' => '#', 'class' => 'remove', 'title' => $this->plugin->gettext('removelist')), ' ') : '')
+ . html::a(array('href' => '#', 'class' => 'quickview', 'title' => $this->plugin->gettext('focusview'), 'role' => 'checkbox', 'aria-checked' => 'false'), ' ')
+ . (isset($prop['subscribed']) ? html::a(array('href' => '#', 'class' => 'subscribed', 'title' => $this->plugin->gettext('tasklistsubscribe'), 'role' => 'checkbox', 'aria-checked' => $prop['subscribed'] ? 'true' : 'false'), ' ') : '')
+ )
)
);
}