trc-client-core
Version:
The core of the TRC Client
41 lines (36 loc) • 1.27 kB
JavaScript
import {FETCH_SERVICE_EXCELLENCE_REPORT} from 'trc-client-core/src/constants/ActionTypes';
import {color} from 'trc-client-core/src/global/ThemeStore';
import Immutable from 'immutable';
const initialState = null;
var COLOR_MAP = {
'Master Technician': color('TECHNICAL_MT'),
'Diagnosis Technician': color('TECHNICAL_DT'),
'DT Hybrid Specialist': color('TECHNICAL_DT'),
'DT Electrical Specialist': color('TECHNICAL_DT'),
'Pro Technician': color('TECHNICAL_PT'),
'Service Technician': color('TECHNICAL_ST')
};
const ORDER = {
'Service Technician': 1,
'Pro Technician': 2,
'Diagnosis Technician': 3,
'DT Hybrid Specialist': 4,
'DT Electrical Specialist': 5,
'Master Technician': 6
}
function addExtraData(item) {
return item
.set('index' , ORDER[item.get('key')])
.set('backgroundColor', COLOR_MAP[item.get('key')]);
}
export default function serviceExcellenceReport(state = initialState, action) {
switch (action.type) {
case FETCH_SERVICE_EXCELLENCE_REPORT:
return Immutable.fromJS(action.payload)
.map(addExtraData)
.sortBy(item => item.get('index'))
;
default:
return state;
}
}