3 commits - plugins/tasklist

Thomas Brüderli bruederli at kolabsys.com
Mon Oct 21 14:28:49 CEST 2013


 plugins/tasklist/tasklist.js  |   26 +++++++++++++++++++++++++-
 plugins/tasklist/tasklist.php |    4 ++++
 2 files changed, 29 insertions(+), 1 deletion(-)

New commits:
commit 9bc8b367393884c7b7166646f733f9c16f59ead6
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date:   Mon Oct 21 14:26:30 2013 +0200

    Inherit tags from parent tasks for filter matching (#2373)

diff --git a/plugins/tasklist/tasklist.js b/plugins/tasklist/tasklist.js
index 2089c70..e52174b 100644
--- a/plugins/tasklist/tasklist.js
+++ b/plugins/tasklist/tasklist.js
@@ -1377,8 +1377,9 @@ function rcube_tasklist_ui(settings)
 
         if (match && tagsfilter.length) {
             match = rec.tags && rec.tags.length;
+            var alltags = get_inherited_tags(rec).concat(rec.tags || []);
             for (var i=0; match && i < tagsfilter.length; i++) {
-                if ($.inArray(tagsfilter[i], rec.tags) < 0)
+                if ($.inArray(tagsfilter[i], alltags) < 0)
                     match = false;
             }
         }
@@ -1408,6 +1409,23 @@ function rcube_tasklist_ui(settings)
     /**
      *
      */
+    function get_inherited_tags(rec)
+    {
+        var parent_id, itags = [];
+
+        if ((parent_id = rec.parent_id)) {
+            while (parent_id && listdata[parent_id]) {
+                itags = itags.concat(listdata[parent_id].tags || []);
+                parent_id = listdata[parent_id].parent_id;
+            }
+        }
+
+        return itags;
+    }
+
+    /**
+     *
+     */
     function list_edit_dialog(id)
     {
         var list = me.tasklists[id],


commit 482fa43f12e9e2af232b8d65e57599919c13c0b2
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date:   Mon Oct 21 14:06:05 2013 +0200

    Sort tags alphabetically (#2367)

diff --git a/plugins/tasklist/tasklist.php b/plugins/tasklist/tasklist.php
index 6ebddc4..9d5544c 100644
--- a/plugins/tasklist/tasklist.php
+++ b/plugins/tasklist/tasklist.php
@@ -605,6 +605,10 @@ class tasklist extends rcube_plugin
             $rec['attachments'][$k]['classname'] = rcube_utils::file2class($attachment['mimetype'], $attachment['name']);
         }
 
+        if (!is_array($rec['tags']))
+            $rec['tags'] = (array)$rec['tags'];
+        sort($rec['tags'], SORT_LOCALE_STRING);
+
         if (in_array($rec['id'], $this->collapsed_tasks))
           $rec['collapsed'] = true;
 


commit 8b3a9262e6de57bc9dd7737c2a13bfdef5f98b74
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date:   Thu Oct 17 18:28:56 2013 +0200

    Also save tag from input box which hasn't been added to the list with <Enter>

diff --git a/plugins/tasklist/tasklist.js b/plugins/tasklist/tasklist.js
index d76c9d1..2089c70 100644
--- a/plugins/tasklist/tasklist.js
+++ b/plugins/tasklist/tasklist.js
@@ -1102,10 +1102,16 @@ function rcube_tasklist_ui(settings)
                 }
             }
 
+            // collect tags
             $('input[type="hidden"]', rcmail.gui_objects.edittagline).each(function(i,elem){
                 if (elem.value)
                     me.selected_task.tags.push(elem.value);
             });
+            // including the "pending" one in the text box
+            var newtag = $('#tagedit-input').val();
+            if (newtag != '') {
+                me.selected_task.tags.push(newtag);
+            }
 
             // serialize alarm settings
             var alarm = $('#taskedit select.edit-alarm-type').val();




More information about the commits mailing list