trc-client-core
Version:
The core of the TRC Client
28 lines (26 loc) • 770 B
JavaScript
var Reflux = require('reflux');
var ImmutableStoreMixin = require('reflux-immutable/ImmutableStoreMixin');
var VideoActions = require('trc-client-core/src/media/VideoActions');
var VideoStore = Reflux.createStore({
listenables: VideoActions,
mixins: [ImmutableStoreMixin],
init: function () {
this.setState({
videos: {}
});
},
onFetchVideoCompleted: function (data) {
this.setState({
videos: this.get('videos').set(data.video_id.toString(), data)
});
},
onGetVideo: function (id) {
var video = this.get('videos').get(id);
if(video) {
this.trigger();
} else {
VideoActions.fetchVideo(id);
}
}
});
module.exports = VideoStore;