Merge pull request #19041 from eirikurn/fix-callbacks

Fix callbacks in react-portal and react-sidebar
This commit is contained in:
Daniel Rosenwasser
2017-08-17 12:29:58 -07:00
committed by GitHub
4 changed files with 36 additions and 16 deletions
+5 -5
View File
@@ -7,7 +7,7 @@
import * as React from "react";
interface CallBackProps extends React.Props<any> {
closePortal(): {};
closePortal(): void;
}
interface ReactPortalProps {
@@ -15,10 +15,10 @@ interface ReactPortalProps {
openByClickOn?: React.ReactElement<CallBackProps>;
closeOnEsc?: boolean;
closeOnOutsideClick?: boolean;
onOpen?(node: HTMLDivElement): {};
beforeClose?(node: HTMLDivElement, resetPortalState: () => void): {};
onClose?(): {};
onUpdate?(): {};
onOpen?(node: HTMLDivElement): void;
beforeClose?(node: HTMLDivElement, resetPortalState: () => void): void;
onClose?(): void;
onUpdate?(): void;
}
declare const ReactPortal: React.ComponentClass<ReactPortalProps>;
+19 -7
View File
@@ -8,17 +8,29 @@ export default class App extends React.Component {
const button1 = <button>Open portal with pseudo modal</button>;
return (
<Portal closeOnEsc closeOnOutsideClick openByClickOn={button1}>
<PseudoModal>
<h2>Pseudo Modal</h2>
<p>This react component is appended to the document body.</p>
</PseudoModal>
</Portal>
<div>
<Portal
isOpened={false}
openByClickOn={button1}
closeOnEsc
closeOnOutsideClick
onOpen={(node: HTMLDivElement) => {}}
beforeClose={(node: HTMLDivElement, resetPortalState) => resetPortalState()}
onClose={() => {}}
onUpdate={() => {}}
>
<PseudoModal>
<h2>Pseudo Modal</h2>
<p>This react component is appended to the document body.</p>
</PseudoModal>
</Portal>
<Portal />
</div>
);
}
}
export class PseudoModal extends React.Component<{ closePortal?(): {} }> {
export class PseudoModal extends React.Component<{ closePortal?(): void }> {
render() {
return (
<div>
+1 -1
View File
@@ -10,7 +10,7 @@ export interface SidebarProps {
contentClassName?: string;
docked?: boolean;
dragToggleDistance?: number;
onSetOpen?(): {};
onSetOpen?(): void;
open?: boolean;
overlayClassName?: string;
pullRight?: boolean;
+11 -3
View File
@@ -7,6 +7,14 @@ const sidebarStyle: SidebarStyles = {
content: { width: "300px" }
};
const sidebar1 = <Sidebar docked={true} open={true} sidebar={sidebar} styles={sidebarStyle}>
<h1>Content</h1>
</Sidebar>;
const sidebar1 = (
<Sidebar
docked={true}
open={true}
sidebar={sidebar}
styles={sidebarStyle}
onSetOpen={() => {}}
>
<h1>Content</h1>
</Sidebar>
);