88 ParsedResultSets ,
99} from "../../common/interface-types" ;
1010import { basename } from "../../common/path" ;
11+ import { styled } from "styled-components" ;
12+ import TextButton from "../common/TextButton" ;
1113
1214interface Props {
1315 queryName : string ;
@@ -16,6 +18,47 @@ interface Props {
1618 selectedTable : string ;
1719}
1820
21+ const Container = styled . span `
22+ display: flex;
23+ padding: 0.5em 0;
24+ align-items: center;
25+ top: 0;
26+ background-color: var(--vscode-editorGutter-background);
27+ position: sticky;
28+ z-index: 1;
29+ ` ;
30+
31+ const PaginationButton = styled . button `
32+ padding: 0.3rem;
33+ margin: 0.2rem;
34+ border: 0;
35+ font-size: large;
36+ color: var(--vscode-editor-foreground);
37+ background-color: var(--vscode-editorGutter-background);
38+ cursor: pointer;
39+ opacity: 0.8;
40+
41+ &:hover {
42+ opacity: 1;
43+ }
44+ ` ;
45+
46+ const PageNumberInput = styled . input `
47+ border-radius: 0;
48+ padding: 0.3rem;
49+ margin: 0.2rem;
50+ width: 2rem;
51+ color: var(--vscode-editor-foreground);
52+ border: 0;
53+ border-bottom: 1px solid var(--vscode-editor-foreground);
54+ background-color: var(--vscode-editorGutter-background);
55+ outline: none;
56+ ` ;
57+
58+ const OpenQueryLink = styled ( TextButton ) `
59+ text-decoration: none;
60+ ` ;
61+
1962export function ResultTablesHeader ( props : Props ) {
2063 const { queryPath, queryName, parsedResultSets, selectedTable } = props ;
2164
@@ -104,9 +147,9 @@ export function ResultTablesHeader(props: Props) {
104147 } , [ queryPath ] ) ;
105148
106149 return (
107- < span className = "vscode-codeql__table-selection-pagination" >
108- < button onClick = { prevPageHandler } > «</ button >
109- < input
150+ < Container >
151+ < PaginationButton onClick = { prevPageHandler } > «</ PaginationButton >
152+ < PageNumberInput
110153 type = "number"
111154 size = { 3 }
112155 value = { selectedPage }
@@ -117,24 +160,16 @@ export function ResultTablesHeader(props: Props) {
117160 onKeyDown = { onKeyDownHandler }
118161 />
119162 < span > / { numPages } </ span >
120- < button value = ">" onClick = { nextPageHandler } >
163+ < PaginationButton value = ">" onClick = { nextPageHandler } >
121164 »
122- </ button >
165+ </ PaginationButton >
123166 < div className = { tableHeaderItemClassName } > { queryName } </ div >
124167 < div className = { tableHeaderItemClassName } >
125- { /*
126- eslint-disable-next-line
127- jsx-a11y/anchor-is-valid
128- */ }
129- < a
130- href = "#"
131- onClick = { openQueryHandler }
132- className = "vscode-codeql__result-table-location-link"
133- >
168+ < OpenQueryLink onClick = { openQueryHandler } >
134169 Open { basename ( queryPath ) }
135- </ a >
170+ </ OpenQueryLink >
136171 </ div >
137- </ span >
172+ </ Container >
138173 ) ;
139174}
140175
0 commit comments