lml-main
Version:
This is now a mono repository published into many standalone packages.
57 lines • 2.88 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const React = require("react");
const react_redux_1 = require("react-redux");
const FrequenciesActions = require("../../../frequencies/actions");
const selectors_1 = require("../../../frequencies/selectors");
const cosmoui_1 = require("cosmoui");
const components_1 = require("../../../common/components");
const styles = require('./frequency-item.scss');
class FrequencyItemComponent extends React.Component {
constructor() {
super(...arguments);
this.renderAutoEnabledCheckbox = () => {
const id = `frequency-${this.props.frequency.label}`;
return this.props.frequency.availableForAuto ?
React.createElement(components_1.ToggleButton, { on: this.props.isAutoOn, onClick: this.setPendingFrequencyAutoOn })
: null;
};
this.setPendingFrequencySelected = () => {
this.props.setPendingFrequencySelected(this.props.frequency.label, !this.props.selected);
};
this.setPendingFrequencyAutoOn = () => {
console.log('setPendingFrequencyAutoEnabled');
this.props.setPendingFrequencyAutoOn(this.props.frequency.label, !this.props.isAutoOn);
};
this.showAutoLabel = () => this.props.frequency.availableForAuto
? React.createElement("span", { className: styles.smart }, "s")
: null;
}
render() {
const { frequency } = this.props;
// we don't render auto frequencies
if (this.props.isFrequencyAuto)
return null;
const id = `frequency-${frequency.label}`;
return (React.createElement(cosmoui_1.Row, { className: styles.item, fullWidth: true, justify: "flex-start" },
React.createElement("input", { className: styles.input, type: "checkbox", id: id, onChange: this.setPendingFrequencySelected, checked: this.props.selected }),
React.createElement("label", { htmlFor: id, className: styles.label },
frequency.label,
" - ",
frequency.description,
" ",
this.showAutoLabel()),
this.renderAutoEnabledCheckbox()));
}
}
const mapStateToProps = (state, ownProps) => ({
selected: selectors_1.isPendingFrequencySelected(state, ownProps.frequency.label),
isAutoOn: selectors_1.isPendingFrequencyAutoOn(state, ownProps.frequency.label),
isFrequencyAuto: selectors_1.isFrequencyIdAuto(ownProps.frequency.label),
});
const mapDispatchToProps = {
setPendingFrequencySelected: FrequenciesActions.setPendingFrequencySelected,
setPendingFrequencyAutoOn: FrequenciesActions.setPendingFrequencyAutoOn,
};
exports.FrequencyItem = react_redux_1.connect(mapStateToProps, mapDispatchToProps)(FrequencyItemComponent);
//# sourceMappingURL=frequency-item.js.map