0
Fork 0
mirror of https://github.com/verdaccio/verdaccio.git synced 2025-02-17 23:45:29 -05:00

Fixed search UI bugs

This commit is contained in:
Brian Peacock 2014-05-08 14:47:24 -05:00
parent 1ddc1c68dc
commit 6fb0be9cc0
9 changed files with 57 additions and 18 deletions

View file

@ -120,7 +120,7 @@ h2 {
.name:before {
margin: 0;
margin-left: -10px;
.transformTransition(.15s);
.transformTransition(.2s);
}
&.open .name:before {
@ -156,6 +156,11 @@ h2 {
display: none;
}
.search-ajax {
display: block;
margin: 50px auto;
}
.no-results {
text-align: center;
margin: 50px 0;

View file

@ -166,6 +166,7 @@
margin-bottom: 0; }
img {
margin: 10px 0;
max-width: 100%; }
span.frame {

View file

@ -1,13 +1,16 @@
var $ = require('unopinionate').selector,
template = require('../entry.handlebars');
template = require('../entry.hbs');
$(function() {
'use strict';
var $form = $('#search-form'),
$input = $form.find('input'),
$searchResults = $("#search-results"),
$body = $('body'),
$clear = $form.find('.clear'),
request;
request,
currentResults;
$form.bind('submit keyup', function(e) {
e.preventDefault();
@ -21,17 +24,25 @@ $(function() {
[q ? 'addClass' : 'removeClass']('icon-cancel')
[!q ? 'addClass' : 'removeClass']('icon-search');
console.log(!!q);
if(q) {
if(request) {
request.abort();
}
if(!currentResults) {
$searchResults.html("<img class='search-ajax' src='/-/static/ajax.gif' alt='Spinner'/>");
}
request = $.getJSON('/-/search/' + q, function(results) {
currentResults = results;
if(results.length) {
var html = '';
$.each(results, function(i, package) {
html += template(package);
$.each(results, function(i, entry) {
html += template(entry);
});
$searchResults.html(html);
@ -42,6 +53,9 @@ $(function() {
});
}
else {
console.log("YAY");
request.abort();
currentResults = null;
$searchResults.html('');
$body.removeClass('state-search');
}

View file

@ -127,8 +127,8 @@ module.exports = function(config_hash) {
})
})*/
Handlebars.registerPartial('entry', fs.readFileSync(require.resolve('./GUI/entry.handlebars'), 'utf8'));
var template = Handlebars.compile(fs.readFileSync(require.resolve('./GUI/index.handlebars'), 'utf8'));
Handlebars.registerPartial('entry', fs.readFileSync(require.resolve('./GUI/entry.hbs'), 'utf8'));
var template = Handlebars.compile(fs.readFileSync(require.resolve('./GUI/index.hbs'), 'utf8'));
app.get('/', can('access'), function(req, res, next) {
res.setHeader('Content-Type', 'text/html');

BIN
lib/static/ajax.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

File diff suppressed because one or more lines are too long

View file

@ -108,15 +108,18 @@ require('./entry');
},{"./entry":2,"./search":4}],4:[function(require,module,exports){
var $ = require('unopinionate').selector,
template = require('../entry.handlebars');
template = require('../entry.hbs');
$(function() {
'use strict';
var $form = $('#search-form'),
$input = $form.find('input'),
$searchResults = $("#search-results"),
$body = $('body'),
$clear = $form.find('.clear'),
request;
request,
currentResults;
$form.bind('submit keyup', function(e) {
e.preventDefault();
@ -130,17 +133,25 @@ $(function() {
[q ? 'addClass' : 'removeClass']('icon-cancel')
[!q ? 'addClass' : 'removeClass']('icon-search');
console.log(!!q);
if(q) {
if(request) {
request.abort();
}
if(!currentResults) {
$searchResults.html("<img class='search-ajax' src='/-/static/ajax.gif' alt='Spinner'/>");
}
request = $.getJSON('/-/search/' + q, function(results) {
currentResults = results;
if(results.length) {
var html = '';
$.each(results, function(i, package) {
html += template(package);
$.each(results, function(i, entry) {
html += template(entry);
});
$searchResults.html(html);
@ -151,6 +162,9 @@ $(function() {
});
}
else {
console.log("YAY");
request.abort();
currentResults = null;
$searchResults.html('');
$body.removeClass('state-search');
}
@ -163,7 +177,7 @@ $(function() {
});
});
},{"../entry.handlebars":1,"unopinionate":14}],5:[function(require,module,exports){
},{"../entry.hbs":1,"unopinionate":14}],5:[function(require,module,exports){
"use strict";
/*globals Handlebars: true */
var base = require("./handlebars/base");