client side code webstorm code cleanup.

This commit is contained in:
kay.one 2013-03-29 16:28:58 -07:00
parent 375f887539
commit 445ea4f344
94 changed files with 4355 additions and 4243 deletions

View file

@ -7,7 +7,7 @@
<option name="RIGHT_MARGIN" value="190" /> <option name="RIGHT_MARGIN" value="190" />
<option name="HTML_ALIGN_ATTRIBUTES" value="false" /> <option name="HTML_ALIGN_ATTRIBUTES" value="false" />
<CssCodeStyleSettings> <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" /> <option name="HEX_COLOR_LONG_FORMAT" value="true" />
</CssCodeStyleSettings> </CssCodeStyleSettings>
<JSCodeStyleSettings> <JSCodeStyleSettings>
@ -18,7 +18,6 @@
</XML> </XML>
<codeStyleSettings language="CSS"> <codeStyleSettings language="CSS">
<indentOptions> <indentOptions>
<option name="USE_TAB_CHARACTER" value="true" />
<option name="SMART_TABS" value="true" /> <option name="SMART_TABS" value="true" />
</indentOptions> </indentOptions>
</codeStyleSettings> </codeStyleSettings>

View file

@ -2,6 +2,7 @@
<profile version="1.0" is_locked="false"> <profile version="1.0" is_locked="false">
<option name="myName" value="Project Default" /> <option name="myName" value="Project Default" />
<option name="myLocal" value="false" /> <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" /> <inspection_tool class="JSHint" enabled="true" level="ERROR" enabled_by_default="true" />
</profile> </profile>
</component> </component>

2
UI/.idea/vcs.xml generated
View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="VcsDirectoryMappings"> <component name="VcsDirectoryMappings">
<mapping directory="" vcs="" /> <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component> </component>
</project> </project>

View file

