~ubuntu-branches/debian/sid/wordpress/sid

« back to all changes in this revision

Viewing changes to debian/missing-sources/jquery.ui.touch-punch.js

  • Committer: Package Import Robot
  • Author(s): Raphaël Hertzog, Raphaël Hertzog, Martin Bagge / brother
  • Date: 2012-06-16 01:19:20 UTC
  • mfrom: (1.2.22)
  • Revision ID: package-import@ubuntu.com-20120616011920-ivqcktmjehq4gpal
Tags: 3.4+dfsg-1
* New upstream release. Closes: #677534

[ Raphaël Hertzog ]
* [a1c0409] Refresh and update all patches to correctly apply on version
  3.4.
* [3804496] Update debian/missing-sources/ to match the current versions of
  embedded javascript and flash files.
* [185b051] Drop the old "default" theme (and its French translation)
* [966ce6c] Grab latest translations
* [1983326] Update Standards-Version to 3.9.3 (no change).
* [29c48b6] Increase debhelper compat level to 9.
* [73e16d0] Replace debian/dh_linktree by the packaged version.
* [359b660] Update debian/wordpress.linktrees to match latest developments.
* [645b650] Let setup-mysql lowercase the FQDN since the configuration
  scheme expects this. Thanks to Chris Butler <chrisb@debian.org> for the
  report (Closes: #658395)
* [5433e90] Fix setup-mysql to avoid creating /srv/www with restricted
  permissions (Closes: #616400)
* [dd2ef1d] Move back wp-config.php to /usr/share/wordpress/ since it's only
  a dispatcher to the real configuration file (Closes: #592502)
* [b602372] Improve wp-config.php so that WordPress works behind an https
  reverse-proxy.
* [ba0b729] Entirely update and rewrite README.debian. (Closes: #575985,
  #639980)
* [683a908] Update wp-config.php to not redefine constants which have
  already been set.  Thanks to Richard van den Berg <richard@vdberg.org> for
  the report. (Closes: #613283)
* [315eb68] Let wordpress-l10n depend on the same version than wordpress.
  (Closes: #623557)
* [a6d0b9f] Default configuration now sets WP_CONTENT_DIR to
  /var/lib/wordpress/wp-content. And the package provides this new directory
  appropriately setup with write rights to www-data on blogs.dir and
  uploads. themes and plugins are root-owned directories with symlinks
  pointing back to the default themes and plugins. (Closes: #675469)
* [4db98c6] Update setup-mysql to use WP_CONTENT_DIR (and no longer use
  $upload_dir). (Closes: #658508)
* [a1970da] Extend debian/wordpress.linktrees to cover swfobject.js.
* [8d46dab] Use dpkg-maintscript-helper to drop obsolete
  /etc/wordpress/wp-config.php

[ Martin Bagge / brother ]
* [56d0a34] Improve the setup script to be able to use a remote MySQL
  server.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*!
 
2
 * jQuery UI Touch Punch 0.2.2
 
3
 *
 
4
 * Copyright 2011, Dave Furfero
 
5
 * Dual licensed under the MIT or GPL Version 2 licenses.
 
6
 *
 
7
 * Depends:
 
8
 *  jquery.ui.widget.js
 
9
 *  jquery.ui.mouse.js
 
10
 */
 
11
(function ($) {
 
12
 
 
13
  // Detect touch support
 
14
  $.support.touch = 'ontouchend' in document;
 
15
 
 
16
  // Ignore browsers without touch support
 
17
  if (!$.support.touch) {
 
18
    return;
 
19
  }
 
20
 
 
21
  var mouseProto = $.ui.mouse.prototype,
 
22
      _mouseInit = mouseProto._mouseInit,
 
23
      touchHandled;
 
24
 
 
25
  /**
 
26
   * Simulate a mouse event based on a corresponding touch event
 
27
   * @param {Object} event A touch event
 
28
   * @param {String} simulatedType The corresponding mouse event
 
29
   */
 
30
  function simulateMouseEvent (event, simulatedType) {
 
31
 
 
32
    // Ignore multi-touch events
 
33
    if (event.originalEvent.touches.length > 1) {
 
34
      return;
 
35
    }
 
36
 
 
37
    event.preventDefault();
 
38
 
 
39
    var touch = event.originalEvent.changedTouches[0],
 
40
        simulatedEvent = document.createEvent('MouseEvents');
 
41
    
 
42
    // Initialize the simulated mouse event using the touch event's coordinates
 
43
    simulatedEvent.initMouseEvent(
 
44
      simulatedType,    // type
 
45
      true,             // bubbles                    
 
46
      true,             // cancelable                 
 
47
      window,           // view                       
 
48
      1,                // detail                     
 
49
      touch.screenX,    // screenX                    
 
50
      touch.screenY,    // screenY                    
 
51
      touch.clientX,    // clientX                    
 
52
      touch.clientY,    // clientY                    
 
53
      false,            // ctrlKey                    
 
54
      false,            // altKey                     
 
55
      false,            // shiftKey                   
 
56
      false,            // metaKey                    
 
57
      0,                // button                     
 
58
      null              // relatedTarget              
 
59
    );
 
60
 
 
61
    // Dispatch the simulated event to the target element
 
62
    event.target.dispatchEvent(simulatedEvent);
 
63
  }
 
64
 
 
65
  /**
 
66
   * Handle the jQuery UI widget's touchstart events
 
67
   * @param {Object} event The widget element's touchstart event
 
68
   */
 
69
  mouseProto._touchStart = function (event) {
 
70
 
 
71
    var self = this;
 
72
 
 
73
    // Ignore the event if another widget is already being handled
 
74
    if (touchHandled || !self._mouseCapture(event.originalEvent.changedTouches[0])) {
 
75
      return;
 
76
    }
 
77
 
 
78
    // Set the flag to prevent other widgets from inheriting the touch event
 
79
    touchHandled = true;
 
80
 
 
81
    // Track movement to determine if interaction was a click
 
82
    self._touchMoved = false;
 
83
 
 
84
    // Simulate the mouseover event
 
85
    simulateMouseEvent(event, 'mouseover');
 
86
 
 
87
    // Simulate the mousemove event
 
88
    simulateMouseEvent(event, 'mousemove');
 
89
 
 
90
    // Simulate the mousedown event
 
91
    simulateMouseEvent(event, 'mousedown');
 
92
  };
 
93
 
 
94
  /**
 
95
   * Handle the jQuery UI widget's touchmove events
 
96
   * @param {Object} event The document's touchmove event
 
97
   */
 
98
  mouseProto._touchMove = function (event) {
 
99
 
 
100
    // Ignore event if not handled
 
101
    if (!touchHandled) {
 
102
      return;
 
103
    }
 
104
 
 
105
    // Interaction was not a click
 
106
    this._touchMoved = true;
 
107
 
 
108
    // Simulate the mousemove event
 
109
    simulateMouseEvent(event, 'mousemove');
 
110
  };
 
111
 
 
112
  /**
 
113
   * Handle the jQuery UI widget's touchend events
 
114
   * @param {Object} event The document's touchend event
 
115
   */
 
116
  mouseProto._touchEnd = function (event) {
 
117
 
 
118
    // Ignore event if not handled
 
119
    if (!touchHandled) {
 
120
      return;
 
121
    }
 
122
 
 
123
    // Simulate the mouseup event
 
124
    simulateMouseEvent(event, 'mouseup');
 
125
 
 
126
    // Simulate the mouseout event
 
127
    simulateMouseEvent(event, 'mouseout');
 
128
 
 
129
    // If the touch interaction did not move, it should trigger a click
 
130
    if (!this._touchMoved) {
 
131
 
 
132
      // Simulate the click event
 
133
      simulateMouseEvent(event, 'click');
 
134
    }
 
135
 
 
136
    // Unset the flag to allow other widgets to inherit the touch event
 
137
    touchHandled = false;
 
138
  };
 
139
 
 
140
  /**
 
141
   * A duck punch of the $.ui.mouse _mouseInit method to support touch events.
 
142
   * This method extends the widget with bound touch event handlers that
 
143
   * translate touch events to mouse events and pass them to the widget's
 
144
   * original mouse event handling methods.
 
145
   */
 
146
  mouseProto._mouseInit = function () {
 
147
    
 
148
    var self = this;
 
149
 
 
150
    // Delegate the touch handlers to the widget's element
 
151
    self.element
 
152
      .bind('touchstart', $.proxy(self, '_touchStart'))
 
153
      .bind('touchmove', $.proxy(self, '_touchMove'))
 
154
      .bind('touchend', $.proxy(self, '_touchEnd'));
 
155
 
 
156
    // Call the original $.ui.mouse init method
 
157
    _mouseInit.call(self);
 
158
  };
 
159
 
 
160
})(jQuery);
 
 
b'\\ No newline at end of file'