use crate::{Tree, TreeHelper};
use crate::tree::NodeId;
use crate::interface::{model, view, Action, Element};
use crate::interface::controller::{self, controls};
use super::Widget;
pub type Form <'element> =
Widget <'element, controller::Component, model::Component, view::Component>;
pub fn submit_callback (
_ : &controls::button::Release,
elements : &Tree <Element>,
node_id : &NodeId,
action_buffer : &mut Vec <(NodeId, Action)>
) {
log::trace!("submit_callback...");
let element = elements.get_element (node_id);
let callback_id = element.model.callback_id.as_ref().unwrap_or_else (||{
log::error!("submit callback: no callback id in model");
panic!("submit callback: no callback id in model")
}).clone();
action_buffer.push ((node_id.clone(), Action::SubmitCallback (callback_id)));
log::trace!("...submit_callback");
}