You've already forked Sonarr
							
							
				mirror of
				https://github.com/Sonarr/Sonarr.git
				synced 2025-10-31 00:07:55 +02:00 
			
		
		
		
	show rejection reasons in a tool tip instead of plaint text in the grid.
This commit is contained in:
		
							
								
								
									
										40
									
								
								UI/Cells/ApprovalStatusCell.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								UI/Cells/ApprovalStatusCell.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | ||||
| 'use strict'; | ||||
| define( | ||||
|     [ | ||||
|         'backgrid', | ||||
|         'marionette', | ||||
|         'bootstrap' | ||||
|     ], function (Backgrid, Marionette) { | ||||
|  | ||||
|         return Backgrid.Cell.extend({ | ||||
|  | ||||
|             className: 'approval-status-cell', | ||||
|             template : 'Cells/ApprovalStatusCellTemplate', | ||||
|  | ||||
|  | ||||
|             render: function () { | ||||
|  | ||||
|                 var rejections = this.model.get(this.column.get('name')); | ||||
|  | ||||
|                 if (rejections.length === 0) { | ||||
|                     return this; | ||||
|                 } | ||||
|  | ||||
|                 this.templateFunction = Marionette.TemplateCache.get(this.template); | ||||
|  | ||||
|                 var html = this.templateFunction(rejections); | ||||
|                 this.$el.html('<i class="icon-exclamation-sign"/>'); | ||||
|  | ||||
|                 this.$el.popover({ | ||||
|                     content  : html, | ||||
|                     html     : true, | ||||
|                     trigger  : 'hover', | ||||
|                     title    : 'Release Rejected', | ||||
|                     placement: 'left', | ||||
|                     container: this.$el | ||||
|                 }); | ||||
|  | ||||
|                 return this; | ||||
|             } | ||||
|         }); | ||||
|     }); | ||||
							
								
								
									
										6
									
								
								UI/Cells/ApprovalStatusCellTemplate.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								UI/Cells/ApprovalStatusCellTemplate.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| <ul> | ||||
