From b5830d65f6175ee0830ff52e69f8abc5801bbc5e Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Thu, 8 Jul 2021 16:13:33 +0200 Subject: [PATCH] Workspace Space Implemented --- .../UI/Spaces/Side-Space/SidePanelTab.js | 6 +- .../UI/Spaces/Side-Space/SideSpace.js | 147 +-------------- .../Spaces/Workspace-Space/WorkspaceSpace.js | 173 ++++++++++++++++++ Projects/Governance/Icons/governance-tab.png | Bin 0 -> 17392 bytes .../UI/Spaces/Assets-Space/Assets.js | 48 ++++- Projects/ProjectsSchema.json | 35 ++-- 6 files changed, 249 insertions(+), 160 deletions(-) create mode 100644 Projects/Foundations/UI/Spaces/Workspace-Space/WorkspaceSpace.js create mode 100644 Projects/Governance/Icons/governance-tab.png diff --git a/Projects/Foundations/UI/Spaces/Side-Space/SidePanelTab.js b/Projects/Foundations/UI/Spaces/Side-Space/SidePanelTab.js index cb6fb44ae..2c54d5fe4 100644 --- a/Projects/Foundations/UI/Spaces/Side-Space/SidePanelTab.js +++ b/Projects/Foundations/UI/Spaces/Side-Space/SidePanelTab.js @@ -126,9 +126,7 @@ function newSidePanelTab() { } function positionPhysics() { - if (UI.projects.foundations.spaces.chartingSpace.viewport !== undefined) { - thisObject.container.frame.position.y = browserCanvas.height / 2 - TAB_HEIGHT / 2 // TOP_SPACE_HEIGHT + UI.projects.foundations.spaces.chartingSpace.viewport.marginAmount + TAB_HEIGHT * thisObject.index - } + thisObject.container.frame.position.y = browserCanvas.height / 2 - TAB_HEIGHT / 2 } function draw() { @@ -382,7 +380,7 @@ function newSidePanelTab() { labelPosition = thisObject.container.frame.frameThisPoint(labelPosition) - browserCanvasContext.font = 12 + 'px ' + UI_FONT.PRIMARY + browserCanvasContext.font = 12 + 'px ' + UI_FONT.PRIMARY browserCanvasContext.fillStyle = 'rgba(' + UI_COLOR.GREY + ', 1)' browserCanvasContext.fillText( thisObject.tabLabel, diff --git a/Projects/Foundations/UI/Spaces/Side-Space/SideSpace.js b/Projects/Foundations/UI/Spaces/Side-Space/SideSpace.js index 3ea331d34..94f12f696 100644 --- a/Projects/Foundations/UI/Spaces/Side-Space/SideSpace.js +++ b/Projects/Foundations/UI/Spaces/Side-Space/SideSpace.js @@ -1,173 +1,38 @@ function newFoundationsSideSpace() { - const MODULE_NAME = 'Side Space' let thisObject = { sidePanelTab: undefined, container: undefined, physics: physics, draw: draw, + getSidePanelTab, getSidePanelTab, getContainer: getContainer, initialize: initialize, finalize: finalize } - let isInitialized = false - - thisObject.container = newContainer() - thisObject.container.name = MODULE_NAME - thisObject.container.initialize() - thisObject.container.isClickeable = true - thisObject.container.isDraggeable = false - thisObject.container.detectMouseOver = true - thisObject.container.status = 'hidden' - - let listView - - resize() - - let openingEventSubscriptionId - let closedEventSubscriptionId - let browserResizedEventSubscriptionId return thisObject function initialize() { - thisObject.sidePanelTab = newSidePanelTab() - thisObject.sidePanelTab.tabIcon = UI.projects.foundations.spaces.designSpace.getIconByProjectAndName('Foundations', 'workspace') - thisObject.sidePanelTab.tabLabel = 'Workspaces' - thisObject.sidePanelTab.container.connectToParent(thisObject.container, false, false) - thisObject.sidePanelTab.initialize('left') - - browserResizedEventSubscriptionId = canvas.eventHandler.listenToEvent('Browser Resized', resize) - - initializeListView() - isInitialized = true + } function finalize() { - canvas.eventHandler.stopListening(browserResizedEventSubscriptionId) - thisObject.sidePanelTab.container.eventHandler.stopListening(openingEventSubscriptionId) - thisObject.sidePanelTab.container.eventHandler.stopListening(closedEventSubscriptionId) + } - function initializeListView() { - listView = newListView() - listView.initialize() - listView.container.connectToParent(thisObject.container, false, false) - openingEventSubscriptionId = thisObject.sidePanelTab.container.eventHandler.listenToEvent('opening', listView.turnOn) - closedEventSubscriptionId = thisObject.sidePanelTab.container.eventHandler.listenToEvent('closed', listView.turnOff) - } + function getSidePanelTab() { - function resize() { - thisObject.container.frame.width = SIDE_PANEL_WIDTH - thisObject.container.frame.height = browserCanvas.height // - TOP_SPACE_HEIGHT - thisObject.container.frame.position.x = -SIDE_PANEL_WIDTH - thisObject.container.frame.position.y = 0 // TOP_SPACE_HEIGHT - - if (listView !== undefined) { - listView.resize() - } - - if (thisObject.sidePanelTab !== undefined) { - thisObject.sidePanelTab.resize() - } } function getContainer(point, purpose) { - if (thisObject.sidePanelTab === undefined) { return } - let container - container = thisObject.sidePanelTab.getContainer(point, purpose) - if (container !== undefined) { return container } - - container = listView.getContainer(point, purpose) - if (container !== undefined) { return container } - - if (thisObject.container.frame.isThisPointHere(point, true) === true) { - return thisObject.container - } else { - return undefined - } } function physics() { - thisObject.sidePanelTab.physics() - listView.physics() + } function draw() { - if (CAN_SPACES_DRAW === false) { return } - if (isInitialized === false) { return } - borders() - thisObject.sidePanelTab.draw() - listView.draw() - } - - function borders() { - let point1 - let point2 - let point3 - let point4 - - point1 = { - x: 0, - y: 0 - } - - point2 = { - x: thisObject.container.frame.width, - y: 0 - } - - point3 = { - x: thisObject.container.frame.width, - y: thisObject.container.frame.height - } - - point4 = { - x: 0, - y: thisObject.container.frame.height - } - - point1 = thisObject.container.frame.frameThisPoint(point1) - point2 = thisObject.container.frame.frameThisPoint(point2) - point3 = thisObject.container.frame.frameThisPoint(point3) - point4 = thisObject.container.frame.frameThisPoint(point4) - - browserCanvasContext.setLineDash([]) // Resets Line Dash - browserCanvasContext.beginPath() - browserCanvasContext.moveTo(point1.x, point1.y) - browserCanvasContext.lineTo(point2.x, point2.y) - browserCanvasContext.lineTo(point3.x, point3.y) - browserCanvasContext.lineTo(point4.x, point4.y) - browserCanvasContext.lineTo(point1.x, point1.y) - browserCanvasContext.closePath() - - let opacity = 1 - - browserCanvasContext.fillStyle = 'rgba(' + UI_COLOR.LIGHT_GREY + ', ' + opacity + '' - browserCanvasContext.fill() - - browserCanvasContext.strokeStyle = 'rgba(' + UI_COLOR.GREY + ', ' + opacity + '' - browserCanvasContext.lineWidth = 0.3 - browserCanvasContext.setLineDash([]) // Resets Line Dash - browserCanvasContext.stroke() - - /* Shadow */ - - if (thisObject.container.status !== 'hidden') { - for (let i = 0; i <= 30; i++) { - opacity = 1 - (i / 300) - 0.95 - - browserCanvasContext.setLineDash([]) // Resets Line Dash - browserCanvasContext.beginPath() - browserCanvasContext.moveTo(point2.x + i, point2.y) - browserCanvasContext.lineTo(point3.x + i, point3.y) - browserCanvasContext.closePath() - - browserCanvasContext.strokeStyle = 'rgba(' + UI_COLOR.BLACK + ', ' + opacity + '' - browserCanvasContext.lineWidth = 1 - browserCanvasContext.setLineDash([]) // Resets Line Dash - browserCanvasContext.stroke() - } - } + } } diff --git a/Projects/Foundations/UI/Spaces/Workspace-Space/WorkspaceSpace.js b/Projects/Foundations/UI/Spaces/Workspace-Space/WorkspaceSpace.js new file mode 100644 index 000000000..7eff61a9a --- /dev/null +++ b/Projects/Foundations/UI/Spaces/Workspace-Space/WorkspaceSpace.js @@ -0,0 +1,173 @@ +function newFoundationsWorkspaceSpace() { + const MODULE_NAME = 'Workspace Space' + let thisObject = { + sidePanelTab: undefined, + container: undefined, + physics: physics, + draw: draw, + getContainer: getContainer, + initialize: initialize, + finalize: finalize + } + + let isInitialized = false + + thisObject.container = newContainer() + thisObject.container.name = MODULE_NAME + thisObject.container.initialize() + thisObject.container.isClickeable = true + thisObject.container.isDraggeable = false + thisObject.container.detectMouseOver = true + thisObject.container.status = 'hidden' + + let listView + + resize() + + let openingEventSubscriptionId + let closedEventSubscriptionId + let browserResizedEventSubscriptionId + return thisObject + + function initialize() { + thisObject.sidePanelTab = newSidePanelTab() + thisObject.sidePanelTab.tabIcon = UI.projects.foundations.spaces.designSpace.getIconByProjectAndName('Foundations', 'workspace') + thisObject.sidePanelTab.tabLabel = 'Workspaces' + thisObject.sidePanelTab.container.connectToParent(thisObject.container, false, false) + thisObject.sidePanelTab.initialize('left') + + browserResizedEventSubscriptionId = canvas.eventHandler.listenToEvent('Browser Resized', resize) + + initializeListView() + isInitialized = true + } + + function finalize() { + canvas.eventHandler.stopListening(browserResizedEventSubscriptionId) + thisObject.sidePanelTab.container.eventHandler.stopListening(openingEventSubscriptionId) + thisObject.sidePanelTab.container.eventHandler.stopListening(closedEventSubscriptionId) + } + + function initializeListView() { + listView = newListView() + listView.initialize() + listView.container.connectToParent(thisObject.container, false, false) + openingEventSubscriptionId = thisObject.sidePanelTab.container.eventHandler.listenToEvent('opening', listView.turnOn) + closedEventSubscriptionId = thisObject.sidePanelTab.container.eventHandler.listenToEvent('closed', listView.turnOff) + } + + function resize() { + thisObject.container.frame.width = SIDE_PANEL_WIDTH + thisObject.container.frame.height = browserCanvas.height // - TOP_SPACE_HEIGHT + thisObject.container.frame.position.x = -SIDE_PANEL_WIDTH + thisObject.container.frame.position.y = 0 // TOP_SPACE_HEIGHT + + if (listView !== undefined) { + listView.resize() + } + + if (thisObject.sidePanelTab !== undefined) { + thisObject.sidePanelTab.resize() + } + } + + function getContainer(point, purpose) { + if (thisObject.sidePanelTab === undefined) { return } + let container + + container = thisObject.sidePanelTab.getContainer(point, purpose) + if (container !== undefined) { return container } + + container = listView.getContainer(point, purpose) + if (container !== undefined) { return container } + + if (thisObject.container.frame.isThisPointHere(point, true) === true) { + return thisObject.container + } else { + return undefined + } + } + + function physics() { + thisObject.sidePanelTab.physics() + listView.physics() + } + + function draw() { + if (CAN_SPACES_DRAW === false) { return } + if (isInitialized === false) { return } + borders() + thisObject.sidePanelTab.draw() + listView.draw() + } + + function borders() { + let point1 + let point2 + let point3 + let point4 + + point1 = { + x: 0, + y: 0 + } + + point2 = { + x: thisObject.container.frame.width, + y: 0 + } + + point3 = { + x: thisObject.container.frame.width, + y: thisObject.container.frame.height + } + + point4 = { + x: 0, + y: thisObject.container.frame.height + } + + point1 = thisObject.container.frame.frameThisPoint(point1) + point2 = thisObject.container.frame.frameThisPoint(point2) + point3 = thisObject.container.frame.frameThisPoint(point3) + point4 = thisObject.container.frame.frameThisPoint(point4) + + browserCanvasContext.setLineDash([]) // Resets Line Dash + browserCanvasContext.beginPath() + browserCanvasContext.moveTo(point1.x, point1.y) + browserCanvasContext.lineTo(point2.x, point2.y) + browserCanvasContext.lineTo(point3.x, point3.y) + browserCanvasContext.lineTo(point4.x, point4.y) + browserCanvasContext.lineTo(point1.x, point1.y) + browserCanvasContext.closePath() + + let opacity = 1 + + browserCanvasContext.fillStyle = 'rgba(' + UI_COLOR.LIGHT_GREY + ', ' + opacity + '' + browserCanvasContext.fill() + + browserCanvasContext.strokeStyle = 'rgba(' + UI_COLOR.GREY + ', ' + opacity + '' + browserCanvasContext.lineWidth = 0.3 + browserCanvasContext.setLineDash([]) // Resets Line Dash + browserCanvasContext.stroke() + + /* Shadow */ + + if (thisObject.container.status !== 'hidden') { + for (let i = 0; i <= 30; i++) { + opacity = 1 - (i / 300) - 0.95 + + browserCanvasContext.setLineDash([]) // Resets Line Dash + browserCanvasContext.beginPath() + browserCanvasContext.moveTo(point2.x + i, point2.y) + browserCanvasContext.lineTo(point3.x + i, point3.y) + browserCanvasContext.closePath() + + browserCanvasContext.strokeStyle = 'rgba(' + UI_COLOR.BLACK + ', ' + opacity + '' + browserCanvasContext.lineWidth = 1 + browserCanvasContext.setLineDash([]) // Resets Line Dash + browserCanvasContext.stroke() + } + } + } +} diff --git a/Projects/Governance/Icons/governance-tab.png b/Projects/Governance/Icons/governance-tab.png new file mode 100644 index 0000000000000000000000000000000000000000..281622484adc57eda473f7a2547e48fb1038df0a GIT binary patch literal 17392 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 My85}Sb4q9e0Ko;=0ssI2 literal 0 HcmV?d00001 diff --git a/Projects/Governance/UI/Spaces/Assets-Space/Assets.js b/Projects/Governance/UI/Spaces/Assets-Space/Assets.js index 3433850fc..68a1d86f5 100644 --- a/Projects/Governance/UI/Spaces/Assets-Space/Assets.js +++ b/Projects/Governance/UI/Spaces/Assets-Space/Assets.js @@ -3,6 +3,7 @@ function newGobernanceAssetsSpace() { let thisObject = { container: undefined, + sidePanelTab: undefined, physics: physics, draw: draw, getContainer: getContainer, @@ -17,31 +18,70 @@ function newGobernanceAssetsSpace() { return thisObject function finalize() { + canvas.eventHandler.stopListening(browserResizedEventSubscriptionId) + thisObject.sidePanelTab.container.eventHandler.stopListening(openingEventSubscriptionId) + thisObject.sidePanelTab.container.eventHandler.stopListening(closingEventSubscriptionId) + thisObject.container.finalize() thisObject.container = undefined } function initialize() { + + setupSidePanelTab() + function setupSidePanelTab() { + thisObject.sidePanelTab = newSidePanelTab() + thisObject.sidePanelTab.container.connectToParent(thisObject.container, false, false) + thisObject.sidePanelTab.tabIcon = UI.projects.foundations.spaces.designSpace.getIconByProjectAndName('Governance', 'governance-tab') + thisObject.sidePanelTab.tabLabel = 'Governance' + thisObject.sidePanelTab.initialize('right') + openingEventSubscriptionId = thisObject.sidePanelTab.container.eventHandler.listenToEvent('opening', onOpening) + closingEventSubscriptionId = thisObject.sidePanelTab.container.eventHandler.listenToEvent('closing', onClosing) + + browserResizedEventSubscriptionId = canvas.eventHandler.listenToEvent('Browser Resized', resize) + } + } + + function resize() { + thisObject.container.frame.width = UI.projects.education.globals.docs.DOCS_SPACE_WIDTH + thisObject.container.frame.height = browserCanvas.height // - TOP_SPACE_HEIGHT + thisObject.container.frame.position.x = browserCanvas.width + thisObject.container.frame.position.y = 0 // TOP_SPACE_HEIGHT + + if (thisObject.sidePanelTab !== undefined) { + thisObject.sidePanelTab.resize() + } } function physics() { if (UI.projects.foundations.spaces.designSpace.workspace === undefined) { return } + thisObject.sidePanelTab.physics() } - function getContainer(point) { + function getContainer(point, purpose) { + if (thisObject.sidePanelTab === undefined) { return } + let container - return undefined // since this space does not draw anything we return here + container = thisObject.sidePanelTab.getContainer(point, purpose) + if (container !== undefined) { return container } if (thisObject.container.frame.isThisPointHere(point, true) === true) { - thisObject.container.space = MODULE_NAME return thisObject.container } else { return undefined } } - function draw() { + function onOpening() { } + + function onClosing() { + + } + + function draw() { + thisObject.sidePanelTab.draw() + } } diff --git a/Projects/ProjectsSchema.json b/Projects/ProjectsSchema.json index 45d7cf427..69e09a1d7 100644 --- a/Projects/ProjectsSchema.json +++ b/Projects/ProjectsSchema.json @@ -228,8 +228,8 @@ "initializationIndex": 0, "animationPhysicsIndex": 1, "animationDrawIndex": 0, - "onMouseWheelIndex": 5, - "onMouseOverIndex": 6, + "onMouseWheelIndex": 6, + "onMouseOverIndex": 7, "onMouseClickIndex": 4, "onMouseDownIndex": 6 }, @@ -253,8 +253,8 @@ "initializationIndex": 2, "animationPhysicsIndex": 0, "animationDrawIndex": 5, - "onMouseWheelIndex": 3, - "onMouseOverIndex": 2, + "onMouseWheelIndex": 4, + "onMouseOverIndex": 3, "onMouseClickIndex": 2, "onMouseDownIndex": 3 }, @@ -267,7 +267,7 @@ "animationPhysicsIndex": 3, "animationDrawIndex": 2, "onMouseWheelIndex": 0, - "onMouseOverIndex": 5, + "onMouseOverIndex": 6, "onMouseClickIndex": 0, "onMouseDownIndex": 1 }, @@ -279,8 +279,8 @@ "initializationIndex": 4, "animationPhysicsIndex": 4, "animationDrawIndex": 3, - "onMouseWheelIndex": 2, - "onMouseOverIndex": 3, + "onMouseWheelIndex": 3, + "onMouseOverIndex": 4, "onMouseClickIndex": 3, "onMouseDownIndex": 4 }, @@ -292,8 +292,8 @@ "initializationIndex": 5, "animationPhysicsIndex": 2, "animationDrawIndex": 1, - "onMouseWheelIndex": 4, - "onMouseOverIndex": 4, + "onMouseWheelIndex": 5, + "onMouseOverIndex": 5, "onMouseClickIndex": 5, "onMouseDownIndex": 5 }, @@ -305,11 +305,24 @@ "initializationIndex": 6, "animationPhysicsIndex": 6, "animationDrawIndex": 6, - "onMouseWheelIndex": 1, - "onMouseOverIndex": 2, + "onMouseWheelIndex": 2, + "onMouseOverIndex": 3, "onMouseClickIndex": 6, "onMouseDownIndex": 0 }, + { + "name": "Workspace Space", + "folderName": "Workspace-Space", + "propertyName": "workspaceSpace", + "functionName": "newFoundationsWorkspaceSpace", + "initializationIndex": 7, + "animationPhysicsIndex": 7, + "animationDrawIndex": 7, + "onMouseWheelIndex": 1, + "onMouseOverIndex": 2, + "onMouseClickIndex": 7, + "onMouseDownIndex": 0 + }, { "name": "Chat Space", "folderName": "Chat-Space",