summaryrefslogtreecommitdiff
path: root/search.html
diff options
context:
space:
mode:
authorjules <jules@okfoc.us>2013-12-29 18:26:12 -0500
committerjules <jules@okfoc.us>2013-12-29 18:26:12 -0500
commit8829a743db3ec88182f3034d077971ba5c2a5cbf (patch)
treefd49dd91005f74e6211445da1bcc0ce58c5a860b /search.html
parentf483f2667690ddc89961cb163a870ce84196374e (diff)
dither picker
Diffstat (limited to 'search.html')
-rw-r--r--search.html141
1 files changed, 13 insertions, 128 deletions
diff --git a/search.html b/search.html
index f0fe7b0..cf070e5 100644
--- a/search.html
+++ b/search.html
@@ -4,20 +4,20 @@
<title>Photoblaster Search Widget</title>
<style type="text/css">
form { display: inline-block; }
- #images img { max-width: 200px; height: 90px; margin: 5px; }
+ #gallery-images img { max-width: 200px; height: 90px; margin: 5px; }
#result { height: 500px; }
#result img { max-height: 500px; }
</style>
<body>
-<div id="ui">
- <form id="search">
- <input type="text" id="search-query" value="duck bill">
- <button id="search">DUMP SEARCH</button>
+<div id="gallery">
+ <form id="gallery-search">
+ <input type="text" id="dumpfm-search-query" value="duck bill">
+ <button id="gallery-search">DUMP SEARCH</button>
</form>
- <button id="random">IM RANDOM</button>
- <span id="status"></span>
- <div id="images"></div>
+ <button id="gallery-random">IM RANDOM</button>
+ <span id="gallery-status"></span>
+ <div id="gallery-images"></div>
</div>
<div id="result">
@@ -27,133 +27,18 @@
</body>
<script type="text/javascript" src="js/vendor/jquery/jquery.min.js"></script>
+<script type="text/javascript" src="js/asdf.js"></script>
+<script type="text/javascript" src="js/gallery.js"></script>
<script type="text/javascript">
-var ui = {}
-ui.init = function(){
- ui.bind()
-}
-
-ui.bind = function(){
- $("#random").click(asdf.random)
- $("#search").submit(dumpfm.search)
- $(document).on("click", "#images img", gallery.choose)
- status("ready")
-}
-
-
-//
-// gallery .. the most basic image picker
-
-var gallery = {}
-gallery.load = function(ims){
- status("loading " + ims.length + " images");
- $("#images").empty();
- for (var i = 0; i < ims.length; i++) {
- gallery.image(ims[i]);
- }
-}
-
-gallery.image = function(im){
- var img = new Image ();
- img.onload = function(){
- $("#images").append(img);
- }
- try { img.src = im.url; }
- catch(e){ return; }
- if (img.complete) img.onload();
-}
+function status(s){ $("#status").html(s); console.log(s) }
gallery.choose = function(){
- $("#image").empty().append( $(this).clone() )
+ $("#result #image").empty().append( $(this).clone() )
$("#result #url").val(this.src);
}
-//
-// asdf .. asdf.us/im search api
-
-var asdf = { fetching: false }
-asdf.random = function (e){
- status("fetching random photoblasts")
- e.preventDefault();
- opt = {};
- opt.data = { random: 1 };
- opt.success = gallery.load;
- asdf.fetch(opt);
-}
-
-asdf.fetch = function (opt){
- if (asdf.fetching) return;
- asdf.fetching = true;
- var params = {random:1};
- $.ajax({
- 'url': "http://asdf.us/cgi-bin/im/list",
- 'data': params,
- 'dataType': "jsonp",
- 'success': function(urls){
- console.log(urls);
- asdf.fetching = false;
- opt.success && opt.success(urls)
- },
- 'error': opt.error || function(err){
- console.log(err);
- }
- });
-}
-
-//
-// dumpfm .. dump.fm/search api
-
-var dumpfm = {}
-dumpfm.search = function (e){
- e.preventDefault();
-
- var term = $("#search-query").val().toLowerCase()
- var rawTokens = term.split(" ")
- var tokens = []
- rawTokens.forEach(function(t){ if (t.length > 2) tokens.push(t) })
- if (tokens.length == 0 || tokens[0] == "undefined") {
- status("search query too small")
- } else {
- status("searching for '"+tokens.join(" and ")+"'")
- dumpfm.fetch({
- query: tokens.join("+"),
- success: gallery.load
- })
- }
-};
-
-dumpfm.fetch = function(opt){
- if (dumpfm.fetching) return;
- dumpfm.fetching = true;
- var params = {};
- $.ajax({
- 'url': "http://dump.fm/cmd/search/" + opt.query,
- 'data': params,
- 'dataType': "jsonp",
- 'success': function(urls){
- dumpfm.fetching = false;
- for (var i = 0, len = urls.length; i < len; i++) {
- var url = urls[i].url;
- if (url.match(/^\d+\//)) {
- url = "http://dump.fm/images/" + url;
- }
- else {
- url = "http://" + url;
- }
- urls[i].url = url;
- }
- opt.success && opt.success(urls)
- },
- 'error': opt.error || function(err){
- console.log(err);
- }
- });
-}
-
-function status(s){ $("#status").html(s); console.log(s) }
-
-$(ui.init);
+$(gallery.init);
</script>
</html>