Indexer settings overhaul, reviewed settings tooltips

This commit is contained in:
Mark McDowall 2013-07-04 21:52:20 -07:00
commit 5baf2e09c4
24 changed files with 132 additions and 55 deletions

View file

@ -6,7 +6,7 @@
<div class="controls">
<input type="text" name="blackholeFolder" class="x-path"/>
<span class="help-inline">
<i class="icon-question-sign" title="The folder where your download client will pickup .nzb files"/>
<i class="icon-form-info" title="The folder where your download client will pickup .nzb files"/>
</span>
</div>
</div>

View file

@ -19,8 +19,8 @@
<div class="controls">
<input type="text" name="downloadedEpisodesFolder" class="x-path"/>
<span class="help-inline">
<i class="icon-question-sign" title="The folder where your download client downloads TV shows to (aka TV Download Dir)"/>
<i class="icon-exclamation-sign danger" title="Do not use the folder that contains some or all of your sorted and named TV shows - doing so could cause data loss"></i>
<i class="icon-form-info" title="The folder where your download client downloads TV shows to (aka TV Download Dir)"/>
<i class="icon-form-danger" title="Do not use the folder that contains some or all of your sorted and named TV shows - doing so could cause data loss"></i>
</span>
</div>
</div>

View file

@ -60,7 +60,7 @@
<option value="force">Force</option>
</select>
<span class="help-inline">
<i class="icon-question-sign" title="Priority to use when sending episodes that aired within the last 7 days to NZBGet"/>
<i class="icon-form-info" title="Priority to use when sending episodes that aired within the last 7 days to NZBGet"/>
</span>
</div>
</div>

View file

@ -6,7 +6,7 @@
<div class="controls">
<input type="text" name="pneumaticFolder" class="x-path"/>
<span class="help-inline">
<i class="icon-question-sign" title="Folder to save NZBs for Pneumatic<br/>must be accessible from XBMC"></i>
<i class="icon-form-info" title="Folder to save NZBs for Pneumatic<br/>must be accessible from XBMC"></i>
</span>
</div>
</div>

View file

@ -75,7 +75,7 @@
<option value="force">Force</option>
</select>
<span class="help-inline">
<i class="icon-question-sign" title="Priority to use when sending episodes that aired within the last 7 days to SABnzbd"/>
<i class="icon-form-info" title="Priority to use when sending episodes that aired within the last 7 days to SABnzbd"/>
</span>
</div>
</div>

View file

@ -8,7 +8,7 @@
<div class="controls">
<input type="text" placeholder="8989" name="port"/>
<span>
<i class="icon-exclamation-sign danger" title="Requires restart to take effect"/>
<i class="icon-form-danger" title="Requires restart to take effect"/>
</span>
</div>

View file

@ -1,11 +1,15 @@
<div class="row">
<div class="span12">
<button class="btn btn-success x-add">Add Newznab</button>
</div>
</div>
<fieldset>
<legend>Indexers</legend>
<div class="row">
<div class="span12">
<ul id="x-indexers" class="indexer-list"></ul>
<div class="row">
<div class="span12">
<button class="btn btn-success x-add">Add Newznab</button>
</div>
</div>
</div>
<div class="row">
<div class="span12">
<ul id="x-indexers" class="indexer-list"></ul>
</div>
</div>
</fieldset>

View file

@ -0,0 +1,28 @@
"use strict";
define(
[
'marionette',
'Settings/Indexers/CollectionView',
'Settings/Indexers/Options/View'
], function (Marionette, CollectionView, OptionsView) {
return Marionette.Layout.extend({
template: 'Settings/Indexers/LayoutTemplate',
regions: {
indexersRegion : '#indexers-collection',
indexerOptions : '#indexer-options'
},
initialize: function (options) {
this.settings = options.settings;
this.indexersCollection = options.indexersCollection;
},
onShow: function () {
this.indexersRegion.show(new CollectionView({ collection: this.indexersCollection }));
this.indexerOptions.show(new OptionsView({ model: this.settings }));
}
});
});

View file

@ -0,0 +1,5 @@
<div id="indexers-collection"></div>
<div class="form-horizontal">
<div id="indexer-options"></div>
</div>

View file

@ -0,0 +1,13 @@
'use strict';
define(
[
'marionette',
'Mixins/AsModelBoundView'
], function (Marionette, AsModelBoundView) {
var view = Marionette.ItemView.extend({
template: 'Settings/Indexers/Options/ViewTemplate'
});
return AsModelBoundView.call(view);
});

View file

