mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
50 lines
1.1 KiB
JavaScript
50 lines
1.1 KiB
JavaScript
/**
|
|
* Copyright 2013-present, 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 DisabledInputUtils
|
|
*/
|
|
|
|
'use strict';
|
|
|
|
var disableableMouseListenerNames = {
|
|
onClick: true,
|
|
onDoubleClick: true,
|
|
onMouseDown: true,
|
|
onMouseMove: true,
|
|
onMouseUp: true,
|
|
|
|
onClickCapture: true,
|
|
onDoubleClickCapture: true,
|
|
onMouseDownCapture: true,
|
|
onMouseMoveCapture: true,
|
|
onMouseUpCapture: true
|
|
};
|
|
|
|
/**
|
|
* Implements a host component that does not receive mouse events
|
|
* when `disabled` is set.
|
|
*/
|
|
var DisabledInputUtils = {
|
|
getHostProps: function (inst, props) {
|
|
if (!props.disabled) {
|
|
return props;
|
|
}
|
|
|
|
// Copy the props, except the mouse listeners
|
|
var hostProps = {};
|
|
for (var key in props) {
|
|
if (!disableableMouseListenerNames[key] && props.hasOwnProperty(key)) {
|
|
hostProps[key] = props[key];
|
|
}
|
|
}
|
|
|
|
return hostProps;
|
|
}
|
|
};
|
|
|
|
module.exports = DisabledInputUtils; |