Skip to main content

edc_web_components/pages/
new_transfer_processes.rs

1use crate::components::CreateTransferProcess;
2use patternfly_yew::prelude::*;
3use yew::prelude::*;
4
5#[derive(Clone, Debug, PartialEq, Properties)]
6pub struct NewTransferProcessPageProps {
7  #[prop_or("New Transfer Process".to_string())]
8  pub title: String,
9  #[prop_or(None)]
10  pub tag_line: Option<String>,
11  #[prop_or_default]
12  pub contract_agreement_id: Option<String>,
13  #[prop_or_default]
14  pub counter_party_address: Option<String>,
15  pub on_create: Callback<String>,
16}
17
18#[component]
19pub fn NewTransferProcessPage(props: &NewTransferProcessPageProps) -> Html {
20  let tag_line = props
21    .tag_line
22    .as_ref()
23    .map(|tag_line| html!(<p>{ tag_line }</p>))
24    .unwrap_or_default();
25
26  html!(
27    <>
28      <Title level={Level::H2} size={Size::XXXLarge}>{ &props.title }</Title>
29      { tag_line }
30      <CreateTransferProcess
31        contract_agreement_id={props.contract_agreement_id.clone()}
32        counter_party_address={props.counter_party_address.clone()}
33        on_create={props.on_create.clone()}
34      />
35    </>
36  )
37}