UNPKG

lml-main

Version:

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

67 lines 4.64 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const React = require("react"); const react_redux_1 = require("react-redux"); const Actions = require("../../../frequencies/actions"); const Selectors = require("../../../frequencies/selectors"); const cosmo_ui_auth_1 = require("@lml/cosmo-ui-auth"); const components_1 = require("../../../common/components"); const cosmoui_1 = require("cosmoui"); const frequency_service_centre_1 = require("./frequency-service-centre"); const frequency_service_centre_item_list_1 = require("./frequency-service-centre-item-list"); const styles = require('./frequency-select-modal.scss'); const mapImage = require('../../assets/map.png'); class FrequencySelectModalComponent extends React.Component { constructor() { super(...arguments); this.renderGlobalSwitch = () => this.props.isSuperUser ? (React.createElement(cosmoui_1.Row, { className: styles.autoAllocation }, React.createElement("label", { htmlFor: "autoAllocation" }, "Auto Allocation\u00A0"), React.createElement(components_1.ToggleButton, { on: this.props.autoAllocationGlobal, disabled: !this.props.isSuperUser, onClick: this.setAutoAllocationGlobal }))) : null; this.renderRegions = () => (React.createElement(cosmoui_1.Accordion, { id: "changeCourierFrequency", firstOpen: true }, this.props.regions.map((region, i) => { const serviceCentres = this.props.getServiceCentresByRegionName(region.name); return (React.createElement(cosmoui_1.AccordionSection, { id: `region-${region.name.replace(' ', '-')}`, key: `region-${i}`, title: region.name }, serviceCentres.map((serviceCentre, j) => (React.createElement(frequency_service_centre_1.FrequencyServiceCentre, { id: `service-centre-${serviceCentre.code}`, key: `service-centre-${j}`, serviceCentre: serviceCentre }))))); }))); this.setAutoAllocationGlobal = () => { this.props.setAutoAllocationGlobal(!this.props.autoAllocationGlobal); }; this.getAutoGlobalClassName = () => this.props.autoAllocationGlobal ? styles.autoGlobalOn : styles.autoGlobalOff; } mkUpdateAction() { return () => { this.props.updateFrequenciesFromModal(); this.props.closeModal(this.props.currentModal.modalType); }; } render() { return (React.createElement(cosmoui_1.Modal, { className: styles.modalPopup, closeButton: true }, React.createElement(cosmoui_1.ModalContent, { className: styles.modalContent }, React.createElement(cosmoui_1.Column, { fullWidth: true }, React.createElement(cosmoui_1.Row, { fullWidth: true, justify: "space-between", className: styles.header, shrink: 0 }, React.createElement(cosmoui_1.Header, { size: "sm", primary: true }, "SELECT FREQUENCIES"), this.renderGlobalSwitch()), React.createElement(cosmoui_1.Row, { fullWidth: true, align: "flex-start", className: styles.details }, React.createElement(cosmoui_1.Column, { fullWidth: true, className: styles.map }, React.createElement(cosmoui_1.Image, { url: mapImage, width: "279px", height: "455px" })), React.createElement(cosmoui_1.Column, { fullWidth: true, className: styles.regionsList }, this.renderRegions()), React.createElement(cosmoui_1.Column, { fullWidth: true, className: styles.frequenciesList }, React.createElement(frequency_service_centre_item_list_1.FrequencyServiceCentreItemList, null))), React.createElement(cosmoui_1.Row, { justify: "flex-end", shrink: 0 }, React.createElement(cosmoui_1.Button, { id: "btn-frequency-modal-update", onClick: this.mkUpdateAction() }, "UPDATE")))))); } } const mapStateToProps = (state, ownProps) => ({ regions: Selectors.getRegions(state), autoAllocationGlobal: Selectors.autoAllocationGlobal(state), isSuperUser: cosmo_ui_auth_1.isSuperuser(state), getServiceCentresByRegionName: (name) => Selectors.getServiceCentresByRegionName(state, name), }); const mapActionsToProps = { closeModal: cosmoui_1.closeModal, updateFrequenciesFromModal: Actions.updateFrequenciesFromModal, setAutoAllocationGlobal: Actions.setAutoAllocationGlobal, }; exports.FrequencySelectModal = react_redux_1.connect(mapStateToProps, mapActionsToProps)(FrequencySelectModalComponent); //# sourceMappingURL=frequency-select-modal.js.map