console
;(function( $ ) {
var resultTemplate = _.template($( "#resultTemplate" ).html());
PubSub.subscribe( "/search/tags", function( e, tags ) {
$( "#lastQuery" )
.html("<p>Searched for:<strong>" + tags + "</strong></p>");
});
PubSub.subscribe( "/search/resultSet", function( e, results ){
$( "#searchResults" ).empty().append(resultTemplate( results ));
});
$( "#flickrSearch" ).submit( function( e ) {
e.preventDefault();
var tags = $(this).find( "#query").val();
if ( !tags ){
return;
}
PubSub.publish( "/search/tags", [ $.trim(tags) ]);
});
PubSub.subscribe("/search/tags", function( e, tags ) {
$.getJSON( "http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?", {
tags: tags,
tagmode: "any",
format: "json"
},
function( data ){
if( !data.items.length ) {
return;
}
$.publish( "/search/resultSet", { items: data.items } );
});
});
})( jQuery );
<form id="flickrSearch">
<input type="text" name="tag" id="query"/>
<input type="submit" name="submit" value="submit"/>
</form>
<div id="lastQuery"></div>
<ol id="searchResults"></ol>
<script id="resultTemplate" type="text/html">
<% _.each(items, function( item ){ %>
<li><img src="<%= item.media.m %>"/></li>
<% });%>
</script>