diff options
author | René 'Necoro' Neumann <necoro@necoro.net> | 2010-07-27 01:16:48 +0200 |
---|---|---|
committer | René 'Necoro' Neumann <necoro@necoro.net> | 2010-07-27 01:16:48 +0200 |
commit | 98e83d8ffc9cc31986fb2672140aed005480cddb (patch) | |
tree | 271dbca8f1f75d8c7de812e35a8a5af7eb6ea7cc /static/js | |
parent | f3ce6573eeae4a62ed1fc771de16574e246dbac5 (diff) | |
download | kosten-98e83d8ffc9cc31986fb2672140aed005480cddb.tar.gz kosten-98e83d8ffc9cc31986fb2672140aed005480cddb.tar.bz2 kosten-98e83d8ffc9cc31986fb2672140aed005480cddb.zip |
Add category manipulation support
Diffstat (limited to '')
-rw-r--r-- | static/js/cats.js | 39 | ||||
-rw-r--r-- | static/js/lib.js | 6 |
2 files changed, 45 insertions, 0 deletions
diff --git a/static/js/cats.js b/static/js/cats.js new file mode 100644 index 0000000..e65cc28 --- /dev/null +++ b/static/js/cats.js @@ -0,0 +1,39 @@ +var counter = 0; + +$(document).ready(function(){ + $("li > span").click(function(){ + var span = $(this); + var img = $("img#add").copy().attr('src', function() { return this.src.replace("add", "undo"); }); + + img.click(function(){ + var input = $(this).prev(); + + $(this).remove(); + input.fadeOut("slow", + function() { + span.toggle(); + }); + + input.val(span.text()); + }); + + span.toggle(); + $(this).next().fadeIn("slow", function() {$(this).after(img); }); + }); + + $("img#add").click(function(){ + var input = $("input#new").copy(); + var img = $(this).copy().attr('src', function() { return this.src.replace("add", "minus"); }); + img.click(function() { $(this).parent().fadeOut("slow", function() { $(this).remove(); }) }); + + input.attr('name', function() { return this.name + counter; }) + .removeAttr('style') + .insertBefore($(this).parent()) + .wrap("<li />"); + + input.parent().append(img) + .hide().fadeIn("slow", function (){ input.focus(); }); + + counter = counter + 1; + }); +}) diff --git a/static/js/lib.js b/static/js/lib.js new file mode 100644 index 0000000..43b0dc8 --- /dev/null +++ b/static/js/lib.js @@ -0,0 +1,6 @@ +jQuery.fn.extend({ + // copies an object and removes 'id' and 'class' values + copy: function() { + return this.clone().removeAttr("id").removeAttr("class"); + } +}); |