@ -0,0 +1,39 @@
<fieldset>
<legend>Options</legend>
<div class="control-group">
<label class="control-label">Retention</label>
<div class="controls">
<input type="text" name="retention"/>
</div>
</div>
<div class="control-group">
<label class="control-label">RSS Sync Interval</label>
<div class="controls">
<label class="checkbox toggle well">
<input type="checkbox" name="rssSyncInterval"/>
<p>
<span>Yes</span>
<span>No</span>
</p>
<div class="btn btn-primary slide-button"/>
</label>
</div>
</div>
<div class="control-group">
<label class="control-label">Release Restrictions</label>
<div class="controls">
<textarea rows="3" name="releaseRestrictions" class="release-restrictions"></textarea>
<span class="help-inline">
<i class="icon-question-sign" title="Blacklist NZBs based on these words (case-insensitive)"/>
</span>
<span class="text-area-help">Newline-delimited set of rules</span>
</div>
</div>
</fieldset>

View file

@ -21,7 +21,7 @@ define(
this.namingSettings = options.namingSettings;
},
onRender: function () {
onShow: function () {
this.episodeNaming.show(new NamingView({ model: this.namingSettings }));
this.sorting.show(new SortingView({ model: this.settings }));
this.fileManagement.show(new FileManagementView({ model: this.settings }));

View file

@ -1,14 +1,3 @@
<fieldset>
<legend>Misc</legend>
<div class="control-group">
<label class="control-label">Nzb Restrictions</label>
<div class="controls">
<textarea rows="3" name="nzbRestrictions" class="nzb-restrictions"></textarea>
<span class="help-inline">
<i class="icon-question-sign" title="Blacklist NZBs based on these words (case-insensitive)"/>
</span>
<span class="text-area-help">Newline-delimited set of rules</span>
</div>
</div>
</fieldset>

View file

@ -23,7 +23,7 @@ define(
this.qualitySizeCollection.fetch();
},
onRender: function () {
onShow: function () {
this.qualityProfile.show(new QualityProfileCollectionView({collection: QualityProfileCollection}));
this.qualitySize.show(new QualitySizeCollectionView({collection: this.qualitySizeCollection}));
}

View file

@ -8,7 +8,7 @@ define(
'Settings/MediaManagement/Naming/Model',
'Settings/MediaManagement/Layout',
'Settings/Quality/QualityLayout',
'Settings/Indexers/CollectionView',
'Settings/Indexers/Layout',
'Settings/Indexers/Collection',
'Settings/DownloadClient/Layout',
'Settings/Notifications/CollectionView',
@ -23,7 +23,7 @@ define(
NamingModel,
MediaManagementLayout,
QualityLayout,
IndexerCollectionView,
IndexerLayout,
IndexerCollection,
DownloadClientLayout,
NotificationCollectionView,
@ -157,14 +157,14 @@ define(
this.indexerSettings.fetch(),
this.notificationSettings.fetch()
).done(function () {
self.loading.$el.hide();
self.mediaManagement.show(new MediaManagementLayout({ settings: self.settings, namingSettings: self.namingSettings }));
self.quality.show(new QualityLayout({settings: self.settings}));
self.indexers.show(new IndexerCollectionView({collection: self.indexerSettings}));
self.downloadClient.show(new DownloadClientLayout({model: self.settings}));
self.notifications.show(new NotificationCollectionView({collection: self.notificationSettings}));
self.general.show(new GeneralView({model: self.generalSettings}));
self.misc.show(new MiscView({model: self.settings}));
self.loading.$el.hide();
self.mediaManagement.show(new MediaManagementLayout({ settings: self.settings, namingSettings: self.namingSettings }));
self.quality.show(new QualityLayout({settings: self.settings}));
self.indexers.show(new IndexerLayout({ settings: self.settings, indexersCollection: self.indexerSettings }));
self.downloadClient.show(new DownloadClientLayout({model: self.settings}));
self.notifications.show(new NotificationCollectionView({collection: self.notificationSettings}));
self.general.show(new GeneralView({model: self.generalSettings}));
self.misc.show(new MiscView({model: self.settings}));
});
},

View file

@ -12,7 +12,7 @@
<div class="tab-content">
<div class="tab-pane" id="media-management"></div>
<div class="tab-pane" id="quality"></div>
<div class="tab-pane" id="indexers"></div>
<div class="tab-pane" id="indexers">indexers...</div>
<div class="tab-pane" id="download-client"></div>
<div class="tab-pane" id="notifications"></div>
<div class="tab-pane" id="general"></div>