diff options
author | Trent Richardson <trentdrichardson@gmail.com> | 2012-10-03 10:50:52 -0400 |
---|---|---|
committer | Trent Richardson <trentdrichardson@gmail.com> | 2012-10-03 10:50:52 -0400 |
commit | f00868af4c6ce6e6f55e983d4cd0c1f779a973d8 (patch) | |
tree | 0e239fa023d843a65d58eb902b9e796302bc7378 | |
parent | a623c563b33191a5302db989e9e1faa554e92ce8 (diff) | |
download | jQuery-Timepicker-Addon-f00868af4c6ce6e6f55e983d4cd0c1f779a973d8.zip jQuery-Timepicker-Addon-f00868af4c6ce6e6f55e983d4cd0c1f779a973d8.tar.gz jQuery-Timepicker-Addon-f00868af4c6ce6e6f55e983d4cd0c1f779a973d8.tar.bz2 |
RTL support
34 files changed, 109 insertions, 50 deletions
diff --git a/jquery-ui-sliderAccess.js b/jquery-ui-sliderAccess.js index 4c96bd5..be514d1 100644 --- a/jquery-ui-sliderAccess.js +++ b/jquery-ui-sliderAccess.js @@ -31,11 +31,12 @@ upText: '+', downText: '-', buttonset: true, - buttonsetTag: 'span' + buttonsetTag: 'span', + isRTL: false }, options), $buttons = $('<'+ o.buttonsetTag +' class="ui-slider-access">'+ - '<button data-icon="'+ o.downIcon +'" data-step="-'+ o.step +'">'+ o.downText +'</button>'+ - '<button data-icon="'+ o.upIcon +'" data-step="'+ o.step +'">'+ o.upText +'</button>'+ + '<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){ @@ -73,8 +74,8 @@ // adjust the width so we don't break the original layout var bOuterWidth = $buttons.css({ - marginLeft: (o.where == 'after'? 10:0), - marginRight: (o.where == 'before'? 10:0) + 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); diff --git a/jquery-ui-timepicker-addon.js b/jquery-ui-timepicker-addon.js index ecedae9..80630a3 100644 --- a/jquery-ui-timepicker-addon.js +++ b/jquery-ui-timepicker-addon.js @@ -406,7 +406,8 @@ size = 100 * gridSize[litem] * o[litem+'Grid'] / (max[litem] - o[litem+'Min']);
$tp.find('.ui_tpicker_'+litem+' table').css({
width: size + "%",
- marginLeft: (size / (-2 * gridSize[litem])) + "%",
+ marginLeft: o.isRTL? '0' : ((size / (-2 * gridSize[litem])) + "%"),
+ marginRight: o.isRTL? ((size / (-2 * gridSize[litem])) + "%") : '0',
borderCollapse: 'collapse'
}).find("td").click(function(e){
var $t = $(this),
@@ -487,7 +488,10 @@ // slideAccess integration: http://trentrichardson.com/2011/11/11/jquery-ui-sliders-and-touch-accessibility/
if (this._defaults.addSliderAccess) {
- var sliderAccessArgs = this._defaults.sliderAccessArgs;
+ var sliderAccessArgs = this._defaults.sliderAccessArgs,
+ rtl = this._defaults.isRTL;
+ sliderAccessArgs.isRTL = rtl;
+
setTimeout(function() { // fix for inline mode
if ($tp.find('.ui-slider-access').length === 0) {
$tp.find('.ui-slider:visible').sliderAccess(sliderAccessArgs);
@@ -498,14 +502,12 @@ $tp.find('table:visible').each(function() {
var $g = $(this),
oldWidth = $g.outerWidth(),
- oldMarginLeft = $g.css('marginLeft').toString().replace('%', ''),
+ oldMarginLeft = $g.css(rtl? 'marginRight':'marginLeft').toString().replace('%', ''),
newWidth = oldWidth - sliderAccessWidth,
- newMarginLeft = ((oldMarginLeft * newWidth) / oldWidth) + '%';
-
- $g.css({
- width: newWidth,
- marginLeft: newMarginLeft
- });
+ newMarginLeft = ((oldMarginLeft * newWidth) / oldWidth) + '%',
+ css = { width: newWidth, marginRight: 0, marginLeft: 0 };
+ css[rtl? 'marginRight':'marginLeft'] = newMarginLeft;
+ $g.css(css);
});
}
}
@@ -816,14 +818,15 @@ // slider methods
slider: {
create: function(tp_inst, obj, unit, val, min, max, step){
+ var rtl = tp_inst._defaults.isRTL; // if rtl go -60->0 instead of 0->60
return obj.prop('slide', null).slider({
orientation: "horizontal",
- value: val,
- min: min,
- max: max,
+ value: rtl? val*-1 : val,
+ min: rtl? max*-1 : min,
+ max: rtl? min*-1 : max,
step: step,
slide: function(event, ui) {
- tp_inst.control.value(tp_inst, $(this), ui.value);
+ tp_inst.control.value(tp_inst, $(this), rtl? ui.value*-1:ui.value);
tp_inst._onTimeChange();
},
stop: function(event, ui) {
@@ -832,11 +835,34 @@ });
},
options: function(tp_inst, obj, opts, val){
+ if(tp_inst._defaults.isRTL){
+ if(typeof(opts) == 'string'){
+ if(opts == 'min' || opts == 'max'){
+ if(val !== undefined)
+ return obj.slider(opts, val*-1);
+ return Math.abs(obj.slider(opts));
+ }
+ return obj.slider(opts);
+ }
+ var min = opts.min,
+ max = opts.max;
+ opts.min = opts.max = null;
+ if(min !== undefined)
+ opts.max = min * -1;
+ if(max !== undefined)
+ opts.min = max * -1;
+ return obj.slider(opts);
+ }
if(typeof(opts) == 'string' && val !== undefined)
return obj.slider(opts, val);
return obj.slider(opts);
},
value: function(tp_inst, obj, val){
+ if(tp_inst._defaults.isRTL){
+ if(val !== undefined)
+ return obj.slider('value', val*-1);
+ return Math.abs(obj.slider('value'));
+ }
if(val !== undefined)
return obj.slider('value', val);
return obj.slider('value');
diff --git a/localization/jquery-ui-timepicker-af.js b/localization/jquery-ui-timepicker-af.js index da922d5..0ad850a 100644 --- a/localization/jquery-ui-timepicker-af.js +++ b/localization/jquery-ui-timepicker-af.js @@ -14,7 +14,8 @@ timeFormat: 'hh:mm tt',
amNames: ['AM', 'A'],
pmNames: ['PM', 'P'],
- ampm: false
+ ampm: false,
+ isRTL: false
};
$.timepicker.setDefaults($.timepicker.regional['af']);
})(jQuery);
diff --git a/localization/jquery-ui-timepicker-bg.js b/localization/jquery-ui-timepicker-bg.js index 9b2bf42..1ccf6db 100644 --- a/localization/jquery-ui-timepicker-bg.js +++ b/localization/jquery-ui-timepicker-bg.js @@ -14,7 +14,8 @@ timeFormat: 'hh:mm tt', amNames: ['AM', 'A'], pmNames: ['PM', 'P'], - ampm: false + ampm: false, + isRTL: false }; $.timepicker.setDefaults($.timepicker.regional['bg']); })(jQuery);
\ No newline at end of file diff --git a/localization/jquery-ui-timepicker-ca.js b/localization/jquery-ui-timepicker-ca.js index d4d9abb..3551130 100644 --- a/localization/jquery-ui-timepicker-ca.js +++ b/localization/jquery-ui-timepicker-ca.js @@ -14,7 +14,8 @@ timeFormat: 'hh:mm', amNames: ['AM', 'A'], pmNames: ['PM', 'P'], - ampm: false + ampm: false, + isRTL: false }; $.timepicker.setDefaults($.timepicker.regional['ca']); })(jQuery); diff --git a/localization/jquery-ui-timepicker-cs.js b/localization/jquery-ui-timepicker-cs.js index 74ef405..3c14875 100644 --- a/localization/jquery-ui-timepicker-cs.js +++ b/localization/jquery-ui-timepicker-cs.js @@ -14,7 +14,8 @@ timeFormat: 'h:m', amNames: ['dop.', 'AM', 'A'], pmNames: ['odp.', 'PM', 'P'], - ampm: false + ampm: false, + isRTL: false }; $.timepicker.setDefaults($.timepicker.regional['cs']); })(jQuery); diff --git a/localization/jquery-ui-timepicker-de.js b/localization/jquery-ui-timepicker-de.js index 741298b..ebf76c1 100644 --- a/localization/jquery-ui-timepicker-de.js +++ b/localization/jquery-ui-timepicker-de.js @@ -14,7 +14,8 @@ timeFormat: 'hh:mm tt', amNames: ['vorm.', 'AM', 'A'], pmNames: ['nachm.', 'PM', 'P'], - ampm: false + ampm: false, + isRTL: false }; $.timepicker.setDefaults($.timepicker.regional['de']); })(jQuery); diff --git a/localization/jquery-ui-timepicker-el.js b/localization/jquery-ui-timepicker-el.js index 207abb5..b475a62 100644 --- a/localization/jquery-ui-timepicker-el.js +++ b/localization/jquery-ui-timepicker-el.js @@ -14,7 +14,8 @@ timeFormat: 'hh:mm', amNames: ['π.μ.', 'AM', 'A'], pmNames: ['μ.μ.', 'PM', 'P'], - ampm: false + ampm: false, + isRTL: false }; $.timepicker.setDefaults($.timepicker.regional['el']); })(jQuery); diff --git a/localization/jquery-ui-timepicker-es.js b/localization/jquery-ui-timepicker-es.js index 2d76f9b..d1cfc9a 100644 --- a/localization/jquery-ui-timepicker-es.js +++ b/localization/jquery-ui-timepicker-es.js @@ -14,7 +14,8 @@ timeFormat: 'hh:mm', amNames: ['a.m.', 'AM', 'A'], pmNames: ['p.m.', 'PM', 'P'], - ampm: false + ampm: false, + isRTL: false }; $.timepicker.setDefaults($.timepicker.regional['es']); })(jQuery); diff --git a/localization/jquery-ui-timepicker-et.js b/localization/jquery-ui-timepicker-et.js index fc86b34..8417690 100644 --- a/localization/jquery-ui-timepicker-et.js +++ b/localization/jquery-ui-timepicker-et.js @@ -14,7 +14,8 @@ timeFormat: 'hh:mm tt', amNames: ['AM', 'A'], pmNames: ['PM', 'P'], - ampm: false + ampm: false, + isRTL: false }; $.timepicker.setDefaults($.timepicker.regional['et']); })(jQuery); diff --git a/localization/jquery-ui-timepicker-fi.js b/localization/jquery-ui-timepicker-fi.js index 18ba718..d21b781 100644 --- a/localization/jquery-ui-timepicker-fi.js +++ b/localization/jquery-ui-timepicker-fi.js @@ -14,7 +14,8 @@ timeFormat: 'hh:mm', amNames: ['ap.', 'AM', 'A'], pmNames: ['ip.', 'PM', 'P'], - ampm: false + ampm: false, + isRTL: false }; $.timepicker.setDefaults($.timepicker.regional['fi']); })(jQuery); diff --git a/localization/jquery-ui-timepicker-fr.js b/localization/jquery-ui-timepicker-fr.js index ac8159d..c2315b5 100644 --- a/localization/jquery-ui-timepicker-fr.js +++ b/localization/jquery-ui-timepicker-fr.js @@ -14,7 +14,8 @@ timeFormat: 'hh:mm', amNames: ['AM', 'A'], pmNames: ['PM', 'P'], - ampm: false + ampm: false, + isRTL: false }; $.timepicker.setDefaults($.timepicker.regional['fr']); })(jQuery); diff --git a/localization/jquery-ui-timepicker-gl.js b/localization/jquery-ui-timepicker-gl.js index 09fea0b..2717bcc 100644 --- a/localization/jquery-ui-timepicker-gl.js +++ b/localization/jquery-ui-timepicker-gl.js @@ -14,7 +14,8 @@ timeFormat: 'hh:mm', amNames: ['a.m.', 'AM', 'A'], pmNames: ['p.m.', 'PM', 'P'], - ampm: false + ampm: false, + isRTL: false }; $.timepicker.setDefaults($.timepicker.regional['gl']); })(jQuery); diff --git a/localization/jquery-ui-timepicker-he.js b/localization/jquery-ui-timepicker-he.js index bf4a107..bb4ef8c 100644 --- a/localization/jquery-ui-timepicker-he.js +++ b/localization/jquery-ui-timepicker-he.js @@ -14,7 +14,8 @@ timeFormat: "hh:mm tt", amNames: ['לפנה"צ', 'AM', 'A'], pmNames: ['אחה"צ', 'PM', 'P'], - ampm: false + ampm: false, + isRTL: false }; $.timepicker.setDefaults($.timepicker.regional["he"]); })(jQuery); diff --git a/localization/jquery-ui-timepicker-hu.js b/localization/jquery-ui-timepicker-hu.js index 956d986..af84b5f 100644 --- a/localization/jquery-ui-timepicker-hu.js +++ b/localization/jquery-ui-timepicker-hu.js @@ -14,7 +14,8 @@ timeFormat: 'hh:mm tt', amNames: ['de.', 'AM', 'A'], pmNames: ['du.', 'PM', 'P'], - ampm: false + ampm: false, + isRTL: false }; $.timepicker.setDefaults($.timepicker.regional['hu']); })(jQuery); diff --git a/localization/jquery-ui-timepicker-id.js b/localization/jquery-ui-timepicker-id.js index e802738..7645f13 100644 --- a/localization/jquery-ui-timepicker-id.js +++ b/localization/jquery-ui-timepicker-id.js @@ -14,7 +14,8 @@ timeFormat: 'hh:mm tt', amNames: ['AM', 'A'], pmNames: ['PM', 'P'], - ampm: false + ampm: false, + isRTL: false }; $.timepicker.setDefaults($.timepicker.regional['id']); })(jQuery); diff --git a/localization/jquery-ui-timepicker-it.js b/localization/jquery-ui-timepicker-it.js index d519670..10b2ab4 100644 --- a/localization/jquery-ui-timepicker-it.js +++ b/localization/jquery-ui-timepicker-it.js @@ -14,7 +14,8 @@ timeFormat: 'hh:mm', amNames: ['m.', 'AM', 'A'], pmNames: ['p.', 'PM', 'P'], - ampm: false + ampm: false, + isRTL: false }; $.timepicker.setDefaults($.timepicker.regional['it']); })(jQuery); diff --git a/localization/jquery-ui-timepicker-ja.js b/localization/jquery-ui-timepicker-ja.js index aa05d6a..cd267e3 100644 --- a/localization/jquery-ui-timepicker-ja.js +++ b/localization/jquery-ui-timepicker-ja.js @@ -14,7 +14,8 @@ timeFormat: 'hh:mm tt', amNames: ['午前', 'AM', 'A'], pmNames: ['午後', 'PM', 'P'], - ampm: false + ampm: false, + isRTL: false }; $.timepicker.setDefaults($.timepicker.regional['ja']); })(jQuery); diff --git a/localization/jquery-ui-timepicker-ko.js b/localization/jquery-ui-timepicker-ko.js index 2e002d7..c238d87 100644 --- a/localization/jquery-ui-timepicker-ko.js +++ b/localization/jquery-ui-timepicker-ko.js @@ -14,7 +14,8 @@ timeFormat: 'tt h:mm', amNames: ['오전', 'AM', 'A'], pmNames: ['오후', 'PM', 'P'], - ampm: true + ampm: true, + isRTL: false }; $.timepicker.setDefaults($.timepicker.regional['ko']); })(jQuery); diff --git a/localization/jquery-ui-timepicker-lt.js b/localization/jquery-ui-timepicker-lt.js index a67e267..662b639 100644 --- a/localization/jquery-ui-timepicker-lt.js +++ b/localization/jquery-ui-timepicker-lt.js @@ -14,7 +14,8 @@ timeFormat: 'hh:mm', amNames: ['priešpiet', 'AM', 'A'], pmNames: ['popiet', 'PM', 'P'], - ampm: false + ampm: false, + isRTL: false }; $.timepicker.setDefaults($.timepicker.regional['lt']); })(jQuery); diff --git a/localization/jquery-ui-timepicker-nl.js b/localization/jquery-ui-timepicker-nl.js index 181b911..b31b89a 100644 --- a/localization/jquery-ui-timepicker-nl.js +++ b/localization/jquery-ui-timepicker-nl.js @@ -14,7 +14,8 @@ timeFormat: 'hh:mm tt', amNames: ['AM', 'A'], pmNames: ['PM', 'P'], - ampm: false + ampm: false, + isRTL: false }; $.timepicker.setDefaults($.timepicker.regional['nl']); })(jQuery); diff --git a/localization/jquery-ui-timepicker-no.js b/localization/jquery-ui-timepicker-no.js index c34348b..9997345 100644 --- a/localization/jquery-ui-timepicker-no.js +++ b/localization/jquery-ui-timepicker-no.js @@ -14,7 +14,8 @@ timeFormat: 'hh:mm', amNames: ['am', 'AM', 'A'], pmNames: ['pm', 'PM', 'P'], - ampm: false + ampm: false, + isRTL: false }; $.timepicker.setDefaults($.timepicker.regional['no']); })(jQuery); diff --git a/localization/jquery-ui-timepicker-pl.js b/localization/jquery-ui-timepicker-pl.js index 085eb88..16dab12 100644 --- a/localization/jquery-ui-timepicker-pl.js +++ b/localization/jquery-ui-timepicker-pl.js @@ -14,7 +14,8 @@ timeFormat: 'hh:mm tt', amNames: ['AM', 'A'], pmNames: ['PM', 'P'], - ampm: false + ampm: false, + isRTL: false }; $.timepicker.setDefaults($.timepicker.regional['pl']); })(jQuery); diff --git a/localization/jquery-ui-timepicker-pt-BR.js b/localization/jquery-ui-timepicker-pt-BR.js index efbae6d..ea86993 100644 --- a/localization/jquery-ui-timepicker-pt-BR.js +++ b/localization/jquery-ui-timepicker-pt-BR.js @@ -14,7 +14,8 @@ timeFormat: 'hh:mm', amNames: ['a.m.', 'AM', 'A'], pmNames: ['p.m.', 'PM', 'P'], - ampm: false + ampm: false, + isRTL: false }; $.timepicker.setDefaults($.timepicker.regional['pt-BR']); })(jQuery); diff --git a/localization/jquery-ui-timepicker-pt.js b/localization/jquery-ui-timepicker-pt.js index eef52f6..c9b05bb 100644 --- a/localization/jquery-ui-timepicker-pt.js +++ b/localization/jquery-ui-timepicker-pt.js @@ -14,7 +14,8 @@ timeFormat: 'hh:mm', amNames: ['a.m.', 'AM', 'A'], pmNames: ['p.m.', 'PM', 'P'], - ampm: false + ampm: false, + isRTL: false }; $.timepicker.setDefaults($.timepicker.regional['pt']); })(jQuery); diff --git a/localization/jquery-ui-timepicker-ro.js b/localization/jquery-ui-timepicker-ro.js index da66135..0224bdb 100644 --- a/localization/jquery-ui-timepicker-ro.js +++ b/localization/jquery-ui-timepicker-ro.js @@ -14,7 +14,8 @@ timeFormat: 'hh:mm', amNames: ['AM', 'A'], pmNames: ['PM', 'P'], - ampm: false + ampm: false, + isRTL: false }; $.timepicker.setDefaults($.timepicker.regional['ro']); })(jQuery); diff --git a/localization/jquery-ui-timepicker-ru.js b/localization/jquery-ui-timepicker-ru.js index b1878a0..4469a11 100644 --- a/localization/jquery-ui-timepicker-ru.js +++ b/localization/jquery-ui-timepicker-ru.js @@ -14,7 +14,8 @@ timeFormat: 'hh:mm tt', amNames: ['AM', 'A'], pmNames: ['PM', 'P'], - ampm: false + ampm: false, + isRTL: false }; $.timepicker.setDefaults($.timepicker.regional['ru']); })(jQuery); diff --git a/localization/jquery-ui-timepicker-sk.js b/localization/jquery-ui-timepicker-sk.js index 1eaacde..8c57fb7 100644 --- a/localization/jquery-ui-timepicker-sk.js +++ b/localization/jquery-ui-timepicker-sk.js @@ -14,7 +14,8 @@ timeFormat: 'h:m', amNames: ['dop.', 'AM', 'A'], pmNames: ['pop.', 'PM', 'P'], - ampm: false + ampm: false, + isRTL: false }; $.timepicker.setDefaults($.timepicker.regional['sk']); })(jQuery); diff --git a/localization/jquery-ui-timepicker-sv.js b/localization/jquery-ui-timepicker-sv.js index 742dffa..d5a123e 100644 --- a/localization/jquery-ui-timepicker-sv.js +++ b/localization/jquery-ui-timepicker-sv.js @@ -14,7 +14,8 @@ timeFormat: 'hh:mm', amNames: ['AM', 'A'], pmNames: ['PM', 'P'], - ampm: false + ampm: false, + isRTL: false }; $.timepicker.setDefaults($.timepicker.regional['sv']); })(jQuery); diff --git a/localization/jquery-ui-timepicker-tr.js b/localization/jquery-ui-timepicker-tr.js index aca1258..bc054b2 100644 --- a/localization/jquery-ui-timepicker-tr.js +++ b/localization/jquery-ui-timepicker-tr.js @@ -14,7 +14,8 @@ timeFormat: 'hh:mm', amNames: ['ÖÖ', 'Ö'], pmNames: ['ÖS', 'S'], - ampm: false + ampm: false, + isRTL: false }; $.timepicker.setDefaults($.timepicker.regional['tr']); })(jQuery); diff --git a/localization/jquery-ui-timepicker-uk.js b/localization/jquery-ui-timepicker-uk.js index dd5d1df..d6830d8 100644 --- a/localization/jquery-ui-timepicker-uk.js +++ b/localization/jquery-ui-timepicker-uk.js @@ -14,7 +14,8 @@ timeFormat: 'hh:mm tt', amNames: ['AM', 'A'], pmNames: ['PM', 'P'], - ampm: false + ampm: false, + isRTL: false }; $.timepicker.setDefaults($.timepicker.regional['uk']); })(jQuery); diff --git a/localization/jquery-ui-timepicker-vi.js b/localization/jquery-ui-timepicker-vi.js index c2c3b99..1116f9d 100644 --- a/localization/jquery-ui-timepicker-vi.js +++ b/localization/jquery-ui-timepicker-vi.js @@ -14,7 +14,8 @@ timeFormat: 'h:m', amNames: ['SA', 'AM', 'A'], pmNames: ['CH', 'PM', 'P'], - ampm: false + ampm: false, + isRTL: false }; $.timepicker.setDefaults($.timepicker.regional['vi']); })(jQuery); diff --git a/localization/jquery-ui-timepicker-zh-CN.js b/localization/jquery-ui-timepicker-zh-CN.js index ea0729d..a5af91b 100644 --- a/localization/jquery-ui-timepicker-zh-CN.js +++ b/localization/jquery-ui-timepicker-zh-CN.js @@ -14,7 +14,8 @@ timeFormat: 'hh:mm', amNames: ['AM', 'A'], pmNames: ['PM', 'P'], - ampm: false + ampm: false, + isRTL: false }; $.timepicker.setDefaults($.timepicker.regional['zh-CN']); })(jQuery); diff --git a/localization/jquery-ui-timepicker-zh-TW.js b/localization/jquery-ui-timepicker-zh-TW.js index 792aaac..e8e6ba8 100644 --- a/localization/jquery-ui-timepicker-zh-TW.js +++ b/localization/jquery-ui-timepicker-zh-TW.js @@ -14,7 +14,8 @@ timeFormat: 'hh:mm tt', amNames: ['上午', 'AM', 'A'], pmNames: ['下午', 'PM', 'P'], - ampm: false + ampm: false, + isRTL: false }; $.timepicker.setDefaults($.timepicker.regional['zh-TW']); })(jQuery); |