11import {
2+ VSCodeCheckbox ,
23 VSCodeDataGridCell ,
34 VSCodeDataGridRow ,
45 VSCodeDropdown ,
6+ VSCodeLink ,
57 VSCodeOption ,
68} from "@vscode/webview-ui-toolkit/react" ;
79import * as React from "react" ;
@@ -38,29 +40,18 @@ const SupportSpan = styled.span<SupportedUnsupportedSpanProps>`
3840 } } ;
3941` ;
4042
41- type SupportedUnsupportedLinkProps = {
42- supported : boolean ;
43- modeled : ModeledMethod | undefined ;
44- } ;
45-
46- const SupportLink = styled . button < SupportedUnsupportedLinkProps > `
47- color: ${ ( props ) => {
48- if ( ! props . supported && props . modeled && props . modeled ?. type !== "none" ) {
49- return "orange" ;
50- } else {
51- return props . supported ? "green" : "red" ;
52- }
53- } } ;
54- background-color: transparent;
55- border: none;
56- cursor: pointer;
57- padding: 0;
43+ const ApiOrMethodCell = styled ( VSCodeDataGridCell ) `
44+ display: flex;
45+ flex-direction: row;
46+ align-items: center;
47+ gap: 0.5em;
5848` ;
5949
6050const UsagesButton = styled . button `
6151 color: var(--vscode-editor-foreground);
62- background-color: transparent ;
52+ background-color: var(--vscode-input-background) ;
6353 border: none;
54+ border-radius: 40%;
6455 cursor: pointer;
6556` ;
6657
@@ -171,43 +162,24 @@ export const MethodRow = ({
171162
172163 return (
173164 < VSCodeDataGridRow >
174- < VSCodeDataGridCell gridColumn = { 1 } >
165+ < ApiOrMethodCell gridColumn = { 1 } >
166+ < VSCodeCheckbox />
175167 < SupportSpan
176168 supported = { externalApiUsage . supported }
177169 modeled = { modeledMethod }
178170 >
179- { externalApiUsage . packageName } .{ externalApiUsage . typeName }
171+ { externalApiUsage . packageName } .{ externalApiUsage . typeName } .
172+ { externalApiUsage . methodName }
173+ { externalApiUsage . methodParameters }
180174 </ SupportSpan >
181- </ VSCodeDataGridCell >
182- < VSCodeDataGridCell gridColumn = { 2 } >
183175 { mode === Mode . Application && (
184- < SupportSpan
185- supported = { externalApiUsage . supported }
186- modeled = { modeledMethod }
187- >
188- { externalApiUsage . methodName }
189- { externalApiUsage . methodParameters }
190- </ SupportSpan >
191- ) }
192- { mode === Mode . Framework && (
193- < SupportLink
194- supported = { externalApiUsage . supported }
195- modeled = { modeledMethod }
196- onClick = { jumpToUsage }
197- >
198- { externalApiUsage . methodName }
199- { externalApiUsage . methodParameters }
200- </ SupportLink >
201- ) }
202- </ VSCodeDataGridCell >
203- { mode === Mode . Application && (
204- < VSCodeDataGridCell gridColumn = { 3 } >
205176 < UsagesButton onClick = { jumpToUsage } >
206177 { externalApiUsage . usages . length }
207178 </ UsagesButton >
208- </ VSCodeDataGridCell >
209- ) }
210- < VSCodeDataGridCell gridColumn = { 4 } >
179+ ) }
180+ < VSCodeLink onClick = { jumpToUsage } > View</ VSCodeLink >
181+ </ ApiOrMethodCell >
182+ < VSCodeDataGridCell gridColumn = { 2 } >
211183 { ( ! externalApiUsage . supported ||
212184 ( modeledMethod && modeledMethod ?. type !== "none" ) ) && (
213185 < Dropdown
@@ -222,7 +194,7 @@ export const MethodRow = ({
222194 </ Dropdown >
223195 ) }
224196 </ VSCodeDataGridCell >
225- < VSCodeDataGridCell gridColumn = { 5 } >
197+ < VSCodeDataGridCell gridColumn = { 3 } >
226198 { modeledMethod ?. type &&
227199 [ "sink" , "summary" ] . includes ( modeledMethod ?. type ) && (
228200 < Dropdown value = { modeledMethod ?. input } onInput = { handleInputInput } >
@@ -235,7 +207,7 @@ export const MethodRow = ({
235207 </ Dropdown >
236208 ) }
237209 </ VSCodeDataGridCell >
238- < VSCodeDataGridCell gridColumn = { 6 } >
210+ < VSCodeDataGridCell gridColumn = { 4 } >
239211 { modeledMethod ?. type &&
240212 [ "source" , "summary" ] . includes ( modeledMethod ?. type ) && (
241213 < Dropdown value = { modeledMethod ?. output } onInput = { handleOutputInput } >
@@ -249,7 +221,7 @@ export const MethodRow = ({
249221 </ Dropdown >
250222 ) }
251223 </ VSCodeDataGridCell >
252- < VSCodeDataGridCell gridColumn = { 7 } >
224+ < VSCodeDataGridCell gridColumn = { 5 } >
253225 { predicate ?. supportedKinds && (
254226 < KindInput
255227 kinds = { predicate . supportedKinds }
0 commit comments