lml-main
Version:
This is now a mono repository published into many standalone packages.
67 lines • 4.64 kB
JavaScript
;
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