@@ -160,6 +160,7 @@ const Table = () => {
160
160
{
161
161
Header : 'Questions' ,
162
162
accessor : 'questions' ,
163
+ disableSortBy : true ,
163
164
Cell : cellInfo => {
164
165
return (
165
166
< NavLink
@@ -189,6 +190,7 @@ const Table = () => {
189
190
{
190
191
Header : 'Solutions' ,
191
192
accessor : 'solutions' ,
193
+ disableSortBy : true ,
192
194
Cell : cellInfo => {
193
195
const url = cellInfo . row . original . premium
194
196
? `${ cellInfo . row . original . url } /`
@@ -234,6 +236,7 @@ const Table = () => {
234
236
) ;
235
237
} ,
236
238
accessor : 'pattern' ,
239
+ disableSortBy : true ,
237
240
Cell : cellInfo => {
238
241
const patterns = `${ cellInfo . row . original . pattern } `
239
242
. split ( ',' )
@@ -261,6 +264,7 @@ const Table = () => {
261
264
{
262
265
Header : 'Difficulty' ,
263
266
accessor : 'difficulty' ,
267
+ disableSortBy : true ,
264
268
Cell : cellInfo => (
265
269
< Row >
266
270
< Badge
@@ -276,15 +280,27 @@ const Table = () => {
276
280
{
277
281
Header : ( ) => {
278
282
return (
279
- < div style = { { whiteSpace : 'nowrap' } } >
280
- Companies{ ' ' }
281
- < span data-tip = "Companies retrieved from Leetcode Premium (May 2021)" >
282
- < FaQuestionCircle />
283
- </ span >
284
- </ div >
283
+ < >
284
+ < div
285
+ style = { { whiteSpace : 'nowrap' , display : 'inline-block' } }
286
+ >
287
+ Companies{ ' ' }
288
+ < span data-tip = "Companies retrieved from Leetcode Premium (May 2021)" >
289
+ < FaQuestionCircle />
290
+ </ span >
291
+ </ div >
292
+ </ >
285
293
) ;
286
294
} ,
287
295
accessor : 'companies' ,
296
+ sortType : ( a , b ) => {
297
+ if ( a . original . companies . length === b . original . companies . length ) {
298
+ return 0 ;
299
+ }
300
+ return a . original . companies . length > b . original . companies . length
301
+ ? 1
302
+ : - 1 ;
303
+ } ,
288
304
Cell : cellInfo => {
289
305
const companies = cellInfo . row . original . companies . map ( company => {
290
306
return (
@@ -333,7 +349,15 @@ const Table = () => {
333
349
< tr { ...headerGroup . getHeaderGroupProps ( ) } >
334
350
{ headerGroup . headers . map ( column => (
335
351
< th { ...column . getHeaderProps ( ) } >
336
- { column . render ( 'Header' ) }
352
+ < div { ...column . getSortByToggleProps ( { title : null } ) } >
353
+ { column . render ( 'Header' ) }
354
+ { /* eslint-disable-next-line no-nested-ternary */ }
355
+ { column . isSorted
356
+ ? column . isSortedDesc
357
+ ? ' 🔽'
358
+ : ' 🔼'
359
+ : '' }
360
+ </ div >
337
361
< div > { column . canFilter ? column . render ( 'Filter' ) : null } </ div >
338
362
</ th >
339
363
) ) }
0 commit comments