use crate::app::FormBaseline;
use crate::app::forms::HostForm;
use crate::app::tag_state::BulkTagEditorState;
pub struct FormState {
pub host: HostForm,
pub host_baseline: Option<FormBaseline>,
pub bulk_tag_editor: BulkTagEditorState,
pub bulk_tag_undo: Option<Vec<(String, Vec<String>)>>,
pub pending_discard_confirm: bool,
}
impl Default for FormState {
fn default() -> Self {
Self {
host: HostForm::new(),
host_baseline: None,
bulk_tag_editor: BulkTagEditorState::default(),
bulk_tag_undo: None,
pending_discard_confirm: false,
}
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn default_is_empty() {
let s = FormState::default();
assert!(!s.pending_discard_confirm);
assert!(s.bulk_tag_undo.is_none());
assert!(s.host_baseline.is_none());
assert!(s.bulk_tag_editor.rows.is_empty());
}
}