UNPKG

trc-client-core

Version:
120 lines (103 loc) 2.86 kB
var Reflux = require('reflux'); var RequiredRolesActions = require('trc-client-core/src/requiredRoles/RequiredRolesActions'); var LoadingActions = require('trc-client-core/src/global/LoadingActions'); var RequiredRolesStore = Reflux.createStore({ listenables: RequiredRolesActions, mixins: [ require('reflux-immutable/ImmutableStoreMixin') ], init: function () { this.roles = []; this.jobPositions = []; this.role = null; this.dealershipRoles = {}; this.error = {}; this.adminReport = {}; this.qaReport = {}; this.setState({ dealershipRoles: {}, nominateLoading: false }); }, // Required Role onFetchRequiredRoleCompleted: function(data) { this.role = data; this.trigger(); }, onSaveRequiredRole: function () { LoadingActions.startLoading(); }, onSaveRequiredRoleFailed: function (error) { LoadingActions.showError(error.message); }, onSaveRequiredRoleCompleted: function(data) { LoadingActions.stopLoading(); this.role = data; this.trigger(); }, // Get All Roles onFetchAllRequiredRolesCompleted: function(data){ this.roles = data; this.trigger(); }, // Job Positions onFetchJobPositionsCompleted: function(data){ this.jobPositions = data; this.trigger(); }, // Delaership roles onFetchDealershipRolesCompleted: function(data){ this.setState({ dealershipRoles: data, nominateLoading: false }); }, // Admin Report onFetchAdminReportCompleted: function(data){ this.adminReport = data; this.trigger(data); }, // QA Report onFetchQAReportCompleted: function(data){ this.qaReport = data; this.trigger(data); }, // Nominate onNominate() { this.setState({ nominateLoading: true }); }, onNominateCompleted: function(){ RequiredRolesActions.fetchDealershipRoles(); }, // Re-Nominate onRenominateCompleted: function(){ RequiredRolesActions.fetchDealershipRoles(); }, // Remove onRemoveCompleted: function(){ RequiredRolesActions.fetchDealershipRoles(); }, // Approve/Deny onDecisionCompleted: function(query){ RequiredRolesActions.fetchAdminReport(query); }, // Getters getRole:function() { return this.role; }, getRoles: function(){ return this.roles; }, getJobPositions: function(){ return this.jobPositions; }, getAdminReport: function(){ return this.adminReport; }, getQAReport: function(){ return this.qaReport; } }); module.exports = RequiredRolesStore;