mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-31 17:38:48 +00:00
react app
This commit is contained in:
56
react-app/node_modules/react/lib/MobileSafariClickEventPlugin.js
generated
vendored
Normal file
56
react-app/node_modules/react/lib/MobileSafariClickEventPlugin.js
generated
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
/**
|
||||
* Copyright 2013-2015, Facebook, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the BSD-style license found in the
|
||||
* LICENSE file in the root directory of this source tree. An additional grant
|
||||
* of patent rights can be found in the PATENTS file in the same directory.
|
||||
*
|
||||
* @providesModule MobileSafariClickEventPlugin
|
||||
* @typechecks static-only
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
var EventConstants = require("./EventConstants");
|
||||
|
||||
var emptyFunction = require("./emptyFunction");
|
||||
|
||||
var topLevelTypes = EventConstants.topLevelTypes;
|
||||
|
||||
/**
|
||||
* Mobile Safari does not fire properly bubble click events on non-interactive
|
||||
* elements, which means delegated click listeners do not fire. The workaround
|
||||
* for this bug involves attaching an empty click listener on the target node.
|
||||
*
|
||||
* This particular plugin works around the bug by attaching an empty click
|
||||
* listener on `touchstart` (which does fire on every element).
|
||||
*/
|
||||
var MobileSafariClickEventPlugin = {
|
||||
|
||||
eventTypes: null,
|
||||
|
||||
/**
|
||||
* @param {string} topLevelType Record from `EventConstants`.
|
||||
* @param {DOMEventTarget} topLevelTarget The listening component root node.
|
||||
* @param {string} topLevelTargetID ID of `topLevelTarget`.
|
||||
* @param {object} nativeEvent Native browser event.
|
||||
* @return {*} An accumulation of synthetic events.
|
||||
* @see {EventPluginHub.extractEvents}
|
||||
*/
|
||||
extractEvents: function(
|
||||
topLevelType,
|
||||
topLevelTarget,
|
||||
topLevelTargetID,
|
||||
nativeEvent) {
|
||||
if (topLevelType === topLevelTypes.topTouchStart) {
|
||||
var target = nativeEvent.target;
|
||||
if (target && !target.onclick) {
|
||||
target.onclick = emptyFunction;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
module.exports = MobileSafariClickEventPlugin;
|
Reference in New Issue
Block a user