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

2 files changed

Lines changed: 25 additions & 8 deletions

File tree

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)