trc-client-core
Version:
The core of the TRC Client
170 lines (162 loc) • 8.28 kB
JSX
import React from 'react';
import Grid from 'trc-client-core/src/components/Grid';
import Col from 'trc-client-core/src/components/Col';
import Widget from 'trc-client-core/src/components/Widget';
import HomeCourseWidget from 'trc-client-core/src/components/HomeCourseWidget';
import UserStore from 'trc-client-core/src/user/UserStore';
import Auth from 'trc-client-core/src/components/Auth';
import {STATIC_ASSETS} from 'trc-client-core/src/constants/url';
var HomeFeatureWidgets = React.createClass({
displayName: 'HomeFeatureWidgets',
render() {
return (
<div className="row hug-bottom ">
<Grid modifier="tight">
<Col width={3}>
<Widget className="l-height--homeWidget ">
<h2 className="hug">The Training Resource Centre is packed full of top quality training.</h2>
</Widget>
</Col>
<Col>
{this.renderWidgets()}
</Col>
</Grid>
</div>
);
},
renderWidgets() {
var department = UserStore.get('departmentCategory').get(0);
var site = UserStore.get('site');
var props = {
department: department
};
var grid = React.createFactory(Grid).bind(null, {
modifier: 'tight'
});
switch (department) {
case 'sales':
return (
<div>
<Auth site="TOYOTA" component={grid}>
<HomeCourseWidget {...props} title="My Product Training" image="86.jpg" href="/#/product/vehicles" />
{this.renderEssentialTerminology(props)}
{this.renderElearningWidget(props)}
</Auth>
<Auth site="LEXUS" component={grid}>
<HomeCourseWidget {...props} title="View Bold IS Vehicle Page" image="lexusIS@LEXUS.jpg" href="/#/product/vehicles/IS" />
{this.renderEssentialTerminology(props)}
<HomeCourseWidget {...props} title="My Product Training Plan" image="careerPathway@LEXUS.png" href={this.renderProductTrainingPlanUrl()} />
</Auth>
</div>
);
case 'parts':
return (
<div>
<Auth site="TOYOTA" component={grid}>
<HomeCourseWidget {...props} title="PARTS21 Fundamentals" image='p21f.jpg' href="/#/course/P21F"/>
{this.renderEssentialTerminology(props)}
{this.renderElearningWidget(props)}
</Auth>
<Auth site="LEXUS" component={grid}>
<HomeCourseWidget {...props} title="PARTS21 Fundamentals" image='p21f.jpg' href="/#/course/P21F"/>
{this.renderElearningWidgetLexus(props)}
{this.renderEssentialTerminology(props)}
</Auth>
</div>
);
case 'service':
return (
<div>
<Auth site="TOYOTA" component={grid}>
<HomeCourseWidget {...props} title="My Service Advisor Certification" image={`serviceAdvisor@${site}.jpg`} href="#/portal/learning-plan/service_advisor_cert"/>
{this.renderElearningWidget(props)}
<HomeCourseWidget {...props} title="Warranty" image="warranty.png" href="/#/service/warranty"/>
</Auth>
<Auth site="LEXUS" component={grid}>
<HomeCourseWidget {...props} title="My Service Advisor Certification" image={`serviceAdvisor@${site}.jpg`} href="#/portal/learning-plan/service_advisor_cert"/>
{this.renderEssentialTerminology(props)}
{this.renderElearningWidgetLexus(props)}
</Auth>
</div>
);
case 'management':
if (site === 'LEXUS') {
return this.renderDefaultWidgets(props);
}
return (
<Grid modifier="tight">
<HomeCourseWidget {...props} title="Cert IV Management Foundations" image='mfp.jpg' to="/management/qualification/MFP" />
<HomeCourseWidget {...props} title="Future Dealer Leader's Program" image='fdlp.jpg' to="/management/qualification/FDLP" />
{this.renderElearningWidget(props)}
</Grid>
);
case 'body_paint':
if (site === 'LEXUS') {
return this.renderDefaultWidgets(props);
}
return (
<Grid modifier="tight">
<HomeCourseWidget {...props} title="Body Technician Certification" image='bp@TOYOTA.jpg' href="/#/portal/learning-plan/body_cert" />
<HomeCourseWidget {...props} title="Paint Technician Certification" image='bp_paint@TOYOTA.jpg' href="/#/portal/learning-plan/paint_cert" />
{this.renderElearningWidget(props)}
</Grid>
);
case 'TMCA':
return (
<div>
<Auth site="TOYOTA" component={grid}>
<HomeCourseWidget {...props} title="Toyota For Life" image='tfl_wide.jpg' href="/#/course/TFORL" />
{this.renderEssentialTerminology(props)}
</Auth>
<Auth site="LEXUS" component={grid}>
<HomeCourseWidget {...props} title="My Academy" icon="e158" image="" href="/#/portal" />
{this.renderEssentialTerminology(props)}
</Auth>
</div>
);
default:
return this.renderDefaultWidgets(props);
}
},
renderProductTrainingPlanUrl() {
var learningPlans = UserStore.get('learningPlans');
if(learningPlans.size) {
return `/#/portal/learning-plan/${learningPlans.find(ii => ii.get('careerPlanId') === 'product_training_plan').get('careerPlanId')}`;
}
},
renderDefaultWidgets(props) {
var grid = React.createFactory(Grid).bind(null, {
modifier: 'tight'
});
return (
<div>
<Auth site="TOYOTA" component={grid}>
{this.renderEssentialTerminology(props)}
<HomeCourseWidget {...props} title="Future Dealer Leader's Program" image='fdlp.jpg' to="/management/qualification/FDLP" />
<HomeCourseWidget {...props} title="My TIA" icon="e158" image="" href="/#/portal" />
</Auth>
<Auth site="LEXUS" component={grid}>
{this.renderEssentialTerminology(props)}
<HomeCourseWidget {...props} title="Essential Selling Skills" image="ess.jpg" href="/#/course/ESS" />
<HomeCourseWidget {...props} title="My Academy" icon="e158" image="" href="/#/portal" />
</Auth>
</div>
);
},
renderElearningWidget(props) {
return <HomeCourseWidget {...props} title="Equal Employment Opportunity (online)" image="eeo.jpg" href="/#/course/SPK3000" />;
},
renderElearningWidgetLexus(props) {
return <HomeCourseWidget {...props} title="Equal Employment Opportunity (online)" image="eeo.jpg" href="/#/course/SPK3000" />;
},
renderEssentialTerminology(props) {
return (
<HomeCourseWidget {...props}
title="Essential Terminology"
image="essential-terminology.jpg"
href={`${STATIC_ASSETS}docs/Essential-Automotive-Terminology-062015.pdf`}
/>
);
}
});
module.exports = HomeFeatureWidgets;