#![allow(unused_variables)]
#![allow(dead_code)]
use crate::list::request_selected::request_selected_listener;
use crate::list::{GraphicType, RequestSelectedDetail};
use crate::{to_option, to_option_string};
use gloo::events::EventListener;
use wasm_bindgen::prelude::*;
use yew::prelude::*;
pub struct ListItem {
props: ListItemProps,
node_ref: NodeRef,
request_selected_listener: Option<EventListener>,
}
#[derive(Debug, Properties, Clone)]
pub struct ListItemProps {
#[prop_or_default]
pub value: String,
#[prop_or_default]
pub group: bool,
#[prop_or(- 1)]
pub tabindex: i32,
#[prop_or_default]
pub disabled: bool,
#[prop_or_default]
pub twoline: bool,
#[prop_or_default]
pub activated: bool,
#[prop_or(GraphicType::Null)]
pub graphic: GraphicType,
#[prop_or_default]
pub multiple_graphics: bool,
#[prop_or_default]
pub has_meta: bool,
#[prop_or_default]
pub noninteractive: bool,
#[prop_or_default]
pub selected: bool,
#[prop_or_default]
pub on_request_selected: Callback<RequestSelectedDetail>,
#[prop_or_default]
pub children: Children,
}
impl Component for ListItem {
type Message = ();
type Properties = ListItemProps;
fn create(props: Self::Properties, _: ComponentLink<Self>) -> Self {
Self {
props,
node_ref: NodeRef::default(),
request_selected_listener: None,
}
}
fn update(&mut self, _msg: Self::Message) -> ShouldRender {
false
}
fn change(&mut self, props: Self::Properties) -> bool {
self.props = props;
true
}
fn view(&self) -> Html {
html!{
<li class="mdc-list-item">
<span class="mdc-list-item__ripple"></span>
<span class="mdc-list-item__text">{ &self.props.value }</span>
</li>
}
}
fn rendered(&mut self, first_render: bool) {
}
}