Add atomic Process group removal with explicit reuse and ordering impact
This commit is contained in:
@@ -77,7 +77,7 @@ impl Opened {
|
||||
{
|
||||
return None;
|
||||
}
|
||||
let scenario_selection = if request.scenario.is_some() {
|
||||
let scenario_selection = if request.scenario.is_some() || request.process.is_some() {
|
||||
Some(app.multiselect_snapshot()?)
|
||||
} else {
|
||||
None
|
||||
@@ -437,21 +437,23 @@ pub fn popup(app: &App) -> Option<Menu<Message>> {
|
||||
true,
|
||||
));
|
||||
if let Some(snapshot) = app.multiselect_snapshot().filter(|s| s.targets().len() > 1)
|
||||
&& selected
|
||||
&& (selected || request.process.is_some())
|
||||
{
|
||||
entries.push(Entry::title(format!(
|
||||
"{} selected",
|
||||
snapshot.targets().len()
|
||||
)));
|
||||
entries.push(item(
|
||||
"Inspect this element",
|
||||
Message::DiagramSelection(SelectionEvent::Choose(
|
||||
context,
|
||||
target.clone(),
|
||||
Choice::Inspect,
|
||||
)),
|
||||
true,
|
||||
));
|
||||
if selected {
|
||||
entries.push(item(
|
||||
"Inspect this element",
|
||||
Message::DiagramSelection(SelectionEvent::Choose(
|
||||
context,
|
||||
target.clone(),
|
||||
Choice::Inspect,
|
||||
)),
|
||||
true,
|
||||
));
|
||||
}
|
||||
entries.push(item(
|
||||
"Select only this element",
|
||||
Message::DiagramSelection(SelectionEvent::Choose(
|
||||
@@ -465,9 +467,13 @@ pub fn popup(app: &App) -> Option<Menu<Message>> {
|
||||
entries.push(Entry::title(
|
||||
"Drag contributions within one column to reorder",
|
||||
));
|
||||
entries.push(Entry::disabled(
|
||||
"Hide unavailable · cards are model contributions",
|
||||
));
|
||||
if let Some(removal) = crate::app::process_removal::begin(app) {
|
||||
entries.push(item(
|
||||
"Remove selected contributions / links…",
|
||||
removal,
|
||||
true,
|
||||
));
|
||||
}
|
||||
} else {
|
||||
entries.push(item(
|
||||
"Hide selected placements",
|
||||
@@ -475,9 +481,11 @@ pub fn popup(app: &App) -> Option<Menu<Message>> {
|
||||
crate::app::multiselect::placements(&snapshot).is_some(),
|
||||
));
|
||||
}
|
||||
entries.push(Entry::disabled(
|
||||
"Delete selected from model (not yet available)",
|
||||
));
|
||||
if request.process.is_none() {
|
||||
entries.push(Entry::disabled(
|
||||
"Delete selected from model (not yet available)",
|
||||
));
|
||||
}
|
||||
return Some(Menu {
|
||||
token: opened.token,
|
||||
anchor: request.anchor,
|
||||
|
||||
Reference in New Issue
Block a user