You've already forked Sonarr
							
							
				mirror of
				https://github.com/Sonarr/Sonarr.git
				synced 2025-10-31 00:07:55 +02:00 
			
		
		
		
	Added DateHeaderCell to prevent drunk sorting on null dates
This commit is contained in:
		| @@ -10,6 +10,7 @@ define( | ||||
|         'Cells/SeriesTitleCell', | ||||
|         'Cells/TemplatedCell', | ||||
|         'Cells/QualityProfileCell', | ||||
|         'Shared/Grid/DateHeaderCell', | ||||
|         'Series/Index/Table/SeriesStatusCell', | ||||
|         'Series/Index/Table/Row', | ||||
|         'Series/Index/FooterView', | ||||
| @@ -25,6 +26,7 @@ define( | ||||
|                  SeriesTitleCell, | ||||
|                  TemplatedCell, | ||||
|                  QualityProfileCell, | ||||
|                  DateHeaderCell, | ||||
|                  SeriesStatusCell, | ||||
|                  SeriesIndexRow, | ||||
|                  FooterView, | ||||
| @@ -69,9 +71,10 @@ define( | ||||
|                         cell : 'string' | ||||
|                     }, | ||||
|                     { | ||||
|                         name : 'nextAiring', | ||||
|                         label: 'Next Airing', | ||||
|                         cell : RelativeDateCell | ||||
|                         name      : 'nextAiring', | ||||
|                         label     : 'Next Airing', | ||||
|                         cell      : RelativeDateCell, | ||||
|                         headerCell: DateHeaderCell | ||||
|                     }, | ||||
|                     { | ||||
|                         name    : 'this', | ||||
|   | ||||
							
								
								
									
										66
									
								
								UI/Shared/Grid/DateHeaderCell.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								UI/Shared/Grid/DateHeaderCell.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,66 @@ | ||||
| 'use strict'; | ||||
|  | ||||
| define( | ||||
|     [ | ||||
|         'backgrid', | ||||
|         'Shared/Grid/HeaderCell' | ||||
|     ], function (Backgrid, NzbDroneHeaderCell) { | ||||
|  | ||||
|         Backgrid.DateHeaderCell = NzbDroneHeaderCell.extend({ | ||||
|             events: { | ||||
|                 'click': 'onClick' | ||||
|             }, | ||||
|  | ||||
|             onClick: function (e) { | ||||
|                 e.preventDefault(); | ||||
|  | ||||
|                 var self = this; | ||||
|                 var columnName = this.column.get('name'); | ||||
|  | ||||
|                 if (this.column.get('sortable')) { | ||||
|                     if (this.direction() === 'ascending') { | ||||
|                         this.sort(columnName, 'descending', function (left, right) { | ||||
|                             var leftVal = left.get(columnName); | ||||
|                             var rightVal = right.get(columnName); | ||||
|  | ||||
|                             return self._comparator(leftVal, rightVal) | ||||
|                         }); | ||||
|                     } | ||||
|                     else { | ||||
|                         this.sort(columnName, 'ascending', function (left, right) { | ||||
|                             var leftVal = left.get(columnName); | ||||
|                             var rightVal = right.get(columnName); | ||||
|  | ||||
|                             return self._comparator(rightVal, leftVal) | ||||
|                         }); | ||||
|                     } | ||||
|                 } | ||||
|             }, | ||||
|  | ||||
|             _comparator: function (leftVal, rightVal) { | ||||
|                 if (!leftVal && !rightVal) { | ||||
|                     return 0 | ||||
|                 } | ||||
|  | ||||
|                 if (!leftVal) { | ||||
|                     return -1; | ||||
|                 } | ||||
|  | ||||
|                 if (!rightVal) { | ||||
|                     return 1 | ||||
|                 } | ||||
|  | ||||
|                 if (leftVal === rightVal) { | ||||
|                     return 0; | ||||
|                 } | ||||
|  | ||||
|                 if (leftVal > rightVal) { | ||||
|                     return -1; | ||||
|                 } | ||||
|  | ||||
|                 return 1; | ||||
|             } | ||||
|         }); | ||||
|  | ||||
|         return Backgrid.DateHeaderCell; | ||||
|     }); | ||||
		Reference in New Issue
	
	Block a user