Merge branch 'feature.upgrade-jquery' into develop
This updates jQuery to the most recent version. Thanks to Simon for his work here.
This commit is contained in:
		
							
								
								
									
										1
									
								
								AUTHORS
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								AUTHORS
									
									
									
									
									
								
							@@ -35,6 +35,7 @@ Much appreciated contributors (in alphabetical order):
 | 
			
		||||
    Pedro Kiefer <pedro@kiefer.com.br>              - Brazilian Portuguese translation
 | 
			
		||||
    Raphaël Emourgeon <raphael>
 | 
			
		||||
    Samuel Suther <info@suther.de>                  - German translation
 | 
			
		||||
    Simon Holywell <treffynnon@php.net>
 | 
			
		||||
    Sindre R. Myren <sindrero@stud.ntnu.no>
 | 
			
		||||
    Stewart Platt <stew@futurete.ch>
 | 
			
		||||
    Stéphane Baron <sbaron>
 | 
			
		||||
 
 | 
			
		||||
@@ -31,6 +31,6 @@ class IDF_Template_HotKey extends Pluf_Template_Tag
 | 
			
		||||
    function start($key, $view, $params=array(), $get_params=array())
 | 
			
		||||
    {
 | 
			
		||||
        $url = addslashes(Pluf_HTTP_URL_urlForView($view, $params, $get_params));
 | 
			
		||||
        echo "jQuery.hotkeys.add('$key',{disableInInput: true},function (){window.location.href='$url';});";
 | 
			
		||||
        echo "$(document).bind('keydown','$key',function (){window.location.href='$url';});";
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -31,7 +31,7 @@
 | 
			
		||||
  <![endif]-->
 | 
			
		||||
  {block extraheader}{/block}
 | 
			
		||||
  <title>{block pagetitle}{$page_title|strip_tags}{/block}{if $project} - {$project.shortdesc}{/if}</title>
 | 
			
		||||
  <script type="text/javascript" src="{media '/idf/js/jquery-1.2.6.min.js'}"></script>
 | 
			
		||||
  <script type="text/javascript" src="{media '/idf/js/jquery-1.7.1.min.js'}"></script>
 | 
			
		||||
  {appversion}
 | 
			
		||||
</head>
 | 
			
		||||
<body>
 | 
			
		||||
 
 | 
			
		||||
@@ -31,7 +31,7 @@
 | 
			
		||||
  <![endif]-->
 | 
			
		||||
  {block extraheader}{/block}
 | 
			
		||||
  <title>{block pagetitle}{$page_title|strip_tags}{/block}</title>
 | 
			
		||||
  <script type="text/javascript" src="{media '/idf/js/jquery-1.2.6.min.js'}"></script>
 | 
			
		||||
  <script type="text/javascript" src="{media '/idf/js/jquery-1.7.1.min.js'}"></script>
 | 
			
		||||
  {appversion}
 | 
			
		||||
</head>
 | 
			
		||||
<body>
 | 
			
		||||
 
 | 
			
		||||
@@ -31,7 +31,7 @@
 | 
			
		||||
  <![endif]-->
 | 
			
		||||
  {block extraheader}{/block}
 | 
			
		||||
  <title>{block pagetitle}{$page_title|strip_tags}{/block}{if $project} - {$project.shortdesc}{/if}</title>
 | 
			
		||||
  <script type="text/javascript" src="{media '/idf/js/jquery-1.2.6.min.js'}"></script>
 | 
			
		||||
  <script type="text/javascript" src="{media '/idf/js/jquery-1.7.1.min.js'}"></script>
 | 
			
		||||
  {appversion}
 | 
			
		||||
</head>
 | 
			
		||||
<body>
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										32
									
								
								www/media/idf/js/jquery-1.2.6.min.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										32
									
								
								www/media/idf/js/jquery-1.2.6.min.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										4
									
								
								www/media/idf/js/jquery-1.7.1.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								www/media/idf/js/jquery-1.7.1.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							@@ -1,126 +1,100 @@
 | 
			
		||||
/******************************************************************************************************************************
 | 
			
		||||
/*
 | 
			
		||||
 * jQuery Hotkeys Plugin
 | 
			
		||||
 * Copyright 2010, John Resig
 | 
			
		||||
 * Dual licensed under the MIT or GPL Version 2 licenses.
 | 
			
		||||
 *
 | 
			
		||||
 * Based upon the plugin by Tzury Bar Yochay:
 | 
			
		||||
 * http://github.com/tzuryby/hotkeys
 | 
			
		||||
 *
 | 
			
		||||
 * Original idea by:
 | 
			
		||||
 * Binny V A, http://www.openjs.com/scripts/events/keyboard_shortcuts/
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
 * @ Original idea by by Binny V A, Original version: 2.00.A 
 | 
			
		||||
 * @ http://www.openjs.com/scripts/events/keyboard_shortcuts/
 | 
			
		||||
 * @ Original License : BSD
 | 
			
		||||
 
 | 
			
		||||
 * @ jQuery Plugin by Tzury Bar Yochay 
 | 
			
		||||
        mail: tzury.by@gmail.com
 | 
			
		||||
        blog: evalinux.wordpress.com
 | 
			
		||||
        face: facebook.com/profile.php?id=513676303
 | 
			
		||||
        
 | 
			
		||||
        (c) Copyrights 2007
 | 
			
		||||
        
 | 
			
		||||
 * @ jQuery Plugin version Beta (0.0.2)
 | 
			
		||||
 * @ License: jQuery-License.
 | 
			
		||||
 
 | 
			
		||||
TODO:
 | 
			
		||||
    add queue support (as in gmail) e.g. 'x' then 'y', etc.
 | 
			
		||||
    add mouse + mouse wheel events.
 | 
			
		||||
 | 
			
		||||
USAGE:
 | 
			
		||||
    $.hotkeys.add('Ctrl+c', function(){ alert('copy anyone?');});
 | 
			
		||||
    $.hotkeys.add('Ctrl+c', {target:'div#editor', type:'keyup', propagate: true},function(){ alert('copy anyone?');});>
 | 
			
		||||
    $.hotkeys.remove('Ctrl+c'); 
 | 
			
		||||
    $.hotkeys.remove('Ctrl+c', {target:'div#editor', type:'keypress'}); 
 | 
			
		||||
    
 | 
			
		||||
******************************************************************************************************************************/
 | 
			
		||||
(function(jQuery){
 | 
			
		||||
    this.version = '(beta)(0.0.3)';
 | 
			
		||||
	this.all = {};
 | 
			
		||||
    this.special_keys = {
 | 
			
		||||
        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', 112:'f1',113:'f2', 114:'f3', 
 | 
			
		||||
        115:'f4', 116:'f5', 117:'f6', 118:'f7', 119:'f8', 120:'f9', 121:'f10', 122:'f11', 123:'f12'};
 | 
			
		||||
	
 | 
			
		||||
    this.shift_nums = { "`":"~", "1":"!", "2":"@", "3":"#", "4":"$", "5":"%", "6":"^", "7":"&", 
 | 
			
		||||
	jQuery.hotkeys = {
 | 
			
		||||
		version: "0.8",
 | 
			
		||||
 | 
			
		||||
		specialKeys: {
 | 
			
		||||
			8: "backspace", 9: "tab", 13: "return", 16: "shift", 17: "ctrl", 18: "alt", 19: "pause",
 | 
			
		||||
			20: "capslock", 27: "esc", 32: "space", 33: "pageup", 34: "pagedown", 35: "end", 36: "home",
 | 
			
		||||
			37: "left", 38: "up", 39: "right", 40: "down", 45: "insert", 46: "del", 
 | 
			
		||||
			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 : "/", 
 | 
			
		||||
			112: "f1", 113: "f2", 114: "f3", 115: "f4", 116: "f5", 117: "f6", 118: "f7", 119: "f8", 
 | 
			
		||||
			120: "f9", 121: "f10", 122: "f11", 123: "f12", 144: "numlock", 145: "scroll", 188: ",", 190: ".",
 | 
			
		||||
			191: "/", 224: "meta"
 | 
			
		||||
 		},
 | 
			
		||||
	
 | 
			
		||||
		shiftNums: {
 | 
			
		||||
			"`": "~", "1": "!", "2": "@", "3": "#", "4": "$", "5": "%", "6": "^", "7": "&", 
 | 
			
		||||
			"8": "*", "9": "(", "0": ")", "-": "_", "=": "+", ";": ": ", "'": "\"", ",": "<", 
 | 
			
		||||
        ".":">",  "/":"?",  "\\":"|" };
 | 
			
		||||
        
 | 
			
		||||
    this.add = function(combi, options, callback) {
 | 
			
		||||
        if (jQuery.isFunction(options)){
 | 
			
		||||
            callback = options;
 | 
			
		||||
            options = {};
 | 
			
		||||
			".": ">",  "/": "?",  "\\": "|"
 | 
			
		||||
		}
 | 
			
		||||
        var opt = {},
 | 
			
		||||
            defaults = {type: 'keydown', propagate: false, disableInInput: false, target: jQuery('html')[0]},
 | 
			
		||||
            that = this;
 | 
			
		||||
        opt = jQuery.extend( opt , defaults, options || {} );
 | 
			
		||||
        combi = combi.toLowerCase();        
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
        // inspect if keystroke matches
 | 
			
		||||
        var inspector = function(event) {
 | 
			
		||||
            event = jQuery.event.fix(event); // jQuery event normalization.
 | 
			
		||||
            var element = event.target;
 | 
			
		||||
            // @ TextNode -> nodeType == 3
 | 
			
		||||
            element = (element.nodeType==3) ? element.parentNode : element;
 | 
			
		||||
            
 | 
			
		||||
            if(opt['disableInInput']) { // Disable shortcut keys in Input, Textarea fields
 | 
			
		||||
                var target = jQuery(element);
 | 
			
		||||
                if( target.is("input") || target.is("textarea")){
 | 
			
		||||
	function keyHandler( handleObj ) {
 | 
			
		||||
		// Only care when a possible input has been specified
 | 
			
		||||
		if ( typeof handleObj.data !== "string" ) {
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
            }
 | 
			
		||||
            var code = event.which,
 | 
			
		||||
                type = event.type,
 | 
			
		||||
                character = String.fromCharCode(code).toLowerCase(),
 | 
			
		||||
                special = that.special_keys[code],
 | 
			
		||||
                shift = event.shiftKey,
 | 
			
		||||
                ctrl = event.ctrlKey,
 | 
			
		||||
                alt= event.altKey,
 | 
			
		||||
                propagate = true, // default behaivour
 | 
			
		||||
                mapPoint = null;
 | 
			
		||||
		
 | 
			
		||||
            // in opera + safari, the event.target is unpredictable.
 | 
			
		||||
            // for example: 'keydown' might be associated with HtmlBodyElement 
 | 
			
		||||
            // or the element where you last clicked with your mouse.
 | 
			
		||||
            if (jQuery.browser.opera || jQuery.browser.safari){
 | 
			
		||||
                while (!that.all[element] && element.parentNode){
 | 
			
		||||
                    element = element.parentNode;
 | 
			
		||||
		var origHandler = handleObj.handler,
 | 
			
		||||
			keys = handleObj.data.toLowerCase().split(" ");
 | 
			
		||||
	
 | 
			
		||||
		handleObj.handler = function( event ) {
 | 
			
		||||
			// Don't fire in text-accepting inputs that we didn't directly bind to
 | 
			
		||||
			if ( this !== event.target && (/textarea|select/i.test( event.target.nodeName ) ||
 | 
			
		||||
				 event.target.type === "text" || $(event.target).prop('contenteditable') == 'true' )) {
 | 
			
		||||
				return;
 | 
			
		||||
			}
 | 
			
		||||
			
 | 
			
		||||
			// Keypress represents characters, not special keys
 | 
			
		||||
			var special = event.type !== "keypress" && jQuery.hotkeys.specialKeys[ event.which ],
 | 
			
		||||
				character = String.fromCharCode( event.which ).toLowerCase(),
 | 
			
		||||
				key, modif = "", possible = {};
 | 
			
		||||
 | 
			
		||||
			// check combinations (alt|ctrl|shift+anything)
 | 
			
		||||
			if ( event.altKey && special !== "alt" ) {
 | 
			
		||||
				modif += "alt+";
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if ( event.ctrlKey && special !== "ctrl" ) {
 | 
			
		||||
				modif += "ctrl+";
 | 
			
		||||
			}
 | 
			
		||||
			
 | 
			
		||||
			// TODO: Need to make sure this works consistently across platforms
 | 
			
		||||
			if ( event.metaKey && !event.ctrlKey && special !== "meta" ) {
 | 
			
		||||
				modif += "meta+";
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if ( event.shiftKey && special !== "shift" ) {
 | 
			
		||||
				modif += "shift+";
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if ( special ) {
 | 
			
		||||
				possible[ modif + special ] = true;
 | 
			
		||||
 | 
			
		||||
			} else {
 | 
			
		||||
				possible[ modif + character ] = true;
 | 
			
		||||
				possible[ modif + jQuery.hotkeys.shiftNums[ character ] ] = true;
 | 
			
		||||
 | 
			
		||||
				// "$" can be triggered as "Shift+4" or "Shift+$" or just "$"
 | 
			
		||||
				if ( modif === "shift+" ) {
 | 
			
		||||
					possible[ jQuery.hotkeys.shiftNums[ character ] ] = true;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
            var cbMap = that.all[element].events[type].callbackMap;
 | 
			
		||||
            if(!shift && !ctrl && !alt) { // No Modifiers
 | 
			
		||||
                mapPoint = cbMap[special] ||  cbMap[character]
 | 
			
		||||
			}
 | 
			
		||||
            // deals with combinaitons (alt|ctrl|shift+anything)
 | 
			
		||||
            else{
 | 
			
		||||
                var modif = '';
 | 
			
		||||
                if(alt) modif +='alt+';
 | 
			
		||||
                if(ctrl) modif+= 'ctrl+';
 | 
			
		||||
                if(shift) modif += 'shift+';
 | 
			
		||||
                // modifiers + special keys or modifiers + characters or modifiers + shift characters
 | 
			
		||||
                mapPoint = cbMap[modif+special] || cbMap[modif+character] || cbMap[modif+that.shift_nums[character]]
 | 
			
		||||
            }
 | 
			
		||||
            if (mapPoint){
 | 
			
		||||
                mapPoint.cb(event);
 | 
			
		||||
                if(!mapPoint.propagate) {
 | 
			
		||||
                    event.stopPropagation();
 | 
			
		||||
                    event.preventDefault();
 | 
			
		||||
                    return false;
 | 
			
		||||
 | 
			
		||||
			for ( var i = 0, l = keys.length; i < l; i++ ) {
 | 
			
		||||
				if ( possible[ keys[i] ] ) {
 | 
			
		||||
					return origHandler.apply( this, arguments );
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		};
 | 
			
		||||
        // first hook for this element
 | 
			
		||||
        if (!this.all[opt.target]){
 | 
			
		||||
            this.all[opt.target] = {events:{}};
 | 
			
		||||
	}
 | 
			
		||||
        if (!this.all[opt.target].events[opt.type]){
 | 
			
		||||
            this.all[opt.target].events[opt.type] = {callbackMap: {}}
 | 
			
		||||
            jQuery.event.add(opt.target, opt.type, inspector);
 | 
			
		||||
        }        
 | 
			
		||||
        this.all[opt.target].events[opt.type].callbackMap[combi] =  {cb: callback, propagate:opt.propagate};                
 | 
			
		||||
        return jQuery;
 | 
			
		||||
	};    
 | 
			
		||||
    this.remove = function(exp, opt) {
 | 
			
		||||
        opt = opt || {};
 | 
			
		||||
        target = opt.target || jQuery('html')[0];
 | 
			
		||||
        type = opt.type || 'keydown';
 | 
			
		||||
		exp = exp.toLowerCase();        
 | 
			
		||||
        delete this.all[target].events[type].callbackMap[exp]        
 | 
			
		||||
        return jQuery;
 | 
			
		||||
	};
 | 
			
		||||
    jQuery.hotkeys = this;
 | 
			
		||||
    return jQuery;    
 | 
			
		||||
 | 
			
		||||
	jQuery.each([ "keydown", "keyup", "keypress" ], function() {
 | 
			
		||||
		jQuery.event.special[ this ] = { add: keyHandler };
 | 
			
		||||
	});
 | 
			
		||||
 | 
			
		||||
})( jQuery );
 | 
			
		||||
		Reference in New Issue
	
	Block a user