Skip to content

Commit e63e601

Browse files
committed
Disable pagination UI when filtering is enabled
We disable the UI rather than removing it, as removing it causes layout wobbles when toggling the filter checkbox.
1 parent c457d5c commit e63e601

File tree

2 files changed

+25
-8
lines changed

2 files changed

+25
-8
lines changed

extensions/ql-vscode/src/view/results/ResultTables.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -240,8 +240,11 @@ export function ResultTables(props: ResultTablesProps) {
240240

241241
return (
242242
<div>
243-
<ResultTablesHeader {...props} selectedTable={selectedTable} />
244-
<div className={tableHeaderClassName}></div>
243+
<ResultTablesHeader
244+
{...props}
245+
selectedTable={selectedTable}
246+
disablePagination={selectionFilter != null}
247+
/>
245248
<div
246249
className={tableHeaderClassName}
247250
style={{ justifyContent: "flex-end" }}

extensions/ql-vscode/src/view/results/ResultTablesHeader.tsx

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ interface Props {
1313
queryPath: string;
1414
parsedResultSets: ParsedResultSets;
1515
selectedTable: string;
16+
disablePagination?: boolean;
1617
}
1718

1819
const Container = styled.span`
@@ -57,7 +58,13 @@ const OpenQueryLink = styled(TextButton)`
5758
`;
5859

5960
export function ResultTablesHeader(props: Props) {
60-
const { queryPath, queryName, parsedResultSets, selectedTable } = props;
61+
const {
62+
queryPath,
63+
queryName,
64+
parsedResultSets,
65+
selectedTable,
66+
disablePagination,
67+
} = props;
6168

6269
const [selectedPage, setSelectedPage] = useState(
6370
`${parsedResultSets.pageNumber + 1}`,
@@ -145,19 +152,26 @@ export function ResultTablesHeader(props: Props) {
145152

146153
return (
147154
<Container>
148-
<PaginationButton onClick={prevPageHandler}>&#xab;</PaginationButton>
155+
<PaginationButton disabled={disablePagination} onClick={prevPageHandler}>
156+
&#xab;
157+
</PaginationButton>
149158
<PageNumberInput
150159
type="number"
151160
size={3}
152-
value={selectedPage}
161+
value={disablePagination ? 1 : selectedPage}
153162
min="1"
154-
max={numPages}
163+
max={disablePagination ? 1 : numPages}
164+
disabled={disablePagination}
155165
onChange={onChangeHandler}
156166
onBlur={onBlurHandler}
157167
onKeyDown={onKeyDownHandler}
158168
/>
159-
<span>/&nbsp;{numPages}</span>
160-
<PaginationButton value=">" onClick={nextPageHandler}>
169+
<span>/&nbsp;{disablePagination ? 1 : numPages}</span>
170+
<PaginationButton
171+
disabled={disablePagination}
172+
value=">"
173+
onClick={nextPageHandler}
174+
>
161175
&#xbb;
162176
</PaginationButton>
163177
<div className={tableHeaderItemClassName}>{queryName}</div>

0 commit comments

Comments
 (0)