@ -12,21 +12,21 @@ define([
template: 'AddSeries/addSeriesLayoutTemplate', template: 'AddSeries/addSeriesLayoutTemplate',
regions: { regions: {
addNew: '#add-new', addNew : '#add-new',
importExisting: '#import-existing', importExisting: '#import-existing',
rootFolders: '#root-folders' rootFolders : '#root-folders'
}, },
ui: { ui: {
addNewTab: '.x-add-new-tab', addNewTab : '.x-add-new-tab',
importExistingTab: '.x-import-existing-tab', importExistingTab: '.x-import-existing-tab',
rootFoldersTab: '.x-root-folders-tab' rootFoldersTab : '.x-root-folders-tab'
}, },
events: { events: {
'click .x-add-new-tab': 'showAddNew', 'click .x-add-new-tab' : 'showAddNew',
'click .x-import-existing-tab': 'showImport', 'click .x-import-existing-tab': 'showImport',
'click .x-root-folders-tab': 'showRootFolders' 'click .x-root-folders-tab' : 'showRootFolders'
}, },
showAddNew: function (e) { showAddNew: function (e) {

View file

@ -1,5 +1,5 @@
<div class="line row folder-match-result-view"> <div class="line row folder-match-result-view">
<div class="span6"> <div class="span6">
{{title}} {{seriesYear}} {{title}} {{seriesYear}}
</div> </div>

View file

@ -1,6 +1,7 @@
<div class="row"> <div class="row">
<div class="accordion result-list span12 existing-root-folder-view"> <div class="accordion result-list span12 existing-root-folder-view">
<h1>{{path}}</h1> <h1>{{path}}</h1>
<div class="x-existing-folder-container" />
<div class="x-existing-folder-container"/>
</div> </div>
</div> </div>

View file

@ -7,11 +7,12 @@
<option value="{{id}}">{{attributes.name}}</option> <option value="{{id}}">{{attributes.name}}</option>
{{/each}} {{/each}}
</select> </select>
<div class="btn btn-primary x-btn-search pull-right"> <div class="btn btn-primary x-btn-search pull-right">
<icon class="icon-search "></icon> <icon class="icon-search "></icon>
</div> </div>
<div class="row"> <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>
</div> </div>

View file

@ -6,6 +6,6 @@
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div id="search-result" class="result-list span12" /> <div id="search-result" class="result-list span12"/>
</div> </div>
</div> </div>

View file

@ -2,7 +2,7 @@
define(['app', 'AddSeries/RootFolders/RootFolderCollection', 'AddSeries/New/SearchResultView', 'Shared/SpinnerView'], function () { define(['app', 'AddSeries/RootFolders/RootFolderCollection', 'AddSeries/New/SearchResultView', 'Shared/SpinnerView'], function () {
NzbDrone.AddSeries.New.AddNewSeriesView = Backbone.Marionette.Layout.extend({ NzbDrone.AddSeries.New.AddNewSeriesView = Backbone.Marionette.Layout.extend({
template: 'AddSeries/New/AddNewSeriesTemplate', template: 'AddSeries/New/AddNewSeriesTemplate',
route: 'Series/add/new', route : 'Series/add/new',
ui: { ui: {
seriesSearch: '.search input' seriesSearch: '.search input'
@ -41,7 +41,7 @@ define(['app', 'AddSeries/RootFolders/RootFolderCollection', 'AddSeries/New/Sear
context.searchResult.show(new NzbDrone.Shared.SpinnerView()); context.searchResult.show(new NzbDrone.Shared.SpinnerView());
context.currentSearchRequest = context.collection.fetch({ context.currentSearchRequest = context.collection.fetch({
data: { term: term }, data : { term: term },
success: function () { success: function () {
context.searchResult.show(context.resultView); context.searchResult.show(context.resultView);
} }

View file

@ -7,14 +7,15 @@
<div class="accordion-inner"> <div class="accordion-inner">
<select class="span7 x-root-folder"> <select class="span7 x-root-folder">
{{#each rootFolders.models}} {{#each rootFolders.models}}
<option value="{{id}}">{{attributes.path}}</option> <option value="{{id}}">{{attributes.path}}</option>
{{/each}} {{/each}}
</select> </select>
<select class="span2 x-quality-profile"> <select class="span2 x-quality-profile">
{{#each qualityProfiles.models}} {{#each qualityProfiles.models}}
<option value="{{id}}">{{attributes.name}}</option> <option value="{{id}}">{{attributes.name}}</option>
{{/each}} {{/each}}
</select> </select>
<div class="btn btn-success pull-right icon-plus x-add"> <div class="btn btn-success pull-right icon-plus x-add">
</div> </div>
</div> </div>

View file

@ -3,13 +3,13 @@ define(['app', 'Shared/NotificationCollection', 'AddSeries/SearchResultCollectio
NzbDrone.AddSeries.New.SearchItemView = Backbone.Marionette.ItemView.extend({ NzbDrone.AddSeries.New.SearchItemView = Backbone.Marionette.ItemView.extend({
template: "AddSeries/New/SearchResultTemplate", template : "AddSeries/New/SearchResultTemplate",
className: 'search-item', className: 'search-item',
ui: { ui: {
qualityProfile: '.x-quality-profile', qualityProfile: '.x-quality-profile',
rootFolder: '.x-root-folder', rootFolder : '.x-root-folder',
addButton: '.x-add' addButton : '.x-add'
}, },
events: { events: {
@ -32,10 +32,10 @@ define(['app', 'Shared/NotificationCollection', 'AddSeries/SearchResultCollectio
var path = rootPath + "\\" + title; var path = rootPath + "\\" + title;
var model = new NzbDrone.Series.SeriesModel({ var model = new NzbDrone.Series.SeriesModel({
tvdbId: seriesId, tvdbId : seriesId,
title: title, title : title,
qualityProfileId: quality, qualityProfileId: quality,
path: path path : path
}); });
var self = this; var self = this;
@ -46,9 +46,9 @@ define(['app', 'Shared/NotificationCollection', 'AddSeries/SearchResultCollectio
model.save(undefined, { model.save(undefined, {
success: function () { success: function () {
var notificationModel = new NzbDrone.Shared.NotificationModel({ var notificationModel = new NzbDrone.Shared.NotificationModel({
title: 'Added', title : 'Added',
message: title, message: title,
level: 'success' level : 'success'
}); });
notificationCollection.push(notificationModel); notificationCollection.push(notificationModel);
@ -60,8 +60,8 @@ define(['app', 'Shared/NotificationCollection', 'AddSeries/SearchResultCollectio
NzbDrone.AddSeries.SearchResultView = Backbone.Marionette.CollectionView.extend({ NzbDrone.AddSeries.SearchResultView = Backbone.Marionette.CollectionView.extend({
itemView: NzbDrone.AddSeries.New.SearchItemView, itemView : NzbDrone.AddSeries.New.SearchItemView,
className: 'accordion', className : 'accordion',
initialize: function () { initialize: function () {
this.listenTo(this.collection, 'reset', this.render); this.listenTo(this.collection, 'reset', this.render);
} }

View file

@ -2,7 +2,7 @@
define(['app', 'AddSeries/RootFolders/RootFolderModel'], function () { define(['app', 'AddSeries/RootFolders/RootFolderModel'], function () {
var rootFolderCollection = Backbone.Collection.extend({ var rootFolderCollection = Backbone.Collection.extend({
url: NzbDrone.Constants.ApiRoot + '/rootfolder', url : NzbDrone.Constants.ApiRoot + '/rootfolder',
model: NzbDrone.AddSeries.RootFolders.RootFolderModel model: NzbDrone.AddSeries.RootFolders.RootFolderModel
}); });

View file

@ -2,7 +2,8 @@
<div class="input-prepend input-append nz-input-large x-path span10"> <div class="input-prepend input-append nz-input-large x-path span10">
<i class="add-on icon-folder-open"></i> <i class="add-on icon-folder-open"></i>
<input class="input-block-level" type="text" placeholder="Path of the folder to add ..."> <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>
<div class="span12 result-list" id="current-dirs" /> <div class="span12 result-list" id="current-dirs"/>
</div> </div>

View file

@ -1,11 +1,11 @@
"use strict"; "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({ NzbDrone.AddSeries.RootFolderItemView = Backbone.Marionette.ItemView.extend({
template: 'AddSeries/RootFolders/RootFolderItemTemplate', template: 'AddSeries/RootFolders/RootFolderItemTemplate',
tagName: 'tr', tagName : 'tr',
events: { events: {
'click .x-remove': 'removeFolder' 'click .x-remove': 'removeFolder'
@ -25,13 +25,13 @@ define(['app', 'AddSeries/RootFolders/RootFolderCollection', 'Mixins/AutoComplet
NzbDrone.AddSeries.RootDirListView = Backbone.Marionette.CollectionView.extend({ NzbDrone.AddSeries.RootDirListView = Backbone.Marionette.CollectionView.extend({
itemView: NzbDrone.AddSeries.RootFolderItemView, itemView: NzbDrone.AddSeries.RootFolderItemView,
tagName: 'table', tagName : 'table',
className: 'table table-hover' className: 'table table-hover'
}); });
NzbDrone.AddSeries.RootDirView = Backbone.Marionette.Layout.extend({ NzbDrone.AddSeries.RootDirView = Backbone.Marionette.Layout.extend({
template: 'AddSeries/RootFolders/RootFolderTemplate', template: 'AddSeries/RootFolders/RootFolderTemplate',
route: 'series/add/rootdir', route : 'series/add/rootdir',
ui: { ui: {
pathInput: '.x-path input' pathInput: '.x-path input'
@ -56,9 +56,9 @@ define(['app', 'AddSeries/RootFolders/RootFolderCollection', 'Mixins/AutoComplet
addFolder: function () { addFolder: function () {
var newDir = new NzbDrone.AddSeries.RootFolders.RootFolderModel( var newDir = new NzbDrone.AddSeries.RootFolders.RootFolderModel(
{ {
Path: this.ui.pathInput.val() Path: this.ui.pathInput.val()
}); });
var self = this; var self = this;

View file

@ -1,7 +1,7 @@
"use strict"; "use strict";
define(['app', 'AddSeries/SearchResultModel'], function () { define(['app', 'AddSeries/SearchResultModel'], function () {
NzbDrone.AddSeries.SearchResultCollection = Backbone.Collection.extend({ NzbDrone.AddSeries.SearchResultCollection = Backbone.Collection.extend({
url: NzbDrone.Constants.ApiRoot + '/series/lookup', url : NzbDrone.Constants.ApiRoot + '/series/lookup',
model: NzbDrone.AddSeries.SearchResultModel model: NzbDrone.AddSeries.SearchResultModel
}); });
}); });

View file

@ -1,25 +1,25 @@
define(['app', 'AddSeries/RootFolders/RootFolderCollection', 'Quality/QualityProfileCollection'], define(['app', 'AddSeries/RootFolders/RootFolderCollection', 'Quality/QualityProfileCollection'],
function (app, rootFolderCollection, qualityProfileCollection) { function (app, rootFolderCollection, qualityProfileCollection) {
NzbDrone.AddSeries.SearchResultModel = Backbone.Model.extend({ NzbDrone.AddSeries.SearchResultModel = Backbone.Model.extend({
mutators: { mutators: {
seriesYear: function () { seriesYear: function () {
var date = Date.utc.create(this.get('firstAired')).format('({yyyy})'); var date = Date.utc.create(this.get('firstAired')).format('({yyyy})');
//don't append year, if the series name already has the name appended. //don't append year, if the series name already has the name appended.
if (this.get('title').endsWith(date)) { if (this.get('title').endsWith(date)) {
return ""; return "";
} else { } else {
return date; return date;
}
} }
} },
},
defaults: { defaults: {
qualityProfiles: qualityProfileCollection, qualityProfiles: qualityProfileCollection,
rootFolders: rootFolderCollection rootFolders : rootFolderCollection
} }
});
}); });
});

View file

@ -4,7 +4,7 @@
<ul class="nav nav-tabs" id="myTab"> <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="#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="#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> </ul>
<div class="tab-content"> <div class="tab-content">
<div class="tab-pane" id="add-new">Add new series.</div> <div class="tab-pane" id="add-new">Add new series.</div>

View file

@ -1,8 +1,8 @@
define(['app', 'Calendar/CalendarModel'], function () { define(['app', 'Calendar/CalendarModel'], function () {
NzbDrone.Calendar.CalendarCollection = Backbone.Collection.extend({ NzbDrone.Calendar.CalendarCollection = Backbone.Collection.extend({
url: NzbDrone.Constants.ApiRoot + '/calendar', url : NzbDrone.Constants.ApiRoot + '/calendar',
model: NzbDrone.Calendar.CalendarModel, model : NzbDrone.Calendar.CalendarModel,
comparator: function(model) { comparator: function (model) {
return model.get('start'); return model.get('start');
} }
}); });

View file

@ -2,71 +2,71 @@
define(['app', 'Calendar/CalendarItemView'], function (app) { define(['app', 'Calendar/CalendarItemView'], function (app) {
NzbDrone.Calendar.CalendarCollectionView = Backbone.Marionette.CompositeView.extend({ NzbDrone.Calendar.CalendarCollectionView = Backbone.Marionette.CompositeView.extend({
itemView: NzbDrone.Calendar.CalendarItemView, itemView : NzbDrone.Calendar.CalendarItemView,
itemViewContainer: '#events', itemViewContainer: '#events',
template: 'Calendar/CalendarCollectionTemplate', template : 'Calendar/CalendarCollectionTemplate',
className: 'row', className : 'row',
ui: { ui: {
calendar: '#calendar' calendar: '#calendar'
}, },
initialize: function (context, action, query, collection) { initialize : function (context, action, query, collection) {
this.collection = collection; this.collection = collection;
this.calendar = new NzbDrone.Calendar.CalendarCollection(); this.calendar = new NzbDrone.Calendar.CalendarCollection();
}, },
onCompositeCollectionRendered: function() { onCompositeCollectionRendered: function () {
$(this.ui.calendar).fullCalendar({ $(this.ui.calendar).fullCalendar({
allDayDefault: false, allDayDefault : false,
ignoreTimezone: false, ignoreTimezone: false,
weekMode: 'variable', weekMode : 'variable',
timeFormat: 'h(:mm)tt', timeFormat : 'h(:mm)tt',
header: { header : {
left: 'prev,next today', left : 'prev,next today',
center: 'title', center: 'title',
right: 'month,basicWeek' right : 'month,basicWeek'
}, },
buttonText: { buttonText : {
prev: '<i class="icon-arrow-left"></i>', prev: '<i class="icon-arrow-left"></i>',
next: '<i class="icon-arrow-right"></i>' next: '<i class="icon-arrow-right"></i>'
}, },
events: this.getEvents, events : this.getEvents,
eventRender: function (event, element) { eventRender : function (event, element) {
$(element).addClass(event.statusLevel); $(element).addClass(event.statusLevel);
$(element).children('.fc-event-inner').addClass(event.statusLevel); $(element).children('.fc-event-inner').addClass(event.statusLevel);
element.popover({ element.popover({
title: '{seriesTitle} - {season}x{episode} - {episodeTitle}'.assign({ title : '{seriesTitle} - {season}x{episode} - {episodeTitle}'.assign({
seriesTitle: event.seriesTitle, seriesTitle : event.seriesTitle,
season: event.seasonNumber, season : event.seasonNumber,
episode: event.episodeNumber.pad(2), episode : event.episodeNumber.pad(2),
episodeTitle: event.episodeTitle episodeTitle: event.episodeTitle
}), }),
content: event.overview, content : event.overview,
placement: 'bottom', placement: 'bottom',
trigger: 'manual' trigger : 'manual'
}); });
}, },
eventMouseover: function(event, jsEvent, view){ eventMouseover: function (event, jsEvent, view) {
$(this).popover('show'); $(this).popover('show');
}, },
eventMouseout: function(event, jsEvent, view){ eventMouseout : function (event, jsEvent, view) {
$(this).popover('hide'); $(this).popover('hide');
} }
}); });
NzbDrone.Calendar.CalendarCollectionView.Instance = this; NzbDrone.Calendar.CalendarCollectionView.Instance = this;
$(this.ui.calendar).fullCalendar('addEventSource', this.calendar.toJSON()); $(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 bbView = NzbDrone.Calendar.CalendarCollectionView.Instance;
var startDate = Date.create(start).format(Date.ISO8601_DATETIME); var startDate = Date.create(start).format(Date.ISO8601_DATETIME);
var endDate = Date.create(end).format(Date.ISO8601_DATETIME); var endDate = Date.create(end).format(Date.ISO8601_DATETIME);
bbView.calendar.fetch({ bbView.calendar.fetch({
data:{ start: startDate, end: endDate }, data : { start: startDate, end: endDate },
success:function (calendarCollection) { success: function (calendarCollection) {
callback(calendarCollection.toJSON()); callback(calendarCollection.toJSON());
} }
}); });

View file

@ -1,13 +1,13 @@
'use strict'; 'use strict';
define([ define([
'app', 'app',
'Calendar/CalendarCollection' 'Calendar/CalendarCollection'
], function () { ], function () {
NzbDrone.Calendar.CalendarItemView = Backbone.Marionette.ItemView.extend({ NzbDrone.Calendar.CalendarItemView = Backbone.Marionette.ItemView.extend({
template: 'Calendar/CalendarItemTemplate', template : 'Calendar/CalendarItemTemplate',
tagName: 'div', tagName : 'div',
className: 'event', className: 'event',
onRender: function () { onRender: function () {

View file

@ -1,46 +1,51 @@
define(['app'], function (app) { define(['app'], function (app) {
NzbDrone.Calendar.CalendarModel = Backbone.Model.extend({ NzbDrone.Calendar.CalendarModel = Backbone.Model.extend({
mutators: { mutators: {
title: function () { title : function () {
return this.get('seriesTitle'); return this.get('seriesTitle');
}, },
allDay: function(){ allDay : function () {
return false; return false;
}, },
day: function() { day : function () {
return Date.create(this.get('start')).format('{dd}'); return Date.create(this.get('start')).format('{dd}');
}, },
month: function(){ month : function () {
return Date.create(this.get('start')).format('{MON}'); return Date.create(this.get('start')).format('{MON}');
}, },
startTime: function(){ startTime : function () {
var start = Date.create(this.get('start')); 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}{tt}');
}
return start.format('{h}.{mm}{tt}'); return start.format('{h}.{mm}{tt}');
}, },
paddedEpisodeNumber: function(){ paddedEpisodeNumber: function () {
return this.get('episodeNumber'); return this.get('episodeNumber');
}, },
statusLevel: function() { statusLevel : function () {
var status = this.get('status'); var status = this.get('status');
var currentTime = Date.create(); var currentTime = Date.create();
var start = Date.create(this.get('start')); var start = Date.create(this.get('start'));
var end = Date.create(this.get('end')); var end = Date.create(this.get('end'));
if (currentTime.isBetween(start, end)) if (currentTime.isBetween(start, end)) {
return 'warning'; return 'warning';
}
if (start.isBefore(currentTime) || status === 'Missing') if (start.isBefore(currentTime) || status === 'Missing') {
return 'danger'; return 'danger';
}
if (status === 'Ready') return 'success'; if (status === 'Ready') {
return 'success';
}
return 'primary'; return 'primary';
}, },
bestDateString: function () { bestDateString : function () {
return bestDateString(this.get('start')); return bestDateString(this.get('start'));
}, },
}, },

View file

@ -2,42 +2,47 @@
// Pager pagination // Pager pagination
// -------------------------------------------------- // --------------------------------------------------
.pager { .pager {
margin: @baseLineHeight 0; margin: @baseLineHeight 0;
list-style: none; list-style: none;
text-align: center; text-align: center;
.clearfix(); .clearfix();
} }
.pager li { .pager li {
display: inline; display: inline;
} }
.pager li > a, .pager li > a,
.pager li > span { .pager li > span {
display: inline-block; display: inline-block;
padding: 5px 14px; padding: 5px 14px;
background-color: #fff; background-color: #FFFFFF;
border: 1px solid #ddd; border: 1px solid #DDDDDD;
.border-radius(15px); .border-radius(15px);
} }
.pager li > a:hover, .pager li > a:hover,
.pager li > a:focus { .pager li > a:focus {
text-decoration: none; text-decoration: none;
background-color: #f5f5f5; background-color: #F5F5F5;
} }
.pager .next > a, .pager .next > a,
.pager .next > span { .pager .next > span {
float: right; float: right;
} }
.pager .previous > a, .pager .previous > a,
.pager .previous > span { .pager .previous > span {
float: left; float: left;
} }
.pager .disabled > a, .pager .disabled > a,
.pager .disabled > a:hover, .pager .disabled > a:hover,
.pager .disabled > a:focus, .pager .disabled > a:focus,
.pager .disabled > span { .pager .disabled > span {
color: @grayLight; color: @grayLight;
background-color: #fff; background-color: #FFFFFF;
cursor: default; cursor: default;
} }

View file

@ -3,7 +3,6 @@
// Adapted from http://github.com/necolas/normalize.css // Adapted from http://github.com/necolas/normalize.css
// -------------------------------------------------- // --------------------------------------------------
// Display in IE6-9 and FF3 // Display in IE6-9 and FF3
// ------------------------- // -------------------------
@ -35,7 +34,7 @@ video {
// ------------------------- // -------------------------
audio:not([controls]) { audio:not([controls]) {
display: none; display: none;
} }
// Base settings // Base settings
@ -44,12 +43,14 @@ audio:not([controls]) {
html { html {
font-size: 100%; font-size: 100%;
-webkit-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%; -ms-text-size-adjust: 100%;
} }
// Focus states // Focus states
a:focus { a:focus {
.tab-focus(); .tab-focus();
} }
// Hover & Active // Hover & Active
a:hover, a:hover,
a:active { a:active {
@ -66,9 +67,11 @@ sup {
line-height: 0; line-height: 0;
vertical-align: baseline; vertical-align: baseline;
} }
sup { sup {
top: -0.5em; top: -0.5em;
} }
sub { sub {
bottom: -0.25em; bottom: -0.25em;
} }
@ -105,23 +108,27 @@ textarea {
font-size: 100%; font-size: 100%;
vertical-align: middle; vertical-align: middle;
} }
button, button,
input { input {
*overflow: visible; // Inner spacing ie IE6/7 *overflow: visible; // Inner spacing ie IE6/7
line-height: normal; // FF3/4 have !important on line-height in UA stylesheet line-height: normal; // FF3/4 have !important on line-height in UA stylesheet
} }
button::-moz-focus-inner, button::-moz-focus-inner,
input::-moz-focus-inner { // Inner padding and border oddities in FF3/4 input::-moz-focus-inner { // Inner padding and border oddities in FF3/4
padding: 0; padding: 0;
border: 0; border: 0;
} }
button, button,
html input[type="button"], // Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 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="reset"],
input[type="submit"] { input[type="submit"] {
-webkit-appearance: button; // Corrects inability to style clickable `input` types in iOS. -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. cursor: pointer; // Improves usability and consistency of cursor style between image-type `input` and others.
} }
label, label,
select, select,
button, button,
@ -130,22 +137,24 @@ input[type="reset"],
input[type="submit"], input[type="submit"],
input[type="radio"], input[type="radio"],
input[type="checkbox"] { 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 input[type="search"] { // Appearance in Safari/Chrome
.box-sizing(content-box); .box-sizing(content-box);
-webkit-appearance: textfield; -webkit-appearance: textfield;
} }
input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button { input[type="search"]::-webkit-search-cancel-button {
-webkit-appearance: none; // Inner-padding issues in Chrome OSX, Safari 5 -webkit-appearance: none; // Inner-padding issues in Chrome OSX, Safari 5
} }
textarea { textarea {
overflow: auto; // Remove vertical scrollbar in IE6-9 overflow: auto; // Remove vertical scrollbar in IE6-9
vertical-align: top; // Readability and alignment cross-browser vertical-align: top; // Readability and alignment cross-browser
} }
// Printing // Printing
// ------------------------- // -------------------------
// Source: https://github.com/h5bp/html5-boilerplate/blob/master/css/main.css // Source: https://github.com/h5bp/html5-boilerplate/blob/master/css/main.css
@ -154,7 +163,7 @@ textarea {
* { * {
text-shadow: none !important; 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; background: transparent !important;
box-shadow: none !important; box-shadow: none !important;
} }
@ -181,7 +190,7 @@ textarea {
pre, pre,
blockquote { blockquote {
border: 1px solid #999; border: 1px solid #999999;
page-break-inside: avoid; page-break-inside: avoid;
} }

File diff suppressed because it is too large Load diff

View file

@ -24,10 +24,9 @@ html {
margin: 20px 0 30px 0; margin: 20px 0 30px 0;
} }
#footer-region a:hover { #footer-region a:hover {
text-decoration: underline; text-decoration: underline;
} }
.nz-spinner { .nz-spinner {
font-size: 56px; font-size: 56px;
@ -35,7 +34,6 @@ html {
padding: 30px; padding: 30px;
} }
#notification-region .alert { #notification-region .alert {
margin: 10px; margin: 10px;
} }
@ -48,7 +46,6 @@ html {
font-size: 12px; font-size: 12px;
} }
#in-sub-nav ul { #in-sub-nav ul {
margin: 0 0 80px 0; margin: 0 0 80px 0;
} }
@ -66,41 +63,41 @@ html {
margin-bottom: 2px; margin-bottom: 2px;
} }
.progress .bar { .progress .bar {
position: absolute; position: absolute;
overflow: hidden; overflow: hidden;
} }
.progress .progressbar-back-text { .progress .progressbar-back-text {
position: absolute; position: absolute;
width: 100%; width: 100%;
height: 100%; height: 100%;
font-size: 12px; font-size: 12px;
text-align: center; text-align: center;
} }
.progress .progressbar-front-text { .progress .progressbar-front-text {
display: block; display: block;
width: 125px; width: 125px;
font-size: 12px; font-size: 12px;
text-align: center; text-align: center;
} }
/* Todo: Should move this to somehting modal/form specific */ /* Todo: Should move this to somehting modal/form specific */
/*label.checkbox {*/ /*label.checkbox {*/
/*font-size: 14px;*/ /*font-size: 14px;*/
/*line-height: normal;*/ /*line-height: normal;*/
/*color: #595959;*/ /*color: #595959;*/
/*}*/ /*}*/
/*label, .form-horizontal input, .form-horizontal select {*/ /*label, .form-horizontal input, .form-horizontal select {*/
/*font-size: 14px;*/ /*font-size: 14px;*/
/*line-height: 14px;*/ /*line-height: 14px;*/
/*}*/ /*}*/
/*label.control-label {*/ /*label.control-label {*/
/*font-size: 16px;*/ /*font-size: 16px;*/
/*line-height: 16px;*/ /*line-height: 16px;*/
/*font-weight: bold;*/ /*font-weight: bold;*/
/*}*/ /*}*/

View file

@ -7,132 +7,149 @@
* *
*/ */
.slider { .slider {
display: inline-block; display: inline-block;
vertical-align: middle; vertical-align: middle;
position: relative; position: relative;
} }
.slider.slider-horizontal { .slider.slider-horizontal {
width: 210px; width: 210px;
height: 20px; height: 20px;
} }
.slider.slider-horizontal .slider-track { .slider.slider-horizontal .slider-track {
height: 10px; height: 10px;
width: 100%; width: 100%;
margin-top: -5px; margin-top: -5px;
top: 50%; top: 50%;
left: 0; left: 0;
} }
.slider.slider-horizontal .slider-selection { .slider.slider-horizontal .slider-selection {
height: 100%; height: 100%;
top: 0; top: 0;
bottom: 0; bottom: 0;
} }
.slider.slider-horizontal .slider-handle { .slider.slider-horizontal .slider-handle {
margin-left: -10px; margin-left: -10px;
margin-top: -5px; margin-top: -5px;
} }
.slider.slider-horizontal .slider-handle.triangle { .slider.slider-horizontal .slider-handle.triangle {
border-width: 0 10px 10px 10px; border-width: 0 10px 10px 10px;
width: 0; width: 0;
height: 0; height: 0;
border-bottom-color: #0480be; border-bottom-color: #0480be;
margin-top: 0; margin-top: 0;
} }
.slider.slider-vertical { .slider.slider-vertical {
height: 210px; height: 210px;
width: 20px; width: 20px;
} }
.slider.slider-vertical .slider-track { .slider.slider-vertical .slider-track {
width: 10px; width: 10px;
height: 100%; height: 100%;
margin-left: -5px; margin-left: -5px;
left: 50%; left: 50%;
top: 0; top: 0;
} }
.slider.slider-vertical .slider-selection { .slider.slider-vertical .slider-selection {
width: 100%; width: 100%;
left: 0; left: 0;
top: 0; top: 0;
bottom: 0; bottom: 0;
} }
.slider.slider-vertical .slider-handle { .slider.slider-vertical .slider-handle {
margin-left: -5px; margin-left: -5px;
margin-top: -10px; margin-top: -10px;
} }
.slider.slider-vertical .slider-handle.triangle { .slider.slider-vertical .slider-handle.triangle {
border-width: 10px 0 10px 10px; border-width: 10px 0 10px 10px;
width: 1px; width: 1px;
height: 1px; height: 1px;
border-left-color: #0480be; border-left-color: #0480be;
margin-left: 0; margin-left: 0;
} }
.slider input { .slider input {
display: none; display: none;
} }
.slider .tooltip-inner { .slider .tooltip-inner {
white-space: nowrap; white-space: nowrap;
} }
.slider-track { .slider-track {
position: absolute; position: absolute;
cursor: pointer; cursor: pointer;
background-color: #f7f7f7; background-color: #f7f7f7;
background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9); background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9)); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));
background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9); background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9); background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);
background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9); background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9);
background-repeat: repeat-x; background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); -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); -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); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
-webkit-border-radius: 4px; -webkit-border-radius: 4px;
-moz-border-radius: 4px; -moz-border-radius: 4px;
border-radius: 4px; border-radius: 4px;
} }
.slider-selection { .slider-selection {
position: absolute; position: absolute;
background-color: #bababa; background-color: #bababa;
background-image: -moz-linear-gradient(top, #f9f9f9, #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-gradient(linear, 0 0, 0 100%, from(#f9f9f9), to(#bababa));
background-image: -webkit-linear-gradient(top, #f9f9f9, #bababa); background-image: -webkit-linear-gradient(top, #f9f9f9, #bababa);
background-image: -o-linear-gradient(top, #f9f9f9, #bababa); background-image: -o-linear-gradient(top, #f9f9f9, #bababa);
background-image: linear-gradient(to bottom, #f9f9f9, #bababa); background-image: linear-gradient(to bottom, #f9f9f9, #bababa);
background-repeat: repeat-x; background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff9f9f9', endColorstr='#fff5f5f5', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff9f9f9', endColorstr='#fff5f5f5', GradientType=0);
-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); -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); -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); box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
-webkit-box-sizing: border-box; -webkit-box-sizing: border-box;
-moz-box-sizing: border-box; -moz-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-border-radius: 4px; -webkit-border-radius: 4px;
-moz-border-radius: 4px; -moz-border-radius: 4px;
border-radius: 4px; border-radius: 4px;
} }
.slider-handle { .slider-handle {
position: absolute; position: absolute;
width: 20px; width: 20px;
height: 20px; height: 20px;
background-color: #3a87ad; background-color: #3a87ad;
background-image: -moz-linear-gradient(top, #149bdf, #0480be); background-image: -moz-linear-gradient(top, #149bdf, #0480be);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be)); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));
background-image: -webkit-linear-gradient(top, #149bdf, #0480be); background-image: -webkit-linear-gradient(top, #149bdf, #0480be);
background-image: -o-linear-gradient(top, #149bdf, #0480be); background-image: -o-linear-gradient(top, #149bdf, #0480be);
background-image: linear-gradient(to bottom, #149bdf, #0480be); background-image: linear-gradient(to bottom, #149bdf, #0480be);
background-repeat: repeat-x; background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0); 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); -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); -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); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 1px 2px rgba(0, 0, 0, .05);
/*opacity: 0.8;*/ /*opacity: 0.8;*/
border: 0px solid transparent; border: 0px solid transparent;
} }
.slider-handle.round { .slider-handle.round {
-webkit-border-radius: 20px; -webkit-border-radius: 20px;
-moz-border-radius: 20px; -moz-border-radius: 20px;
border-radius: 20px; border-radius: 20px;
} }
.slider-handle.triangle { .slider-handle.triangle {
background: transparent none; background: transparent none;
} }

View file

@ -7,204 +7,227 @@
* ============================================================ */ * ============================================================ */
/* line 18, ../sass/bootstrapSwitch.scss */ /* line 18, ../sass/bootstrapSwitch.scss */
.has-switch { .has-switch {
display: inline-block; display: inline-block;
cursor: pointer; cursor: pointer;
-webkit-border-radius: 5px; -webkit-border-radius: 5px;
-moz-border-radius: 5px; -moz-border-radius: 5px;
-ms-border-radius: 5px; -ms-border-radius: 5px;
-o-border-radius: 5px; -o-border-radius: 5px;
border-radius: 5px; border-radius: 5px;
border: 1px solid; border: 1px solid;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
background: #e6e6e6; background: #e6e6e6;
position: relative; position: relative;
text-align: left; text-align: left;
overflow: hidden; overflow: hidden;
line-height: 8px; line-height: 8px;
-webkit-touch-callout: none; -webkit-touch-callout: none;
-webkit-user-select: none; -webkit-user-select: none;
-khtml-user-select: none; -khtml-user-select: none;
-moz-user-select: none; -moz-user-select: none;
-ms-user-select: none; -ms-user-select: none;
user-select: none; user-select: none;
min-width: 102px; min-width: 102px;
} }
/* line 40, ../sass/bootstrapSwitch.scss */ /* line 40, ../sass/bootstrapSwitch.scss */
.has-switch.switch-mini { .has-switch.switch-mini {
min-width: 72px; min-width: 72px;
} }
/* line 44, ../sass/bootstrapSwitch.scss */ /* line 44, ../sass/bootstrapSwitch.scss */
.has-switch.switch-small { .has-switch.switch-small {
min-width: 81px; min-width: 81px;
} }
/* line 48, ../sass/bootstrapSwitch.scss */ /* line 48, ../sass/bootstrapSwitch.scss */
.has-switch.switch-large { .has-switch.switch-large {
min-width: 120px; min-width: 120px;
} }
/* line 52, ../sass/bootstrapSwitch.scss */ /* line 52, ../sass/bootstrapSwitch.scss */
.has-switch.deactivate { .has-switch.deactivate {
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50); filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
opacity: 0.5; opacity: 0.5;
cursor: default !important; cursor: default !important;
} }
/* line 55, ../sass/bootstrapSwitch.scss */ /* line 55, ../sass/bootstrapSwitch.scss */
.has-switch.deactivate label, .has-switch.deactivate span { .has-switch.deactivate label, .has-switch.deactivate span {
cursor: default !important; cursor: default !important;
} }
/* line 59, ../sass/bootstrapSwitch.scss */ /* line 59, ../sass/bootstrapSwitch.scss */
.has-switch > div { .has-switch > div {
display: inline-block; display: inline-block;
width: 150%; width: 150%;
position: relative; position: relative;
top: 0; top: 0;
} }
/* line 65, ../sass/bootstrapSwitch.scss */ /* line 65, ../sass/bootstrapSwitch.scss */
.has-switch > div.switch-animate { .has-switch > div.switch-animate {
-webkit-transition: left 0.5s; -webkit-transition: left 0.5s;
-moz-transition: left 0.5s; -moz-transition: left 0.5s;
-o-transition: left 0.5s; -o-transition: left 0.5s;
transition: left 0.5s; transition: left 0.5s;
} }
/* line 68, ../sass/bootstrapSwitch.scss */ /* line 68, ../sass/bootstrapSwitch.scss */
.has-switch > div.switch-off { .has-switch > div.switch-off {
left: -50%; left: -50%;
} }
/* line 71, ../sass/bootstrapSwitch.scss */ /* line 71, ../sass/bootstrapSwitch.scss */
.has-switch > div.switch-on { .has-switch > div.switch-on {
left: 0%; left: 0%;
} }
/* line 75, ../sass/bootstrapSwitch.scss */ /* line 75, ../sass/bootstrapSwitch.scss */
.has-switch input[type=checkbox] { .has-switch input[type=checkbox] {
display: none; display: none;
} }
/* line 83, ../sass/bootstrapSwitch.scss */ /* line 83, ../sass/bootstrapSwitch.scss */
.has-switch span, .has-switch label { .has-switch span, .has-switch label {
-webkit-box-sizing: border-box; -webkit-box-sizing: border-box;
-moz-box-sizing: border-box; -moz-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
cursor: pointer; cursor: pointer;
position: relative; position: relative;
display: inline-block; display: inline-block;
height: 100%; height: 100%;
padding-bottom: 4px; padding-bottom: 4px;
padding-top: 4px; padding-top: 4px;
font-size: 14px; font-size: 14px;
line-height: 20px; line-height: 20px;
} }
/* line 96, ../sass/bootstrapSwitch.scss */ /* line 96, ../sass/bootstrapSwitch.scss */
.has-switch span.switch-mini, .has-switch label.switch-mini { .has-switch span.switch-mini, .has-switch label.switch-mini {
padding-bottom: 4px; padding-bottom: 4px;
padding-top: 4px; padding-top: 4px;
font-size: 10px; font-size: 10px;
line-height: 9px; line-height: 9px;
} }
/* line 103, ../sass/bootstrapSwitch.scss */ /* line 103, ../sass/bootstrapSwitch.scss */
.has-switch span.switch-small, .has-switch label.switch-small { .has-switch span.switch-small, .has-switch label.switch-small {
padding-bottom: 3px; padding-bottom: 3px;
padding-top: 3px; padding-top: 3px;
font-size: 12px; font-size: 12px;
line-height: 18px; line-height: 18px;
} }
/* line 110, ../sass/bootstrapSwitch.scss */ /* line 110, ../sass/bootstrapSwitch.scss */
.has-switch span.switch-large, .has-switch label.switch-large { .has-switch span.switch-large, .has-switch label.switch-large {
padding-bottom: 9px; padding-bottom: 9px;
padding-top: 9px; padding-top: 9px;
font-size: 16px; font-size: 16px;
line-height: normal; line-height: normal;
} }
/* line 118, ../sass/bootstrapSwitch.scss */ /* line 118, ../sass/bootstrapSwitch.scss */
.has-switch label { .has-switch label {
background: white; background: white;
margin-top: -1px; margin-top: -1px;
margin-bottom: -1px; margin-bottom: -1px;
z-index: 100; z-index: 100;
width: 33.333333%; width: 33.333333%;
border-left: 1px solid #e6e6e6; border-left: 1px solid #e6e6e6;
border-right: 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-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #e6e6e6));
background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
background-image: linear-gradient(top, #ffffff, #e6e6e6); background-image: linear-gradient(top, #ffffff, #e6e6e6);
} }
/* line 130, ../sass/bootstrapSwitch.scss */ /* line 130, ../sass/bootstrapSwitch.scss */
.has-switch span { .has-switch span {
color: white; color: white;
text-align: center; text-align: center;
z-index: 1; z-index: 1;
width: 33.333333%; width: 33.333333%;
} }
/* line 136, ../sass/bootstrapSwitch.scss */ /* line 136, ../sass/bootstrapSwitch.scss */
.has-switch span.switch-left { .has-switch span.switch-left {
-moz-border-radius-topleft: 4px; -moz-border-radius-topleft: 4px;
-webkit-border-top-left-radius: 4px; -webkit-border-top-left-radius: 4px;
border-top-left-radius: 4px; border-top-left-radius: 4px;
-moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomleft: 4px;
-webkit-border-bottom-left-radius: 4px; -webkit-border-bottom-left-radius: 4px;
border-bottom-left-radius: 4px; border-bottom-left-radius: 4px;
} }
/* line 140, ../sass/bootstrapSwitch.scss */ /* line 140, ../sass/bootstrapSwitch.scss */
.has-switch span.switch-right { .has-switch span.switch-right {
color: black; color: black;
-moz-border-radius-topright: 4px; -moz-border-radius-topright: 4px;
-webkit-border-top-right-radius: 4px; -webkit-border-top-right-radius: 4px;
border-top-right-radius: 4px; border-top-right-radius: 4px;
-moz-border-radius-bottomright: 4px; -moz-border-radius-bottomright: 4px;
-webkit-border-bottom-right-radius: 4px; -webkit-border-bottom-right-radius: 4px;
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-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #ffffff), color-stop(100%, #e6e6e6));
background-image: -webkit-linear-gradient(bottom, #ffffff, #e6e6e6); background-image: -webkit-linear-gradient(bottom, #ffffff, #e6e6e6);
background-image: -moz-linear-gradient(bottom, #ffffff, #e6e6e6); background-image: -moz-linear-gradient(bottom, #ffffff, #e6e6e6);
background-image: -o-linear-gradient(bottom, #ffffff, #e6e6e6); background-image: -o-linear-gradient(bottom, #ffffff, #e6e6e6);
background-image: linear-gradient(bottom, #ffffff, #e6e6e6); background-image: linear-gradient(bottom, #ffffff, #e6e6e6);
} }
/* line 147, ../sass/bootstrapSwitch.scss */ /* line 147, ../sass/bootstrapSwitch.scss */
.has-switch span.switch-primary, .has-switch span.switch-left { .has-switch span.switch-primary, .has-switch span.switch-left {
color: white; color: white;
background: #0088cc; background: #0088cc;
background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #0088cc), color-stop(100%, #0055cc)); 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: -webkit-linear-gradient(bottom, #0088cc, #0055cc);
background-image: -moz-linear-gradient(bottom, #0088cc, #0055cc); background-image: -moz-linear-gradient(bottom, #0088cc, #0055cc);
background-image: -o-linear-gradient(bottom, #0088cc, #0055cc); background-image: -o-linear-gradient(bottom, #0088cc, #0055cc);
background-image: linear-gradient(bottom, #0088cc, #0055cc); background-image: linear-gradient(bottom, #0088cc, #0055cc);
} }
/* line 152, ../sass/bootstrapSwitch.scss */ /* line 152, ../sass/bootstrapSwitch.scss */
.has-switch span.switch-info { .has-switch span.switch-info {
color: white; color: white;
background: #5bc0de; background: #5bc0de;
background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #5bc0de), color-stop(100%, #2f96b4)); 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: -webkit-linear-gradient(bottom, #5bc0de, #2f96b4);
background-image: -moz-linear-gradient(bottom, #5bc0de, #2f96b4); background-image: -moz-linear-gradient(bottom, #5bc0de, #2f96b4);
background-image: -o-linear-gradient(bottom, #5bc0de, #2f96b4); background-image: -o-linear-gradient(bottom, #5bc0de, #2f96b4);
background-image: linear-gradient(bottom, #5bc0de, #2f96b4); background-image: linear-gradient(bottom, #5bc0de, #2f96b4);
} }
/* line 158, ../sass/bootstrapSwitch.scss */ /* line 158, ../sass/bootstrapSwitch.scss */
.has-switch span.switch-success { .has-switch span.switch-success {
color: white; color: white;
background: #62c462; background: #62c462;
background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #62c462), color-stop(100%, #51a351)); 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: -webkit-linear-gradient(bottom, #62c462, #51a351);
background-image: -moz-linear-gradient(bottom, #62c462, #51a351); background-image: -moz-linear-gradient(bottom, #62c462, #51a351);
background-image: -o-linear-gradient(bottom, #62c462, #51a351); background-image: -o-linear-gradient(bottom, #62c462, #51a351);
background-image: linear-gradient(bottom, #62c462, #51a351); background-image: linear-gradient(bottom, #62c462, #51a351);
} }
/* line 164, ../sass/bootstrapSwitch.scss */ /* line 164, ../sass/bootstrapSwitch.scss */
.has-switch span.switch-warning { .has-switch span.switch-warning {
color: white; color: white;
background: #dbb450; background: #dbb450;
background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #dbb450), color-stop(100%, #f89406)); 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: -webkit-linear-gradient(bottom, #dbb450, #f89406);
background-image: -moz-linear-gradient(bottom, #dbb450, #f89406); background-image: -moz-linear-gradient(bottom, #dbb450, #f89406);
background-image: -o-linear-gradient(bottom, #dbb450, #f89406); background-image: -o-linear-gradient(bottom, #dbb450, #f89406);
background-image: linear-gradient(bottom, #dbb450, #f89406); background-image: linear-gradient(bottom, #dbb450, #f89406);
} }
/* line 170, ../sass/bootstrapSwitch.scss */ /* line 170, ../sass/bootstrapSwitch.scss */
.has-switch span.switch-danger { .has-switch span.switch-danger {
color: white; color: white;
background: #ee5f5b; background: #ee5f5b;
background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #ee5f5b), color-stop(100%, #bd362f)); 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: -webkit-linear-gradient(bottom, #ee5f5b, #bd362f);
background-image: -moz-linear-gradient(bottom, #ee5f5b, #bd362f); background-image: -moz-linear-gradient(bottom, #ee5f5b, #bd362f);
background-image: -o-linear-gradient(bottom, #ee5f5b, #bd362f); background-image: -o-linear-gradient(bottom, #ee5f5b, #bd362f);
background-image: linear-gradient(bottom, #ee5f5b, #bd362f); background-image: linear-gradient(bottom, #ee5f5b, #bd362f);
} }

View file

@ -1,17 +1,18 @@
 .form-horizontal .controls i { .form-horizontal .controls i {
font-size: 16px; font-size: 16px;
/*color: #3A87AD;*/ /* Info blue */ /*color: #3A87AD;*/
color: #595959; /* Info blue */
cursor: default; color: #595959;
} cursor: default;
}
.form-horizontal .controls i.warning { .form-horizontal .controls i.warning {
color: #F89406; color: #f89406;
} }
.form-horizontal .controls i.danger { .form-horizontal .controls i.danger {
color: #B94A48; color: #b94a48;
} }
.help-inline-checkbox { .help-inline-checkbox {
float: left; float: left;

View file

@ -9,29 +9,26 @@
* *
*/ */
.fc { .fc {
direction: ltr; direction: ltr;
text-align: left; text-align: left;
} }
.fc table { .fc table {
border-collapse: collapse; border-collapse: collapse;
border-spacing: 0; border-spacing: 0;
} }
html .fc,
.fc table {
font-size: 1em;
}
.fc td,
.fc th {
padding: 0;
vertical-align: top;
}
html .fc,
.fc table {
font-size: 1em;
}
.fc td,
.fc th {
padding: 0;
vertical-align: top;
}
/* Header /* Header
------------------------------------------------------------------------*/ ------------------------------------------------------------------------*/
@ -59,10 +56,10 @@
vertical-align: top; vertical-align: top;
} }
.fc-header-title h2 { .fc-header-title h2 {
margin-top: 0; margin-top: 0;
white-space: nowrap; white-space: nowrap;
} }
.fc .fc-header-space { .fc .fc-header-space {
padding-left: 10px; padding-left: 10px;
@ -103,8 +100,6 @@
z-index: 4; z-index: 4;
} }
/* Content /* Content
------------------------------------------------------------------------*/ ------------------------------------------------------------------------*/
@ -117,28 +112,28 @@
/*overflow: hidden;*/ /*overflow: hidden;*/
} }
/* Cell Styles /* Cell Styles
------------------------------------------------------------------------*/ ------------------------------------------------------------------------*/
.fc-widget-header, /* <th>, usually */ .fc-widget-header, /* <th>, usually */
.fc-widget-content { /* <td>, usually */ .fc-widget-content {
border: 1px solid #ccc; /* <td>, usually */
border: 1px solid #cccccc;
} }
.fc-state-highlight { /* <td> today cell */ /* TODO: add .fc-today to <th> */ .fc-state-highlight {
background: #ffc; /* <td> today cell */
/* TODO: add .fc-today to <th> */
background: #ffffcc;
} }
.fc-cell-overlay { /* semi-transparent rectangle while dragging */ .fc-cell-overlay {
background: #9cf; /* semi-transparent rectangle while dragging */
background: #99ccff;
opacity: .2; opacity: .2;
filter: alpha(opacity=20); /* for IE */ filter: alpha(opacity=20); /* for IE */
} }
/* Buttons /* Buttons
------------------------------------------------------------------------*/ ------------------------------------------------------------------------*/
@ -148,7 +143,8 @@
cursor: pointer; cursor: pointer;
} }
.fc-state-default { /* non-theme */ .fc-state-default {
/* non-theme */
border-style: solid; border-style: solid;
border-width: 1px 0; border-width: 1px 0;
} }
@ -159,7 +155,8 @@
overflow: hidden; overflow: hidden;
} }
.fc-state-default .fc-button-inner { /* non-theme */ .fc-state-default .fc-button-inner {
/* non-theme */
border-style: solid; border-style: solid;
border-width: 0 1px; border-width: 0 1px;
} }
@ -173,21 +170,21 @@
white-space: nowrap; white-space: nowrap;
} }
/* icon (for jquery ui) */ /* icon (for jquery ui) */
.fc-button-content .fc-icon-wrap { .fc-button-content .fc-icon-wrap {
position: relative; position: relative;
float: left; float: left;
top: 50%; top: 50%;
} }
.fc-button-content .ui-icon { .fc-button-content .ui-icon {
position: relative; position: relative;
float: left; float: left;
margin-top: -50%; margin-top: -50%;
*margin-top: 0; *margin-top: 0;
*top: -50%; *top: -50%;
} }
/* gloss effect */ /* gloss effect */
@ -197,63 +194,61 @@
left: 0; left: 0;
} }
.fc-state-default .fc-button-effect span { .fc-state-default .fc-button-effect span {
position: absolute; position: absolute;
top: -100px; top: -100px;
left: 0; left: 0;
width: 500px; width: 500px;
height: 100px; height: 100px;
border-width: 100px 0 0 1px; border-width: 100px 0 0 1px;
border-style: solid; border-style: solid;
border-color: #fff; border-color: #ffffff;
background: #444; background: #444444;
opacity: .09; opacity: .09;
filter: alpha(opacity=9); filter: alpha(opacity=9);
} }
/* button states (determines colors) */ /* button states (determines colors) */
.fc-state-default, .fc-state-default,
.fc-state-default .fc-button-inner { .fc-state-default .fc-button-inner {
border-style: solid; border-style: solid;
border-color: #ccc #bbb #aaa; border-color: #cccccc #bbbbbb #aaaaaa;
background: #F3F3F3; background: #f3f3f3;
color: #000; color: #000000;
} }
.fc-state-hover, .fc-state-hover,
.fc-state-hover .fc-button-inner { .fc-state-hover .fc-button-inner {
border-color: #999; border-color: #999999;
} }
.fc-state-down, .fc-state-down,
.fc-state-down .fc-button-inner { .fc-state-down .fc-button-inner {
border-color: #555; border-color: #555555;
background: #777; background: #777777;
} }
.fc-state-active, .fc-state-active,
.fc-state-active .fc-button-inner { .fc-state-active .fc-button-inner {
border-color: #555; border-color: #555555;
background: #777; background: #777777;
color: #fff; color: #ffffff;
} }
.fc-state-disabled, .fc-state-disabled,
.fc-state-disabled .fc-button-inner { .fc-state-disabled .fc-button-inner {
color: #999; color: #999999;
border-color: #ddd; border-color: #dddddd;
} }
.fc-state-disabled { .fc-state-disabled {
cursor: default; cursor: default;
} }
.fc-state-disabled .fc-button-effect { .fc-state-disabled .fc-button-effect {
display: none; display: none;
} }
/* Global Event Styles /* Global Event Styles
------------------------------------------------------------------------*/ ------------------------------------------------------------------------*/
@ -279,9 +274,9 @@ a.fc-event {
} }
.fc-event-skin { .fc-event-skin {
border-color: #36c; /* default BORDER color */ border-color: #3366cc; /* default BORDER color */
background-color: #36c; /* default BACKGROUND color */ background-color: #3366cc; /* default BACKGROUND color */
color: #fff; /* default TEXT color */ color: #ffffff; /* default TEXT color */
} }
.fc-event-inner { .fc-event-inner {
@ -298,7 +293,8 @@ a.fc-event {
padding: 0 1px; 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; display: block;
position: absolute; position: absolute;
z-index: 99999; z-index: 99999;
@ -307,8 +303,6 @@ a.fc-event {
line-height: 50%; /* */ line-height: 50%; /* */
} }
/* Horizontal Events /* Horizontal Events
------------------------------------------------------------------------*/ ------------------------------------------------------------------------*/
@ -317,29 +311,27 @@ a.fc-event {
margin-bottom: 1px; margin-bottom: 1px;
} }
/* resizable */ /* resizable */
.fc-event-hori .ui-resizable-e { .fc-event-hori .ui-resizable-e {
top: 0 !important; /* importants override pre jquery ui 1.7 styles */ top: 0 !important; /* importants override pre jquery ui 1.7 styles */
right: -3px !important; right: -3px !important;
width: 7px !important; width: 7px !important;
height: 100% !important; height: 100% !important;
cursor: e-resize; 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-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) /* Fake Rounded Corners (for buttons and events)
------------------------------------------------------------*/ ------------------------------------------------------------*/
@ -348,37 +340,35 @@ a.fc-event {
margin-left: 1px; margin-left: 1px;
} }
.fc-corner-left .fc-button-inner, .fc-corner-left .fc-button-inner,
.fc-corner-left .fc-event-inner { .fc-corner-left .fc-event-inner {
margin-left: -1px; margin-left: -1px;
} }
.fc-corner-right { .fc-corner-right {
margin-right: 1px; margin-right: 1px;
} }
.fc-corner-right .fc-button-inner, .fc-corner-right .fc-button-inner,
.fc-corner-right .fc-event-inner { .fc-corner-right .fc-event-inner {
margin-right: -1px; margin-right: -1px;
} }
.fc-corner-top { .fc-corner-top {
margin-top: 1px; margin-top: 1px;
} }
.fc-corner-top .fc-event-inner { .fc-corner-top .fc-event-inner {
margin-top: -1px; margin-top: -1px;
} }
.fc-corner-bottom { .fc-corner-bottom {
margin-bottom: 1px; margin-bottom: 1px;
} }
.fc-corner-bottom .fc-event-inner { .fc-corner-bottom .fc-event-inner {
margin-bottom: -1px; margin-bottom: -1px;
} }
/* Fake Rounded Corners SPECIFICALLY FOR EVENTS /* Fake Rounded Corners SPECIFICALLY FOR EVENTS
-----------------------------------------------------------------*/ -----------------------------------------------------------------*/
@ -399,8 +389,6 @@ a.fc-event {
border-bottom-width: 1px; border-bottom-width: 1px;
} }
/* Reusable Separate-border Table /* Reusable Separate-border Table
------------------------------------------------------------*/ ------------------------------------------------------------*/
@ -413,10 +401,10 @@ table.fc-border-separate {
border-width: 1px 0 0 1px; border-width: 1px 0 0 1px;
} }
.fc-border-separate th.fc-last, .fc-border-separate th.fc-last,
.fc-border-separate td.fc-last { .fc-border-separate td.fc-last {
border-right-width: 1px; border-right-width: 1px;
} }
.fc-border-separate tr.fc-last th, .fc-border-separate tr.fc-last th,
.fc-border-separate tr.fc-last td { .fc-border-separate tr.fc-last td {
@ -428,8 +416,6 @@ table.fc-border-separate {
border-top-width: 0; border-top-width: 0;
} }
/* Month View, Basic Week View, Basic Day View /* Month View, Basic Week View, Basic Day View
------------------------------------------------------------------------*/ ------------------------------------------------------------------------*/
@ -446,8 +432,8 @@ table.fc-border-separate {
opacity: 0.3; opacity: 0.3;
filter: alpha(opacity=30); /* for IE */ filter: alpha(opacity=30); /* for IE */
/* opacity with small font can sometimes look too faded /* opacity with small font can sometimes look too faded
might want to set the 'color' property instead might want to set the 'color' property instead
making day-numbers bold also fixes the problem */ making day-numbers bold also fixes the problem */
} }
.fc-grid .fc-day-content { .fc-grid .fc-day-content {
@ -471,8 +457,6 @@ table.fc-border-separate {
float: right; float: right;
} }
/* Agenda Week View, Agenda Day View /* Agenda Week View, Agenda Day View
------------------------------------------------------------------------*/ ------------------------------------------------------------------------*/
@ -526,7 +510,7 @@ table.fc-border-separate {
} }
.fc-widget-header .fc-agenda-divider-inner { .fc-widget-header .fc-agenda-divider-inner {
background: #eee; background: #eeeeee;
} }
/* slot rows */ /* slot rows */
@ -540,9 +524,9 @@ table.fc-border-separate {
background: none; background: none;
} }
.fc-agenda-slots td div { .fc-agenda-slots td div {
height: 20px; height: 20px;
} }
.fc-agenda-slots tr.fc-slot0 th, .fc-agenda-slots tr.fc-slot0 th,
.fc-agenda-slots tr.fc-slot0 td { .fc-agenda-slots tr.fc-slot0 td {
@ -554,11 +538,9 @@ table.fc-border-separate {
border-top-style: dotted; border-top-style: dotted;
} }
.fc-agenda-slots tr.fc-minor th.ui-widget-header { .fc-agenda-slots tr.fc-minor th.ui-widget-header {
*border-top-style: solid; /* doesn't work with background in IE6/7 */ *border-top-style: solid; /* doesn't work with background in IE6/7 */
} }
/* Vertical Events /* Vertical Events
------------------------------------------------------------------------*/ ------------------------------------------------------------------------*/
@ -567,30 +549,31 @@ table.fc-border-separate {
border-width: 0 1px; border-width: 0 1px;
} }
.fc-event-vert .fc-event-head, .fc-event-vert .fc-event-head,
.fc-event-vert .fc-event-content { .fc-event-vert .fc-event-content {
position: relative; position: relative;
z-index: 2; z-index: 2;
width: 100%; width: 100%;
overflow: hidden; overflow: hidden;
} }
.fc-event-vert .fc-event-time { .fc-event-vert .fc-event-time {
white-space: nowrap; white-space: nowrap;
font-size: 10px; font-size: 10px;
} }
.fc-event-vert .fc-event-bg { /* makes the event lighter w/ a semi-transparent overlay */ .fc-event-vert .fc-event-bg {
position: absolute; /* makes the event lighter w/ a semi-transparent overlay */
z-index: 1; position: absolute;
top: 0; z-index: 1;
left: 0; top: 0;
width: 100%; left: 0;
height: 100%; width: 100%;
background: #fff; height: 100%;
opacity: .3; background: #ffffff;
filter: alpha(opacity=30); opacity: .3;
} filter: alpha(opacity=30);
}
.fc .ui-draggable-dragging .fc-event-bg, /* TODO: something nicer like .fc-opacity */ .fc .ui-draggable-dragging .fc-event-bg, /* TODO: something nicer like .fc-opacity */
.fc-select-helper .fc-event-bg { .fc-select-helper .fc-event-bg {
@ -611,6 +594,7 @@ table.fc-border-separate {
cursor: s-resize; cursor: s-resize;
} }
.fc-agenda .ui-resizable-resizing { /* TODO: better selector */ .fc-agenda .ui-resizable-resizing {
/* TODO: better selector */
_overflow: hidden; _overflow: hidden;
} }

View file

@ -6,129 +6,130 @@
width: 100%; width: 100%;
} }
.tablesorter-bootstrap .tablesorter-header, .tablesorter-bootstrap .tablesorter-header,
.tablesorter-bootstrap tfoot th, .tablesorter-bootstrap tfoot th,
.tablesorter-bootstrap tfoot td { .tablesorter-bootstrap tfoot td {
font: bold 14px/20px Arial, Sans-serif; font: bold 14px/20px Arial, Sans-serif;
position: relative; position: relative;
padding: 8px; padding: 8px;
margin: 0 0 18px; margin: 0 0 18px;
list-style: none; list-style: none;
background-color: #FBFBFB; background-color: #fbfbfb;
background-image: -moz-linear-gradient(top, white, #efefef); background-image: -moz-linear-gradient(top, white, #efefef);
background-image: -ms-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-gradient(linear, 0 0, 0 100%, from(white), to(#efefef));
background-image: -webkit-linear-gradient(top, white, #efefef); background-image: -webkit-linear-gradient(top, white, #efefef);
background-image: -o-linear-gradient(top, white, #efefef); background-image: -o-linear-gradient(top, white, #efefef);
background-image: linear-gradient(to bottom, white, #efefef); background-image: linear-gradient(to bottom, white, #efefef);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#efefef', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#efefef', GradientType=0);
background-repeat: repeat-x; background-repeat: repeat-x;
-webkit-box-shadow: inset 0 1px 0 white; -webkit-box-shadow: inset 0 1px 0 white;
-moz-box-shadow: inset 0 1px 0 #ffffff; -moz-box-shadow: inset 0 1px 0 #ffffff;
box-shadow: inset 0 1px 0 white; box-shadow: inset 0 1px 0 white;
} }
.tablesorter-bootstrap .tablesorter-header { .tablesorter-bootstrap .tablesorter-header {
cursor: pointer; cursor: pointer;
} }
.tablesorter-bootstrap .tablesorter-header-inner { .tablesorter-bootstrap .tablesorter-header-inner {
position: relative; position: relative;
padding: 4px 18px 4px 4px; padding: 4px 18px 4px 4px;
} }
/* bootstrap uses <i> for icons */ /* bootstrap uses <i> for icons */
.tablesorter-bootstrap .tablesorter-header i { .tablesorter-bootstrap .tablesorter-header i {
position: absolute; position: absolute;
right: 2px; right: 2px;
top: 50%; top: 50%;
margin-top: -7px; /* half the icon height; older IE doesn't like this */ margin-top: -7px; /* half the icon height; older IE doesn't like this */
width: 14px; width: 14px;
height: 14px; height: 14px;
background-repeat: no-repeat; background-repeat: no-repeat;
line-height: 14px; line-height: 14px;
display: inline-block; display: inline-block;
} }
.tablesorter-bootstrap .bootstrap-icon-unsorted { .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==); 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 */ /* since bootstrap (table-striped) uses nth-child(), we just use this to add a zebra stripe color */
.tablesorter-bootstrap tr.odd td { .tablesorter-bootstrap tr.odd td {
background-color: #f9f9f9; background-color: #f9f9f9;
} }
.tablesorter-bootstrap tbody > .odd:hover > td, .tablesorter-bootstrap tbody > .odd:hover > td,
.tablesorter-bootstrap tbody > .even:hover > td { .tablesorter-bootstrap tbody > .even:hover > td {
background-color: #f5f5f5; background-color: #f5f5f5;
} }
.tablesorter-bootstrap tr.even td { .tablesorter-bootstrap tr.even td {
background-color: #fff; background-color: #ffffff;
} }
/* processing icon */ /* processing icon */
.tablesorter-bootstrap .tablesorter-processing { .tablesorter-bootstrap .tablesorter-processing {
background-image: url('data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs='); background-image: url('data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=');
position: absolute; position: absolute;
z-index: 1000; z-index: 1000;
} }
/* filter widget */ /* filter widget */
.tablesorter-bootstrap .tablesorter-filter-row .tablesorter-filter { .tablesorter-bootstrap .tablesorter-filter-row .tablesorter-filter {
width: 98%; width: 98%;
height: inherit; height: inherit;
margin: 0 auto; margin: 0 auto;
padding: 4px 6px; padding: 4px 6px;
background-color: #fff; background-color: #ffffff;
color: #333; color: #333333;
-webkit-box-sizing: border-box; -webkit-box-sizing: border-box;
-moz-box-sizing: border-box; -moz-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
-webkit-transition: height 0.1s ease; -webkit-transition: height 0.1s ease;
-moz-transition: height 0.1s ease; -moz-transition: height 0.1s ease;
-o-transition: height 0.1s ease; -o-transition: height 0.1s ease;
transition: height 0.1s ease; transition: height 0.1s ease;
} }
.tablesorter-bootstrap .tablesorter-filter-row td { .tablesorter-bootstrap .tablesorter-filter-row td {
background: #eee; background: #eeeeee;
line-height: normal; line-height: normal;
text-align: center; text-align: center;
padding: 4px 6px; padding: 4px 6px;
vertical-align: middle; vertical-align: middle;
-webkit-transition: line-height 0.1s ease; -webkit-transition: line-height 0.1s ease;
-moz-transition: line-height 0.1s ease; -moz-transition: line-height 0.1s ease;
-o-transition: line-height 0.1s ease; -o-transition: line-height 0.1s ease;
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.hideme .tablesorter-filter { /* hidden filter row */
height: 1px; .tablesorter-bootstrap .tablesorter-filter-row.hideme td {
min-height: 0; padding: 2px; /* change this to modify the thickness of the closed border row */
border: 0; margin: 0;
padding: 0; line-height: 0;
margin: 0; }
/* don't use visibility: hidden because it disables tabbing */
opacity: 0;
filter: alpha(opacity=0);
}
/* pager plugin */ .tablesorter-bootstrap .tablesorter-filter-row.hideme .tablesorter-filter {
.tablesorter-bootstrap .tablesorter-pager select { height: 1px;
padding: 4px 6px; 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 { /* pager plugin */
border: 0; .tablesorter-bootstrap .tablesorter-pager select {
} padding: 4px 6px;
}
.tablesorter-bootstrap .tablesorter-pager .pagedisplay {
border: 0;
}
th { th {
background-repeat: no-repeat; background-repeat: no-repeat;

View file

@ -3,6 +3,7 @@
.tablesorter-pager.disabled { .tablesorter-pager.disabled {
display: none; display: none;
} }
/* hide or fade out pager arrows when the first or last row is visible */ /* hide or fade out pager arrows when the first or last row is visible */
.tablesorter-pager .disabled { .tablesorter-pager .disabled {
/* visibility: hidden */ /* visibility: hidden */

File diff suppressed because it is too large Load diff

View file

@ -7,16 +7,15 @@
word-wrap: break-word; word-wrap: break-word;
} }
.toast-message a, .toast-message a,
.toast-message label { .toast-message label {
color: #FFF; color: #ffffff;
} }
.toast-message a:hover {
color: #CCC;
text-decoration: none;
}
.toast-message a:hover {
color: #cccccc;
text-decoration: none;
}
.toast-top-full-width { .toast-top-full-width {
top: 0; top: 0;
@ -55,42 +54,42 @@
z-index: 999999; z-index: 999999;
} }
#toast-container > div { #toast-container > div {
margin: 0 0 6px; margin: 0 0 6px;
padding: 15px 15px 15px 50px; padding: 15px 15px 15px 50px;
width: 300px; width: 300px;
-moz-border-radius: 3px 3px 3px 3px; -moz-border-radius: 3px 3px 3px 3px;
-webkit-border-radius: 3px 3px 3px 3px; -webkit-border-radius: 3px 3px 3px 3px;
border-radius: 3px 3px 3px 3px; border-radius: 3px 3px 3px 3px;
background-position: 15px center; background-position: 15px center;
background-repeat: no-repeat; background-repeat: no-repeat;
-moz-box-shadow: 0 0 12px #999999; -moz-box-shadow: 0 0 12px #999999;
-webkit-box-shadow: 0 0 12px #999999; -webkit-box-shadow: 0 0 12px #999999;
box-shadow: 0 0 12px #999999; box-shadow: 0 0 12px #999999;
color: #FFFFFF; color: #ffffff;
opacity: 0.8; opacity: 0.8;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
filter: alpha(opacity=80); filter: alpha(opacity=80);
} }
.toast { .toast {
background-color: #030303; background-color: #030303;
} }
.toast-success { .toast-success {
background-color: #51A351; background-color: #51a351;
} }
.toast-error { .toast-error {
background-color: #BD362F; background-color: #bd362f;
} }
.toast-info { .toast-info {
background-color: #2F96B4; background-color: #2f96b4;
} }
.toast-warning { .toast-warning {
background-color: #F89406; background-color: #f89406;
} }
#toast-container > :hover { #toast-container > :hover {

View file

@ -1,105 +1,105 @@
define(['app', 'Shared/ModalRegion', 'AddSeries/AddSeriesLayout', define(['app', 'Shared/ModalRegion', 'AddSeries/AddSeriesLayout',
'Series/Index/SeriesIndexCollectionView', 'Upcoming/UpcomingCollectionView', 'Series/Index/SeriesIndexCollectionView', 'Upcoming/UpcomingCollectionView',
'Calendar/CalendarCollectionView', 'Shared/NotificationView', 'Calendar/CalendarCollectionView', 'Shared/NotificationView',
'Shared/NotFoundView', 'MainMenuView', 'HeaderView', 'Shared/NotFoundView', 'MainMenuView', 'HeaderView',
'Series/Details/SeriesDetailsView', 'Series/EpisodeCollection', 'Series/Details/SeriesDetailsView', 'Series/EpisodeCollection',
'Settings/SettingsLayout', 'Missing/MissingCollectionView'], 'Settings/SettingsLayout', 'Missing/MissingCollectionView'],
function (app, modalRegion) { function (app, modalRegion) {
var controller = Backbone.Marionette.Controller.extend({ var controller = Backbone.Marionette.Controller.extend({
addSeries: function (action, query) { addSeries: function (action, query) {
this.setTitle('Add Series'); this.setTitle('Add Series');
NzbDrone.mainRegion.show(new NzbDrone.AddSeries.AddSeriesLayout(this, action, query)); NzbDrone.mainRegion.show(new NzbDrone.AddSeries.AddSeriesLayout(this, action, query));
}, },
series: function (action, query) { series: function (action, query) {
this.setTitle('NzbDrone'); this.setTitle('NzbDrone');
NzbDrone.mainRegion.show(new NzbDrone.Series.Index.SeriesIndexCollectionView()); NzbDrone.mainRegion.show(new NzbDrone.Series.Index.SeriesIndexCollectionView());
}, },
upcoming: function (action, query) { upcoming: function (action, query) {
this.setTitle('Upcoming'); this.setTitle('Upcoming');
NzbDrone.mainRegion.show(new NzbDrone.Upcoming.UpcomingCollectionView(this, action, query)); 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));
},
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; seriesDetails: function (query) {
this.setTitle('Loading Series');
var series = new NzbDrone.Series.SeriesModel({ id: query }); var self = this;
series.fetch({ this.setTitle('Loading Series');
success: function (seriesModel) { var series = new NzbDrone.Series.SeriesModel({ id: query });
self.setTitle(seriesModel.get('title')); series.fetch({
NzbDrone.mainRegion.show(new NzbDrone.Series.Details.SeriesDetailsView({ model: seriesModel })); 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';
} }
}); else {
}, window.document.title = 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));
} }
});
},
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 () { //Modal dialog initializer
console.log('closing modal dialog'); NzbDrone.addInitializer(function () {
NzbDrone.modalRegion.close();
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();
});

View file

@ -2,91 +2,91 @@
<html xmlns="http://www.w3.org/1999/xhtml"> <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server"> <head runat="server">
<title>NzbDrone</title> <title>NzbDrone</title>
<link rel="SHORTCUT ICON" href="favicon.ico" /> <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="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="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="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" /> <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" /> <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='//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.css" rel='stylesheet' type='text/css'/>
<link href="/content/bootstrap.slider.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/bootstrapSwitch.css" rel='stylesheet' type='text/css'/>
<link href="/content/base.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/theme.css" rel='stylesheet' type='text/css'>
<link href="/content/toastr.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/fullcalendar.css" rel='stylesheet' type='text/css'>
<link href="/content/tablesorter.bootstrap.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="/content/tablesorter.pager.css" rel='stylesheet' type='text/css'/>
<link href="/AddSeries/addseries.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/menu.css" rel='stylesheet' type='text/css'/>
<link href="/content/form.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/settings.quality.css" rel='stylesheet' type='text/css'/>
</head> </head>
<body> <body>
<div id="in-nav"> <div id="in-nav">
<div class="container"> <div class="container">
<div class="row"> <div class="row">
<div class=span2> <div class=span2>
<a id="logo" href="/"> <a id="logo" href="/">
<h4>Nzb<strong>Drone</strong></h4> <h4>Nzb<strong>Drone</strong></h4>
</a> </a>
</div>
</div> </div>
</div> </div>
</div> </div>
<div id="in-sub-nav"> </div>
<div class="container"> <div id="in-sub-nav">
<div class="row"> <div class="container">
<div class="span12"> <div class="row">
<ul id="main-menu-region"> <div class="span12">
<li><a href="/"><i class="icon-film"></i> <ul id="main-menu-region">
<br> <li><a href="/"><i class="icon-film"></i>
Series</a></li> <br>
<li><a href="/calendar"><i class="icon-calendar"></i> Series</a></li>
<br> <li><a href="/calendar"><i class="icon-calendar"></i>
Calendar</a></li> <br>
<li><span class="label label-important pull-right">08</span><a href="history"><i class="icon-time"></i><br> Calendar</a></li>
History</a></li> <li><span class="label label-important pull-right">08</span><a href="history"><i class="icon-time"></i><br>
<li><span class="label label-important pull-right">04</span><a href="missing"><i class="icon-folder-open"></i><br> History</a></li>
Missing</a></li> <li><span class="label label-important pull-right">04</span><a href="missing"><i class="icon-folder-open"></i><br>
<li><a href="settings"><i class="icon-cogs"></i> Missing</a></li>
<br> <li><a href="settings"><i class="icon-cogs"></i>
Settings</a></li> <br>
<li><a href="system"><i class="icon-plane"></i> Settings</a></li>
<br> <li><a href="system"><i class="icon-plane"></i>
System</a></li> <br>
<li><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=KRTE52U3XJDSQ" target="_blank"><i class="icon-star"></i> System</a></li>
<br> <li><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=KRTE52U3XJDSQ" target="_blank"><i class="icon-star"></i>
Donate</a></li> <br>
</ul> Donate</a></li>
</div> </ul>
</div> </div>
</div> </div>
</div> </div>
<div class="page"> </div>
<div class="page-container"> <div class="page">
<div class="container"> <div class="page-container">
<div class="row"> <div class="container">
<div class="span12 header"> <div class="row">
<h4 id="title-region">NZBDRONE</h4> <div class="span12 header">
</div> <h4 id="title-region">NZBDRONE</h4>
<div class="span12" id="notification-region" />
</div> </div>
<div class="span12" id="main-region"></div> <div class="span12" id="notification-region"/>
<div id="modal-region"></div> </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>&copy; Copyright 2013 NzbDrone</p>
</div> </div>
</div> </div>
</div> </div>
<footer> </footer>
<div class="container">
<div class="row">
<div class="span12">
<p>&copy; Copyright 2013 NzbDrone</p>
</div>
</div>
</div>
</footer>
</body> </body>
<script src="/JsLibraries/jquery.js"></script> <script src="/JsLibraries/jquery.js"></script>
<script src="/JsLibraries/bootstrap.js"></script> <script src="/JsLibraries/bootstrap.js"></script>

View file

@ -1,13 +1,13 @@
'use strict'; 'use strict';
define([ define([
'app', 'app',
'Missing/MissingCollection' 'Missing/MissingCollection'
], function () { ], function () {
NzbDrone.Missing.MissingItemView = Backbone.Marionette.ItemView.extend({ NzbDrone.Missing.MissingItemView = Backbone.Marionette.ItemView.extend({
template: 'Missing/MissingItemTemplate', template: 'Missing/MissingItemTemplate',
tagName: 'tr', tagName : 'tr',
onRender: function () { onRender: function () {
NzbDrone.ModelBinder.bind(this.model, this.el); NzbDrone.ModelBinder.bind(this.model, this.el);

View file

@ -1,10 +1,10 @@
define(['app'], function (app) { define(['app'], function (app) {
NzbDrone.Missing.MissingModel = Backbone.Model.extend({ NzbDrone.Missing.MissingModel = Backbone.Model.extend({
mutators: { mutators: {
bestDateString: function () { bestDateString : function () {
return bestDateString(this.get('airDate')); return bestDateString(this.get('airDate'));
}, },
paddedEpisodeNumber: function(){ paddedEpisodeNumber: function () {
return this.get('episodeNumber'); return this.get('episodeNumber');
} }
} }

View file

@ -2,13 +2,13 @@
$.fn.autoComplete = function (resource) { $.fn.autoComplete = function (resource) {
$(this).typeahead({ $(this).typeahead({
source: function (filter, callback) { source : function (filter, callback) {
$.ajax({ $.ajax({
url: NzbDrone.Constants.ApiRoot + resource, url : NzbDrone.Constants.ApiRoot + resource,
dataType: "json", dataType: "json",
type: "GET", type : "GET",
data: { query: filter }, data : { query: filter },
success: function (data) { success : function (data) {
callback(data); callback(data);
} }
}); });

View file

@ -1,28 +1,25 @@
//try to add ajax data as query string to DELETE calls. //try to add ajax data as query string to DELETE calls.
(function (){ (function () {
var original = Backbone.ajax; var original = Backbone.ajax;
Backbone.ajax = function (){ Backbone.ajax = function () {
var xhr = arguments[0]; var xhr = arguments[0];
//check if ajax call was made with data option //check if ajax call was made with data option
if(xhr && xhr.data && xhr.type=='DELETE') if (xhr && xhr.data && xhr.type == 'DELETE') {
{ if (xhr.url.indexOf('?') === -1) {
if(xhr.url.indexOf('?') === -1)
{
xhr.url = xhr.url + '?' + $.param(xhr.data); xhr.url = xhr.url + '?' + $.param(xhr.data);
} }
else else {
{
xhr.url = xhr.url + '&' + $.param(xhr.data); xhr.url = xhr.url + '&' + $.param(xhr.data);
} }
} }
if (original){ if (original) {
original.apply (this, arguments); original.apply(this, arguments);
} }
}; };
} ()); }());

View file

@ -12,7 +12,7 @@ Marionette.TemplateCache.get = function (templateId) {
return function (data) { return function (data) {
try { try {
console.log('rendering template ' + templateName); //console.log('rendering template ' + templateName);
return templateFunction(data); return templateFunction(data);
} }
catch (error) { catch (error) {

View file

@ -1,12 +1,22 @@
function bestDateString(sourceDate){ function bestDateString(sourceDate) {
if (!sourceDate) return ''; if (!sourceDate) {
return '';
}
var date = Date.create(sourceDate); var date = Date.create(sourceDate);
if (date.isYesterday()) return 'Yesterday'; if (date.isYesterday()) {
if (date.isToday()) return 'Today'; return 'Yesterday';
if (date.isTomorrow()) return 'Tomorrow'; }
if (date.isAfter(Date.create('tomorrow')) && date.isBefore(Date.create().addDays(7))) return date.format('{Weekday}'); 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}'); return date.format('{MM}/{dd}/{yyyy}');
} }

View file

@ -1,7 +1,7 @@
$.tablesorter.addParser({ $.tablesorter.addParser({
// set a unique id // set a unique id
id: 'title', id : 'title',
is: function (s) { is : function (s) {
// return false so this parser is not auto detected // return false so this parser is not auto detected
return false; return false;
}, },
@ -10,33 +10,34 @@ $.tablesorter.addParser({
return s.match(/title="(.*?)"/)[1].toLowerCase(); return s.match(/title="(.*?)"/)[1].toLowerCase();
}, },
// set type, either numeric or text // set type, either numeric or text
type: 'text' type : 'text'
}); });
$.tablesorter.addParser({ $.tablesorter.addParser({
// set a unique id // set a unique id
id: 'date', id : 'date',
is: function (s) { is : function (s) {
// return false so this parser is not auto detected // return false so this parser is not auto detected
return false; return false;
}, },
format: function (s) { format: function (s) {
// format your data for normalization // format your data for normalization
var match = s.match(/data-date="(.*?)"/)[1]; var match = s.match(/data-date="(.*?)"/)[1];
if (match === '') if (match === '') {
return Date.create().addYears(100).format(Date.ISO8601_DATETIME); return Date.create().addYears(100).format(Date.ISO8601_DATETIME);
}
return match; return match;
}, },
// set type, either numeric or text // set type, either numeric or text
type: 'text' type : 'text'
}); });
$.tablesorter.addParser({ $.tablesorter.addParser({
// set a unique id // set a unique id
id: 'innerHtml', id : 'innerHtml',
is: function (s) { is : function (s) {
// return false so this parser is not auto detected // return false so this parser is not auto detected
return false; return false;
}, },
@ -45,5 +46,5 @@ $.tablesorter.addParser({
return $(s).get(0).innerHTML; return $(s).get(0).innerHTML;
}, },
// set type, either numeric or text // set type, either numeric or text
type: 'text' type : 'text'
}); });

View file

@ -1,6 +1,6 @@
define(['app', 'Quality/QualitySizeModel'], function () { define(['app', 'Quality/QualitySizeModel'], function () {
NzbDrone.Quality.QualitySizeCollection = Backbone.Collection.extend({ NzbDrone.Quality.QualitySizeCollection = Backbone.Collection.extend({
model: NzbDrone.Quality.QualitySizeModel, model: NzbDrone.Quality.QualitySizeModel,
url: NzbDrone.Constants.ApiRoot + '/qualitysizes' url : NzbDrone.Constants.ApiRoot + '/qualitysizes'
}); });
}); });

View file

@ -6,10 +6,10 @@
}, },
mutators: { mutators: {
thirtyMinuteSize: function() { thirtyMinuteSize: function () {
return this.get('maxSize') * 30; return this.get('maxSize') * 30;
}, },
sixtyMinuteSize: function(){ sixtyMinuteSize : function () {
return this.get('maxSize') * 60; return this.get('maxSize') * 60;
} }
} }

View file

@ -1,8 +1,8 @@
define(['app', 'Quality/QualityProfileModel'], function () { define(['app', 'Quality/QualityProfileModel'], function () {
var qualityProfileCollection = Backbone.Collection.extend({ var qualityProfileCollection = Backbone.Collection.extend({
model:NzbDrone.Quality.QualityProfileModel, model: NzbDrone.Quality.QualityProfileModel,
url:NzbDrone.Constants.ApiRoot + '/qualityprofiles' url : NzbDrone.Constants.ApiRoot + '/qualityprofiles'
}); });
var profiles = new qualityProfileCollection(); var profiles = new qualityProfileCollection();

View file

@ -2,18 +2,18 @@
NzbDrone.Quality.QualityProfileModel = Backbone.Model.extend({ NzbDrone.Quality.QualityProfileModel = Backbone.Model.extend({
mutators: { mutators: {
allowed: function() { allowed: function () {
return _.where(this.get('qualities'), { allowed: true }); return _.where(this.get('qualities'), { allowed: true });
}, },
cutoffName: function() { cutoffName: function () {
return _.findWhere(this.get('qualities'), { id: this.get('cutoff') }).name; return _.findWhere(this.get('qualities'), { id: this.get('cutoff') }).name;
} }
}, },
defaults: { defaults: {
id: null, id : null,
name: '', name : '',
//'qualities.allowed': false, //'qualities.allowed': false,
cutoff: null cutoff: null
} }

View file

@ -4,6 +4,7 @@
</div> </div>
<div class="modal-body"> <div class="modal-body">
<p>Are you sure you want to delete '{{title}}'?</p> <p>Are you sure you want to delete '{{title}}'?</p>
<div class="series-delete-files"> <div class="series-delete-files">
<label class="checkbox"> <label class="checkbox">
<input class="x-delete-files" type="checkbox" value="true"> <input class="x-delete-files" type="checkbox" value="true">

View file

@ -3,29 +3,29 @@
define(['app', 'Series/SeriesModel'], function () { define(['app', 'Series/SeriesModel'], function () {
NzbDrone.Series.Delete.DeleteSeriesView = Backbone.Marionette.ItemView.extend({ NzbDrone.Series.Delete.DeleteSeriesView = Backbone.Marionette.ItemView.extend({
template:'Series/Delete/DeleteSeriesTemplate', template : 'Series/Delete/DeleteSeriesTemplate',
tagName:'div', tagName : 'div',
className:"modal", className: "modal",
events:{ events: {
'click .x-confirm-delete':'removeSeries' 'click .x-confirm-delete': 'removeSeries'
}, },
ui:{ ui: {
deleteFiles:'.x-delete-files' deleteFiles: '.x-delete-files'
}, },
onRender:function () { onRender: function () {
NzbDrone.ModelBinder.bind(this.model, this.el); NzbDrone.ModelBinder.bind(this.model, this.el);
}, },
removeSeries:function () { removeSeries: function () {
var deleteFiles = this.ui.deleteFiles.prop('checked'); var deleteFiles = this.ui.deleteFiles.prop('checked');
this.model.destroy({ this.model.destroy({
data:{ 'deleteFiles':deleteFiles }, data : { 'deleteFiles': deleteFiles },
success:function (model) { success: function (model) {
model.collection.remove(model); model.collection.remove(model);
} }
}); });

View file

@ -3,13 +3,13 @@ define(['app', 'Series/SeasonModel'], function () {
NzbDrone.Series.Details.EpisodeItemView = Backbone.Marionette.ItemView.extend({ NzbDrone.Series.Details.EpisodeItemView = Backbone.Marionette.ItemView.extend({
template: 'Series/Details/EpisodeItemTemplate', template: 'Series/Details/EpisodeItemTemplate',
tagName: 'tr', tagName : 'tr',
ui: { ui: {
}, },
events: { events : {
}, },
onRender: function () { onRender: function () {

View file

@ -1,15 +1,15 @@
'use strict'; 'use strict';
define(['app', 'Series/Details/EpisodeItemView'], function () { define(['app', 'Series/Details/EpisodeItemView'], function () {
NzbDrone.Series.Details.SeasonCompositeView = Backbone.Marionette.CompositeView.extend({ NzbDrone.Series.Details.SeasonCompositeView = Backbone.Marionette.CompositeView.extend({
itemView: NzbDrone.Series.Details.EpisodeItemView, itemView : NzbDrone.Series.Details.EpisodeItemView,
itemViewContainer: '.x-episodes', itemViewContainer: '.x-episodes',
template: 'Series/Details/SeasonCompositeTemplate', template : 'Series/Details/SeasonCompositeTemplate',
initialize: function() { initialize: function () {
this.collection =new NzbDrone.Series.EpisodeCollection(); this.collection = new NzbDrone.Series.EpisodeCollection();
this.collection.fetch({data: { this.collection.fetch({data: {
seriesId: this.model.get('seriesId'), seriesId : this.model.get('seriesId'),
seasonNumber:this.model.get('seasonNumber') seasonNumber: this.model.get('seasonNumber')
}}); }});
} }
}); });

View file

@ -1,9 +1,9 @@
define(['app', 'Quality/QualityProfileCollection', 'Series/Details/SeasonCompositeView', 'Series/SeasonCollection'], function () { define(['app', 'Quality/QualityProfileCollection', 'Series/Details/SeasonCompositeView', 'Series/SeasonCollection'], function () {
NzbDrone.Series.Details.SeriesDetailsView = Backbone.Marionette.CompositeView.extend({ NzbDrone.Series.Details.SeriesDetailsView = Backbone.Marionette.CompositeView.extend({
itemView: NzbDrone.Series.Details.SeasonCompositeView, itemView : NzbDrone.Series.Details.SeasonCompositeView,
itemViewContainer: '.x-series-seasons', itemViewContainer: '.x-series-seasons',
template: 'Series/Details/SeriesDetailsTemplate', template : 'Series/Details/SeriesDetailsTemplate',
initialize: function () { initialize: function () {
this.collection = new NzbDrone.Series.SeasonCollection(); this.collection = new NzbDrone.Series.SeasonCollection();

View file

@ -4,24 +4,26 @@
</div> </div>
<div class="modal-body"> <div class="modal-body">
<div class="form-horizontal"> <div class="form-horizontal">
<div class="control-group"> <div class="control-group">
<label class="control-label">Monitored</label> <label class="control-label">Monitored</label>
<div class="controls"> <div class="controls">
<div class="switch"> <div class="switch">
<input type="checkbox" name="monitored" /> <input type="checkbox" name="monitored"/>
</div> </div>
<span class="help-inline-checkbox"> <span class="help-inline-checkbox">
<i class="icon-question-sign" title="Should NzbDrone download episodes for this series?"></i> <i class="icon-question-sign" title="Should NzbDrone download episodes for this series?"></i>
</span> </span>
</div> </div>
</div> </div>
<div class="control-group"> <div class="control-group">
<label class="control-label">Use Season Folder</label> <label class="control-label">Use Season Folder</label>
<div class="controls"> <div class="controls">
<div class="switch"> <div class="switch">
<input type="checkbox" name="seasonFolder" /> <input type="checkbox" name="seasonFolder"/>
</div> </div>
<span class="help-inline-checkbox"> <span class="help-inline-checkbox">
<i class="icon-question-sign" title="Should downloaded episodes be stored in season folders?"></i> <i class="icon-question-sign" title="Should downloaded episodes be stored in season folders?"></i>
@ -31,11 +33,12 @@
<div class="control-group"> <div class="control-group">
<label class="control-label" for="inputQualityProfile">Quality Profile</label> <label class="control-label" for="inputQualityProfile">Quality Profile</label>
<div class="controls"> <div class="controls">
<select class="x-quality-profile" id="inputQualityProfile" name="qualityProfileId"> <select class="x-quality-profile" id="inputQualityProfile" name="qualityProfileId">
{{#each qualityProfiles.models}} {{#each qualityProfiles.models}}
<option value="{{id}}">{{attributes.name}}</option> <option value="{{id}}">{{attributes.name}}</option>
{{/each}} {{/each}}
</select> </select>
<span class="help-inline"> <span class="help-inline">
@ -46,6 +49,7 @@
<div class="control-group"> <div class="control-group">
<label class="control-label" for="inputPath">Path</label> <label class="control-label" for="inputPath">Path</label>
<div class="controls"> <div class="controls">
<input type="text" id="inputPath" placeholder="Path" name="path"> <input type="text" id="inputPath" placeholder="Path" name="path">
<span class="help-inline"> <span class="help-inline">
@ -53,9 +57,10 @@
</span> </span>
</div> </div>
</div> </div>
<div class="control-group"> <div class="control-group">
<label class="control-label" for="inputBacklogSetting">Backlog Setting</label> <label class="control-label" for="inputBacklogSetting">Backlog Setting</label>
<div class="controls"> <div class="controls">
<select id="inputBacklogSetting" class="inputClass x-backlog-setting" name="backlogSetting"> <select id="inputBacklogSetting" class="inputClass x-backlog-setting" name="backlogSetting">
<option value="0">Inherit</option> <option value="0">Inherit</option>
@ -67,11 +72,12 @@
</span> </span>
</div> </div>
</div> </div>
<div class="control-group"> <div class="control-group">
<label class="control-label" for="inputCustomStartDate">Custom Start Date</label> <label class="control-label" for="inputCustomStartDate">Custom Start Date</label>
<div class="controls"> <div class="controls">
<input type="date" id="inputCustomStartDate" name="customStartDate"> <input type="date" id="inputCustomStartDate" name="customStartDate">
<span class="help-inline"> <span class="help-inline">
<i class="icon-question-sign" title="Should NzbDrone only download episodes after your preferred start date?"></i> <i class="icon-question-sign" title="Should NzbDrone only download episodes after your preferred start date?"></i>
</span> </span>
@ -80,7 +86,7 @@
</div> </div>
</div> </div>
<div class="modal-footer"> <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" data-dismiss="modal">cancel</button>
<button class="btn btn-primary x-save">save</button> <button class="btn btn-primary x-save">save</button>
</div> </div>

View file

@ -2,19 +2,19 @@
define(['app', 'Series/SeriesModel', 'Series/Delete/DeleteSeriesView', 'Quality/QualityProfileCollection'], function () { define(['app', 'Series/SeriesModel', 'Series/Delete/DeleteSeriesView', 'Quality/QualityProfileCollection'], function () {
NzbDrone.Series.Edit.EditSeriesView = Backbone.Marionette.ItemView.extend({ NzbDrone.Series.Edit.EditSeriesView = Backbone.Marionette.ItemView.extend({
template: 'Series/Edit/EditSeriesTemplate', template : 'Series/Edit/EditSeriesTemplate',
tagName: 'div', tagName : 'div',
className: "modal", className: "modal",
ui: { ui: {
progressbar: '.progress .bar', progressbar : '.progress .bar',
qualityProfile: '.x-quality-profile', qualityProfile : '.x-quality-profile',
backlogSettings: '.x-backlog-setting', backlogSettings: '.x-backlog-setting',
switch: '.switch' switch : '.switch'
}, },
events: { events: {
'click .x-save': 'saveSeries', 'click .x-save' : 'saveSeries',
'click .x-remove': 'removeSeries' 'click .x-remove': 'removeSeries'
}, },

View file

@ -1,6 +1,6 @@
define(['app', 'Series/EpisodeModel'], function () { define(['app', 'Series/EpisodeModel'], function () {
NzbDrone.Series.EpisodeCollection = Backbone.Collection.extend({ NzbDrone.Series.EpisodeCollection = Backbone.Collection.extend({
url: NzbDrone.Constants.ApiRoot + '/episodes', url : NzbDrone.Constants.ApiRoot + '/episodes',
model: NzbDrone.Series.EpisodeModel model: NzbDrone.Series.EpisodeModel
}); });
}); });

View file

@ -2,9 +2,9 @@
define(['app', 'Quality/QualityProfileCollection', 'Series/Index/SeriesItemView'], function (app, qualityProfileCollection) { define(['app', 'Quality/QualityProfileCollection', 'Series/Index/SeriesItemView'], function (app, qualityProfileCollection) {
NzbDrone.Series.Index.SeriesIndexCollectionView = Backbone.Marionette.CompositeView.extend({ NzbDrone.Series.Index.SeriesIndexCollectionView = Backbone.Marionette.CompositeView.extend({
itemView: NzbDrone.Series.Index.SeriesItemView, itemView : NzbDrone.Series.Index.SeriesItemView,
itemViewContainer: 'tbody', itemViewContainer : 'tbody',
template: 'Series/Index/SeriesIndexTemplate', template : 'Series/Index/SeriesIndexTemplate',
qualityProfileCollection: qualityProfileCollection, qualityProfileCollection: qualityProfileCollection,
//emptyView: NzbDrone.Series.EmptySeriesCollectionView, //emptyView: NzbDrone.Series.EmptySeriesCollectionView,
@ -18,27 +18,26 @@ define(['app', 'Quality/QualityProfileCollection', 'Series/Index/SeriesItemView'
this.itemViewOptions = { qualityProfiles: this.qualityProfileCollection }; this.itemViewOptions = { qualityProfiles: this.qualityProfileCollection };
}, },
ui:{ ui: {
table : '.x-series-table' table: '.x-series-table'
}, },
onItemRemoved: function() onItemRemoved: function () {
{
this.ui.table.trigger('update'); this.ui.table.trigger('update');
}, },
onCompositeCollectionRendered: function() onCompositeCollectionRendered: function () {
{
this.ui.table.trigger('update'); 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({ this.tableSorter = this.ui.table.tablesorter({
textExtraction: function (node) { textExtraction: function (node) {
return node.innerHTML; return node.innerHTML;
}, },
sortList: [[1,0]], sortList : [
headers: { [1, 0]
],
headers : {
0: { 0: {
sorter: 'title' sorter: 'title'
}, },
@ -59,30 +58,32 @@ define(['app', 'Quality/QualityProfileCollection', 'Series/Index/SeriesItemView'
this.applySortIcons(); this.applySortIcons();
this.ui.table.bind("sortEnd", function() { this.ui.table.bind("sortEnd", function () {
this.applySortIcons(); this.applySortIcons();
}); });
} }
else else {
{
this.ui.table.trigger('update'); this.ui.table.trigger('update');
} }
}, },
//Todo: Remove this from each view that requires it //Todo: Remove this from each view that requires it
applySortIcons: function() { applySortIcons : function () {
$(this.ui.table).find('th.tablesorter-header .tablesorter-header-inner i').each(function(){ $(this.ui.table).find('th.tablesorter-header .tablesorter-header-inner i').each(function () {
$(this).remove(); $(this).remove();
}); });
$(this.ui.table).find('th.tablesorter-header').each(function () { $(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">'); $(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">'); $(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">'); $(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({ NzbDrone.Series.Index.EmptySeriesCollectionView = Backbone.Marionette.CompositeView.extend({
template: 'Series/Index/EmptySeriesCollectionTemplate', template: 'Series/Index/EmptySeriesCollectionTemplate',
tagName: 'tr' tagName : 'tr'
}); });

View file

@ -8,8 +8,9 @@
<td> <td>
<div class="progress"> <div class="progress">
<span class="progressbar-back-text">{{episodeFileCount}} / {{episodeCount}}</span> <span class="progressbar-back-text">{{episodeFileCount}} / {{episodeCount}}</span>
<div class="bar" style="width:{{percentOfEpisodes}}%"><span class="progressbar-front-text">{{episodeFileCount}} / {{episodeCount}}</span></div> <div class="bar" style="width:{{percentOfEpisodes}}%"><span class="progressbar-front-text">{{episodeFileCount}} / {{episodeCount}}</span></div>
</div> </div>
</td> </td>
<td> <td>
<i class="icon-cog x-edit" title="Edit Series"></i> <i class="icon-cog x-edit" title="Edit Series"></i>

View file

@ -1,24 +1,24 @@
'use strict'; 'use strict';
define([ define([
'app', 'app',
'Quality/QualityProfileCollection', 'Quality/QualityProfileCollection',
'Series/SeriesCollection', 'Series/SeriesCollection',
'Series/Edit/EditSeriesView', 'Series/Edit/EditSeriesView',
'Series/Delete/DeleteSeriesView' 'Series/Delete/DeleteSeriesView'
], function () { ], function () {
NzbDrone.Series.Index.SeriesItemView = Backbone.Marionette.ItemView.extend({ NzbDrone.Series.Index.SeriesItemView = Backbone.Marionette.ItemView.extend({
template: 'Series/Index/SeriesItemTemplate', template: 'Series/Index/SeriesItemTemplate',
tagName: 'tr', tagName : 'tr',
ui: { ui: {
'progressbar': '.progress .bar' 'progressbar': '.progress .bar'
}, },
events: { events: {
'click .x-edit': 'editSeries', 'click .x-edit' : 'editSeries',
'click .x-remove': 'removeSeries' 'click .x-remove': 'removeSeries'
}, },

View file

@ -1,6 +1,6 @@
define(['app','Series/SeasonModel'], function () { define(['app', 'Series/SeasonModel'], function () {
NzbDrone.Series.SeasonCollection = Backbone.Collection.extend({ NzbDrone.Series.SeasonCollection = Backbone.Collection.extend({
url: NzbDrone.Constants.ApiRoot + '/season', url : NzbDrone.Constants.ApiRoot + '/season',
model: NzbDrone.Series.SeasonModel model: NzbDrone.Series.SeasonModel
}); });
}); });

View file

@ -1,6 +1,6 @@
define(['app', 'Series/SeriesModel'], function () { define(['app', 'Series/SeriesModel'], function () {
NzbDrone.Series.SeriesCollection = Backbone.Collection.extend({ NzbDrone.Series.SeriesCollection = Backbone.Collection.extend({
url: NzbDrone.Constants.ApiRoot + '/series', url : NzbDrone.Constants.ApiRoot + '/series',
model: NzbDrone.Series.SeriesModel model: NzbDrone.Series.SeriesModel
}); });
}); });

View file

@ -14,8 +14,9 @@
var percent = 100; var percent = 100;
if (episodeCount > 0) if (episodeCount > 0) {
percent = episodeFileCount / episodeCount * 100; percent = episodeFileCount / episodeCount * 100;
}
return percent; return percent;
} }
@ -23,8 +24,8 @@
defaults: { defaults: {
episodeFileCount: 0, episodeFileCount: 0,
episodeCount: 0, episodeCount : 0,
qualityProfiles: qualityProfileCollection qualityProfiles : qualityProfileCollection
} }
}); });

View file

@ -3,6 +3,7 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">Download Client</label> <label class="control-label">Download Client</label>
<div class="controls"> <div class="controls">
<select class="inputClass x-backlog-setting" name="downloadClient"> <select class="inputClass x-backlog-setting" name="downloadClient">
<option value="0">SABnzbd</option> <option value="0">SABnzbd</option>
@ -17,8 +18,9 @@
</div> </div>
<div class="control-group"> <div class="control-group">
<label class="control-label">Unsorted TV Directory</label> <label class="control-label">Unsorted TV Directory</label>
<div class="controls"> <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"> <span class="help-inline">
<i class="icon-question-sign" title="The directory where your download client downloads TV shows to."></i> <i class="icon-question-sign" title="The directory where your download client downloads TV shows to."></i>
</span> </span>
@ -27,9 +29,10 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">Use Scene Name</label> <label class="control-label">Use Scene Name</label>
<div class="controls"> <div class="controls">
<div class="switch"> <div class="switch">
<input type="checkbox" name="useSceneName" /> <input type="checkbox" name="useSceneName"/>
</div> </div>
<span class="help-inline-checkbox"> <span class="help-inline-checkbox">
<i class="icon-question-sign" title="Use Scene name when adding NZB to queue?"></i> <i class="icon-question-sign" title="Use Scene name when adding NZB to queue?"></i>
@ -43,18 +46,21 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">Auto-Configure</label> <label class="control-label">Auto-Configure</label>
<div class="controls"> <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"> <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> </span>
</div> </div>
</div> </div>
<div class="control-group"> <div class="control-group">
<label class="control-label">Host</label> <label class="control-label">Host</label>
<div class="controls"> <div class="controls">
<input type="text" name="sabHost" /> <input type="text" name="sabHost"/>
<span class="help-inline"> <span class="help-inline">
<i class="icon-question-sign" title="Hostname or IP Address running SABnzbd"></i> <i class="icon-question-sign" title="Hostname or IP Address running SABnzbd"></i>
</span> </span>
@ -63,8 +69,9 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">Port</label> <label class="control-label">Port</label>
<div class="controls"> <div class="controls">
<input type="text" name="sabPort" /> <input type="text" name="sabPort"/>
<span class="help-inline"> <span class="help-inline">
<i class="icon-question-sign" title="Port for the SABnzbd Web Interface"></i> <i class="icon-question-sign" title="Port for the SABnzbd Web Interface"></i>
</span> </span>
@ -73,8 +80,9 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">API Key</label> <label class="control-label">API Key</label>
<div class="controls"> <div class="controls">
<input type="text" name="sabApiKey" /> <input type="text" name="sabApiKey"/>
<span class="help-inline"> <span class="help-inline">
<i class="icon-question-sign" title="API Key for SABnzbd<br/>Found in Config -> General"></i> <i class="icon-question-sign" title="API Key for SABnzbd<br/>Found in Config -> General"></i>
</span> </span>
@ -83,8 +91,9 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">Username</label> <label class="control-label">Username</label>
<div class="controls"> <div class="controls">
<input type="text" name="sabUsername" /> <input type="text" name="sabUsername"/>
<span class="help-inline"> <span class="help-inline">
<i class="icon-question-sign" title="Username for the SABnzbd web interface"></i> <i class="icon-question-sign" title="Username for the SABnzbd web interface"></i>
</span> </span>
@ -93,8 +102,9 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">Password</label> <label class="control-label">Password</label>
<div class="controls"> <div class="controls">
<input type="password" name="sabPassword" /> <input type="password" name="sabPassword"/>
<span class="help-inline"> <span class="help-inline">
<i class="icon-question-sign" title="Password for the SABnzbd web interface"></i> <i class="icon-question-sign" title="Password for the SABnzbd web interface"></i>
</span> </span>
@ -103,6 +113,7 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">TV Category</label> <label class="control-label">TV Category</label>
<div class="controls"> <div class="controls">
<input type="text" name="sabTvCategory" placeholder="This is not the dropdownlist you're looking for"/> <input type="text" name="sabTvCategory" placeholder="This is not the dropdownlist you're looking for"/>
<span class="help-inline"> <span class="help-inline">
@ -113,6 +124,7 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">Backlog Priority</label> <label class="control-label">Backlog Priority</label>
<div class="controls"> <div class="controls">
<select name="sabBacklogTvPriority"> <select name="sabBacklogTvPriority">
<option>Default</option> <option>Default</option>
@ -130,6 +142,7 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">Recent Priority</label> <label class="control-label">Recent Priority</label>
<div class="controls"> <div class="controls">
<select name="sabRecentTvPriority"> <select name="sabRecentTvPriority">
<option>Default</option> <option>Default</option>
@ -147,8 +160,9 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">Test</label> <label class="control-label">Test</label>
<div class="controls"> <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"> <span class="help-inline">
<i class="icon-question-sign" title="Test SABnzbd settings"></i> <i class="icon-question-sign" title="Test SABnzbd settings"></i>
</span> </span>
@ -160,8 +174,9 @@
<legend>Blackhole</legend> <legend>Blackhole</legend>
<div class="control-group"> <div class="control-group">
<label class="control-label">Blackhole Directory</label> <label class="control-label">Blackhole Directory</label>
<div class="controls"> <div class="controls">
<input type="text" name="blackholeDirectory" class="x-path" /> <input type="text" name="blackholeDirectory" class="x-path"/>
<span class="help-inline"> <span class="help-inline">
<i class="icon-question-sign" title="The directory where your download client will pickup .nzb files"></i> <i class="icon-question-sign" title="The directory where your download client will pickup .nzb files"></i>
</span> </span>
@ -173,8 +188,9 @@
<legend>Pneumatic</legend> <legend>Pneumatic</legend>
<div class="control-group"> <div class="control-group">
<label class="control-label">Nzb Directory</label> <label class="control-label">Nzb Directory</label>
<div class="controls"> <div class="controls">
<input type="text" name="pneumaticDirectory" class="x-path" /> <input type="text" name="pneumaticDirectory" class="x-path"/>
<span class="help-inline"> <span class="help-inline">
<i class="icon-question-sign" title="Directory to save NZBs for Pneumatic<br/>must be accessible from XBMC"></i> <i class="icon-question-sign" title="Directory to save NZBs for Pneumatic<br/>must be accessible from XBMC"></i>
</span> </span>
@ -186,8 +202,9 @@
<legend>NZBGet</legend> <legend>NZBGet</legend>
<div class="control-group"> <div class="control-group">
<label class="control-label">Host</label> <label class="control-label">Host</label>
<div class="controls"> <div class="controls">
<input type="text" name="nzbgetHost" /> <input type="text" name="nzbgetHost"/>
<span class="help-inline"> <span class="help-inline">
<i class="icon-question-sign" title="Hostname or IP Address running NZBGet"></i> <i class="icon-question-sign" title="Hostname or IP Address running NZBGet"></i>
</span> </span>
@ -196,8 +213,9 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">Port</label> <label class="control-label">Port</label>
<div class="controls"> <div class="controls">
<input type="text" name="nzbgetPort" /> <input type="text" name="nzbgetPort"/>
<span class="help-inline"> <span class="help-inline">
<i class="icon-question-sign" title="Port for the NZBGet Web Interface"></i> <i class="icon-question-sign" title="Port for the NZBGet Web Interface"></i>
</span> </span>
@ -206,8 +224,9 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">API Key</label> <label class="control-label">API Key</label>
<div class="controls"> <div class="controls">
<input type="text" name="nzbgetApiKey" /> <input type="text" name="nzbgetApiKey"/>
<span class="help-inline"> <span class="help-inline">
<i class="icon-question-sign" title="API Key for NZBGet<br/>Found in Config -> General"></i> <i class="icon-question-sign" title="API Key for NZBGet<br/>Found in Config -> General"></i>
</span> </span>
@ -216,8 +235,9 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">Username</label> <label class="control-label">Username</label>
<div class="controls"> <div class="controls">
<input type="text" name="nzbgetUsername" /> <input type="text" name="nzbgetUsername"/>
<span class="help-inline"> <span class="help-inline">
<i class="icon-question-sign" title="Username for the NZBGet web interface"></i> <i class="icon-question-sign" title="Username for the NZBGet web interface"></i>
</span> </span>
@ -226,8 +246,9 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">Password</label> <label class="control-label">Password</label>
<div class="controls"> <div class="controls">
<input type="password" name="nzbgetPassword" /> <input type="password" name="nzbgetPassword"/>
<span class="help-inline"> <span class="help-inline">
<i class="icon-question-sign" title="Password for the NZBGet web interface"></i> <i class="icon-question-sign" title="Password for the NZBGet web interface"></i>
</span> </span>
@ -236,8 +257,9 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">TV Category</label> <label class="control-label">TV Category</label>
<div class="controls"> <div class="controls">
<input type="text" name="nzbgetTvCategory" /> <input type="text" name="nzbgetTvCategory"/>
<span class="help-inline"> <span class="help-inline">
<i class="icon-question-sign" title="Category to use when sending NZBs to NZBGet"></i> <i class="icon-question-sign" title="Category to use when sending NZBs to NZBGet"></i>
</span> </span>
@ -246,6 +268,7 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">Backlog Priority</label> <label class="control-label">Backlog Priority</label>
<div class="controls"> <div class="controls">
<select name="nzbgetBacklogTvPriority"> <select name="nzbgetBacklogTvPriority">
<option>Default</option> <option>Default</option>
@ -263,6 +286,7 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">Recent Priority</label> <label class="control-label">Recent Priority</label>
<div class="controls"> <div class="controls">
<select name="nzbgetRecentTvPriority"> <select name="nzbgetRecentTvPriority">
<option>Default</option> <option>Default</option>
@ -280,8 +304,9 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">Test</label> <label class="control-label">Test</label>
<div class="controls"> <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"> <span class="help-inline">
<i class="icon-question-sign" title="Test NZBGet settings"></i> <i class="icon-question-sign" title="Test NZBGet settings"></i>
</span> </span>

View file

@ -1,17 +1,17 @@
'use strict'; 'use strict';
define([ define([
'app', 'Settings/SettingsModel' 'app', 'Settings/SettingsModel'
], function () { ], function () {
NzbDrone.Settings.DownloadClient.DownloadClientView = Backbone.Marionette.ItemView.extend({ NzbDrone.Settings.DownloadClient.DownloadClientView = Backbone.Marionette.ItemView.extend({
template: 'Settings/DownloadClient/DownloadClientTemplate', template : 'Settings/DownloadClient/DownloadClientTemplate',
className: 'form-horizontal', className: 'form-horizontal',
ui: { ui: {
switch: '.switch', switch : '.switch',
tooltip: '[class^="help-inline"] i', tooltip : '[class^="help-inline"] i',
pathInput: '.x-path' pathInput: '.x-path'
}, },

View file

@ -1,7 +1,7 @@
'use strict'; 'use strict';
define([ define([
'app', 'Settings/SettingsModel' 'app', 'Settings/SettingsModel'
], function () { ], function () {

View file

@ -3,9 +3,10 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">Backlog Searching</label> <label class="control-label">Backlog Searching</label>
<div class="controls"> <div class="controls">
<div class="switch"> <div class="switch">
<input type="checkbox" name="enableBacklogSearching" /> <input type="checkbox" name="enableBacklogSearching"/>
</div> </div>
<span class="help-inline-checkbox"> <span class="help-inline-checkbox">
<i class="icon-question-sign" title="Should NzbDrone try to download missing episodes automatically?"></i> <i class="icon-question-sign" title="Should NzbDrone try to download missing episodes automatically?"></i>
@ -17,9 +18,10 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">Ignore Deleted Episodes</label> <label class="control-label">Ignore Deleted Episodes</label>
<div class="controls"> <div class="controls">
<div class="switch"> <div class="switch">
<input type="checkbox" name="autoIgnorePreviouslyDownloadedEpisodes" /> <input type="checkbox" name="autoIgnorePreviouslyDownloadedEpisodes"/>
</div> </div>
<span class="help-inline-checkbox"> <span class="help-inline-checkbox">
<i class="icon-question-sign" title="Episodes deleted from disk are automatically ignored in NzbDrone"></i> <i class="icon-question-sign" title="Episodes deleted from disk are automatically ignored in NzbDrone"></i>
@ -29,6 +31,7 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">Nzb Restrictions</label> <label class="control-label">Nzb Restrictions</label>
<div class="controls"> <div class="controls">
<textarea rows="3" name="nzbRestrictions" class="nzb-restrictions"></textarea> <textarea rows="3" name="nzbRestrictions" class="nzb-restrictions"></textarea>
<span class="help-inline"> <span class="help-inline">

View file

@ -1,16 +1,16 @@
'use strict'; 'use strict';
define([ define([
'app', 'Settings/SettingsModel' 'app', 'Settings/SettingsModel'
], function () { ], function () {
NzbDrone.Settings.Misc.MiscView = Backbone.Marionette.ItemView.extend({ NzbDrone.Settings.Misc.MiscView = Backbone.Marionette.ItemView.extend({
template: 'Settings/Misc/MiscTemplate', template : 'Settings/Misc/MiscTemplate',
className: 'form-horizontal', className: 'form-horizontal',
ui: { ui: {
switch: '.switch', switch : '.switch',
tooltip: '[class^="help-inline"] i' tooltip: '[class^="help-inline"] i'
}, },

View file

@ -3,9 +3,10 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">Use Scene Name</label> <label class="control-label">Use Scene Name</label>
<div class="controls"> <div class="controls">
<div class="switch"> <div class="switch">
<input type="checkbox" name="sortingUseSceneName" /> <input type="checkbox" name="sortingUseSceneName"/>
</div> </div>
<span class="help-inline-checkbox"> <span class="help-inline-checkbox">
<i class="icon-question-sign" title="Use the scene name, ignoring all other naming settings"></i> <i class="icon-question-sign" title="Use the scene name, ignoring all other naming settings"></i>
@ -15,9 +16,10 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">Series Name</label> <label class="control-label">Series Name</label>
<div class="controls"> <div class="controls">
<div class="switch"> <div class="switch">
<input type="checkbox" name="sortingIncludeSeriesName" /> <input type="checkbox" name="sortingIncludeSeriesName"/>
</div> </div>
<span class="help-inline-checkbox"> <span class="help-inline-checkbox">
<i class="icon-question-sign" title="Should filenames contain the series name when renamed?"></i> <i class="icon-question-sign" title="Should filenames contain the series name when renamed?"></i>
@ -27,9 +29,10 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">Episode Name</label> <label class="control-label">Episode Name</label>
<div class="controls"> <div class="controls">
<div class="switch"> <div class="switch">
<input type="checkbox" name="sortingIncludeEpisodeTitle" /> <input type="checkbox" name="sortingIncludeEpisodeTitle"/>
</div> </div>
<span class="help-inline-checkbox"> <span class="help-inline-checkbox">
<i class="icon-question-sign" title="Should filenames contain the episode name when renamed?"></i> <i class="icon-question-sign" title="Should filenames contain the episode name when renamed?"></i>
@ -39,9 +42,10 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">Replace Spaces</label> <label class="control-label">Replace Spaces</label>
<div class="controls"> <div class="controls">
<div class="switch"> <div class="switch">
<input type="checkbox" name="sortingReplaceSpaces" /> <input type="checkbox" name="sortingReplaceSpaces"/>
</div> </div>
<span class="help-inline-checkbox"> <span class="help-inline-checkbox">
<i class="icon-question-sign" title="Do you want to replace spaces in the filename with periods?"></i> <i class="icon-question-sign" title="Do you want to replace spaces in the filename with periods?"></i>
@ -50,23 +54,25 @@
</div> </div>
<div class="control-group"> <div class="control-group">
<label class="control-label">Append Quality</label> <label class="control-label">Append Quality</label>
<div class="controls">
<div class="switch"> <div class="controls">
<input type="checkbox" name="sortingAppendQuality" /> <div class="switch">
</div> <input type="checkbox" name="sortingAppendQuality"/>
</div>
<span class="help-inline-checkbox"> <span class="help-inline-checkbox">
<i class="icon-question-sign" title="Should filenames have the quality appended to the end?"></i> <i class="icon-question-sign" title="Should filenames have the quality appended to the end?"></i>
</span> </span>
</div>
</div> </div>
</div>
<div class="control-group"> <div class="control-group">
<label class="control-label">Use Scene Folders</label> <label class="control-label">Use Scene Folders</label>
<div class="controls"> <div class="controls">
<div class="switch"> <div class="switch">
<input type="checkbox" name="useSeasonFolder" /> <input type="checkbox" name="useSeasonFolder"/>
</div> </div>
<span class="help-inline-checkbox"> <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> <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"> <div class="control-group">
<label class="control-label">Season Folder Format</label> <label class="control-label">Season Folder Format</label>
<div class="controls"> <div class="controls">
<input type="text" placeholder="Season %s" name="sortingSeasonFolderFormat" /> <input type="text" placeholder="Season %s" name="sortingSeasonFolderFormat"/>
<span class="help-inline"> <span class="help-inline">
<i class="icon-question-sign" title="How should season folders be named? (Use %0s to pad to two digits)"></i> <i class="icon-question-sign" title="How should season folders be named? (Use %0s to pad to two digits)"></i>
</span> </span>
@ -87,6 +94,7 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">Separator Style</label> <label class="control-label">Separator Style</label>
<div class="controls"> <div class="controls">
<select class="inputClass x-backlog-setting" name="sortingSeparatorStyle"> <select class="inputClass x-backlog-setting" name="sortingSeparatorStyle">
<option value="0">Dash</option> <option value="0">Dash</option>
@ -101,6 +109,7 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">Numbering Style</label> <label class="control-label">Numbering Style</label>
<div class="controls"> <div class="controls">
<select class="inputClass x-backlog-setting" name="sortingNumberStyle"> <select class="inputClass x-backlog-setting" name="sortingNumberStyle">
<option value="0">1x05</option> <option value="0">1x05</option>
@ -116,6 +125,7 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">Multi-Episode Style</label> <label class="control-label">Multi-Episode Style</label>
<div class="controls"> <div class="controls">
<select class="inputClass x-backlog-setting" name="sortingMultiEpisodeStyle"> <select class="inputClass x-backlog-setting" name="sortingMultiEpisodeStyle">
<option value="0">Extend</option> <option value="0">Extend</option>
@ -135,9 +145,10 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">XBMC</label> <label class="control-label">XBMC</label>
<div class="controls"> <div class="controls">
<div class="switch"> <div class="switch">
<input type="checkbox" name="metadataXbmcEnabled" /> <input type="checkbox" name="metadataXbmcEnabled"/>
</div> </div>
<span class="help-inline-checkbox"> <span class="help-inline-checkbox">
<i class="icon-question-sign" title="Enable creating metadata for XBMC"></i> <i class="icon-question-sign" title="Enable creating metadata for XBMC"></i>
@ -147,9 +158,10 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">Use Banners</label> <label class="control-label">Use Banners</label>
<div class="controls"> <div class="controls">
<div class="switch"> <div class="switch">
<input type="checkbox" name="metadataUseBanners" /> <input type="checkbox" name="metadataUseBanners"/>
</div> </div>
<span class="help-inline-checkbox"> <span class="help-inline-checkbox">
<i class="icon-question-sign" title="Use banners instead of posters?"></i> <i class="icon-question-sign" title="Use banners instead of posters?"></i>

View file

@ -1,20 +1,20 @@
'use strict'; 'use strict';
define([ define([
'app', 'Settings/SettingsModel' 'app', 'Settings/SettingsModel'
], function () { ], function () {
NzbDrone.Settings.Naming.NamingView = Backbone.Marionette.ItemView.extend({ NzbDrone.Settings.Naming.NamingView = Backbone.Marionette.ItemView.extend({
template: 'Settings/Naming/NamingTemplate', template : 'Settings/Naming/NamingTemplate',
className: 'form-horizontal', className: 'form-horizontal',
ui: { ui: {
switch: '.switch', switch : '.switch',
tooltip: '[class^="help-inline"] i' tooltip: '[class^="help-inline"] i'
}, },
initialize: function(){ initialize: function () {
//Listen to save event //Listen to save event
}, },

View file

@ -1,7 +1,7 @@
'use strict'; 'use strict';
define([ define([
'app', 'Settings/SettingsModel' 'app', 'Settings/SettingsModel'
], function () { ], function () {

View file

@ -7,6 +7,7 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">Name</label> <label class="control-label">Name</label>
<div class="controls"> <div class="controls">
<input type="text" name="name"> <input type="text" name="name">
<span class="help-inline"> <span class="help-inline">
@ -17,11 +18,12 @@
<div class="control-group"> <div class="control-group">
<label class="control-label">Cutoff</label> <label class="control-label">Cutoff</label>
<div class="controls"> <div class="controls">
<select class="x-cutoff" name="cutoff"> <select class="x-cutoff" name="cutoff">
{{#each allowed}} {{#each allowed}}
<option value="{{id}}">{{name}}</option> <option value="{{id}}">{{name}}</option>
{{/each}} {{/each}}
</select> </select>
<span class="help-inline"> <span class="help-inline">
@ -35,20 +37,20 @@
{{#each qualities}} {{#each qualities}}
<div class="control-group"> <div class="control-group">
<label class="control-label">{{name}}</label> <label class="control-label">{{name}}</label>
<div class="controls"> <div class="controls">
<div class="switch" data-on-label="Yes" data-off-label="No"> <div class="switch" data-on-label="Yes" data-off-label="No">
<input type="checkbox" name="allowed" /> <input type="checkbox" name="allowed"/>
</div> </div>
</div> </div>
</div> </div>
{{/each}} {{/each}}
</div> </div>
</div> </div>
<div class="modal-footer"> <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" data-dismiss="modal">cancel</button>
<button class="btn btn-primary x-save">save</button> <button class="btn btn-primary x-save">save</button>
</div> </div>

View file

@ -2,8 +2,8 @@
define(['app', 'Quality/QualityProfileModel'], function () { define(['app', 'Quality/QualityProfileModel'], function () {
NzbDrone.Settings.Quality.Profile.EditQualityProfileView = Backbone.Marionette.ItemView.extend({ NzbDrone.Settings.Quality.Profile.EditQualityProfileView = Backbone.Marionette.ItemView.extend({
template: 'Settings/Quality/Profile/EditQualityProfileTemplate', template : 'Settings/Quality/Profile/EditQualityProfileTemplate',
tagName: 'div', tagName : 'div',
className: "modal", className: "modal",
ui: { ui: {
@ -29,10 +29,10 @@ define(['app', 'Quality/QualityProfileModel'], function () {
this.$el.parent().modal('hide'); this.$el.parent().modal('hide');
}, },
// removeSeries: function () { // removeSeries: function () {
// var view = new NzbDrone.Series.Delete.DeleteSeriesView({ model: this.model }); // var view = new NzbDrone.Series.Delete.DeleteSeriesView({ model: this.model });
// NzbDrone.modalRegion.show(view); // NzbDrone.modalRegion.show(view);
// } // }
}); });
}); });

View file

@ -2,12 +2,12 @@
<legend>Quality Profiles</legend> <legend>Quality Profiles</legend>
<table class="table table-hover"> <table class="table table-hover">
<thead> <thead>
<tr> <tr>
<th>Name</th> <th>Name</th>
<th>Allowed</th> <th>Allowed</th>
<th>Cutoff</th> <th>Cutoff</th>
<th>Controls</th> <th>Controls</th>
</tr> </tr>
</thead> </thead>
<tbody></tbody> <tbody></tbody>
</table> </table>

View file

@ -2,19 +2,18 @@
define(['app', 'Settings/Quality/Profile/QualityProfileView'], function (app) { define(['app', 'Settings/Quality/Profile/QualityProfileView'], function (app) {
NzbDrone.Settings.Quality.Profile.QualityProfileCollectionView = Backbone.Marionette.CompositeView.extend({ NzbDrone.Settings.Quality.Profile.QualityProfileCollectionView = Backbone.Marionette.CompositeView.extend({
itemView: NzbDrone.Settings.Quality.Profile.QualityProfileView, itemView : NzbDrone.Settings.Quality.Profile.QualityProfileView,
itemViewContainer: 'tbody', itemViewContainer: 'tbody',
template: 'Settings/Quality/Profile/QualityProfileCollectionTemplate', template : 'Settings/Quality/Profile/QualityProfileCollectionTemplate',
initialize: function (options) { initialize: function (options) {
}, },
ui:{ ui: {
}, },
onCompositeCollectionRendered: function() onCompositeCollectionRendered: function () {
{
} }
}); });

View file

@ -1,7 +1,7 @@
<td name="name"></td> <td name="name"></td>
<td> <td>
{{#each allowed}} {{#each allowed}}
{{name}} | {{name}} |
{{/each}} {{/each}}
</td> </td>
<td name="cutoffName"></td> <td name="cutoffName"></td>

View file

@ -1,22 +1,22 @@
'use strict'; 'use strict';
define([ define([
'app', 'app',
'Quality/QualityProfileCollection', 'Quality/QualityProfileCollection',
'Settings/Quality/Profile/EditQualityProfileView' 'Settings/Quality/Profile/EditQualityProfileView'
], function () { ], function () {
NzbDrone.Settings.Quality.Profile.QualityProfileView = Backbone.Marionette.ItemView.extend({ NzbDrone.Settings.Quality.Profile.QualityProfileView = Backbone.Marionette.ItemView.extend({
template: 'Settings/Quality/Profile/QualityProfileTemplate', template: 'Settings/Quality/Profile/QualityProfileTemplate',
tagName: 'tr', tagName : 'tr',
ui: { ui: {
'progressbar': '.progress .bar' 'progressbar': '.progress .bar'
}, },
events: { events: {
'click .x-edit': 'editSeries', 'click .x-edit' : 'editSeries',
'click .x-remove': 'removeSeries' 'click .x-remove': 'removeSeries'
}, },

View file

@ -12,8 +12,8 @@
regions: { regions: {
qualityStandard: '#quality-standard', qualityStandard: '#quality-standard',
qualityProfile: '#quality-profile', qualityProfile : '#quality-profile',
qualitySize: '#quality-size' qualitySize : '#quality-size'
}, },
ui: { ui: {

View file

@ -1,14 +1,14 @@
 <div class="control-group">
<div class="control-group"> <label class="control-label">Default Quality Profile</label>
<label class="control-label">Default Quality Profile</label>
<div class="controls"> <div class="controls">
<select class="x-quality-profile" name="qualityProfileId"> <select class="x-quality-profile" name="qualityProfileId">
{{#each qualityProfiles.models}} {{#each qualityProfiles.models}}
<option value="{{id}}">{{attributes.name}}</option> <option value="{{id}}">{{attributes.name}}</option>
{{/each}} {{/each}}
</select> </select>
<span class="help-inline"> <span class="help-inline">
<i class="icon-question-sign" title="The default quality to use when adding series to NzbDrone "></i> <i class="icon-question-sign" title="The default quality to use when adding series to NzbDrone "></i>
</span> </span>
</div>
</div> </div>
</div>

View file

@ -1,15 +1,15 @@
'use strict'; 'use strict';
define([ define([
'app', 'Settings/SettingsModel' 'app', 'Settings/SettingsModel'
], function () { ], function () {
NzbDrone.Settings.Quality.QualityView = Backbone.Marionette.ItemView.extend({ NzbDrone.Settings.Quality.QualityView = Backbone.Marionette.ItemView.extend({
template: 'Settings/Quality/QualityTemplate', template : 'Settings/Quality/QualityTemplate',
className: 'form-horizontal', className: 'form-horizontal',
initialize: function(options) { initialize: function (options) {
this.qualityProfileCollection = options.qualityProfiles; this.qualityProfileCollection = options.qualityProfiles;
this.model.set({ qualityProfiles: this.qualityProfileCollection }); this.model.set({ qualityProfiles: this.qualityProfileCollection });
}, },

View file

@ -2,20 +2,19 @@
define(['app', 'Settings/Quality/Size/QualitySizeView'], function (app) { define(['app', 'Settings/Quality/Size/QualitySizeView'], function (app) {
NzbDrone.Settings.Quality.Size.QualitySizeCollectionView = Backbone.Marionette.CompositeView.extend({ 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', itemViewContainer: '#quality-sizes-container',
template: 'Settings/Quality/Size/QualitySizeCollectionTemplate', template : 'Settings/Quality/Size/QualitySizeCollectionTemplate',
initialize: function () { initialize: function () {
var test = 1; var test = 1;
}, },
ui:{ ui: {
}, },
onCompositeCollectionRendered: function() onCompositeCollectionRendered: function () {
{
} }
}); });

View file

@ -1,5 +1,5 @@
<b>{{name}}</b> <b>{{name}}</b>
<div class="quality-slider-container"> <div class="quality-slider-container">
<input type="text" class="span4 slider" /> <input type="text" class="span4 slider"/>
</div> </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 30 minute size: <span name="thirtyMinuteSize" class="thirty-minute-size"></span>MB | 60 minute size: <span name="sixtyMinuteSize" class="sixty-minute-size"></span>MB

View file

@ -1,19 +1,19 @@
'use strict'; 'use strict';
define([ define([
'app', 'app',
'Quality/QualitySizeCollection' 'Quality/QualitySizeCollection'
], function () { ], function () {
NzbDrone.Settings.Quality.Size.QualitySizeView = Backbone.Marionette.ItemView.extend({ NzbDrone.Settings.Quality.Size.QualitySizeView = Backbone.Marionette.ItemView.extend({
template: 'Settings/Quality/Size/QualitySizeTemplate', template : 'Settings/Quality/Size/QualitySizeTemplate',
className: 'quality-size-item', className: 'quality-size-item',
ui: { ui: {
slider: '.slider', slider : '.slider',
thirtyMinuteSize: '.thirty-minute-size', thirtyMinuteSize: '.thirty-minute-size',
sixtyMinuteSize: '.sixty-minute-size' sixtyMinuteSize : '.sixty-minute-size'
}, },
events: { events: {
@ -29,10 +29,10 @@ define([
var self = this; var self = this;
this.ui.slider.slider({ this.ui.slider.slider({
min: 0, min : 0,
max: 200, max : 200,
step: 1, step : 1,
value: self.model.get('maxSize'), value : self.model.get('maxSize'),
tooltip: 'hide' tooltip: 'hide'
}); });
}, },

View file

@ -13,34 +13,34 @@
template: 'Settings/SettingsLayoutTemplate', template: 'Settings/SettingsLayoutTemplate',
regions: { regions: {
naming: '#naming', naming : '#naming',
quality: '#quality', quality : '#quality',
indexers: '#indexers', indexers : '#indexers',
downloadClient: '#download-client', downloadClient: '#download-client',
notifications: '#notifications', notifications : '#notifications',
system: '#system', system : '#system',
misc: '#misc' misc : '#misc'
}, },
ui: { ui: {
namingTab: '.x-naming-tab', namingTab : '.x-naming-tab',
qualityTab: '.x-quality-tab', qualityTab : '.x-quality-tab',
indexersTab: '.x-indexers-tab', indexersTab : '.x-indexers-tab',
downloadClientTab: '.x-download-client-tab', downloadClientTab: '.x-download-client-tab',
notificationsTab: '.x-notifications-tab', notificationsTab : '.x-notifications-tab',
systemTab: '.x-system-tab', systemTab : '.x-system-tab',
miscTab: '.x-misc-tab' miscTab : '.x-misc-tab'
}, },
events: { events: {
'click .x-naming-tab': 'showNaming', 'click .x-naming-tab' : 'showNaming',
'click .x-quality-tab': 'showQuality', 'click .x-quality-tab' : 'showQuality',
'click .x-indexers-tab': 'showIndexers', 'click .x-indexers-tab' : 'showIndexers',
'click .x-download-client-tab': 'showDownloadClient', 'click .x-download-client-tab': 'showDownloadClient',
'click .x-notifications-tab': 'showNotifications', 'click .x-notifications-tab' : 'showNotifications',
'click .x-system-tab': 'showSystem', 'click .x-system-tab' : 'showSystem',
'click .x-misc-tab': 'showMisc', 'click .x-misc-tab' : 'showMisc',
'click .x-save-settings': 'save' 'click .x-save-settings' : 'save'
}, },
showNaming: function (e) { showNaming: function (e) {

View file

@ -1,11 +1,11 @@
<ul class="nav nav-tabs" id="myTab"> <ul class="nav nav-tabs" id="myTab">
<li><a href="#naming" class="x-naming-tab">Naming</a></li> <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="#quality" class="x-quality-tab">Quality</a></li>
<li><a href="#indexers" class ="x-indexers-tab">Indexers</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="#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="#notifications" class="x-notifications-tab">Notifications</a></li>
<li><a href="#system" class ="x-system-tab">System</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="#misc" class="x-misc-tab">Misc</a></li>
</ul> </ul>
<div class="tab-content"> <div class="tab-content">

View file

@ -1,7 +1,7 @@
'use strict'; 'use strict';
define([ define([
'app', 'Settings/SettingsModel' 'app', 'Settings/SettingsModel'
], function () { ], function () {

View file

@ -1,3 +1,3 @@
<div> <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> </div>

View file

@ -1,5 +1,5 @@
"use strict"; "use strict";
define(['app'],function () { define(['app'], function () {
NzbDrone.Shared.NotFoundView = Backbone.Marionette.ItemView.extend({ NzbDrone.Shared.NotFoundView = Backbone.Marionette.ItemView.extend({
template: 'Shared/notfoundtemplate' template: 'Shared/notfoundtemplate'
}); });

View file

@ -3,15 +3,15 @@
var collection = Backbone.Collection.extend({ var collection = Backbone.Collection.extend({
model: NzbDrone.Shared.NotificationModel, model: NzbDrone.Shared.NotificationModel,
initialize: function () { initialize: function () {
/* var model = new NzbDrone.Shared.NotificationModel(); /* var model = new NzbDrone.Shared.NotificationModel();
model.set('title','test notification'); model.set('title','test notification');
model.set('message','test message'); model.set('message','test message');
model.set('level', 'error'); model.set('level', 'error');
this.push(model); this.push(model);
*/ */
var self = this; var self = this;

View file

@ -1,17 +1,17 @@
define(['app'], function () { define(['app'], function () {
NzbDrone.Shared.NotificationModel = Backbone.Model.extend({ NzbDrone.Shared.NotificationModel = Backbone.Model.extend({
mutators:{ mutators: {
preFormattedMessage:function () { preFormattedMessage: function () {
return this.get('message').replace(/\\r\\n/g, '<br>'); return this.get('message').replace(/\\r\\n/g, '<br>');
}, },
isPreFormatted:function () { isPreFormatted: function () {
return this.get('message').indexOf('\\r\\n') !== -1; return this.get('message').indexOf('\\r\\n') !== -1;
}, },
iconClass:function () { iconClass: function () {
if (this.has('icon')) { if (this.has('icon')) {
return 'icon'; return 'icon';
@ -29,10 +29,10 @@
} }
}, },
defaults:{ defaults: {
"level":'info', "level" : 'info',
"title":'', "title" : '',
"message":'' "message": ''
} }
}); });
}); });

View file

@ -1,10 +1,10 @@
<div class="alert alert-{{level}}"> <div class="alert alert-{{level}}">
<button type="button" class="close x-close icon-remove-sign"></button> <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}} {{#if isPreFormatted}}
<pre>{{{preFormattedMessage}}}</pre> <pre>{{{preFormattedMessage}}}</pre>
{{else}} {{else}}
{{message}} {{message}}
{{/if}} {{/if}}
</div> </div>

View file

@ -16,8 +16,8 @@ define(['app', 'Shared/NotificationCollection'], function (app, notificationColl
$.Deferred(function () { $.Deferred(function () {
self.$el.slideUp('slow'); self.$el.slideUp('slow');
}).done(function () { }).done(function () {
self.model.destroy(); self.model.destroy();
}); });
} }
}); });
@ -34,7 +34,7 @@ define(['app', 'Shared/NotificationCollection'], function (app, notificationColl
console.log('initializing notification view'); console.log('initializing notification view');
NzbDrone.notificationRegion.show(new collectionView()); NzbDrone.notificationRegion.show(new collectionView());
}); });
}); });

View file

@ -1,6 +1,6 @@
define(['app'],function () { define(['app'], function () {
NzbDrone.Shared.SpinnerView = Backbone.Marionette.ItemView.extend({ NzbDrone.Shared.SpinnerView = Backbone.Marionette.ItemView.extend({
template: 'Shared/SpinnerTemplate', template : 'Shared/SpinnerTemplate',
className: 'nz-spinner row' className: 'nz-spinner row'
}); });
}); });

View file

@ -1,6 +1,6 @@
define(['app', 'Upcoming/UpcomingModel'], function () { define(['app', 'Upcoming/UpcomingModel'], function () {
NzbDrone.Upcoming.UpcomingCollection = Backbone.Collection.extend({ NzbDrone.Upcoming.UpcomingCollection = Backbone.Collection.extend({
url: NzbDrone.Constants.ApiRoot + '/upcoming', url : NzbDrone.Constants.ApiRoot + '/upcoming',
model: NzbDrone.Upcoming.UpcomingModel model: NzbDrone.Upcoming.UpcomingModel
}); });
}); });

View file

@ -1,24 +1,24 @@
<table class="table table-striped"> <table class="table table-striped">
<thead> <thead>
<tr> <tr>
<th>Series Title</th> <th>Series Title</th>
<th>Episode</th> <th>Episode</th>
<th>Episode Title</th> <th>Episode Title</th>
<th>Air Time</th> <th>Air Time</th>
<th>Status</th> <th>Status</th>
</tr> </tr>
</thead> </thead>
<tbody id="yesterday"> <tbody id="yesterday">
<tr> <tr>
<td colspan="5">Yesterday</td> <td colspan="5">Yesterday</td>
</tr> </tr>
</tbody> </tbody>
<tbody id="today"> <tbody id="today">
<tr> <tr>
<td colspan="5">Today</td> <td colspan="5">Today</td>
</tr> </tr>
</tbody> </tbody>
<tbody id="tomorrow"> <tbody id="tomorrow">

View file

@ -2,20 +2,20 @@
define(['app', 'Upcoming/UpcomingItemView'], function (app) { define(['app', 'Upcoming/UpcomingItemView'], function (app) {
NzbDrone.Upcoming.UpcomingCollectionView = Backbone.Marionette.CompositeView.extend({ NzbDrone.Upcoming.UpcomingCollectionView = Backbone.Marionette.CompositeView.extend({
itemView: NzbDrone.Upcoming.UpcomingItemView, itemView : NzbDrone.Upcoming.UpcomingItemView,
template: 'Upcoming/UpcomingCollectionTemplate', template : 'Upcoming/UpcomingCollectionTemplate',
itemViewContainer: 'table', itemViewContainer: 'table',
ui: { ui: {
yesterday: 'tbody#yesterday', yesterday : 'tbody#yesterday',
today: 'tbody#today', today : 'tbody#today',
tomorrow: 'tbody#tomorrow', tomorrow : 'tbody#tomorrow',
two_days: 'tbody#two_days', two_days : 'tbody#two_days',
three_days: 'tbody#three_days', three_days: 'tbody#three_days',
four_days: 'tbody#four_days', four_days : 'tbody#four_days',
five_days: 'tbody#five_days', five_days : 'tbody#five_days',
six_days: 'tbody#six_days', six_days : 'tbody#six_days',
later: 'tbody#later' later : 'tbody#later'
}, },
initialize: function () { initialize: function () {
@ -23,7 +23,7 @@ define(['app', 'Upcoming/UpcomingItemView'], function (app) {
this.collection.fetch(); this.collection.fetch();
}, },
serializeData: function() { serializeData: function () {
var viewData = {}; var viewData = {};
viewData.two_days = Date.create().addDays(2).format('{Weekday}'); viewData.two_days = Date.create().addDays(2).format('{Weekday}');
viewData.three_days = Date.create().addDays(3).format('{Weekday}'); viewData.three_days = Date.create().addDays(3).format('{Weekday}');
@ -33,45 +33,45 @@ define(['app', 'Upcoming/UpcomingItemView'], function (app) {
return viewData; return viewData;
}, },
appendHtml: function(collectionView, itemView, index){ appendHtml: function (collectionView, itemView, index) {
var date = Date.create(itemView.model.get('airTime')); var date = Date.create(itemView.model.get('airTime'));
if (date.isYesterday()){ if (date.isYesterday()) {
collectionView.$(this.ui.yesterday).append(itemView.el); collectionView.$(this.ui.yesterday).append(itemView.el);
return; return;
} }
if (date.isToday()){ if (date.isToday()) {
collectionView.$(this.ui.today).append(itemView.el); collectionView.$(this.ui.today).append(itemView.el);
return; return;
} }
if (date.isTomorrow()){ if (date.isTomorrow()) {
collectionView.$(this.ui.tomorrow).append(itemView.el); collectionView.$(this.ui.tomorrow).append(itemView.el);
return; 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); collectionView.$(this.ui.two_days).append(itemView.el);
return; 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); collectionView.$(this.ui.three_days).append(itemView.el);
return; 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); collectionView.$(this.ui.four_days).append(itemView.el);
return; 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); collectionView.$(this.ui.five_days).append(itemView.el);
return; 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); collectionView.$(this.ui.six_days).append(itemView.el);
return; return;
} }
@ -81,8 +81,7 @@ define(['app', 'Upcoming/UpcomingItemView'], function (app) {
//if (date.isBefore(Date.create().addDays(7))) return date.format('{Weekday}'); //if (date.isBefore(Date.create().addDays(7))) return date.format('{Weekday}');
}, },
onCompositeCollectionRendered: function() onCompositeCollectionRendered: function () {
{
//Might not need this :D //Might not need this :D
} }
}); });

View file

@ -1,13 +1,13 @@
'use strict'; 'use strict';
define([ define([
'app', 'app',
'Upcoming/UpcomingCollection' 'Upcoming/UpcomingCollection'
], function () { ], function () {
NzbDrone.Upcoming.UpcomingItemView = Backbone.Marionette.ItemView.extend({ NzbDrone.Upcoming.UpcomingItemView = Backbone.Marionette.ItemView.extend({
template: 'Upcoming/UpcomingItemTemplate', template: 'Upcoming/UpcomingItemTemplate',
tagName: 'tr', tagName : 'tr',
onRender: function () { onRender: function () {
NzbDrone.ModelBinder.bind(this.model, this.el); NzbDrone.ModelBinder.bind(this.model, this.el);