You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by cm...@apache.org on 2009/01/16 19:01:34 UTC
svn commit: r735071 - in /couchdb/trunk/share/www/script: futon.browse.js
jquery.suggest.js
Author: cmlenz
Date: Fri Jan 16 10:01:33 2009
New Revision: 735071
URL: http://svn.apache.org/viewvc?rev=735071&view=rev
Log:
Fix for autocompletion in "Save as" dialog in Futon to work with the changed `_all_docs` collation.
Modified:
couchdb/trunk/share/www/script/futon.browse.js
couchdb/trunk/share/www/script/jquery.suggest.js
Modified: couchdb/trunk/share/www/script/futon.browse.js
URL: http://svn.apache.org/viewvc/couchdb/trunk/share/www/script/futon.browse.js?rev=735071&r1=735070&r2=735071&view=diff
==============================================================================
--- couchdb/trunk/share/www/script/futon.browse.js [utf-8] (original)
+++ couchdb/trunk/share/www/script/futon.browse.js [utf-8] Fri Jan 16 10:01:33 2009
@@ -331,12 +331,14 @@
load: function(elem) {
$("#input_docid", elem).val(designDocId).suggest(function(text, callback) {
db.allDocs({
- limit: 10, startkey: "_design/" + text,
- endkey: "_design/" + text + "ZZZZ",
+ limit: 10, startkey: "_design/" + text, endkey: "_design0",
success: function(docs) {
var matches = [];
for (var i = 0; i < docs.rows.length; i++) {
- matches[i] = docs.rows[i].id.substr(8);
+ var docName = docs.rows[i].id.substr(8);
+ if (docName.substr(0, text.length) == text) {
+ matches[i] = docName;
+ }
}
callback(matches);
}
@@ -349,10 +351,9 @@
var matches = [];
if (!doc.views) return;
for (var viewName in doc.views) {
- if (!doc.views.hasOwnProperty(viewName) || !viewName.match("^" + text)) {
- continue;
+ if (viewName.substr(0, text.length) == text) {
+ matches.push(viewName);
}
- matches.push(viewName);
}
callback(matches);
}
Modified: couchdb/trunk/share/www/script/jquery.suggest.js
URL: http://svn.apache.org/viewvc/couchdb/trunk/share/www/script/jquery.suggest.js?rev=735071&r1=735070&r2=735071&view=diff
==============================================================================
--- couchdb/trunk/share/www/script/jquery.suggest.js [utf-8] (original)
+++ couchdb/trunk/share/www/script/jquery.suggest.js [utf-8] Fri Jan 16 10:01:33 2009
@@ -38,7 +38,6 @@
if ($.inArray(e.keyCode, [38, 40]) != -1 ||
(dropdown.is(":visible") && (e.keyCode == 27 ||
($.inArray(e.keyCode, [9, 13]) != -1 && getSelection())))) {
- e.preventDefault(); e.stopPropagation();
switch(e.keyCode) {
case 38: // up
moveUp();
@@ -49,11 +48,13 @@
case 9: // tab
case 13: // return
commit();
+ if (e.keyCode == 9) return true;
break;
case 27: // escape
dropdown.hide();
break;
}
+ e.preventDefault(); e.stopPropagation();
return false;
} else {
timer = setTimeout(function() { suggest() }, options.delay);
@@ -120,11 +121,12 @@
}
$.fn.suggest = function(callback, options) {
- options = options || {};
- options.callback = callback;
- options.delay = options.delay || 100;
- options.dropdownClass = options.dropdownClass || "suggest-dropdown";
- options.minChars = options.minChars || 1;
+ options = $.extend({
+ callback: callback,
+ delay: 100,
+ dropdownClass: "suggest-dropdown",
+ minChars: 1
+ }, options || {});
return this.each(function() {
suggest(this, options);
});