feat: adiciona pré-visualização de arquivos CSV e XLSX na interface
This commit is contained in:
@@ -64,6 +64,14 @@ pub fn renderizar(ui: &mut Ui, ctx: &Context, app: &mut App) {
|
||||
TipoArquivo::Xlsx => renderizar_xlsx(ui, app),
|
||||
}
|
||||
|
||||
// Pré-visualização do arquivo
|
||||
if let Some(preview) = &app.preview_arquivo.clone() {
|
||||
ui.add_space(8.0);
|
||||
ui.separator();
|
||||
ui.add_space(4.0);
|
||||
crate::ui::screens::renderizar_tabela_preview(ui, preview);
|
||||
}
|
||||
|
||||
ui.add_space(16.0);
|
||||
ui.separator();
|
||||
ui.add_space(8.0);
|
||||
@@ -109,6 +117,7 @@ fn renderizar_csv(ui: &mut Ui, app: &mut App) {
|
||||
'\t' => "Tabulação (Tab)",
|
||||
_ => "Outro",
|
||||
};
|
||||
let mut delim_mudou = false;
|
||||
egui::ComboBox::from_id_salt("combo_delimitador")
|
||||
.selected_text(delim_str)
|
||||
.show_ui(ui, |ui| {
|
||||
@@ -117,6 +126,7 @@ fn renderizar_csv(ui: &mut Ui, app: &mut App) {
|
||||
.clicked()
|
||||
{
|
||||
app.layout_csv_atual.delimitador = ',';
|
||||
delim_mudou = true;
|
||||
}
|
||||
if ui
|
||||
.selectable_label(
|
||||
@@ -126,6 +136,7 @@ fn renderizar_csv(ui: &mut Ui, app: &mut App) {
|
||||
.clicked()
|
||||
{
|
||||
app.layout_csv_atual.delimitador = ';';
|
||||
delim_mudou = true;
|
||||
}
|
||||
if ui
|
||||
.selectable_label(
|
||||
@@ -135,8 +146,19 @@ fn renderizar_csv(ui: &mut Ui, app: &mut App) {
|
||||
.clicked()
|
||||
{
|
||||
app.layout_csv_atual.delimitador = '\t';
|
||||
delim_mudou = true;
|
||||
}
|
||||
});
|
||||
if delim_mudou {
|
||||
if let Some(caminho) = &app.caminho_arquivo.clone() {
|
||||
app.preview_arquivo = crate::infrastructure::csv_reader::preview_csv(
|
||||
caminho,
|
||||
app.layout_csv_atual.delimitador as u8,
|
||||
&app.layout_csv_atual.encoding.clone(),
|
||||
5,
|
||||
).ok();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Encoding
|
||||
|
||||
Reference in New Issue
Block a user