diff --git a/package.json b/package.json index 9e5035e..721b61c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "tableviewer", "private": true, - "version": "1.2.0", + "version": "1.3.0", "type": "module", "scripts": { "dev": "vite", diff --git a/src/components/datatable.vue b/src/components/datatable.vue index b6c5186..cb3bf2b 100644 --- a/src/components/datatable.vue +++ b/src/components/datatable.vue @@ -24,8 +24,8 @@ - + @@ -48,15 +48,15 @@ const tb_body = ref([]); const filetype_options = [ { - label: 'parquet', + label: 'parquet(s)', key: 'parquet' }, { - label: 'arrow', + label: 'feather(s)', key: 'arrow' }, { - label: 'csv', + label: 'csv(s)', key: 'csv' } ] @@ -101,14 +101,27 @@ async function execute_sql() { } } +interface ExtensionMapType { + [key: string]: string[]; // Index signature: any string key maps to an array of strings +} + +const Extensions: ExtensionMapType = { + "parquet": ["parquet",], + "arrow": ["arrow", "ipc", "feather"], + "csv": ["csv",], +}; + async function choose_filetype(key: string) { sql.value = "select * from LAST offset 0 limit 100"; last_filetype.value = key; const selected = await open({ multiple: true, filters: [{ - name: 'table file', - extensions: [key,] + name: 'Table File(s)', + extensions: Extensions[key] + }, { + name: 'All File(s)', + extensions: ["*",] }] }); // console.log(selected); @@ -138,7 +151,7 @@ async function config_csv() { // modal const showModal = ref(false); -const csv_sep = ref(';'); +const csv_sep = ref(','); const csv_sep_combos = [ { label: "comma(,)",