From 0dd990839eb5da1af0e6671f7d7a815328560330 Mon Sep 17 00:00:00 2001 From: Thomas Müller Date: Mon, 8 Jun 2015 20:18:41 +0200 Subject: Disable search field in case there is no search available to the current selected app - fixes #14544 --- core/search/js/search.js | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'core') diff --git a/core/search/js/search.js b/core/search/js/search.js index cb3c3bcf7d7..4d0cf69eeba 100644 --- a/core/search/js/search.js +++ b/core/search/js/search.js @@ -94,6 +94,9 @@ /** * Do a search query and display the results * @param {string} query the search query + * @param inApps + * @param page + * @param size */ this.search = function(query, inApps, page, size) { if (query) { @@ -160,7 +163,8 @@ var summaryAndStatusHeight = 118; function isStatusOffScreen() { - return $searchResults.position() && ($searchResults.position().top + summaryAndStatusHeight > window.innerHeight); + return $searchResults.position() && + ($searchResults.position().top + summaryAndStatusHeight > window.innerHeight); } function placeStatus() { @@ -252,10 +256,11 @@ * Event handler for when scrolling the list container. * This appends/renders the next page of entries when reaching the bottom. */ - function onScroll(e) { + function onScroll() { if ($searchResults && lastQuery !== false && lastResults.length > 0) { var resultsBottom = $searchResults.offset().top + $searchResults.height(); - var containerBottom = $searchResults.offsetParent().offset().top + $searchResults.offsetParent().height(); + var containerBottom = $searchResults.offsetParent().offset().top + + $searchResults.offsetParent().height(); if ( resultsBottom < containerBottom * 1.2 ) { self.search(lastQuery, lastInApps, lastPage + 1); } @@ -289,7 +294,7 @@ event.preventDefault(); }); - $searchBox.on('search', function (event) { + $searchBox.on('search', function () { if($searchBox.val() === '') { if(self.hasFilter(getCurrentApp())) { self.getFilter(getCurrentApp())(''); @@ -359,6 +364,14 @@ placeStatus(); OC.Plugins.attach('OCA.Search', this); + + // hide search file if search is not enabled + if(self.hasFilter(getCurrentApp())) { + return; + } + if ($searchResults.length === 0) { + $searchBox.hide(); + } } }; OCA.Search = Search; -- cgit v1.2.3 From 0fde0e6569bbb69b032c684a8018a9b3699f43c6 Mon Sep 17 00:00:00 2001 From: Thomas Müller Date: Tue, 9 Jun 2015 12:39:40 +0200 Subject: Search results have to explicitly be added to the content area of the app --- apps/files/templates/index.php | 1 + core/search/js/search.js | 13 +++++-------- 2 files changed, 6 insertions(+), 8 deletions(-) (limited to 'core') diff --git a/apps/files/templates/index.php b/apps/files/templates/index.php index a068f306ac4..e825c300d31 100644 --- a/apps/files/templates/index.php +++ b/apps/files/templates/index.php @@ -6,6 +6,7 @@ + diff --git a/core/search/js/search.js b/core/search/js/search.js index 4d0cf69eeba..22769ee2e48 100644 --- a/core/search/js/search.js +++ b/core/search/js/search.js @@ -379,19 +379,16 @@ $(document).ready(function() { var $searchResults = $('#searchresults'); - if ($searchResults.length) { + if ($searchResults.length > 0) { $searchResults.addClass('hidden'); $('#app-content') .find('.viewcontainer').css('min-height', 'initial'); + $searchResults.load(OC.webroot + '/core/search/templates/part.results.html', function () { + OC.Search = new OCA.Search($('#searchbox'), $('#searchresults')); + }); } else { - $searchResults = $('