# HG changeset patch # User Sverre Rabbelier # Date 1236457618 0 # Node ID 718744a10daa64021acc9ad8e016edbce91b8190 # Parent 711c8dcab67ee4e92c34058da0ff8d2400799b48 Added the spin jquery plugin Patch by: "Mario Ferraro" Reviewed by: to-be-reviewed diff -r 711c8dcab67e -r 718744a10daa app/jquery/jquery-spin-1.0.2.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app/jquery/jquery-spin-1.0.2.js Sat Mar 07 20:26:58 2009 +0000 @@ -0,0 +1,75 @@ +/** + * jquery.spin-button + * (c) 2008 Semooh (http://semooh.jp/) + * + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + **/ +(function($){ + $.fn.extend({ + spin: function(opt){ + return this.each(function(){ + opt = $.extend({ + imageBasePath: '/soc/content/images/', + spinBtnImage: 'spin-button.png', + spinUpImage: 'spin-up.png', + spinDownImage: 'spin-down.png', + interval: 1, + max: null, + min: null, + timeInterval: 500, + timeBlink: 200 + }, opt || {}); + + var txt = $(this); + + var spinBtnImage = opt.imageBasePath+opt.spinBtnImage; + var btnSpin = new Image(); + btnSpin.src = spinBtnImage; + var spinUpImage = opt.imageBasePath+opt.spinUpImage; + var btnSpinUp = new Image(); + btnSpinUp.src = spinUpImage; + var spinDownImage = opt.imageBasePath+opt.spinDownImage; + var btnSpinDown = new Image(); + btnSpinDown.src = spinDownImage; + + var btn = $(document.createElement('img')); + btn.attr('src', spinBtnImage); + btn.css({cursor: 'pointer', verticalAlign: 'bottom', padding: 0, margin: 0}); + txt.after(btn); + txt.css({marginRight:0, paddingRight:0}); + + function spin(vector){ + var val = txt.val(); + if(!isNaN(val)){ + val = parseFloat(val) + (vector*opt.interval); + if(opt.min!=null && valopt.max) val=opt.max; + if(val != txt.val()){ + txt.val(val); + txt.change(); + src = (vector > 0 ? spinUpImage : spinDownImage); + btn.attr('src', src); + if(opt.timeBlink pos ? 1 : -1); + (function(){ + spin(vector); + var tk = setTimeout(arguments.callee, opt.timeInterval); + $(document).one('mouseup', function(){ + clearTimeout(tk); btn.attr('src', spinBtnImage); + }); + })(); + return false; + }); + }); + } + }); +})(jQuery); diff -r 711c8dcab67e -r 718744a10daa app/soc/content/images/spin-button.png Binary file app/soc/content/images/spin-button.png has changed diff -r 711c8dcab67e -r 718744a10daa app/soc/content/images/spin-down.png Binary file app/soc/content/images/spin-down.png has changed diff -r 711c8dcab67e -r 718744a10daa app/soc/content/images/spin-up.png Binary file app/soc/content/images/spin-up.png has changed diff -r 711c8dcab67e -r 718744a10daa app/soc/templates/soc/base.html --- a/app/soc/templates/soc/base.html Sat Mar 07 19:46:18 2009 +0000 +++ b/app/soc/templates/soc/base.html Sat Mar 07 20:26:58 2009 +0000 @@ -50,6 +50,9 @@ {% if uses_jq_purr %} {% endif %} + {% if uses_jq_spin %} + + {% endif %} {% if uses_jq_bt %} {% endif %} diff -r 711c8dcab67e -r 718744a10daa app/soc/views/helper/params.py --- a/app/soc/views/helper/params.py Sat Mar 07 19:46:18 2009 +0000 +++ b/app/soc/views/helper/params.py Sat Mar 07 20:26:58 2009 +0000 @@ -56,6 +56,7 @@ 'jq_bgiframe', 'jq_bt', 'jq_purr', + 'jq_spin', 'jq_datetimepicker', 'jq_progressbar', 'jq_thickbox', @@ -236,7 +237,7 @@ new_params['js_uses_list'] = ['jq', 'menu'] new_params['js_uses_show'] = ['jq', 'menu'] new_params['js_uses_edit'] = ['jq', 'menu', 'tinymce', 'jq_bt', - 'jq_purr','jq_autocomplete'] + 'jq_purr','jq_spin','jq_autocomplete'] new_params['error_public'] = 'soc/%(module_name)s/error.html' % params new_params['error_export'] = new_params['error_public']