diff options
author | Trent Richardson <trentdrichardson@gmail.com> | 2013-07-30 13:10:37 -0400 |
---|---|---|
committer | Trent Richardson <trentdrichardson@gmail.com> | 2013-07-30 13:10:37 -0400 |
commit | 80d0ffc1ba2ab87f562f0b94dc6a0e5b24a0bee9 (patch) | |
tree | 210680dfa864cf7c29b30a4b6bc4a7fc588976b2 /dist/jquery-ui-sliderAccess.js | |
parent | 724b78e36a3b375ddeb7b1718890deefb32abf8f (diff) | |
download | jQuery-Timepicker-Addon-80d0ffc1ba2ab87f562f0b94dc6a0e5b24a0bee9.zip jQuery-Timepicker-Addon-80d0ffc1ba2ab87f562f0b94dc6a0e5b24a0bee9.tar.gz jQuery-Timepicker-Addon-80d0ffc1ba2ab87f562f0b94dc6a0e5b24a0bee9.tar.bz2 |
version number in docs, js now gruntified, add sliderAccess to dist
Diffstat (limited to 'dist/jquery-ui-sliderAccess.js')
-rw-r--r-- | dist/jquery-ui-sliderAccess.js | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/dist/jquery-ui-sliderAccess.js b/dist/jquery-ui-sliderAccess.js new file mode 100644 index 0000000..b075c66 --- /dev/null +++ b/dist/jquery-ui-sliderAccess.js @@ -0,0 +1,91 @@ +/* + * jQuery UI Slider Access + * By: Trent Richardson [http://trentrichardson.com] + * Version 0.3 + * Last Modified: 10/20/2012 + * + * Copyright 2011 Trent Richardson + * Dual licensed under the MIT and GPL licenses. + * http://trentrichardson.com/Impromptu/GPL-LICENSE.txt + * http://trentrichardson.com/Impromptu/MIT-LICENSE.txt + * + */ + (function($){ + + $.fn.extend({ + sliderAccess: function(options){ + options = options || {}; + options.touchonly = options.touchonly !== undefined? options.touchonly : true; // by default only show it if touch device + + if(options.touchonly === true && !("ontouchend" in document)){ + return $(this); + } + + return $(this).each(function(i,obj){ + var $t = $(this), + o = $.extend({},{ + where: 'after', + step: $t.slider('option','step'), + upIcon: 'ui-icon-plus', + downIcon: 'ui-icon-minus', + text: false, + upText: '+', + downText: '-', + buttonset: true, + buttonsetTag: 'span', + isRTL: false + }, options), + $buttons = $('<'+ o.buttonsetTag +' class="ui-slider-access">'+ + '<button data-icon="'+ o.downIcon +'" data-step="'+ (o.isRTL? o.step : o.step*-1) +'">'+ o.downText +'</button>'+ + '<button data-icon="'+ o.upIcon +'" data-step="'+ (o.isRTL? o.step*-1 : o.step) +'">'+ o.upText +'</button>'+ + '</'+ o.buttonsetTag +'>'); + + $buttons.children('button').each(function(j, jobj){ + var $jt = $(this); + $jt.button({ + text: o.text, + icons: { primary: $jt.data('icon') } + }) + .click(function(e){ + var step = $jt.data('step'), + curr = $t.slider('value'), + newval = curr += step*1, + minval = $t.slider('option','min'), + maxval = $t.slider('option','max'), + slidee = $t.slider("option", "slide") || function(){}, + stope = $t.slider("option", "stop") || function(){}; + + e.preventDefault(); + + if(newval < minval || newval > maxval){ + return; + } + + $t.slider('value', newval); + + slidee.call($t, null, { value: newval }); + stope.call($t, null, { value: newval }); + }); + }); + + // before or after + $t[o.where]($buttons); + + if(o.buttonset){ + $buttons.removeClass('ui-corner-right').removeClass('ui-corner-left').buttonset(); + $buttons.eq(0).addClass('ui-corner-left'); + $buttons.eq(1).addClass('ui-corner-right'); + } + + // adjust the width so we don't break the original layout + var bOuterWidth = $buttons.css({ + marginLeft: ((o.where === 'after' && !o.isRTL) || (o.where === 'before' && o.isRTL)? 10:0), + marginRight: ((o.where === 'before' && !o.isRTL) || (o.where === 'after' && o.isRTL)? 10:0) + }).outerWidth(true) + 5; + var tOuterWidth = $t.outerWidth(true); + $t.css('display','inline-block').width(tOuterWidth-bOuterWidth); + }); + } + }); + +})(jQuery);
\ No newline at end of file |