Comparing version
152
index.js
@@ -31,66 +31,114 @@ // const telegrafResponseBuilder = require('./src/telegrafResponseBuilder'); | ||
// } | ||
import React, { Component } from "react"; | ||
import { render } from "react-dom"; | ||
class App extends React.PureComponent { | ||
state = {value: 'some\ntext', copied: false}; | ||
const Stocks = ({ items }) => ( | ||
<div className="table-responsive"> | ||
<table className="table"> | ||
<tbody> | ||
{items.map(item => ( | ||
<tr> | ||
<td>{item["gsx$a"]["$t"]}</td> | ||
<td>{item["gsx$b"]["$t"]}</td> | ||
<td>{item["gsx$c"]["$t"]}</td> | ||
<td>{item["gsx$d"]["$t"]}</td> | ||
</tr> | ||
))} | ||
</tbody> | ||
</table> | ||
</div> | ||
); | ||
class App extends Component { | ||
constructor(props) { | ||
super(props); | ||
this.state = { | ||
data: [] | ||
}; | ||
} | ||
componentDidMount() { | ||
fetch( | ||
"https://spreadsheets.google.com/feeds/list/1jX90lWgKE2SmxYCfQn4AXHk1qHjupA40BauyTx2eLhI/od6/public/values?alt=json" | ||
) | ||
.then(data => data.json()) | ||
.then(jsonData => { | ||
console.log(jsonData.feed.entry.reverse()); | ||
this.setState({ | ||
data: jsonData.feed.entry.reverse() | ||
}); | ||
}); | ||
} | ||
render() { | ||
if (this.state.data.length > 0) { | ||
return <Stocks items={this.state.data} />; | ||
} | ||
return <p>Loading....</p>; | ||
} | ||
} | ||
onChange = ({target: {value}}) => { | ||
this.setState({value, copied: false}); | ||
}; | ||
render(<App />, document.getElementById("root")); | ||
onClick = ({target: {innerHTML}}) => { | ||
console.log(`Clicked on "${innerHTML}"!`); // eslint-disable-line | ||
}; | ||
// class App extends React.PureComponent { | ||
// state = {value: 'some\ntext', copied: false}; | ||
onCopy = () => { | ||
this.setState({copied: true}); | ||
}; | ||
// onChange = ({target: {value}}) => { | ||
// this.setState({value, copied: false}); | ||
// }; | ||
render() { | ||
return ( | ||
<div className="app"> | ||
<h1>react-copy-to-clipboard</h1> | ||
// onClick = ({target: {innerHTML}}) => { | ||
// console.log(`Clicked on "${innerHTML}"!`); // eslint-disable-line | ||
// }; | ||
<section className="section"> | ||
<textarea onChange={this.onChange} rows={2} cols={10} value={this.state.value} /> | ||
</section> | ||
// onCopy = () => { | ||
// this.setState({copied: true}); | ||
// }; | ||
<section className="section"> | ||
<h2>1. Button</h2> | ||
<CopyToClipboard onCopy={this.onCopy} text={this.state.value}> | ||
<button>Copy to clipboard with button</button> | ||
</CopyToClipboard> | ||
</section> | ||
// render() { | ||
// return ( | ||
// <div className="app"> | ||
// <h1>react-copy-to-clipboard</h1> | ||
<section className="section"> | ||
<h2>2. Span</h2> | ||
<CopyToClipboard onCopy={this.onCopy} text={this.state.value}> | ||
<span>Copy to clipboard with span</span> | ||
</CopyToClipboard> | ||
</section> | ||
// <section className="section"> | ||
// <textarea onChange={this.onChange} rows={2} cols={10} value={this.state.value} /> | ||
// </section> | ||
<section className="section"> | ||
<h2>3. with onClick</h2> | ||
<CopyToClipboard | ||
onCopy={this.onCopy} | ||
options={{message: 'Whoa!'}} | ||
text={this.state.value}> | ||
<button onClick={this.onClick}>Copy to clipboard with onClick prop</button> | ||
</CopyToClipboard> | ||
</section> | ||
// <section className="section"> | ||
// <h2>1. Button</h2> | ||
// <CopyToClipboard onCopy={this.onCopy} text={this.state.value}> | ||
// <button>Copy to clipboard with button</button> | ||
// </CopyToClipboard> | ||
// </section> | ||
<section className="section"> | ||
{this.state.copied ? <span style={{color: 'red'}}>Copied.</span> : null} | ||
</section> | ||
// <section className="section"> | ||
// <h2>2. Span</h2> | ||
// <CopyToClipboard onCopy={this.onCopy} text={this.state.value}> | ||
// <span>Copy to clipboard with span</span> | ||
// </CopyToClipboard> | ||
// </section> | ||
<section className="section"> | ||
<textarea cols="22" rows="3" style={{marginTop: '1em'}} /> | ||
</section> | ||
</div> | ||
); | ||
} | ||
} | ||
// <section className="section"> | ||
// <h2>3. with onClick</h2> | ||
// <CopyToClipboard | ||
// onCopy={this.onCopy} | ||
// options={{message: 'Whoa!'}} | ||
// text={this.state.value}> | ||
// <button onClick={this.onClick}>Copy to clipboard with onClick prop</button> | ||
// </CopyToClipboard> | ||
// </section> | ||
// <section className="section"> | ||
// {this.state.copied ? <span style={{color: 'red'}}>Copied.</span> : null} | ||
// </section> | ||
const appRoot = document.createElement('div'); | ||
document.body.appendChild(appRoot); | ||
ReactDOM.render(<App />, appRoot); | ||
// <section className="section"> | ||
// <textarea cols="22" rows="3" style={{marginTop: '1em'}} /> | ||
// </section> | ||
// </div> | ||
// ); | ||
// } | ||
// } | ||
// const appRoot = document.createElement('div'); | ||
// document.body.appendChild(appRoot); | ||
// ReactDOM.render(<App />, appRoot); |
@@ -8,3 +8,3 @@ { | ||
"version": "1.0.4" | ||
"version": "1.0.5" | ||
} |
9791
15.61%251
21.84%2
100%