diff --git a/BottomSpace/KeyVaultModule.js b/BottomSpace/KeyVaultModule.js new file mode 100644 index 000000000..5ed3c6256 --- /dev/null +++ b/BottomSpace/KeyVaultModule.js @@ -0,0 +1,137 @@ + +function newKeyVaultModule() { + + const MODULE_NAME = "Key Vault Module Button"; + const INFO_LOG = false; + const ERROR_LOG = true; + const logger = newWebDebugLog(); + logger.fileName = MODULE_NAME; + + var thisObject = { + container: undefined, + draw: draw, + getContainer: getContainer, // returns the inner most container that holds the point received by parameter. + initialize: initialize + }; + + var container = newContainer(); + container.initialize(); + thisObject.container = container; + + thisObject.container.frame.width = 50; + thisObject.container.frame.height = BOTTOM_SPACE_HEIGHT; + + container.frame.position.x = viewPort.visibleArea.topLeft.x + thisObject.container.frame.width * 2; + container.frame.position.y = viewPort.visibleArea.bottomLeft.y; + + container.isDraggeable = false; + container.isClickeable = true; + + let icon; + let canDrawIcon = false; + + return thisObject; + + function initialize(callBackFunction) { + + try { + + if (INFO_LOG === true) { logger.write("[INFO] initialize -> Entering function."); } + + icon = new Image(); + + icon.onload = onImageLoad; + + function onImageLoad() { + canDrawIcon = true; + } + + icon.src = "Images/Icons/key-vault-module.png"; + + thisObject.container.eventHandler.listenToEvent("onMouseClick", onClick); + + if (callBackFunction !== undefined) { callBackFunction(GLOBAL.DEFAULT_OK_RESPONSE); } + + } catch (err) { + + if (ERROR_LOG === true) { logger.write("[ERROR] initialize -> err.message = " + err.message); } + if (callBackFunction !== undefined) { callBackFunction(GLOBAL.DEFAULT_FAIL_RESPONSE); } + } + } + + function onClick() { + + try { + + if (INFO_LOG === true) { logger.write("[INFO] onClick -> Entering function."); } + + window.open('https://keyVault.advancedalgos.net', '_blank'); + + + } catch (err) { + + if (ERROR_LOG === true) { logger.write("[ERROR] onClick -> err.message = " + err.message); } + + } + } + + function getContainer(point) { + + try { + + if (INFO_LOG === true) { logger.write("[INFO] getContainer -> Entering function."); } + + let container; + + /* First we check if this point is inside this object UI. */ + + if (thisObject.container.frame.isThisPointHere(point, true) === true) { + + return this.container; + + } else { + + /* This point does not belong to this space. */ + + return undefined; + } + + } catch (err) { + + if (ERROR_LOG === true) { logger.write("[ERROR] getContainer -> err.message = " + err.message); } + + } + } + + function draw() { + + try { + + if (INFO_LOG === true) { logger.write("[INFO] draw -> Entering function."); } + + thisObject.container.frame.draw(false, false); + + if (canDrawIcon === false) { return; } + + let breakpointsHeight = 15; + + let imageHeight = 15; + let imageWidth = 15; + + let imagePoint = { + x: 10, + y: thisObject.container.frame.height / 2 - imageHeight / 2 + breakpointsHeight + }; + + imagePoint = thisObject.container.frame.frameThisPoint(imagePoint); + + browserCanvasContext.drawImage(icon, imagePoint.x, imagePoint.y, imageWidth, imageHeight); + + + } catch (err) { + + if (ERROR_LOG === true) { logger.write("[ERROR] draw -> err.message = " + err.message); } + + } + } +} \ No newline at end of file diff --git a/BottomSpace/TeamsModule.js b/BottomSpace/TeamsModule.js new file mode 100644 index 000000000..0f235afc0 --- /dev/null +++ b/BottomSpace/TeamsModule.js @@ -0,0 +1,137 @@ + +function newTeamsModule() { + + const MODULE_NAME = "Teams Module Button"; + const INFO_LOG = false; + const ERROR_LOG = true; + const logger = newWebDebugLog(); + logger.fileName = MODULE_NAME; + + var thisObject = { + container: undefined, + draw: draw, + getContainer: getContainer, // returns the inner most container that holds the point received by parameter. + initialize: initialize + }; + + var container = newContainer(); + container.initialize(); + thisObject.container = container; + + thisObject.container.frame.width = 50; + thisObject.container.frame.height = BOTTOM_SPACE_HEIGHT; + + container.frame.position.x = viewPort.visibleArea.topLeft.x + thisObject.container.frame.width * 1; + container.frame.position.y = viewPort.visibleArea.bottomLeft.y; + + container.isDraggeable = false; + container.isClickeable = true; + + let icon; + let canDrawIcon = false; + + return thisObject; + + function initialize(callBackFunction) { + + try { + + if (INFO_LOG === true) { logger.write("[INFO] initialize -> Entering function."); } + + icon = new Image(); + + icon.onload = onImageLoad; + + function onImageLoad() { + canDrawIcon = true; + } + + icon.src = "Images/Icons/teams-module.png"; + + thisObject.container.eventHandler.listenToEvent("onMouseClick", onClick); + + if (callBackFunction !== undefined) { callBackFunction(GLOBAL.DEFAULT_OK_RESPONSE); } + + } catch (err) { + + if (ERROR_LOG === true) { logger.write("[ERROR] initialize -> err.message = " + err.message); } + if (callBackFunction !== undefined) { callBackFunction(GLOBAL.DEFAULT_FAIL_RESPONSE); } + } + } + + function onClick() { + + try { + + if (INFO_LOG === true) { logger.write("[INFO] onClick -> Entering function."); } + + window.open('https://teams.advancedalgos.net', '_blank'); + + + } catch (err) { + + if (ERROR_LOG === true) { logger.write("[ERROR] onClick -> err.message = " + err.message); } + + } + } + + function getContainer(point) { + + try { + + if (INFO_LOG === true) { logger.write("[INFO] getContainer -> Entering function."); } + + let container; + + /* First we check if this point is inside this object UI. */ + + if (thisObject.container.frame.isThisPointHere(point, true) === true) { + + return this.container; + + } else { + + /* This point does not belong to this space. */ + + return undefined; + } + + } catch (err) { + + if (ERROR_LOG === true) { logger.write("[ERROR] getContainer -> err.message = " + err.message); } + + } + } + + function draw() { + + try { + + if (INFO_LOG === true) { logger.write("[INFO] draw -> Entering function."); } + + thisObject.container.frame.draw(false, false); + + if (canDrawIcon === false) { return; } + + let breakpointsHeight = 15; + + let imageHeight = 15; + let imageWidth = 15; + + let imagePoint = { + x: 10, + y: thisObject.container.frame.height / 2 - imageHeight / 2 + breakpointsHeight + }; + + imagePoint = thisObject.container.frame.frameThisPoint(imagePoint); + + browserCanvasContext.drawImage(icon, imagePoint.x, imagePoint.y, imageWidth, imageHeight); + + + } catch (err) { + + if (ERROR_LOG === true) { logger.write("[ERROR] draw -> err.message = " + err.message); } + + } + } +} \ No newline at end of file diff --git a/BottomSpace/UsersModule.js b/BottomSpace/UsersModule.js new file mode 100644 index 000000000..758ddaefa --- /dev/null +++ b/BottomSpace/UsersModule.js @@ -0,0 +1,137 @@ + +function newUsersModule() { + + const MODULE_NAME = "Users Module Button"; + const INFO_LOG = false; + const ERROR_LOG = true; + const logger = newWebDebugLog(); + logger.fileName = MODULE_NAME; + + var thisObject = { + container: undefined, + draw: draw, + getContainer: getContainer, // returns the inner most container that holds the point received by parameter. + initialize: initialize + }; + + var container = newContainer(); + container.initialize(); + thisObject.container = container; + + thisObject.container.frame.width = 50; + thisObject.container.frame.height = BOTTOM_SPACE_HEIGHT; + + container.frame.position.x = viewPort.visibleArea.topLeft.x + thisObject.container.frame.width * 0; + container.frame.position.y = viewPort.visibleArea.bottomLeft.y; + + container.isDraggeable = false; + container.isClickeable = true; + + let icon; + let canDrawIcon = false; + + return thisObject; + + function initialize(callBackFunction) { + + try { + + if (INFO_LOG === true) { logger.write("[INFO] initialize -> Entering function."); } + + icon = new Image(); + + icon.onload = onImageLoad; + + function onImageLoad() { + canDrawIcon = true; + } + + icon.src = "Images/Icons/users-module.png"; + + thisObject.container.eventHandler.listenToEvent("onMouseClick", onClick); + + if (callBackFunction !== undefined) { callBackFunction(GLOBAL.DEFAULT_OK_RESPONSE); } + + } catch (err) { + + if (ERROR_LOG === true) { logger.write("[ERROR] initialize -> err.message = " + err.message); } + if (callBackFunction !== undefined) { callBackFunction(GLOBAL.DEFAULT_FAIL_RESPONSE); } + } + } + + function onClick() { + + try { + + if (INFO_LOG === true) { logger.write("[INFO] onClick -> Entering function."); } + + window.open('https://users.advancedalgos.net', '_blank'); + + + } catch (err) { + + if (ERROR_LOG === true) { logger.write("[ERROR] onClick -> err.message = " + err.message); } + + } + } + + function getContainer(point) { + + try { + + if (INFO_LOG === true) { logger.write("[INFO] getContainer -> Entering function."); } + + let container; + + /* First we check if this point is inside this object UI. */ + + if (thisObject.container.frame.isThisPointHere(point, true) === true) { + + return this.container; + + } else { + + /* This point does not belong to this space. */ + + return undefined; + } + + } catch (err) { + + if (ERROR_LOG === true) { logger.write("[ERROR] getContainer -> err.message = " + err.message); } + + } + } + + function draw() { + + try { + + if (INFO_LOG === true) { logger.write("[INFO] draw -> Entering function."); } + + thisObject.container.frame.draw(false, false); + + if (canDrawIcon === false) { return; } + + let breakpointsHeight = 15; + + let imageHeight = 15; + let imageWidth = 15; + + let imagePoint = { + x: 10, + y: thisObject.container.frame.height / 2 - imageHeight / 2 + breakpointsHeight + }; + + imagePoint = thisObject.container.frame.frameThisPoint(imagePoint); + + browserCanvasContext.drawImage(icon, imagePoint.x, imagePoint.y, imageWidth, imageHeight); + + + } catch (err) { + + if (ERROR_LOG === true) { logger.write("[ERROR] draw -> err.message = " + err.message); } + + } + } +} \ No newline at end of file diff --git a/Images/Icons/key-vault-module.png b/Images/Icons/key-vault-module.png new file mode 100644 index 000000000..cafe26119 Binary files /dev/null and b/Images/Icons/key-vault-module.png differ diff --git a/Images/Icons/teams-module.png b/Images/Icons/teams-module.png new file mode 100644 index 000000000..57c3b4718 Binary files /dev/null and b/Images/Icons/teams-module.png differ diff --git a/Images/Icons/users-module.png b/Images/Icons/users-module.png new file mode 100644 index 000000000..af0f23b27 Binary files /dev/null and b/Images/Icons/users-module.png differ diff --git a/Json.json b/Json.json deleted file mode 100644 index 5f282702b..000000000 --- a/Json.json +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/Project.njsproj b/Project.njsproj index b77efe7fe..3117f769c 100644 --- a/Project.njsproj +++ b/Project.njsproj @@ -57,6 +57,9 @@ + + Code + @@ -67,6 +70,9 @@ + + Code + Code @@ -143,6 +149,9 @@ Code + + Code + Code diff --git a/Scripts/AppLoader.js b/Scripts/AppLoader.js index d5ed3f931..9542f03e6 100644 --- a/Scripts/AppLoader.js +++ b/Scripts/AppLoader.js @@ -31,6 +31,9 @@ "BottomSpace/DeleteTradingHistory.js", "BottomSpace/ChartAspectRatio.js", + "BottomSpace/UsersModule.js", + "BottomSpace/TeamsModule.js", + "BottomSpace/KeyVaultModule.js", "TopSpace/PlayStopButton.js", "TopSpace/CompanyLogo.js", diff --git a/Spaces/BottomSpace.js b/Spaces/BottomSpace.js index fef962e70..38f3eb950 100644 --- a/Spaces/BottomSpace.js +++ b/Spaces/BottomSpace.js @@ -4,6 +4,9 @@ function newBottomSpace() { var thisObject = { deleteTradingHistory: undefined, chartAspectRatio: undefined, + UsersModule: undefined, + TeamsModule: undefined, + KeyVaultModule: undefined, container: undefined, draw: draw, getContainer: getContainer, // returns the inner most container that holds the point received by parameter. @@ -32,6 +35,15 @@ function newBottomSpace() { thisObject.chartAspectRatio = newChartAspectRatio(); thisObject.chartAspectRatio.initialize(); + thisObject.UsersModule = newUsersModule(); + thisObject.UsersModule.initialize(); + + thisObject.TeamsModule = newTeamsModule(); + thisObject.TeamsModule.initialize(); + + thisObject.KeyVaultModule = newKeyVaultModule(); + thisObject.KeyVaultModule.initialize(); + } function getContainer(point) { @@ -44,6 +56,15 @@ function newBottomSpace() { container = thisObject.chartAspectRatio.getContainer(point); if (container !== undefined) { return container; } + container = thisObject.UsersModule.getContainer(point); + if (container !== undefined) { return container; } + + container = thisObject.TeamsModule.getContainer(point); + if (container !== undefined) { return container; } + + container = thisObject.KeyVaultModule.getContainer(point); + if (container !== undefined) { return container; } + /* The point does not belong to any inner container, so we return the current container. */ return thisObject.container; @@ -57,6 +78,9 @@ function newBottomSpace() { drawBackground(); thisObject.deleteTradingHistory.draw(); thisObject.chartAspectRatio.draw(); + thisObject.UsersModule.draw(); + thisObject.TeamsModule.draw(); + thisObject.KeyVaultModule.draw(); }