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:
parent
1ddc1c68dc
commit
6fb0be9cc0
9 changed files with 57 additions and 18 deletions
|
@ -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;
|
||||
|
|
|
@ -166,6 +166,7 @@
|
|||
margin-bottom: 0; }
|
||||
|
||||
img {
|
||||
margin: 10px 0;
|
||||
max-width: 100%; }
|
||||
|
||||
span.frame {
|
||||
|
|
|
@ -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');
|
||||
}
|
||||
|
|
|
@ -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
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
|
@ -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");
|
||||
|
|
Loading…
Add table
Reference in a new issue