From b97466cdfbcb5b02d4eaf38661c051d1a095838e Mon Sep 17 00:00:00 2001 From: erdgeist Date: Tue, 30 Jun 2026 04:58:37 +0200 Subject: Unify jQuery: serve public site jQuery via asset pipeline MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove vendored jquery-1.3.2.min.js, jquery-ui-1.7.2.custom.min.js, and the unreferenced duplicate jquery.hotkeys.js from public/javascripts/. Public layout now loads jQuery via a small public_bundle.js manifest through the asset pipeline, same mechanism already used for the admin interface (admin_bundle.js). This brings the public site from jQuery 1.3.2 (2009) to the current jquery-rails-provided version (3.7.x). Shadowbox's jQuery adapter (shadowbox-jquery.js) only uses stable APIs (.css, .remove, .bind, .unbind, .append, .extend) unchanged across this version span. Verified by manual click-test: gallery image opens, displays, and dismisses correctly. public.js required no changes — all jQuery APIs used (.ready, .bind, .trigger, .length) are stable across versions. --- public/javascripts/jquery.hotkeys.js | 244 ----------------------------------- 1 file changed, 244 deletions(-) delete mode 100755 public/javascripts/jquery.hotkeys.js (limited to 'public/javascripts/jquery.hotkeys.js') diff --git a/public/javascripts/jquery.hotkeys.js b/public/javascripts/jquery.hotkeys.js deleted file mode 100755 index 9a8f2de..0000000 --- a/public/javascripts/jquery.hotkeys.js +++ /dev/null @@ -1,244 +0,0 @@ -/* -(c) Copyrights 2007 - 2008 - -Original idea by by Binny V A, http://www.openjs.com/scripts/events/keyboard_shortcuts/ - -jQuery Plugin by Tzury Bar Yochay -tzury.by@gmail.com -http://evalinux.wordpress.com -http://facebook.com/profile.php?id=513676303 - -Project's sites: -http://code.google.com/p/js-hotkeys/ -http://github.com/tzuryby/hotkeys/tree/master - -License: same as jQuery license. - -USAGE: - // simple usage - $(document).bind('keydown', 'Ctrl+c', function(){ alert('copy anyone?');}); - - // special options such as disableInIput - $(document).bind('keydown', {combi:'Ctrl+x', disableInInput: true} , function() {}); - -Note: - This plugin wraps the following jQuery methods: $.fn.find, $.fn.bind and $.fn.unbind -*/ - -(function (jQuery){ - // keep reference to the original $.fn.bind, $.fn.unbind and $.fn.find - jQuery.fn.__bind__ = jQuery.fn.bind; - jQuery.fn.__unbind__ = jQuery.fn.unbind; - jQuery.fn.__find__ = jQuery.fn.find; - - var hotkeys = { - version: '0.7.9', - override: /keypress|keydown|keyup/g, - triggersMap: {}, - - specialKeys: { 27: 'esc', 9: 'tab', 32:'space', 13: 'return', 8:'backspace', 145: 'scroll', - 20: 'capslock', 144: 'numlock', 19:'pause', 45:'insert', 36:'home', 46:'del', - 35:'end', 33: 'pageup', 34:'pagedown', 37:'left', 38:'up', 39:'right',40:'down', - 109: '-', - 112:'f1',113:'f2', 114:'f3', 115:'f4', 116:'f5', 117:'f6', 118:'f7', 119:'f8', - 120:'f9', 121:'f10', 122:'f11', 123:'f12', 191: '/'}, - - shiftNums: { "`":"~", "1":"!", "2":"@", "3":"#", "4":"$", "5":"%", "6":"^", "7":"&", - "8":"*", "9":"(", "0":")", "-":"_", "=":"+", ";":":", "'":"\"", ",":"<", - ".":">", "/":"?", "\\":"|" }, - - newTrigger: function (type, combi, callback) { - // i.e. {'keyup': {'ctrl': {cb: callback, disableInInput: false}}} - var result = {}; - result[type] = {}; - result[type][combi] = {cb: callback, disableInInput: false}; - return result; - } - }; - // add firefox num pad char codes - //if (jQuery.browser.mozilla){ - // add num pad char codes - hotkeys.specialKeys = jQuery.extend(hotkeys.specialKeys, { 96: '0', 97:'1', 98: '2', 99: - '3', 100: '4', 101: '5', 102: '6', 103: '7', 104: '8', 105: '9', 106: '*', - 107: '+', 109: '-', 110: '.', 111 : '/' - }); - //} - - // a wrapper around of $.fn.find - // see more at: http://groups.google.com/group/jquery-en/browse_thread/thread/18f9825e8d22f18d - jQuery.fn.find = function( selector ) { - this.query = selector; - return jQuery.fn.__find__.apply(this, arguments); - }; - - jQuery.fn.unbind = function (type, combi, fn){ - if (jQuery.isFunction(combi)){ - fn = combi; - combi = null; - } - if (combi && typeof combi === 'string'){ - var selectorId = ((this.prevObject && this.prevObject.query) || (this[0].id && this[0].id) || this[0]).toString(); - var hkTypes = type.split(' '); - for (var x=0; x