Skip to content

Commit ff14634

Browse files
committed
feat(workflows): 第一个表格选择更多页时应该自动调整高度
close os-checker#115
1 parent 18802c7 commit ff14634

File tree

2 files changed

+17
-8
lines changed

2 files changed

+17
-8
lines changed
Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
<template>
22
<div>
33
<!-- NOTE: choosing large page options will render slow and consume more memory -->
4-
<DataTable :value="data" paginator :rows="5" :rowsPerPageOptions="[5, 10, 20, 50, 100, 200, 1000]" stripedRows
5-
selectionMode="single" v-model:selection="selected" removableSort sortMode="multiple" scrollable
6-
scrollHeight="300px" @rowSelect="rowSelect">
4+
<DataTable :value="data" paginator :rows="rowsPerPage" :rowsPerPageOptions="[5, 10, 20, 50, 100, 200, 1000]"
5+
stripedRows selectionMode="single" v-model:selection="selected" removableSort sortMode="multiple" scrollable
6+
:scrollHeight="scrollHeight" @rowSelect="rowSelect">
77
<Column v-for="col of dataColumns" :key="col.field" :field="col.field" :header="col.header" sortable />
88
</DataTable>
99
</div>
@@ -12,18 +12,22 @@
1212
<script lang="ts" setup>
1313
import type { DataTableRowSelectEvent } from 'primevue/datatable';
1414
15-
1615
type FieldHeader = {
1716
field: string,
1817
header: string,
1918
}
2019
21-
const { data, dataColumns, rowSelect } = defineProps<{
20+
const { data, dataColumns, rowSelect, height, rows } = defineProps<{
2221
data: any,
2322
dataColumns: FieldHeader[],
24-
rowSelect?: (_: DataTableRowSelectEvent) => void
23+
rowSelect?: (_: DataTableRowSelectEvent) => void,
24+
height?: string,
25+
rows?: number,
2526
}>();
2627
28+
const scrollHeight = computed(() => height ?? "300px");
29+
const rowsPerPage = computed(() => rows ?? 5);
30+
2731
const selected = ref();
2832
2933
</script>

os-checks/pages/workflows.vue

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,11 @@
1313
</div>
1414

1515
<TargetTable :data="workflowSelected" :dataColumns="workflowColumns" :rowSelect="onRowSelectedWorkflow"
16+
:height="heightWorkflows" :rows="10"
1617
class="workflow-table" />
1718

18-
<TargetTable :data="runSelected" :dataColumns="runColumns" :rowSelect="onRowSelectedJobs" class="workflow-table" />
19+
<TargetTable :data="runSelected" :dataColumns="runColumns" :rowSelect="onRowSelectedJobs"
20+
:height="heightRuns" class="workflow-table" />
1921

2022
<Dialog v-model:visible="visible" modal :style="{ width: '70%' }">
2123
<template #header>
@@ -116,7 +118,10 @@
116118
import type { DataTableRowSelectEvent } from 'primevue/datatable';
117119
import { type Workflows, type Summary, summary_to_workflows } from '~/shared/workflows';
118120
119-
const { color } = storeToRefs(useStyleStore());
121+
const { color, viewportHeight } = storeToRefs(useStyleStore());
122+
123+
const heightWorkflows = computed(() => `${viewportHeight.value * 0.5}px`);
124+
const heightRuns = computed(() => `${viewportHeight.value * 0.3}px`);
120125
121126
const visible = ref(false);
122127

0 commit comments

Comments
 (0)