diff --git a/advotracker/src/callbacks/policycheck_state.rs b/advotracker/src/callbacks/policycheck_state.rs index 03a9a11..0b94e72 100644 --- a/advotracker/src/callbacks/policycheck_state.rs +++ b/advotracker/src/callbacks/policycheck_state.rs @@ -105,9 +105,16 @@ impl PolicyCheckState { let text = text_box.text_mut(); } - pub fn import_data(&mut self, text_block: Entity, ctx: &mut Context<'_>) { // import data - // WIP: for now, only import once per session + /// Import policy numbers into hashmap + fn import_data(&mut self) -> Result<(), Box> { + //fn import_data(&mut self, entity: Entity, ctx: &mut Context<'_>) + // -> Result<(), Box> { + // WIP: for now, only import once per session if self.policy_data_count == 0 { + //let mut text_block_wrapper: TextBlockCtx<'_> = text_block(ctx.child("policy_check_result")); + //text_block_wrapper.set_enabled(true); + //text_block_wrapper.set_text("Importieren der Prüflisten-Elemnte ..."); + match self.create_hashmap() { Ok(()) => { //let res = t!("policy.hashmap.success", lang); @@ -130,7 +137,9 @@ impl PolicyCheckState { hashmap_status = "consume", hashmap_entries = ?self.policy_data_count); } -} + + Ok(()) + } /// Open menu. pub fn open_menu(&mut self, text_block: Entity, ctx: &mut Context<'_>) { @@ -155,6 +164,18 @@ impl PolicyCheckState { Err(e) => { debug!(target: "advotracker", "{}", e); } } + // trace!(target: "advotracker", state = "importing"); + // match self.import_data() { + // Ok(()) => { + // trace!(target: "advotracker", import_data = "success"); + // } + // _ => { + // error!("Importing data failed!"); + // trace!(target: "advotracker", import_data = "failed"); + // } + //} + + trace!(target: "advotracker", state = "parsing", policy_number = ?policy_string); // Parse policy code: "AS-123456789" @@ -208,7 +229,6 @@ impl PolicyCheckState { let mut text_block_wrapper: TextBlockCtx<'_> = text_block(ctx.child("policy_check_result")); text_block_wrapper.set_enabled(true); text_block_wrapper.set_text("Nur Nummern sind zulässig!"); - } } } @@ -261,7 +281,7 @@ impl PolicyCheckState { } /// Change visibility of the result label. - fn set_visibility(&self, entity: Entity, ctx: &mut Context<'_>) { + fn set_visibility(&self, entity: Entity, ctx: &mut Context<'_>) { if ctx.get_widget(entity).get::("text").is_empty() { text_block(ctx.child(ID_POLICY_CHECK_LABEL_RESULT)).set_visibility(Visibility::Visible); text_block(ctx.child(ID_POLICY_CHECK_BUTTON_RESULT)).set_visibility(Visibility::Visible); @@ -370,5 +390,7 @@ impl State for PolicyCheckState { string_data_count = format!("{} {:?}", string_data_count, self.policy_numbers.len()); text_block(ctx.child(ID_POLICY_DATA_COUNT_BLOCK)).set_text(string_data_count); + + let _ = self.import_data(); } }