import React, { Component } from "react"; import { Menu, Button, Grid, Icon, Responsive, Dropdown, } from "semantic-ui-react"; import { editButtonStyle } from "../components/dashboard/devices/styleComponents"; import AutomationModal from "../components/AutomationModal"; import { RemoteService } from "../remote"; import { connect } from "react-redux"; import { appActions } from "../storeActions"; class AutomationsNavbar extends Component { constructor(props) { super(props); this.state = { editMode: false, }; this.toggleEditMode = this.toggleEditMode.bind(this); this.openCurrentModalMobile = this.openCurrentModalMobile.bind(this); } get activeItemAutomation() { return this.props.activeAutomation; } set activeItemAutomation(item) { this.props.setActiveAutomation(item); } get activeItemAutomationsName() { if (this.props.activeAutomation === -1) return "Home"; return this.props.automations[this.props.activeAutomation].name; } openCurrentModalMobile() { console.log(this.activeItemAutomation, this.props.automationsModalRefs); const currentModal = this.props.automationsModalRefs[ this.activeItemAutomation ].current; currentModal.openModal(); } toggleEditMode(e) { this.setState((prevState) => ({ editMode: !prevState.editMode })); } render() { return (
AUTOMATIONS { //INSERT LIST OF AUTOMATIONS HERE } Automations { //INSERT LIST OF AUTOMATIONS HERE } {this.activeItemAutomation !== -1 ? ( ) : null}
); } } const setActiveAutomation = (activeAutomation) => { return (dispatch) => dispatch(appActions.setActiveAutomation(activeAutomation)); }; const mapStateToProps = (state, _) => ({ automations: state.automations, activeAutomation: state.active.activeAutomation, automationModalRefs: Object.keys(state.automations).reduce( (acc, key) => ({ ...acc, [key]: React.createRef() }), {} ), }); const AutomationsNavbarContainer = connect(mapStateToProps, { ...RemoteService, setActiveAutomation, })(AutomationsNavbar); export default AutomationsNavbarContainer;