diff --git a/crates/sp_client/src/api.rs b/crates/sp_client/src/api.rs index 266d4f5..13c09b3 100644 --- a/crates/sp_client/src/api.rs +++ b/crates/sp_client/src/api.rs @@ -168,22 +168,22 @@ pub struct get_process_return(Vec); #[wasm_bindgen] pub fn get_processes() -> ApiResult { let number_managers: u8 = 5; - + let birthday_signet = 50000; let mut members: Vec = Vec::with_capacity((number_managers) as usize); - for _ in 0..number_managers{ + for _ in 0..number_managers { //add sp_client let sp_wallet = generate_sp_wallet(None, birthday_signet, true)?; let sp_address = sp_wallet.sp_client.get_receiving_address(); members.push(sp_address); } - //instances of process + //instances of process let process1 = Process { id: 1, name: String::from("CREATE_ID"), version: String::from("1.0"), - members: members.clone(), + members: members.clone(), html: crate::process::HTML_CREATE_ID.to_owned(), style: crate::process::CSS.to_owned(), script: "".to_owned(), @@ -192,16 +192,16 @@ pub fn get_processes() -> ApiResult { id: 2, name: String::from("UPDATE_ID"), version: String::from("1.0"), - members: members.clone(), + members: members.clone(), html: crate::process::HTML_UPDATE_ID.to_owned(), - style: crate::process::CSS.to_owned(), - script: "".to_owned(), + style: crate::process::CSSUPDATE.to_owned(), + script: crate::process::JSUPDATE.to_owned(), }; let process3 = Process { id: 3, name: String::from("RECOVER"), version: String::from("1.0"), - members: members.clone(), + members: members.clone(), html: crate::process::HTML_RECOVER.to_owned(), style: crate::process::CSS.to_owned(), script: "".to_owned(), @@ -210,7 +210,7 @@ pub fn get_processes() -> ApiResult { id: 4, name: String::from("REVOKE_IMAGE"), version: String::from("1.0"), - members: members.clone(), + members: members.clone(), html: crate::process::HTML_REVOKE_IMAGE.to_owned(), style: crate::process::CSS.to_owned(), script: "".to_owned(), @@ -219,7 +219,7 @@ pub fn get_processes() -> ApiResult { id: 5, name: String::from("REVOKE"), version: String::from("1.0"), - members: members.clone(), + members: members.clone(), html: crate::process::HTML_REVOKE.to_owned(), style: crate::process::CSS.to_owned(), script: "".to_owned(), @@ -233,13 +233,12 @@ pub fn get_processes() -> ApiResult { data_process.push(process4); data_process.push(process5); Ok(get_process_return(data_process)) - } //for testing /*#[wasm_bindgen] pub fn get_process() -> ApiResult{ - + let number_managers: u8 = 5; let number_users:u8 = 10; let birthday_signet = 50000; @@ -255,7 +254,7 @@ pub fn get_process() -> ApiResult{ let sp_wallet = generate_sp_wallet(None, birthday_signet, true)?; let sp_address: SilentPaymentAddress = sp_wallet.sp_client.get_receiving_address().try_into()?; members.push(ItemMember::new(Role::User, sp_address, String::from(""))); - } + } let process = Process::new(members); let mut data_process: Vec = Vec::new(); diff --git a/crates/sp_client/src/process.rs b/crates/sp_client/src/process.rs index 9302962..56f95d6 100644 --- a/crates/sp_client/src/process.rs +++ b/crates/sp_client/src/process.rs @@ -1,11 +1,10 @@ use std::fmt::DebugStruct; -use wasm_bindgen::prelude::*; use serde::{Deserialize, Serialize}; -use tsify::Tsify; use serde_json::{json, Value}; use sp_backend::silentpayments::sending::SilentPaymentAddress; - +use tsify::Tsify; +use wasm_bindgen::prelude::*; pub const HTML_CREATE_ID: &str = "
@@ -320,7 +319,158 @@ pub const CSS: &str = " .passwordalert { color: #FF0000; } -"; + "; + +pub const CSSUPDATE: &str = " + + "; + +pub const JSUPDATE: &str = " + var addSpAddressBtn = document.getElementById('add-sp-address-btn'); + var removeSpAddressBtn = document.querySelectorAll('.minus-sp-address-btn'); + + addSpAddressBtn.addEventListener('click', function (event) { + addDynamicField(this); + }); + + function addDynamicField(element) { + var addSpAddressBlock = document.getElementById('sp-address-block'); + var spAddress = addSpAddressBlock.querySelector('#sp-address').value; + addSpAddressBlock.querySelector('#sp-address').value = ''; + spAddress = spAddress.trim(); + if (spAddress != '') { + var sideBySideDiv = document.createElement('div'); + sideBySideDiv.className = 'side-by-side'; + + var inputElement = document.createElement('input'); + inputElement.type = 'text'; + inputElement.name = 'spAddresses[]'; + inputElement.setAttribute('form', 'no-form'); + inputElement.value = spAddress; + inputElement.disabled = true; + + var buttonElement = document.createElement('button'); + buttonElement.type = 'button'; + buttonElement.className = + 'circle-btn bg-secondary minus-sp-address-btn'; + buttonElement.innerHTML = '-'; + + buttonElement.addEventListener('click', function (event) { + removeDynamicField(this.parentElement); + }); + + sideBySideDiv.appendChild(inputElement); + sideBySideDiv.appendChild(buttonElement); + + addSpAddressBlock.appendChild(sideBySideDiv); + } + function removeDynamicField(element) { + element.remove(); + } + } + "; #[derive(Debug, Serialize, Deserialize, Default, Tsify)] #[tsify(into_wasm_abi, from_wasm_abi)] @@ -329,9 +479,8 @@ pub struct Process { pub name: String, pub version: String, pub members: Vec, - pub html:String, + pub html: String, pub style: String, pub script: String, - // Add conditions : process, member, peer, artefact - -} \ No newline at end of file + // Add conditions : process, member, peer, artefact +} diff --git a/src/services.ts b/src/services.ts index 685d41d..e5fd51b 100644 --- a/src/services.ts +++ b/src/services.ts @@ -184,11 +184,13 @@ class Services { let style = ""; let script = ""; try { - const processObject = await services.getProcessByName(Services.instance.current_process!); + const processObject = await services.getProcessByName("UPDATE_ID"); if (processObject) { body = processObject.html; style = processObject.style; script = processObject.script; + console.log("JS displayUpdateAnId body : "+body); + } } catch (error) { console.error("Failed to retrieve process with Error:", error);