[dw-free] Revamp /update
[commit: http://hg.dwscoalition.org/dw-free/rev/7f6e577ec7c3]
http://bugs.dwscoalition.org/show_bug.cgi?id=2524
Icon browser icon show in upload order.
Patch by
fu.
Files modified:
http://bugs.dwscoalition.org/show_bug.cgi?id=2524
Icon browser icon show in upload order.
Patch by
Files modified:
- htdocs/js/jquery.iconselector.js
- htdocs/tools/endpoints/getuserpics.bml
- views/dev/tests/iconselector.js
--------------------------------------------------------------------------------
diff -r cf3b5f17e1f8 -r 7f6e577ec7c3 htdocs/js/jquery.iconselector.js
--- a/htdocs/js/jquery.iconselector.js Tue Nov 29 21:23:34 2011 +0800
+++ b/htdocs/js/jquery.iconselector.js Tue Nov 29 22:02:20 2011 +0800
@@ -208,7 +208,9 @@
var $iconslist = $("<ul id='iconselector_icons_list'></ul>");
- $.each(data.pics, function(id, icon) {
+ var pics = data.pics;
+ $.each(data.ids, function(index,id) {
+ var icon = pics[id];
var idstring = "iconselector_item_"+id;
var $img = $("<img />").attr( { src: icon.url, alt: icon.alt, height: icon.height, width: icon.width } ).wrap("<div class='icon_image'></div>").parent();
diff -r cf3b5f17e1f8 -r 7f6e577ec7c3 htdocs/tools/endpoints/getuserpics.bml
--- a/htdocs/tools/endpoints/getuserpics.bml Tue Nov 29 21:23:34 2011 +0800
+++ b/htdocs/tools/endpoints/getuserpics.bml Tue Nov 29 22:02:20 2011 +0800
@@ -50,7 +50,7 @@
};
}
- $upics{ids} = [keys %{$upics{pics}}];
+ $upics{ids} = [sort { $a <=> $b } keys %{$upics{pics}}];
sleep 1 if $LJ::IS_DEV_SERVER;
return JSON::objToJson(\%upics);
diff -r cf3b5f17e1f8 -r 7f6e577ec7c3 views/dev/tests/iconselector.js
--- a/views/dev/tests/iconselector.js Tue Nov 29 21:23:34 2011 +0800
+++ b/views/dev/tests/iconselector.js Tue Nov 29 22:02:20 2011 +0800
@@ -10,31 +10,41 @@
});
module( "jquery" );
-test( "initialize iconselector", 4, function() {
+test( "initialize iconselector", 6, function() {
// setup callback
var server = sinon.sandbox.useFakeServer();
var icons = {
"pics": {},
- "ids" : []
+ "ids" : [ 1, 5 ]
};
var data = [
{
+ "id" : 5,
+ "url" : "/img/search.gif",
+ "state" : "A",
+ "width" : 16,
+ "height" : 16,
+ "alt" : "search",
+ "comment" : "from repo",
+ "keywords": [ "search" ]
+ },
+ {
"id" : 1,
"url" : "/img/ajax-loader.gif",
"state" : "A",
"width" : 16,
"height" : 16,
"alt" : "swirling loading icon",
- "comment": "by ...",
+ "comment": "from repo",
"keywords": ["loading", "animated"]
}
];
var keywords = [ "" ];
+ icons.ids = [ 1, 5 ];
for ( var i = 0; i < data.length; i++ ) {
var icon = data[i];
icons.pics[icon.id] = icon;
- icons.ids.push( icon.id )
for ( var k = 0; k < icon.keywords.length; k++ ) {
keywords.push(icon.keywords[k]);
@@ -63,6 +73,12 @@
$("#browse-icons").click();
server.respond();
+ // check the icon order
+ var $li = $("#iconselector_icons li");
+ $.each(icons.ids, function(index,id) {
+ equals($li.eq(index).attr("id"), "iconselector_item_"+id, "matches expected order")
+ })
+
$("#iconselector_icons .keyword:contains('animated')").click();
equals( $select.val(), "", "one click doesn't do anything");
--------------------------------------------------------------------------------
