react-ui-component
Version:
some component build with ReactJs
149 lines (140 loc) • 3.88 kB
JSX
import React, { Component } from 'react';
import {NoticeCenter} from './index';
const handleNoticeClick = (props) => {
alert('onClick')
if (props.link) {
window.open(props.link)
}
}
let nc = NoticeCenter.init()
export default class NoticeDemo extends Component {
showNotice(type = ''){
let notice = {
title: 'Notice: ' + type,
link: 'http://braavos.me',
content: <div>
<b>Lorem Ipsum</b> is simply dummy text of the printing and typesetting industry.
</div>,
}
if (type === 'delay') {
notice.delay = 1000
}
if (type === 'onClick') {
notice.onClick = handleNoticeClick
}
if (type === 'onClose') {
notice.onClose = (item) => {
alert('close ' + item.key)
}
}
if (type === 'manually') {
notice.delay = 0;
}
nc.addNotice(notice)
}
render() {
return (
<div>
<ol>
<li>
<h4>Show Notice</h4>
<pre>
<code>
{`
import {NoticeCenter} from 'react-ui-component';
let nc = NoticeCenter.init(options)
// notice center component options
options: {
className: '', // notice center className hook
...
}
// show notice
nc.addNotice(notice)
// remove notice from index
nc.removeNotice(index)
`}
</code>
</pre>
<button onClick={() => this.showNotice('normal')}>click</button>
<pre>
<code>
{`
let nc = NoticeCenter.init()
nc.addNotice({
title: title,
content: <p>content</p>,
...
})
`}
</code>
</pre>
</li>
<li>
<h4>Notice Delay time</h4>
<button onClick={() => this.showNotice('delay')}>delay: 1000 ms</button>
<pre>
<code>
{`
let nc = NoticeCenter.init()
nc.addNotice({
title: title,
content: <p>content</p>,
delay: 1000,
})
`}
</code>
</pre>
</li>
<li>
<h4>Manually close</h4>
<button onClick={() => this.showNotice('manually')}>click</button>
<pre>
<code>
{`
let nc = NoticeCenter.init()
nc.addNotice({
title: title,
content: <p>content</p>,
delay: 0,
})
`}
</code>
</pre>
</li>
<li>
<h4>onClick</h4>
<button onClick={() => this.showNotice('onClick')}>click</button>
<pre>
<code>
{`
let nc = NoticeCenter.init()
nc.addNotice({
title: title,
content: <p>content</p>,
onClick: onClickFunction
})
`}
</code>
</pre>
</li>
<li>
<h4>onClose</h4>
<button onClick={() => this.showNotice('onClose')}>click</button>
<pre>
<code>
{`
let nc = NoticeCenter.init()
nc.addNotice({
title: title,
content: <p>content</p>,
onClose: onCloseFunction
})
`}
</code>
</pre>
</li>
</ol>
</div>
);
}
}