refactor: extract block menu overlay close helper
This commit is contained in:
BIN
Binary file not shown.
@@ -117,3 +117,28 @@ pub(crate) fn close_editor_floating_overlays(
|
||||
set_block_turn_into_open.set(false);
|
||||
set_block_folded_title_open.set(false);
|
||||
}
|
||||
|
||||
pub(crate) fn try_close_block_menu_overlays(
|
||||
set_slash_open: WriteSignal<bool>,
|
||||
set_turn_into_open: WriteSignal<bool>,
|
||||
set_hovered_block: WriteSignal<Option<HoveredBlockState>>,
|
||||
set_block_menu_anchor: WriteSignal<Option<HoveredBlockState>>,
|
||||
set_block_menu_open: WriteSignal<bool>,
|
||||
) -> bool {
|
||||
if set_slash_open.try_set(false).is_none() {
|
||||
return false;
|
||||
}
|
||||
if set_turn_into_open.try_set(false).is_none() {
|
||||
return false;
|
||||
}
|
||||
if set_block_menu_open.try_set(false).is_none() {
|
||||
return false;
|
||||
}
|
||||
if set_block_menu_anchor.try_set(None).is_none() {
|
||||
return false;
|
||||
}
|
||||
if set_hovered_block.try_set(None).is_none() {
|
||||
return false;
|
||||
}
|
||||
true
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ use editor_runtime::editor_focus::{active_editor_stage, body_has_focus, schedule
|
||||
use editor_runtime::overlays::{
|
||||
close_editor_floating_overlays, floating_toolbar_anchor_from_selection,
|
||||
sync_text_selection_overlay, FloatingToolbarAnchor, ImageToolbarAnchor, TableOverlayAnchor,
|
||||
TableSelectionKind, TableSelectionOverlayState,
|
||||
TableSelectionKind, TableSelectionOverlayState, try_close_block_menu_overlays,
|
||||
};
|
||||
use editor_runtime::persistence::{
|
||||
load_persisted_document, normalize_identity_value, persist_document_state,
|
||||
@@ -5862,31 +5862,6 @@ fn open_block_menu_overlay(
|
||||
should_open
|
||||
}
|
||||
|
||||
fn try_close_block_menu_overlays(
|
||||
set_slash_open: WriteSignal<bool>,
|
||||
set_turn_into_open: WriteSignal<bool>,
|
||||
set_hovered_block: WriteSignal<Option<HoveredBlockState>>,
|
||||
set_block_menu_anchor: WriteSignal<Option<HoveredBlockState>>,
|
||||
set_block_menu_open: WriteSignal<bool>,
|
||||
) -> bool {
|
||||
if set_slash_open.try_set(false).is_none() {
|
||||
return false;
|
||||
}
|
||||
if set_turn_into_open.try_set(false).is_none() {
|
||||
return false;
|
||||
}
|
||||
if set_block_menu_open.try_set(false).is_none() {
|
||||
return false;
|
||||
}
|
||||
if set_block_menu_anchor.try_set(None).is_none() {
|
||||
return false;
|
||||
}
|
||||
if set_hovered_block.try_set(None).is_none() {
|
||||
return false;
|
||||
}
|
||||
true
|
||||
}
|
||||
|
||||
fn try_sync_editor_overlay_state(
|
||||
set_editor_focused: WriteSignal<bool>,
|
||||
set_text_selection_active: WriteSignal<bool>,
|
||||
|
||||
Reference in New Issue
Block a user