diff options
Diffstat (limited to 'src/containers/app/sidebars')
30 files changed, 580 insertions, 0 deletions
diff --git a/src/containers/app/sidebars/elements/LoadBarContainer.js b/src/containers/app/sidebars/elements/LoadBarContainer.js new file mode 100644 index 00000000..ccaf1729 --- /dev/null +++ b/src/containers/app/sidebars/elements/LoadBarContainer.js @@ -0,0 +1,25 @@ +import {connect} from "react-redux"; +import LoadBarComponent from "../../../../components/app/sidebars/elements/LoadBarComponent"; +import {getStateLoad} from "../../../../util/simulation-load"; + +const mapStateToProps = (state, ownProps) => { + let percent = 0; + let enabled = false; + + const objectStates = state.states[ownProps.objectType]; + if (objectStates[state.currentTick] && objectStates[state.currentTick][ownProps.objectId]) { + percent = Math.floor(100 * getStateLoad(state.loadMetric, objectStates[state.currentTick][ownProps.objectId])); + enabled = true; + } + + return { + percent, + enabled + }; +}; + +const LoadBarContainer = connect( + mapStateToProps +)(LoadBarComponent); + +export default LoadBarContainer; diff --git a/src/containers/app/sidebars/elements/LoadChartContainer.js b/src/containers/app/sidebars/elements/LoadChartContainer.js new file mode 100644 index 00000000..227a4fd5 --- /dev/null +++ b/src/containers/app/sidebars/elements/LoadChartContainer.js @@ -0,0 +1,27 @@ +import {connect} from "react-redux"; +import LoadChartComponent from "../../../../components/app/sidebars/elements/LoadChartComponent"; +import {getStateLoad} from "../../../../util/simulation-load"; + +const mapStateToProps = (state, ownProps) => { + const data = []; + + if (state.lastSimulatedTick !== -1) { + const objectStates = state.states[ownProps.objectType]; + Object.keys(objectStates).forEach(tick => { + if (objectStates[tick][ownProps.objectId]) { + data.push({x: tick, y: getStateLoad(state.loadMetric, objectStates[tick][ownProps.objectId])}); + } + }); + } + + return { + data, + currentTick: state.currentTick, + }; +}; + +const LoadChartContainer = connect( + mapStateToProps +)(LoadChartComponent); + +export default LoadChartContainer; diff --git a/src/containers/app/sidebars/simulation/ExperimentMetadataContainer.js b/src/containers/app/sidebars/simulation/ExperimentMetadataContainer.js new file mode 100644 index 00000000..a5e403ce --- /dev/null +++ b/src/containers/app/sidebars/simulation/ExperimentMetadataContainer.js @@ -0,0 +1,29 @@ +import {connect} from "react-redux"; +import ExperimentMetadataComponent from "../../../../components/app/sidebars/simulation/ExperimentMetadataComponent"; + +const mapStateToProps = state => { + if (!state.objects.experiment[state.currentExperimentId]) { + return { + experimentName: "Loading experiment", + pathName: "", + traceName: "", + schedulerName: "", + } + } + + const path = state.objects.path[state.objects.experiment[state.currentExperimentId].pathId]; + const pathName = path.name ? path.name : "Path " + path.id; + + return { + experimentName: state.objects.experiment[state.currentExperimentId].name, + pathName, + traceName: state.objects.trace[state.objects.experiment[state.currentExperimentId].traceId].name, + schedulerName: state.objects.scheduler[state.objects.experiment[state.currentExperimentId].schedulerName].name, + }; +}; + +const ExperimentMetadataContainer = connect( + mapStateToProps +)(ExperimentMetadataComponent); + +export default ExperimentMetadataContainer; diff --git a/src/containers/app/sidebars/simulation/LoadMetricContainer.js b/src/containers/app/sidebars/simulation/LoadMetricContainer.js new file mode 100644 index 00000000..5ce3542c --- /dev/null +++ b/src/containers/app/sidebars/simulation/LoadMetricContainer.js @@ -0,0 +1,14 @@ +import {connect} from "react-redux"; +import LoadMetricComponent from "../../../../components/app/sidebars/simulation/LoadMetricComponent"; + +const mapStateToProps = state => { + return { + loadMetric: state.loadMetric, + } +}; + +const LoadMetricContainer = connect( + mapStateToProps +)(LoadMetricComponent); + +export default LoadMetricContainer; diff --git a/src/containers/app/sidebars/simulation/TaskContainer.js b/src/containers/app/sidebars/simulation/TaskContainer.js new file mode 100644 index 00000000..357bd7ed --- /dev/null +++ b/src/containers/app/sidebars/simulation/TaskContainer.js @@ -0,0 +1,23 @@ +import {connect} from "react-redux"; +import TaskComponent from "../../../../components/app/sidebars/simulation/TaskComponent"; + +const mapStateToProps = (state, ownProps) => { + let flopsLeft = state.objects.task[ownProps.taskId].totalFlopCount; + + if (state.states.task[state.currentTick] && state.states.task[state.currentTick][ownProps.taskId]) { + flopsLeft = state.states.task[state.currentTick][ownProps.taskId].flopsLeft; + } else if (state.objects.task[ownProps.taskId].startTick < state.currentTick) { + flopsLeft = 0; + } + + return { + task: state.objects.task[ownProps.taskId], + flopsLeft, + }; +}; + +const TaskContainer = connect( + mapStateToProps +)(TaskComponent); + +export default TaskContainer; diff --git a/src/containers/app/sidebars/simulation/TraceContainer.js b/src/containers/app/sidebars/simulation/TraceContainer.js new file mode 100644 index 00000000..7955f313 --- /dev/null +++ b/src/containers/app/sidebars/simulation/TraceContainer.js @@ -0,0 +1,22 @@ +import {connect} from "react-redux"; +import TraceComponent from "../../../../components/app/sidebars/simulation/TraceComponent"; + +const mapStateToProps = state => { + if (!state.objects.experiment[state.currentExperimentId] || + !state.objects.trace[state.objects.experiment[state.currentExperimentId].traceId].jobIds) { + return { + jobs: [] + }; + } + + return { + jobs: state.objects.trace[state.objects.experiment[state.currentExperimentId].traceId].jobIds + .map(id => state.objects.job[id]), + }; +}; + +const TraceContainer = connect( + mapStateToProps +)(TraceComponent); + +export default TraceContainer; diff --git a/src/containers/app/sidebars/topology/TopologySidebar.js b/src/containers/app/sidebars/topology/TopologySidebar.js new file mode 100644 index 00000000..ac59f5cc --- /dev/null +++ b/src/containers/app/sidebars/topology/TopologySidebar.js @@ -0,0 +1,14 @@ +import {connect} from "react-redux"; +import TopologySidebarComponent from "../../../../components/app/sidebars/topology/TopologySidebarComponent"; + +const mapStateToProps = state => { + return { + interactionLevel: state.interactionLevel + }; +}; + +const TopologySidebar = connect( + mapStateToProps +)(TopologySidebarComponent); + +export default TopologySidebar; diff --git a/src/containers/app/sidebars/topology/building/BuildingSidebarContainer.js b/src/containers/app/sidebars/topology/building/BuildingSidebarContainer.js new file mode 100644 index 00000000..ce7a308a --- /dev/null +++ b/src/containers/app/sidebars/topology/building/BuildingSidebarContainer.js @@ -0,0 +1,14 @@ +import {connect} from "react-redux"; +import BuildingSidebarComponent from "../../../../../components/app/sidebars/topology/building/BuildingSidebarComponent"; + +const mapStateToProps = state => { + return { + inSimulation: state.currentExperimentId !== -1 + }; +}; + +const BuildingSidebarContainer = connect( + mapStateToProps +)(BuildingSidebarComponent); + +export default BuildingSidebarContainer; diff --git a/src/containers/app/sidebars/topology/building/NewRoomConstructionContainer.js b/src/containers/app/sidebars/topology/building/NewRoomConstructionContainer.js new file mode 100644 index 00000000..3ec1349b --- /dev/null +++ b/src/containers/app/sidebars/topology/building/NewRoomConstructionContainer.js @@ -0,0 +1,28 @@ +import {connect} from "react-redux"; +import { + cancelNewRoomConstruction, + finishNewRoomConstruction, + startNewRoomConstruction +} from "../../../../../actions/topology/building"; +import StartNewRoomConstructionComponent from "../../../../../components/app/sidebars/topology/building/NewRoomConstructionComponent"; + +const mapStateToProps = state => { + return { + currentRoomInConstruction: state.construction.currentRoomInConstruction + }; +}; + +const mapDispatchToProps = dispatch => { + return { + onStart: () => dispatch(startNewRoomConstruction()), + onFinish: () => dispatch(finishNewRoomConstruction()), + onCancel: () => dispatch(cancelNewRoomConstruction()), + }; +}; + +const NewRoomConstructionButton = connect( + mapStateToProps, + mapDispatchToProps +)(StartNewRoomConstructionComponent); + +export default NewRoomConstructionButton; diff --git a/src/containers/app/sidebars/topology/machine/BackToRackContainer.js b/src/containers/app/sidebars/topology/machine/BackToRackContainer.js new file mode 100644 index 00000000..f0ac9220 --- /dev/null +++ b/src/containers/app/sidebars/topology/machine/BackToRackContainer.js @@ -0,0 +1,16 @@ +import {connect} from "react-redux"; +import {goDownOneInteractionLevel} from "../../../../../actions/interaction-level"; +import BackToRackComponent from "../../../../../components/app/sidebars/topology/machine/BackToRackComponent"; + +const mapDispatchToProps = dispatch => { + return { + onClick: () => dispatch(goDownOneInteractionLevel()), + }; +}; + +const BackToRackContainer = connect( + undefined, + mapDispatchToProps +)(BackToRackComponent); + +export default BackToRackContainer; diff --git a/src/containers/app/sidebars/topology/machine/DeleteMachineContainer.js b/src/containers/app/sidebars/topology/machine/DeleteMachineContainer.js new file mode 100644 index 00000000..bfdde179 --- /dev/null +++ b/src/containers/app/sidebars/topology/machine/DeleteMachineContainer.js @@ -0,0 +1,16 @@ +import {connect} from "react-redux"; +import {openDeleteMachineModal} from "../../../../../actions/modals/topology"; +import DeleteMachineComponent from "../../../../../components/app/sidebars/topology/machine/DeleteMachineComponent"; + +const mapDispatchToProps = dispatch => { + return { + onClick: () => dispatch(openDeleteMachineModal()), + }; +}; + +const DeleteMachineContainer = connect( + undefined, + mapDispatchToProps +)(DeleteMachineComponent); + +export default DeleteMachineContainer; diff --git a/src/containers/app/sidebars/topology/machine/MachineNameContainer.js b/src/containers/app/sidebars/topology/machine/MachineNameContainer.js new file mode 100644 index 00000000..9d23dcb6 --- /dev/null +++ b/src/containers/app/sidebars/topology/machine/MachineNameContainer.js @@ -0,0 +1,14 @@ +import {connect} from "react-redux"; +import MachineNameComponent from "../../../../../components/app/sidebars/topology/machine/MachineNameComponent"; + +const mapStateToProps = state => { + return { + position: state.interactionLevel.position, + }; +}; + +const MachineNameContainer = connect( + mapStateToProps +)(MachineNameComponent); + +export default MachineNameContainer; diff --git a/src/containers/app/sidebars/topology/machine/MachineSidebarContainer.js b/src/containers/app/sidebars/topology/machine/MachineSidebarContainer.js new file mode 100644 index 00000000..5c28248c --- /dev/null +++ b/src/containers/app/sidebars/topology/machine/MachineSidebarContainer.js @@ -0,0 +1,16 @@ +import {connect} from "react-redux"; +import MachineSidebarComponent from "../../../../../components/app/sidebars/topology/machine/MachineSidebarComponent"; + +const mapStateToProps = state => { + return { + inSimulation: state.currentExperimentId !== -1, + machineId: state.objects.rack[state.objects.tile[state.interactionLevel.tileId].objectId] + .machineIds[state.interactionLevel.position - 1], + }; +}; + +const MachineSidebarContainer = connect( + mapStateToProps +)(MachineSidebarComponent); + +export default MachineSidebarContainer; diff --git a/src/containers/app/sidebars/topology/machine/UnitAddContainer.js b/src/containers/app/sidebars/topology/machine/UnitAddContainer.js new file mode 100644 index 00000000..f194ebcf --- /dev/null +++ b/src/containers/app/sidebars/topology/machine/UnitAddContainer.js @@ -0,0 +1,22 @@ +import {connect} from "react-redux"; +import {addUnit} from "../../../../../actions/topology/machine"; +import UnitAddComponent from "../../../../../components/app/sidebars/topology/machine/UnitAddComponent"; + +const mapStateToProps = (state, ownProps) => { + return { + units: Object.values(state.objects[ownProps.unitType]), + }; +}; + +const mapDispatchToProps = (dispatch, ownProps) => { + return { + onAdd: (id) => dispatch(addUnit(ownProps.unitType, id)), + }; +}; + +const UnitAddContainer = connect( + mapStateToProps, + mapDispatchToProps +)(UnitAddComponent); + +export default UnitAddContainer; diff --git a/src/containers/app/sidebars/topology/machine/UnitContainer.js b/src/containers/app/sidebars/topology/machine/UnitContainer.js new file mode 100644 index 00000000..12024d5a --- /dev/null +++ b/src/containers/app/sidebars/topology/machine/UnitContainer.js @@ -0,0 +1,23 @@ +import {connect} from "react-redux"; +import {deleteUnit} from "../../../../../actions/topology/machine"; +import UnitComponent from "../../../../../components/app/sidebars/topology/machine/UnitComponent"; + +const mapStateToProps = (state, ownProps) => { + return { + unit: state.objects[ownProps.unitType][ownProps.unitId], + inSimulation: state.currentExperimentId !== -1 + }; +}; + +const mapDispatchToProps = (dispatch, ownProps) => { + return { + onDelete: () => dispatch(deleteUnit(ownProps.unitType, ownProps.index)), + }; +}; + +const UnitContainer = connect( + mapStateToProps, + mapDispatchToProps +)(UnitComponent); + +export default UnitContainer; diff --git a/src/containers/app/sidebars/topology/machine/UnitListContainer.js b/src/containers/app/sidebars/topology/machine/UnitListContainer.js new file mode 100644 index 00000000..e351c63c --- /dev/null +++ b/src/containers/app/sidebars/topology/machine/UnitListContainer.js @@ -0,0 +1,16 @@ +import {connect} from "react-redux"; +import UnitListComponent from "../../../../../components/app/sidebars/topology/machine/UnitListComponent"; + +const mapStateToProps = (state, ownProps) => { + return { + unitIds: state.objects.machine[state.objects.rack[state.objects.tile[state.interactionLevel.tileId].objectId] + .machineIds[state.interactionLevel.position - 1]][ownProps.unitType + "Ids"], + inSimulation: state.currentExperimentId !== -1 + }; +}; + +const UnitListContainer = connect( + mapStateToProps +)(UnitListComponent); + +export default UnitListContainer; diff --git a/src/containers/app/sidebars/topology/machine/UnitTabsContainer.js b/src/containers/app/sidebars/topology/machine/UnitTabsContainer.js new file mode 100644 index 00000000..46952c74 --- /dev/null +++ b/src/containers/app/sidebars/topology/machine/UnitTabsContainer.js @@ -0,0 +1,14 @@ +import {connect} from "react-redux"; +import UnitTabsComponent from "../../../../../components/app/sidebars/topology/machine/UnitTabsComponent"; + +const mapStateToProps = state => { + return { + inSimulation: state.currentExperimentId !== -1, + }; +}; + +const UnitTabsContainer = connect( + mapStateToProps +)(UnitTabsComponent); + +export default UnitTabsContainer; diff --git a/src/containers/app/sidebars/topology/rack/BackToRoomContainer.js b/src/containers/app/sidebars/topology/rack/BackToRoomContainer.js new file mode 100644 index 00000000..01653540 --- /dev/null +++ b/src/containers/app/sidebars/topology/rack/BackToRoomContainer.js @@ -0,0 +1,16 @@ +import {connect} from "react-redux"; +import {goDownOneInteractionLevel} from "../../../../../actions/interaction-level"; +import BackToRoomComponent from "../../../../../components/app/sidebars/topology/rack/BackToRoomComponent"; + +const mapDispatchToProps = dispatch => { + return { + onClick: () => dispatch(goDownOneInteractionLevel()), + }; +}; + +const BackToRoomContainer = connect( + undefined, + mapDispatchToProps +)(BackToRoomComponent); + +export default BackToRoomContainer; diff --git a/src/containers/app/sidebars/topology/rack/DeleteRackContainer.js b/src/containers/app/sidebars/topology/rack/DeleteRackContainer.js new file mode 100644 index 00000000..cf225558 --- /dev/null +++ b/src/containers/app/sidebars/topology/rack/DeleteRackContainer.js @@ -0,0 +1,16 @@ +import {connect} from "react-redux"; +import {openDeleteRackModal} from "../../../../../actions/modals/topology"; +import DeleteRackComponent from "../../../../../components/app/sidebars/topology/rack/DeleteRackComponent"; + +const mapDispatchToProps = dispatch => { + return { + onClick: () => dispatch(openDeleteRackModal()), + }; +}; + +const DeleteRackContainer = connect( + undefined, + mapDispatchToProps +)(DeleteRackComponent); + +export default DeleteRackContainer; diff --git a/src/containers/app/sidebars/topology/rack/EmptySlotContainer.js b/src/containers/app/sidebars/topology/rack/EmptySlotContainer.js new file mode 100644 index 00000000..b8f5e553 --- /dev/null +++ b/src/containers/app/sidebars/topology/rack/EmptySlotContainer.js @@ -0,0 +1,22 @@ +import {connect} from "react-redux"; +import {addMachine} from "../../../../../actions/topology/rack"; +import EmptySlotComponent from "../../../../../components/app/sidebars/topology/rack/EmptySlotComponent"; + +const mapStateToProps = state => { + return { + inSimulation: state.currentExperimentId !== -1 + }; +}; + +const mapDispatchToProps = (dispatch, ownProps) => { + return { + onAdd: () => dispatch(addMachine(ownProps.position)), + }; +}; + +const EmptySlotContainer = connect( + mapStateToProps, + mapDispatchToProps +)(EmptySlotComponent); + +export default EmptySlotContainer; diff --git a/src/containers/app/sidebars/topology/rack/MachineContainer.js b/src/containers/app/sidebars/topology/rack/MachineContainer.js new file mode 100644 index 00000000..cd15ddd0 --- /dev/null +++ b/src/containers/app/sidebars/topology/rack/MachineContainer.js @@ -0,0 +1,35 @@ +import {connect} from "react-redux"; +import {goFromRackToMachine} from "../../../../../actions/interaction-level"; +import MachineComponent from "../../../../../components/app/sidebars/topology/rack/MachineComponent"; +import {getStateLoad} from "../../../../../util/simulation-load"; + +const mapStateToProps = (state, ownProps) => { + const machine = state.objects.machine[ownProps.machineId]; + const inSimulation = state.currentExperimentId !== -1; + + let machineLoad = undefined; + if (inSimulation) { + if (state.states.machine[state.currentTick] && state.states.machine[state.currentTick][machine.id]) { + machineLoad = getStateLoad(state.loadMetric, state.states.machine[state.currentTick][machine.id]); + } + } + + return { + machine, + inSimulation, + machineLoad + }; +}; + +const mapDispatchToProps = (dispatch, ownProps) => { + return { + onClick: () => dispatch(goFromRackToMachine(ownProps.position)), + }; +}; + +const MachineContainer = connect( + mapStateToProps, + mapDispatchToProps +)(MachineComponent); + +export default MachineContainer; diff --git a/src/containers/app/sidebars/topology/rack/MachineListContainer.js b/src/containers/app/sidebars/topology/rack/MachineListContainer.js new file mode 100644 index 00000000..dbedfbb2 --- /dev/null +++ b/src/containers/app/sidebars/topology/rack/MachineListContainer.js @@ -0,0 +1,14 @@ +import {connect} from "react-redux"; +import MachineListComponent from "../../../../../components/app/sidebars/topology/rack/MachineListComponent"; + +const mapStateToProps = state => { + return { + machineIds: state.objects.rack[state.objects.tile[state.interactionLevel.tileId].objectId].machineIds, + }; +}; + +const MachineListContainer = connect( + mapStateToProps +)(MachineListComponent); + +export default MachineListContainer; diff --git a/src/containers/app/sidebars/topology/rack/RackNameContainer.js b/src/containers/app/sidebars/topology/rack/RackNameContainer.js new file mode 100644 index 00000000..49a58155 --- /dev/null +++ b/src/containers/app/sidebars/topology/rack/RackNameContainer.js @@ -0,0 +1,22 @@ +import {connect} from "react-redux"; +import {openEditRackNameModal} from "../../../../../actions/modals/topology"; +import RackNameComponent from "../../../../../components/app/sidebars/topology/rack/RackNameComponent"; + +const mapStateToProps = state => { + return { + rackName: state.objects.rack[state.objects.tile[state.interactionLevel.tileId].objectId].name, + }; +}; + +const mapDispatchToProps = dispatch => { + return { + onEdit: () => dispatch(openEditRackNameModal()), + }; +}; + +const RackNameContainer = connect( + mapStateToProps, + mapDispatchToProps +)(RackNameComponent); + +export default RackNameContainer; diff --git a/src/containers/app/sidebars/topology/rack/RackSidebarContainer.js b/src/containers/app/sidebars/topology/rack/RackSidebarContainer.js new file mode 100644 index 00000000..ba51ee4a --- /dev/null +++ b/src/containers/app/sidebars/topology/rack/RackSidebarContainer.js @@ -0,0 +1,15 @@ +import {connect} from "react-redux"; +import RackSidebarComponent from "../../../../../components/app/sidebars/topology/rack/RackSidebarComponent"; + +const mapStateToProps = state => { + return { + rackId: state.objects.tile[state.interactionLevel.tileId].objectId, + inSimulation: state.currentExperimentId !== -1, + }; +}; + +const RackSidebarContainer = connect( + mapStateToProps +)(RackSidebarComponent); + +export default RackSidebarContainer; diff --git a/src/containers/app/sidebars/topology/room/BackToBuildingContainer.js b/src/containers/app/sidebars/topology/room/BackToBuildingContainer.js new file mode 100644 index 00000000..a6366552 --- /dev/null +++ b/src/containers/app/sidebars/topology/room/BackToBuildingContainer.js @@ -0,0 +1,16 @@ +import {connect} from "react-redux"; +import {goDownOneInteractionLevel} from "../../../../../actions/interaction-level"; +import BackToBuildingComponent from "../../../../../components/app/sidebars/topology/room/BackToBuildingComponent"; + +const mapDispatchToProps = dispatch => { + return { + onClick: () => dispatch(goDownOneInteractionLevel()), + }; +}; + +const BackToBuildingContainer = connect( + undefined, + mapDispatchToProps +)(BackToBuildingComponent); + +export default BackToBuildingContainer; diff --git a/src/containers/app/sidebars/topology/room/DeleteRoomContainer.js b/src/containers/app/sidebars/topology/room/DeleteRoomContainer.js new file mode 100644 index 00000000..0c9aef1c --- /dev/null +++ b/src/containers/app/sidebars/topology/room/DeleteRoomContainer.js @@ -0,0 +1,16 @@ +import {connect} from "react-redux"; +import {openDeleteRoomModal} from "../../../../../actions/modals/topology"; +import DeleteRoomComponent from "../../../../../components/app/sidebars/topology/room/DeleteRoomComponent"; + +const mapDispatchToProps = dispatch => { + return { + onClick: () => dispatch(openDeleteRoomModal()), + }; +}; + +const DeleteRoomContainer = connect( + undefined, + mapDispatchToProps +)(DeleteRoomComponent); + +export default DeleteRoomContainer; diff --git a/src/containers/app/sidebars/topology/room/RackConstructionContainer.js b/src/containers/app/sidebars/topology/room/RackConstructionContainer.js new file mode 100644 index 00000000..f06a3ab2 --- /dev/null +++ b/src/containers/app/sidebars/topology/room/RackConstructionContainer.js @@ -0,0 +1,23 @@ +import {connect} from "react-redux"; +import {startRackConstruction, stopRackConstruction} from "../../../../../actions/topology/room"; +import RackConstructionComponent from "../../../../../components/app/sidebars/topology/room/RackConstructionComponent"; + +const mapStateToProps = state => { + return { + inRackConstructionMode: state.construction.inRackConstructionMode, + }; +}; + +const mapDispatchToProps = dispatch => { + return { + onStart: () => dispatch(startRackConstruction()), + onStop: () => dispatch(stopRackConstruction()), + }; +}; + +const RackConstructionContainer = connect( + mapStateToProps, + mapDispatchToProps +)(RackConstructionComponent); + +export default RackConstructionContainer; diff --git a/src/containers/app/sidebars/topology/room/RoomNameContainer.js b/src/containers/app/sidebars/topology/room/RoomNameContainer.js new file mode 100644 index 00000000..c1f7f397 --- /dev/null +++ b/src/containers/app/sidebars/topology/room/RoomNameContainer.js @@ -0,0 +1,22 @@ +import {connect} from "react-redux"; +import {openEditRoomNameModal} from "../../../../../actions/modals/topology"; +import RoomNameComponent from "../../../../../components/app/sidebars/topology/room/RoomNameComponent"; + +const mapStateToProps = state => { + return { + roomName: state.objects.room[state.interactionLevel.roomId].name, + }; +}; + +const mapDispatchToProps = dispatch => { + return { + onEdit: () => dispatch(openEditRoomNameModal()), + }; +}; + +const RoomNameContainer = connect( + mapStateToProps, + mapDispatchToProps +)(RoomNameComponent); + +export default RoomNameContainer; diff --git a/src/containers/app/sidebars/topology/room/RoomSidebarContainer.js b/src/containers/app/sidebars/topology/room/RoomSidebarContainer.js new file mode 100644 index 00000000..6371e6a1 --- /dev/null +++ b/src/containers/app/sidebars/topology/room/RoomSidebarContainer.js @@ -0,0 +1,16 @@ +import {connect} from "react-redux"; +import RoomSidebarComponent from "../../../../../components/app/sidebars/topology/room/RoomSidebarComponent"; + +const mapStateToProps = state => { + return { + roomId: state.interactionLevel.roomId, + roomType: state.objects.room[state.interactionLevel.roomId].roomType, + inSimulation: state.currentExperimentId !== -1, + }; +}; + +const RoomSidebarContainer = connect( + mapStateToProps +)(RoomSidebarComponent); + +export default RoomSidebarContainer; diff --git a/src/containers/app/sidebars/topology/room/RoomTypeContainer.js b/src/containers/app/sidebars/topology/room/RoomTypeContainer.js new file mode 100644 index 00000000..8cc1126a --- /dev/null +++ b/src/containers/app/sidebars/topology/room/RoomTypeContainer.js @@ -0,0 +1,14 @@ +import {connect} from "react-redux"; +import RoomTypeComponent from "../../../../../components/app/sidebars/topology/room/RoomTypeComponent"; + +const mapStateToProps = state => { + return { + roomType: state.objects.room[state.interactionLevel.roomId].roomType, + }; +}; + +const RoomNameContainer = connect( + mapStateToProps +)(RoomTypeComponent); + +export default RoomNameContainer; |
