99 updateSortModel ,
1010 getFullName ,
1111 LightTooltip ,
12- pagecountcellTooltipRender ,
12+ pagecountcellTooltipRender ,
1313 getClosedDate ,
1414 formatRequestType
1515} from "../../utils" ;
@@ -57,7 +57,7 @@ const DataGridKeywordSearch = ({ userDetail }) => {
5757
5858 const hyperlinkTooltipRenderCell = ( params ) => {
5959 let link ;
60- if ( params . row . ministryrequestid ) {
60+ if ( params . row . ministryrequestid ) {
6161 link = "./foirequests/" + params . row . id + "/ministryrequest/" + params . row . ministryrequestid ;
6262 } else {
6363 link = "./reviewrequest/" + params . row . id ;
@@ -81,7 +81,7 @@ const DataGridKeywordSearch = ({ userDetail }) => {
8181
8282 const hyperlinkRenderCell = ( params ) => {
8383 let link ;
84- if ( params . row . ministryrequestid ) {
84+ if ( params . row . ministryrequestid ) {
8585 link = "./foirequests/" + params . row . id + "/ministryrequest/" + params . row . ministryrequestid ;
8686 } else {
8787 link = "./reviewrequest/" + params . row . id ;
@@ -94,33 +94,43 @@ const DataGridKeywordSearch = ({ userDetail }) => {
9494 } ;
9595
9696 const goToRecordsRenderCell = ( params ) => {
97+ if ( ! params ?. row ?. ministryrequestid ) return null ;
98+
99+ const searchParams = new URLSearchParams ( ) ;
100+
97101 const keywordSearchParam = keywordSearchParamsRef . current ;
98- let link ;
99- if ( params . row . ministryrequestid && keywordSearchParam ?. keywords ?. length > 0 ) {
102+ if ( keywordSearchParam ?. keywords ?. length > 0 ) {
100103 const keywords = keywordSearchParam . keywords
101- . filter ( keyword => keyword . category . toUpperCase ( ) !== "NOT" )
102- . map ( keyword => `"${ keyword . text } "` )
103- . join ( " " ) ;
104- let queryString = { "query" : keywords } ;
105- const queryStringParam = new URLSearchParams ( queryString ) . toString ( ) ;
106- const formattedQueryString = queryStringParam . replace ( / \+ / g, '%20' ) ;
107- link = `${ DOC_REVIEWER_WEB_URL } /foi/${ params . row . ministryrequestid } ?${ formattedQueryString } ` ;
104+ . filter ( k => k . category ?. toUpperCase ( ) !== "NOT" )
105+ . map ( k => `"${ k . text } "` )
106+ . join ( " " ) ;
107+
108+ searchParams . set ( "query" , keywords ) ;
108109 }
110+
111+ const setId = Number ( params ?. row ?. documentsetid ) ;
112+ if ( Number . isInteger ( setId ) && setId > 0 ) {
113+ searchParams . set ( "documentsetid" , setId . toString ( ) ) ;
114+ }
115+
116+ const href = `${ DOC_REVIEWER_WEB_URL } /foi/${ params . row . ministryrequestid } ?${ searchParams
117+ . toString ( )
118+ . replace ( / \+ / g, "%20" ) } `;
119+
109120 return (
110121 < Link
111- href = { link }
122+ href = { href }
112123 target = "_blank"
113124 rel = "noopener noreferrer"
114- onClick = { ( e ) => {
115- e . stopPropagation ( ) ;
116- } }
125+ onClick = { ( e ) => e . stopPropagation ( ) }
117126 >
118127 < div className = "MuiDataGrid-cellContent" > Go to records</ div >
119128 </ Link >
120129 ) ;
121130 } ;
122131
123132
133+
124134 const IAOColumns = [
125135 {
126136 field : "applicantName" ,
@@ -149,7 +159,7 @@ const DataGridKeywordSearch = ({ userDetail }) => {
149159 cellClassName : 'foi-advanced-search-result-cell' ,
150160 valueGetter : ( params ) => params . row . requestnumber ,
151161 width : 160 ,
152- } ,
162+ } ,
153163 {
154164 field : "requeststatus" ,
155165 headerName : "CURRENT STATE" ,
@@ -185,7 +195,7 @@ const DataGridKeywordSearch = ({ userDetail }) => {
185195 flex : 1 ,
186196 } ,
187197 ] ;
188-
198+
189199 const defaultTableInfo = {
190200 columns : IAOColumns ,
191201 sort : [
@@ -198,7 +208,7 @@ const DataGridKeywordSearch = ({ userDetail }) => {
198208 } ;
199209
200210 const tableInfo = defaultTableInfo ;
201-
211+
202212 const classes = useStyles ( ) ;
203213
204214 const defaultRowsState = { page : 0 , pageSize : 10 } ;
@@ -224,7 +234,7 @@ const DataGridKeywordSearch = ({ userDetail }) => {
224234 // });
225235
226236 }
227-
237+
228238 } , [ rowsState , sortModel ] ) ;
229239
230240 const columnsRef = React . useRef ( tableInfo ?. columns || [ ] ) ;
0 commit comments