trc-client-core
Version:
The core of the TRC Client
47 lines (40 loc) • 1.52 kB
JavaScript
var Reflux = require('reflux');
var PeanutMixin = require('trc-client-core/src/mixins/PeanutMixin');
var ImmutableStoreMixin = require('reflux-immutable/ImmutableStoreMixin');
var ReportActions = require('trc-client-core/src/report/ReportActions');
var UrlStore = require('bd-stampy/utils/UrlStore');
var DMTReportStore = Reflux.createStore({
listenables: ReportActions,
mixins: [
ImmutableStoreMixin,
PeanutMixin
],
init: function () {
var region = UrlStore.getQueryParams().regionCode || 'ALL_REGIONS';
this.setState({
region: region,
dmtReport: (this.state.get('dmtReports')) ? this.state.get('dmtReports').get(region) : null
});
},
onFetchDmtDataCompleted: function (data) {
var transformShape = {
achieved: ['achieved', 'eligible'],
total: ['total'],
benchmark: ['benchmark'],
table: ['achieved', 'eligible', 'total', 'benchmark', 'gap']
};
var reports = this.transformFromCollection(transformShape, data.certReport);
reports.ALL_REGIONS = this.transformToState(transformShape, data.dmtNationalReport);
this.setState({
dmtReports: reports,
dmtReport: reports[this.state.get('region')]
});
},
onChangeRegion: function(region) {
this.setState({
region: region,
dmtReport: this.state.get('dmtReports').get(region)
});
}
});
module.exports = DMTReportStore;