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)
|
.align_y(Vertical::Center)
|
||||||
.into(),
|
.into(),
|
||||||
widget::scrollable(widget::column(category.elements.iter().enumerate().map(
|
widget::scrollable(
|
||||||
|(i_element, element)| {
|
widget::column(category.elements.iter().enumerate().map(
|
||||||
widget::row([
|
|(i_element, element)| {
|
||||||
widget::text_input("content", &element)
|
widget::row([
|
||||||
.on_input(move |new_value| Message::ElementChanged {
|
widget::text_input("content", &element)
|
||||||
i_category,
|
.on_input(move |new_value| Message::ElementChanged {
|
||||||
i_element,
|
|
||||||
new_value,
|
|
||||||
})
|
|
||||||
.into(),
|
|
||||||
widget::button("←")
|
|
||||||
.on_press_maybe(if i_category > 0 {
|
|
||||||
Some(Message::MoveElement {
|
|
||||||
i_category,
|
i_category,
|
||||||
i_element,
|
i_element,
|
||||||
target_category: i_category - 1,
|
new_value,
|
||||||
})
|
})
|
||||||
} else {
|
.into(),
|
||||||
None
|
widget::button("←")
|
||||||
})
|
.on_press_maybe(if i_category > 0 {
|
||||||
.into(),
|
Some(Message::MoveElement {
|
||||||
widget::button("→")
|
i_category,
|
||||||
.on_press_maybe(if i_category < self.table.len() - 1 {
|
i_element,
|
||||||
Some(Message::MoveElement {
|
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_category,
|
||||||
i_element,
|
i_element,
|
||||||
target_category: i_category + 1,
|
|
||||||
})
|
})
|
||||||
} else {
|
.into(),
|
||||||
None
|
])
|
||||||
})
|
.into()
|
||||||
.into(),
|
},
|
||||||
widget::button("X")
|
))
|
||||||
.style(widget::button::warning)
|
.align_x(Horizontal::Center)
|
||||||
.on_press(Message::RemoveElement {
|
.push(
|
||||||
i_category,
|
widget::button("add element")
|
||||||
i_element,
|
.on_press(Message::AddElement { i_category }),
|
||||||
})
|
),
|
||||||
.into(),
|
)
|
||||||
])
|
|
||||||
.into()
|
|
||||||
},
|
|
||||||
)))
|
|
||||||
.into(),
|
.into(),
|
||||||
widget::button("add element")
|
|
||||||
.on_press(Message::AddElement { i_category })
|
|
||||||
.into(),
|
|
||||||
])
|
])
|
||||||
.align_x(Horizontal::Center)
|
|
||||||
.into()
|
.into()
|
||||||
}))
|
}))
|
||||||
.spacing(15)
|
.spacing(15)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue