Revert "react-onclickoutside update props of wrapped components"

This commit is contained in:
Karol Janyst
2017-04-18 11:31:02 +09:00
committed by GitHub
parent e2011ed6bf
commit b93afd9a69
3 changed files with 31 additions and 66 deletions
+16 -22
View File
@@ -1,35 +1,29 @@
// Type definitions for react-onclickoutside 5.7
// Type definitions for react-onclickoutside v5.7.0
// Project: https://github.com/Pomax/react-onclickoutside
// Definitions by: Karol Janyst <https://github.com/LKay>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.1
import * as React from 'react';
import * as React from "react";
declare namespace OnClickOut {
interface HandleClickOutside<T> {
handleClickOutside: React.MouseEventHandler<T>;
declare namespace ReactOnClickOutside {
interface OnClickOutsideComponent {
handleClickOutside(e: React.MouseEvent<any>): void
}
interface InjectedOnClickOutProps {
disableOnClickOutside(): void;
enableOnClickOutside(): void;
interface OnClickOutsideProps {
disableOnClickOutside?: boolean | Function
enableOnClickOutside?: Function
eventTypes?: string | Array<string>
outsideClickIgnoreClass?: string
preventDefault?: boolean
stopPropagation?: boolean
}
interface OnClickOutProps {
disableOnClickOutside?: boolean;
eventTypes?: string | string[];
outsideClickIgnoreClass?: string;
preventDefault?: boolean;
stopPropagation?: boolean;
interface onClickOutside {
<A>(component: React.ComponentClass<A> | React.StatelessComponent<A>): React.ComponentClass<A & OnClickOutsideProps>
}
}
type DecoratedComponent<P> = React.ComponentClass<P & OnClickOut.OnClickOutProps>;
declare function OnClickOut<P>(
component: React.StatelessComponent<P & OnClickOut.InjectedOnClickOutProps & OnClickOut.HandleClickOutside<any>> |
React.ComponentClass<P & OnClickOut.InjectedOnClickOutProps & Partial<OnClickOut.HandleClickOutside<any>>>
): DecoratedComponent<P>;
export = OnClickOut;
declare const onClickOutside: ReactOnClickOutside.onClickOutside
export = onClickOutside;
@@ -1,47 +1,21 @@
import * as React from 'react';
import { Component, MouseEvent, StatelessComponent } from 'react';
import { render } from 'react-dom';
import * as onClickOutside from 'react-onclickoutside';
import * as React from "react"
import { Component, StatelessComponent, MouseEvent } from "react"
import { render } from "react-dom"
import * as onClickOutside from "react-onclickoutside"
function TestStateless(props: { handleClickOutside(): void; }) {
return (
<div>Test</div>
);
interface TestProps {}
var TestStateless: StatelessComponent<TestProps> = (props: TestProps) => {
return (<div>Test</div>)
}
const TestStatelessWrapped = onClickOutside(TestStateless);
var TestStatelessWrapped = onClickOutside(TestStateless)
render(
<TestStatelessWrapped
eventTypes="click"
disableOnClickOutside
preventDefault
stopPropagation
outsideClickIgnoreClass="ignore"
handleClickOutside={() => console.log('Stateless HandleClickOutside')}
/>,
<TestStatelessWrapped eventTypes="click"
disableOnClickOutside
preventDefault
stopPropagation
outsideClickIgnoreClass="ignore" />,
document.getElementById("main")
);
class TestComponent extends React.Component<{ disableOnClickOutside(): void; enableOnClickOutside(): void; }, {}> implements onClickOutside.HandleClickOutside<any> {
handleClickOutside = () => {
console.log('this.handleClickOutside');
}
render() {
return (
<div onClick={this.props.disableOnClickOutside}>TestComponent</div>
);
}
}
const WrappedComponent = onClickOutside<{}>(TestComponent);
render(
<WrappedComponent
eventTypes="whatever"
preventDefault
stopPropagation
/>,
document.getElementById("main")
);
)
-3
View File
@@ -1,3 +0,0 @@
{
"extends": "dtslint/dt.json"
}