mirror of
https://github.com/aclindsa/moneygo.git
synced 2025-06-13 13:39:23 -04:00
Add lots of backend and back-frontend report infrastructure
This commit is contained in:
@ -8,7 +8,6 @@ var SecurityTemplateReducer = require('./SecurityTemplateReducer');
|
||||
var SelectedAccountReducer = require('./SelectedAccountReducer');
|
||||
var SelectedSecurityReducer = require('./SelectedSecurityReducer');
|
||||
var ReportReducer = require('./ReportReducer');
|
||||
var SelectedReportReducer = require('./SelectedReportReducer');
|
||||
var TransactionReducer = require('./TransactionReducer');
|
||||
var TransactionPageReducer = require('./TransactionPageReducer');
|
||||
var ImportReducer = require('./ImportReducer');
|
||||
@ -23,7 +22,6 @@ module.exports = Redux.combineReducers({
|
||||
selectedAccount: SelectedAccountReducer,
|
||||
selectedSecurity: SelectedSecurityReducer,
|
||||
reports: ReportReducer,
|
||||
selectedReport: SelectedReportReducer,
|
||||
transactions: TransactionReducer,
|
||||
transactionPage: TransactionPageReducer,
|
||||
imports: ImportReducer,
|
||||
|
@ -3,15 +3,78 @@ var assign = require('object-assign');
|
||||
var ReportConstants = require('../constants/ReportConstants');
|
||||
var UserConstants = require('../constants/UserConstants');
|
||||
|
||||
module.exports = function(state = {}, action) {
|
||||
const initialState = {
|
||||
map: {},
|
||||
tabulations: {},
|
||||
list: [],
|
||||
selected: -1,
|
||||
selectedTabulation: null,
|
||||
seriesTraversal: []
|
||||
};
|
||||
|
||||
module.exports = function(state = initialState, action) {
|
||||
switch (action.type) {
|
||||
case ReportConstants.REPORT_FETCHED:
|
||||
var report = action.report;
|
||||
case ReportConstants.REPORTS_FETCHED:
|
||||
var selected = -1;
|
||||
var reports = {};
|
||||
var list = [];
|
||||
for (var i = 0; i < action.reports.length; i++) {
|
||||
var report = action.reports[i];
|
||||
reports[report.ReportId] = report;
|
||||
list.push(report.ReportId);
|
||||
if (state.selected == report.ReportId)
|
||||
selected = state.selected;
|
||||
}
|
||||
return assign({}, state, {
|
||||
map: reports,
|
||||
list: list,
|
||||
tabulations: {},
|
||||
selected: selected
|
||||
});
|
||||
case ReportConstants.REPORT_CREATED:
|
||||
case ReportConstants.REPORT_UPDATED:
|
||||
var report = action.report;
|
||||
var reports = assign({}, state.map, {
|
||||
[report.ReportId]: report
|
||||
});
|
||||
|
||||
var list = [];
|
||||
for (var reportId in reports) {
|
||||
if (reports.hasOwnProperty(reportId))
|
||||
list.push(report.ReportId);
|
||||
}
|
||||
return assign({}, state, {
|
||||
map: reports,
|
||||
list: list
|
||||
});
|
||||
case ReportConstants.REPORT_REMOVED:
|
||||
var selected = state.selected;
|
||||
if (action.reportId == selected)
|
||||
selected = -1;
|
||||
var reports = assign({}, state.map);
|
||||
delete reports[action.reportId];
|
||||
return assign({}, state, {
|
||||
map: reports,
|
||||
selected: selected
|
||||
});
|
||||
case ReportConstants.REPORT_SELECTED:
|
||||
return assign({}, state, {
|
||||
selected: action.report.ReportId,
|
||||
selectedTabulation: null,
|
||||
seriesTraversal: []
|
||||
});
|
||||
case ReportConstants.TABULATION_FETCHED:
|
||||
var tabulation = action.tabulation;
|
||||
return assign({}, state, {
|
||||
[tabulation.ReportId]: tabulation
|
||||
});
|
||||
case ReportConstants.SERIES_SELECTED:
|
||||
return {
|
||||
selectedTabulation: action.tabulation,
|
||||
seriesTraversal: action.seriesTraversal
|
||||
};
|
||||
case UserConstants.USER_LOGGEDOUT:
|
||||
return {};
|
||||
return initialState;
|
||||
default:
|
||||
return state;
|
||||
}
|
||||
|
@ -1,23 +0,0 @@
|
||||
var assign = require('object-assign');
|
||||
|
||||
var ReportConstants = require('../constants/ReportConstants');
|
||||
var UserConstants = require('../constants/UserConstants');
|
||||
|
||||
const initialState = {
|
||||
report: null,
|
||||
seriesTraversal: []
|
||||
};
|
||||
|
||||
module.exports = function(state = initialState, action) {
|
||||
switch (action.type) {
|
||||
case ReportConstants.REPORT_SELECTED:
|
||||
return {
|
||||
report: action.report,
|
||||
seriesTraversal: action.seriesTraversal
|
||||
};
|
||||
case UserConstants.USER_LOGGEDOUT:
|
||||
return initialState;
|
||||
default:
|
||||
return state;
|
||||
}
|
||||
};
|
Reference in New Issue
Block a user