Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 12 additions & 13 deletions examples/formError.js
Original file line number Diff line number Diff line change
@@ -1,44 +1,43 @@
'use strict';

import React from 'react';
import ReactDOM from 'react-dom';
import Tooltip from 'rc-tooltip';
import 'rc-tooltip/assets/bootstrap.less';

var Test = React.createClass({
const Test = React.createClass({
getInitialState() {
return {
visible: false
visible: false,
};
},
handleDestroy(){
handleDestroy() {
this.setState({
destroy:true
destroy: true,
});
},
handleChange(e){
handleChange(e) {
this.setState({
visible:!e.target.value
visible: !e.target.value,
});
},
render() {
if(this.state.destroy){
if (this.state.destroy) {
return null;
}
return <div >
return (<div>
<div style={{marginTop: 100, marginLeft: 100, marginBottom: 100}}>
<Tooltip
visible={this.state.visible}
animation="zoom"
trigger={[]}
overlayStyle={{zIndex:1000}}
overlayStyle={{zIndex: 1000}}
overlay={<span>required!</span>}>
<input onChange={this.handleChange}/>
</Tooltip>
</div>
<button onClick={this.handleDestroy}>destroy</button>
</div>;
}
</div>);
},
});

ReactDOM.render(<Test/>, document.getElementById("__react-content"));
ReactDOM.render(<Test/>, document.getElementById('__react-content'));
31 changes: 15 additions & 16 deletions examples/handleVisibleChange.js
Original file line number Diff line number Diff line change
@@ -1,48 +1,47 @@
'use strict';

import React from 'react';
import ReactDOM from 'react-dom';
import Tooltip from 'rc-tooltip';
import 'rc-tooltip/assets/bootstrap.less';

var Test = React.createClass({
function preventDefault(e) {
e.preventDefault();
}

const Test = React.createClass({
getInitialState() {
return {
visible: false
visible: false,
};
},
handleVisibleChange(visible) {
this.setState({
visible: visible
visible: visible,
});
},
handleDestroy(){
handleDestroy() {
this.setState({
destroy:true
destroy: true,
});
},
render() {
if(this.state.destroy){
if (this.state.destroy) {
return null;
}
return <div >
return (<div>
<div style={{marginTop: 300, marginLeft: 100, marginBottom: 100}}>
<Tooltip
visible={this.state.visible}
animation="zoom"
onVisibleChange={this.handleVisibleChange}
trigger="click"
overlay={<span>i am a tooltip</span>}>
<a href='#' onClick={preventDefault}>trigger</a>
<a href="#" onClick={preventDefault}>trigger</a>
</Tooltip>
</div>
<button onClick={this.handleDestroy}>destroy</button>
</div>;
}
</div>);
},
});

function preventDefault(e) {
e.preventDefault();
}

ReactDOM.render(<Test/>, document.getElementById("__react-content"));
ReactDOM.render(<Test/>, document.getElementById('__react-content'));
44 changes: 18 additions & 26 deletions examples/placement.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
'use strict';

import React from 'react';
import ReactDOM from 'react-dom';
import Tooltip from 'rc-tooltip';
import 'rc-tooltip/assets/bootstrap.less';
const text = <span>提示文字</span>;

var A = (props)=> {
return <a {...props} style={{
const styles = {
display: 'inline-block',
lineHeight: '40px',
height: '40px',
Expand All @@ -17,56 +14,51 @@ var A = (props)=> {
marginRight: '1em',
marginBottom: '1em',
borderRadius: '6px',
}}/>
};

var Test = React.createClass({
const Test = React.createClass({
render() {
return <div>
return (<div>
<Tooltip placement="left" overlay={text}>
<A href="#">左边</A>
<a href="#" style={styles}>左边</a>
</Tooltip>
<Tooltip placement="top" overlay={text}>
<A href="#">上边</A>
<a href="#" style={styles}>上边</a>
</Tooltip>
<Tooltip placement="bottom" overlay={text}>
<A href="#">下边</A>
<a href="#" style={styles}>下边</a>
</Tooltip>
<Tooltip placement="right" overlay={text}>
<A href="#">右边</A>
<a href="#" style={styles}>右边</a>
</Tooltip>
<br />
<Tooltip placement="leftTop" overlay={text}>
<A href="#">左上</A>
<a href="#" style={styles}>左上</a>
</Tooltip>
<Tooltip placement="leftBottom" overlay={text}>
<A href="#">左下</A>
<a href="#" style={styles}>左下</a>
</Tooltip>
<Tooltip placement="rightTop" overlay={text}>
<A href="#">右上</A>
<a href="#" style={styles}>右上</a>
</Tooltip>
<Tooltip placement="rightBottom" overlay={text}>
<A href="#">右下</A>
<a href="#" style={styles}>右下</a>
</Tooltip>
<br />
<Tooltip placement="topLeft" overlay={text}>
<A href="#">上左</A>
<a href="#" style={styles}>上左</a>
</Tooltip>
<Tooltip placement="topRight" overlay={text}>
<A href="#">上右</A>
<a href="#" style={styles}>上右</a>
</Tooltip>
<Tooltip placement="bottomLeft" overlay={text}>
<A href="#">下左</A>
<a href="#" style={styles}>下左</a>
</Tooltip>
<Tooltip placement="bottomRight" overlay={text}>
<A href="#">下右</A>
<a href="#" style={styles}>下右</a>
</Tooltip>
</div>;
}
</div>);
},
});

function preventDefault(e) {
e.preventDefault();
}

ReactDOM.render(<Test/>, document.getElementById("__react-content"));
ReactDOM.render(<Test/>, document.getElementById('__react-content'));
65 changes: 32 additions & 33 deletions examples/simple.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
'use strict';

import React from 'react';
import ReactDOM from 'react-dom';
Expand All @@ -9,15 +8,15 @@ import assign from 'object-assign';
// do not use rc-tooltip/lib/placements
import placements from 'rc-tooltip/src/placements';

var Test = React.createClass({
const Test = React.createClass({
getInitialState() {
const placement='right';
const placement = 'right';
const offset = placements[placement].offset;
return {
destroyTooltipOnHide:false,
destroyTooltipOnHide: false,
placement: placement,
trigger: {
hover: 1
hover: 1,
},
offsetX: offset[0],
offsetY: offset[1],
Expand All @@ -35,74 +34,74 @@ var Test = React.createClass({

onTransitionChange(e) {
this.setState({
transitionName: e.target.checked ? e.target.value : ''
transitionName: e.target.checked ? e.target.value : '',
});
},

onTriggerChange(e) {
var trigger = assign({}, this.state.trigger);
const trigger = assign({}, this.state.trigger);
if (e.target.checked) {
trigger[e.target.value] = 1;
} else {
delete trigger[e.target.value];
}
this.setState({
trigger: trigger
trigger: trigger,
});
},

onOffsetXChange(e) {
var targetValue = e.target.value;
const targetValue = e.target.value;
this.setState({
offsetX: targetValue ? targetValue : undefined,
});
},

onOffsetYChange(e) {
var targetValue = e.target.value;
const targetValue = e.target.value;
this.setState({
offsetY: targetValue ? targetValue : undefined,
});
},

preventDefault(e) {
e.preventDefault();
},

onVisibleChange(visible) {
console.log('tooltip', visible);
},

onDestroyCheck() {
this.setState({
destroyTooltipOnHide: !this.state.destroyTooltipOnHide
destroyTooltipOnHide: !this.state.destroyTooltipOnHide,
});
},

preventDefault(e) {
e.preventDefault();
},

render() {
var state = this.state;
var trigger = state.trigger;
return <div >
const state = this.state;
const trigger = state.trigger;
return (<div>
<div style={{margin: '10px 20px'}}>
<label>
placement:
<select value={this.state.placement} onChange={this.onPlacementChange}>
{Object.keys(placements).map(function (p) {
return <option key={p} value={p}>{p}</option>
{Object.keys(placements).map(function(p) {
return <option key={p} value={p}>{p}</option>;
})}
</select>
</label>
&nbsp;&nbsp;&nbsp;&nbsp;
<label>
<input value='rc-tooltip-zoom' type='checkbox' onChange={this.onTransitionChange}
<input value="rc-tooltip-zoom" type="checkbox" onChange={this.onTransitionChange}
checked={this.state.transitionName === 'rc-tooltip-zoom'}/>
transitionName
</label>

&nbsp;&nbsp;&nbsp;&nbsp;

<label>
<input type='checkbox' onChange={this.onDestroyCheck}
<input type="checkbox" onChange={this.onDestroyCheck}
checked={this.state.destroyTooltipOnHide}/>
destroyTooltipOnHide
</label>
Expand All @@ -112,26 +111,26 @@ var Test = React.createClass({
trigger:

<label>
<input value='hover' checked={trigger.hover} type='checkbox' onChange={this.onTriggerChange}/>
<input value="hover" checked={trigger.hover} type="checkbox" onChange={this.onTriggerChange}/>
hover
</label>
<label>
<input value='focus' checked={trigger.focus} type='checkbox' onChange={this.onTriggerChange}/>
<input value="focus" checked={trigger.focus} type="checkbox" onChange={this.onTriggerChange}/>
focus
</label>
<label>
<input value='click' checked={trigger.click} type='checkbox' onChange={this.onTriggerChange}/>
<input value="click" checked={trigger.click} type="checkbox" onChange={this.onTriggerChange}/>
click
</label>
<br/>
<label>
offsetX:
<input type='text' value={state.offsetX} onChange={this.onOffsetXChange} style={{width:50}}/>
<input type="text" value={state.offsetX} onChange={this.onOffsetXChange} style={{width: 50}}/>
</label>
&nbsp;&nbsp;&nbsp;&nbsp;
<label>
offsetY:
<input type='text' value={state.offsetY} onChange={this.onOffsetYChange} style={{width:50}}/>
<input type="text" value={state.offsetY} onChange={this.onOffsetYChange} style={{width: 50}}/>
</label>
</div>
<div style={{margin: 100}}>
Expand All @@ -141,18 +140,18 @@ var Test = React.createClass({
destroyTooltipOnHide={this.state.destroyTooltipOnHide}
trigger={Object.keys(this.state.trigger)}
onVisibleChange={this.onVisibleChange}
overlay={<div style={{height:50,width:50}}>i am a tooltip</div>}
overlay={<div style={{height: 50, width: 50}}>i am a tooltip</div>}
align={{
offset:[this.state.offsetX, this.state.offsetY]
offset: [this.state.offsetX, this.state.offsetY],
}}
transitionName={this.state.transitionName}>
<div style={{height:100,width:100,border:'1px solid red'}}>trigger</div>
<div style={{height: 100, width: 100, border: '1px solid red'}}>trigger</div>
</Tooltip>
</div>
</div>;
}
</div>);
},
});

ReactDOM.render(<div>
<Test />
</div>, document.getElementById("__react-content"));
</div>, document.getElementById('__react-content'));
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
"bootstrap": "~3.3.2",
"expect.js": "~0.3.1",
"jquery": "~1.11.2",
"object-assign": "~4.0.1",
"precommit-hook-eslint": "3.x",
"rc-server": "3.x",
"rc-tools": "4.x",
Expand Down
Loading