diff options
-rw-r--r-- | apps/files/templates/index.php | 1 | ||||
-rw-r--r-- | core/search/js/search.js | 36 |
2 files changed, 25 insertions, 12 deletions
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 @@ <?php print_unescaped($content['content']) ?> </div> <?php } ?> + <div id="searchresults" class="hidden"></div> </div><!-- closing app-content --> <!-- config hints for javascript --> diff --git a/core/search/js/search.js b/core/search/js/search.js index cb3c3bcf7d7..bc67eb0e154 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; @@ -366,19 +379,18 @@ $(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 = $('<div id="searchresults" class="hidden"/>'); - $('#app-content') - .append($searchResults) - .find('.viewcontainer').css('min-height', 'initial'); + _.defer(function() { + OC.Search = new OCA.Search($('#searchbox'), $('#searchresults')); + }); } - $searchResults.load(OC.webroot + '/core/search/templates/part.results.html', function () { - OC.Search = new OCA.Search($('#searchbox'), $('#searchresults')); - }); }); /** |