summaryrefslogtreecommitdiffstats
path: root/search/js
diff options
context:
space:
mode:
authorJörn Friedrich Dreyer <jfd@butonic.de>2013-07-31 22:24:52 +0200
committerJörn Friedrich Dreyer <jfd@butonic.de>2013-09-17 18:40:51 +0200
commitb40925ae1747ae44a52fb1f8dcf7645d022c6f13 (patch)
tree2f385e6b79de01305aa718c197fdc3c85e5ff4cd /search/js
parent9d18e16c77e8c2690dd23dd19ca1f8e1968161c8 (diff)
downloadnextcloud-server-b40925ae1747ae44a52fb1f8dcf7645d022c6f13.tar.gz
nextcloud-server-b40925ae1747ae44a52fb1f8dcf7645d022c6f13.zip
initial scrollto implementation:
use places/folder icon, move link construction to JS, only show icon on hover, use 'searchresult' as css class name, add filter/unfilter methods, highlight searched files in current filelist only filter when correct FileList is present
Diffstat (limited to 'search/js')
-rw-r--r--search/js/result.js38
1 files changed, 32 insertions, 6 deletions
diff --git a/search/js/result.js b/search/js/result.js
index 78fa8efc8e9..78d9149f220 100644
--- a/search/js/result.js
+++ b/search/js/result.js
@@ -8,15 +8,23 @@ OC.search.catagorizeResults=function(results){
types[type].push(results[i]);
}
return types;
-}
+};
OC.search.hide=function(){
$('#searchresults').hide();
if($('#searchbox').val().length>2){
$('#searchbox').val('');
+ if (FileList && typeof FileList.unfilter === 'function') { //TODO add hook system
+ FileList.unfilter();
+ }
};
-}
+ if ($('#searchbox').val().length === 0) {
+ if (FileList && typeof FileList.unfilter === 'function') { //TODO add hook system
+ FileList.unfilter();
+ }
+ }
+};
OC.search.showResults=function(results){
- if(results.length==0){
+ if(results.length === 0){
return;
}
if(!OC.search.showResults.loaded){
@@ -30,6 +38,9 @@ OC.search.showResults=function(results){
});
$(document).click(function(event){
OC.search.hide();
+ if (FileList && typeof FileList.unfilter === 'function') { //TODO add hook system
+ FileList.unfilter();
+ }
});
OC.search.lastResults=results;
OC.search.showResults(results);
@@ -46,12 +57,27 @@ OC.search.showResults=function(results){
var row=$('#searchresults tr.template').clone();
row.removeClass('template');
row.addClass('result');
- if (i == 0){
+ if (i === 0){
row.children('td.type').text(name);
}
row.find('td.result a').attr('href',type[i].link);
row.find('td.result div.name').text(type[i].name);
row.find('td.result div.text').text(type[i].text);
+ if (type[i].container) {
+ var td = row.find('td.container');
+ td.append('<a><img></img></a>');
+ td.find('img').attr('src',OC.imagePath('core','places/folder'));
+ var containerName = OC.basename(type[i].container);
+ if (containerName === '') {
+ containerName = '/';
+ }
+ var containerLink = OC.linkTo('files','index.php')
+ +'?dir='+encodeURIComponent(type[i].container)
+ +'&scrollto='+encodeURIComponent(type[i].name);
+ row.find('td.container a')
+ .attr('href',containerLink)
+ .attr('title',t('core','Show in {folder}',{folder: containerName}));
+ }
row.data('index',index);
index++;
if(OC.search.customResults[name]){//give plugins the ability to customize the entries in here
@@ -62,7 +88,7 @@ OC.search.showResults=function(results){
}
}
}
-}
+};
OC.search.showResults.loaded=false;
OC.search.renderCurrent=function(){
@@ -71,4 +97,4 @@ OC.search.renderCurrent=function(){
$('#searchresults tr.result').removeClass('current');
$(result).addClass('current');
}
-}
+};