Skip to content

Commit 506bb3d

Browse files
committed
Improve typing
1 parent d1d4ae3 commit 506bb3d

File tree

2 files changed

+16
-13
lines changed

2 files changed

+16
-13
lines changed

client/src/components/Dataset/DatasetDisplay.vue

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ import { errorMessageAsString } from "@/utils/simple-error";
1010
import { bytesToString } from "@/utils/utils";
1111
1212
import Alert from "@/components/Alert.vue";
13+
import TabularChunkedView from "@/components/Dataset/Tabular/TabularChunkedView.vue";
1314
import LoadingSpan from "@/components/LoadingSpan.vue";
1415
import CenterFrame from "@/entry/analysis/modules/CenterFrame.vue";
15-
import TabularChunkedView from "@/components/Dataset/Tabular/TabularChunkedView.vue";
1616
1717
interface Props {
1818
datasetId: string;
@@ -54,9 +54,11 @@ watch(
5454
async () => {
5555
try {
5656
const { headers } = await fetch(previewUrl.value, { method: "HEAD" });
57-
contentChunked.value = headers.get("x-content-chunked");
58-
contentTruncated.value = headers.get("x-content-truncated");
59-
sanitizedJobImported.value = headers.get("x-sanitized-job-imported");
57+
contentChunked.value = !!headers.get("x-content-chunked");
58+
contentTruncated.value = headers.get("x-content-truncated")
59+
? Number(headers.get("x-content-truncated"))
60+
: null;
61+
sanitizedJobImported.value = !!headers.get("x-sanitized-job-imported");
6062
sanitizedToolId.value = headers.get("x-sanitized-tool-id");
6163
errorMessage.value = "";
6264
} catch (e) {

client/src/components/Dataset/Tabular/TabularChunkedView.vue

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import axios from "axios";
44
import { parse } from "csv-parse/sync";
55
import { computed, onMounted, reactive, ref, watch } from "vue";
66
7+
import type { HDADetailed } from "@/api";
78
import { getAppRoot } from "@/onload/loadConfig";
89
910
interface TabularChunk {
@@ -12,14 +13,14 @@ interface TabularChunk {
1213
data_line_offset: number;
1314
}
1415
16+
interface TabularDataset extends HDADetailed {
17+
metadata_columns?: number;
18+
metadata_column_types?: string[];
19+
metadata_column_names?: string[];
20+
}
21+
1522
interface TabularChunkedViewProps {
16-
options: {
17-
id: string;
18-
file_ext: string;
19-
metadata_columns: number;
20-
metadata_column_types: string[];
21-
metadata_column_names: string[];
22-
};
23+
options: TabularDataset;
2324
}
2425
2526
const props = defineProps<TabularChunkedViewProps>();
@@ -36,7 +37,7 @@ const tabularData = reactive<{ rows: string[][] }>({
3637
const columns = computed(() => {
3738
const columns = Array(props.options.metadata_columns);
3839
// for each column_name, inject header
39-
if (props.options.metadata_column_names?.length > 0) {
40+
if (props.options.metadata_column_names && props.options.metadata_column_names?.length > 0) {
4041
props.options.metadata_column_names.forEach((column_name, index) => {
4142
columns[index] = column_name;
4243
});
@@ -46,7 +47,7 @@ const columns = computed(() => {
4647
4748
const columnStyle = computed(() => {
4849
const columnStyle = Array(props.options.metadata_columns);
49-
if (props.options.metadata_column_types?.length > 0) {
50+
if (props.options.metadata_column_types && props.options.metadata_column_types?.length > 0) {
5051
props.options.metadata_column_types.forEach((column_type, index) => {
5152
columnStyle[index] = column_type === "str" || column_type === "list" ? "string-align" : "number-align";
5253
});

0 commit comments

Comments
 (0)