Skip to content

Commit b21e4cb

Browse files
authored
Merge pull request #473 from EndiM/feat/enable-pointer-events-by-clickable-prop
Feat(clickable-prop): add clickable prop to enable pointer events
2 parents 9e876e1 + 1cd7b79 commit b21e4cb

File tree

4 files changed

+30
-4
lines changed

4 files changed

+30
-4
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ className | data-class | String | | extra custom class, can use !importan
7777
scrollHide | data-scroll-hide | Bool | true, false | Hide the tooltip when scrolling, default is true
7878
resizeHide | null | Bool | true, false | Hide the tooltip when resizing the window, default is true
7979
wrapper | null | String | div, span | Selecting the wrapper element of the react tooltip, default is div
80+
clickable | null | Bool | true, false | Enables tooltip to respond to mouse (or touch) events, default is false
8081

8182
### Security Note
8283

example/src/index.js

+21
Original file line numberDiff line numberDiff line change
@@ -404,6 +404,27 @@ class Test extends React.Component {
404404
" type={'light'}"}</p>
405405
</div>
406406
</pre>
407+
408+
<p>When <em>clickable</em> property is set to <em>true</em>, tooltip can respond to mouse (or touch) events.</p>
409+
<p className="sub-title"></p>
410+
<div className="example-jsx">
411+
<div className="block" >
412+
<a data-tip data-for='clickme' data-event='click'> (❂‿❂) </a>
413+
</div>
414+
415+
<ReactTooltip id="clickme" place="right" effect="solid" clickable={true}>
416+
<input type="text" placeholder="Type something..." />
417+
</ReactTooltip>
418+
</div>
419+
<br />
420+
<pre className='example-pre'>
421+
<div>
422+
<p>{"<a data-tip data-for='clickme' data-event='click'> (❂‿❂) </a>"}</p>
423+
<p>{"<ReactTooltip id='clickme' place='right' effect='solid' clickable={true}>\n" +
424+
"<input type='text' placeholder='Type something...' /> \n" +
425+
"</ReactTooltip>"}</p>
426+
</div>
427+
</pre>
407428
</div>
408429

409430
</section>

src/index.js

+6-3
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,15 @@ class ReactTooltip extends React.Component {
5757
disable: PropTypes.bool,
5858
scrollHide: PropTypes.bool,
5959
resizeHide: PropTypes.bool,
60-
wrapper: PropTypes.string
60+
wrapper: PropTypes.string,
61+
clickable: PropTypes.bool
6162
};
6263

6364
static defaultProps = {
6465
insecure: true,
6566
resizeHide: true,
66-
wrapper: 'div'
67+
wrapper: 'div',
68+
clickable: false
6769
};
6870

6971
static supportedWrappers = ['div', 'span'];
@@ -539,7 +541,8 @@ class ReactTooltip extends React.Component {
539541
{'type-error': this.state.type === 'error'},
540542
{'type-info': this.state.type === 'info'},
541543
{'type-light': this.state.type === 'light'},
542-
{'allow_hover': this.props.delayUpdate}
544+
{'allow_hover': this.props.delayUpdate},
545+
{'allow_click': this.props.clickable}
543546
)
544547

545548
let Wrapper = this.props.wrapper

src/index.scss

+2-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,8 @@
6767
top: -999em;
6868
visibility: hidden;
6969
z-index: 999;
70-
&.allow_hover {
70+
&.allow_hover,
71+
&.allow_click {
7172
pointer-events:auto;
7273
}
7374
&:before,

0 commit comments

Comments
 (0)