import React from 'react' import data from '../../data' import Preview from './preview' import Category from './category' export default class Picker extends React.Component { componentWillMount() { var stickyTestElement = document.createElement('div') for (let prefix of ['', '-webkit-', '-ms-', '-moz-', '-o-']) { stickyTestElement.style.position = `${prefix}sticky` } this.hasStickyPosition = !!stickyTestElement.style.position.length } componentDidUpdate() { this.handleScroll() } handleEmojiOver(emoji) { var { preview } = this.refs preview.setState({ emoji: emoji }) } handleScroll() { var target = this.refs.scroll, scrollTop = target.scrollTop if (!this.hasStickyPosition) { Array(data.categories.length).fill().forEach((_, i) => { var category = this.refs[`category-${i}`] if (category) { category.handleScroll(scrollTop) } }) } } render() { var { perLine, emojiSize, sheetURL } = this.props return
Categories
{data.categories.map((category, i) => { if (category.name == 'Skins') return null return })}
} } Picker.propTypes = { onClick: React.PropTypes.func, perLine: React.PropTypes.number, emojiSize: React.PropTypes.number, sheetURL: React.PropTypes.string.isRequired, } Picker.defaultProps = { onClick: (() => {}), emojiSize: 32, perLine: 9, }