3 commits - plugins/libcalendaring plugins/tasklist
Thomas Brüderli
bruederli at kolabsys.com
Fri Oct 4 09:37:47 CEST 2013
plugins/libcalendaring/libcalendaring.js | 2 +-
plugins/tasklist/tasklist.js | 26 ++++++++++++++++++++------
2 files changed, 21 insertions(+), 7 deletions(-)
New commits:
commit ed6fd93ac5f097a272b0169fb14d0d6dff33308e
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date: Fri Oct 4 09:37:32 2013 +0200
Make URLs in task titles clickable (#2289)
diff --git a/plugins/libcalendaring/libcalendaring.js b/plugins/libcalendaring/libcalendaring.js
index 93e605a..73d1c1e 100644
--- a/plugins/libcalendaring/libcalendaring.js
+++ b/plugins/libcalendaring/libcalendaring.js
@@ -281,7 +281,7 @@ function rcube_libcalendaring(settings)
var mailto_pattern = new RegExp('([^\\s\\n\\(\\);]+@'+utf_domain+')', 'ig');
return html
- .replace(link_pattern, '<a href="$1$2" target="_blank">$1$2</a>')
+ .replace(link_pattern, '<a href="$1$2" class="extlink" target="_blank">$1$2</a>')
.replace(mailto_pattern, '<a href="mailto:$1">$1</a>')
.replace(/(mailto:)([^"]+)"/g, '$1$2" onclick="rcmail.command(\'compose\', \'$2\');return false"')
.replace(/\n/g, "<br/>");
diff --git a/plugins/tasklist/tasklist.js b/plugins/tasklist/tasklist.js
index 313e50a..645a9ad 100644
--- a/plugins/tasklist/tasklist.js
+++ b/plugins/tasklist/tasklist.js
@@ -297,7 +297,10 @@ function rcube_tasklist_ui(settings)
}
e.bubble = false;
break;
-
+
+ case 'extlink':
+ return true;
+
default:
if (e.target.nodeName != 'INPUT')
task_show_dialog(id);
@@ -642,7 +645,7 @@ function rcube_tasklist_ui(settings)
'<div class="progressbar"><div class="progressvalue" style="width:' + (rec.complete * 100) + '%"></div></div>' +
'<input type="checkbox" name="completed[]" value="1" class="complete" ' + (rec.complete == 1.0 ? 'checked="checked" ' : '') + '/>' +
'<span class="flagged"></span>' +
- '<span class="title">' + Q(rec.title) + '</span>' +
+ '<span class="title">' + text2html(Q(rec.title)) + '</span>' +
'<span class="tags">' + tags_html + '</span>' +
'<span class="date">' + Q(rec.date || rcmail.gettext('nodate','tasklist')) + '</span>' +
'<a href="#" class="actions">V</a>'
@@ -908,7 +911,7 @@ function rcube_tasklist_ui(settings)
// fill dialog data
$('#task-parent-title').html(Q(rec.parent_title || '')+' »').css('display', rec.parent_title ? 'block' : 'none');
- $('#task-title').html(Q(rec.title || ''));
+ $('#task-title').html(text2html(Q(rec.title || '')));
$('#task-description').html(text2html(rec.description || '', 300, 6))[(rec.description ? 'show' : 'hide')]();
$('#task-date')[(rec.date ? 'show' : 'hide')]().children('.task-text').html(Q(rec.date || rcmail.gettext('nodate','tasklist')));
$('#task-time').html(Q(rec.time || ''));
commit 777fb89394a45c08f3f37c4f0462c00c42cd0b2d
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date: Fri Oct 4 09:31:01 2013 +0200
Expand/collapse all subtasks when pressing the Shift key while clicking the toggle icon
diff --git a/plugins/tasklist/tasklist.js b/plugins/tasklist/tasklist.js
index 59bb54c..313e50a 100644
--- a/plugins/tasklist/tasklist.js
+++ b/plugins/tasklist/tasklist.js
@@ -233,6 +233,8 @@ function rcube_tasklist_ui(settings)
li.children('.childtasks:first').toggle();
$(e.target).toggleClass('collapsed').html(rec.collapsed ? '▶' : '▼');
rcmail.http_post('tasks/task', { action:'collapse', t:{ id:rec.id, list:rec.list }, collapsed:rec.collapsed?1:0 });
+ if (e.shiftKey) // expand/collapse all childs
+ li.children('.childtasks:first .childtoggle.'+(rec.collapsed?'expanded':'collapsed')).click();
break;
case 'complete':
commit 5ef856ad6bc04f42b990952d99c8eb005c40734a
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date: Thu Oct 3 20:51:58 2013 +0200
Fix parent-child links when re-arrangning tasks
diff --git a/plugins/tasklist/tasklist.js b/plugins/tasklist/tasklist.js
index 01c54b8..59bb54c 100644
--- a/plugins/tasklist/tasklist.js
+++ b/plugins/tasklist/tasklist.js
@@ -560,7 +560,7 @@ function rcube_tasklist_ui(settings)
oldid = rec.tempid || id,
oldrec = listdata[oldid],
oldindex = $.inArray(oldid, listindex),
- oldparent = oldrec && (oldrec._old_parent_id || oldrec.parent_id),
+ oldparent = oldrec ? (oldrec._old_parent_id || oldrec.parent_id) : null,
list = me.tasklists[rec.list];
if (oldindex >= 0)
@@ -575,14 +575,23 @@ function rcube_tasklist_ui(settings)
var oldchilds = listdata[oldparent].children,
i = $.inArray(oldid, oldchilds);
if (i >= 0) {
- oldchilds = oldchilds.slice(0,i).concat(oldchilds.slice(i+1));
+ listdata[oldparent].children = oldchilds.slice(0,i).concat(oldchilds.slice(i+1));
}
}
// register a forward-pointer to child tasks
- if (rec.parent_id && listdata[rec.parent_id] && listdata[rec.parent_id].children && $.inArray(id, listdata[rec.parent_id].children) >= 0)
+ if (rec.parent_id && listdata[rec.parent_id] && listdata[rec.parent_id].children && $.inArray(id, listdata[rec.parent_id].children) < 0)
listdata[rec.parent_id].children.push(id);
+ // restore pointers to my children
+ if (!listdata[id].children) {
+ listdata[id].children = [];
+ for (var pid in listdata) {
+ if (listdata[pid].parent_id == id)
+ listdata[id].children.push(pid);
+ }
+ }
+
if (list.active)
render_task(rec, oldid);
else
More information about the commits
mailing list