From f119fc78dda4d1e828dde04f378a63a93e3a0a7e Mon Sep 17 00:00:00 2001 From: Georgios Andreadis Date: Thu, 2 Jul 2020 18:39:28 +0200 Subject: Add current progress on frontend port --- frontend/src/components/app/map/LoadingScreen.js | 2 +- .../components/app/map/groups/DatacenterGroup.js | 40 --------------- .../src/components/app/map/groups/RackGroup.js | 4 +- .../src/components/app/map/groups/RoomGroup.js | 6 +-- .../src/components/app/map/groups/TileGroup.js | 10 ++-- .../src/components/app/map/groups/TopologyGroup.js | 40 +++++++++++++++ .../components/app/map/layers/MapLayerComponent.js | 4 +- .../simulation/ExperimentMetadataComponent.js | 4 +- .../simulation/SimulationSidebarComponent.js | 4 -- .../app/sidebars/simulation/TaskComponent.js | 58 ---------------------- .../app/sidebars/simulation/TraceComponent.js | 20 -------- .../sidebars/topology/machine/UnitAddComponent.js | 4 +- .../app/sidebars/topology/machine/UnitComponent.js | 8 +-- .../sidebars/topology/machine/UnitListComponent.js | 4 +- .../app/sidebars/topology/rack/MachineComponent.js | 4 +- .../sidebars/topology/room/RoomSidebarComponent.js | 11 +--- .../sidebars/topology/room/RoomTypeComponent.js | 8 --- .../app/timeline/TimelineControlsComponent.js | 13 ----- 18 files changed, 63 insertions(+), 181 deletions(-) delete mode 100644 frontend/src/components/app/map/groups/DatacenterGroup.js create mode 100644 frontend/src/components/app/map/groups/TopologyGroup.js delete mode 100644 frontend/src/components/app/sidebars/simulation/TaskComponent.js delete mode 100644 frontend/src/components/app/sidebars/simulation/TraceComponent.js delete mode 100644 frontend/src/components/app/sidebars/topology/room/RoomTypeComponent.js (limited to 'frontend/src/components/app') diff --git a/frontend/src/components/app/map/LoadingScreen.js b/frontend/src/components/app/map/LoadingScreen.js index ca159982..1fd470fc 100644 --- a/frontend/src/components/app/map/LoadingScreen.js +++ b/frontend/src/components/app/map/LoadingScreen.js @@ -4,7 +4,7 @@ import FontAwesome from 'react-fontawesome' const LoadingScreen = () => (
- Loading your datacenter... + Loading your topology...
) diff --git a/frontend/src/components/app/map/groups/DatacenterGroup.js b/frontend/src/components/app/map/groups/DatacenterGroup.js deleted file mode 100644 index 3d3b9702..00000000 --- a/frontend/src/components/app/map/groups/DatacenterGroup.js +++ /dev/null @@ -1,40 +0,0 @@ -import React from 'react' -import { Group } from 'react-konva' -import GrayContainer from '../../../../containers/app/map/GrayContainer' -import RoomContainer from '../../../../containers/app/map/RoomContainer' -import Shapes from '../../../../shapes/index' - -const DatacenterGroup = ({ datacenter, interactionLevel }) => { - if (!datacenter) { - return - } - - if (interactionLevel.mode === 'BUILDING') { - return ( - - {datacenter.roomIds.map(roomId => ( - - ))} - - ) - } - - return ( - - {datacenter.roomIds - .filter(roomId => roomId !== interactionLevel.roomId) - .map(roomId => )} - {interactionLevel.mode === 'ROOM' ? : null} - {datacenter.roomIds - .filter(roomId => roomId === interactionLevel.roomId) - .map(roomId => )} - - ) -} - -DatacenterGroup.propTypes = { - datacenter: Shapes.Datacenter, - interactionLevel: Shapes.InteractionLevel, -} - -export default DatacenterGroup diff --git a/frontend/src/components/app/map/groups/RackGroup.js b/frontend/src/components/app/map/groups/RackGroup.js index 708dcf69..6de939a9 100644 --- a/frontend/src/components/app/map/groups/RackGroup.js +++ b/frontend/src/components/app/map/groups/RackGroup.js @@ -22,12 +22,12 @@ const RackGroup = ({ tile, inSimulation, rackLoad }) => { /> diff --git a/frontend/src/components/app/map/groups/RoomGroup.js b/frontend/src/components/app/map/groups/RoomGroup.js index 230e3c9b..4e3c7410 100644 --- a/frontend/src/components/app/map/groups/RoomGroup.js +++ b/frontend/src/components/app/map/groups/RoomGroup.js @@ -11,7 +11,7 @@ const RoomGroup = ({ currentRoomInConstruction, onClick, }) => { - if (currentRoomInConstruction === room.id) { + if (currentRoomInConstruction === room._id) { return ( {room.tileIds.map(tileId => ( @@ -27,7 +27,7 @@ const RoomGroup = ({ if ( (interactionLevel.mode === 'RACK' || interactionLevel.mode === 'MACHINE') && - interactionLevel.roomId === room.id + interactionLevel.roomId === room._id ) { return [ room.tileIds @@ -44,7 +44,7 @@ const RoomGroup = ({ )) } })()} - + ) } diff --git a/frontend/src/components/app/map/groups/TileGroup.js b/frontend/src/components/app/map/groups/TileGroup.js index 49e2e52b..54f4ae17 100644 --- a/frontend/src/components/app/map/groups/TileGroup.js +++ b/frontend/src/components/app/map/groups/TileGroup.js @@ -9,12 +9,10 @@ import RoomTile from '../elements/RoomTile' const TileGroup = ({ tile, newTile, inSimulation, roomLoad, onClick }) => { let tileObject - switch (tile.objectType) { - case 'RACK': - tileObject = - break - default: - tileObject = null + if (tile.rackId) { + tileObject = + } else { + tileObject = null } let color = ROOM_DEFAULT_COLOR diff --git a/frontend/src/components/app/map/groups/TopologyGroup.js b/frontend/src/components/app/map/groups/TopologyGroup.js new file mode 100644 index 00000000..a40a1d41 --- /dev/null +++ b/frontend/src/components/app/map/groups/TopologyGroup.js @@ -0,0 +1,40 @@ +import React from 'react' +import { Group } from 'react-konva' +import GrayContainer from '../../../../containers/app/map/GrayContainer' +import RoomContainer from '../../../../containers/app/map/RoomContainer' +import Shapes from '../../../../shapes/index' + +const TopologyGroup = ({ topology, interactionLevel }) => { + if (!topology) { + return + } + + if (interactionLevel.mode === 'BUILDING') { + return ( + + {topology.roomIds.map(roomId => ( + + ))} + + ) + } + + return ( + + {topology.roomIds + .filter(roomId => roomId !== interactionLevel.roomId) + .map(roomId => )} + {interactionLevel.mode === 'ROOM' ? : null} + {topology.roomIds + .filter(roomId => roomId === interactionLevel.roomId) + .map(roomId => )} + + ) +} + +TopologyGroup.propTypes = { + topology: Shapes.Topology, + interactionLevel: Shapes.InteractionLevel, +} + +export default TopologyGroup diff --git a/frontend/src/components/app/map/layers/MapLayerComponent.js b/frontend/src/components/app/map/layers/MapLayerComponent.js index 1a31f2b9..940057f9 100644 --- a/frontend/src/components/app/map/layers/MapLayerComponent.js +++ b/frontend/src/components/app/map/layers/MapLayerComponent.js @@ -1,6 +1,6 @@ import React from 'react' import { Group, Layer } from 'react-konva' -import DatacenterContainer from '../../../../containers/app/map/DatacenterContainer' +import TopologyContainer from '../../../../containers/app/map/TopologyContainer' import Backdrop from '../elements/Backdrop' import GridGroup from '../groups/GridGroup' @@ -13,7 +13,7 @@ const MapLayerComponent = ({ mapPosition, mapScale }) => ( scaleY={mapScale} > - + diff --git a/frontend/src/components/app/sidebars/simulation/ExperimentMetadataComponent.js b/frontend/src/components/app/sidebars/simulation/ExperimentMetadataComponent.js index 54a8b5e9..30990a13 100644 --- a/frontend/src/components/app/sidebars/simulation/ExperimentMetadataComponent.js +++ b/frontend/src/components/app/sidebars/simulation/ExperimentMetadataComponent.js @@ -2,14 +2,14 @@ import React from 'react' const ExperimentMetadataComponent = ({ experimentName, - pathName, + topologyName, traceName, schedulerName, }) => (

{experimentName}

- Path: {pathName} + Topology: {topologyName}

Trace: {traceName} diff --git a/frontend/src/components/app/sidebars/simulation/SimulationSidebarComponent.js b/frontend/src/components/app/sidebars/simulation/SimulationSidebarComponent.js index 6e89c40e..dba75eb2 100644 --- a/frontend/src/components/app/sidebars/simulation/SimulationSidebarComponent.js +++ b/frontend/src/components/app/sidebars/simulation/SimulationSidebarComponent.js @@ -1,7 +1,6 @@ import React from 'react' import ExperimentMetadataContainer from '../../../../containers/app/sidebars/simulation/ExperimentMetadataContainer' import LoadMetricContainer from '../../../../containers/app/sidebars/simulation/LoadMetricContainer' -import TraceContainer from '../../../../containers/app/sidebars/simulation/TraceContainer' import Sidebar from '../Sidebar' import './SimulationSidebarComponent.css' @@ -11,9 +10,6 @@ const SimulationSidebarComponent = () => {

-
- -
) diff --git a/frontend/src/components/app/sidebars/simulation/TaskComponent.js b/frontend/src/components/app/sidebars/simulation/TaskComponent.js deleted file mode 100644 index 94617086..00000000 --- a/frontend/src/components/app/sidebars/simulation/TaskComponent.js +++ /dev/null @@ -1,58 +0,0 @@ -import approx from 'approximate-number' -import classNames from 'classnames' -import React from 'react' -import { convertSecondsToFormattedTime } from '../../../../util/date-time' - -const TaskComponent = ({ task, flopsLeft }) => { - let icon - let progressBarContent - let percent - let infoTitle - - if (flopsLeft === task.totalFlopCount) { - icon = 'hourglass-half' - progressBarContent = '' - percent = 0 - infoTitle = 'Not submitted yet' - } else if (flopsLeft > 0) { - icon = 'refresh' - progressBarContent = approx(task.totalFlopCount - flopsLeft) + ' FLOP' - percent = 100 * (task.totalFlopCount - flopsLeft) / task.totalFlopCount - infoTitle = - progressBarContent + ' (' + Math.round(percent * 10) / 10 + '%)' - } else { - icon = 'check' - progressBarContent = 'Completed' - percent = 100 - infoTitle = 'Completed' - } - - return ( -
  • -
    -
    {approx(task.totalFlopCount)} FLOP
    - Starts at {convertSecondsToFormattedTime(task.startTick)} -
    -
    - -
    -
    - {progressBarContent} -
    -
    -
    -
  • - ) -} - -export default TaskComponent diff --git a/frontend/src/components/app/sidebars/simulation/TraceComponent.js b/frontend/src/components/app/sidebars/simulation/TraceComponent.js deleted file mode 100644 index 1292219b..00000000 --- a/frontend/src/components/app/sidebars/simulation/TraceComponent.js +++ /dev/null @@ -1,20 +0,0 @@ -import React from 'react' -import TaskContainer from '../../../../containers/app/sidebars/simulation/TaskContainer' - -const TraceComponent = ({ jobs }) => ( -
    -

    Trace

    - {jobs.map(job => ( -
    -

    Job: {job.name}

    -
      - {job.taskIds.map(taskId => ( - - ))} -
    -
    - ))} -
    -) - -export default TraceComponent diff --git a/frontend/src/components/app/sidebars/topology/machine/UnitAddComponent.js b/frontend/src/components/app/sidebars/topology/machine/UnitAddComponent.js index 57e219fd..e8722506 100644 --- a/frontend/src/components/app/sidebars/topology/machine/UnitAddComponent.js +++ b/frontend/src/components/app/sidebars/topology/machine/UnitAddComponent.js @@ -16,7 +16,7 @@ class UnitAddComponent extends React.Component { ref={unitSelect => (this.unitSelect = unitSelect)} > {this.props.units.map(unit => ( -
    )} diff --git a/frontend/src/components/app/sidebars/topology/rack/MachineComponent.js b/frontend/src/components/app/sidebars/topology/rack/MachineComponent.js index 0a1d1065..b4204136 100644 --- a/frontend/src/components/app/sidebars/topology/rack/MachineComponent.js +++ b/frontend/src/components/app/sidebars/topology/rack/MachineComponent.js @@ -61,8 +61,8 @@ const MachineComponent = ({ )} {hasNoUnits ? ( - Machine with no units - + Machine with no units + ) : ( undefined )} diff --git a/frontend/src/components/app/sidebars/topology/room/RoomSidebarComponent.js b/frontend/src/components/app/sidebars/topology/room/RoomSidebarComponent.js index d9865744..d8a805cb 100644 --- a/frontend/src/components/app/sidebars/topology/room/RoomSidebarComponent.js +++ b/frontend/src/components/app/sidebars/topology/room/RoomSidebarComponent.js @@ -6,18 +6,11 @@ import DeleteRoomContainer from '../../../../../containers/app/sidebars/topology import EditRoomContainer from '../../../../../containers/app/sidebars/topology/room/EditRoomContainer' import RackConstructionContainer from '../../../../../containers/app/sidebars/topology/room/RackConstructionContainer' import RoomNameContainer from '../../../../../containers/app/sidebars/topology/room/RoomNameContainer' -import RoomTypeContainer from '../../../../../containers/app/sidebars/topology/room/RoomTypeContainer' - -const RoomSidebarComponent = ({ roomId, roomType, inSimulation }) => { - let allowedObjects - if (!inSimulation && roomType === 'SERVER') { - allowedObjects = - } +const RoomSidebarComponent = ({ roomId, inSimulation }) => { return (
    - {inSimulation ? (
    @@ -26,7 +19,7 @@ const RoomSidebarComponent = ({ roomId, roomType, inSimulation }) => {
    ) : (
    - {allowedObjects} +
    diff --git a/frontend/src/components/app/sidebars/topology/room/RoomTypeComponent.js b/frontend/src/components/app/sidebars/topology/room/RoomTypeComponent.js deleted file mode 100644 index b662307c..00000000 --- a/frontend/src/components/app/sidebars/topology/room/RoomTypeComponent.js +++ /dev/null @@ -1,8 +0,0 @@ -import React from 'react' -import { ROOM_TYPE_TO_NAME_MAP } from '../../../../../util/room-types' - -const RoomTypeComponent = ({ roomType }) => ( -

    {ROOM_TYPE_TO_NAME_MAP[roomType]}

    -) - -export default RoomTypeComponent diff --git a/frontend/src/components/app/timeline/TimelineControlsComponent.js b/frontend/src/components/app/timeline/TimelineControlsComponent.js index 5412b1f5..01911aff 100644 --- a/frontend/src/components/app/timeline/TimelineControlsComponent.js +++ b/frontend/src/components/app/timeline/TimelineControlsComponent.js @@ -27,19 +27,6 @@ class TimelineControlsComponent extends React.Component { ), }} /> - {this.props.sectionTicks.map(sectionTick => ( -
    - ))}
    ) -- cgit v1.2.3