You've already forked Sonarr
							
							
				mirror of
				https://github.com/Sonarr/Sonarr.git
				synced 2025-10-31 00:07:55 +02:00 
			
		
		
		
	client side code webstorm code cleanup.
This commit is contained in:
		
							
								
								
									
										3
									
								
								UI/.idea/codeStyleSettings.xml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										3
									
								
								UI/.idea/codeStyleSettings.xml
									
									
									
										generated
									
									
									
								
							| @@ -7,7 +7,7 @@ | ||||
|         <option name="RIGHT_MARGIN" value="190" /> | ||||
|         <option name="HTML_ALIGN_ATTRIBUTES" value="false" /> | ||||
|         <CssCodeStyleSettings> | ||||
|           <option name="HEX_COLOR_UPPER_CASE" value="true" /> | ||||
|           <option name="HEX_COLOR_LOWER_CASE" value="true" /> | ||||
|           <option name="HEX_COLOR_LONG_FORMAT" value="true" /> | ||||
|         </CssCodeStyleSettings> | ||||
|         <JSCodeStyleSettings> | ||||
| @@ -18,7 +18,6 @@ | ||||
|         </XML> | ||||
|         <codeStyleSettings language="CSS"> | ||||
|           <indentOptions> | ||||
|             <option name="USE_TAB_CHARACTER" value="true" /> | ||||
|             <option name="SMART_TABS" value="true" /> | ||||
|           </indentOptions> | ||||
|         </codeStyleSettings> | ||||
|   | ||||
							
								
								
									
										1
									
								
								UI/.idea/inspectionProfiles/Project_Default.xml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										1
									
								
								UI/.idea/inspectionProfiles/Project_Default.xml
									
									
									
										generated
									
									
									
								
							| @@ -2,6 +2,7 @@ | ||||
|   <profile version="1.0" is_locked="false"> | ||||
|     <option name="myName" value="Project Default" /> | ||||
|     <option name="myLocal" value="false" /> | ||||
|     <inspection_tool class="HtmlFormInputWithoutLabel" enabled="false" level="WEAK WARNING" enabled_by_default="false" /> | ||||
|     <inspection_tool class="JSHint" enabled="true" level="ERROR" enabled_by_default="true" /> | ||||
|   </profile> | ||||
| </component> | ||||
							
								
								
									
										2
									
								
								UI/.idea/vcs.xml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								UI/.idea/vcs.xml
									
									
									
										generated
									
									
									
								
							| @@ -1,7 +1,7 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <project version="4"> | ||||
