mirror of
https://github.com/ascribe/onion.git
synced 2024-12-22 17:33:14 +01:00
Load some pieces from API endpoint
This commit is contained in:
parent
8d57962f07
commit
4da72d8846
@ -1,11 +1,22 @@
|
|||||||
import alt from '../alt';
|
import alt from '../alt';
|
||||||
|
import ArtworkFetcher from '../fetchers/artwork_fetcher';
|
||||||
|
|
||||||
class ArtworkListActions {
|
class ArtworkListActions {
|
||||||
constructor() {
|
constructor() {
|
||||||
this.generateActions(
|
this.generateActions(
|
||||||
'updateArtworkList'
|
'updateArtworkList'
|
||||||
);
|
);
|
||||||
};
|
}
|
||||||
|
|
||||||
|
fetchArtworkList() {
|
||||||
|
ArtworkFetcher.fetch().end((err, res) => {
|
||||||
|
if (err) {
|
||||||
|
console.error('OMG cannot retrieve the artworks');
|
||||||
|
} else {
|
||||||
|
this.actions.updateArtworkList(res.body['pieces']);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
export default alt.createActions(ArtworkListActions);
|
export default alt.createActions(ArtworkListActions);
|
||||||
|
@ -6,7 +6,7 @@ import Router from 'react-router';
|
|||||||
import AscribeApp from './components/ascribe_app';
|
import AscribeApp from './components/ascribe_app';
|
||||||
import routes from './routes';
|
import routes from './routes';
|
||||||
|
|
||||||
Router.run(routes, Router.HistoryLocation, (AscribeApp) => {
|
Router.run(routes, Router.HashLocation, (AscribeApp) => {
|
||||||
React.render(
|
React.render(
|
||||||
<AscribeApp />,
|
<AscribeApp />,
|
||||||
document.getElementById('main')
|
document.getElementById('main')
|
||||||
|
@ -1,24 +1,75 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import ArtworkFetcher from '../fetchers/artwork_fetcher';
|
|
||||||
import ArtworkListStore from '../stores/artwork_list_store';
|
import ArtworkListStore from '../stores/artwork_list_store';
|
||||||
|
import ArtworkListActions from '../actions/artwork_list_actions';
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
class ArtworkList extends React.Component {
|
class ArtworkList extends React.Component {
|
||||||
componentDidMount() {
|
constructor(props) {
|
||||||
ArtworkFetcher.fetch().end();
|
super(props);
|
||||||
|
this.state = ArtworkListStore.getState();
|
||||||
}
|
}
|
||||||
|
|
||||||
getInitialState() {
|
componentDidMount() {
|
||||||
|
ArtworkListStore.listen(this.onChange);
|
||||||
|
ArtworkListActions.fetchArtworkList();
|
||||||
|
}
|
||||||
|
|
||||||
|
componentWillUnmount() {
|
||||||
|
ArtworkListStore.unlisten(this.onChange);
|
||||||
|
}
|
||||||
|
|
||||||
|
onChange(state) {
|
||||||
|
console.log(this);
|
||||||
|
this.setState(state);
|
||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
|
console.log('render');
|
||||||
return (
|
return (
|
||||||
<ul>
|
<ul>
|
||||||
<li>This is an artwork</li>
|
{this.state.artworkList.map((artwork) => {
|
||||||
|
return (
|
||||||
|
<li>{artwork.title}</li>
|
||||||
|
);
|
||||||
|
})}
|
||||||
</ul>
|
</ul>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
*/
|
||||||
|
|
||||||
|
var ArtworkList = React.createClass({
|
||||||
|
getInitialState() {
|
||||||
|
return ArtworkListStore.getState();
|
||||||
|
},
|
||||||
|
|
||||||
|
componentDidMount() {
|
||||||
|
ArtworkListStore.listen(this.onChange);
|
||||||
|
ArtworkListActions.fetchArtworkList();
|
||||||
|
},
|
||||||
|
|
||||||
|
componentWillUnmount() {
|
||||||
|
ArtworkListStore.unlisten(this.onChange);
|
||||||
|
},
|
||||||
|
|
||||||
|
onChange(state) {
|
||||||
|
console.log(this);
|
||||||
|
this.setState(state);
|
||||||
|
},
|
||||||
|
|
||||||
|
render() {
|
||||||
|
console.log('render');
|
||||||
|
return (
|
||||||
|
<ul>
|
||||||
|
{this.state.artworkList.map((artwork) => {
|
||||||
|
return (
|
||||||
|
<li>{artwork.title}</li>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</ul>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
export default ArtworkList;
|
export default ArtworkList;
|
||||||
|
@ -2,7 +2,7 @@ import request from 'superagent';
|
|||||||
|
|
||||||
var ArtworkListFetcher = {
|
var ArtworkListFetcher = {
|
||||||
fetch() {
|
fetch() {
|
||||||
return request.get('http://staging.ascribe.io/api/users/')
|
return request.get('http://staging.ascribe.io/api/pieces/?page=1&page_size=10')
|
||||||
.auth('dimi@mailinator.com', '0000000000');
|
.auth('dimi@mailinator.com', '0000000000');
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user