|     {{#each this}} | ||||
|     <li>{{this}}</li> | ||||
|     {{debug}} | ||||
|     {{/each}} | ||||
| </ul> | ||||
| @@ -1,23 +1,39 @@ | ||||
| @import "../content/Bootstrap/mixins"; | ||||
| @import "../content/Bootstrap/variables"; | ||||
| @import "../content/Bootstrap/buttons"; | ||||
| @import "../shared/styles/clickable"; | ||||
|  | ||||
| .episode-title-cell { | ||||
|   .btn-link; | ||||
| } | ||||
|  | ||||
| .air-date-cell { | ||||
|   width: 100px; | ||||
|   width : 100px; | ||||
| } | ||||
|  | ||||
| .relative-date-cell { | ||||
|   width: 150px; | ||||
|   width : 150px; | ||||
| } | ||||
|  | ||||
| .quality-cell{ | ||||
|   width: 130px; | ||||
| .quality-cell { | ||||
|   width : 130px; | ||||
| } | ||||
|  | ||||
| .history-event-type-cell{ | ||||
| .history-event-type-cell { | ||||
|   width : 10px; | ||||
| } | ||||
|  | ||||
| .download-report-cell { | ||||
|   .clickable(); | ||||
| } | ||||
|  | ||||
| .approval-status-cell { | ||||
|   widows : 10px; | ||||
|   .popover { | ||||
|     max-width : 400px; | ||||
|   } | ||||
|  | ||||
|   i { | ||||
|     color : @red; | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -14,8 +14,8 @@ define( | ||||
|         'Logs/Layout', | ||||
|         'Release/Layout', | ||||
|         'Shared/NotFoundView' | ||||
|     ], function (App, Marionette, HistoryLayout, SettingsLayout, AddSeriesLayout, SeriesIndexLayout, SeriesDetailsLayout, MissingLayout, SeriesModel, CalendarLayout, NotFoundView, | ||||
|         LogsLayout, ReleaseLayout) { | ||||
|     ], function (App, Marionette, HistoryLayout, SettingsLayout, AddSeriesLayout, SeriesIndexLayout, SeriesDetailsLayout, MissingLayout, SeriesModel, CalendarLayout, | ||||
|         LogsLayout, ReleaseLayout, NotFoundView) { | ||||
|         return Marionette.Controller.extend({ | ||||
|  | ||||
|             series       : function () { | ||||
|   | ||||
| @@ -5,7 +5,7 @@ define( | ||||
|         'backgrid', | ||||
|         'Cells/FileSizeCell', | ||||
|         'Cells/QualityCell', | ||||
|         'Release/ApprovalStatusCell', | ||||
|         'Cells/ApprovalStatusCell', | ||||
|         'Release/DownloadReportCell' | ||||
|  | ||||
|     ], function (Marionette, Backgrid, FileSizeCell, QualityCell, ApprovalStatusCell, DownloadReportCell) { | ||||
| @@ -46,7 +46,7 @@ define( | ||||
|  | ||||
|                     { | ||||
|                         name : 'rejections', | ||||
|                         label: 'decision', | ||||
|                         label: '', | ||||
|                         cell : ApprovalStatusCell | ||||
|                     }, | ||||
|                     { | ||||
|   | ||||
| @@ -1,26 +0,0 @@ | ||||
| 'use strict'; | ||||
| define( | ||||
|     [ | ||||
|         'backgrid' | ||||
|     ], function (Backgrid) { | ||||
|  | ||||
|  | ||||
|         return Backgrid.Cell.extend({ | ||||
|  | ||||
|             className: 'approval-status-cell', | ||||
|  | ||||
|             render: function () { | ||||
|                 var rejections = this.model.get(this.column.get('name')); | ||||
|  | ||||
|                 var result = ''; | ||||
|  | ||||
|                 _.each(rejections, function (reason) { | ||||
|                     result += reason + ' '; | ||||
|                 }); | ||||
|  | ||||
|                 this.$el.html(result); | ||||
|                 this.delegateEvents(); | ||||
|                 return this; | ||||
|             } | ||||
|         }); | ||||
|     }); | ||||
| @@ -18,13 +18,13 @@ define( | ||||
|  | ||||
|                 this.$el.html('<i class =\'icon-spinner icon-spin\' />'); | ||||
|                 this.model.save().always(function () { | ||||
|                         self.$el.html('<i class =\'icon-download-alt\' />'); | ||||
|                     }); | ||||
|                     self.$el.html('<i class =\'icon-download-alt\' title=\'Add to download queue\' />'); | ||||
|                 }); | ||||
|             }, | ||||
|  | ||||
|             render: function () { | ||||
|  | ||||
|                 this.$el.html('<i class =\'icon-download-alt\' />'); | ||||
|                 this.$el.html('<i class =\'icon-download-alt\' title=\'Add to download queue\' />'); | ||||
|                 return this; | ||||
|  | ||||
|             } | ||||
|   | ||||
| @@ -8,7 +8,7 @@ define( | ||||
|         'Cells/EpisodeNumberCell', | ||||
|         'Cells/FileSizeCell', | ||||
|         'Cells/QualityCell', | ||||
|         'Release/ApprovalStatusCell', | ||||
|         'Cells/ApprovalStatusCell', | ||||
|         'Shared/SpinnerView' | ||||
|     ], function (Marionette, Backgrid, ReleaseCollection, IndexerCell, EpisodeNumberCell, FileSizeCell, QualityCell, ApprovalStatusCell, SpinnerView) { | ||||
|         return Marionette.Layout.extend({ | ||||
| @@ -55,7 +55,7 @@ define( | ||||
|  | ||||
|                     { | ||||
|                         name : 'rejections', | ||||
|                         label: 'decision', | ||||
|                         label: '', | ||||
|                         cell : ApprovalStatusCell | ||||
|                     } | ||||
|                 ], | ||||
|   | ||||
		Reference in New Issue
	
	Block a user