From 66233b76c83b8e31bc1ff301352393299130a18c Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Fri, 8 Aug 2014 12:52:26 +0200 Subject: Added folder searching in Folder Manager --- program/js/app.js | 4 +++- program/js/treelist.js | 3 ++- program/localization/en_US/labels.inc | 24 ++++++++++++++---------- 3 files changed, 19 insertions(+), 12 deletions(-) (limited to 'program') diff --git a/program/js/app.js b/program/js/app.js index 8ac5ca2e9..346c4f75d 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -5743,13 +5743,15 @@ function rcube_webmail() selectable: true, id_prefix: 'rcmli', id_encode: this.html_identifier_encode, - id_decode: this.html_identifier_decode + id_decode: this.html_identifier_decode, + searchbox: '#foldersearch' }); this.subscription_list .addEventListener('select', function(node) { ref.subscription_select(node.id); }) .addEventListener('collapse', function(node) { ref.folder_collapsed(node) }) .addEventListener('expand', function(node) { ref.folder_collapsed(node) }) + .addEventListener('search', function(p) { if (p.query) ref.subscription_select(); }) .draggable({cancel: 'li.mailbox.root'}) .droppable({ // @todo: find better way, accept callback is executed for every folder diff --git a/program/js/treelist.js b/program/js/treelist.js index 916cf0e2d..7d13143cd 100644 --- a/program/js/treelist.js +++ b/program/js/treelist.js @@ -525,7 +525,8 @@ function rcube_treelist_widget(node, p) .attr('id', li.attr('id') + '--xsR') .attr('class', li.attr('class')) .addClass('searchresult__') - .append(li.children().first().clone(true, true)) + // append all elements like links and inputs, but not sub-trees + .append(li.children(':not(div.treetoggle,ul)').clone(true, true)) .appendTo(container); hits.push(node.id); } diff --git a/program/localization/en_US/labels.inc b/program/localization/en_US/labels.inc index 1e179cbcf..e3fe76b2b 100644 --- a/program/localization/en_US/labels.inc +++ b/program/localization/en_US/labels.inc @@ -528,14 +528,14 @@ $labels['replyallmode'] = 'Default action of [Reply all] button'; $labels['replyalldefault'] = 'reply to all'; $labels['replyalllist'] = 'reply to mailing list only (if found)'; -$labels['folder'] = 'Folder'; -$labels['folders'] = 'Folders'; -$labels['foldername'] = 'Folder name'; -$labels['subscribed'] = 'Subscribed'; +$labels['folder'] = 'Folder'; +$labels['folders'] = 'Folders'; +$labels['foldername'] = 'Folder name'; +$labels['subscribed'] = 'Subscribed'; $labels['messagecount'] = 'Messages'; -$labels['create'] = 'Create'; -$labels['createfolder'] = 'Create new folder'; -$labels['managefolders'] = 'Manage folders'; +$labels['create'] = 'Create'; +$labels['createfolder'] = 'Create new folder'; +$labels['managefolders'] = 'Manage folders'; $labels['specialfolders'] = 'Special Folders'; $labels['properties'] = 'Properties'; $labels['folderproperties'] = 'Folder properties'; @@ -545,9 +545,10 @@ $labels['info'] = 'Information'; $labels['getfoldersize'] = 'Click to get folder size'; $labels['changesubscription'] = 'Click to change subscription'; $labels['foldertype'] = 'Folder Type'; -$labels['personalfolder'] = 'Private Folder'; -$labels['otherfolder'] = 'Other User\'s Folder'; -$labels['sharedfolder'] = 'Public Folder'; +$labels['personalfolder'] = 'Private Folder'; +$labels['otherfolder'] = 'Other User\'s Folder'; +$labels['sharedfolder'] = 'Public Folder'; +$labels['findfolders'] = 'Find folders'; $labels['sortby'] = 'Sort by'; $labels['sortasc'] = 'Sort ascending'; @@ -597,6 +598,8 @@ $labels['arialabelmailsearchform'] = 'Email message search form'; $labels['arialabelcontactsearchform'] = 'Contacts search form'; $labels['arialabelmailquicksearchbox'] = 'Email search input'; $labels['arialabelquicksearchbox'] = 'Search input'; +$labels['arialabelfoldersearchfilter'] = 'Folder listing filter'; +$labels['arialabelfoldersearchform'] = 'Folder search form'; $labels['arialabelfolderlist'] = 'Email folder selection'; $labels['arialabelmessagelist'] = 'Email Messages Listing'; $labels['arialabelmailpreviewframe'] = 'Message preview'; @@ -625,6 +628,7 @@ $labels['arialabelabookgroupoptions'] = 'Addressbook/group options'; $labels['arialabelpreferencesform'] = 'Preferences form'; $labels['arialabelidentityeditfrom'] = 'Identity edit form'; $labels['arialabelresonseeditfrom'] = 'Response edit form'; +$labels['arialabelsearchterms'] = 'Search terms'; $labels['helplistnavigation'] = 'List keyboard navigation'; $labels['helplistkeyboardnavigation'] = "Arrows up/down: Move row focus/selection. -- cgit v1.2.3