mirror of
https://github.com/danbulant/api_docs
synced 2026-06-19 14:21:31 +00:00
Adds 'no results found' message to search
Signed-off-by: Christopher Rogers <chrissrogers@gmail.com>
This commit is contained in:
parent
5892700b5c
commit
535a3b0486
3 changed files with 50 additions and 12 deletions
|
|
@ -14,7 +14,7 @@
|
||||||
function populate () {
|
function populate () {
|
||||||
$('h1').each(function () {
|
$('h1').each(function () {
|
||||||
var title = $(this);
|
var title = $(this);
|
||||||
var body = title.nextUntil('h1');
|
var body = title.nextUntil('h1, .search-nothing-found');
|
||||||
var wrapper = $('<section id="section-' + title.prop('id') + '"></section>');
|
var wrapper = $('<section id="section-' + title.prop('id') + '"></section>');
|
||||||
|
|
||||||
title.after(wrapper.append(body));
|
title.after(wrapper.append(body));
|
||||||
|
|
@ -33,18 +33,30 @@
|
||||||
$('#input-search').on('keyup', search);
|
$('#input-search').on('keyup', search);
|
||||||
}
|
}
|
||||||
|
|
||||||
function search () {
|
function search (event) {
|
||||||
var sections = $('section, #toc .tocify-header');
|
var $sections = $('section, #toc .tocify-header');
|
||||||
|
var $content = $('.content');
|
||||||
|
var opts = { element: 'span', className: 'search-highlight' };
|
||||||
|
|
||||||
|
$content.unhighlight(opts);
|
||||||
|
|
||||||
|
// esc clears the field
|
||||||
|
if (event.keyCode === 27) this.value = '';
|
||||||
|
|
||||||
if (this.value) {
|
if (this.value) {
|
||||||
var items = index.search(this.value);
|
var items = index.search(this.value);
|
||||||
sections.hide();
|
$sections.hide();
|
||||||
items.forEach(function (item) {
|
if (items.length) {
|
||||||
$('#section-' + item.ref).show();
|
items.forEach(function (item) {
|
||||||
$('.tocify-item[data-unique=' + item.ref + ']').closest('.tocify-header').show();
|
$('#section-' + item.ref).show();
|
||||||
});
|
$('.tocify-item[data-unique=' + item.ref + ']').closest('.tocify-header').show();
|
||||||
|
});
|
||||||
|
$content.highlight(this.value, opts);
|
||||||
|
} else {
|
||||||
|
$sections.filter('.search-nothing-found').show();
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
sections.show();
|
$sections.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
// HACK trigger tocify height recalculation
|
// HACK trigger tocify height recalculation
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ under the License.
|
||||||
|
|
||||||
<%= stylesheet_link_tag :screen, media: :screen %>
|
<%= stylesheet_link_tag :screen, media: :screen %>
|
||||||
<%= stylesheet_link_tag :print, media: :print %>
|
<%= stylesheet_link_tag :print, media: :print %>
|
||||||
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
|
<script src="https://code.jquery.com/javascripts/jquery-1.11.0.min.js"></script>
|
||||||
<%= javascript_include_tag "all" %>
|
<%= javascript_include_tag "all" %>
|
||||||
|
|
||||||
<% if language_tabs %>
|
<% if language_tabs %>
|
||||||
|
|
@ -57,6 +57,11 @@ under the License.
|
||||||
<% current_page.data.includes && current_page.data.includes.each do |include| %>
|
<% current_page.data.includes && current_page.data.includes.each do |include| %>
|
||||||
<%= partial "includes/#{include}" %>
|
<%= partial "includes/#{include}" %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
<section class="search-nothing-found">
|
||||||
|
<aside class="search-info">
|
||||||
|
No results found
|
||||||
|
</aside>
|
||||||
|
</section>
|
||||||
</div>
|
</div>
|
||||||
<div class="dark-box">
|
<div class="dark-box">
|
||||||
<% if language_tabs %>
|
<% if language_tabs %>
|
||||||
|
|
|
||||||
|
|
@ -33,10 +33,16 @@ html, body {
|
||||||
-moz-osx-font-smoothing: grayscale;
|
-moz-osx-font-smoothing: grayscale;
|
||||||
@extend %default-font;
|
@extend %default-font;
|
||||||
background-color: $main-bg;
|
background-color: $main-bg;
|
||||||
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.highlight {
|
.search-highlight {
|
||||||
background-color: #FFFF88;
|
background-image: linear-gradient(to bottom right, #F7E633 0%, #F1D32F 100%);
|
||||||
|
padding: 2px;
|
||||||
|
margin: -2px;
|
||||||
|
border-radius: 4px;
|
||||||
|
border: 1px solid #F7E633;
|
||||||
|
text-shadow: 1px 1px 0 #666;
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
@ -180,6 +186,7 @@ html, body {
|
||||||
position: relative;
|
position: relative;
|
||||||
z-index: 10;
|
z-index: 10;
|
||||||
background-color: $main-bg;
|
background-color: $main-bg;
|
||||||
|
min-height: 100%;
|
||||||
|
|
||||||
padding-bottom: 1px; // prevent margin overflow
|
padding-bottom: 1px; // prevent margin overflow
|
||||||
|
|
||||||
|
|
@ -412,6 +419,20 @@ html, body {
|
||||||
aside.success:before {
|
aside.success:before {
|
||||||
@extend %icon-ok-sign;
|
@extend %icon-ok-sign;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
aside.search-info {
|
||||||
|
font-size: 1.2em;
|
||||||
|
margin-top: 0;
|
||||||
|
height: 52px;
|
||||||
|
&:before {
|
||||||
|
@extend %icon-search;
|
||||||
|
font-size: 1.2em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-nothing-found {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue