///
///
///
import * as React from "react";
import * as ReactDOM from "react-dom";
import { Option, MenuRendererProps } from "react-select-props";
import Select = require("react-select");
const CustomOption = React.createClass({
propTypes: {
children: React.PropTypes.node,
className: React.PropTypes.string,
isDisabled: React.PropTypes.bool,
isFocused: React.PropTypes.bool,
isSelected: React.PropTypes.bool,
onFocus: React.PropTypes.func,
onSelect: React.PropTypes.func,
option: React.PropTypes.object.isRequired,
},
handleMouseDown (event: Event) {
event.preventDefault();
event.stopPropagation();
this.props.onSelect(this.props.option, event);
},
handleMouseEnter (event: Event) {
this.props.onFocus(this.props.option, event);
},
handleMouseMove (event: Event) {
if (this.props.isFocused) return;
this.props.onFocus(this.props.option, event);
},
render () {
return (
{this.props.children}
);
}
});
const CustomValue = React.createClass({
propTypes: {
children: React.PropTypes.node,
placeholder: React.PropTypes.string,
value: React.PropTypes.object
},
render () {
return (
{this.props.children}
);
}
});
class SelectTest extends React.Component, {}> {
render() {
const options: Option[] = [{ label: "Foo", value: "bar" }];
const onChange = (value: any) => console.log(value);
const renderMenu = ({
focusedOption,
focusOption,
labelKey,
options,
selectValue,
valueArray
}: MenuRendererProps) => { return };
const onOpen = () => { return; };
const onClose = () => { return; };
const optionRenderer = (option: Option) => {option.label}
return
;
}
}
class SelectAsyncTest extends React.Component, {}> {
render() {
const getOptions = (input: string, callback: Function) => {
setTimeout(function() {
callback(null, options);
}, 500);
};
const options: Option[] = [{ label: "Foo", value: "bar" }];
const onChange = (value: any) => console.log(value);
return
;
}
}