refactor: extract drop indicator target helpers
This commit is contained in:
@@ -139,6 +139,32 @@ pub(crate) fn hovered_block_from_target(
|
||||
block_state_from_index(index)
|
||||
}
|
||||
|
||||
pub(crate) fn drop_indicator_from_target(
|
||||
target: EventTarget,
|
||||
client_y: i32,
|
||||
handle_selector: &str,
|
||||
) -> Option<DropIndicatorState> {
|
||||
let root = editor_root_element()?;
|
||||
let hovered = hovered_block_from_target(target, &root, handle_selector)?;
|
||||
let block = root.children().item(hovered.index as u32)?;
|
||||
let stage = editor_stage_element()?;
|
||||
Some(drop_indicator_from_block_rects(
|
||||
hovered.index,
|
||||
&block,
|
||||
&stage,
|
||||
client_y,
|
||||
))
|
||||
}
|
||||
|
||||
pub(crate) fn drop_indicator_from_point(
|
||||
client_x: i32,
|
||||
client_y: i32,
|
||||
handle_selector: &str,
|
||||
) -> Option<DropIndicatorState> {
|
||||
let target = event_target_from_point(client_x, client_y)?;
|
||||
drop_indicator_from_target(target, client_y, handle_selector)
|
||||
}
|
||||
|
||||
pub(crate) fn block_state_from_index(index: usize) -> Option<HoveredBlockState> {
|
||||
let root = editor_root_element()?;
|
||||
let stage = editor_stage_element()?;
|
||||
|
||||
Reference in New Issue
Block a user