Fix updatanid display

This commit is contained in:
franck 2024-04-05 09:08:29 +02:00
parent abf9bbf0cd
commit 47c356a22f
3 changed files with 172 additions and 22 deletions

View File

@ -168,22 +168,22 @@ pub struct get_process_return(Vec<Process>);
#[wasm_bindgen] #[wasm_bindgen]
pub fn get_processes() -> ApiResult<get_process_return> { pub fn get_processes() -> ApiResult<get_process_return> {
let number_managers: u8 = 5; let number_managers: u8 = 5;
let birthday_signet = 50000; let birthday_signet = 50000;
let mut members: Vec<String> = Vec::with_capacity((number_managers) as usize); let mut members: Vec<String> = Vec::with_capacity((number_managers) as usize);
for _ in 0..number_managers{ for _ in 0..number_managers {
//add sp_client //add sp_client
let sp_wallet = generate_sp_wallet(None, birthday_signet, true)?; let sp_wallet = generate_sp_wallet(None, birthday_signet, true)?;
let sp_address = sp_wallet.sp_client.get_receiving_address(); let sp_address = sp_wallet.sp_client.get_receiving_address();
members.push(sp_address); members.push(sp_address);
} }
//instances of process //instances of process
let process1 = Process { let process1 = Process {
id: 1, id: 1,
name: String::from("CREATE_ID"), name: String::from("CREATE_ID"),
version: String::from("1.0"), version: String::from("1.0"),
members: members.clone(), members: members.clone(),
html: crate::process::HTML_CREATE_ID.to_owned(), html: crate::process::HTML_CREATE_ID.to_owned(),
style: crate::process::CSS.to_owned(), style: crate::process::CSS.to_owned(),
script: "".to_owned(), script: "".to_owned(),
@ -192,16 +192,16 @@ pub fn get_processes() -> ApiResult<get_process_return> {
id: 2, id: 2,
name: String::from("UPDATE_ID"), name: String::from("UPDATE_ID"),
version: String::from("1.0"), version: String::from("1.0"),
members: members.clone(), members: members.clone(),
html: crate::process::HTML_UPDATE_ID.to_owned(), html: crate::process::HTML_UPDATE_ID.to_owned(),
style: crate::process::CSS.to_owned(), style: crate::process::CSSUPDATE.to_owned(),
script: "".to_owned(), script: crate::process::JSUPDATE.to_owned(),
}; };
let process3 = Process { let process3 = Process {
id: 3, id: 3,
name: String::from("RECOVER"), name: String::from("RECOVER"),
version: String::from("1.0"), version: String::from("1.0"),
members: members.clone(), members: members.clone(),
html: crate::process::HTML_RECOVER.to_owned(), html: crate::process::HTML_RECOVER.to_owned(),
style: crate::process::CSS.to_owned(), style: crate::process::CSS.to_owned(),
script: "".to_owned(), script: "".to_owned(),
@ -210,7 +210,7 @@ pub fn get_processes() -> ApiResult<get_process_return> {
id: 4, id: 4,
name: String::from("REVOKE_IMAGE"), name: String::from("REVOKE_IMAGE"),
version: String::from("1.0"), version: String::from("1.0"),
members: members.clone(), members: members.clone(),
html: crate::process::HTML_REVOKE_IMAGE.to_owned(), html: crate::process::HTML_REVOKE_IMAGE.to_owned(),
style: crate::process::CSS.to_owned(), style: crate::process::CSS.to_owned(),
script: "".to_owned(), script: "".to_owned(),
@ -219,7 +219,7 @@ pub fn get_processes() -> ApiResult<get_process_return> {
id: 5, id: 5,
name: String::from("REVOKE"), name: String::from("REVOKE"),
version: String::from("1.0"), version: String::from("1.0"),
members: members.clone(), members: members.clone(),
html: crate::process::HTML_REVOKE.to_owned(), html: crate::process::HTML_REVOKE.to_owned(),
style: crate::process::CSS.to_owned(), style: crate::process::CSS.to_owned(),
script: "".to_owned(), script: "".to_owned(),
@ -233,13 +233,12 @@ pub fn get_processes() -> ApiResult<get_process_return> {
data_process.push(process4); data_process.push(process4);
data_process.push(process5); data_process.push(process5);
Ok(get_process_return(data_process)) Ok(get_process_return(data_process))
} }
//for testing //for testing
/*#[wasm_bindgen] /*#[wasm_bindgen]
pub fn get_process() -> ApiResult<get_process_return>{ pub fn get_process() -> ApiResult<get_process_return>{
let number_managers: u8 = 5; let number_managers: u8 = 5;
let number_users:u8 = 10; let number_users:u8 = 10;
let birthday_signet = 50000; let birthday_signet = 50000;
@ -255,7 +254,7 @@ pub fn get_process() -> ApiResult<get_process_return>{
let sp_wallet = generate_sp_wallet(None, birthday_signet, true)?; let sp_wallet = generate_sp_wallet(None, birthday_signet, true)?;
let sp_address: SilentPaymentAddress = sp_wallet.sp_client.get_receiving_address().try_into()?; let sp_address: SilentPaymentAddress = sp_wallet.sp_client.get_receiving_address().try_into()?;
members.push(ItemMember::new(Role::User, sp_address, String::from(""))); members.push(ItemMember::new(Role::User, sp_address, String::from("")));
} }
let process = Process::new(members); let process = Process::new(members);
let mut data_process: Vec<Process> = Vec::new(); let mut data_process: Vec<Process> = Vec::new();

View File

@ -1,11 +1,10 @@
use std::fmt::DebugStruct; use std::fmt::DebugStruct;
use wasm_bindgen::prelude::*;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use tsify::Tsify;
use serde_json::{json, Value}; use serde_json::{json, Value};
use sp_backend::silentpayments::sending::SilentPaymentAddress; use sp_backend::silentpayments::sending::SilentPaymentAddress;
use tsify::Tsify;
use wasm_bindgen::prelude::*;
pub const HTML_CREATE_ID: &str = " pub const HTML_CREATE_ID: &str = "
<div class='card'> <div class='card'>
@ -320,7 +319,158 @@ pub const CSS: &str = "
.passwordalert { .passwordalert {
color: #FF0000; color: #FF0000;
} }
"; ";
pub const CSSUPDATE: &str = "
<style>
body {
margin: 0;
padding: 0;
display: flex;
align-items: center;
justify-content: center;
min-height: 100vh;
background-color: #f4f4f4;
font-family: 'Arial', sans-serif;
}
.container {
max-width: 400px;
width: 100%;
padding: 20px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
background-color: #ffffff;
border-radius: 8px;
text-align: left;
overflow: hidden;
}
form {
display: grid;
grid-template-columns: repeat(1fr, 2fr);
gap: 10px;
max-width: 400px;
margin: auto;
}
.bg-primary {
background-color: #1a61ed;
}
.bg-primary:hover {
background-color: #457be8;
}
.bg-secondary {
background-color: #2b81ed;
}
.bg-secondary:hover {
background-color: #5f9bff;
}
label {
text-align: left;
padding-right: 10px;
line-height: 2;
}
input {
width: 100%;
padding: 8px;
box-sizing: border-box;
}
button {
grid-column: span 2;
display: inline-block;
color: #fff;
border: none;
padding: 12px 17px;
border-radius: 4px;
cursor: pointer;
}
.div-text-area {
grid-column: span 2;
}
textarea {
width: 100%;
padding: 8px;
box-sizing: border-box;
}
.side-by-side {
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
margin-bottom: 5px;
}
.circle-btn {
width: 25px;
height: 25px;
border-radius: 50%;
border: none;
color: white;
padding: 0px;
text-align: center;
}
#fileInput {
width: 100%;
padding: 8px;
padding-left: 0px;
box-sizing: border-box;
}
</style>
";
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)] #[derive(Debug, Serialize, Deserialize, Default, Tsify)]
#[tsify(into_wasm_abi, from_wasm_abi)] #[tsify(into_wasm_abi, from_wasm_abi)]
@ -329,9 +479,8 @@ pub struct Process {
pub name: String, pub name: String,
pub version: String, pub version: String,
pub members: Vec<String>, pub members: Vec<String>,
pub html:String, pub html: String,
pub style: String, pub style: String,
pub script: String, pub script: String,
// Add conditions : process, member, peer, artefact // Add conditions : process, member, peer, artefact
}
}

View File

@ -184,11 +184,13 @@ class Services {
let style = ""; let style = "";
let script = ""; let script = "";
try { try {
const processObject = await services.getProcessByName(Services.instance.current_process!); const processObject = await services.getProcessByName("UPDATE_ID");
if (processObject) { if (processObject) {
body = processObject.html; body = processObject.html;
style = processObject.style; style = processObject.style;
script = processObject.script; script = processObject.script;
console.log("JS displayUpdateAnId body : "+body);
} }
} catch (error) { } catch (error) {
console.error("Failed to retrieve process with Error:", error); console.error("Failed to retrieve process with Error:", error);