diff --git a/Projects/Ethereum/Schemas/AppSchema.json b/Projects/Ethereum/Schemas/AppSchema.json index de049e025..35ea3c201 100644 --- a/Projects/Ethereum/Schemas/AppSchema.json +++ b/Projects/Ethereum/Schemas/AppSchema.json @@ -20,6 +20,12 @@ "relatedUiObject": "Ethereum Tokens", "actionFunction": "payload.executeAction" }, + { + "action": "Add UI Object", + "label": "Add ETH Wallet", + "relatedUiObject": "ETH Wallet", + "actionFunction": "payload.executeAction" + }, { "action": "Delete UI Object", "askConfirmation": true, @@ -37,6 +43,122 @@ "positionLocked": true, "icon": "ethereum" }, + { + "type": "ETH Wallet", + "menuItems": [ + { + "action": "Add UI Object", + "label": "Add Wallet Keys", + "disableIfPropertyIsDefined": true, + "propertyToCheckFor": "walletKeys", + "relatedUiObject": "Wallet Keys", + "actionFunction": "payload.executeAction" + }, + { + "action": "Add UI Object", + "label": "Add Wallet Account", + "relatedUiObject": "Wallet Account", + "actionFunction": "payload.executeAction" + }, + { + "action": "Delete UI Object", + "askConfirmation": true, + "confirmationLabel": "Confirm to Delete", + "label": "Delete", + "iconPathOn": "delete", + "iconPathOff": "delete", + "actionFunction": "payload.executeAction" + } + ], + "isHierarchyHead": true, + "addLeftIcons": true, + "level": 0, + "properties": [ + { + "name": "walletKeys", + "type": "node", + "childType": "Wallet Keys", + "autoAdd": true + }, + { + "name": "walletAccount", + "type": "array", + "childType": "Wallet Account" + } + ], + "icon": "ethereum" + }, + { + "type": "Wallet Keys", + "menuItems": [ + { + "action": "Configure", + "label": "Configure", + "iconPathOn": "configuration", + "iconPathOff": "configuration", + "dontShowAtFullscreen": true, + "actionFunction": "uiObject.configEditor.activate" + }, + { + "action": "Delete UI Object", + "askConfirmation": true, + "confirmationLabel": "Confirm to Delete", + "label": "Delete", + "iconPathOn": "delete", + "iconPathOff": "delete", + "actionFunction": "payload.executeAction" + } + ], + "editors": { + "config": true + }, + "initialValues": { + "config": "{ \n\"privateKey\": \"\", \n\"publicKey\": \"\"\n}" + }, + "addLeftIcons": true, + "level": 3, + "chainAttachesTo": { + "compatibleTypes": "->ETH Wallet->" + }, + "propertyNameAtParent": "walletKeys", + "isPersonalData": true, + "icon": "ethereum" + }, + { + "type": "Wallet Account", + "menuItems": [ + { + "action": "Configure", + "label": "Configure", + "iconPathOn": "configuration", + "iconPathOff": "configuration", + "dontShowAtFullscreen": true, + "actionFunction": "uiObject.configEditor.activate" + }, + { + "action": "Delete UI Object", + "askConfirmation": true, + "confirmationLabel": "Confirm to Delete", + "label": "Delete", + "iconPathOn": "delete", + "iconPathOff": "delete", + "actionFunction": "payload.executeAction" + } + ], + "editors": { + "config": true + }, + "initialValues": { + "config": "{ \n\"value\": \"\"\n}" + }, + "addLeftIcons": true, + "level": 3, + "chainAttachesTo": { + "compatibleTypes": "->ETH Wallet->" + }, + "propertyNameAtParent": "walletAccount", + "icon": "ethereum" + }, { "type": "Ethereum Tokens", "menuItems": [ @@ -89,6 +211,8 @@ { "action": "Add UI Object", "label": "Add Token Definition", + "disableIfPropertyIsDefined": true, + "propertyToCheckFor": "tokenDefinition", "relatedUiObject": "Token Definition", "actionFunction": "payload.executeAction" }, @@ -104,6 +228,10 @@ ], "addLeftIcons": true, "level": 1, + "chainAttachesTo": { + "compatibleTypes": "->Ethereum Tokens->" + }, + "propertyNameAtParent": "erc-720TokenType", "properties": [ { "name": "tokenDefinition", @@ -119,6 +247,8 @@ { "action": "Add UI Object", "label": "Add Token Definition", + "disableIfPropertyIsDefined": true, + "propertyToCheckFor": "tokenDefinition", "relatedUiObject": "Token Definition", "actionFunction": "payload.executeAction" }, @@ -134,6 +264,10 @@ ], "addLeftIcons": true, "level": 1, + "chainAttachesTo": { + "compatibleTypes": "->Ethereum Tokens->" + }, + "propertyNameAtParent": "erc-723TokenType", "properties": [ { "name": "tokenDefinition", @@ -149,6 +283,8 @@ { "action": "Add UI Object", "label": "Add Token Definition", + "disableIfPropertyIsDefined": true, + "propertyToCheckFor": "tokenDefinition", "relatedUiObject": "Token Definition", "actionFunction": "payload.executeAction" }, @@ -164,6 +300,10 @@ ], "addLeftIcons": true, "level": 1, + "chainAttachesTo": { + "compatibleTypes": "->Ethereum Tokens->" + }, + "propertyNameAtParent": "erc-721TokenType", "properties": [ { "name": "tokenDefinition", @@ -179,6 +319,8 @@ { "action": "Add UI Object", "label": "Add Token Definition", + "disableIfPropertyIsDefined": true, + "propertyToCheckFor": "tokenDefinition", "relatedUiObject": "Token Definition", "actionFunction": "payload.executeAction" }, @@ -194,6 +336,10 @@ ], "addLeftIcons": true, "level": 1, + "chainAttachesTo": { + "compatibleTypes": "->Ethereum Tokens->" + }, + "propertyNameAtParent": "erc-777TokenType", "properties": [ { "name": "tokenDefinition", @@ -209,6 +355,8 @@ { "action": "Add UI Object", "label": "Add Smart Contract", + "disableIfPropertyIsDefined": true, + "propertyToCheckFor": "smartContract", "relatedUiObject": "Smart Contract", "actionFunction": "payload.executeAction" }, @@ -224,6 +372,10 @@ ], "addLeftIcons": true, "level": 2, + "chainAttachesTo": { + "compatibleTypes": "->ERC-20 Token Type->ERC-223 Token Type->ERC-721 Token Type->ERC-777 Token Type->" + }, + "propertyNameAtParent": "tokenDefinition", "properties": [ { "name": "smartContract", @@ -367,6 +519,14 @@ { "type": "Smart Contract", "menuItems": [ + { + "action": "Add UI Object", + "disableIfPropertyIsDefined": true, + "propertyToCheckFor": "smartContractAccount", + "label": "Add Smart Contract Account", + "relatedUiObject": "Smart Contract Account", + "actionFunction": "payload.executeAction" + }, { "action": "Add UI Object", "disableIfPropertyIsDefined": true, @@ -385,10 +545,18 @@ "actionFunction": "payload.executeAction" } ], + "chainAttachesTo": { + "compatibleTypes": "->Token Definition->Decentralized Application->" + }, "propertyNameAtParent": "smartContracts", "addLeftIcons": true, "level": 1, "properties": [ + { + "name": "smartContractAccount", + "type": "node", + "childType": "Smart Contract Account" + }, { "name": "solidityCode", "type": "node", @@ -397,6 +565,41 @@ ], "icon": "ethereum" }, + { + "type": "Smart Contract Account", + "menuItems": [ + { + "action": "Configure", + "label": "Configure", + "iconPathOn": "configuration", + "iconPathOff": "configuration", + "dontShowAtFullscreen": true, + "actionFunction": "uiObject.configEditor.activate" + }, + { + "action": "Delete UI Object", + "askConfirmation": true, + "confirmationLabel": "Confirm to Delete", + "label": "Delete", + "iconPathOn": "delete", + "iconPathOff": "delete", + "actionFunction": "payload.executeAction" + } + ], + "editors": { + "config": true + }, + "initialValues": { + "config": "{ \n\"value\": \"\"\n}" + }, + "addLeftIcons": true, + "level": 3, + "chainAttachesTo": { + "compatibleTypes": "->Smart Contract->" + }, + "propertyNameAtParent": "smartContractAccount", + "icon": "ethereum" + }, { "type": "Solidity Code", "menuItems": [ @@ -423,6 +626,9 @@ "initialValues": { "code": "// Type your smart contract code here." }, + "chainAttachesTo": { + "compatibleTypes": "->Smart Contract->" + }, "propertyNameAtParent": "solidityCode", "addLeftIcons": true, "level": 2, diff --git a/Projects/Superalgos/Spaces/Floating-Space/UiObjectTitle.js b/Projects/Superalgos/Spaces/Floating-Space/UiObjectTitle.js index 7eb6eab6e..b485f3a71 100644 --- a/Projects/Superalgos/Spaces/Floating-Space/UiObjectTitle.js +++ b/Projects/Superalgos/Spaces/Floating-Space/UiObjectTitle.js @@ -366,7 +366,7 @@ function newUiObjectTitle() { for (let i = 0; i < phrases.length; i++) { let phrase = phrases[i] let point = { - x: labelPoint.x - phrase.length / 2 * fontSize * FONT_ASPECT_RATIO + FRAME_WIDTH / 2 - 5, + x: labelPoint.x - phrase.length / 2 * fontSize * FONT_ASPECT_RATIO + FRAME_WIDTH / 2, y: labelPoint.y - lineSeparator * (phrases.length - 1 - i) }