Skip to content

Commit

Permalink
AndroidCheckBox (facebook#23003)
Browse files Browse the repository at this point in the history
Summary:
This PR is related to facebook#22990

Changelog:
----------
[Android][Changed]  - move the call to requireNativeComponent from `Checkbox.android.js` to `AndroidCheckBoxNativeComponent.js`
Pull Request resolved: facebook#23003

Reviewed By: TheSavior

Differential Revision: D13690827

Pulled By: rickhanlonii

fbshipit-source-id: 08bc83a7f097414b5c833a3b43715e5aec277d65
  • Loading branch information
nissy-dev authored and facebook-github-bot committed Jan 16, 2019
1 parent 651ca75 commit c669734
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 7 deletions.
51 changes: 51 additions & 0 deletions Libraries/Components/CheckBox/AndroidCheckBoxNativeComponent.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @flow
* @format
*/
'use strict';

const requireNativeComponent = require('requireNativeComponent');

import type {ViewProps} from 'ViewPropTypes';
import type {SyntheticEvent} from 'CoreEventTypes';
import type {NativeComponent} from 'ReactNative';

type CheckBoxEvent = SyntheticEvent<
$ReadOnly<{|
target: number,
value: boolean,
|}>,
>;

type NativeProps = $ReadOnly<{|
...ViewProps,

/**
* Used in case the props change removes the component.
*/
onChange?: ?(event: CheckBoxEvent) => mixed,

/**
* Invoked with the new value when the value changes.
*/
onValueChange?: ?(value: boolean) => mixed,

/**
* Used to locate this view in end-to-end tests.
*/
testID?: ?string,

on?: ?boolean,
enabled?: boolean,
|}>;

type CheckBoxNativeType = Class<NativeComponent<NativeProps>>;

module.exports = ((requireNativeComponent(
'AndroidCheckBox',
): any): CheckBoxNativeType);
10 changes: 3 additions & 7 deletions Libraries/Components/CheckBox/CheckBox.android.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @flow
* @flow strict-local
* @format
*/
'use strict';

const React = require('React');
const StyleSheet = require('StyleSheet');

const requireNativeComponent = require('requireNativeComponent');
const AndroidCheckBoxNativeComponent = require('AndroidCheckBoxNativeComponent');
const nullthrows = require('nullthrows');
const setAndForwardRef = require('setAndForwardRef');

Expand Down Expand Up @@ -76,10 +76,6 @@ type Props = $ReadOnly<{|
forwardedRef?: ?React.Ref<CheckBoxNativeType>,
|}>;

const RCTCheckBox = ((requireNativeComponent(
'AndroidCheckBox',
): any): CheckBoxNativeType);

/**
* Renders a boolean input (Android only).
*
Expand Down Expand Up @@ -169,7 +165,7 @@ class CheckBox extends React.Component<Props> {
};

return (
<RCTCheckBox
<AndroidCheckBoxNativeComponent
{...nativeProps}
ref={this._setNativeRef}
onChange={this._onChange}
Expand Down

0 comments on commit c669734

Please sign in to comment.