From 4c6720582fbd6f656f2c3521feca7e06bc96fce1 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Mon, 16 Dec 2019 10:47:29 +0100 Subject: [PATCH] Getting Menu Items into the APP SCHEMA --- Canvas.js | 7 +++++++ DesignerSpace/Workspace/Workspace.js | 10 ---------- FloatingSpace/UiObject.js | 10 ++++++++++ Utilities.js | 10 ++++++++++ 4 files changed, 27 insertions(+), 10 deletions(-) diff --git a/Canvas.js b/Canvas.js index 9c9a83214..776722a3f 100644 --- a/Canvas.js +++ b/Canvas.js @@ -224,6 +224,13 @@ function newCanvas () { } } + if ((event.ctrlKey === true || event.metaKey === true) && event.altKey === true && event.shiftKey === true && event.keyCode === 122) { // Regenerates APP SCHEMA FILE + let text = JSON.stringify(APP_SCHEMA_ARRAY) + let fileName = 'AppSchema.json' + download(fileName, text) + return + } + if (event.altKey === true && event.code === 'ArrowUp') { thisObject.cockpitSpace.toTop() return diff --git a/DesignerSpace/Workspace/Workspace.js b/DesignerSpace/Workspace/Workspace.js index dfae4f326..3d6ba1a3d 100644 --- a/DesignerSpace/Workspace/Workspace.js +++ b/DesignerSpace/Workspace/Workspace.js @@ -927,14 +927,4 @@ function newWorkspace () { } } - - function download (filename, text) { - let element = document.createElement('a') - element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text)) - element.setAttribute('download', filename) - element.style.display = 'none' - document.body.appendChild(element) - element.click() - document.body.removeChild(element) - } } diff --git a/FloatingSpace/UiObject.js b/FloatingSpace/UiObject.js index 1d4596695..eab5e52db 100644 --- a/FloatingSpace/UiObject.js +++ b/FloatingSpace/UiObject.js @@ -141,6 +141,16 @@ function newUiObject () { function initialize (payload, menuItemsInitialValues) { thisObject.payload = payload + let schemaNode = APP_SCHEMA_MAP.get(payload.node.type) + if (schemaNode === undefined) { + schemaNode = { + type: payload.node.type, + menuItems: menuItemsInitialValues + } + APP_SCHEMA_MAP.set(payload.node.type, schemaNode) + APP_SCHEMA_ARRAY.push(schemaNode) + } + /* Initialize the Menu */ thisObject.menu = newCircularMenu() diff --git a/Utilities.js b/Utilities.js index a72310054..4ab4c825a 100644 --- a/Utilities.js +++ b/Utilities.js @@ -1,4 +1,14 @@ +function download (filename, text) { + let element = document.createElement('a') + element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text)) + element.setAttribute('download', filename) + element.style.display = 'none' + document.body.appendChild(element) + element.click() + document.body.removeChild(element) +} + function transformThisPoint (point, container) { /* We make the point relative to the current frame */