Skip to content

Commit

Permalink
improve autocomplete for CDC selector
Browse files Browse the repository at this point in the history
  • Loading branch information
Gargaj committed Nov 22, 2013
1 parent e718d04 commit 3bc78c5
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 7 deletions.
8 changes: 7 additions & 1 deletion account.php
Expand Up @@ -679,7 +679,13 @@ function updateAvatar()
for (var i=1; i<10; i++)
{
if (!$("cdc"+i)) continue;
new Autocompleter($("cdc"+i), {"dataUrl":"./ajax_prods.php"});
new Autocompleter($("cdc"+i), {
"dataUrl":"./ajax_prods.php",
"width":320,
"processRow": function(item) {
return item.name.escapeHTML() + " <small class='group'>" + item.groupName.escapeHTML() + "</small>";
}
});
}
});
//-->
Expand Down
12 changes: 7 additions & 5 deletions ajax_prods.php
Expand Up @@ -4,21 +4,23 @@
header("Content-type: application/json; charset=utf-8");

$sql = new SQLSelect();
$sql->AddField("id");
$sql->AddField("name");
$sql->AddField("prods.id");
$sql->AddField("prods.name");
$sql->AddField("groups.name as groupName");
$sql->AddJoin("left","groups","groups.id = prods.group1");
$sql->AddTable("prods");

$r = array();
if ($_POST["search"])
{
$sql->AddWhere(sprintf_esc("name like '%%%s%%'",_like($_POST["search"])));
$sql->AddOrder(sprintf_esc("if(name='%s',1,2), views desc, name",$_POST["search"]));
$sql->AddWhere(sprintf_esc("prods.name like '%%%s%%'",_like($_POST["search"])));
$sql->AddOrder(sprintf_esc("if(prods.name='%s',1,2), prods.views desc, prods.name",$_POST["search"]));
$sql->SetLimit(10);
$r = SQLLib::selectRows( $sql->GetQuery() );
}
else if ($_POST["id"])
{
$sql->AddWhere(sprintf_esc("id = %d",$_POST["id"]));
$sql->AddWhere(sprintf_esc("prods.id = %d",$_POST["id"]));
$sql->SetLimit(1);
$r = SQLLib::selectRows( $sql->GetQuery() );
}
Expand Down
3 changes: 2 additions & 1 deletion autocompleter.js
Expand Up @@ -6,6 +6,7 @@ Autocompleter = Class.create({
keyValue: true,
dropdown: false,
lockSelect: true,
width: null,
},options || {});
var instance = this;

Expand Down Expand Up @@ -204,7 +205,7 @@ Autocompleter = Class.create({
instance.autoCompleteList.setStyle({
"top" :(instance.searchBox.cumulativeOffset().top + instance.searchBox.getLayout().get("height") + 4) + "px",
"left":instance.searchBox.cumulativeOffset().left + "px",
"width":instance.searchBox.getLayout().get("width") + "px",
"width":(instance.options.width == null ? instance.searchBox.getLayout().get("width") : parseInt(instance.options.width,10)) + "px",
});
results.each(function(item){
var func = instance.options.processRow || function(item) { return item.name.escapeHTML() };
Expand Down

0 comments on commit 3bc78c5

Please sign in to comment.