use yew::prelude::*;
use super::{ColumnLocator, ColumnSettingsTarget};
use crate::utils::left_click;
#[derive(Clone, PartialEq, Properties)]
pub struct AddExpressionButtonProps {
pub on_open_expr_panel: Callback<ColumnSettingsTarget>,
pub selected_column: Option<ColumnLocator>,
}
#[function_component]
pub fn AddExpressionButton(p: &AddExpressionButtonProps) -> Html {
let onmousedown = left_click(
p.on_open_expr_panel
.reform(|_| ColumnSettingsTarget::NewExpression),
);
let class = if matches!(p.selected_column, Some(ColumnLocator::NewExpression)) {
classes!("dragdrop-hover")
} else {
classes!()
};
html! {
<div id="add-expression" data-index="-1" {class} {onmousedown}>
<span class="icon" />
<span id="add-expression-button" />
</div>
}
}