feat: move "add element" button into the scrollable
This commit is contained in:
parent
05ee2fc381
commit
52b83efc2c
1 changed files with 44 additions and 41 deletions
85
src/main.rs
85
src/main.rs
|
|
@ -86,55 +86,58 @@ impl State {
|
|||
])
|
||||
.align_y(Vertical::Center)
|
||||
.into(),
|
||||
widget::scrollable(widget::column(category.elements.iter().enumerate().map(
|
||||
|(i_element, element)| {
|
||||
widget::row([
|
||||
widget::text_input("content", &element)
|
||||
.on_input(move |new_value| Message::ElementChanged {
|
||||
i_category,
|
||||
i_element,
|
||||
new_value,
|
||||
})
|
||||
.into(),
|
||||
widget::button("←")
|
||||
.on_press_maybe(if i_category > 0 {
|
||||
Some(Message::MoveElement {
|
||||
widget::scrollable(
|
||||
widget::column(category.elements.iter().enumerate().map(
|
||||
|(i_element, element)| {
|
||||
widget::row([
|
||||
widget::text_input("content", &element)
|
||||
.on_input(move |new_value| Message::ElementChanged {
|
||||
i_category,
|
||||
i_element,
|
||||
target_category: i_category - 1,
|
||||
new_value,
|
||||
})
|
||||
} else {
|
||||
None
|
||||
})
|
||||
.into(),
|
||||
widget::button("→")
|
||||
.on_press_maybe(if i_category < self.table.len() - 1 {
|
||||
Some(Message::MoveElement {
|
||||
.into(),
|
||||
widget::button("←")
|
||||
.on_press_maybe(if i_category > 0 {
|
||||
Some(Message::MoveElement {
|
||||
i_category,
|
||||
i_element,
|
||||
target_category: i_category - 1,
|
||||
})
|
||||
} else {
|
||||
None
|
||||
})
|
||||
.into(),
|
||||
widget::button("→")
|
||||
.on_press_maybe(if i_category < self.table.len() - 1 {
|
||||
Some(Message::MoveElement {
|
||||
i_category,
|
||||
i_element,
|
||||
target_category: i_category + 1,
|
||||
})
|
||||
} else {
|
||||
None
|
||||
})
|
||||
.into(),
|
||||
widget::button("X")
|
||||
.style(widget::button::warning)
|
||||
.on_press(Message::RemoveElement {
|
||||
i_category,
|
||||
i_element,
|
||||
target_category: i_category + 1,
|
||||
})
|
||||
} else {
|
||||
None
|
||||
})
|
||||
.into(),
|
||||
widget::button("X")
|
||||
.style(widget::button::warning)
|
||||
.on_press(Message::RemoveElement {
|
||||
i_category,
|
||||
i_element,
|
||||
})
|
||||
.into(),
|
||||
])
|
||||
.into()
|
||||
},
|
||||
)))
|
||||
.into(),
|
||||
])
|
||||
.into()
|
||||
},
|
||||
))
|
||||
.align_x(Horizontal::Center)
|
||||
.push(
|
||||
widget::button("add element")
|
||||
.on_press(Message::AddElement { i_category }),
|
||||
),
|
||||
)
|
||||
.into(),
|
||||
widget::button("add element")
|
||||
.on_press(Message::AddElement { i_category })
|
||||
.into(),
|
||||
])
|
||||
.align_x(Horizontal::Center)
|
||||
.into()
|
||||
}))
|
||||
.spacing(15)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue