summaryrefslogtreecommitdiff
path: root/src/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/util')
-rw-r--r--src/util/authorizations.js11
-rw-r--r--src/util/colors.js29
-rw-r--r--src/util/date-time.js104
-rw-r--r--src/util/date-time.test.js35
-rw-r--r--src/util/jquery.js8
-rw-r--r--src/util/room-types.js7
-rw-r--r--src/util/simulation-load.js37
-rw-r--r--src/util/tile-calculations.js261
-rw-r--r--src/util/timeline.js19
9 files changed, 0 insertions, 511 deletions
diff --git a/src/util/authorizations.js b/src/util/authorizations.js
deleted file mode 100644
index ef649c9c..00000000
--- a/src/util/authorizations.js
+++ /dev/null
@@ -1,11 +0,0 @@
-export const AUTH_ICON_MAP = {
- OWN: "home",
- EDIT: "pencil",
- VIEW: "eye"
-};
-
-export const AUTH_DESCRIPTION_MAP = {
- OWN: "Own",
- EDIT: "Can Edit",
- VIEW: "Can View"
-};
diff --git a/src/util/colors.js b/src/util/colors.js
deleted file mode 100644
index 1e84e162..00000000
--- a/src/util/colors.js
+++ /dev/null
@@ -1,29 +0,0 @@
-export const GRID_COLOR = "rgba(0, 0, 0, 0.5)";
-export const BACKDROP_COLOR = "rgba(255, 255, 255, 1)";
-export const WALL_COLOR = "rgba(0, 0, 0, 1)";
-
-export const ROOM_DEFAULT_COLOR = "rgba(150, 150, 150, 1)";
-export const ROOM_IN_CONSTRUCTION_COLOR = "rgba(51, 153, 255, 1)";
-export const ROOM_HOVER_VALID_COLOR = "rgba(51, 153, 255, 1)";
-export const ROOM_HOVER_INVALID_COLOR = "rgba(255, 102, 0, 1)";
-export const ROOM_NAME_COLOR = "rgba(245, 245, 245, 1)";
-export const ROOM_TYPE_COLOR = "rgba(245, 245, 245, 1)";
-
-export const TILE_PLUS_COLOR = "rgba(0, 0, 0, 1)";
-
-export const OBJECT_BORDER_COLOR = "rgba(0, 0, 0, 1)";
-
-export const RACK_BACKGROUND_COLOR = "rgba(170, 170, 170, 1)";
-export const RACK_SPACE_BAR_BACKGROUND_COLOR = "rgba(222, 235, 247, 0.6)";
-export const RACK_SPACE_BAR_FILL_COLOR = "rgba(91, 155, 213, 0.7)";
-export const RACK_ENERGY_BAR_BACKGROUND_COLOR = "rgba(255, 242, 204, 0.6)";
-export const RACK_ENERGY_BAR_FILL_COLOR = "rgba(244, 215, 0, 0.7)";
-export const COOLING_ITEM_BACKGROUND_COLOR = "rgba(40, 50, 230, 1)";
-export const PSU_BACKGROUND_COLOR = "rgba(230, 50, 60, 1)";
-
-export const GRAYED_OUT_AREA_COLOR = "rgba(0, 0, 0, 0.6)";
-
-export const SIM_LOW_COLOR = "rgba(197, 224, 180, 1)";
-export const SIM_MID_LOW_COLOR = "rgba(255, 230, 153, 1)";
-export const SIM_MID_HIGH_COLOR = "rgba(248, 203, 173, 1)";
-export const SIM_HIGH_COLOR = "rgba(249, 165, 165, 1)";
diff --git a/src/util/date-time.js b/src/util/date-time.js
deleted file mode 100644
index 0b752600..00000000
--- a/src/util/date-time.js
+++ /dev/null
@@ -1,104 +0,0 @@
-/**
- * Parses and formats the given date-time string representation.
- *
- * The format assumed is "YYYY-MM-DDTHH:MM:SS".
- *
- * @param dateTimeString A string expressing a date and a time, in the above mentioned format.
- * @returns {string} A human-friendly string version of that date and time.
- */
-export function parseAndFormatDateTime(dateTimeString) {
- return formatDateTime(parseDateTime(dateTimeString));
-}
-
-/**
- * Parses date-time string representations and returns a parsed object.
- *
- * The format assumed is "YYYY-MM-DDTHH:MM:SS".
- *
- * @param dateTimeString A string expressing a date and a time, in the above mentioned format.
- * @returns {object} A Date object with the parsed date and time information as content.
- */
-export function parseDateTime(dateTimeString) {
- return new Date(dateTimeString + ".000Z");
-}
-
-/**
- * Serializes the given date and time value to a human-friendly string.
- *
- * @param dateTime An object representation of a date and time.
- * @returns {string} A human-friendly string version of that date and time.
- */
-export function formatDateTime(dateTime) {
- let date;
- const currentDate = new Date();
-
- date =
- addPaddingToTwo(dateTime.getDay()) +
- "/" +
- addPaddingToTwo(dateTime.getMonth()) +
- "/" +
- addPaddingToTwo(dateTime.getFullYear());
-
- if (
- dateTime.getFullYear() === currentDate.getFullYear() &&
- dateTime.getMonth() === currentDate.getMonth()
- ) {
- if (dateTime.getDate() === currentDate.getDate()) {
- date = "Today";
- } else if (dateTime.getDate() === currentDate.getDate() - 1) {
- date = "Yesterday";
- }
- }
-
- return (
- date +
- ", " +
- addPaddingToTwo(dateTime.getHours()) +
- ":" +
- addPaddingToTwo(dateTime.getMinutes())
- );
-}
-
-/**
- * Formats the given number of seconds/ticks to a formatted time representation.
- *
- * @param seconds The number of seconds.
- * @returns {string} A string representation of that amount of second, in the from of HH:MM:SS.
- */
-export function convertSecondsToFormattedTime(seconds) {
- if (seconds <= 0) {
- return "0s";
- }
-
- let hour = Math.floor(seconds / 3600);
- let minute = Math.floor(seconds / 60) % 60;
- let second = seconds % 60;
-
- hour = isNaN(hour) ? 0 : hour;
- minute = isNaN(minute) ? 0 : minute;
- second = isNaN(second) ? 0 : second;
-
- if (hour === 0 && minute === 0) {
- return second + "s";
- } else if (hour === 0) {
- return minute + "m" + addPaddingToTwo(second) + "s";
- } else {
- return (
- hour + "h" + addPaddingToTwo(minute) + "m" + addPaddingToTwo(second) + "s"
- );
- }
-}
-
-/**
- * Pads the given integer to have at least two digits.
- *
- * @param integer An integer to be padded.
- * @returns {string} A string containing the padded integer.
- */
-function addPaddingToTwo(integer) {
- if (integer < 10) {
- return "0" + integer.toString();
- } else {
- return integer.toString();
- }
-}
diff --git a/src/util/date-time.test.js b/src/util/date-time.test.js
deleted file mode 100644
index 6c7a6b16..00000000
--- a/src/util/date-time.test.js
+++ /dev/null
@@ -1,35 +0,0 @@
-import { convertSecondsToFormattedTime, parseDateTime } from "./date-time";
-
-describe("date-time parsing", () => {
- it("reads components properly", () => {
- const dateString = "2017-09-27T20:55:01";
- const parsedDate = parseDateTime(dateString);
-
- expect(parsedDate.getUTCFullYear()).toEqual(2017);
- expect(parsedDate.getUTCMonth()).toEqual(8);
- expect(parsedDate.getUTCDate()).toEqual(27);
- expect(parsedDate.getUTCHours()).toEqual(20);
- expect(parsedDate.getUTCMinutes()).toEqual(55);
- expect(parsedDate.getUTCSeconds()).toEqual(1);
- });
-});
-
-describe("tick formatting", () => {
- it("returns '0s' for numbers <= 0", () => {
- expect(convertSecondsToFormattedTime(-1)).toEqual("0s");
- expect(convertSecondsToFormattedTime(0)).toEqual("0s");
- });
- it("returns only seconds for values under a minute", () => {
- expect(convertSecondsToFormattedTime(1)).toEqual("1s");
- expect(convertSecondsToFormattedTime(59)).toEqual("59s");
- });
- it("returns seconds and minutes for values under an hour", () => {
- expect(convertSecondsToFormattedTime(60)).toEqual("1m00s");
- expect(convertSecondsToFormattedTime(61)).toEqual("1m01s");
- expect(convertSecondsToFormattedTime(3599)).toEqual("59m59s");
- });
- it("returns full time for values over an hour", () => {
- expect(convertSecondsToFormattedTime(3600)).toEqual("1h00m00s");
- expect(convertSecondsToFormattedTime(3601)).toEqual("1h00m01s");
- });
-});
diff --git a/src/util/jquery.js b/src/util/jquery.js
deleted file mode 100644
index 12a64fc6..00000000
--- a/src/util/jquery.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/**
- * Binding of the global jQuery variable for use within React.
- *
- * This should be used instead of '$', to address ESLint warnings relating to undefined global variables.
- */
-const jQuery = window["$"];
-
-export default jQuery;
diff --git a/src/util/room-types.js b/src/util/room-types.js
deleted file mode 100644
index 5cfe3887..00000000
--- a/src/util/room-types.js
+++ /dev/null
@@ -1,7 +0,0 @@
-export const ROOM_TYPE_TO_NAME_MAP = {
- SERVER: "Server room",
- HALLWAY: "Hallway",
- OFFICE: "Office",
- POWER: "Power room",
- COOLING: "Cooling room"
-};
diff --git a/src/util/simulation-load.js b/src/util/simulation-load.js
deleted file mode 100644
index 95e17fed..00000000
--- a/src/util/simulation-load.js
+++ /dev/null
@@ -1,37 +0,0 @@
-import {
- SIM_HIGH_COLOR,
- SIM_LOW_COLOR,
- SIM_MID_HIGH_COLOR,
- SIM_MID_LOW_COLOR
-} from "./colors";
-
-export const LOAD_NAME_MAP = {
- LOAD: "computational load",
- TEMPERATURE: "temperature",
- MEMORY: "memory use"
-};
-
-export function convertLoadToSimulationColor(load) {
- if (load <= 0.25) {
- return SIM_LOW_COLOR;
- } else if (load <= 0.5) {
- return SIM_MID_LOW_COLOR;
- } else if (load <= 0.75) {
- return SIM_MID_HIGH_COLOR;
- } else {
- return SIM_HIGH_COLOR;
- }
-}
-
-export function getStateLoad(loadMetric, state) {
- switch (loadMetric) {
- case "LOAD":
- return state.loadFraction;
- case "TEMPERATURE":
- return state.temperatureC / 100.0;
- case "MEMORY":
- return state.inUseMemoryMb / 10000.0;
- default:
- return -1;
- }
-}
diff --git a/src/util/tile-calculations.js b/src/util/tile-calculations.js
deleted file mode 100644
index 95886eeb..00000000
--- a/src/util/tile-calculations.js
+++ /dev/null
@@ -1,261 +0,0 @@
-export function deriveWallLocations(tiles) {
- const { verticalWalls, horizontalWalls } = getWallSegments(tiles);
- return mergeWallSegments(verticalWalls, horizontalWalls);
-}
-
-function getWallSegments(tiles) {
- const verticalWalls = {};
- const horizontalWalls = {};
-
- tiles.forEach(tile => {
- const x = tile.positionX,
- y = tile.positionY;
-
- for (let dX = -1; dX <= 1; dX++) {
- for (let dY = -1; dY <= 1; dY++) {
- if (Math.abs(dX) === Math.abs(dY)) {
- continue;
- }
-
- let doInsert = true;
- for (let tileIndex in tiles) {
- if (
- tiles[tileIndex].positionX === x + dX &&
- tiles[tileIndex].positionY === y + dY
- ) {
- doInsert = false;
- break;
- }
- }
- if (!doInsert) {
- continue;
- }
-
- if (dX === -1) {
- if (verticalWalls[x] === undefined) {
- verticalWalls[x] = [];
- }
- if (verticalWalls[x].indexOf(y) === -1) {
- verticalWalls[x].push(y);
- }
- } else if (dX === 1) {
- if (verticalWalls[x + 1] === undefined) {
- verticalWalls[x + 1] = [];
- }
- if (verticalWalls[x + 1].indexOf(y) === -1) {
- verticalWalls[x + 1].push(y);
- }
- } else if (dY === -1) {
- if (horizontalWalls[y] === undefined) {
- horizontalWalls[y] = [];
- }
- if (horizontalWalls[y].indexOf(x) === -1) {
- horizontalWalls[y].push(x);
- }
- } else if (dY === 1) {
- if (horizontalWalls[y + 1] === undefined) {
- horizontalWalls[y + 1] = [];
- }
- if (horizontalWalls[y + 1].indexOf(x) === -1) {
- horizontalWalls[y + 1].push(x);
- }
- }
- }
- }
- });
-
- return { verticalWalls, horizontalWalls };
-}
-
-function mergeWallSegments(vertical, horizontal) {
- const result = [];
- const walls = [vertical, horizontal];
-
- for (let i = 0; i < 2; i++) {
- const wallList = walls[i];
- for (let a in wallList) {
- a = parseInt(a, 10);
-
- wallList[a].sort((a, b) => {
- return a - b;
- });
-
- let startPos = wallList[a][0];
- const isHorizontal = i === 1;
-
- if (wallList[a].length === 1) {
- const startPosX = isHorizontal ? startPos : a;
- const startPosY = isHorizontal ? a : startPos;
- result.push({
- startPosX,
- startPosY,
- isHorizontal,
- length: 1
- });
- } else {
- let consecutiveCount = 1;
- for (let b = 0; b < wallList[a].length - 1; b++) {
- if (b + 1 === wallList[a].length - 1) {
- if (wallList[a][b + 1] - wallList[a][b] > 1) {
- const startPosX = isHorizontal ? startPos : a;
- const startPosY = isHorizontal ? a : startPos;
- result.push({
- startPosX,
- startPosY,
- isHorizontal,
- length: consecutiveCount
- });
- consecutiveCount = 0;
- startPos = wallList[a][b + 1];
- }
- const startPosX = isHorizontal ? startPos : a;
- const startPosY = isHorizontal ? a : startPos;
- result.push({
- startPosX,
- startPosY,
- isHorizontal,
- length: consecutiveCount + 1
- });
- break;
- } else if (wallList[a][b + 1] - wallList[a][b] > 1) {
- const startPosX = isHorizontal ? startPos : a;
- const startPosY = isHorizontal ? a : startPos;
- result.push({
- startPosX,
- startPosY,
- isHorizontal,
- length: consecutiveCount
- });
- startPos = wallList[a][b + 1];
- consecutiveCount = 0;
- }
- consecutiveCount++;
- }
- }
- }
- }
-
- return result;
-}
-
-export function deriveValidNextTilePositions(rooms, selectedTiles) {
- const result = [],
- newPosition = { x: 0, y: 0 };
- let isSurroundingTile;
-
- selectedTiles.forEach(tile => {
- const x = tile.positionX;
- const y = tile.positionY;
- result.push({ x, y });
-
- for (let dX = -1; dX <= 1; dX++) {
- for (let dY = -1; dY <= 1; dY++) {
- if (Math.abs(dX) === Math.abs(dY)) {
- continue;
- }
-
- newPosition.x = x + dX;
- newPosition.y = y + dY;
-
- isSurroundingTile = true;
- for (let index in selectedTiles) {
- if (
- selectedTiles[index].positionX === newPosition.x &&
- selectedTiles[index].positionY === newPosition.y
- ) {
- isSurroundingTile = false;
- break;
- }
- }
-
- if (
- isSurroundingTile &&
- findPositionInRooms(rooms, newPosition.x, newPosition.y) === -1
- ) {
- result.push({ x: newPosition.x, y: newPosition.y });
- }
- }
- }
- });
-
- return result;
-}
-
-export function findPositionInPositions(positions, positionX, positionY) {
- for (let i = 0; i < positions.length; i++) {
- const position = positions[i];
- if (positionX === position.x && positionY === position.y) {
- return i;
- }
- }
-
- return -1;
-}
-
-export function findPositionInRooms(rooms, positionX, positionY) {
- for (let i = 0; i < rooms.length; i++) {
- const room = rooms[i];
- if (findPositionInTiles(room.tiles, positionX, positionY) !== -1) {
- return i;
- }
- }
-
- return -1;
-}
-
-function findPositionInTiles(tiles, positionX, positionY) {
- let index = -1;
-
- for (let i = 0; i < tiles.length; i++) {
- const tile = tiles[i];
- if (positionX === tile.positionX && positionY === tile.positionY) {
- index = i;
- break;
- }
- }
-
- return index;
-}
-
-export function findTileWithPosition(tiles, positionX, positionY) {
- for (let i = 0; i < tiles.length; i++) {
- if (tiles[i].positionX === positionX && tiles[i].positionY === positionY) {
- return tiles[i];
- }
- }
-
- return null;
-}
-
-export function calculateRoomListBounds(rooms) {
- const min = { x: Number.MAX_VALUE, y: Number.MAX_VALUE };
- const max = { x: -1, y: -1 };
-
- rooms.forEach(room => {
- room.tiles.forEach(tile => {
- if (tile.positionX < min.x) {
- min.x = tile.positionX;
- }
- if (tile.positionY < min.y) {
- min.y = tile.positionY;
- }
-
- if (tile.positionX > max.x) {
- max.x = tile.positionX;
- }
- if (tile.positionY > max.y) {
- max.y = tile.positionY;
- }
- });
- });
-
- max.x++;
- max.y++;
-
- const center = {
- x: min.x + (max.x - min.x) / 2.0,
- y: min.y + (max.y - min.y) / 2.0
- };
-
- return { min, center, max };
-}
diff --git a/src/util/timeline.js b/src/util/timeline.js
deleted file mode 100644
index e20d5823..00000000
--- a/src/util/timeline.js
+++ /dev/null
@@ -1,19 +0,0 @@
-export function convertTickToPercentage(tick, maxTick) {
- if (maxTick === 0) {
- return "0%";
- } else if (tick > maxTick) {
- return maxTick / (maxTick + 1) * 100 + "%";
- }
-
- return tick / (maxTick + 1) * 100 + "%";
-}
-
-export function getDatacenterIdOfTick(tick, sections) {
- for (let i in sections.reverse()) {
- if (tick >= sections[i].startTick) {
- return sections[i].datacenterId;
- }
- }
-
- return -1;
-}