lml-main
Version:
This is now a mono repository published into many standalone packages.
24 lines • 1.76 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const React = require("react");
const react_redux_1 = require("react-redux");
const cx = require("classnames");
const cosmoui_1 = require("cosmoui");
const cosmo_redux_api_1 = require("@lml/cosmo-redux-api");
const styles = require('app/couriers/styles/courier-job-counts.scss');
const statuses = [
{ key: 'allocated', icon: 'Allocated', label: 'Allocated jobs', fill: '#c3c6cc' },
{ key: 'accepted', icon: 'Accepted', label: 'Accepted jobs', fill: 'primary' },
{ key: 'progress', icon: 'InProgress', label: 'In progress jobs', fill: '#b1dff8', secondaryFill: 'primary' },
{ key: 'completed', icon: 'Success', label: 'Completed jobs', fill: 'primary' },
];
const numJobs = (jobs) => jobs
? Object.keys(jobs).length
: 0;
const CourierJobCountsComponent = ({ courier }) => React.createElement(cosmoui_1.Row, { className: styles.container }, statuses.map(({ key, icon, label, fill, secondaryFill }) => React.createElement(cosmoui_1.Row, { key: key, "data-tooltip": label, "data-tooltip-at": "bottom", className: cx(styles.item, styles[key]) },
React.createElement(cosmoui_1.Icon, { fill: fill, secondaryFill: secondaryFill, icon: icon, size: 15, className: styles.statusIcon }),
React.createElement("span", { id: `${courier.refId}-courier-job-counts-${key}`, className: styles.statusText }, numJobs(courier[key])))));
const mapStateToProps = (state, ownProps) => (Object.assign({}, ownProps, { courier: cosmo_redux_api_1.getCourierById(state, ownProps.refId) }));
const mapDispatchToProps = {};
exports.CourierJobCounts = react_redux_1.connect(mapStateToProps, mapDispatchToProps)(CourierJobCountsComponent);
//# sourceMappingURL=courier-job-counts.js.map