UNPKG

lml-main

Version:

This is now a mono repository published into many standalone packages.

49 lines 2.92 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const React = require("react"); const cosmoui_1 = require("cosmoui"); const ts_utils_1 = require("@lml/ts-utils"); const lodash_1 = require("lodash"); const timeslot_1 = require("../../../jobs/components/timeslot"); const job_stop_item_1 = require("./job-stop-item"); const styles = require('./job-stop.scss'); const completed = (completedTime) => completedTime ? `Collected: ${ts_utils_1.formatDate(completedTime)}` : null; const customer = (stop) => `${lodash_1.get(stop, 'contact.name', '')} (${concat(lodash_1.get(stop, 'contact.phone', ''), lodash_1.get(stop, 'contact.mobile', ''))})`; const instructions = (stop) => lodash_1.get(stop, 'instructions', ''); const concat = (...strs) => strs.join('\n').split('\n').filter(Boolean).join(', '); const date = (stop) => ts_utils_1.formatDate(stop.stopTime.earliestTime); const type = (stop) => stop.type === 'collection' ? 'Collect' : (stop.type === 'delivery' ? 'Deliver' : ''); class JobStop extends React.Component { constructor() { super(...arguments); this.renderTimeslot = () => (React.createElement("strong", null, React.createElement(timeslot_1.JobStopTimeSlot, { id: `job-details-${this.props.stop.type}`, refId: this.props.job.refId, stop: this.props.stop }), "| ", lodash_1.get(stop, 'metadata.company'))); } render() { const { stop, completedTime } = this.props; if (!stop) return null; return (React.createElement(cosmoui_1.Column, null, React.createElement(job_stop_item_1.JobStopItem, { icon: "Delivery", iconSize: 12 }, React.createElement("span", { className: styles.header }, React.createElement("strong", null, "STOP ", stop.order, " : ", type(stop), " | "), React.createElement("span", { id: `job-details-${stop.type}-stop-date` }, date(stop)))), React.createElement(job_stop_item_1.JobStopItem, null, this.renderTimeslot()), React.createElement(job_stop_item_1.JobStopItem, null, React.createElement("span", { id: `job-details-${this.props.stop.type}-stop` }, concat(lodash_1.get(stop, 'location.address.streets', []).join(', '), lodash_1.get(stop, 'location.address.town', ''), lodash_1.get(stop, 'stop.location.address.postcode', '').toUpperCase()))), React.createElement(job_stop_item_1.JobStopItem, { icon: "Notes" }, instructions(stop)), React.createElement(job_stop_item_1.JobStopItem, { icon: "Customer" }, customer(stop)), React.createElement(job_stop_item_1.JobStopItem, { icon: "Calendar" }, completed(completedTime)))); } } exports.JobStop = JobStop; //# sourceMappingURL=job-stop.js.map