Make picker’s title and emoji customizable
parent
2feae02477
commit
b0893c39be
|
@ -1,5 +1,6 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>EmojiPicker</title>
|
||||
<link rel="stylesheet" href="../css/emoji-picker.css">
|
||||
</head>
|
||||
|
|
|
@ -60,6 +60,8 @@ class Example extends React.Component {
|
|||
<Operator>import</Operator> {Picker} <Operator>from</Operator> <String>'emoji-picker'</String>
|
||||
<br />
|
||||
<br /><Operator><</Operator><Variable>Picker</Variable>
|
||||
<br /> title<Operator>=</Operator><String>'EmojiPicker'</String>
|
||||
<br /> emoji<Operator>=</Operator><String>'tophat'</String>
|
||||
<br /> emojiSize<Operator>=</Operator>{<Variable>{this.state.emojiSize}</Variable>} <input type='range' data-key='emojiSize' onChange={this.handleInput.bind(this)} min='16' max='64' value={this.state.emojiSize} />
|
||||
<br /> perLine<Operator>=</Operator>{<Variable>{this.state.perLine}</Variable>} {this.state.perLine < 10 ? ' ' : ' '} <input type='range' data-key='perLine' onChange={this.handleInput.bind(this)} min='7' max='16' value={this.state.perLine} />
|
||||
<br /> skin<Operator>=</Operator>{<Variable>{this.state.skin}</Variable>} <input type='range' data-key='skin' onChange={this.handleInput.bind(this)} min='1' max='6' value={this.state.skin} />
|
||||
|
|
|
@ -212,7 +212,7 @@ export default class Picker extends React.Component {
|
|||
}
|
||||
|
||||
render() {
|
||||
var { perLine, emojiSize, sheetURL, style } = this.props,
|
||||
var { perLine, emojiSize, sheetURL, style, title, emoji } = this.props,
|
||||
{ skin } = this.state,
|
||||
width = (perLine * (emojiSize + 12)) + 12 + 2
|
||||
|
||||
|
@ -254,6 +254,8 @@ export default class Picker extends React.Component {
|
|||
<div className='emoji-picker-bar'>
|
||||
<Preview
|
||||
ref='preview'
|
||||
title={title}
|
||||
emoji={emoji}
|
||||
emojiProps={{
|
||||
size: 38,
|
||||
sheetURL: sheetURL,
|
||||
|
@ -274,6 +276,8 @@ Picker.propTypes = {
|
|||
perLine: React.PropTypes.number,
|
||||
emojiSize: React.PropTypes.number,
|
||||
style: React.PropTypes.object,
|
||||
title: React.PropTypes.string,
|
||||
emoji: React.PropTypes.string,
|
||||
sheetURL: React.PropTypes.string.isRequired,
|
||||
}
|
||||
|
||||
|
@ -283,4 +287,6 @@ Picker.defaultProps = {
|
|||
perLine: 9,
|
||||
style: {},
|
||||
skin: 1,
|
||||
title: 'EmojiPicker',
|
||||
emoji: 'tophat',
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@ export default class Preview extends React.Component {
|
|||
|
||||
render() {
|
||||
var { emoji } = this.state,
|
||||
{ emojiProps, skinsProps } = this.props
|
||||
{ emojiProps, skinsProps, title, emoji: idleEmoji } = this.props
|
||||
|
||||
if (emoji) {
|
||||
var { emoticons } = emoji,
|
||||
|
@ -50,14 +50,14 @@ export default class Preview extends React.Component {
|
|||
return <div className='emoji-picker-preview'>
|
||||
<div className='emoji-picker-preview-emoji'>
|
||||
<Emoji
|
||||
emoji='tophat'
|
||||
emoji={idleEmoji}
|
||||
{...emojiProps}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className='emoji-picker-preview-data'>
|
||||
<span className='emoji-picker-title-label'>
|
||||
EmojiPicker
|
||||
{title}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
@ -72,6 +72,8 @@ export default class Preview extends React.Component {
|
|||
}
|
||||
|
||||
Preview.propTypes = {
|
||||
title: React.PropTypes.string.isRequired,
|
||||
emoji: React.PropTypes.string.isRequired,
|
||||
emojiProps: React.PropTypes.object.isRequired,
|
||||
skinsProps: React.PropTypes.object.isRequired,
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue