UNPKG

kitchensink

Version:

Dispatch's awesome components and style guide

50 lines (43 loc) 1.16 kB
/** * 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;