@@ -10,7 +10,7 @@ import React, {
1010 Fragment ,
1111} from 'react' ;
1212import classnames from 'classnames' ;
13- import Tabs , { ITabItem } from '@/components/Tabs' ;
13+ import Tabs , { ITabItem } from '@/components/Tabs' ;
1414import Iconfont from '@/components/Iconfont' ;
1515import StateIndicator from '@/components/StateIndicator' ;
1616// import Output from '@/components/Output';
@@ -23,6 +23,7 @@ import i18n from '@/i18n';
2323import sqlServer , { IExecuteSqlParams } from '@/service/sql' ;
2424import { v4 as uuidV4 } from 'uuid' ;
2525import { Spin } from 'antd' ;
26+ import { useWorkspaceStore } from '@/store/workspace' ;
2627
2728interface IProps {
2829 className ?: string ;
@@ -43,10 +44,10 @@ export interface ISearchResultRef {
4344
4445export default forwardRef ( ( props : IProps , ref : ForwardedRef < ISearchResultRef > ) => {
4546 const { className, sql, executeSqlParams } = props ;
46- // const [currentTab, setCurrentTab] = useState<string | number | undefined>();
4747 const [ resultDataList , setResultDataList ] = useState < IManageResultData [ ] > ( ) ;
4848 const [ tableLoading , setTableLoading ] = useState ( false ) ;
4949 const controllerRef = useRef < AbortController > ( ) ;
50+ const setActiveSearchResult = useWorkspaceStore ( ( state ) => state . setActiveSearchResult ) ;
5051
5152 useEffect ( ( ) => {
5253 if ( sql ) {
@@ -73,23 +74,25 @@ export default forwardRef((props: IProps, ref: ForwardedRef<ISearchResultRef>) =
7374
7475 controllerRef . current = new AbortController ( ) ;
7576 // 获取当前SQL的查询结果
76- sqlServer . executeSql ( executeSQLParams , {
77- signal : controllerRef . current . signal ,
78- } ) . then ( ( res ) => {
79- const sqlResult = res . map ( ( _res ) => ( {
80- ..._res ,
81- uuid : uuidV4 ( ) ,
82- } ) ) ;
83-
84- setResultDataList ( sqlResult ) ;
85- } )
86- . finally ( ( ) => {
87- setTableLoading ( false ) ;
88- } ) ;
77+ sqlServer
78+ . executeSql ( executeSQLParams , {
79+ signal : controllerRef . current . signal ,
80+ } )
81+ . then ( ( res ) => {
82+ const sqlResult = res . map ( ( _res ) => ( {
83+ ..._res ,
84+ uuid : uuidV4 ( ) ,
85+ } ) ) ;
86+
87+ setResultDataList ( sqlResult ) ;
88+ } )
89+ . finally ( ( ) => {
90+ setTableLoading ( false ) ;
91+ } ) ;
8992 } ;
9093
91- const onChange = useCallback ( ( ) => {
92- // setCurrentTab (uuid);
94+ const onChange = useCallback ( ( uuid ) => {
95+ setActiveSearchResult ( uuid ) ;
9396 } , [ ] ) ;
9497
9598 const renderResult = ( queryResultData ) => {
@@ -155,7 +158,7 @@ export default forwardRef((props: IProps, ref: ForwardedRef<ISearchResultRef>) =
155158 } , [ resultDataList ] ) ;
156159
157160 const onEdit = useCallback (
158- ( type : 'add' | 'remove' , data :ITabItem [ ] ) => {
161+ ( type : 'add' | 'remove' , data : ITabItem [ ] ) => {
159162 if ( type === 'remove' ) {
160163 const newResultDataList = resultDataList ?. filter ( ( d ) => {
161164 return data . findIndex ( ( item ) => item . key === d . uuid ) === - 1 ;
@@ -205,10 +208,8 @@ export default forwardRef((props: IProps, ref: ForwardedRef<ISearchResultRef>) =
205208 { tabsList ?. length ? (
206209 < Tabs
207210 hideAdd
208- // concealTabHeader={outputTabAndTabsList?.length === 1}
209211 className = { styles . tabs }
210212 onChange = { onChange as any }
211- // activeKey={currentTab}
212213 onEdit = { onEdit as any }
213214 items = { tabsList }
214215 concealTabHeader = { tabsList . length === 1 }
0 commit comments