diff --git a/src/Comments.jsx b/src/Comments.jsx new file mode 100644 index 0000000..2248810 --- /dev/null +++ b/src/Comments.jsx @@ -0,0 +1,50 @@ +import React from 'react'; +import FacebookProvider from './FacebookProvider'; +import ReactDom from 'react-dom'; + +class Comments extends React.Component { + + + static contextTypes = { + ...FacebookProvider.childContextTypes + }; + + static defaultProps = { + href : 'http://www.facebook.com', + layout : 'standard', // standard, button_count, button or box_count + num_posts : 5, + order_by : "social", + width : 550, + colorScheme : 'light' + }; + + componentDidMount() { + var me = this; + this.context.facebook.whenReady(( err, facebook ) => { + if ( err ) { + return; + } + facebook.parse(ReactDom.findDOMNode(me.refs.box), () => { + }); + }); + } + + shouldComponentUpdate() { + return false; + } + + render() { + + var me = this, + props = {}; + Object.keys(Comments.defaultProps).forEach(( v )=>(props["data-" + v] = me.props[v])); + + return ( +
+
+
+ ) + } + +}; +export default Comments; diff --git a/src/CommentsCount.jsx b/src/CommentsCount.jsx new file mode 100644 index 0000000..7a9c248 --- /dev/null +++ b/src/CommentsCount.jsx @@ -0,0 +1,46 @@ +import React from 'react'; +import FacebookProvider from './FacebookProvider'; + +import ReactDom from 'react-dom'; + +class Comments extends React.Component { + + + static contextTypes = { + ...FacebookProvider.childContextTypes + }; + + static defaultProps = { + href : 'http://www.facebook.com' + }; + + componentDidMount() { + var me = this; + this.context.facebook.whenReady(( err, facebook ) => { + if ( err ) { + return; + } + facebook.parse(ReactDom.findDOMNode(me.refs.box), () => { + }); + }); + } + + shouldComponentUpdate() { + return false; + } + + render() { + + var me = this, + props = {}; + Object.keys(Comments.defaultProps).forEach(( v )=>(props["data-" + v] = me.props[v])); + + return ( +
+ 0 Comment(s) +
+ ) + } + +}; +export default Comments; diff --git a/src/index.js b/src/index.js index 841855a..6def538 100644 --- a/src/index.js +++ b/src/index.js @@ -1,9 +1,11 @@ -import FacebookProvider from './FacebookProvider'; -import Like from './Like'; -import Share from './Share'; -import Login from './Login'; -import LoginButton from './LoginButton'; -import EmbeddedPost from './EmbeddedPost'; - -export { Like, Share, Login, LoginButton, EmbeddedPost }; -export default FacebookProvider; +import FacebookProvider from './FacebookProvider'; +import Like from './Like'; +import Share from './Share'; +import Login from './Login'; +import LoginButton from './LoginButton'; +import EmbeddedPost from './EmbeddedPost'; +import Comments from './Comments'; +import CommentsCount from './CommentsCount'; + +export { Like, Share, Login, LoginButton, EmbeddedPost, Comments, CommentsCount }; +export default FacebookProvider;