|   <component name="VcsDirectoryMappings"> | ||||
|     <mapping directory="" vcs="" /> | ||||
|     <mapping directory="$PROJECT_DIR$/.." vcs="Git" /> | ||||
|   </component> | ||||
| </project> | ||||
|  | ||||
|   | ||||
| @@ -12,21 +12,21 @@ define([ | ||||
|             template: 'AddSeries/addSeriesLayoutTemplate', | ||||
|  | ||||
|             regions: { | ||||
|                 addNew: '#add-new', | ||||
|                 addNew        : '#add-new', | ||||
|                 importExisting: '#import-existing', | ||||
|                 rootFolders: '#root-folders' | ||||
|                 rootFolders   : '#root-folders' | ||||
|             }, | ||||
|  | ||||
|             ui: { | ||||
|                 addNewTab: '.x-add-new-tab', | ||||
|                 addNewTab        : '.x-add-new-tab', | ||||
|                 importExistingTab: '.x-import-existing-tab', | ||||
|                 rootFoldersTab: '.x-root-folders-tab' | ||||
|                 rootFoldersTab   : '.x-root-folders-tab' | ||||
|             }, | ||||
|  | ||||
|             events: { | ||||
|                 'click .x-add-new-tab': 'showAddNew', | ||||
|                 'click .x-add-new-tab'        : 'showAddNew', | ||||
|                 'click .x-import-existing-tab': 'showImport', | ||||
|                 'click .x-root-folders-tab': 'showRootFolders' | ||||
|                 'click .x-root-folders-tab'   : 'showRootFolders' | ||||
|             }, | ||||
|  | ||||
|             showAddNew: function (e) { | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <div class="line row folder-match-result-view"> | ||||
|      | ||||
|  | ||||
|     <div class="span6"> | ||||
|         {{title}} {{seriesYear}} | ||||
|     </div> | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| <div class="row"> | ||||
|     <div class="accordion result-list span12 existing-root-folder-view"> | ||||
|         <h1>{{path}}</h1> | ||||
|         <div class="x-existing-folder-container" /> | ||||
|  | ||||
|         <div class="x-existing-folder-container"/> | ||||
|     </div> | ||||
| </div> | ||||
|   | ||||
| @@ -7,11 +7,12 @@ | ||||
|                 <option value="{{id}}">{{attributes.name}}</option> | ||||
|                 {{/each}} | ||||
|             </select> | ||||
|  | ||||
|             <div class="btn btn-primary x-btn-search pull-right"> | ||||
|                 <icon class="icon-search "></icon> | ||||
|             </div> | ||||
|             <div class="row"> | ||||
|                 <div class="x-folder-name-match-results folder-name-matches span11" /> | ||||
|                 <div class="x-folder-name-match-results folder-name-matches span11"/> | ||||
|             </div> | ||||
|         </div> | ||||
|  | ||||
|   | ||||
| @@ -6,6 +6,6 @@ | ||||
|         </div> | ||||
|     </div> | ||||
|     <div class="row"> | ||||
|         <div id="search-result" class="result-list span12" /> | ||||
|         <div id="search-result" class="result-list span12"/> | ||||
|     </div> | ||||
| </div> | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| define(['app', 'AddSeries/RootFolders/RootFolderCollection', 'AddSeries/New/SearchResultView', 'Shared/SpinnerView'], function () { | ||||
|     NzbDrone.AddSeries.New.AddNewSeriesView = Backbone.Marionette.Layout.extend({ | ||||
|         template: 'AddSeries/New/AddNewSeriesTemplate', | ||||
|         route: 'Series/add/new', | ||||
|         route   : 'Series/add/new', | ||||
|  | ||||
|         ui: { | ||||
|             seriesSearch: '.search input' | ||||
| @@ -41,7 +41,7 @@ define(['app', 'AddSeries/RootFolders/RootFolderCollection', 'AddSeries/New/Sear | ||||
|                 context.searchResult.show(new NzbDrone.Shared.SpinnerView()); | ||||
|  | ||||
|                 context.currentSearchRequest = context.collection.fetch({ | ||||
|                     data: { term: term }, | ||||
|                     data   : { term: term }, | ||||
|                     success: function () { | ||||
|                         context.searchResult.show(context.resultView); | ||||
|                     } | ||||
|   | ||||
| @@ -7,14 +7,15 @@ | ||||
|         <div class="accordion-inner"> | ||||
|             <select class="span7 x-root-folder"> | ||||
|                 {{#each rootFolders.models}} | ||||
|                 <option value="{{id}}">{{attributes.path}}</option> | ||||
|                     <option value="{{id}}">{{attributes.path}}</option> | ||||
|                 {{/each}} | ||||
|             </select> | ||||
|             <select class="span2 x-quality-profile"> | ||||
|                 {{#each qualityProfiles.models}} | ||||
|                 <option value="{{id}}">{{attributes.name}}</option> | ||||
|                     <option value="{{id}}">{{attributes.name}}</option> | ||||
|                 {{/each}} | ||||
|             </select> | ||||
|  | ||||
|             <div class="btn btn-success pull-right icon-plus x-add"> | ||||
|             </div> | ||||
|         </div> | ||||
|   | ||||
| @@ -3,13 +3,13 @@ define(['app', 'Shared/NotificationCollection', 'AddSeries/SearchResultCollectio | ||||
|  | ||||
|     NzbDrone.AddSeries.New.SearchItemView = Backbone.Marionette.ItemView.extend({ | ||||
|  | ||||
|         template: "AddSeries/New/SearchResultTemplate", | ||||
|         template : "AddSeries/New/SearchResultTemplate", | ||||
|         className: 'search-item', | ||||
|  | ||||
|         ui: { | ||||
|             qualityProfile: '.x-quality-profile', | ||||
|             rootFolder: '.x-root-folder', | ||||
|             addButton: '.x-add' | ||||
|             rootFolder    : '.x-root-folder', | ||||
|             addButton     : '.x-add' | ||||
|         }, | ||||
|  | ||||
|         events: { | ||||
| @@ -32,10 +32,10 @@ define(['app', 'Shared/NotificationCollection', 'AddSeries/SearchResultCollectio | ||||
|             var path = rootPath + "\\" + title; | ||||
|  | ||||
|             var model = new NzbDrone.Series.SeriesModel({ | ||||
|                 tvdbId: seriesId, | ||||
|                 title: title, | ||||
|                 tvdbId          : seriesId, | ||||
|                 title           : title, | ||||
|                 qualityProfileId: quality, | ||||
|                 path: path | ||||
|                 path            : path | ||||
|             }); | ||||
|  | ||||
|             var self = this; | ||||
| @@ -46,9 +46,9 @@ define(['app', 'Shared/NotificationCollection', 'AddSeries/SearchResultCollectio | ||||
|             model.save(undefined, { | ||||
|                 success: function () { | ||||
|                     var notificationModel = new NzbDrone.Shared.NotificationModel({ | ||||
|                         title: 'Added', | ||||
|                         title  : 'Added', | ||||
|                         message: title, | ||||
|                         level: 'success' | ||||
|                         level  : 'success' | ||||
|                     }); | ||||
|  | ||||
|                     notificationCollection.push(notificationModel); | ||||
| @@ -60,8 +60,8 @@ define(['app', 'Shared/NotificationCollection', 'AddSeries/SearchResultCollectio | ||||
|  | ||||
|     NzbDrone.AddSeries.SearchResultView = Backbone.Marionette.CollectionView.extend({ | ||||
|  | ||||
|         itemView: NzbDrone.AddSeries.New.SearchItemView, | ||||
|         className: 'accordion', | ||||
|         itemView  : NzbDrone.AddSeries.New.SearchItemView, | ||||
|         className : 'accordion', | ||||
|         initialize: function () { | ||||
|             this.listenTo(this.collection, 'reset', this.render); | ||||
|         } | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| define(['app', 'AddSeries/RootFolders/RootFolderModel'], function () { | ||||
|  | ||||
|     var rootFolderCollection = Backbone.Collection.extend({ | ||||
|         url: NzbDrone.Constants.ApiRoot + '/rootfolder', | ||||
|         url  : NzbDrone.Constants.ApiRoot + '/rootfolder', | ||||
|         model: NzbDrone.AddSeries.RootFolders.RootFolderModel | ||||
|     }); | ||||
|  | ||||
|   | ||||
| @@ -2,7 +2,8 @@ | ||||
|     <div class="input-prepend input-append nz-input-large x-path span10"> | ||||
|         <i class="add-on icon-folder-open"></i> | ||||
|         <input class="input-block-level" type="text" placeholder="Path of the folder to add ..."> | ||||
|         <div class="btn icon-plus btn-success x-add" /> | ||||
|  | ||||
|         <div class="btn icon-plus btn-success x-add"/> | ||||
|     </div> | ||||
|     <div class="span12 result-list" id="current-dirs" /> | ||||
|     <div class="span12 result-list" id="current-dirs"/> | ||||
| </div> | ||||
|   | ||||
| @@ -1,11 +1,11 @@ | ||||
| "use strict"; | ||||
|  | ||||
| define(['app', 'AddSeries/RootFolders/RootFolderCollection', 'Mixins/AutoComplete'], function (app,rootFolders) { | ||||
| define(['app', 'AddSeries/RootFolders/RootFolderCollection', 'Mixins/AutoComplete'], function (app, rootFolders) { | ||||
|  | ||||
|     NzbDrone.AddSeries.RootFolderItemView = Backbone.Marionette.ItemView.extend({ | ||||
|  | ||||
|         template: 'AddSeries/RootFolders/RootFolderItemTemplate', | ||||
|         tagName: 'tr', | ||||
|         tagName : 'tr', | ||||
|  | ||||
|         events: { | ||||
|             'click .x-remove': 'removeFolder' | ||||
| @@ -25,13 +25,13 @@ define(['app', 'AddSeries/RootFolders/RootFolderCollection', 'Mixins/AutoComplet | ||||
|     NzbDrone.AddSeries.RootDirListView = Backbone.Marionette.CollectionView.extend({ | ||||
|         itemView: NzbDrone.AddSeries.RootFolderItemView, | ||||
|  | ||||
|         tagName: 'table', | ||||
|         tagName  : 'table', | ||||
|         className: 'table table-hover' | ||||
|     }); | ||||
|  | ||||
|     NzbDrone.AddSeries.RootDirView = Backbone.Marionette.Layout.extend({ | ||||
|         template: 'AddSeries/RootFolders/RootFolderTemplate', | ||||
|         route: 'series/add/rootdir', | ||||
|         route   : 'series/add/rootdir', | ||||
|  | ||||
|         ui: { | ||||
|             pathInput: '.x-path input' | ||||
| @@ -56,9 +56,9 @@ define(['app', 'AddSeries/RootFolders/RootFolderCollection', 'Mixins/AutoComplet | ||||
|  | ||||
|         addFolder: function () { | ||||
|             var newDir = new NzbDrone.AddSeries.RootFolders.RootFolderModel( | ||||
|             { | ||||
|                 Path: this.ui.pathInput.val() | ||||
|             }); | ||||
|                 { | ||||
|                     Path: this.ui.pathInput.val() | ||||
|                 }); | ||||
|  | ||||
|             var self = this; | ||||
|  | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| "use strict"; | ||||
| define(['app', 'AddSeries/SearchResultModel'], function () { | ||||
|     NzbDrone.AddSeries.SearchResultCollection = Backbone.Collection.extend({ | ||||
|         url: NzbDrone.Constants.ApiRoot + '/series/lookup', | ||||
|         url  : NzbDrone.Constants.ApiRoot + '/series/lookup', | ||||
|         model: NzbDrone.AddSeries.SearchResultModel | ||||
|     }); | ||||
| }); | ||||
|   | ||||
| @@ -1,25 +1,25 @@ | ||||
| define(['app', 'AddSeries/RootFolders/RootFolderCollection', 'Quality/QualityProfileCollection'], | ||||
|     function (app, rootFolderCollection, qualityProfileCollection) { | ||||
|  | ||||
|     NzbDrone.AddSeries.SearchResultModel = Backbone.Model.extend({ | ||||
|         mutators: { | ||||
|             seriesYear: function () { | ||||
|                 var date = Date.utc.create(this.get('firstAired')).format('({yyyy})'); | ||||
|         NzbDrone.AddSeries.SearchResultModel = Backbone.Model.extend({ | ||||
|             mutators: { | ||||
|                 seriesYear: function () { | ||||
|                     var date = Date.utc.create(this.get('firstAired')).format('({yyyy})'); | ||||
|  | ||||
|                 //don't append year, if the series name already has the name appended. | ||||
|                 if (this.get('title').endsWith(date)) { | ||||
|                     return ""; | ||||
|                 } else { | ||||
|                     return date; | ||||
|                     //don't append year, if the series name already has the name appended. | ||||
|                     if (this.get('title').endsWith(date)) { | ||||
|                         return ""; | ||||
|                     } else { | ||||
|                         return date; | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         }, | ||||
|             }, | ||||
|  | ||||
|         defaults: { | ||||
|             qualityProfiles: qualityProfileCollection, | ||||
|             rootFolders: rootFolderCollection | ||||
|         } | ||||
|             defaults: { | ||||
|                 qualityProfiles: qualityProfileCollection, | ||||
|                 rootFolders    : rootFolderCollection | ||||
|             } | ||||
|  | ||||
|         }); | ||||
|  | ||||
|     }); | ||||
|  | ||||
| }); | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| <ul class="nav nav-tabs" id="myTab"> | ||||
|     <li><a href="#add-new" class="x-add-new-tab">Add New Series</a></li> | ||||
|     <li><a href="#import-existing" class="x-import-existing-tab">Import Existing Series</a></li> | ||||
|     <li><a href="#root-folders" class ="x-root-folders-tab">TV Folders</a></li> | ||||
|     <li><a href="#root-folders" class="x-root-folders-tab">TV Folders</a></li> | ||||
| </ul> | ||||
| <div class="tab-content"> | ||||
|     <div class="tab-pane" id="add-new">Add new series.</div> | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| define(['app', 'Calendar/CalendarModel'], function () { | ||||
|     NzbDrone.Calendar.CalendarCollection = Backbone.Collection.extend({ | ||||
|         url: NzbDrone.Constants.ApiRoot + '/calendar', | ||||
|         model: NzbDrone.Calendar.CalendarModel, | ||||
|         comparator: function(model) { | ||||
|         url       : NzbDrone.Constants.ApiRoot + '/calendar', | ||||
|         model     : NzbDrone.Calendar.CalendarModel, | ||||
|         comparator: function (model) { | ||||
|             return model.get('start'); | ||||
|         } | ||||
|     }); | ||||
|   | ||||
| @@ -2,71 +2,71 @@ | ||||
|  | ||||
| define(['app', 'Calendar/CalendarItemView'], function (app) { | ||||
|     NzbDrone.Calendar.CalendarCollectionView = Backbone.Marionette.CompositeView.extend({ | ||||
|         itemView: NzbDrone.Calendar.CalendarItemView, | ||||
|         itemView         : NzbDrone.Calendar.CalendarItemView, | ||||
|         itemViewContainer: '#events', | ||||
|         template: 'Calendar/CalendarCollectionTemplate', | ||||
|         className: 'row', | ||||
|         template         : 'Calendar/CalendarCollectionTemplate', | ||||
|         className        : 'row', | ||||
|  | ||||
|         ui: { | ||||
|             calendar: '#calendar' | ||||
|         }, | ||||
|  | ||||
|         initialize: function (context, action, query, collection) { | ||||
|         initialize                   : function (context, action, query, collection) { | ||||
|             this.collection = collection; | ||||
|             this.calendar = new NzbDrone.Calendar.CalendarCollection(); | ||||
|         }, | ||||
|         onCompositeCollectionRendered: function() { | ||||
|         onCompositeCollectionRendered: function () { | ||||
|             $(this.ui.calendar).fullCalendar({ | ||||
|                 allDayDefault: false, | ||||
|                 allDayDefault : false, | ||||
|                 ignoreTimezone: false, | ||||
|                 weekMode: 'variable', | ||||
|                 timeFormat: 'h(:mm)tt', | ||||
|                 header: { | ||||
|                     left: 'prev,next today', | ||||
|                 weekMode      : 'variable', | ||||
|                 timeFormat    : 'h(:mm)tt', | ||||
|                 header        : { | ||||
|                     left  : 'prev,next today', | ||||
|                     center: 'title', | ||||
|                     right: 'month,basicWeek' | ||||
|                     right : 'month,basicWeek' | ||||
|                 }, | ||||
|                 buttonText: { | ||||
|                 buttonText    : { | ||||
|                     prev: '<i class="icon-arrow-left"></i>', | ||||
|                     next: '<i class="icon-arrow-right"></i>' | ||||
|                 }, | ||||
|                 events: this.getEvents, | ||||
|                 eventRender: function (event, element) { | ||||
|                 events        : this.getEvents, | ||||
|                 eventRender   : function (event, element) { | ||||
|                     $(element).addClass(event.statusLevel); | ||||
|                     $(element).children('.fc-event-inner').addClass(event.statusLevel); | ||||
|  | ||||
|                     element.popover({ | ||||
|                         title: '{seriesTitle} - {season}x{episode} - {episodeTitle}'.assign({ | ||||
|                             seriesTitle: event.seriesTitle, | ||||
|                             season: event.seasonNumber, | ||||
|                             episode: event.episodeNumber.pad(2), | ||||
|                         title    : '{seriesTitle} - {season}x{episode} - {episodeTitle}'.assign({ | ||||
|                             seriesTitle : event.seriesTitle, | ||||
|                             season      : event.seasonNumber, | ||||
|                             episode     : event.episodeNumber.pad(2), | ||||
|                             episodeTitle: event.episodeTitle | ||||
|                         }), | ||||
|                         content: event.overview, | ||||
|                         content  : event.overview, | ||||
|                         placement: 'bottom', | ||||
|                         trigger: 'manual' | ||||
|                         trigger  : 'manual' | ||||
|                     }); | ||||
|                 }, | ||||
|                 eventMouseover: function(event, jsEvent, view){ | ||||
|                 eventMouseover: function (event, jsEvent, view) { | ||||
|                     $(this).popover('show'); | ||||
|                 }, | ||||
|                 eventMouseout: function(event, jsEvent, view){ | ||||
|                 eventMouseout : function (event, jsEvent, view) { | ||||
|                     $(this).popover('hide'); | ||||
|                 } | ||||
|             }); | ||||
|  | ||||
|             NzbDrone.Calendar.CalendarCollectionView.Instance = this; | ||||
|             $(this.ui.calendar).fullCalendar('addEventSource', this.calendar.toJSON()); | ||||
|     	}, | ||||
|         getEvents: function(start, end, callback){ | ||||
|         }, | ||||
|         getEvents                    : function (start, end, callback) { | ||||
|             var bbView = NzbDrone.Calendar.CalendarCollectionView.Instance; | ||||
|  | ||||
|             var startDate = Date.create(start).format(Date.ISO8601_DATETIME); | ||||
|             var endDate = Date.create(end).format(Date.ISO8601_DATETIME); | ||||
|  | ||||
|             bbView.calendar.fetch({ | ||||
|                 data:{ start: startDate, end: endDate }, | ||||
|                 success:function (calendarCollection) { | ||||
|                 data   : { start: startDate, end: endDate }, | ||||
|                 success: function (calendarCollection) { | ||||
|                     callback(calendarCollection.toJSON()); | ||||
|                 } | ||||
|             }); | ||||
|   | ||||
| @@ -1,13 +1,13 @@ | ||||
| 'use strict'; | ||||
|  | ||||
| define([ | ||||
|         'app', | ||||
|         'Calendar/CalendarCollection' | ||||
|     'app', | ||||
|     'Calendar/CalendarCollection' | ||||
|  | ||||
| ], function () { | ||||
|     NzbDrone.Calendar.CalendarItemView = Backbone.Marionette.ItemView.extend({ | ||||
|         template: 'Calendar/CalendarItemTemplate', | ||||
|         tagName: 'div', | ||||
|         template : 'Calendar/CalendarItemTemplate', | ||||
|         tagName  : 'div', | ||||
|         className: 'event', | ||||
|  | ||||
|         onRender: function () { | ||||
|   | ||||
| @@ -1,46 +1,51 @@ | ||||
| define(['app'], function (app) { | ||||
|     NzbDrone.Calendar.CalendarModel = Backbone.Model.extend({ | ||||
|         mutators: { | ||||
|             title: function () { | ||||
|             title              : function () { | ||||
|                 return this.get('seriesTitle'); | ||||
|             }, | ||||
|             allDay: function(){ | ||||
|             allDay             : function () { | ||||
|                 return false; | ||||
|             }, | ||||
|             day: function() { | ||||
|             day                : function () { | ||||
|                 return Date.create(this.get('start')).format('{dd}'); | ||||
|             }, | ||||
|             month: function(){ | ||||
|             month              : function () { | ||||
|                 return Date.create(this.get('start')).format('{MON}'); | ||||
|             }, | ||||
|             startTime: function(){ | ||||
|             startTime          : function () { | ||||
|                 var start = Date.create(this.get('start')); | ||||
|  | ||||
|                 if (start.format('{mm}') === '00') | ||||
|                 if (start.format('{mm}') === '00') { | ||||
|                     return start.format('{h}{tt}'); | ||||
|                 } | ||||
|  | ||||
|                 return start.format('{h}.{mm}{tt}'); | ||||
|             }, | ||||
|             paddedEpisodeNumber: function(){ | ||||
|             paddedEpisodeNumber: function () { | ||||
|                 return this.get('episodeNumber'); | ||||
|             }, | ||||
|             statusLevel: function() { | ||||
|             statusLevel        : function () { | ||||
|                 var status = this.get('status'); | ||||
|                 var currentTime = Date.create(); | ||||
|                 var start = Date.create(this.get('start')); | ||||
|                 var end = Date.create(this.get('end')); | ||||
|  | ||||
|                 if (currentTime.isBetween(start, end)) | ||||
|                 if (currentTime.isBetween(start, end)) { | ||||
|                     return 'warning'; | ||||
|                 } | ||||
|  | ||||
|                 if (start.isBefore(currentTime) || status === 'Missing') | ||||
|                 if (start.isBefore(currentTime) || status === 'Missing') { | ||||
|                     return 'danger'; | ||||
|                 } | ||||
|  | ||||
|                 if (status === 'Ready') return 'success'; | ||||
|                 if (status === 'Ready') { | ||||
|                     return 'success'; | ||||
|                 } | ||||
|  | ||||
|                 return 'primary'; | ||||
|             }, | ||||
|             bestDateString: function () { | ||||
|             bestDateString     : function () { | ||||
|                 return bestDateString(this.get('start')); | ||||
|             }, | ||||
|         }, | ||||
|   | ||||
| @@ -2,42 +2,47 @@ | ||||
| // Pager pagination | ||||
| // -------------------------------------------------- | ||||
|  | ||||
|  | ||||
| .pager { | ||||
|   margin: @baseLineHeight 0; | ||||
|   list-style: none; | ||||
|   text-align: center; | ||||
|   .clearfix(); | ||||
| } | ||||
|  | ||||
| .pager li { | ||||
|   display: inline; | ||||
| } | ||||
|  | ||||
| .pager li > a, | ||||
| .pager li > span { | ||||
|   display: inline-block; | ||||
|   padding: 5px 14px; | ||||
|   background-color: #fff; | ||||
|   border: 1px solid #ddd; | ||||
|   background-color: #FFFFFF; | ||||
|   border: 1px solid #DDDDDD; | ||||
|   .border-radius(15px); | ||||
| } | ||||
|  | ||||
| .pager li > a:hover, | ||||
| .pager li > a:focus { | ||||
|   text-decoration: none; | ||||
|   background-color: #f5f5f5; | ||||
|   background-color: #F5F5F5; | ||||
| } | ||||
|  | ||||
| .pager .next > a, | ||||
| .pager .next > span { | ||||
|   float: right; | ||||
| } | ||||
|  | ||||
| .pager .previous > a, | ||||
| .pager .previous > span { | ||||
|   float: left; | ||||
| } | ||||
|  | ||||
| .pager .disabled > a, | ||||
| .pager .disabled > a:hover, | ||||
| .pager .disabled > a:focus, | ||||
| .pager .disabled > span { | ||||
|   color: @grayLight; | ||||
|   background-color: #fff; | ||||
|   background-color: #FFFFFF; | ||||
|   cursor: default; | ||||
| } | ||||
| @@ -3,7 +3,6 @@ | ||||
| // Adapted from http://github.com/necolas/normalize.css | ||||
| // -------------------------------------------------- | ||||
|  | ||||
|  | ||||
| // Display in IE6-9 and FF3 | ||||
| // ------------------------- | ||||
|  | ||||
| @@ -35,7 +34,7 @@ video { | ||||
| // ------------------------- | ||||
|  | ||||
| audio:not([controls]) { | ||||
|     display: none; | ||||
|   display: none; | ||||
| } | ||||
|  | ||||
| // Base settings | ||||
| @@ -44,12 +43,14 @@ audio:not([controls]) { | ||||
| html { | ||||
|   font-size: 100%; | ||||
|   -webkit-text-size-adjust: 100%; | ||||
|       -ms-text-size-adjust: 100%; | ||||
|   -ms-text-size-adjust: 100%; | ||||
| } | ||||
|  | ||||
| // Focus states | ||||
| a:focus { | ||||
|   .tab-focus(); | ||||
| } | ||||
|  | ||||
| // Hover & Active | ||||
| a:hover, | ||||
| a:active { | ||||
| @@ -66,9 +67,11 @@ sup { | ||||
|   line-height: 0; | ||||
|   vertical-align: baseline; | ||||
| } | ||||
|  | ||||
| sup { | ||||
|   top: -0.5em; | ||||
| } | ||||
|  | ||||
| sub { | ||||
|   bottom: -0.25em; | ||||
| } | ||||
| @@ -105,23 +108,27 @@ textarea { | ||||
|   font-size: 100%; | ||||
|   vertical-align: middle; | ||||
| } | ||||
|  | ||||
| button, | ||||
| input { | ||||
|   *overflow: visible; // Inner spacing ie IE6/7 | ||||
|   line-height: normal; // FF3/4 have !important on line-height in UA stylesheet | ||||
| } | ||||
|  | ||||
| button::-moz-focus-inner, | ||||
| input::-moz-focus-inner { // Inner padding and border oddities in FF3/4 | ||||
|   padding: 0; | ||||
|   border: 0; | ||||
| } | ||||
|  | ||||
| button, | ||||
| html input[type="button"], // Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. | ||||
| input[type="reset"], | ||||
| input[type="submit"] { | ||||
|     -webkit-appearance: button; // Corrects inability to style clickable `input` types in iOS. | ||||
|     cursor: pointer; // Improves usability and consistency of cursor style between image-type `input` and others. | ||||
|   -webkit-appearance: button; // Corrects inability to style clickable `input` types in iOS. | ||||
|   cursor: pointer; // Improves usability and consistency of cursor style between image-type `input` and others. | ||||
| } | ||||
|  | ||||
| label, | ||||
| select, | ||||
| button, | ||||
| @@ -130,22 +137,24 @@ input[type="reset"], | ||||
| input[type="submit"], | ||||
| input[type="radio"], | ||||
| input[type="checkbox"] { | ||||
|     cursor: pointer; // Improves usability and consistency of cursor style between image-type `input` and others. | ||||
|   cursor: pointer; // Improves usability and consistency of cursor style between image-type `input` and others. | ||||
| } | ||||
|  | ||||
| input[type="search"] { // Appearance in Safari/Chrome | ||||
|   .box-sizing(content-box); | ||||
|   -webkit-appearance: textfield; | ||||
| } | ||||
|  | ||||
| input[type="search"]::-webkit-search-decoration, | ||||
| input[type="search"]::-webkit-search-cancel-button { | ||||
|   -webkit-appearance: none; // Inner-padding issues in Chrome OSX, Safari 5 | ||||
| } | ||||
|  | ||||
| textarea { | ||||
|   overflow: auto; // Remove vertical scrollbar in IE6-9 | ||||
|   vertical-align: top; // Readability and alignment cross-browser | ||||
| } | ||||
|  | ||||
|  | ||||
| // Printing | ||||
| // ------------------------- | ||||
| // Source: https://github.com/h5bp/html5-boilerplate/blob/master/css/main.css | ||||
| @@ -154,7 +163,7 @@ textarea { | ||||
|  | ||||
|   * { | ||||
|     text-shadow: none !important; | ||||
|     color: #000 !important; // Black prints faster: h5bp.com/s | ||||
|     color: #000000 !important; // Black prints faster: h5bp.com/s | ||||
|     background: transparent !important; | ||||
|     box-shadow: none !important; | ||||
|   } | ||||
| @@ -181,7 +190,7 @@ textarea { | ||||
|  | ||||
|   pre, | ||||
|   blockquote { | ||||
|     border: 1px solid #999; | ||||
|     border: 1px solid #999999; | ||||
|     page-break-inside: avoid; | ||||
|   } | ||||
|  | ||||
|   | ||||
							
								
								
									
										5205
									
								
								UI/Content/Intelisense/bootstrap.css
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5205
									
								
								UI/Content/Intelisense/bootstrap.css
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -24,10 +24,9 @@ html { | ||||
|     margin: 20px 0 30px 0; | ||||
| } | ||||
|  | ||||
|     #footer-region a:hover { | ||||
|         text-decoration: underline; | ||||
|     } | ||||
|  | ||||
| #footer-region a:hover { | ||||
|     text-decoration: underline; | ||||
| } | ||||
|  | ||||
| .nz-spinner { | ||||
|     font-size: 56px; | ||||
| @@ -35,7 +34,6 @@ html { | ||||
|     padding: 30px; | ||||
| } | ||||
|  | ||||
|  | ||||
| #notification-region .alert { | ||||
|     margin: 10px; | ||||
| } | ||||
| @@ -48,7 +46,6 @@ html { | ||||
|     font-size: 12px; | ||||
| } | ||||
|  | ||||
|  | ||||
| #in-sub-nav ul { | ||||
|     margin: 0 0 80px 0; | ||||
| } | ||||
| @@ -66,41 +63,41 @@ html { | ||||
|     margin-bottom: 2px; | ||||
| } | ||||
|  | ||||
|     .progress .bar { | ||||
|         position: absolute; | ||||
|         overflow: hidden; | ||||
|     } | ||||
| .progress .bar { | ||||
|     position: absolute; | ||||
|     overflow: hidden; | ||||
| } | ||||
|  | ||||
|     .progress .progressbar-back-text { | ||||
|         position: absolute; | ||||
|         width: 100%; | ||||
|         height: 100%; | ||||
|         font-size: 12px; | ||||
|         text-align: center; | ||||
|     } | ||||
| .progress .progressbar-back-text { | ||||
|     position: absolute; | ||||
|     width: 100%; | ||||
|     height: 100%; | ||||
|     font-size: 12px; | ||||
|     text-align: center; | ||||
| } | ||||
|  | ||||
|     .progress .progressbar-front-text { | ||||
|         display: block; | ||||
|         width: 125px; | ||||
|         font-size: 12px; | ||||
|         text-align: center; | ||||
|     } | ||||
| .progress .progressbar-front-text { | ||||
|     display: block; | ||||
|     width: 125px; | ||||
|     font-size: 12px; | ||||
|     text-align: center; | ||||
| } | ||||
|  | ||||
| /* Todo: Should move this to somehting modal/form specific */ | ||||
|  | ||||
| /*label.checkbox {*/ | ||||
|     /*font-size: 14px;*/ | ||||
|     /*line-height: normal;*/ | ||||
|     /*color: #595959;*/ | ||||
| /*font-size: 14px;*/ | ||||
| /*line-height: normal;*/ | ||||
| /*color: #595959;*/ | ||||
| /*}*/ | ||||
|  | ||||
| /*label, .form-horizontal input, .form-horizontal select {*/ | ||||
|     /*font-size: 14px;*/ | ||||
|     /*line-height: 14px;*/ | ||||
| /*font-size: 14px;*/ | ||||
| /*line-height: 14px;*/ | ||||
| /*}*/ | ||||
|  | ||||
|     /*label.control-label {*/ | ||||
|         /*font-size: 16px;*/ | ||||
|         /*line-height: 16px;*/ | ||||
|         /*font-weight: bold;*/ | ||||
|     /*}*/ | ||||
| /*label.control-label {*/ | ||||
| /*font-size: 16px;*/ | ||||
| /*line-height: 16px;*/ | ||||
| /*font-weight: bold;*/ | ||||
| /*}*/ | ||||
|   | ||||
							
								
								
									
										205
									
								
								UI/Content/bootstrap.slider.css
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										205
									
								
								UI/Content/bootstrap.slider.css
									
									
									
									
										vendored
									
									
								
							| @@ -7,132 +7,149 @@ | ||||
|  * | ||||
|  */ | ||||
| .slider { | ||||
|   display: inline-block; | ||||
|   vertical-align: middle; | ||||
|   position: relative; | ||||
|     display: inline-block; | ||||
|     vertical-align: middle; | ||||
|     position: relative; | ||||
| } | ||||
|  | ||||
| .slider.slider-horizontal { | ||||
|   width: 210px; | ||||
|   height: 20px; | ||||
|     width: 210px; | ||||
|     height: 20px; | ||||
| } | ||||
|  | ||||
| .slider.slider-horizontal .slider-track { | ||||
|   height: 10px; | ||||
|   width: 100%; | ||||
|   margin-top: -5px; | ||||
|   top: 50%; | ||||
|   left: 0; | ||||
|     height: 10px; | ||||
|     width: 100%; | ||||
|     margin-top: -5px; | ||||
|     top: 50%; | ||||
|     left: 0; | ||||
| } | ||||
|  | ||||
| .slider.slider-horizontal .slider-selection { | ||||
|   height: 100%; | ||||
|   top: 0; | ||||
|   bottom: 0; | ||||
|     height: 100%; | ||||
|     top: 0; | ||||
|     bottom: 0; | ||||
| } | ||||
|  | ||||
| .slider.slider-horizontal .slider-handle { | ||||
|   margin-left: -10px; | ||||
|   margin-top: -5px; | ||||
|     margin-left: -10px; | ||||
|     margin-top: -5px; | ||||
| } | ||||
|  | ||||
| .slider.slider-horizontal .slider-handle.triangle { | ||||
|   border-width: 0 10px 10px 10px; | ||||
|   width: 0; | ||||
|   height: 0; | ||||
|   border-bottom-color: #0480be; | ||||
|   margin-top: 0; | ||||
|     border-width: 0 10px 10px 10px; | ||||
|     width: 0; | ||||
|     height: 0; | ||||
|     border-bottom-color: #0480be; | ||||
|     margin-top: 0; | ||||
| } | ||||
|  | ||||
| .slider.slider-vertical { | ||||
|   height: 210px; | ||||
|   width: 20px; | ||||
|     height: 210px; | ||||
|     width: 20px; | ||||
| } | ||||
|  | ||||
| .slider.slider-vertical .slider-track { | ||||
|   width: 10px; | ||||
|   height: 100%; | ||||
|   margin-left: -5px; | ||||
|   left: 50%; | ||||
|   top: 0; | ||||
|     width: 10px; | ||||
|     height: 100%; | ||||
|     margin-left: -5px; | ||||
|     left: 50%; | ||||
|     top: 0; | ||||
| } | ||||
|  | ||||
| .slider.slider-vertical .slider-selection { | ||||
|   width: 100%; | ||||
|   left: 0; | ||||
|   top: 0; | ||||
|   bottom: 0; | ||||
|     width: 100%; | ||||
|     left: 0; | ||||
|     top: 0; | ||||
|     bottom: 0; | ||||
| } | ||||
|  | ||||
| .slider.slider-vertical .slider-handle { | ||||
|   margin-left: -5px; | ||||
|   margin-top: -10px; | ||||
|     margin-left: -5px; | ||||
|     margin-top: -10px; | ||||
| } | ||||
|  | ||||
| .slider.slider-vertical .slider-handle.triangle { | ||||
|   border-width: 10px 0 10px 10px; | ||||
|   width: 1px; | ||||
|   height: 1px; | ||||
|   border-left-color: #0480be; | ||||
|   margin-left: 0; | ||||
|     border-width: 10px 0 10px 10px; | ||||
|     width: 1px; | ||||
|     height: 1px; | ||||
|     border-left-color: #0480be; | ||||
|     margin-left: 0; | ||||
| } | ||||
|  | ||||
| .slider input { | ||||
|   display: none; | ||||
|     display: none; | ||||
| } | ||||
|  | ||||
| .slider .tooltip-inner { | ||||
|   white-space: nowrap; | ||||
|     white-space: nowrap; | ||||
| } | ||||
|  | ||||
| .slider-track { | ||||
|   position: absolute; | ||||
|   cursor: pointer; | ||||
|   background-color: #f7f7f7; | ||||
|   background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9); | ||||
|   background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9)); | ||||
|   background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9); | ||||
|   background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9); | ||||
|   background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9); | ||||
|   background-repeat: repeat-x; | ||||
|   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0); | ||||
|   -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); | ||||
|   -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); | ||||
|   box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); | ||||
|   -webkit-border-radius: 4px; | ||||
|   -moz-border-radius: 4px; | ||||
|   border-radius: 4px; | ||||
|     position: absolute; | ||||
|     cursor: pointer; | ||||
|     background-color: #f7f7f7; | ||||
|     background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9); | ||||
|     background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9)); | ||||
|     background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9); | ||||
|     background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9); | ||||
|     background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9); | ||||
|     background-repeat: repeat-x; | ||||
|     filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0); | ||||
|     -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); | ||||
|     -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); | ||||
|     box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); | ||||
|     -webkit-border-radius: 4px; | ||||
|     -moz-border-radius: 4px; | ||||
|     border-radius: 4px; | ||||
| } | ||||
|  | ||||
| .slider-selection { | ||||
|   position: absolute; | ||||
|   background-color: #bababa; | ||||
|   background-image: -moz-linear-gradient(top, #f9f9f9, #bababa); | ||||
|   background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f9f9f9), to(#bababa)); | ||||
|   background-image: -webkit-linear-gradient(top, #f9f9f9, #bababa); | ||||
|   background-image: -o-linear-gradient(top, #f9f9f9, #bababa); | ||||
|   background-image: linear-gradient(to bottom, #f9f9f9, #bababa); | ||||
|   background-repeat: repeat-x; | ||||
|   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff9f9f9', endColorstr='#fff5f5f5', GradientType=0); | ||||
|   -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); | ||||
|   -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); | ||||
|   box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); | ||||
|   -webkit-box-sizing: border-box; | ||||
|   -moz-box-sizing: border-box; | ||||
|   box-sizing: border-box; | ||||
|   -webkit-border-radius: 4px; | ||||
|   -moz-border-radius: 4px; | ||||
|   border-radius: 4px; | ||||
|     position: absolute; | ||||
|     background-color: #bababa; | ||||
|     background-image: -moz-linear-gradient(top, #f9f9f9, #bababa); | ||||
|     background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f9f9f9), to(#bababa)); | ||||
|     background-image: -webkit-linear-gradient(top, #f9f9f9, #bababa); | ||||
|     background-image: -o-linear-gradient(top, #f9f9f9, #bababa); | ||||
|     background-image: linear-gradient(to bottom, #f9f9f9, #bababa); | ||||
|     background-repeat: repeat-x; | ||||
|     filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff9f9f9', endColorstr='#fff5f5f5', GradientType=0); | ||||
|     -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); | ||||
|     -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); | ||||
|     box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); | ||||
|     -webkit-box-sizing: border-box; | ||||
|     -moz-box-sizing: border-box; | ||||
|     box-sizing: border-box; | ||||
|     -webkit-border-radius: 4px; | ||||
|     -moz-border-radius: 4px; | ||||
|     border-radius: 4px; | ||||
| } | ||||
|  | ||||
| .slider-handle { | ||||
|   position: absolute; | ||||
|   width: 20px; | ||||
|   height: 20px; | ||||
|   background-color: #3a87ad; | ||||
|   background-image: -moz-linear-gradient(top, #149bdf, #0480be); | ||||
|   background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be)); | ||||
|   background-image: -webkit-linear-gradient(top, #149bdf, #0480be); | ||||
|   background-image: -o-linear-gradient(top, #149bdf, #0480be); | ||||
|   background-image: linear-gradient(to bottom, #149bdf, #0480be); | ||||
|   background-repeat: repeat-x; | ||||
|   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0); | ||||
|   -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); | ||||
|   -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); | ||||
|   box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); | ||||
|   /*opacity: 0.8;*/ | ||||
|   border: 0px solid transparent; | ||||
|     position: absolute; | ||||
|     width: 20px; | ||||
|     height: 20px; | ||||
|     background-color: #3a87ad; | ||||
|     background-image: -moz-linear-gradient(top, #149bdf, #0480be); | ||||
|     background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be)); | ||||
|     background-image: -webkit-linear-gradient(top, #149bdf, #0480be); | ||||
|     background-image: -o-linear-gradient(top, #149bdf, #0480be); | ||||
|     background-image: linear-gradient(to bottom, #149bdf, #0480be); | ||||
|     background-repeat: repeat-x; | ||||
|     filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0); | ||||
|     -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 1px 2px rgba(0, 0, 0, .05); | ||||
|     -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 1px 2px rgba(0, 0, 0, .05); | ||||
|     box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 1px 2px rgba(0, 0, 0, .05); | ||||
|     /*opacity: 0.8;*/ | ||||
|     border: 0px solid transparent; | ||||
| } | ||||
|  | ||||
| .slider-handle.round { | ||||
|   -webkit-border-radius: 20px; | ||||
|   -moz-border-radius: 20px; | ||||
|   border-radius: 20px; | ||||
|     -webkit-border-radius: 20px; | ||||
|     -moz-border-radius: 20px; | ||||
|     border-radius: 20px; | ||||
| } | ||||
|  | ||||
| .slider-handle.triangle { | ||||
|   background: transparent none; | ||||
|     background: transparent none; | ||||
| } | ||||
							
								
								
									
										285
									
								
								UI/Content/bootstrapSwitch.css
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										285
									
								
								UI/Content/bootstrapSwitch.css
									
									
									
									
										vendored
									
									
								
							| @@ -7,204 +7,227 @@ | ||||
|  * ============================================================ */ | ||||
| /* line 18, ../sass/bootstrapSwitch.scss */ | ||||
| .has-switch { | ||||
|   display: inline-block; | ||||
|   cursor: pointer; | ||||
|   -webkit-border-radius: 5px; | ||||
|   -moz-border-radius: 5px; | ||||
|   -ms-border-radius: 5px; | ||||
|   -o-border-radius: 5px; | ||||
|   border-radius: 5px; | ||||
|   border: 1px solid; | ||||
|   border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); | ||||
|   background: #e6e6e6; | ||||
|   position: relative; | ||||
|   text-align: left; | ||||
|   overflow: hidden; | ||||
|   line-height: 8px; | ||||
|   -webkit-touch-callout: none; | ||||
|   -webkit-user-select: none; | ||||
|   -khtml-user-select: none; | ||||
|   -moz-user-select: none; | ||||
|   -ms-user-select: none; | ||||
|   user-select: none; | ||||
|   min-width: 102px; | ||||
|     display: inline-block; | ||||
|     cursor: pointer; | ||||
|     -webkit-border-radius: 5px; | ||||
|     -moz-border-radius: 5px; | ||||
|     -ms-border-radius: 5px; | ||||
|     -o-border-radius: 5px; | ||||
|     border-radius: 5px; | ||||
|     border: 1px solid; | ||||
|     border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); | ||||
|     background: #e6e6e6; | ||||
|     position: relative; | ||||
|     text-align: left; | ||||
|     overflow: hidden; | ||||
|     line-height: 8px; | ||||
|     -webkit-touch-callout: none; | ||||
|     -webkit-user-select: none; | ||||
|     -khtml-user-select: none; | ||||
|     -moz-user-select: none; | ||||
|     -ms-user-select: none; | ||||
|     user-select: none; | ||||
|     min-width: 102px; | ||||
| } | ||||
|  | ||||
| /* line 40, ../sass/bootstrapSwitch.scss */ | ||||
| .has-switch.switch-mini { | ||||
|   min-width: 72px; | ||||
|     min-width: 72px; | ||||
| } | ||||
|  | ||||
| /* line 44, ../sass/bootstrapSwitch.scss */ | ||||
| .has-switch.switch-small { | ||||
|   min-width: 81px; | ||||
|     min-width: 81px; | ||||
| } | ||||
|  | ||||
| /* line 48, ../sass/bootstrapSwitch.scss */ | ||||
| .has-switch.switch-large { | ||||
|   min-width: 120px; | ||||
|     min-width: 120px; | ||||
| } | ||||
|  | ||||
| /* line 52, ../sass/bootstrapSwitch.scss */ | ||||
| .has-switch.deactivate { | ||||
|   filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50); | ||||
|   opacity: 0.5; | ||||
|   cursor: default !important; | ||||
|     filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50); | ||||
|     opacity: 0.5; | ||||
|     cursor: default !important; | ||||
| } | ||||
|  | ||||
| /* line 55, ../sass/bootstrapSwitch.scss */ | ||||
| .has-switch.deactivate label, .has-switch.deactivate span { | ||||
|   cursor: default !important; | ||||
|     cursor: default !important; | ||||
| } | ||||
|  | ||||
| /* line 59, ../sass/bootstrapSwitch.scss */ | ||||
| .has-switch > div { | ||||
|   display: inline-block; | ||||
|   width: 150%; | ||||
|   position: relative; | ||||
|   top: 0; | ||||
|     display: inline-block; | ||||
|     width: 150%; | ||||
|     position: relative; | ||||
|     top: 0; | ||||
| } | ||||
|  | ||||
| /* line 65, ../sass/bootstrapSwitch.scss */ | ||||
| .has-switch > div.switch-animate { | ||||
|   -webkit-transition: left 0.5s; | ||||
|   -moz-transition: left 0.5s; | ||||
|   -o-transition: left 0.5s; | ||||
|   transition: left 0.5s; | ||||
|     -webkit-transition: left 0.5s; | ||||
|     -moz-transition: left 0.5s; | ||||
|     -o-transition: left 0.5s; | ||||
|     transition: left 0.5s; | ||||
| } | ||||
|  | ||||
| /* line 68, ../sass/bootstrapSwitch.scss */ | ||||
| .has-switch > div.switch-off { | ||||
|   left: -50%; | ||||
|     left: -50%; | ||||
| } | ||||
|  | ||||
| /* line 71, ../sass/bootstrapSwitch.scss */ | ||||
| .has-switch > div.switch-on { | ||||
|   left: 0%; | ||||
|     left: 0%; | ||||
| } | ||||
|  | ||||
| /* line 75, ../sass/bootstrapSwitch.scss */ | ||||
| .has-switch input[type=checkbox] { | ||||
|   display: none; | ||||
|     display: none; | ||||
| } | ||||
|  | ||||
| /* line 83, ../sass/bootstrapSwitch.scss */ | ||||
| .has-switch span, .has-switch label { | ||||
|   -webkit-box-sizing: border-box; | ||||
|   -moz-box-sizing: border-box; | ||||
|   box-sizing: border-box; | ||||
|   cursor: pointer; | ||||
|   position: relative; | ||||
|   display: inline-block; | ||||
|   height: 100%; | ||||
|   padding-bottom: 4px; | ||||
|   padding-top: 4px; | ||||
|   font-size: 14px; | ||||
|   line-height: 20px; | ||||
|     -webkit-box-sizing: border-box; | ||||
|     -moz-box-sizing: border-box; | ||||
|     box-sizing: border-box; | ||||
|     cursor: pointer; | ||||
|     position: relative; | ||||
|     display: inline-block; | ||||
|     height: 100%; | ||||
|     padding-bottom: 4px; | ||||
|     padding-top: 4px; | ||||
|     font-size: 14px; | ||||
|     line-height: 20px; | ||||
| } | ||||
|  | ||||
| /* line 96, ../sass/bootstrapSwitch.scss */ | ||||
| .has-switch span.switch-mini, .has-switch label.switch-mini { | ||||
|   padding-bottom: 4px; | ||||
|   padding-top: 4px; | ||||
|   font-size: 10px; | ||||
|   line-height: 9px; | ||||
|     padding-bottom: 4px; | ||||
|     padding-top: 4px; | ||||
|     font-size: 10px; | ||||
|     line-height: 9px; | ||||
| } | ||||
|  | ||||
| /* line 103, ../sass/bootstrapSwitch.scss */ | ||||
| .has-switch span.switch-small, .has-switch label.switch-small { | ||||
|   padding-bottom: 3px; | ||||
|   padding-top: 3px; | ||||
|   font-size: 12px; | ||||
|   line-height: 18px; | ||||
|     padding-bottom: 3px; | ||||
|     padding-top: 3px; | ||||
|     font-size: 12px; | ||||
|     line-height: 18px; | ||||
| } | ||||
|  | ||||
| /* line 110, ../sass/bootstrapSwitch.scss */ | ||||
| .has-switch span.switch-large, .has-switch label.switch-large { | ||||
|   padding-bottom: 9px; | ||||
|   padding-top: 9px; | ||||
|   font-size: 16px; | ||||
|   line-height: normal; | ||||
|     padding-bottom: 9px; | ||||
|     padding-top: 9px; | ||||
|     font-size: 16px; | ||||
|     line-height: normal; | ||||
| } | ||||
|  | ||||
| /* line 118, ../sass/bootstrapSwitch.scss */ | ||||
| .has-switch label { | ||||
|   background: white; | ||||
|   margin-top: -1px; | ||||
|   margin-bottom: -1px; | ||||
|   z-index: 100; | ||||
|   width: 33.333333%; | ||||
|   border-left: 1px solid #e6e6e6; | ||||
|   border-right: 1px solid #e6e6e6; | ||||
|   background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #e6e6e6)); | ||||
|   background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); | ||||
|   background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); | ||||
|   background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); | ||||
|   background-image: linear-gradient(top, #ffffff, #e6e6e6); | ||||
|     background: white; | ||||
|     margin-top: -1px; | ||||
|     margin-bottom: -1px; | ||||
|     z-index: 100; | ||||
|     width: 33.333333%; | ||||
|     border-left: 1px solid #e6e6e6; | ||||
|     border-right: 1px solid #e6e6e6; | ||||
|     background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #e6e6e6)); | ||||
|     background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); | ||||
|     background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); | ||||
|     background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); | ||||
|     background-image: linear-gradient(top, #ffffff, #e6e6e6); | ||||
| } | ||||
|  | ||||
| /* line 130, ../sass/bootstrapSwitch.scss */ | ||||
| .has-switch span { | ||||
|   color: white; | ||||
|   text-align: center; | ||||
|   z-index: 1; | ||||
|   width: 33.333333%; | ||||
|     color: white; | ||||
|     text-align: center; | ||||
|     z-index: 1; | ||||
|     width: 33.333333%; | ||||
| } | ||||
|  | ||||
| /* line 136, ../sass/bootstrapSwitch.scss */ | ||||
| .has-switch span.switch-left { | ||||
|   -moz-border-radius-topleft: 4px; | ||||
|   -webkit-border-top-left-radius: 4px; | ||||
|   border-top-left-radius: 4px; | ||||
|   -moz-border-radius-bottomleft: 4px; | ||||
|   -webkit-border-bottom-left-radius: 4px; | ||||
|   border-bottom-left-radius: 4px; | ||||
|     -moz-border-radius-topleft: 4px; | ||||
|     -webkit-border-top-left-radius: 4px; | ||||
|     border-top-left-radius: 4px; | ||||
|     -moz-border-radius-bottomleft: 4px; | ||||
|     -webkit-border-bottom-left-radius: 4px; | ||||
|     border-bottom-left-radius: 4px; | ||||
| } | ||||
|  | ||||
| /* line 140, ../sass/bootstrapSwitch.scss */ | ||||
| .has-switch span.switch-right { | ||||
|   color: black; | ||||
|   -moz-border-radius-topright: 4px; | ||||
|   -webkit-border-top-right-radius: 4px; | ||||
|   border-top-right-radius: 4px; | ||||
|   -moz-border-radius-bottomright: 4px; | ||||
|   -webkit-border-bottom-right-radius: 4px; | ||||
|   border-bottom-right-radius: 4px; | ||||
|   background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #ffffff), color-stop(100%, #e6e6e6)); | ||||
|   background-image: -webkit-linear-gradient(bottom, #ffffff, #e6e6e6); | ||||
|   background-image: -moz-linear-gradient(bottom, #ffffff, #e6e6e6); | ||||
|   background-image: -o-linear-gradient(bottom, #ffffff, #e6e6e6); | ||||
|   background-image: linear-gradient(bottom, #ffffff, #e6e6e6); | ||||
|     color: black; | ||||
|     -moz-border-radius-topright: 4px; | ||||
|     -webkit-border-top-right-radius: 4px; | ||||
|     border-top-right-radius: 4px; | ||||
|     -moz-border-radius-bottomright: 4px; | ||||
|     -webkit-border-bottom-right-radius: 4px; | ||||
|     border-bottom-right-radius: 4px; | ||||
|     background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #ffffff), color-stop(100%, #e6e6e6)); | ||||
|     background-image: -webkit-linear-gradient(bottom, #ffffff, #e6e6e6); | ||||
|     background-image: -moz-linear-gradient(bottom, #ffffff, #e6e6e6); | ||||
|     background-image: -o-linear-gradient(bottom, #ffffff, #e6e6e6); | ||||
|     background-image: linear-gradient(bottom, #ffffff, #e6e6e6); | ||||
| } | ||||
|  | ||||
| /* line 147, ../sass/bootstrapSwitch.scss */ | ||||
| .has-switch span.switch-primary, .has-switch span.switch-left { | ||||
|   color: white; | ||||
|   background: #0088cc; | ||||
|   background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #0088cc), color-stop(100%, #0055cc)); | ||||
|   background-image: -webkit-linear-gradient(bottom, #0088cc, #0055cc); | ||||
|   background-image: -moz-linear-gradient(bottom, #0088cc, #0055cc); | ||||
|   background-image: -o-linear-gradient(bottom, #0088cc, #0055cc); | ||||
|   background-image: linear-gradient(bottom, #0088cc, #0055cc); | ||||
|     color: white; | ||||
|     background: #0088cc; | ||||
|     background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #0088cc), color-stop(100%, #0055cc)); | ||||
|     background-image: -webkit-linear-gradient(bottom, #0088cc, #0055cc); | ||||
|     background-image: -moz-linear-gradient(bottom, #0088cc, #0055cc); | ||||
|     background-image: -o-linear-gradient(bottom, #0088cc, #0055cc); | ||||
|     background-image: linear-gradient(bottom, #0088cc, #0055cc); | ||||
| } | ||||
|  | ||||
| /* line 152, ../sass/bootstrapSwitch.scss */ | ||||
| .has-switch span.switch-info { | ||||
|   color: white; | ||||
|   background: #5bc0de; | ||||
|   background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #5bc0de), color-stop(100%, #2f96b4)); | ||||
|   background-image: -webkit-linear-gradient(bottom, #5bc0de, #2f96b4); | ||||
|   background-image: -moz-linear-gradient(bottom, #5bc0de, #2f96b4); | ||||
|   background-image: -o-linear-gradient(bottom, #5bc0de, #2f96b4); | ||||
|   background-image: linear-gradient(bottom, #5bc0de, #2f96b4); | ||||
|     color: white; | ||||
|     background: #5bc0de; | ||||
|     background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #5bc0de), color-stop(100%, #2f96b4)); | ||||
|     background-image: -webkit-linear-gradient(bottom, #5bc0de, #2f96b4); | ||||
|     background-image: -moz-linear-gradient(bottom, #5bc0de, #2f96b4); | ||||
|     background-image: -o-linear-gradient(bottom, #5bc0de, #2f96b4); | ||||
|     background-image: linear-gradient(bottom, #5bc0de, #2f96b4); | ||||
| } | ||||
|  | ||||
| /* line 158, ../sass/bootstrapSwitch.scss */ | ||||
| .has-switch span.switch-success { | ||||
|   color: white; | ||||
|   background: #62c462; | ||||
|   background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #62c462), color-stop(100%, #51a351)); | ||||
|   background-image: -webkit-linear-gradient(bottom, #62c462, #51a351); | ||||
|   background-image: -moz-linear-gradient(bottom, #62c462, #51a351); | ||||
|   background-image: -o-linear-gradient(bottom, #62c462, #51a351); | ||||
|   background-image: linear-gradient(bottom, #62c462, #51a351); | ||||
|     color: white; | ||||
|     background: #62c462; | ||||
|     background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #62c462), color-stop(100%, #51a351)); | ||||
|     background-image: -webkit-linear-gradient(bottom, #62c462, #51a351); | ||||
|     background-image: -moz-linear-gradient(bottom, #62c462, #51a351); | ||||
|     background-image: -o-linear-gradient(bottom, #62c462, #51a351); | ||||
|     background-image: linear-gradient(bottom, #62c462, #51a351); | ||||
| } | ||||
|  | ||||
| /* line 164, ../sass/bootstrapSwitch.scss */ | ||||
| .has-switch span.switch-warning { | ||||
|   color: white; | ||||
|   background: #dbb450; | ||||
|   background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #dbb450), color-stop(100%, #f89406)); | ||||
|   background-image: -webkit-linear-gradient(bottom, #dbb450, #f89406); | ||||
|   background-image: -moz-linear-gradient(bottom, #dbb450, #f89406); | ||||
|   background-image: -o-linear-gradient(bottom, #dbb450, #f89406); | ||||
|   background-image: linear-gradient(bottom, #dbb450, #f89406); | ||||
|     color: white; | ||||
|     background: #dbb450; | ||||
|     background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #dbb450), color-stop(100%, #f89406)); | ||||
|     background-image: -webkit-linear-gradient(bottom, #dbb450, #f89406); | ||||
|     background-image: -moz-linear-gradient(bottom, #dbb450, #f89406); | ||||
|     background-image: -o-linear-gradient(bottom, #dbb450, #f89406); | ||||
|     background-image: linear-gradient(bottom, #dbb450, #f89406); | ||||
| } | ||||
|  | ||||
| /* line 170, ../sass/bootstrapSwitch.scss */ | ||||
| .has-switch span.switch-danger { | ||||
|   color: white; | ||||
|   background: #ee5f5b; | ||||
|   background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #ee5f5b), color-stop(100%, #bd362f)); | ||||
|   background-image: -webkit-linear-gradient(bottom, #ee5f5b, #bd362f); | ||||
|   background-image: -moz-linear-gradient(bottom, #ee5f5b, #bd362f); | ||||
|   background-image: -o-linear-gradient(bottom, #ee5f5b, #bd362f); | ||||
|   background-image: linear-gradient(bottom, #ee5f5b, #bd362f); | ||||
|     color: white; | ||||
|     background: #ee5f5b; | ||||
|     background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #ee5f5b), color-stop(100%, #bd362f)); | ||||
|     background-image: -webkit-linear-gradient(bottom, #ee5f5b, #bd362f); | ||||
|     background-image: -moz-linear-gradient(bottom, #ee5f5b, #bd362f); | ||||
|     background-image: -o-linear-gradient(bottom, #ee5f5b, #bd362f); | ||||
|     background-image: linear-gradient(bottom, #ee5f5b, #bd362f); | ||||
| } | ||||
|   | ||||
| @@ -1,17 +1,18 @@ | ||||
|             .form-horizontal .controls i { | ||||
|                 font-size: 16px; | ||||
|                 /*color: #3A87AD;*/ /* Info blue */ | ||||
|                 color: #595959; | ||||
|                 cursor: default; | ||||
|             } | ||||
| .form-horizontal .controls i { | ||||
|     font-size: 16px; | ||||
|     /*color: #3A87AD;*/ | ||||
|     /* Info blue */ | ||||
|     color: #595959; | ||||
|     cursor: default; | ||||
| } | ||||
|  | ||||
|                 .form-horizontal .controls i.warning { | ||||
|                     color: #F89406; | ||||
|                 } | ||||
| .form-horizontal .controls i.warning { | ||||
|     color: #f89406; | ||||
| } | ||||
|  | ||||
|                 .form-horizontal .controls i.danger { | ||||
|                     color: #B94A48; | ||||
|                 } | ||||
| .form-horizontal .controls i.danger { | ||||
|     color: #b94a48; | ||||
| } | ||||
|  | ||||
| .help-inline-checkbox { | ||||
|     float: left; | ||||
|   | ||||
| @@ -9,29 +9,26 @@ | ||||
|  * | ||||
|  */ | ||||
|  | ||||
|  | ||||
| .fc { | ||||
|     direction: ltr; | ||||
|     text-align: left; | ||||
| } | ||||
|  | ||||
|     .fc table { | ||||
|         border-collapse: collapse; | ||||
|         border-spacing: 0; | ||||
|     } | ||||
|  | ||||
|     html .fc, | ||||
|     .fc table { | ||||
|         font-size: 1em; | ||||
|     } | ||||
|  | ||||
|     .fc td, | ||||
|     .fc th { | ||||
|         padding: 0; | ||||
|         vertical-align: top; | ||||
|     } | ||||
| .fc table { | ||||
|     border-collapse: collapse; | ||||
|     border-spacing: 0; | ||||
| } | ||||
|  | ||||
| html .fc, | ||||
| .fc table { | ||||
|     font-size: 1em; | ||||
| } | ||||
|  | ||||
| .fc td, | ||||
| .fc th { | ||||
|     padding: 0; | ||||
|     vertical-align: top; | ||||
| } | ||||
|  | ||||
| /* Header | ||||
| ------------------------------------------------------------------------*/ | ||||
| @@ -59,10 +56,10 @@ | ||||
|     vertical-align: top; | ||||
| } | ||||
|  | ||||
|     .fc-header-title h2 { | ||||
|         margin-top: 0; | ||||
|         white-space: nowrap; | ||||
|     } | ||||
| .fc-header-title h2 { | ||||
|     margin-top: 0; | ||||
|     white-space: nowrap; | ||||
| } | ||||
|  | ||||
| .fc .fc-header-space { | ||||
|     padding-left: 10px; | ||||
| @@ -103,8 +100,6 @@ | ||||
|     z-index: 4; | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
| /* Content | ||||
| ------------------------------------------------------------------------*/ | ||||
|  | ||||
| @@ -117,28 +112,28 @@ | ||||
|     /*overflow: hidden;*/ | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
| /* Cell Styles | ||||
| ------------------------------------------------------------------------*/ | ||||
|  | ||||
| .fc-widget-header, /* <th>, usually */ | ||||
| .fc-widget-content { /* <td>, usually */ | ||||
|     border: 1px solid #ccc; | ||||
| .fc-widget-content { | ||||
|     /* <td>, usually */ | ||||
|     border: 1px solid #cccccc; | ||||
| } | ||||
|  | ||||
| .fc-state-highlight { /* <td> today cell */ /* TODO: add .fc-today to <th> */ | ||||
|     background: #ffc; | ||||
| .fc-state-highlight { | ||||
|     /* <td> today cell */ | ||||
|     /* TODO: add .fc-today to <th> */ | ||||
|     background: #ffffcc; | ||||
| } | ||||
|  | ||||
| .fc-cell-overlay { /* semi-transparent rectangle while dragging */ | ||||
|     background: #9cf; | ||||
| .fc-cell-overlay { | ||||
|     /* semi-transparent rectangle while dragging */ | ||||
|     background: #99ccff; | ||||
|     opacity: .2; | ||||
|     filter: alpha(opacity=20); /* for IE */ | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
| /* Buttons | ||||
| ------------------------------------------------------------------------*/ | ||||
|  | ||||
| @@ -148,7 +143,8 @@ | ||||
|     cursor: pointer; | ||||
| } | ||||
|  | ||||
| .fc-state-default { /* non-theme */ | ||||
| .fc-state-default { | ||||
|     /* non-theme */ | ||||
|     border-style: solid; | ||||
|     border-width: 1px 0; | ||||
| } | ||||
| @@ -159,7 +155,8 @@ | ||||
|     overflow: hidden; | ||||
| } | ||||
|  | ||||
| .fc-state-default .fc-button-inner { /* non-theme */ | ||||
| .fc-state-default .fc-button-inner { | ||||
|     /* non-theme */ | ||||
|     border-style: solid; | ||||
|     border-width: 0 1px; | ||||
| } | ||||
| @@ -173,21 +170,21 @@ | ||||
|     white-space: nowrap; | ||||
| } | ||||
|  | ||||
|     /* icon (for jquery ui) */ | ||||
| /* icon (for jquery ui) */ | ||||
|  | ||||
|     .fc-button-content .fc-icon-wrap { | ||||
|         position: relative; | ||||
|         float: left; | ||||
|         top: 50%; | ||||
|     } | ||||
| .fc-button-content .fc-icon-wrap { | ||||
|     position: relative; | ||||
|     float: left; | ||||
|     top: 50%; | ||||
| } | ||||
|  | ||||
|     .fc-button-content .ui-icon { | ||||
|         position: relative; | ||||
|         float: left; | ||||
|         margin-top: -50%; | ||||
|         *margin-top: 0; | ||||
|         *top: -50%; | ||||
|     } | ||||
| .fc-button-content .ui-icon { | ||||
|     position: relative; | ||||
|     float: left; | ||||
|     margin-top: -50%; | ||||
|     *margin-top: 0; | ||||
|     *top: -50%; | ||||
| } | ||||
|  | ||||
| /* gloss effect */ | ||||
|  | ||||
| @@ -197,63 +194,61 @@ | ||||
|     left: 0; | ||||
| } | ||||
|  | ||||
|     .fc-state-default .fc-button-effect span { | ||||
|         position: absolute; | ||||
|         top: -100px; | ||||
|         left: 0; | ||||
|         width: 500px; | ||||
|         height: 100px; | ||||
|         border-width: 100px 0 0 1px; | ||||
|         border-style: solid; | ||||
|         border-color: #fff; | ||||
|         background: #444; | ||||
|         opacity: .09; | ||||
|         filter: alpha(opacity=9); | ||||
|     } | ||||
| .fc-state-default .fc-button-effect span { | ||||
|     position: absolute; | ||||
|     top: -100px; | ||||
|     left: 0; | ||||
|     width: 500px; | ||||
|     height: 100px; | ||||
|     border-width: 100px 0 0 1px; | ||||
|     border-style: solid; | ||||
|     border-color: #ffffff; | ||||
|     background: #444444; | ||||
|     opacity: .09; | ||||
|     filter: alpha(opacity=9); | ||||
| } | ||||
|  | ||||
| /* button states (determines colors)  */ | ||||
|  | ||||
| .fc-state-default, | ||||
| .fc-state-default .fc-button-inner { | ||||
|     border-style: solid; | ||||
|     border-color: #ccc #bbb #aaa; | ||||
|     background: #F3F3F3; | ||||
|     color: #000; | ||||
|     border-color: #cccccc #bbbbbb #aaaaaa; | ||||
|     background: #f3f3f3; | ||||
|     color: #000000; | ||||
| } | ||||
|  | ||||
| .fc-state-hover, | ||||
| .fc-state-hover .fc-button-inner { | ||||
|     border-color: #999; | ||||
|     border-color: #999999; | ||||
| } | ||||
|  | ||||
| .fc-state-down, | ||||
| .fc-state-down .fc-button-inner { | ||||
|     border-color: #555; | ||||
|     background: #777; | ||||
|     border-color: #555555; | ||||
|     background: #777777; | ||||
| } | ||||
|  | ||||
| .fc-state-active, | ||||
| .fc-state-active .fc-button-inner { | ||||
|     border-color: #555; | ||||
|     background: #777; | ||||
|     color: #fff; | ||||
|     border-color: #555555; | ||||
|     background: #777777; | ||||
|     color: #ffffff; | ||||
| } | ||||
|  | ||||
| .fc-state-disabled, | ||||
| .fc-state-disabled .fc-button-inner { | ||||
|     color: #999; | ||||
|     border-color: #ddd; | ||||
|     color: #999999; | ||||
|     border-color: #dddddd; | ||||
| } | ||||
|  | ||||
| .fc-state-disabled { | ||||
|     cursor: default; | ||||
| } | ||||
|  | ||||
|     .fc-state-disabled .fc-button-effect { | ||||
|         display: none; | ||||
|     } | ||||
|  | ||||
|  | ||||
| .fc-state-disabled .fc-button-effect { | ||||
|     display: none; | ||||
| } | ||||
|  | ||||
| /* Global Event Styles | ||||
| ------------------------------------------------------------------------*/ | ||||
| @@ -279,9 +274,9 @@ a.fc-event { | ||||
| } | ||||
|  | ||||
| .fc-event-skin { | ||||
|     border-color: #36c; /* default BORDER color */ | ||||
|     background-color: #36c; /* default BACKGROUND color */ | ||||
|     color: #fff; /* default TEXT color */ | ||||
|     border-color: #3366cc; /* default BORDER color */ | ||||
|     background-color: #3366cc; /* default BACKGROUND color */ | ||||
|     color: #ffffff; /* default TEXT color */ | ||||
| } | ||||
|  | ||||
| .fc-event-inner { | ||||
| @@ -298,7 +293,8 @@ a.fc-event { | ||||
|     padding: 0 1px; | ||||
| } | ||||
|  | ||||
| .fc .ui-resizable-handle { /*** TODO: don't use ui-resizable anymore, change class ***/ | ||||
| .fc .ui-resizable-handle { | ||||
|     /*** TODO: don't use ui-resizable anymore, change class ***/ | ||||
|     display: block; | ||||
|     position: absolute; | ||||
|     z-index: 99999; | ||||
| @@ -307,8 +303,6 @@ a.fc-event { | ||||
|     line-height: 50%; /* */ | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
| /* Horizontal Events | ||||
| ------------------------------------------------------------------------*/ | ||||
|  | ||||
| @@ -317,29 +311,27 @@ a.fc-event { | ||||
|     margin-bottom: 1px; | ||||
| } | ||||
|  | ||||
|     /* resizable */ | ||||
| /* resizable */ | ||||
|  | ||||
|     .fc-event-hori .ui-resizable-e { | ||||
|         top: 0 !important; /* importants override pre jquery ui 1.7 styles */ | ||||
|         right: -3px !important; | ||||
|         width: 7px !important; | ||||
|         height: 100% !important; | ||||
|         cursor: e-resize; | ||||
|     } | ||||
|  | ||||
|     .fc-event-hori .ui-resizable-w { | ||||
|         top: 0 !important; | ||||
|         left: -3px !important; | ||||
|         width: 7px !important; | ||||
|         height: 100% !important; | ||||
|         cursor: w-resize; | ||||
|     } | ||||
|  | ||||
|     .fc-event-hori .ui-resizable-handle { | ||||
|         _padding-bottom: 14px; /* IE6 had 0 height */ | ||||
|     } | ||||
| .fc-event-hori .ui-resizable-e { | ||||
|     top: 0 !important; /* importants override pre jquery ui 1.7 styles */ | ||||
|     right: -3px !important; | ||||
|     width: 7px !important; | ||||
|     height: 100% !important; | ||||
|     cursor: e-resize; | ||||
| } | ||||
|  | ||||
| .fc-event-hori .ui-resizable-w { | ||||
|     top: 0 !important; | ||||
|     left: -3px !important; | ||||
|     width: 7px !important; | ||||
|     height: 100% !important; | ||||
|     cursor: w-resize; | ||||
| } | ||||
|  | ||||
| .fc-event-hori .ui-resizable-handle { | ||||
|     _padding-bottom: 14px; /* IE6 had 0 height */ | ||||
| } | ||||
|  | ||||
| /* Fake Rounded Corners (for buttons and events) | ||||
| ------------------------------------------------------------*/ | ||||
| @@ -348,37 +340,35 @@ a.fc-event { | ||||
|     margin-left: 1px; | ||||
| } | ||||
|  | ||||
|     .fc-corner-left .fc-button-inner, | ||||
|     .fc-corner-left .fc-event-inner { | ||||
|         margin-left: -1px; | ||||
|     } | ||||
| .fc-corner-left .fc-button-inner, | ||||
| .fc-corner-left .fc-event-inner { | ||||
|     margin-left: -1px; | ||||
| } | ||||
|  | ||||
| .fc-corner-right { | ||||
|     margin-right: 1px; | ||||
| } | ||||
|  | ||||
|     .fc-corner-right .fc-button-inner, | ||||
|     .fc-corner-right .fc-event-inner { | ||||
|         margin-right: -1px; | ||||
|     } | ||||
| .fc-corner-right .fc-button-inner, | ||||
| .fc-corner-right .fc-event-inner { | ||||
|     margin-right: -1px; | ||||
| } | ||||
|  | ||||
| .fc-corner-top { | ||||
|     margin-top: 1px; | ||||
| } | ||||
|  | ||||
|     .fc-corner-top .fc-event-inner { | ||||
|         margin-top: -1px; | ||||
|     } | ||||
| .fc-corner-top .fc-event-inner { | ||||
|     margin-top: -1px; | ||||
| } | ||||
|  | ||||
| .fc-corner-bottom { | ||||
|     margin-bottom: 1px; | ||||
| } | ||||
|  | ||||
|     .fc-corner-bottom .fc-event-inner { | ||||
|         margin-bottom: -1px; | ||||
|     } | ||||
|  | ||||
|  | ||||
| .fc-corner-bottom .fc-event-inner { | ||||
|     margin-bottom: -1px; | ||||
| } | ||||
|  | ||||
| /* Fake Rounded Corners SPECIFICALLY FOR EVENTS | ||||
| -----------------------------------------------------------------*/ | ||||
| @@ -399,8 +389,6 @@ a.fc-event { | ||||
|     border-bottom-width: 1px; | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
| /* Reusable Separate-border Table | ||||
| ------------------------------------------------------------*/ | ||||
|  | ||||
| @@ -413,10 +401,10 @@ table.fc-border-separate { | ||||
|     border-width: 1px 0 0 1px; | ||||
| } | ||||
|  | ||||
|     .fc-border-separate th.fc-last, | ||||
|     .fc-border-separate td.fc-last { | ||||
|         border-right-width: 1px; | ||||
|     } | ||||
| .fc-border-separate th.fc-last, | ||||
| .fc-border-separate td.fc-last { | ||||
|     border-right-width: 1px; | ||||
| } | ||||
|  | ||||
| .fc-border-separate tr.fc-last th, | ||||
| .fc-border-separate tr.fc-last td { | ||||
| @@ -428,8 +416,6 @@ table.fc-border-separate { | ||||
|     border-top-width: 0; | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
| /* Month View, Basic Week View, Basic Day View | ||||
| ------------------------------------------------------------------------*/ | ||||
|  | ||||
| @@ -446,8 +432,8 @@ table.fc-border-separate { | ||||
|     opacity: 0.3; | ||||
|     filter: alpha(opacity=30); /* for IE */ | ||||
|     /* opacity with small font can sometimes look too faded | ||||
| 	   might want to set the 'color' property instead | ||||
| 	   making day-numbers bold also fixes the problem */ | ||||
|        might want to set the 'color' property instead | ||||
|        making day-numbers bold also fixes the problem */ | ||||
| } | ||||
|  | ||||
| .fc-grid .fc-day-content { | ||||
| @@ -471,8 +457,6 @@ table.fc-border-separate { | ||||
|     float: right; | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
| /* Agenda Week View, Agenda Day View | ||||
| ------------------------------------------------------------------------*/ | ||||
|  | ||||
| @@ -526,7 +510,7 @@ table.fc-border-separate { | ||||
| } | ||||
|  | ||||
| .fc-widget-header .fc-agenda-divider-inner { | ||||
|     background: #eee; | ||||
|     background: #eeeeee; | ||||
| } | ||||
|  | ||||
| /* slot rows */ | ||||
| @@ -540,9 +524,9 @@ table.fc-border-separate { | ||||
|     background: none; | ||||
| } | ||||
|  | ||||
|     .fc-agenda-slots td div { | ||||
|         height: 20px; | ||||
|     } | ||||
| .fc-agenda-slots td div { | ||||
|     height: 20px; | ||||
| } | ||||
|  | ||||
| .fc-agenda-slots tr.fc-slot0 th, | ||||
| .fc-agenda-slots tr.fc-slot0 td { | ||||
| @@ -554,11 +538,9 @@ table.fc-border-separate { | ||||
|     border-top-style: dotted; | ||||
| } | ||||
|  | ||||
|     .fc-agenda-slots tr.fc-minor th.ui-widget-header { | ||||
|         *border-top-style: solid; /* doesn't work with background in IE6/7 */ | ||||
|     } | ||||
|  | ||||
|  | ||||
| .fc-agenda-slots tr.fc-minor th.ui-widget-header { | ||||
|     *border-top-style: solid; /* doesn't work with background in IE6/7 */ | ||||
| } | ||||
|  | ||||
| /* Vertical Events | ||||
| ------------------------------------------------------------------------*/ | ||||
| @@ -567,30 +549,31 @@ table.fc-border-separate { | ||||
|     border-width: 0 1px; | ||||
| } | ||||
|  | ||||
|     .fc-event-vert .fc-event-head, | ||||
|     .fc-event-vert .fc-event-content { | ||||
|         position: relative; | ||||
|         z-index: 2; | ||||
|         width: 100%; | ||||
|         overflow: hidden; | ||||
|     } | ||||
| .fc-event-vert .fc-event-head, | ||||
| .fc-event-vert .fc-event-content { | ||||
|     position: relative; | ||||
|     z-index: 2; | ||||
|     width: 100%; | ||||
|     overflow: hidden; | ||||
| } | ||||
|  | ||||
|     .fc-event-vert .fc-event-time { | ||||
|         white-space: nowrap; | ||||
|         font-size: 10px; | ||||
|     } | ||||
| .fc-event-vert .fc-event-time { | ||||
|     white-space: nowrap; | ||||
|     font-size: 10px; | ||||
| } | ||||
|  | ||||
|     .fc-event-vert .fc-event-bg { /* makes the event lighter w/ a semi-transparent overlay  */ | ||||
|         position: absolute; | ||||
|         z-index: 1; | ||||
|         top: 0; | ||||
|         left: 0; | ||||
|         width: 100%; | ||||
|         height: 100%; | ||||
|         background: #fff; | ||||
|         opacity: .3; | ||||
|         filter: alpha(opacity=30); | ||||
|     } | ||||
| .fc-event-vert .fc-event-bg { | ||||
|     /* makes the event lighter w/ a semi-transparent overlay  */ | ||||
|     position: absolute; | ||||
|     z-index: 1; | ||||
|     top: 0; | ||||
|     left: 0; | ||||
|     width: 100%; | ||||
|     height: 100%; | ||||
|     background: #ffffff; | ||||
|     opacity: .3; | ||||
|     filter: alpha(opacity=30); | ||||
| } | ||||
|  | ||||
| .fc .ui-draggable-dragging .fc-event-bg, /* TODO: something nicer like .fc-opacity */ | ||||
| .fc-select-helper .fc-event-bg { | ||||
| @@ -611,6 +594,7 @@ table.fc-border-separate { | ||||
|     cursor: s-resize; | ||||
| } | ||||
|  | ||||
| .fc-agenda .ui-resizable-resizing { /* TODO: better selector */ | ||||
| .fc-agenda .ui-resizable-resizing { | ||||
|     /* TODO: better selector */ | ||||
|     _overflow: hidden; | ||||
| } | ||||
|   | ||||
| @@ -6,129 +6,130 @@ | ||||
|     width: 100%; | ||||
| } | ||||
|  | ||||
|     .tablesorter-bootstrap .tablesorter-header, | ||||
|     .tablesorter-bootstrap tfoot th, | ||||
|     .tablesorter-bootstrap tfoot td { | ||||
|         font: bold 14px/20px Arial, Sans-serif; | ||||
|         position: relative; | ||||
|         padding: 8px; | ||||
|         margin: 0 0 18px; | ||||
|         list-style: none; | ||||
|         background-color: #FBFBFB; | ||||
|         background-image: -moz-linear-gradient(top, white, #efefef); | ||||
|         background-image: -ms-linear-gradient(top, white, #efefef); | ||||
|         background-image: -webkit-gradient(linear, 0 0, 0 100%, from(white), to(#efefef)); | ||||
|         background-image: -webkit-linear-gradient(top, white, #efefef); | ||||
|         background-image: -o-linear-gradient(top, white, #efefef); | ||||
|         background-image: linear-gradient(to bottom, white, #efefef); | ||||
|         filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#efefef', GradientType=0); | ||||
|         background-repeat: repeat-x; | ||||
|         -webkit-box-shadow: inset 0 1px 0 white; | ||||
|         -moz-box-shadow: inset 0 1px 0 #ffffff; | ||||
|         box-shadow: inset 0 1px 0 white; | ||||
|     } | ||||
| .tablesorter-bootstrap .tablesorter-header, | ||||
| .tablesorter-bootstrap tfoot th, | ||||
| .tablesorter-bootstrap tfoot td { | ||||
|     font: bold 14px/20px Arial, Sans-serif; | ||||
|     position: relative; | ||||
|     padding: 8px; | ||||
|     margin: 0 0 18px; | ||||
|     list-style: none; | ||||
|     background-color: #fbfbfb; | ||||
|     background-image: -moz-linear-gradient(top, white, #efefef); | ||||
|     background-image: -ms-linear-gradient(top, white, #efefef); | ||||
|     background-image: -webkit-gradient(linear, 0 0, 0 100%, from(white), to(#efefef)); | ||||
|     background-image: -webkit-linear-gradient(top, white, #efefef); | ||||
|     background-image: -o-linear-gradient(top, white, #efefef); | ||||
|     background-image: linear-gradient(to bottom, white, #efefef); | ||||
|     filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#efefef', GradientType=0); | ||||
|     background-repeat: repeat-x; | ||||
|     -webkit-box-shadow: inset 0 1px 0 white; | ||||
|     -moz-box-shadow: inset 0 1px 0 #ffffff; | ||||
|     box-shadow: inset 0 1px 0 white; | ||||
| } | ||||
|  | ||||
|     .tablesorter-bootstrap .tablesorter-header { | ||||
|         cursor: pointer; | ||||
|     } | ||||
| .tablesorter-bootstrap .tablesorter-header { | ||||
|     cursor: pointer; | ||||
| } | ||||
|  | ||||
|     .tablesorter-bootstrap .tablesorter-header-inner { | ||||
|         position: relative; | ||||
|         padding: 4px 18px 4px 4px; | ||||
|     } | ||||
| .tablesorter-bootstrap .tablesorter-header-inner { | ||||
|     position: relative; | ||||
|     padding: 4px 18px 4px 4px; | ||||
| } | ||||
|  | ||||
|     /* bootstrap uses <i> for icons */ | ||||
|     .tablesorter-bootstrap .tablesorter-header i { | ||||
|         position: absolute; | ||||
|         right: 2px; | ||||
|         top: 50%; | ||||
|         margin-top: -7px; /* half the icon height; older IE doesn't like this */ | ||||
|         width: 14px; | ||||
|         height: 14px; | ||||
|         background-repeat: no-repeat; | ||||
|         line-height: 14px; | ||||
|         display: inline-block; | ||||
|     } | ||||
| /* bootstrap uses <i> for icons */ | ||||
| .tablesorter-bootstrap .tablesorter-header i { | ||||
|     position: absolute; | ||||
|     right: 2px; | ||||
|     top: 50%; | ||||
|     margin-top: -7px; /* half the icon height; older IE doesn't like this */ | ||||
|     width: 14px; | ||||
|     height: 14px; | ||||
|     background-repeat: no-repeat; | ||||
|     line-height: 14px; | ||||
|     display: inline-block; | ||||
| } | ||||
|  | ||||
|     .tablesorter-bootstrap .bootstrap-icon-unsorted { | ||||
|         background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAOCAYAAAD5YeaVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAWVJREFUeNqUUL9Lw2AUTGP8mqGlpBQkNeCSRcckEBcHq1jImMElToKuDvpHFMGhU0BQcHBwLji6CE1B4uB/INQsDi4d2jQ/fPeZxo764OV6915f7lLJ81xot9tCURXqdVEUr7IsO6ffH9Q5BlEUCaLwWxWqTcbYnaIoh0Dw4gAvcWlxq1qt9hqNxg6hUGAP+uIPUrGs0qXLer2+v/pTX6QpxLtkc2U2m53ACb8sSdIDXerSEms2m6+DweAICA4d89KGbduf9MpEVdXQ9/2LVqv1CASHjjn3iq/x1xKFfxQPqGnada1W86bT6SiO42OS3qk3KPStLMvbk8nkfjwen/LLuq6blFymMB0KdUPSGhAcOualjX6/f0bCiC7NaWGPQr0BwaFjzn0gYJqmLAiCA8/zni3LmhuGkQPBoWPOPwQeaPIqD4fDruu6L6Zp5kBw6IudchmdJAkLw3DXcZwnIPjy/FuAAQCiqqWWCAFKcwAAAABJRU5ErkJggg==); | ||||
|     } | ||||
| .tablesorter-bootstrap .bootstrap-icon-unsorted { | ||||
|     background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAOCAYAAAD5YeaVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAWVJREFUeNqUUL9Lw2AUTGP8mqGlpBQkNeCSRcckEBcHq1jImMElToKuDvpHFMGhU0BQcHBwLji6CE1B4uB/INQsDi4d2jQ/fPeZxo764OV6915f7lLJ81xot9tCURXqdVEUr7IsO6ffH9Q5BlEUCaLwWxWqTcbYnaIoh0Dw4gAvcWlxq1qt9hqNxg6hUGAP+uIPUrGs0qXLer2+v/pTX6QpxLtkc2U2m53ACb8sSdIDXerSEms2m6+DweAICA4d89KGbduf9MpEVdXQ9/2LVqv1CASHjjn3iq/x1xKFfxQPqGnada1W86bT6SiO42OS3qk3KPStLMvbk8nkfjwen/LLuq6blFymMB0KdUPSGhAcOualjX6/f0bCiC7NaWGPQr0BwaFjzn0gYJqmLAiCA8/zni3LmhuGkQPBoWPOPwQeaPIqD4fDruu6L6Zp5kBw6IudchmdJAkLw3DXcZwnIPjy/FuAAQCiqqWWCAFKcwAAAABJRU5ErkJggg==); | ||||
| } | ||||
|  | ||||
|     /* since bootstrap (table-striped) uses nth-child(), we just use this to add a zebra stripe color */ | ||||
|     .tablesorter-bootstrap tr.odd td { | ||||
|         background-color: #f9f9f9; | ||||
|     } | ||||
| /* since bootstrap (table-striped) uses nth-child(), we just use this to add a zebra stripe color */ | ||||
| .tablesorter-bootstrap tr.odd td { | ||||
|     background-color: #f9f9f9; | ||||
| } | ||||
|  | ||||
|     .tablesorter-bootstrap tbody > .odd:hover > td, | ||||
|     .tablesorter-bootstrap tbody > .even:hover > td { | ||||
|         background-color: #f5f5f5; | ||||
|     } | ||||
| .tablesorter-bootstrap tbody > .odd:hover > td, | ||||
| .tablesorter-bootstrap tbody > .even:hover > td { | ||||
|     background-color: #f5f5f5; | ||||
| } | ||||
|  | ||||
|     .tablesorter-bootstrap tr.even td { | ||||
|         background-color: #fff; | ||||
|     } | ||||
| .tablesorter-bootstrap tr.even td { | ||||
|     background-color: #ffffff; | ||||
| } | ||||
|  | ||||
|     /* processing icon */ | ||||
|     .tablesorter-bootstrap .tablesorter-processing { | ||||
|         background-image: url('data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs='); | ||||
|         position: absolute; | ||||
|         z-index: 1000; | ||||
|     } | ||||
| /* processing icon */ | ||||
| .tablesorter-bootstrap .tablesorter-processing { | ||||
|     background-image: url('data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs='); | ||||
|     position: absolute; | ||||
|     z-index: 1000; | ||||
| } | ||||
|  | ||||
|     /* filter widget */ | ||||
|     .tablesorter-bootstrap .tablesorter-filter-row .tablesorter-filter { | ||||
|         width: 98%; | ||||
|         height: inherit; | ||||
|         margin: 0 auto; | ||||
|         padding: 4px 6px; | ||||
|         background-color: #fff; | ||||
|         color: #333; | ||||
|         -webkit-box-sizing: border-box; | ||||
|         -moz-box-sizing: border-box; | ||||
|         box-sizing: border-box; | ||||
|         -webkit-transition: height 0.1s ease; | ||||
|         -moz-transition: height 0.1s ease; | ||||
|         -o-transition: height 0.1s ease; | ||||
|         transition: height 0.1s ease; | ||||
|     } | ||||
| /* filter widget */ | ||||
| .tablesorter-bootstrap .tablesorter-filter-row .tablesorter-filter { | ||||
|     width: 98%; | ||||
|     height: inherit; | ||||
|     margin: 0 auto; | ||||
|     padding: 4px 6px; | ||||
|     background-color: #ffffff; | ||||
|     color: #333333; | ||||
|     -webkit-box-sizing: border-box; | ||||
|     -moz-box-sizing: border-box; | ||||
|     box-sizing: border-box; | ||||
|     -webkit-transition: height 0.1s ease; | ||||
|     -moz-transition: height 0.1s ease; | ||||
|     -o-transition: height 0.1s ease; | ||||
|     transition: height 0.1s ease; | ||||
| } | ||||
|  | ||||
|     .tablesorter-bootstrap .tablesorter-filter-row td { | ||||
|         background: #eee; | ||||
|         line-height: normal; | ||||
|         text-align: center; | ||||
|         padding: 4px 6px; | ||||
|         vertical-align: middle; | ||||
|         -webkit-transition: line-height 0.1s ease; | ||||
|         -moz-transition: line-height 0.1s ease; | ||||
|         -o-transition: line-height 0.1s ease; | ||||
|         transition: line-height 0.1s ease; | ||||
|     } | ||||
|     /* hidden filter row */ | ||||
|     .tablesorter-bootstrap .tablesorter-filter-row.hideme td { | ||||
|         padding: 2px; /* change this to modify the thickness of the closed border row */ | ||||
|         margin: 0; | ||||
|         line-height: 0; | ||||
|     } | ||||
| .tablesorter-bootstrap .tablesorter-filter-row td { | ||||
|     background: #eeeeee; | ||||
|     line-height: normal; | ||||
|     text-align: center; | ||||
|     padding: 4px 6px; | ||||
|     vertical-align: middle; | ||||
|     -webkit-transition: line-height 0.1s ease; | ||||
|     -moz-transition: line-height 0.1s ease; | ||||
|     -o-transition: line-height 0.1s ease; | ||||
|     transition: line-height 0.1s ease; | ||||
| } | ||||
|  | ||||
|     .tablesorter-bootstrap .tablesorter-filter-row.hideme .tablesorter-filter { | ||||
|         height: 1px; | ||||
|         min-height: 0; | ||||
|         border: 0; | ||||
|         padding: 0; | ||||
|         margin: 0; | ||||
|         /* don't use visibility: hidden because it disables tabbing */ | ||||
|         opacity: 0; | ||||
|         filter: alpha(opacity=0); | ||||
|     } | ||||
| /* hidden filter row */ | ||||
| .tablesorter-bootstrap .tablesorter-filter-row.hideme td { | ||||
|     padding: 2px; /* change this to modify the thickness of the closed border row */ | ||||
|     margin: 0; | ||||
|     line-height: 0; | ||||
| } | ||||
|  | ||||
|     /* pager plugin */ | ||||
|     .tablesorter-bootstrap .tablesorter-pager select { | ||||
|         padding: 4px 6px; | ||||
|     } | ||||
| .tablesorter-bootstrap .tablesorter-filter-row.hideme .tablesorter-filter { | ||||
|     height: 1px; | ||||
|     min-height: 0; | ||||
|     border: 0; | ||||
|     padding: 0; | ||||
|     margin: 0; | ||||
|     /* don't use visibility: hidden because it disables tabbing */ | ||||
|     opacity: 0; | ||||
|     filter: alpha(opacity=0); | ||||
| } | ||||
|  | ||||
|     .tablesorter-bootstrap .tablesorter-pager .pagedisplay { | ||||
|         border: 0; | ||||
|     } | ||||
| /* pager plugin */ | ||||
| .tablesorter-bootstrap .tablesorter-pager select { | ||||
|     padding: 4px 6px; | ||||
| } | ||||
|  | ||||
| .tablesorter-bootstrap .tablesorter-pager .pagedisplay { | ||||
|     border: 0; | ||||
| } | ||||
|  | ||||
| th { | ||||
|     background-repeat: no-repeat; | ||||
|   | ||||
| @@ -3,6 +3,7 @@ | ||||
| .tablesorter-pager.disabled { | ||||
|     display: none; | ||||
| } | ||||
|  | ||||
| /* hide or fade out pager arrows when the first or last row is visible */ | ||||
| .tablesorter-pager .disabled { | ||||
|     /* visibility: hidden */ | ||||
|   | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -7,16 +7,15 @@ | ||||
|     word-wrap: break-word; | ||||
| } | ||||
|  | ||||
|     .toast-message a, | ||||
|     .toast-message label { | ||||
|         color: #FFF; | ||||
|     } | ||||
|  | ||||
|         .toast-message a:hover { | ||||
|             color: #CCC; | ||||
|             text-decoration: none; | ||||
|         } | ||||
| .toast-message a, | ||||
| .toast-message label { | ||||
|     color: #ffffff; | ||||
| } | ||||
|  | ||||
| .toast-message a:hover { | ||||
|     color: #cccccc; | ||||
|     text-decoration: none; | ||||
| } | ||||
|  | ||||
| .toast-top-full-width { | ||||
|     top: 0; | ||||
| @@ -55,42 +54,42 @@ | ||||
|     z-index: 999999; | ||||
| } | ||||
|  | ||||
|     #toast-container > div { | ||||
|         margin: 0 0 6px; | ||||
|         padding: 15px 15px 15px 50px; | ||||
|         width: 300px; | ||||
|         -moz-border-radius: 3px 3px 3px 3px; | ||||
|         -webkit-border-radius: 3px 3px 3px 3px; | ||||
|         border-radius: 3px 3px 3px 3px; | ||||
|         background-position: 15px center; | ||||
|         background-repeat: no-repeat; | ||||
|         -moz-box-shadow: 0 0 12px #999999; | ||||
|         -webkit-box-shadow: 0 0 12px #999999; | ||||
|         box-shadow: 0 0 12px #999999; | ||||
|         color: #FFFFFF; | ||||
|         opacity: 0.8; | ||||
|         -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; | ||||
|         filter: alpha(opacity=80); | ||||
|     } | ||||
| #toast-container > div { | ||||
|     margin: 0 0 6px; | ||||
|     padding: 15px 15px 15px 50px; | ||||
|     width: 300px; | ||||
|     -moz-border-radius: 3px 3px 3px 3px; | ||||
|     -webkit-border-radius: 3px 3px 3px 3px; | ||||
|     border-radius: 3px 3px 3px 3px; | ||||
|     background-position: 15px center; | ||||
|     background-repeat: no-repeat; | ||||
|     -moz-box-shadow: 0 0 12px #999999; | ||||
|     -webkit-box-shadow: 0 0 12px #999999; | ||||
|     box-shadow: 0 0 12px #999999; | ||||
|     color: #ffffff; | ||||
|     opacity: 0.8; | ||||
|     -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; | ||||
|     filter: alpha(opacity=80); | ||||
| } | ||||
|  | ||||
| .toast { | ||||
|     background-color: #030303; | ||||
| } | ||||
|  | ||||
| .toast-success { | ||||
|     background-color: #51A351; | ||||
|     background-color: #51a351; | ||||
| } | ||||
|  | ||||
| .toast-error { | ||||
|     background-color: #BD362F; | ||||
|     background-color: #bd362f; | ||||
| } | ||||
|  | ||||
| .toast-info { | ||||
|     background-color: #2F96B4; | ||||
|     background-color: #2f96b4; | ||||
| } | ||||
|  | ||||
| .toast-warning { | ||||
|     background-color: #F89406; | ||||
|     background-color: #f89406; | ||||
| } | ||||
|  | ||||
| #toast-container > :hover { | ||||
|   | ||||
							
								
								
									
										178
									
								
								UI/Controller.js
									
									
									
									
									
								
							
							
						
						
									
										178
									
								
								UI/Controller.js
									
									
									
									
									
								
							| @@ -1,105 +1,105 @@ | ||||
| define(['app', 'Shared/ModalRegion', 'AddSeries/AddSeriesLayout', | ||||
|         'Series/Index/SeriesIndexCollectionView', 'Upcoming/UpcomingCollectionView', | ||||
|         'Calendar/CalendarCollectionView', 'Shared/NotificationView', | ||||
|         'Shared/NotFoundView', 'MainMenuView', 'HeaderView', | ||||
|         'Series/Details/SeriesDetailsView', 'Series/EpisodeCollection', | ||||
|         'Settings/SettingsLayout', 'Missing/MissingCollectionView'], | ||||
|         function (app, modalRegion) { | ||||
|     'Series/Index/SeriesIndexCollectionView', 'Upcoming/UpcomingCollectionView', | ||||
|     'Calendar/CalendarCollectionView', 'Shared/NotificationView', | ||||
|     'Shared/NotFoundView', 'MainMenuView', 'HeaderView', | ||||
|     'Series/Details/SeriesDetailsView', 'Series/EpisodeCollection', | ||||
|     'Settings/SettingsLayout', 'Missing/MissingCollectionView'], | ||||
|     function (app, modalRegion) { | ||||
|  | ||||
|     var controller = Backbone.Marionette.Controller.extend({ | ||||
|         var controller = Backbone.Marionette.Controller.extend({ | ||||
|  | ||||
|         addSeries: function (action, query) { | ||||
|             this.setTitle('Add Series'); | ||||
|             NzbDrone.mainRegion.show(new NzbDrone.AddSeries.AddSeriesLayout(this, action, query)); | ||||
|         }, | ||||
|             addSeries: function (action, query) { | ||||
|                 this.setTitle('Add Series'); | ||||
|                 NzbDrone.mainRegion.show(new NzbDrone.AddSeries.AddSeriesLayout(this, action, query)); | ||||
|             }, | ||||
|  | ||||
|         series: function (action, query) { | ||||
|             this.setTitle('NzbDrone'); | ||||
|             NzbDrone.mainRegion.show(new NzbDrone.Series.Index.SeriesIndexCollectionView()); | ||||
|         }, | ||||
|             series: function (action, query) { | ||||
|                 this.setTitle('NzbDrone'); | ||||
|                 NzbDrone.mainRegion.show(new NzbDrone.Series.Index.SeriesIndexCollectionView()); | ||||
|             }, | ||||
|  | ||||
|         upcoming: function (action, query) { | ||||
|             this.setTitle('Upcoming'); | ||||
|             NzbDrone.mainRegion.show(new NzbDrone.Upcoming.UpcomingCollectionView(this, action, query)); | ||||
|         }, | ||||
|          | ||||
|         calendar: function (action, query) { | ||||
|             this.setTitle('Calendar'); | ||||
|             var calendarCollection = new NzbDrone.Calendar.CalendarCollection(); | ||||
|             calendarCollection.fetch(); | ||||
|             NzbDrone.mainRegion.show(new NzbDrone.Calendar.CalendarCollectionView(this, action, query, calendarCollection)); | ||||
|         }, | ||||
|             upcoming: function (action, query) { | ||||
|                 this.setTitle('Upcoming'); | ||||
|                 NzbDrone.mainRegion.show(new NzbDrone.Upcoming.UpcomingCollectionView(this, action, query)); | ||||
|             }, | ||||
|  | ||||
|         seriesDetails: function (query) { | ||||
|             calendar: function (action, query) { | ||||
|                 this.setTitle('Calendar'); | ||||
|                 var calendarCollection = new NzbDrone.Calendar.CalendarCollection(); | ||||
|                 calendarCollection.fetch(); | ||||
|                 NzbDrone.mainRegion.show(new NzbDrone.Calendar.CalendarCollectionView(this, action, query, calendarCollection)); | ||||
|             }, | ||||
|  | ||||
|             var self = this; | ||||
|             this.setTitle('Loading Series'); | ||||
|             var series = new NzbDrone.Series.SeriesModel({ id: query }); | ||||
|             series.fetch({ | ||||
|                 success: function (seriesModel) { | ||||
|                     self.setTitle(seriesModel.get('title')); | ||||
|                     NzbDrone.mainRegion.show(new NzbDrone.Series.Details.SeriesDetailsView({ model: seriesModel })); | ||||
|             seriesDetails: function (query) { | ||||
|  | ||||
|                 var self = this; | ||||
|                 this.setTitle('Loading Series'); | ||||
|                 var series = new NzbDrone.Series.SeriesModel({ id: query }); | ||||
|                 series.fetch({ | ||||
|                     success: function (seriesModel) { | ||||
|                         self.setTitle(seriesModel.get('title')); | ||||
|                         NzbDrone.mainRegion.show(new NzbDrone.Series.Details.SeriesDetailsView({ model: seriesModel })); | ||||
|                     } | ||||
|                 }); | ||||
|             }, | ||||
|  | ||||
|             settings: function (action, query) { | ||||
|                 this.setTitle('Settings'); | ||||
|  | ||||
|                 var settingsModel = new NzbDrone.Settings.SettingsModel(); | ||||
|                 settingsModel.fetch({ | ||||
|                     success: function (settings) { | ||||
|                         NzbDrone.mainRegion.show(new NzbDrone.Settings.SettingsLayout(this, action, query, settings)); | ||||
|                     } | ||||
|                 }); | ||||
|             }, | ||||
|  | ||||
|             missing: function (action, query) { | ||||
|                 this.setTitle('Missing'); | ||||
|  | ||||
|                 var missingCollection = new NzbDrone.Missing.MissingCollection(); | ||||
|                 missingCollection.fetch({ | ||||
|                     success: function (missing) { | ||||
|                         NzbDrone.mainRegion.show(new NzbDrone.Missing.MissingCollectionView(this, action, query, missing)); | ||||
|                     } | ||||
|                 }) | ||||
|             }, | ||||
|  | ||||
|             notFound: function () { | ||||
|                 this.setTitle('Not Found'); | ||||
|                 NzbDrone.mainRegion.show(new NzbDrone.Shared.NotFoundView(this)); | ||||
|             }, | ||||
|  | ||||
|             setTitle: function (title) { | ||||
|                 $('#title-region').html(title); | ||||
|  | ||||
|                 if (title.toLocaleLowerCase() === 'nzbdrone') { | ||||
|                     window.document.title = 'NzbDrone'; | ||||
|                 } | ||||
|             }); | ||||
|         }, | ||||
|  | ||||
|         settings: function(action, query) { | ||||
|             this.setTitle('Settings'); | ||||
|  | ||||
|             var settingsModel = new NzbDrone.Settings.SettingsModel(); | ||||
|             settingsModel.fetch({ | ||||
|                 success: function(settings) { | ||||
|                     NzbDrone.mainRegion.show(new NzbDrone.Settings.SettingsLayout(this, action, query, settings)); | ||||
|                 else { | ||||
|                     window.document.title = title + ' - NzbDrone'; | ||||
|                 } | ||||
|             }); | ||||
|         }, | ||||
|  | ||||
|         missing: function(action, query) { | ||||
|           this.setTitle('Missing'); | ||||
|  | ||||
|             var missingCollection = new NzbDrone.Missing.MissingCollection(); | ||||
|             missingCollection.fetch({ | ||||
|                 success: function(missing) { | ||||
|                     NzbDrone.mainRegion.show(new NzbDrone.Missing.MissingCollectionView(this, action, query, missing)); | ||||
|                 } | ||||
|             }) | ||||
|         }, | ||||
|  | ||||
|         notFound: function () { | ||||
|             this.setTitle('Not Found'); | ||||
|             NzbDrone.mainRegion.show(new NzbDrone.Shared.NotFoundView(this)); | ||||
|         }, | ||||
|  | ||||
|         setTitle: function (title) { | ||||
|             $('#title-region').html(title); | ||||
|  | ||||
|             if (title.toLocaleLowerCase() === 'nzbdrone') { | ||||
|                 window.document.title = 'NzbDrone'; | ||||
|             } | ||||
|             else { | ||||
|                 window.document.title = title + ' - NzbDrone'; | ||||
|             } | ||||
|         } | ||||
|     }); | ||||
|  | ||||
|     //Modal dialog initializer | ||||
|     NzbDrone.addInitializer(function () { | ||||
|  | ||||
|         NzbDrone.addRegions({ modalRegion: modalRegion }); | ||||
|  | ||||
|         NzbDrone.vent.on(NzbDrone.Events.OpenModalDialog, function (options) { | ||||
|             console.log('opening modal dialog ' + options.view.template); | ||||
|             NzbDrone.modalRegion.show(options.view); | ||||
|         }); | ||||
|  | ||||
|         NzbDrone.vent.on(NzbDrone.Events.CloseModalDialog, function () { | ||||
|             console.log('closing modal dialog'); | ||||
|             NzbDrone.modalRegion.close(); | ||||
|         //Modal dialog initializer | ||||
|         NzbDrone.addInitializer(function () { | ||||
|  | ||||
|             NzbDrone.addRegions({ modalRegion: modalRegion }); | ||||
|  | ||||
|             NzbDrone.vent.on(NzbDrone.Events.OpenModalDialog, function (options) { | ||||
|                 console.log('opening modal dialog ' + options.view.template); | ||||
|                 NzbDrone.modalRegion.show(options.view); | ||||
|             }); | ||||
|  | ||||
|             NzbDrone.vent.on(NzbDrone.Events.CloseModalDialog, function () { | ||||
|                 console.log('closing modal dialog'); | ||||
|                 NzbDrone.modalRegion.close(); | ||||
|             }); | ||||
|  | ||||
|         }); | ||||
|  | ||||
|         return new controller(); | ||||
|  | ||||
|     }); | ||||
|              | ||||
|     return new controller(); | ||||
|  | ||||
| }); | ||||
|  | ||||
|   | ||||
							
								
								
									
										138
									
								
								UI/Index.html
									
									
									
									
									
								
							
							
						
						
									
										138
									
								
								UI/Index.html
									
									
									
									
									
								
							| @@ -2,91 +2,91 @@ | ||||
| <html xmlns="http://www.w3.org/1999/xhtml"> | ||||
| <head runat="server"> | ||||
|     <title>NzbDrone</title> | ||||
|     <link rel="SHORTCUT ICON" href="favicon.ico" /> | ||||
|     <link rel="apple-touch-icon" sizes="57x57" href="Static/Content/Images/apple-touch-icon-114.png" /> | ||||
|     <link rel="apple-touch-icon" sizes="114x114" href="Static/Content/Images/apple-touch-icon-114.png" /> | ||||
|     <link rel="apple-touch-icon" sizes="72x72" href="Static/Content/Images/apple-touch-icon-144.png" /> | ||||
|     <link rel="apple-touch-icon" sizes="144x144" href="Static/Content/Images/apple-touch-icon-144.png" /> | ||||
|     <meta http-equiv="X-UA-Compatible" content="IE=edge" /> | ||||
|     <link rel="SHORTCUT ICON" href="favicon.ico"/> | ||||
|     <link rel="apple-touch-icon" sizes="57x57" href="Static/Content/Images/apple-touch-icon-114.png"/> | ||||
|     <link rel="apple-touch-icon" sizes="114x114" href="Static/Content/Images/apple-touch-icon-114.png"/> | ||||
|     <link rel="apple-touch-icon" sizes="72x72" href="Static/Content/Images/apple-touch-icon-144.png"/> | ||||
|     <link rel="apple-touch-icon" sizes="144x144" href="Static/Content/Images/apple-touch-icon-144.png"/> | ||||
|     <meta http-equiv="X-UA-Compatible" content="IE=edge"/> | ||||
|     <link href='//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,400,600,300' rel='stylesheet' type='text/css'> | ||||
|     <link href="/content/bootstrap.css" rel='stylesheet' type='text/css' /> | ||||
|     <link href="/content/bootstrap.slider.css" rel='stylesheet' type='text/css' /> | ||||
|     <link href="/content/bootstrapSwitch.css" rel='stylesheet' type='text/css' /> | ||||
|     <link href="/content/base.css" rel='stylesheet' type='text/css' /> | ||||
|     <link href="/content/bootstrap.css" rel='stylesheet' type='text/css'/> | ||||
|     <link href="/content/bootstrap.slider.css" rel='stylesheet' type='text/css'/> | ||||
|     <link href="/content/bootstrapSwitch.css" rel='stylesheet' type='text/css'/> | ||||
|     <link href="/content/base.css" rel='stylesheet' type='text/css'/> | ||||
|     <link href="/content/theme.css" rel='stylesheet' type='text/css'> | ||||
|     <link href="/content/toastr.css" rel='stylesheet' type='text/css'> | ||||
|     <link href="/content/fullcalendar.css" rel='stylesheet' type='text/css'> | ||||
|     <link href="/content/tablesorter.bootstrap.css" rel='stylesheet' type='text/css' /> | ||||
|     <link href="/content/tablesorter.pager.css" rel='stylesheet' type='text/css' /> | ||||
|     <link href="/AddSeries/addseries.css" rel='stylesheet' type='text/css' /> | ||||
|     <link href="/content/menu.css" rel='stylesheet' type='text/css' /> | ||||
|     <link href="/content/form.css" rel='stylesheet' type='text/css' /> | ||||
|     <link href="/content/settings.quality.css" rel='stylesheet' type='text/css' /> | ||||
|     <link href="/content/tablesorter.bootstrap.css" rel='stylesheet' type='text/css'/> | ||||
|     <link href="/content/tablesorter.pager.css" rel='stylesheet' type='text/css'/> | ||||
|     <link href="/AddSeries/addseries.css" rel='stylesheet' type='text/css'/> | ||||
|     <link href="/content/menu.css" rel='stylesheet' type='text/css'/> | ||||
|     <link href="/content/form.css" rel='stylesheet' type='text/css'/> | ||||
|     <link href="/content/settings.quality.css" rel='stylesheet' type='text/css'/> | ||||
| </head> | ||||
| <body> | ||||
|     <div id="in-nav"> | ||||
|         <div class="container"> | ||||
|             <div class="row"> | ||||
|                 <div class=span2> | ||||
|                     <a id="logo" href="/"> | ||||
|                         <h4>Nzb<strong>Drone</strong></h4> | ||||
|                     </a> | ||||
|                 </div> | ||||
| <div id="in-nav"> | ||||
|     <div class="container"> | ||||
|         <div class="row"> | ||||
|             <div class=span2> | ||||
|                 <a id="logo" href="/"> | ||||
|                     <h4>Nzb<strong>Drone</strong></h4> | ||||
|                 </a> | ||||
|             </div> | ||||
|         </div> | ||||
|     </div> | ||||
|     <div id="in-sub-nav"> | ||||
|         <div class="container"> | ||||
|             <div class="row"> | ||||
|                 <div class="span12"> | ||||
|                     <ul id="main-menu-region"> | ||||
|                         <li><a href="/"><i class="icon-film"></i> | ||||
|                             <br> | ||||
|                             Series</a></li> | ||||
|                         <li><a href="/calendar"><i class="icon-calendar"></i> | ||||
|                             <br> | ||||
|                             Calendar</a></li> | ||||
|                         <li><span class="label label-important pull-right">08</span><a href="history"><i class="icon-time"></i><br> | ||||
|                             History</a></li> | ||||
|                         <li><span class="label label-important pull-right">04</span><a href="missing"><i class="icon-folder-open"></i><br> | ||||
|                             Missing</a></li> | ||||
|                         <li><a href="settings"><i class="icon-cogs"></i> | ||||
|                             <br> | ||||
|                             Settings</a></li> | ||||
|                         <li><a href="system"><i class="icon-plane"></i> | ||||
|                             <br> | ||||
|                             System</a></li> | ||||
|                         <li><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=KRTE52U3XJDSQ" target="_blank"><i class="icon-star"></i> | ||||
|                             <br> | ||||
|                             Donate</a></li> | ||||
|                     </ul> | ||||
|                 </div> | ||||
| </div> | ||||
| <div id="in-sub-nav"> | ||||
|     <div class="container"> | ||||
|         <div class="row"> | ||||
|             <div class="span12"> | ||||
|                 <ul id="main-menu-region"> | ||||
|                     <li><a href="/"><i class="icon-film"></i> | ||||
|                         <br> | ||||
|                         Series</a></li> | ||||
|                     <li><a href="/calendar"><i class="icon-calendar"></i> | ||||
|                         <br> | ||||
|                         Calendar</a></li> | ||||
|                     <li><span class="label label-important pull-right">08</span><a href="history"><i class="icon-time"></i><br> | ||||
|                         History</a></li> | ||||
|                     <li><span class="label label-important pull-right">04</span><a href="missing"><i class="icon-folder-open"></i><br> | ||||
|                         Missing</a></li> | ||||
|                     <li><a href="settings"><i class="icon-cogs"></i> | ||||
|                         <br> | ||||
|                         Settings</a></li> | ||||
|                     <li><a href="system"><i class="icon-plane"></i> | ||||
|                         <br> | ||||
|                         System</a></li> | ||||
|                     <li><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=KRTE52U3XJDSQ" target="_blank"><i class="icon-star"></i> | ||||
|                         <br> | ||||
|                         Donate</a></li> | ||||
|                 </ul> | ||||
|             </div> | ||||
|         </div> | ||||
|     </div> | ||||
|     <div class="page"> | ||||
|         <div class="page-container"> | ||||
|             <div class="container"> | ||||
|                 <div class="row"> | ||||
|                     <div class="span12 header"> | ||||
|                         <h4 id="title-region">NZBDRONE</h4> | ||||
|                     </div> | ||||
|                     <div class="span12" id="notification-region" /> | ||||
| </div> | ||||
| <div class="page"> | ||||
|     <div class="page-container"> | ||||
|         <div class="container"> | ||||
|             <div class="row"> | ||||
|                 <div class="span12 header"> | ||||
|                     <h4 id="title-region">NZBDRONE</h4> | ||||
|                 </div> | ||||
|                 <div class="span12" id="main-region"></div> | ||||
|                 <div id="modal-region"></div> | ||||
|                 <div class="span12" id="notification-region"/> | ||||
|             </div> | ||||
|             <div class="span12" id="main-region"></div> | ||||
|             <div id="modal-region"></div> | ||||
|         </div> | ||||
|     </div> | ||||
| </div> | ||||
| <footer> | ||||
|     <div class="container"> | ||||
|         <div class="row"> | ||||
|             <div class="span12"> | ||||
|                 <p>© Copyright 2013 NzbDrone</p> | ||||
|             </div> | ||||
|         </div> | ||||
|     </div> | ||||
|     <footer> | ||||
|         <div class="container"> | ||||
|             <div class="row"> | ||||
|                 <div class="span12"> | ||||
|                     <p>© Copyright 2013 NzbDrone</p> | ||||
|                 </div> | ||||
|             </div> | ||||
|         </div> | ||||
|     </footer> | ||||
| </footer> | ||||
| </body> | ||||
| <script src="/JsLibraries/jquery.js"></script> | ||||
| <script src="/JsLibraries/bootstrap.js"></script> | ||||
|   | ||||
| @@ -1,13 +1,13 @@ | ||||
| 'use strict'; | ||||
|  | ||||
| define([ | ||||
|         'app', | ||||
|         'Missing/MissingCollection' | ||||
|     'app', | ||||
|     'Missing/MissingCollection' | ||||
|  | ||||
| ], function () { | ||||
|     NzbDrone.Missing.MissingItemView = Backbone.Marionette.ItemView.extend({ | ||||
|         template: 'Missing/MissingItemTemplate', | ||||
|         tagName: 'tr', | ||||
|         tagName : 'tr', | ||||
|  | ||||
|         onRender: function () { | ||||
|             NzbDrone.ModelBinder.bind(this.model, this.el); | ||||
|   | ||||
| @@ -1,10 +1,10 @@ | ||||
| define(['app'], function (app) { | ||||
|     NzbDrone.Missing.MissingModel = Backbone.Model.extend({ | ||||
|         mutators: { | ||||
|             bestDateString: function () { | ||||
|             bestDateString     : function () { | ||||
|                 return bestDateString(this.get('airDate')); | ||||
|             }, | ||||
|             paddedEpisodeNumber: function(){ | ||||
|             paddedEpisodeNumber: function () { | ||||
|                 return this.get('episodeNumber'); | ||||
|             } | ||||
|         } | ||||
|   | ||||
| @@ -2,13 +2,13 @@ | ||||
|  | ||||
|     $.fn.autoComplete = function (resource) { | ||||
|         $(this).typeahead({ | ||||
|             source: function (filter, callback) { | ||||
|             source   : function (filter, callback) { | ||||
|                 $.ajax({ | ||||
|                     url: NzbDrone.Constants.ApiRoot + resource, | ||||
|                     url     : NzbDrone.Constants.ApiRoot + resource, | ||||
|                     dataType: "json", | ||||
|                     type: "GET", | ||||
|                     data: { query: filter }, | ||||
|                     success: function (data) { | ||||
|                     type    : "GET", | ||||
|                     data    : { query: filter }, | ||||
|                     success : function (data) { | ||||
|                         callback(data); | ||||
|                     } | ||||
|                 }); | ||||
|   | ||||
| @@ -1,28 +1,25 @@ | ||||
| //try to add ajax data as query string to DELETE calls. | ||||
| (function (){ | ||||
| (function () { | ||||
|  | ||||
|     var original = Backbone.ajax; | ||||
|  | ||||
|     Backbone.ajax = function (){ | ||||
|     Backbone.ajax = function () { | ||||
|  | ||||
|         var xhr = arguments[0]; | ||||
|  | ||||
|         //check if ajax call was made with data option | ||||
|         if(xhr && xhr.data && xhr.type=='DELETE') | ||||
|         { | ||||
|             if(xhr.url.indexOf('?') === -1) | ||||
|             { | ||||
|         if (xhr && xhr.data && xhr.type == 'DELETE') { | ||||
|             if (xhr.url.indexOf('?') === -1) { | ||||
|                 xhr.url = xhr.url + '?' + $.param(xhr.data); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|             else { | ||||
|                 xhr.url = xhr.url + '&' + $.param(xhr.data); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         if (original){ | ||||
|             original.apply (this, arguments); | ||||
|         if (original) { | ||||
|             original.apply(this, arguments); | ||||
|         } | ||||
|  | ||||
|     }; | ||||
| } ()); | ||||
| }()); | ||||
| @@ -12,7 +12,7 @@ Marionette.TemplateCache.get = function (templateId) { | ||||
|     return function (data) { | ||||
|  | ||||
|         try { | ||||
|             console.log('rendering template ' + templateName); | ||||
|             //console.log('rendering template ' + templateName); | ||||
|             return templateFunction(data); | ||||
|         } | ||||
|         catch (error) { | ||||
|   | ||||
| @@ -1,12 +1,22 @@ | ||||
| function bestDateString(sourceDate){ | ||||
|     if (!sourceDate) return ''; | ||||
| function bestDateString(sourceDate) { | ||||
|     if (!sourceDate) { | ||||
|         return ''; | ||||
|     } | ||||
|  | ||||
|     var date = Date.create(sourceDate); | ||||
|  | ||||
|     if (date.isYesterday()) return 'Yesterday'; | ||||
|     if (date.isToday()) return 'Today'; | ||||
|     if (date.isTomorrow()) return 'Tomorrow'; | ||||
|     if (date.isAfter(Date.create('tomorrow')) && date.isBefore(Date.create().addDays(7))) return date.format('{Weekday}'); | ||||
|     if (date.isYesterday()) { | ||||
|         return 'Yesterday'; | ||||
|     } | ||||
|     if (date.isToday()) { | ||||
|         return 'Today'; | ||||
|     } | ||||
|     if (date.isTomorrow()) { | ||||
|         return 'Tomorrow'; | ||||
|     } | ||||
|     if (date.isAfter(Date.create('tomorrow')) && date.isBefore(Date.create().addDays(7))) { | ||||
|         return date.format('{Weekday}'); | ||||
|     } | ||||
|  | ||||
|     return date.format('{MM}/{dd}/{yyyy}'); | ||||
| } | ||||
| @@ -1,7 +1,7 @@ | ||||
| $.tablesorter.addParser({ | ||||
|     // set a unique id  | ||||
|     id: 'title', | ||||
|     is: function (s) { | ||||
|     id    : 'title', | ||||
|     is    : function (s) { | ||||
|         // return false so this parser is not auto detected  | ||||
|         return false; | ||||
|     }, | ||||
| @@ -10,33 +10,34 @@ $.tablesorter.addParser({ | ||||
|         return s.match(/title="(.*?)"/)[1].toLowerCase(); | ||||
|     }, | ||||
|     // set type, either numeric or text  | ||||
|     type: 'text' | ||||
|     type  : 'text' | ||||
| }); | ||||
|  | ||||
| $.tablesorter.addParser({ | ||||
|     // set a unique id  | ||||
|     id: 'date', | ||||
|     is: function (s) { | ||||
|     id    : 'date', | ||||
|     is    : function (s) { | ||||
|         // return false so this parser is not auto detected  | ||||
|         return false; | ||||
|     }, | ||||
|     format: function (s) { | ||||
|         // format your data for normalization | ||||
|         var match = s.match(/data-date="(.*?)"/)[1]; | ||||
|          | ||||
|         if (match === '') | ||||
|  | ||||
|         if (match === '') { | ||||
|             return Date.create().addYears(100).format(Date.ISO8601_DATETIME); | ||||
|         } | ||||
|  | ||||
|         return match; | ||||
|     }, | ||||
|     // set type, either numeric or text  | ||||
|     type: 'text' | ||||
|     type  : 'text' | ||||
| }); | ||||
|  | ||||
| $.tablesorter.addParser({ | ||||
|     // set a unique id  | ||||
|     id: 'innerHtml', | ||||
|     is: function (s) { | ||||
|     id    : 'innerHtml', | ||||
|     is    : function (s) { | ||||
|         // return false so this parser is not auto detected  | ||||
|         return false; | ||||
|     }, | ||||
| @@ -45,5 +46,5 @@ $.tablesorter.addParser({ | ||||
|         return $(s).get(0).innerHTML; | ||||
|     }, | ||||
|     // set type, either numeric or text  | ||||
|     type: 'text' | ||||
|     type  : 'text' | ||||
| }); | ||||
| @@ -1,6 +1,6 @@ | ||||
| define(['app', 'Quality/QualitySizeModel'], function () { | ||||
|     NzbDrone.Quality.QualitySizeCollection = Backbone.Collection.extend({ | ||||
|         model: NzbDrone.Quality.QualitySizeModel, | ||||
|         url: NzbDrone.Constants.ApiRoot + '/qualitysizes' | ||||
|         url  : NzbDrone.Constants.ApiRoot + '/qualitysizes' | ||||
|     }); | ||||
| }); | ||||
| @@ -6,10 +6,10 @@ | ||||
|         }, | ||||
|  | ||||
|         mutators: { | ||||
|             thirtyMinuteSize: function() { | ||||
|             thirtyMinuteSize: function () { | ||||
|                 return this.get('maxSize') * 30; | ||||
|             }, | ||||
|             sixtyMinuteSize: function(){ | ||||
|             sixtyMinuteSize : function () { | ||||
|                 return this.get('maxSize') * 60; | ||||
|             } | ||||
|         } | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| define(['app', 'Quality/QualityProfileModel'], function () { | ||||
|  | ||||
|     var qualityProfileCollection = Backbone.Collection.extend({ | ||||
|         model:NzbDrone.Quality.QualityProfileModel, | ||||
|         url:NzbDrone.Constants.ApiRoot + '/qualityprofiles' | ||||
|         model: NzbDrone.Quality.QualityProfileModel, | ||||
|         url  : NzbDrone.Constants.ApiRoot + '/qualityprofiles' | ||||
|     }); | ||||
|  | ||||
|     var profiles = new qualityProfileCollection(); | ||||
|   | ||||
| @@ -2,18 +2,18 @@ | ||||
|     NzbDrone.Quality.QualityProfileModel = Backbone.Model.extend({ | ||||
|  | ||||
|         mutators: { | ||||
|             allowed: function() { | ||||
|             allowed: function () { | ||||
|                 return _.where(this.get('qualities'), { allowed: true }); | ||||
|             }, | ||||
|  | ||||
|             cutoffName: function() { | ||||
|             cutoffName: function () { | ||||
|                 return _.findWhere(this.get('qualities'), { id: this.get('cutoff') }).name; | ||||
|             } | ||||
|         }, | ||||
|  | ||||
|         defaults: { | ||||
|             id: null, | ||||
|             name: '', | ||||
|             id    : null, | ||||
|             name  : '', | ||||
|             //'qualities.allowed': false, | ||||
|             cutoff: null | ||||
|         } | ||||
|   | ||||
| @@ -4,6 +4,7 @@ | ||||
| </div> | ||||
| <div class="modal-body"> | ||||
|     <p>Are you sure you want to delete '{{title}}'?</p> | ||||
|  | ||||
|     <div class="series-delete-files"> | ||||
|         <label class="checkbox"> | ||||
|             <input class="x-delete-files" type="checkbox" value="true"> | ||||
|   | ||||
| @@ -3,29 +3,29 @@ | ||||
| define(['app', 'Series/SeriesModel'], function () { | ||||
|  | ||||
|     NzbDrone.Series.Delete.DeleteSeriesView = Backbone.Marionette.ItemView.extend({ | ||||
|         template:'Series/Delete/DeleteSeriesTemplate', | ||||
|         tagName:'div', | ||||
|         className:"modal", | ||||
|         template : 'Series/Delete/DeleteSeriesTemplate', | ||||
|         tagName  : 'div', | ||||
|         className: "modal", | ||||
|  | ||||
|         events:{ | ||||
|             'click .x-confirm-delete':'removeSeries' | ||||
|         events: { | ||||
|             'click .x-confirm-delete': 'removeSeries' | ||||
|         }, | ||||
|  | ||||
|         ui:{ | ||||
|             deleteFiles:'.x-delete-files' | ||||
|         ui: { | ||||
|             deleteFiles: '.x-delete-files' | ||||
|         }, | ||||
|  | ||||
|         onRender:function () { | ||||
|         onRender: function () { | ||||
|             NzbDrone.ModelBinder.bind(this.model, this.el); | ||||
|         }, | ||||
|  | ||||
|         removeSeries:function () { | ||||
|         removeSeries: function () { | ||||
|  | ||||
|             var deleteFiles = this.ui.deleteFiles.prop('checked'); | ||||
|  | ||||
|             this.model.destroy({ | ||||
|                 data:{ 'deleteFiles':deleteFiles }, | ||||
|                 success:function (model) { | ||||
|                 data   : { 'deleteFiles': deleteFiles }, | ||||
|                 success: function (model) { | ||||
|                     model.collection.remove(model); | ||||
|                 } | ||||
|             }); | ||||
|   | ||||
| @@ -3,13 +3,13 @@ define(['app', 'Series/SeasonModel'], function () { | ||||
|  | ||||
|     NzbDrone.Series.Details.EpisodeItemView = Backbone.Marionette.ItemView.extend({ | ||||
|         template: 'Series/Details/EpisodeItemTemplate', | ||||
|         tagName: 'tr', | ||||
|         tagName : 'tr', | ||||
|  | ||||
|         ui: { | ||||
|  | ||||
|         }, | ||||
|  | ||||
|         events: { | ||||
|         events  : { | ||||
|  | ||||
|         }, | ||||
|         onRender: function () { | ||||
|   | ||||
| @@ -1,15 +1,15 @@ | ||||
| 'use strict'; | ||||
| define(['app', 'Series/Details/EpisodeItemView'], function () { | ||||
|     NzbDrone.Series.Details.SeasonCompositeView = Backbone.Marionette.CompositeView.extend({ | ||||
|         itemView: NzbDrone.Series.Details.EpisodeItemView, | ||||
|         itemView         : NzbDrone.Series.Details.EpisodeItemView, | ||||
|         itemViewContainer: '.x-episodes', | ||||
|         template: 'Series/Details/SeasonCompositeTemplate', | ||||
|         template         : 'Series/Details/SeasonCompositeTemplate', | ||||
|  | ||||
|         initialize: function() { | ||||
|             this.collection =new  NzbDrone.Series.EpisodeCollection(); | ||||
|         initialize: function () { | ||||
|             this.collection = new NzbDrone.Series.EpisodeCollection(); | ||||
|             this.collection.fetch({data: { | ||||
|                 seriesId: this.model.get('seriesId'), | ||||
|                 seasonNumber:this.model.get('seasonNumber') | ||||
|                 seriesId    : this.model.get('seriesId'), | ||||
|                 seasonNumber: this.model.get('seasonNumber') | ||||
|             }}); | ||||
|         } | ||||
|     }); | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| define(['app', 'Quality/QualityProfileCollection', 'Series/Details/SeasonCompositeView', 'Series/SeasonCollection'], function () { | ||||
|     NzbDrone.Series.Details.SeriesDetailsView = Backbone.Marionette.CompositeView.extend({ | ||||
|  | ||||
|         itemView: NzbDrone.Series.Details.SeasonCompositeView, | ||||
|         itemView         : NzbDrone.Series.Details.SeasonCompositeView, | ||||
|         itemViewContainer: '.x-series-seasons', | ||||
|         template: 'Series/Details/SeriesDetailsTemplate', | ||||
|         template         : 'Series/Details/SeriesDetailsTemplate', | ||||
|  | ||||
|         initialize: function () { | ||||
|             this.collection = new NzbDrone.Series.SeasonCollection(); | ||||
|   | ||||
| @@ -4,24 +4,26 @@ | ||||
| </div> | ||||
| <div class="modal-body"> | ||||
|     <div class="form-horizontal"> | ||||
|          | ||||
|  | ||||
|         <div class="control-group"> | ||||
|             <label class="control-label">Monitored</label> | ||||
|  | ||||
|             <div class="controls"> | ||||
|                 <div class="switch"> | ||||
|                     <input type="checkbox" name="monitored" /> | ||||
|                     <input type="checkbox" name="monitored"/> | ||||
|                 </div> | ||||
|                 <span class="help-inline-checkbox"> | ||||
|                     <i class="icon-question-sign" title="Should NzbDrone download episodes for this series?"></i> | ||||
|                 </span> | ||||
|             </div> | ||||
|         </div> | ||||
|          | ||||
|  | ||||
|         <div class="control-group"> | ||||
|             <label class="control-label">Use Season Folder</label> | ||||
|  | ||||
|             <div class="controls"> | ||||
|                 <div class="switch"> | ||||
|                     <input type="checkbox" name="seasonFolder" /> | ||||
|                     <input type="checkbox" name="seasonFolder"/> | ||||
|                 </div> | ||||
|                 <span class="help-inline-checkbox"> | ||||
|                     <i class="icon-question-sign" title="Should downloaded episodes be stored in season folders?"></i> | ||||
| @@ -31,11 +33,12 @@ | ||||
|  | ||||
|         <div class="control-group"> | ||||
|             <label class="control-label" for="inputQualityProfile">Quality Profile</label> | ||||
|  | ||||
|             <div class="controls"> | ||||
|                  | ||||
|  | ||||
|                 <select class="x-quality-profile" id="inputQualityProfile" name="qualityProfileId"> | ||||
|                     {{#each qualityProfiles.models}} | ||||
|                     <option value="{{id}}">{{attributes.name}}</option> | ||||
|                         <option value="{{id}}">{{attributes.name}}</option> | ||||
|                     {{/each}} | ||||
|                 </select> | ||||
|                 <span class="help-inline"> | ||||
| @@ -46,6 +49,7 @@ | ||||
|  | ||||
|         <div class="control-group"> | ||||
|             <label class="control-label" for="inputPath">Path</label> | ||||
|  | ||||
|             <div class="controls"> | ||||
|                 <input type="text" id="inputPath" placeholder="Path" name="path"> | ||||
|                 <span class="help-inline"> | ||||
| @@ -53,9 +57,10 @@ | ||||
|                 </span> | ||||
|             </div> | ||||
|         </div> | ||||
|          | ||||
|  | ||||
|         <div class="control-group"> | ||||
|             <label class="control-label" for="inputBacklogSetting">Backlog Setting</label> | ||||
|  | ||||
|             <div class="controls"> | ||||
|                 <select id="inputBacklogSetting" class="inputClass x-backlog-setting" name="backlogSetting"> | ||||
|                     <option value="0">Inherit</option> | ||||
| @@ -67,11 +72,12 @@ | ||||
|                 </span> | ||||
|             </div> | ||||
|         </div> | ||||
|          | ||||
|  | ||||
|         <div class="control-group"> | ||||
|             <label class="control-label" for="inputCustomStartDate">Custom Start Date</label> | ||||
|  | ||||
|             <div class="controls"> | ||||
|                 <input type="date" id="inputCustomStartDate"  name="customStartDate"> | ||||
|                 <input type="date" id="inputCustomStartDate" name="customStartDate"> | ||||
|                 <span class="help-inline"> | ||||
|                     <i class="icon-question-sign" title="Should NzbDrone only download episodes after your preferred start date?"></i> | ||||
|                 </span> | ||||
| @@ -80,7 +86,7 @@ | ||||
|     </div> | ||||
| </div> | ||||
| <div class="modal-footer"> | ||||
|     <button class="btn btn-danger pull-left x-remove" >delete</button> | ||||
|     <button class="btn btn-danger pull-left x-remove">delete</button> | ||||
|     <button class="btn" data-dismiss="modal">cancel</button> | ||||
|     <button class="btn btn-primary x-save">save</button> | ||||
| </div> | ||||
| @@ -2,19 +2,19 @@ | ||||
| define(['app', 'Series/SeriesModel', 'Series/Delete/DeleteSeriesView', 'Quality/QualityProfileCollection'], function () { | ||||
|  | ||||
|     NzbDrone.Series.Edit.EditSeriesView = Backbone.Marionette.ItemView.extend({ | ||||
|         template: 'Series/Edit/EditSeriesTemplate', | ||||
|         tagName: 'div', | ||||
|         template : 'Series/Edit/EditSeriesTemplate', | ||||
|         tagName  : 'div', | ||||
|         className: "modal", | ||||
|  | ||||
|         ui: { | ||||
|             progressbar: '.progress .bar', | ||||
|             qualityProfile: '.x-quality-profile', | ||||
|             progressbar    : '.progress .bar', | ||||
|             qualityProfile : '.x-quality-profile', | ||||
|             backlogSettings: '.x-backlog-setting', | ||||
|             switch: '.switch' | ||||
|             switch         : '.switch' | ||||
|         }, | ||||
|  | ||||
|         events: { | ||||
|             'click .x-save': 'saveSeries', | ||||
|             'click .x-save'  : 'saveSeries', | ||||
|             'click .x-remove': 'removeSeries' | ||||
|         }, | ||||
|  | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| define(['app', 'Series/EpisodeModel'], function () { | ||||
|     NzbDrone.Series.EpisodeCollection = Backbone.Collection.extend({ | ||||
|         url: NzbDrone.Constants.ApiRoot + '/episodes', | ||||
|         url  : NzbDrone.Constants.ApiRoot + '/episodes', | ||||
|         model: NzbDrone.Series.EpisodeModel | ||||
|     }); | ||||
| }); | ||||
| @@ -2,9 +2,9 @@ | ||||
|  | ||||
| define(['app', 'Quality/QualityProfileCollection', 'Series/Index/SeriesItemView'], function (app, qualityProfileCollection) { | ||||
|     NzbDrone.Series.Index.SeriesIndexCollectionView = Backbone.Marionette.CompositeView.extend({ | ||||
|         itemView: NzbDrone.Series.Index.SeriesItemView, | ||||
|         itemViewContainer: 'tbody', | ||||
|         template: 'Series/Index/SeriesIndexTemplate', | ||||
|         itemView                : NzbDrone.Series.Index.SeriesItemView, | ||||
|         itemViewContainer       : 'tbody', | ||||
|         template                : 'Series/Index/SeriesIndexTemplate', | ||||
|         qualityProfileCollection: qualityProfileCollection, | ||||
|         //emptyView: NzbDrone.Series.EmptySeriesCollectionView, | ||||
|  | ||||
| @@ -18,27 +18,26 @@ define(['app', 'Quality/QualityProfileCollection', 'Series/Index/SeriesItemView' | ||||
|             this.itemViewOptions = { qualityProfiles: this.qualityProfileCollection }; | ||||
|         }, | ||||
|  | ||||
|         ui:{ | ||||
|             table : '.x-series-table' | ||||
|         ui: { | ||||
|             table: '.x-series-table' | ||||
|         }, | ||||
|  | ||||
|         onItemRemoved: function() | ||||
|         { | ||||
|         onItemRemoved: function () { | ||||
|             this.ui.table.trigger('update'); | ||||
|         }, | ||||
|  | ||||
|         onCompositeCollectionRendered: function() | ||||
|         { | ||||
|         onCompositeCollectionRendered: function () { | ||||
|             this.ui.table.trigger('update'); | ||||
|  | ||||
|             if(!this.tableSorter && this.collection.length > 0) | ||||
|             { | ||||
|             if (!this.tableSorter && this.collection.length > 0) { | ||||
|                 this.tableSorter = this.ui.table.tablesorter({ | ||||
|                     textExtraction: function (node) { | ||||
|                         return node.innerHTML; | ||||
|                     }, | ||||
|                     sortList: [[1,0]], | ||||
|                     headers: { | ||||
|                     sortList      : [ | ||||
|                         [1, 0] | ||||
|                     ], | ||||
|                     headers       : { | ||||
|                         0: { | ||||
|                             sorter: 'title' | ||||
|                         }, | ||||
| @@ -59,30 +58,32 @@ define(['app', 'Quality/QualityProfileCollection', 'Series/Index/SeriesItemView' | ||||
|  | ||||
|                 this.applySortIcons(); | ||||
|  | ||||
|                 this.ui.table.bind("sortEnd", function() { | ||||
|                 this.ui.table.bind("sortEnd", function () { | ||||
|                     this.applySortIcons(); | ||||
|                 }); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|             else { | ||||
|                 this.ui.table.trigger('update'); | ||||
|             } | ||||
|         }, | ||||
|         //Todo: Remove this from each view that requires it | ||||
|         applySortIcons: function() { | ||||
|             $(this.ui.table).find('th.tablesorter-header .tablesorter-header-inner i').each(function(){ | ||||
|         applySortIcons               : function () { | ||||
|             $(this.ui.table).find('th.tablesorter-header .tablesorter-header-inner i').each(function () { | ||||
|                 $(this).remove(); | ||||
|             }); | ||||
|  | ||||
|             $(this.ui.table).find('th.tablesorter-header').each(function () { | ||||
|                 if ($(this).hasClass('tablesorter-headerDesc')) | ||||
|                 if ($(this).hasClass('tablesorter-headerDesc')) { | ||||
|                     $(this).children('.tablesorter-header-inner').append('<i class="icon-sort-up pull-right">'); | ||||
|                 } | ||||
|  | ||||
|                 else if ($(this).hasClass('tablesorter-headerAsc')) | ||||
|                 else if ($(this).hasClass('tablesorter-headerAsc')) { | ||||
|                     $(this).children('.tablesorter-header-inner').append('<i class="icon-sort-down pull-right">'); | ||||
|                 } | ||||
|  | ||||
|                 else if (!$(this).hasClass('sorter-false')) | ||||
|                 else if (!$(this).hasClass('sorter-false')) { | ||||
|                     $(this).children('.tablesorter-header-inner').append('<i class="icon-sort pull-right">'); | ||||
|                 } | ||||
|             }); | ||||
|         } | ||||
|     }); | ||||
| @@ -90,5 +91,5 @@ define(['app', 'Quality/QualityProfileCollection', 'Series/Index/SeriesItemView' | ||||
|  | ||||
| NzbDrone.Series.Index.EmptySeriesCollectionView = Backbone.Marionette.CompositeView.extend({ | ||||
|     template: 'Series/Index/EmptySeriesCollectionTemplate', | ||||
|     tagName: 'tr' | ||||
|     tagName : 'tr' | ||||
| }); | ||||
| @@ -8,8 +8,9 @@ | ||||
| <td> | ||||
|     <div class="progress"> | ||||
|         <span class="progressbar-back-text">{{episodeFileCount}} / {{episodeCount}}</span> | ||||
|  | ||||
|         <div class="bar" style="width:{{percentOfEpisodes}}%"><span class="progressbar-front-text">{{episodeFileCount}} / {{episodeCount}}</span></div> | ||||
|         </div> | ||||
|     </div> | ||||
| </td> | ||||
| <td> | ||||
|     <i class="icon-cog x-edit" title="Edit Series"></i> | ||||
|   | ||||
| @@ -1,24 +1,24 @@ | ||||
| 'use strict'; | ||||
|  | ||||
| define([ | ||||
|         'app', | ||||
|         'Quality/QualityProfileCollection', | ||||
|         'Series/SeriesCollection', | ||||
|         'Series/Edit/EditSeriesView', | ||||
|         'Series/Delete/DeleteSeriesView' | ||||
|     'app', | ||||
|     'Quality/QualityProfileCollection', | ||||
|     'Series/SeriesCollection', | ||||
|     'Series/Edit/EditSeriesView', | ||||
|     'Series/Delete/DeleteSeriesView' | ||||
|  | ||||
| ], function () { | ||||
|  | ||||
|     NzbDrone.Series.Index.SeriesItemView = Backbone.Marionette.ItemView.extend({ | ||||
|         template: 'Series/Index/SeriesItemTemplate', | ||||
|         tagName: 'tr', | ||||
|         tagName : 'tr', | ||||
|  | ||||
|         ui: { | ||||
|             'progressbar': '.progress .bar' | ||||
|         }, | ||||
|  | ||||
|         events: { | ||||
|             'click .x-edit': 'editSeries', | ||||
|             'click .x-edit'  : 'editSeries', | ||||
|             'click .x-remove': 'removeSeries' | ||||
|         }, | ||||
|  | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| define(['app','Series/SeasonModel'], function () { | ||||
| define(['app', 'Series/SeasonModel'], function () { | ||||
|     NzbDrone.Series.SeasonCollection = Backbone.Collection.extend({ | ||||
|         url: NzbDrone.Constants.ApiRoot + '/season', | ||||
|         url  : NzbDrone.Constants.ApiRoot + '/season', | ||||
|         model: NzbDrone.Series.SeasonModel | ||||
|     }); | ||||
| }); | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| define(['app', 'Series/SeriesModel'], function () { | ||||
|     NzbDrone.Series.SeriesCollection = Backbone.Collection.extend({ | ||||
|         url: NzbDrone.Constants.ApiRoot + '/series', | ||||
|         url  : NzbDrone.Constants.ApiRoot + '/series', | ||||
|         model: NzbDrone.Series.SeriesModel | ||||
|     }); | ||||
| }); | ||||
| @@ -14,8 +14,9 @@ | ||||
|  | ||||
|                 var percent = 100; | ||||
|  | ||||
|                 if (episodeCount > 0) | ||||
|                 if (episodeCount > 0) { | ||||
|                     percent = episodeFileCount / episodeCount * 100; | ||||
|                 } | ||||
|  | ||||
|                 return percent; | ||||
|             } | ||||
| @@ -23,8 +24,8 @@ | ||||
|  | ||||
|         defaults: { | ||||
|             episodeFileCount: 0, | ||||
|             episodeCount: 0, | ||||
|             qualityProfiles: qualityProfileCollection | ||||
|             episodeCount    : 0, | ||||
|             qualityProfiles : qualityProfileCollection | ||||
|         } | ||||
|     }); | ||||
|  | ||||
|   | ||||
| @@ -3,6 +3,7 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Download Client</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <select class="inputClass x-backlog-setting" name="downloadClient"> | ||||
|                 <option value="0">SABnzbd</option> | ||||
| @@ -17,8 +18,9 @@ | ||||
|     </div> | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Unsorted TV Directory</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <input type="text" placeholder="C:\Unsorted TV" name="downloadClientDropDirectory" class="x-path" /> | ||||
|             <input type="text" placeholder="C:\Unsorted TV" name="downloadClientDropDirectory" class="x-path"/> | ||||
|             <span class="help-inline"> | ||||
|                 <i class="icon-question-sign" title="The directory where your download client downloads TV shows to."></i> | ||||
|             </span> | ||||
| @@ -27,9 +29,10 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Use Scene Name</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <div class="switch"> | ||||
|                 <input type="checkbox" name="useSceneName" /> | ||||
|                 <input type="checkbox" name="useSceneName"/> | ||||
|             </div> | ||||
|             <span class="help-inline-checkbox"> | ||||
|                 <i class="icon-question-sign" title="Use Scene name when adding NZB to queue?"></i> | ||||
| @@ -43,18 +46,21 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Auto-Configure</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <input type="button" value="Auto-Configure" class="btn btn-inverse" /> | ||||
|             <input type="button" value="Auto-Configure" class="btn btn-inverse"/> | ||||
|             <span class="help-inline"> | ||||
|                 <i class="icon-question-sign" title="(Windows only) If access to SABnzbd doesn't require a username & password and it is on the same system as NzbDrone, you can auto-configure it"></i> | ||||
|                 <i class="icon-question-sign" | ||||
|                         title="(Windows only) If access to SABnzbd doesn't require a username & password and it is on the same system as NzbDrone, you can auto-configure it"></i> | ||||
|             </span> | ||||
|         </div> | ||||
|     </div> | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Host</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <input type="text" name="sabHost" /> | ||||
|             <input type="text" name="sabHost"/> | ||||
|             <span class="help-inline"> | ||||
|                 <i class="icon-question-sign" title="Hostname or IP Address running SABnzbd"></i> | ||||
|             </span> | ||||
| @@ -63,8 +69,9 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Port</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <input type="text" name="sabPort" /> | ||||
|             <input type="text" name="sabPort"/> | ||||
|             <span class="help-inline"> | ||||
|                 <i class="icon-question-sign" title="Port for the SABnzbd Web Interface"></i> | ||||
|             </span> | ||||
| @@ -73,8 +80,9 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">API Key</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <input type="text" name="sabApiKey" /> | ||||
|             <input type="text" name="sabApiKey"/> | ||||
|             <span class="help-inline"> | ||||
|                 <i class="icon-question-sign" title="API Key for SABnzbd<br/>Found in Config -> General"></i> | ||||
|             </span> | ||||
| @@ -83,8 +91,9 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Username</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <input type="text" name="sabUsername" /> | ||||
|             <input type="text" name="sabUsername"/> | ||||
|             <span class="help-inline"> | ||||
|                 <i class="icon-question-sign" title="Username for the SABnzbd web interface"></i> | ||||
|             </span> | ||||
| @@ -93,8 +102,9 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Password</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <input type="password" name="sabPassword" /> | ||||
|             <input type="password" name="sabPassword"/> | ||||
|             <span class="help-inline"> | ||||
|                 <i class="icon-question-sign" title="Password for the SABnzbd web interface"></i> | ||||
|             </span> | ||||
| @@ -103,6 +113,7 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">TV Category</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <input type="text" name="sabTvCategory" placeholder="This is not the dropdownlist you're looking for"/> | ||||
|             <span class="help-inline"> | ||||
| @@ -113,6 +124,7 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Backlog Priority</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <select name="sabBacklogTvPriority"> | ||||
|                 <option>Default</option> | ||||
| @@ -130,6 +142,7 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Recent Priority</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <select name="sabRecentTvPriority"> | ||||
|                 <option>Default</option> | ||||
| @@ -147,8 +160,9 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Test</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <input type="button" value="Test" class="btn btn-inverse" /> | ||||
|             <input type="button" value="Test" class="btn btn-inverse"/> | ||||
|             <span class="help-inline"> | ||||
|                 <i class="icon-question-sign" title="Test SABnzbd settings"></i> | ||||
|             </span> | ||||
| @@ -160,8 +174,9 @@ | ||||
|     <legend>Blackhole</legend> | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Blackhole Directory</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <input type="text" name="blackholeDirectory" class="x-path" /> | ||||
|             <input type="text" name="blackholeDirectory" class="x-path"/> | ||||
|             <span class="help-inline"> | ||||
|                 <i class="icon-question-sign" title="The directory where your download client will pickup .nzb files"></i> | ||||
|             </span> | ||||
| @@ -173,8 +188,9 @@ | ||||
|     <legend>Pneumatic</legend> | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Nzb Directory</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <input type="text" name="pneumaticDirectory" class="x-path" /> | ||||
|             <input type="text" name="pneumaticDirectory" class="x-path"/> | ||||
|             <span class="help-inline"> | ||||
|                 <i class="icon-question-sign" title="Directory to save NZBs for Pneumatic<br/>must be accessible from XBMC"></i> | ||||
|             </span> | ||||
| @@ -186,8 +202,9 @@ | ||||
|     <legend>NZBGet</legend> | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Host</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <input type="text" name="nzbgetHost" /> | ||||
|             <input type="text" name="nzbgetHost"/> | ||||
|             <span class="help-inline"> | ||||
|                 <i class="icon-question-sign" title="Hostname or IP Address running NZBGet"></i> | ||||
|             </span> | ||||
| @@ -196,8 +213,9 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Port</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <input type="text" name="nzbgetPort" /> | ||||
|             <input type="text" name="nzbgetPort"/> | ||||
|             <span class="help-inline"> | ||||
|                 <i class="icon-question-sign" title="Port for the NZBGet Web Interface"></i> | ||||
|             </span> | ||||
| @@ -206,8 +224,9 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">API Key</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <input type="text" name="nzbgetApiKey" /> | ||||
|             <input type="text" name="nzbgetApiKey"/> | ||||
|             <span class="help-inline"> | ||||
|                 <i class="icon-question-sign" title="API Key for NZBGet<br/>Found in Config -> General"></i> | ||||
|             </span> | ||||
| @@ -216,8 +235,9 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Username</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <input type="text" name="nzbgetUsername" /> | ||||
|             <input type="text" name="nzbgetUsername"/> | ||||
|             <span class="help-inline"> | ||||
|                 <i class="icon-question-sign" title="Username for the NZBGet web interface"></i> | ||||
|             </span> | ||||
| @@ -226,8 +246,9 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Password</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <input type="password" name="nzbgetPassword" /> | ||||
|             <input type="password" name="nzbgetPassword"/> | ||||
|             <span class="help-inline"> | ||||
|                 <i class="icon-question-sign" title="Password for the NZBGet web interface"></i> | ||||
|             </span> | ||||
| @@ -236,8 +257,9 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">TV Category</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <input type="text" name="nzbgetTvCategory" /> | ||||
|             <input type="text" name="nzbgetTvCategory"/> | ||||
|             <span class="help-inline"> | ||||
|                 <i class="icon-question-sign" title="Category to use when sending NZBs to NZBGet"></i> | ||||
|             </span> | ||||
| @@ -246,6 +268,7 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Backlog Priority</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <select name="nzbgetBacklogTvPriority"> | ||||
|                 <option>Default</option> | ||||
| @@ -263,6 +286,7 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Recent Priority</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <select name="nzbgetRecentTvPriority"> | ||||
|                 <option>Default</option> | ||||
| @@ -280,8 +304,9 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Test</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <input type="button" value="Test" class="btn btn-inverse" /> | ||||
|             <input type="button" value="Test" class="btn btn-inverse"/> | ||||
|             <span class="help-inline"> | ||||
|                 <i class="icon-question-sign" title="Test NZBGet settings"></i> | ||||
|             </span> | ||||
|   | ||||
| @@ -1,17 +1,17 @@ | ||||
| 'use strict'; | ||||
|  | ||||
| define([ | ||||
|         'app', 'Settings/SettingsModel' | ||||
|     'app', 'Settings/SettingsModel' | ||||
|  | ||||
| ], function () { | ||||
|  | ||||
|     NzbDrone.Settings.DownloadClient.DownloadClientView = Backbone.Marionette.ItemView.extend({ | ||||
|         template: 'Settings/DownloadClient/DownloadClientTemplate', | ||||
|         template : 'Settings/DownloadClient/DownloadClientTemplate', | ||||
|         className: 'form-horizontal', | ||||
|  | ||||
|         ui: { | ||||
|             switch: '.switch', | ||||
|             tooltip: '[class^="help-inline"] i', | ||||
|             switch   : '.switch', | ||||
|             tooltip  : '[class^="help-inline"] i', | ||||
|             pathInput: '.x-path' | ||||
|         }, | ||||
|  | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| 'use strict'; | ||||
|  | ||||
| define([ | ||||
|         'app', 'Settings/SettingsModel' | ||||
|     'app', 'Settings/SettingsModel' | ||||
|  | ||||
| ], function () { | ||||
|  | ||||
|   | ||||
| @@ -3,9 +3,10 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Backlog Searching</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <div class="switch"> | ||||
|                 <input type="checkbox" name="enableBacklogSearching" /> | ||||
|                 <input type="checkbox" name="enableBacklogSearching"/> | ||||
|             </div> | ||||
|             <span class="help-inline-checkbox"> | ||||
|                 <i class="icon-question-sign" title="Should NzbDrone try to download missing episodes automatically?"></i> | ||||
| @@ -17,9 +18,10 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Ignore Deleted Episodes</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <div class="switch"> | ||||
|                 <input type="checkbox" name="autoIgnorePreviouslyDownloadedEpisodes" /> | ||||
|                 <input type="checkbox" name="autoIgnorePreviouslyDownloadedEpisodes"/> | ||||
|             </div> | ||||
|             <span class="help-inline-checkbox"> | ||||
|                 <i class="icon-question-sign" title="Episodes deleted from disk are automatically ignored in NzbDrone"></i> | ||||
| @@ -29,6 +31,7 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Nzb Restrictions</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <textarea rows="3" name="nzbRestrictions" class="nzb-restrictions"></textarea> | ||||
|             <span class="help-inline"> | ||||
|   | ||||
| @@ -1,16 +1,16 @@ | ||||
| 'use strict'; | ||||
|  | ||||
| define([ | ||||
|         'app', 'Settings/SettingsModel' | ||||
|     'app', 'Settings/SettingsModel' | ||||
|  | ||||
| ], function () { | ||||
|  | ||||
|     NzbDrone.Settings.Misc.MiscView = Backbone.Marionette.ItemView.extend({ | ||||
|         template: 'Settings/Misc/MiscTemplate', | ||||
|         template : 'Settings/Misc/MiscTemplate', | ||||
|         className: 'form-horizontal', | ||||
|  | ||||
|         ui: { | ||||
|             switch: '.switch', | ||||
|             switch : '.switch', | ||||
|             tooltip: '[class^="help-inline"] i' | ||||
|         }, | ||||
|  | ||||
|   | ||||
| @@ -3,9 +3,10 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Use Scene Name</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <div class="switch"> | ||||
|                 <input type="checkbox" name="sortingUseSceneName" /> | ||||
|                 <input type="checkbox" name="sortingUseSceneName"/> | ||||
|             </div> | ||||
|             <span class="help-inline-checkbox"> | ||||
|                 <i class="icon-question-sign" title="Use the scene name, ignoring all other naming settings"></i> | ||||
| @@ -15,9 +16,10 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Series Name</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <div class="switch"> | ||||
|                 <input type="checkbox" name="sortingIncludeSeriesName" /> | ||||
|                 <input type="checkbox" name="sortingIncludeSeriesName"/> | ||||
|             </div> | ||||
|             <span class="help-inline-checkbox"> | ||||
|                 <i class="icon-question-sign" title="Should filenames contain the series name when renamed?"></i> | ||||
| @@ -27,9 +29,10 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Episode Name</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <div class="switch"> | ||||
|                 <input type="checkbox" name="sortingIncludeEpisodeTitle" /> | ||||
|                 <input type="checkbox" name="sortingIncludeEpisodeTitle"/> | ||||
|             </div> | ||||
|             <span class="help-inline-checkbox"> | ||||
|                 <i class="icon-question-sign" title="Should filenames contain the episode name when renamed?"></i> | ||||
| @@ -39,9 +42,10 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Replace Spaces</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <div class="switch"> | ||||
|                 <input type="checkbox" name="sortingReplaceSpaces" /> | ||||
|                 <input type="checkbox" name="sortingReplaceSpaces"/> | ||||
|             </div> | ||||
|             <span class="help-inline-checkbox"> | ||||
|                 <i class="icon-question-sign" title="Do you want to replace spaces in the filename with periods?"></i> | ||||
| @@ -50,23 +54,25 @@ | ||||
|     </div> | ||||
|  | ||||
|     <div class="control-group"> | ||||
|     <label class="control-label">Append Quality</label> | ||||
|     <div class="controls"> | ||||
|         <div class="switch"> | ||||
|             <input type="checkbox" name="sortingAppendQuality" /> | ||||
|         </div> | ||||
|         <label class="control-label">Append Quality</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <div class="switch"> | ||||
|                 <input type="checkbox" name="sortingAppendQuality"/> | ||||
|             </div> | ||||
|         <span class="help-inline-checkbox"> | ||||
|                 <i class="icon-question-sign" title="Should filenames have the quality appended to the end?"></i> | ||||
|             </span> | ||||
|  | ||||
|         </div> | ||||
|     </div> | ||||
| </div> | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Use Scene Folders</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <div class="switch"> | ||||
|                 <input type="checkbox" name="useSeasonFolder" /> | ||||
|                 <input type="checkbox" name="useSeasonFolder"/> | ||||
|             </div> | ||||
|             <span class="help-inline-checkbox"> | ||||
|                 <i class="icon-question-sign" title="Should files be stored in season folders by default? (Applied only when a series is added)"></i> | ||||
| @@ -77,8 +83,9 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Season Folder Format</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <input type="text" placeholder="Season %s" name="sortingSeasonFolderFormat" /> | ||||
|             <input type="text" placeholder="Season %s" name="sortingSeasonFolderFormat"/> | ||||
|             <span class="help-inline"> | ||||
|                 <i class="icon-question-sign" title="How should season folders be named? (Use %0s to pad to two digits)"></i> | ||||
|             </span> | ||||
| @@ -87,6 +94,7 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Separator Style</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <select class="inputClass x-backlog-setting" name="sortingSeparatorStyle"> | ||||
|                 <option value="0">Dash</option> | ||||
| @@ -101,6 +109,7 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Numbering Style</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <select class="inputClass x-backlog-setting" name="sortingNumberStyle"> | ||||
|                 <option value="0">1x05</option> | ||||
| @@ -116,6 +125,7 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Multi-Episode Style</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <select class="inputClass x-backlog-setting" name="sortingMultiEpisodeStyle"> | ||||
|                 <option value="0">Extend</option> | ||||
| @@ -135,9 +145,10 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">XBMC</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <div class="switch"> | ||||
|                 <input type="checkbox" name="metadataXbmcEnabled" /> | ||||
|                 <input type="checkbox" name="metadataXbmcEnabled"/> | ||||
|             </div> | ||||
|             <span class="help-inline-checkbox"> | ||||
|                 <i class="icon-question-sign" title="Enable creating metadata for XBMC"></i> | ||||
| @@ -147,9 +158,10 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Use Banners</label> | ||||
|  | ||||
|         <div class="controls"> | ||||
|             <div class="switch"> | ||||
|                 <input type="checkbox" name="metadataUseBanners" /> | ||||
|                 <input type="checkbox" name="metadataUseBanners"/> | ||||
|             </div> | ||||
|             <span class="help-inline-checkbox"> | ||||
|                 <i class="icon-question-sign" title="Use banners instead of posters?"></i> | ||||
|   | ||||
| @@ -1,20 +1,20 @@ | ||||
| 'use strict'; | ||||
|  | ||||
| define([ | ||||
|         'app', 'Settings/SettingsModel' | ||||
|     'app', 'Settings/SettingsModel' | ||||
|  | ||||
| ], function () { | ||||
|  | ||||
|     NzbDrone.Settings.Naming.NamingView = Backbone.Marionette.ItemView.extend({ | ||||
|         template: 'Settings/Naming/NamingTemplate', | ||||
|         template : 'Settings/Naming/NamingTemplate', | ||||
|         className: 'form-horizontal', | ||||
|  | ||||
|         ui: { | ||||
|             switch: '.switch', | ||||
|             switch : '.switch', | ||||
|             tooltip: '[class^="help-inline"] i' | ||||
|         }, | ||||
|  | ||||
|         initialize: function(){ | ||||
|         initialize: function () { | ||||
|             //Listen to save event | ||||
|         }, | ||||
|  | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| 'use strict'; | ||||
|  | ||||
| define([ | ||||
|         'app', 'Settings/SettingsModel' | ||||
|     'app', 'Settings/SettingsModel' | ||||
|  | ||||
| ], function () { | ||||
|  | ||||
|   | ||||
| @@ -7,6 +7,7 @@ | ||||
|  | ||||
|         <div class="control-group"> | ||||
|             <label class="control-label">Name</label> | ||||
|  | ||||
|             <div class="controls"> | ||||
|                 <input type="text" name="name"> | ||||
|                 <span class="help-inline"> | ||||
| @@ -17,11 +18,12 @@ | ||||
|  | ||||
|         <div class="control-group"> | ||||
|             <label class="control-label">Cutoff</label> | ||||
|  | ||||
|             <div class="controls"> | ||||
|  | ||||
|                 <select class="x-cutoff" name="cutoff"> | ||||
|                     {{#each allowed}} | ||||
|                     <option value="{{id}}">{{name}}</option> | ||||
|                         <option value="{{id}}">{{name}}</option> | ||||
|                     {{/each}} | ||||
|                 </select> | ||||
|                 <span class="help-inline"> | ||||
| @@ -35,20 +37,20 @@ | ||||
|         {{#each qualities}} | ||||
|             <div class="control-group"> | ||||
|                 <label class="control-label">{{name}}</label> | ||||
|  | ||||
|                 <div class="controls"> | ||||
|                     <div class="switch" data-on-label="Yes" data-off-label="No"> | ||||
|                         <input type="checkbox" name="allowed" /> | ||||
|                         <input type="checkbox" name="allowed"/> | ||||
|                     </div> | ||||
|                 </div> | ||||
|             </div> | ||||
|         {{/each}} | ||||
|  | ||||
|  | ||||
|  | ||||
|     </div> | ||||
| </div> | ||||
| <div class="modal-footer"> | ||||
|     <button class="btn btn-danger pull-left x-remove" >delete</button> | ||||
|     <button class="btn btn-danger pull-left x-remove">delete</button> | ||||
|     <button class="btn" data-dismiss="modal">cancel</button> | ||||
|     <button class="btn btn-primary x-save">save</button> | ||||
| </div> | ||||
| @@ -2,8 +2,8 @@ | ||||
| define(['app', 'Quality/QualityProfileModel'], function () { | ||||
|  | ||||
|     NzbDrone.Settings.Quality.Profile.EditQualityProfileView = Backbone.Marionette.ItemView.extend({ | ||||
|         template: 'Settings/Quality/Profile/EditQualityProfileTemplate', | ||||
|         tagName: 'div', | ||||
|         template : 'Settings/Quality/Profile/EditQualityProfileTemplate', | ||||
|         tagName  : 'div', | ||||
|         className: "modal", | ||||
|  | ||||
|         ui: { | ||||
| @@ -29,10 +29,10 @@ define(['app', 'Quality/QualityProfileModel'], function () { | ||||
|             this.$el.parent().modal('hide'); | ||||
|         }, | ||||
|  | ||||
| //        removeSeries: function () { | ||||
| //            var view = new NzbDrone.Series.Delete.DeleteSeriesView({ model: this.model }); | ||||
| //            NzbDrone.modalRegion.show(view); | ||||
| //        } | ||||
|         //        removeSeries: function () { | ||||
|         //            var view = new NzbDrone.Series.Delete.DeleteSeriesView({ model: this.model }); | ||||
|         //            NzbDrone.modalRegion.show(view); | ||||
|         //        } | ||||
|     }); | ||||
|  | ||||
| }); | ||||
| @@ -2,12 +2,12 @@ | ||||
|     <legend>Quality Profiles</legend> | ||||
|     <table class="table table-hover"> | ||||
|         <thead> | ||||
|             <tr> | ||||
|                 <th>Name</th> | ||||
|                 <th>Allowed</th> | ||||
|                 <th>Cutoff</th> | ||||
|                 <th>Controls</th> | ||||
|             </tr> | ||||
|         <tr> | ||||
|             <th>Name</th> | ||||
|             <th>Allowed</th> | ||||
|             <th>Cutoff</th> | ||||
|             <th>Controls</th> | ||||
|         </tr> | ||||
|         </thead> | ||||
|         <tbody></tbody> | ||||
|     </table> | ||||
|   | ||||
| @@ -2,19 +2,18 @@ | ||||
|  | ||||
| define(['app', 'Settings/Quality/Profile/QualityProfileView'], function (app) { | ||||
|     NzbDrone.Settings.Quality.Profile.QualityProfileCollectionView = Backbone.Marionette.CompositeView.extend({ | ||||
|         itemView: NzbDrone.Settings.Quality.Profile.QualityProfileView, | ||||
|         itemView         : NzbDrone.Settings.Quality.Profile.QualityProfileView, | ||||
|         itemViewContainer: 'tbody', | ||||
|         template: 'Settings/Quality/Profile/QualityProfileCollectionTemplate', | ||||
|         template         : 'Settings/Quality/Profile/QualityProfileCollectionTemplate', | ||||
|  | ||||
|         initialize: function (options) { | ||||
|         }, | ||||
|  | ||||
|         ui:{ | ||||
|         ui: { | ||||
|  | ||||
|         }, | ||||
|  | ||||
|         onCompositeCollectionRendered: function() | ||||
|         { | ||||
|         onCompositeCollectionRendered: function () { | ||||
|  | ||||
|         } | ||||
|     }); | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| <td name="name"></td> | ||||
| <td> | ||||
|     {{#each allowed}} | ||||
|     {{name}} |  | ||||
|         {{name}} | | ||||
|     {{/each}} | ||||
| </td> | ||||
| <td name="cutoffName"></td> | ||||
|   | ||||
| @@ -1,22 +1,22 @@ | ||||
| 'use strict'; | ||||
|  | ||||
| define([ | ||||
|         'app', | ||||
|         'Quality/QualityProfileCollection', | ||||
|         'Settings/Quality/Profile/EditQualityProfileView' | ||||
|     'app', | ||||
|     'Quality/QualityProfileCollection', | ||||
|     'Settings/Quality/Profile/EditQualityProfileView' | ||||
|  | ||||
| ], function () { | ||||
|  | ||||
|     NzbDrone.Settings.Quality.Profile.QualityProfileView = Backbone.Marionette.ItemView.extend({ | ||||
|         template: 'Settings/Quality/Profile/QualityProfileTemplate', | ||||
|         tagName: 'tr', | ||||
|         tagName : 'tr', | ||||
|  | ||||
|         ui: { | ||||
|             'progressbar': '.progress .bar' | ||||
|         }, | ||||
|  | ||||
|         events: { | ||||
|             'click .x-edit': 'editSeries', | ||||
|             'click .x-edit'  : 'editSeries', | ||||
|             'click .x-remove': 'removeSeries' | ||||
|         }, | ||||
|  | ||||
|   | ||||
| @@ -12,8 +12,8 @@ | ||||
|  | ||||
|             regions: { | ||||
|                 qualityStandard: '#quality-standard', | ||||
|                 qualityProfile: '#quality-profile', | ||||
|                 qualitySize: '#quality-size' | ||||
|                 qualityProfile : '#quality-profile', | ||||
|                 qualitySize    : '#quality-size' | ||||
|             }, | ||||
|  | ||||
|             ui: { | ||||
|   | ||||
| @@ -1,14 +1,14 @@ | ||||
|  | ||||
|     <div class="control-group"> | ||||
|         <label class="control-label">Default Quality Profile</label> | ||||
|         <div class="controls"> | ||||
|             <select class="x-quality-profile" name="qualityProfileId"> | ||||
|                 {{#each qualityProfiles.models}} | ||||
| <div class="control-group"> | ||||
|     <label class="control-label">Default Quality Profile</label> | ||||
|  | ||||
|     <div class="controls"> | ||||
|         <select class="x-quality-profile" name="qualityProfileId"> | ||||
|             {{#each qualityProfiles.models}} | ||||
|                 <option value="{{id}}">{{attributes.name}}</option> | ||||
|                 {{/each}} | ||||
|             </select> | ||||
|             {{/each}} | ||||
|         </select> | ||||
|             <span class="help-inline"> | ||||
|                 <i class="icon-question-sign" title="The default quality to use when adding series to NzbDrone "></i> | ||||
|             </span> | ||||
|         </div> | ||||
|     </div> | ||||
| </div> | ||||
|   | ||||
| @@ -1,15 +1,15 @@ | ||||
| 'use strict'; | ||||
|  | ||||
| define([ | ||||
|         'app', 'Settings/SettingsModel' | ||||
|     'app', 'Settings/SettingsModel' | ||||
|  | ||||
| ], function () { | ||||
|  | ||||
|     NzbDrone.Settings.Quality.QualityView = Backbone.Marionette.ItemView.extend({ | ||||
|         template: 'Settings/Quality/QualityTemplate', | ||||
|         template : 'Settings/Quality/QualityTemplate', | ||||
|         className: 'form-horizontal', | ||||
|  | ||||
|         initialize: function(options) { | ||||
|         initialize: function (options) { | ||||
|             this.qualityProfileCollection = options.qualityProfiles; | ||||
|             this.model.set({ qualityProfiles: this.qualityProfileCollection }); | ||||
|         }, | ||||
|   | ||||
| @@ -2,20 +2,19 @@ | ||||
|  | ||||
| define(['app', 'Settings/Quality/Size/QualitySizeView'], function (app) { | ||||
|     NzbDrone.Settings.Quality.Size.QualitySizeCollectionView = Backbone.Marionette.CompositeView.extend({ | ||||
|         itemView: NzbDrone.Settings.Quality.Size.QualitySizeView, | ||||
|         itemView         : NzbDrone.Settings.Quality.Size.QualitySizeView, | ||||
|         itemViewContainer: '#quality-sizes-container', | ||||
|         template: 'Settings/Quality/Size/QualitySizeCollectionTemplate', | ||||
|         template         : 'Settings/Quality/Size/QualitySizeCollectionTemplate', | ||||
|  | ||||
|         initialize: function () { | ||||
|             var test = 1; | ||||
|         }, | ||||
|  | ||||
|         ui:{ | ||||
|         ui: { | ||||
|  | ||||
|         }, | ||||
|  | ||||
|         onCompositeCollectionRendered: function() | ||||
|         { | ||||
|         onCompositeCollectionRendered: function () { | ||||
|  | ||||
|         } | ||||
|     }); | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <b>{{name}}</b> | ||||
| <div class="quality-slider-container"> | ||||
|     <input type="text" class="span4 slider" /> | ||||
|     <input type="text" class="span4 slider"/> | ||||
| </div> | ||||
| 30 minute size: <span name="thirtyMinuteSize" class="thirty-minute-size"></span>MB | 60 minute size: <span name="sixtyMinuteSize" class="sixty-minute-size"></span>MB | ||||
| @@ -1,19 +1,19 @@ | ||||
| 'use strict'; | ||||
|  | ||||
| define([ | ||||
|         'app', | ||||
|         'Quality/QualitySizeCollection' | ||||
|     'app', | ||||
|     'Quality/QualitySizeCollection' | ||||
|  | ||||
| ], function () { | ||||
|  | ||||
|     NzbDrone.Settings.Quality.Size.QualitySizeView = Backbone.Marionette.ItemView.extend({ | ||||
|         template: 'Settings/Quality/Size/QualitySizeTemplate', | ||||
|         template : 'Settings/Quality/Size/QualitySizeTemplate', | ||||
|         className: 'quality-size-item', | ||||
|  | ||||
|         ui: { | ||||
|             slider: '.slider', | ||||
|             slider          : '.slider', | ||||
|             thirtyMinuteSize: '.thirty-minute-size', | ||||
|             sixtyMinuteSize: '.sixty-minute-size' | ||||
|             sixtyMinuteSize : '.sixty-minute-size' | ||||
|         }, | ||||
|  | ||||
|         events: { | ||||
| @@ -29,10 +29,10 @@ define([ | ||||
|  | ||||
|             var self = this; | ||||
|             this.ui.slider.slider({ | ||||
|                 min: 0, | ||||
|                 max: 200, | ||||
|                 step: 1, | ||||
|                 value: self.model.get('maxSize'), | ||||
|                 min    : 0, | ||||
|                 max    : 200, | ||||
|                 step   : 1, | ||||
|                 value  : self.model.get('maxSize'), | ||||
|                 tooltip: 'hide' | ||||
|             }); | ||||
|         }, | ||||
|   | ||||
| @@ -13,34 +13,34 @@ | ||||
|             template: 'Settings/SettingsLayoutTemplate', | ||||
|  | ||||
|             regions: { | ||||
|                 naming: '#naming', | ||||
|                 quality: '#quality', | ||||
|                 indexers: '#indexers', | ||||
|                 naming        : '#naming', | ||||
|                 quality       : '#quality', | ||||
|                 indexers      : '#indexers', | ||||
|                 downloadClient: '#download-client', | ||||
|                 notifications: '#notifications', | ||||
|                 system: '#system', | ||||
|                 misc: '#misc' | ||||
|                 notifications : '#notifications', | ||||
|                 system        : '#system', | ||||
|                 misc          : '#misc' | ||||
|             }, | ||||
|  | ||||
|             ui: { | ||||
|                 namingTab: '.x-naming-tab', | ||||
|                 qualityTab: '.x-quality-tab', | ||||
|                 indexersTab: '.x-indexers-tab', | ||||
|                 namingTab        : '.x-naming-tab', | ||||
|                 qualityTab       : '.x-quality-tab', | ||||
|                 indexersTab      : '.x-indexers-tab', | ||||
|                 downloadClientTab: '.x-download-client-tab', | ||||
|                 notificationsTab: '.x-notifications-tab', | ||||
|                 systemTab: '.x-system-tab', | ||||
|                 miscTab: '.x-misc-tab' | ||||
|                 notificationsTab : '.x-notifications-tab', | ||||
|                 systemTab        : '.x-system-tab', | ||||
|                 miscTab          : '.x-misc-tab' | ||||
|             }, | ||||
|  | ||||
|             events: { | ||||
|                 'click .x-naming-tab': 'showNaming', | ||||
|                 'click .x-quality-tab': 'showQuality', | ||||
|                 'click .x-indexers-tab': 'showIndexers', | ||||
|                 'click .x-naming-tab'         : 'showNaming', | ||||
|                 'click .x-quality-tab'        : 'showQuality', | ||||
|                 'click .x-indexers-tab'       : 'showIndexers', | ||||
|                 'click .x-download-client-tab': 'showDownloadClient', | ||||
|                 'click .x-notifications-tab': 'showNotifications', | ||||
|                 'click .x-system-tab': 'showSystem', | ||||
|                 'click .x-misc-tab': 'showMisc', | ||||
|                 'click .x-save-settings': 'save' | ||||
|                 'click .x-notifications-tab'  : 'showNotifications', | ||||
|                 'click .x-system-tab'         : 'showSystem', | ||||
|                 'click .x-misc-tab'           : 'showMisc', | ||||
|                 'click .x-save-settings'      : 'save' | ||||
|             }, | ||||
|  | ||||
|             showNaming: function (e) { | ||||
|   | ||||
| @@ -1,11 +1,11 @@ | ||||
| <ul class="nav nav-tabs" id="myTab"> | ||||
|     <li><a href="#naming" class="x-naming-tab">Naming</a></li> | ||||
|     <li><a href="#quality" class="x-quality-tab">Quality</a></li> | ||||
|     <li><a href="#indexers" class ="x-indexers-tab">Indexers</a></li> | ||||
|     <li><a href="#download-client" class ="x-download-client-tab">Download Client</a></li> | ||||
|     <li><a href="#notifications" class ="x-notifications-tab">Notifications</a></li> | ||||
|     <li><a href="#system" class ="x-system-tab">System</a></li> | ||||
|     <li><a href="#misc" class ="x-misc-tab">Misc</a></li> | ||||
|     <li><a href="#indexers" class="x-indexers-tab">Indexers</a></li> | ||||
|     <li><a href="#download-client" class="x-download-client-tab">Download Client</a></li> | ||||
|     <li><a href="#notifications" class="x-notifications-tab">Notifications</a></li> | ||||
|     <li><a href="#system" class="x-system-tab">System</a></li> | ||||
|     <li><a href="#misc" class="x-misc-tab">Misc</a></li> | ||||
| </ul> | ||||
|  | ||||
| <div class="tab-content"> | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| 'use strict'; | ||||
|  | ||||
| define([ | ||||
|         'app', 'Settings/SettingsModel' | ||||
|     'app', 'Settings/SettingsModel' | ||||
|  | ||||
| ], function () { | ||||
|  | ||||
|   | ||||
| @@ -1,3 +1,3 @@ | ||||
| <div> | ||||
|     <img src="/static/content/images/404.png" style="height:400px; margin-top: 50px" /> | ||||
|     <img src="/static/content/images/404.png" style="height:400px; margin-top: 50px"/> | ||||
| </div> | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| "use strict"; | ||||
| define(['app'],function () { | ||||
| define(['app'], function () { | ||||
|     NzbDrone.Shared.NotFoundView = Backbone.Marionette.ItemView.extend({ | ||||
|         template: 'Shared/notfoundtemplate' | ||||
|     }); | ||||
|   | ||||
| @@ -3,15 +3,15 @@ | ||||
|     var collection = Backbone.Collection.extend({ | ||||
|  | ||||
|         model: NzbDrone.Shared.NotificationModel, | ||||
|          | ||||
|  | ||||
|         initialize: function () { | ||||
|  | ||||
|           /*  var model = new NzbDrone.Shared.NotificationModel(); | ||||
|             model.set('title','test notification'); | ||||
|             model.set('message','test message'); | ||||
|             model.set('level', 'error'); | ||||
|             this.push(model); | ||||
|           */ | ||||
|             /*  var model = new NzbDrone.Shared.NotificationModel(); | ||||
|              model.set('title','test notification'); | ||||
|              model.set('message','test message'); | ||||
|              model.set('level', 'error'); | ||||
|              this.push(model); | ||||
|              */ | ||||
|  | ||||
|             var self = this; | ||||
|  | ||||
|   | ||||
| @@ -1,17 +1,17 @@ | ||||
| define(['app'], function () { | ||||
|  | ||||
|     NzbDrone.Shared.NotificationModel = Backbone.Model.extend({ | ||||
|         mutators:{ | ||||
|         mutators: { | ||||
|  | ||||
|             preFormattedMessage:function () { | ||||
|             preFormattedMessage: function () { | ||||
|                 return  this.get('message').replace(/\\r\\n/g, '<br>'); | ||||
|             }, | ||||
|  | ||||
|             isPreFormatted:function () { | ||||
|             isPreFormatted: function () { | ||||
|                 return this.get('message').indexOf('\\r\\n') !== -1; | ||||
|             }, | ||||
|  | ||||
|             iconClass:function () { | ||||
|             iconClass: function () { | ||||
|  | ||||
|                 if (this.has('icon')) { | ||||
|                     return 'icon'; | ||||
| @@ -29,10 +29,10 @@ | ||||
|             } | ||||
|         }, | ||||
|  | ||||
|         defaults:{ | ||||
|             "level":'info', | ||||
|             "title":'', | ||||
|             "message":'' | ||||
|         defaults: { | ||||
|             "level"  : 'info', | ||||
|             "title"  : '', | ||||
|             "message": '' | ||||
|         } | ||||
|     }); | ||||
| }); | ||||
| @@ -1,10 +1,10 @@ | ||||
| <div class="alert alert-{{level}}"> | ||||
|     <button type="button" class="close x-close icon-remove-sign"></button> | ||||
|     <i class="{{iconClass}}" /><strong>{{title}}</strong> | ||||
|     <i class="{{iconClass}}"/><strong>{{title}}</strong> | ||||
|     {{#if isPreFormatted}} | ||||
|     <pre>{{{preFormattedMessage}}}</pre> | ||||
|         <pre>{{{preFormattedMessage}}}</pre> | ||||
|     {{else}} | ||||
|     {{message}} | ||||
|         {{message}} | ||||
|     {{/if}} | ||||
|  | ||||
|     </div> | ||||
| </div> | ||||
| @@ -16,8 +16,8 @@ define(['app', 'Shared/NotificationCollection'], function (app, notificationColl | ||||
|             $.Deferred(function () { | ||||
|                 self.$el.slideUp('slow'); | ||||
|             }).done(function () { | ||||
|                 self.model.destroy(); | ||||
|             }); | ||||
|                     self.model.destroy(); | ||||
|                 }); | ||||
|         } | ||||
|     }); | ||||
|  | ||||
| @@ -34,7 +34,7 @@ define(['app', 'Shared/NotificationCollection'], function (app, notificationColl | ||||
|         console.log('initializing notification view'); | ||||
|         NzbDrone.notificationRegion.show(new collectionView()); | ||||
|     }); | ||||
|      | ||||
|  | ||||
| }); | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| define(['app'],function () { | ||||
| define(['app'], function () { | ||||
|     NzbDrone.Shared.SpinnerView = Backbone.Marionette.ItemView.extend({ | ||||
|         template: 'Shared/SpinnerTemplate', | ||||
|         template : 'Shared/SpinnerTemplate', | ||||
|         className: 'nz-spinner row' | ||||
|     }); | ||||
| }); | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| define(['app', 'Upcoming/UpcomingModel'], function () { | ||||
|     NzbDrone.Upcoming.UpcomingCollection = Backbone.Collection.extend({ | ||||
|         url: NzbDrone.Constants.ApiRoot + '/upcoming', | ||||
|         url  : NzbDrone.Constants.ApiRoot + '/upcoming', | ||||
|         model: NzbDrone.Upcoming.UpcomingModel | ||||
|     }); | ||||
| }); | ||||
| @@ -1,24 +1,24 @@ | ||||
| <table class="table table-striped"> | ||||
|     <thead> | ||||
|         <tr> | ||||
|             <th>Series Title</th> | ||||
|             <th>Episode</th> | ||||
|             <th>Episode Title</th> | ||||
|             <th>Air Time</th> | ||||
|             <th>Status</th> | ||||
|         </tr> | ||||
|     <tr> | ||||
|         <th>Series Title</th> | ||||
|         <th>Episode</th> | ||||
|         <th>Episode Title</th> | ||||
|         <th>Air Time</th> | ||||
|         <th>Status</th> | ||||
|     </tr> | ||||
|     </thead> | ||||
|  | ||||
|     <tbody id="yesterday"> | ||||
|         <tr> | ||||
|             <td colspan="5">Yesterday</td> | ||||
|         </tr> | ||||
|     <tr> | ||||
|         <td colspan="5">Yesterday</td> | ||||
|     </tr> | ||||
|     </tbody> | ||||
|  | ||||
|     <tbody id="today"> | ||||
|         <tr> | ||||
|             <td colspan="5">Today</td> | ||||
|         </tr> | ||||
|     <tr> | ||||
|         <td colspan="5">Today</td> | ||||
|     </tr> | ||||
|     </tbody> | ||||
|  | ||||
|     <tbody id="tomorrow"> | ||||
|   | ||||
| @@ -2,20 +2,20 @@ | ||||
|  | ||||
| define(['app', 'Upcoming/UpcomingItemView'], function (app) { | ||||
|     NzbDrone.Upcoming.UpcomingCollectionView = Backbone.Marionette.CompositeView.extend({ | ||||
|         itemView: NzbDrone.Upcoming.UpcomingItemView, | ||||
|         template: 'Upcoming/UpcomingCollectionTemplate', | ||||
|         itemView         : NzbDrone.Upcoming.UpcomingItemView, | ||||
|         template         : 'Upcoming/UpcomingCollectionTemplate', | ||||
|         itemViewContainer: 'table', | ||||
|  | ||||
|         ui: { | ||||
|             yesterday: 'tbody#yesterday', | ||||
|             today: 'tbody#today', | ||||
|             tomorrow: 'tbody#tomorrow', | ||||
|             two_days: 'tbody#two_days', | ||||
|             yesterday : 'tbody#yesterday', | ||||
|             today     : 'tbody#today', | ||||
|             tomorrow  : 'tbody#tomorrow', | ||||
|             two_days  : 'tbody#two_days', | ||||
|             three_days: 'tbody#three_days', | ||||
|             four_days: 'tbody#four_days', | ||||
|             five_days: 'tbody#five_days', | ||||
|             six_days: 'tbody#six_days', | ||||
|             later: 'tbody#later' | ||||
|             four_days : 'tbody#four_days', | ||||
|             five_days : 'tbody#five_days', | ||||
|             six_days  : 'tbody#six_days', | ||||
|             later     : 'tbody#later' | ||||
|         }, | ||||
|  | ||||
|         initialize: function () { | ||||
| @@ -23,7 +23,7 @@ define(['app', 'Upcoming/UpcomingItemView'], function (app) { | ||||
|             this.collection.fetch(); | ||||
|         }, | ||||
|  | ||||
|         serializeData: function() { | ||||
|         serializeData: function () { | ||||
|             var viewData = {}; | ||||
|             viewData.two_days = Date.create().addDays(2).format('{Weekday}'); | ||||
|             viewData.three_days = Date.create().addDays(3).format('{Weekday}'); | ||||
| @@ -33,45 +33,45 @@ define(['app', 'Upcoming/UpcomingItemView'], function (app) { | ||||
|             return viewData; | ||||
|         }, | ||||
|  | ||||
|         appendHtml: function(collectionView, itemView, index){ | ||||
|         appendHtml: function (collectionView, itemView, index) { | ||||
|             var date = Date.create(itemView.model.get('airTime')); | ||||
|  | ||||
|             if (date.isYesterday()){ | ||||
|             if (date.isYesterday()) { | ||||
|                 collectionView.$(this.ui.yesterday).append(itemView.el); | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             if (date.isToday()){ | ||||
|             if (date.isToday()) { | ||||
|                 collectionView.$(this.ui.today).append(itemView.el); | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             if (date.isTomorrow()){ | ||||
|             if (date.isTomorrow()) { | ||||
|                 collectionView.$(this.ui.tomorrow).append(itemView.el); | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             if (date.is(Date.create().addDays(2).short())){ | ||||
|             if (date.is(Date.create().addDays(2).short())) { | ||||
|                 collectionView.$(this.ui.two_days).append(itemView.el); | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             if (date.is(Date.create().addDays(3).short())){ | ||||
|             if (date.is(Date.create().addDays(3).short())) { | ||||
|                 collectionView.$(this.ui.three_days).append(itemView.el); | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             if (date.is(Date.create().addDays(4).short())){ | ||||
|             if (date.is(Date.create().addDays(4).short())) { | ||||
|                 collectionView.$(this.ui.four_days).append(itemView.el); | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             if (date.is(Date.create().addDays(5).short())){ | ||||
|             if (date.is(Date.create().addDays(5).short())) { | ||||
|                 collectionView.$(this.ui.five_days).append(itemView.el); | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             if (date.is(Date.create().addDays(6).short())){ | ||||
|             if (date.is(Date.create().addDays(6).short())) { | ||||
|                 collectionView.$(this.ui.six_days).append(itemView.el); | ||||
|                 return; | ||||
|             } | ||||
| @@ -81,8 +81,7 @@ define(['app', 'Upcoming/UpcomingItemView'], function (app) { | ||||
|             //if (date.isBefore(Date.create().addDays(7))) return date.format('{Weekday}'); | ||||
|         }, | ||||
|  | ||||
|         onCompositeCollectionRendered: function() | ||||
|         { | ||||
|         onCompositeCollectionRendered: function () { | ||||
|             //Might not need this :D | ||||
|         } | ||||
|     }); | ||||
|   | ||||
| @@ -1,13 +1,13 @@ | ||||
| 'use strict'; | ||||
|  | ||||
| define([ | ||||
|         'app', | ||||
|         'Upcoming/UpcomingCollection' | ||||
|     'app', | ||||
|     'Upcoming/UpcomingCollection' | ||||
|  | ||||
| ], function () { | ||||
|     NzbDrone.Upcoming.UpcomingItemView = Backbone.Marionette.ItemView.extend({ | ||||
|         template: 'Upcoming/UpcomingItemTemplate', | ||||
|         tagName: 'tr', | ||||
|         tagName : 'tr', | ||||
|  | ||||
|         onRender: function () { | ||||
|             NzbDrone.ModelBinder.bind(this.model, this.el); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user