mirror of
https://github.com/Radarr/Radarr.git
synced 2024-11-04 10:02:40 +01:00
Bootstrap 3
New: Updated UI New: Mobile browser support Fixed: /favicon.ico will return the favicon now
This commit is contained in:
parent
28fa264c69
commit
99f2b07a11
@ -27,7 +27,7 @@ module.exports = function (grunt) {
|
||||
},
|
||||
|
||||
bootstrap: {
|
||||
src : srcContent + 'Bootstrap/bootstrap.less',
|
||||
src : srcContent + 'bootstrap.less',
|
||||
dest: destContent + 'bootstrap.css'
|
||||
},
|
||||
general : {
|
||||
@ -118,7 +118,7 @@ module.exports = function (grunt) {
|
||||
requirejs: {
|
||||
compile:{
|
||||
options: {
|
||||
mainConfigFile: "src/UI/app.js",
|
||||
mainConfigFile: 'src/UI/app.js',
|
||||
fileExclusionRegExp: /^.*\.(?!js$)[^.]+$/,
|
||||
preserveLicenseComments: false,
|
||||
dir: outputDir,
|
||||
@ -139,11 +139,11 @@ module.exports = function (grunt) {
|
||||
nospawn: false
|
||||
},
|
||||
bootstrap : {
|
||||
files: [ srcContent + 'Bootstrap/**', srcContent + 'FontAwesome/**'],
|
||||
files: [ srcContent + 'Bootstrap/**', srcContent + 'FontAwesome/**', srcContent + 'bootstrap.less'],
|
||||
tasks: ['less:bootstrap','less:general']
|
||||
},
|
||||
generalLess: {
|
||||
files: [ srcRoot + '**/*.less', '!**/Bootstrap/**', '!**/FontAwesome/**'],
|
||||
files: [ srcRoot + '**/*.less', '!**/Bootstrap/**', '!**/FontAwesome/**', '!' + srcContent + '/bootstrap.less'],
|
||||
tasks: ['less:general']
|
||||
},
|
||||
handlebars : {
|
||||
|
30
src/NzbDrone.Api/Frontend/Mappers/FaviconMapper.cs
Normal file
30
src/NzbDrone.Api/Frontend/Mappers/FaviconMapper.cs
Normal file
@ -0,0 +1,30 @@
|
||||
using System.IO;
|
||||
using NLog;
|
||||
using NzbDrone.Common.Disk;
|
||||
using NzbDrone.Common.EnvironmentInfo;
|
||||
|
||||
namespace NzbDrone.Api.Frontend.Mappers
|
||||
{
|
||||
public class FaviconMapper : StaticResourceMapperBase
|
||||
{
|
||||
private readonly IAppFolderInfo _appFolderInfo;
|
||||
|
||||
public FaviconMapper(IAppFolderInfo appFolderInfo, IDiskProvider diskProvider, Logger logger)
|
||||
: base(diskProvider, logger)
|
||||
{
|
||||
_appFolderInfo = appFolderInfo;
|
||||
}
|
||||
|
||||
protected override string Map(string resourceUrl)
|
||||
{
|
||||
var path = Path.Combine("Content", "Images", "favicon.ico");
|
||||
|
||||
return Path.Combine(_appFolderInfo.StartUpFolder, "UI", path);
|
||||
}
|
||||
|
||||
public override bool CanHandle(string resourceUrl)
|
||||
{
|
||||
return resourceUrl.Equals("/favicon.ico");
|
||||
}
|
||||
}
|
||||
}
|
@ -1,6 +1,5 @@
|
||||
using System.IO;
|
||||
using NLog;
|
||||
using NzbDrone.Common;
|
||||
using NzbDrone.Common.Disk;
|
||||
using NzbDrone.Common.EnvironmentInfo;
|
||||
|
||||
@ -29,7 +28,7 @@ public override bool CanHandle(string resourceUrl)
|
||||
return resourceUrl.StartsWith("/Content") ||
|
||||
resourceUrl.EndsWith(".js") ||
|
||||
resourceUrl.EndsWith(".css") ||
|
||||
resourceUrl.EndsWith(".ico") ||
|
||||
(resourceUrl.EndsWith(".ico") && !resourceUrl.Equals("/favicon.ico")) ||
|
||||
resourceUrl.EndsWith(".swf");
|
||||
}
|
||||
}
|
||||
|
@ -128,6 +128,7 @@
|
||||
<Compile Include="Extensions\NancyJsonSerializer.cs" />
|
||||
<Compile Include="Extensions\RequestExtensions.cs" />
|
||||
<Compile Include="Frontend\IsCacheableSpecification.cs" />
|
||||
<Compile Include="Frontend\Mappers\FaviconMapper.cs" />
|
||||
<Compile Include="Frontend\Mappers\IndexHtmlMapper.cs" />
|
||||
<Compile Include="Frontend\Mappers\LogFileMapper.cs" />
|
||||
<Compile Include="Frontend\Mappers\MediaCoverMapper.cs" />
|
||||
|
@ -13,6 +13,7 @@ public class PageBase
|
||||
public PageBase(RemoteWebDriver driver)
|
||||
{
|
||||
_driver = driver;
|
||||
driver.Manage().Window.Maximize();
|
||||
}
|
||||
|
||||
public IWebElement FindByClass(string className, int timeout = 5)
|
||||
@ -52,7 +53,7 @@ public IWebElement SeriesNavIcon
|
||||
{
|
||||
get
|
||||
{
|
||||
return Find(By.LinkText("Series"));
|
||||
return FindByClass("x-series-nav");
|
||||
}
|
||||
}
|
||||
|
||||
@ -60,7 +61,7 @@ public IWebElement CalendarNavIcon
|
||||
{
|
||||
get
|
||||
{
|
||||
return Find(By.LinkText("Calendar"));
|
||||
return FindByClass("x-calendar-nav");
|
||||
}
|
||||
}
|
||||
|
||||
@ -68,7 +69,7 @@ public IWebElement HistoryNavIcon
|
||||
{
|
||||
get
|
||||
{
|
||||
return Find(By.LinkText("History"));
|
||||
return FindByClass("x-history-nav");
|
||||
}
|
||||
}
|
||||
|
||||
@ -76,7 +77,7 @@ public IWebElement WantedNavIcon
|
||||
{
|
||||
get
|
||||
{
|
||||
return Find(By.LinkText("Wanted"));
|
||||
return FindByClass("x-wanted-nav");
|
||||
}
|
||||
}
|
||||
|
||||
@ -84,7 +85,7 @@ public IWebElement SettingNavIcon
|
||||
{
|
||||
get
|
||||
{
|
||||
return Find(By.LinkText("Settings"));
|
||||
return FindByClass("x-settings-nav");
|
||||
}
|
||||
}
|
||||
|
||||
@ -92,7 +93,7 @@ public IWebElement SystemNavIcon
|
||||
{
|
||||
get
|
||||
{
|
||||
return Find(By.PartialLinkText("System"));
|
||||
return FindByClass("x-system-nav");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -194,6 +194,7 @@
|
||||
<Compile Include="Datastore\Migration\046_fix_nzb_su_url.cs" />
|
||||
<Compile Include="Datastore\Migration\047_add_published_date_blacklist_column.cs" />
|
||||
<Compile Include="Datastore\Migration\048_add_title_to_scenemappings.cs" />
|
||||
<Compile Include="Datastore\Migration\049_fix_dognzb_url.cs" />
|
||||
<Compile Include="Datastore\Migration\Framework\MigrationContext.cs" />
|
||||
<Compile Include="Datastore\Migration\Framework\MigrationController.cs" />
|
||||
<Compile Include="Datastore\Migration\Framework\MigrationExtension.cs" />
|
||||
|
@ -1,23 +1,17 @@
|
||||
<div class="row operations-row">
|
||||
<div class="btn-group btn-block">
|
||||
<div class="btn btn-lg add-series-import-btn x-import">
|
||||
<i class="icon-hdd"/>
|
||||
Import existing series on disk
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="btn-group add-series-btn-group btn-group-lg btn-block">
|
||||
<button type="button" class="btn btn-default col-md-10 col-xs-8 add-series-import-btn x-import">
|
||||
<i class="icon-hdd"/>
|
||||
Import existing series on disk
|
||||
</button>
|
||||
<button class="btn btn-default col-md-2 col-xs-4 x-add-new"><i class="icon-play hidden-xs"></i> Add new series</button>
|
||||
</div>
|
||||
<button class="btn btn-lg btn-icon-only dropdown-toggle" data-toggle="dropdown">
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
<li class="add-new x-add-new">
|
||||
Add new series
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!--<div class="btn btn-block btn-lg add-series-import-btn x-import">-->
|
||||
<!--<i class="icon-hdd"/>-->
|
||||
<!--Import existing series on disk-->
|
||||
<!--</div>-->
|
||||
</div>
|
||||
<div id="add-series-workspace"/>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div id="add-series-workspace"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -1,12 +1,13 @@
|
||||
{{#if folder.path}}
|
||||
<div class="row unmapped-folder-path">
|
||||
<div class="col-md-11">
|
||||
<div class="unmapped-folder-path">
|
||||
<div class="col-md-12">
|
||||
{{folder.path}}
|
||||
</div>
|
||||
</div>{{/if}}
|
||||
<div class="row x-search-bar">
|
||||
<div class="input-group nz-input-large add-series-search col-md-11">
|
||||
<i class="input-group-addon icon-search"/>
|
||||
<div class="x-search-bar">
|
||||
<div class="input-group input-group-lg add-series-search">
|
||||
<span class="input-group-addon"><i class="icon-search"/></span>
|
||||
|
||||
{{#if folder}}
|
||||
<input type="text" class="form-control x-series-search" value="{{folder.name}}">
|
||||
{{else}}
|
||||
|
@ -7,15 +7,19 @@
|
||||
<div class="modal-body root-folders-modal">
|
||||
<div class="validation-errors"></div>
|
||||
<div class="alert alert-info">Enter the path that contains some or all of your TV series, you will be able to choose which series you want to import<button type="button" class="close" data-dismiss="alert">×</button></div>
|
||||
|
||||
<div class="input-group x-path form-group">
|
||||
<span class="input-group-addon"> <i class="icon-folder-open"></i></span>
|
||||
<input class="col-md-9" type="text" validation-name="path" placeholder="Enter path to folder that contains your shows">
|
||||
<button class="btn btn-success x-add">
|
||||
<i class="icon-ok"/>
|
||||
</button>
|
||||
<input class="col-md-9 form-control" type="text" validation-name="path" placeholder="Enter path to folder that contains your shows">
|
||||
<span class="input-group-btn ">
|
||||
<button class="btn btn-success x-add">
|
||||
<i class="icon-ok"/>
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
{{#if items}}
|
||||
<h4>Recent Folders</h4>
|
||||
<h4>Recent Folders</h4>
|
||||
{{/if}}
|
||||
<div id="current-dirs" class="root-folders-list"></div>
|
||||
</div>
|
||||
|
@ -1,12 +1,11 @@
|
||||
<div>
|
||||
<select class="col-md-4 x-root-folder" validation-name="RootFolderPath">
|
||||
{{#if this}}
|
||||
{{#each this}}
|
||||
<option value="{{id}}">{{path}}</option>
|
||||
{{/each}}
|
||||
{{else}}
|
||||
<option value="">Select Path</option>
|
||||
{{/if}}
|
||||
<option value="addNew">Add a different path</option>
|
||||
</select>
|
||||
</div>
|
||||
<select class="col-md-4 form-control x-root-folder" validation-name="RootFolderPath">
|
||||
{{#if this}}
|
||||
{{#each this}}
|
||||
<option value="{{id}}">{{path}}</option>
|
||||
{{/each}}
|
||||
{{else}}
|
||||
<option value="">Select Path</option>
|
||||
{{/if}}
|
||||
<option value="addNew">Add a different path</option>
|
||||
</select>
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
<select class="starting-season x-starting-season">
|
||||
<select class="form-control md-col-2 starting-season x-starting-season">
|
||||
{{#each this}}
|
||||
{{#if_eq seasonNumber compare="0"}}
|
||||
<option value="{{seasonNumber}}">Specials</option>
|
||||
|
@ -6,8 +6,7 @@
|
||||
{{defaultImg}} >
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
|
||||
<div class="col-md-10">
|
||||
<div class="row">
|
||||
<h2 class="series-title">
|
||||
{{titleWithYear}}
|
||||
@ -21,42 +20,51 @@
|
||||
{{overview}}
|
||||
</div>
|
||||
</div>
|
||||
{{#unless existing}}
|
||||
<div class="row labels">
|
||||
{{#unless path}}
|
||||
<div class="col-md-4">Path</div>
|
||||
{{/unless}}
|
||||
|
||||
<div class="col-md-1 starting-season starting-season-label">Starting Season</div>
|
||||
<div class="col-md-2">Quality Profile</div>
|
||||
</div>
|
||||
{{/unless}}
|
||||
<div class="row">
|
||||
<form class="form-inline">
|
||||
{{#if existing}}
|
||||
<div class="btn add-series disabled pull-right">
|
||||
Already Exists
|
||||
</div>
|
||||
{{else}}
|
||||
{{#unless existing}}
|
||||
{{#unless path}}
|
||||
{{> RootFolderSelectionPartial rootFolders}}
|
||||
{{/unless}}
|
||||
|
||||
{{> StartingSeasonSelectionPartial seasons}}
|
||||
{{> QualityProfileSelectionPartial qualityProfiles}}
|
||||
|
||||
<label class="checkbox-button" title="Use season folders">
|
||||
<input type="checkbox" class="x-season-folder"/>
|
||||
<div class="btn btn-primary btn-icon-only">
|
||||
<i class="icon-folder-close"></i>
|
||||
<div class="form-group col-md-4">
|
||||
<label>Path</label>
|
||||
{{> RootFolderSelectionPartial rootFolders}}
|
||||
</div>
|
||||
</label>
|
||||
{{/unless}}
|
||||
<div class="form-group col-md-2">
|
||||
<label>Starting Season</label>
|
||||
{{> StartingSeasonSelectionPartial seasons}}
|
||||
</div>
|
||||
<div class="form-group col-md-2">
|
||||
<label>Quality Profile</label>
|
||||
{{> QualityProfileSelectionPartial qualityProfiles}}
|
||||
</div>
|
||||
<div class="form-group col-md-2">
|
||||
<label>Season Folders</label>
|
||||
|
||||
<span class="btn btn-success x-add add-series pull-right"> Add
|
||||
<i class="icon-plus"></i>
|
||||
</span>
|
||||
{{/if}}
|
||||
</form>
|
||||
<div class="input-group">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" class="x-season-folder"/>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group col-md-1 pull-right">
|
||||
<label> </label>
|
||||
<button class="btn btn-success x-add add-series pull-right pull-none-xs"> Add
|
||||
<i class="icon-plus"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
{{else}}
|
||||
<div class="col-md-1 col-md-offset-11">
|
||||
<button class="btn add-series disabled pull-right pull-none-xs">
|
||||
Already Exists
|
||||
</button>
|
||||
</div>
|
||||
|
||||
{{/unless}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -2,20 +2,11 @@
|
||||
@import "../Shared/Styles/clickable.less";
|
||||
|
||||
#add-series-screen {
|
||||
|
||||
.operations-row {
|
||||
margin-left : 0px;
|
||||
}
|
||||
|
||||
.existing-series {
|
||||
|
||||
.card();
|
||||
margin : 30px 0px;
|
||||
|
||||
.add-series-search {
|
||||
width : 970px;
|
||||
}
|
||||
|
||||
.unmapped-folder-path {
|
||||
padding: 20px;
|
||||
margin-left : 0px;
|
||||
@ -42,17 +33,6 @@
|
||||
.add-series-search {
|
||||
margin-top : 20px;
|
||||
margin-bottom : 20px;
|
||||
padding-left : 20px;
|
||||
|
||||
*[class*='icon-'] {
|
||||
font-size : 28px;
|
||||
height : 30px;
|
||||
width : 40px;
|
||||
padding-top : 14px;
|
||||
}
|
||||
input {
|
||||
height : 50px;
|
||||
}
|
||||
}
|
||||
|
||||
.search-item {
|
||||
@ -101,12 +81,8 @@
|
||||
}
|
||||
|
||||
.checkbox {
|
||||
width : 100px;
|
||||
margin-left : 0px;
|
||||
display : inline-block;
|
||||
padding-top : 0px;
|
||||
margin-bottom : 0px;
|
||||
}
|
||||
margin-top : 0px;
|
||||
}
|
||||
|
||||
.starting-season {
|
||||
width: 140px;
|
||||
@ -116,9 +92,9 @@
|
||||
}
|
||||
}
|
||||
|
||||
.labels {
|
||||
[class*="span"] {
|
||||
margin-left: 3px;
|
||||
i {
|
||||
&:before {
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -147,16 +123,6 @@ li.add-new:hover {
|
||||
background-color: rgb(0, 129, 194);
|
||||
}
|
||||
|
||||
.btn-group {
|
||||
.dropdown-menu {
|
||||
right: 0px;
|
||||
}
|
||||
|
||||
.add-series-import-btn {
|
||||
width: 93.3%;
|
||||
}
|
||||
}
|
||||
|
||||
.root-folders-modal {
|
||||
overflow: visible;
|
||||
|
||||
|
@ -1,29 +1,33 @@
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<h3>NzbDrone Calendar feed</h3>
|
||||
</div>
|
||||
<div class="modal-body edit-series-modal">
|
||||
<div class="row">
|
||||
<div>
|
||||
<div class="form-horizontal">
|
||||
<div class="form-group">
|
||||
<label class="control-label">iCal feed</label>
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<h3>NzbDrone Calendar feed</h3>
|
||||
</div>
|
||||
<div class="modal-body edit-series-modal">
|
||||
<div class="row">
|
||||
<div>
|
||||
<div class="form-horizontal">
|
||||
<div class="form-group">
|
||||
<label class="control-label">iCal feed</label>
|
||||
|
||||
<div class="controls ical-url">
|
||||
<div class="input-group">
|
||||
<input type="text" class="x-ical-url" value="{{icalHttpUrl}}" readonly="readonly" />
|
||||
<button class="btn btn-icon-only x-ical-copy" title="Copy to clipboard"><i class="icon-copy"></i></button>
|
||||
<a class="btn btn-icon-only no-router" title="Subscribe" href="{{icalWebCalUrl}}" target="_blank"><i class="icon-calendar-empty"></i></a>
|
||||
<div class="controls ical-url">
|
||||
<div class="input-group">
|
||||
<input type="text" class="x-ical-url" value="{{icalHttpUrl}}" readonly="readonly" />
|
||||
<button class="btn btn-icon-only x-ical-copy" title="Copy to clipboard"><i class="icon-copy"></i></button>
|
||||
<a class="btn btn-icon-only no-router" title="Subscribe" href="{{icalWebCalUrl}}" target="_blank"><i class="icon-calendar-empty"></i></a>
|
||||
</div>
|
||||
<span class="help-inline">
|
||||
<i class="icon-nd-form-info" title="Copy this url into your clients subscription form or use the subscribe button if your browser support webcal"/>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<span class="help-inline">
|
||||
<i class="icon-nd-form-info" title="Copy this url into your clients subscription form or use the subscribe button if your browser support webcal"/>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn" data-dismiss="modal">close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn" data-dismiss="modal">close</button>
|
||||
</div>
|
@ -1,5 +1,5 @@
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="col-md-3 hidden-xs">
|
||||
<div class="pull-left">
|
||||
<h4>Upcoming</h4>
|
||||
</div>
|
||||
@ -10,7 +10,7 @@
|
||||
</div>
|
||||
<div id="x-upcoming"/>
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
<div class="col-md-9 col-xs-12">
|
||||
<div id="x-calendar" class="calendar"/>
|
||||
<div class="legend calendar">
|
||||
<ul class='legend-labels'>
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
define(
|
||||
[
|
||||
'jquery',
|
||||
'vent',
|
||||
'marionette',
|
||||
'moment',
|
||||
@ -12,7 +13,7 @@ define(
|
||||
'Mixins/backbone.signalr.mixin',
|
||||
'fullcalendar',
|
||||
'jquery.easypiechart'
|
||||
], function (vent, Marionette, moment, CalendarCollection, StatusModel, QueueCollection, Config) {
|
||||
], function ($, vent, Marionette, moment, CalendarCollection, StatusModel, QueueCollection, Config) {
|
||||
|
||||
return Marionette.ItemView.extend({
|
||||
storageKey: 'calendar.view',
|
||||
@ -24,28 +25,7 @@ define(
|
||||
},
|
||||
|
||||
render : function () {
|
||||
this.$el.empty().fullCalendar({
|
||||
defaultView : Config.getValue(this.storageKey, 'basicWeek'),
|
||||
allDayDefault : false,
|
||||
ignoreTimezone: false,
|
||||
weekMode : 'variable',
|
||||
firstDay : StatusModel.get('startOfWeek'),
|
||||
timeFormat : 'h(:mm)tt',
|
||||
header : {
|
||||
left : 'prev,next today',
|
||||
center: 'title',
|
||||
right : 'month,basicWeek,basicDay'
|
||||
},
|
||||
buttonText : {
|
||||
prev: '<i class="icon-arrow-left"></i>',
|
||||
next: '<i class="icon-arrow-right"></i>'
|
||||
},
|
||||
viewRender : this._viewRender.bind(this),
|
||||
eventRender : this._eventRender.bind(this),
|
||||
eventClick : function (event) {
|
||||
vent.trigger(vent.Commands.ShowEpisodeDetails, {episode: event.model});
|
||||
}
|
||||
});
|
||||
this.$el.empty().fullCalendar(this._getOptions());
|
||||
},
|
||||
|
||||
onShow: function () {
|
||||
@ -178,6 +158,59 @@ define(
|
||||
}
|
||||
|
||||
return downloading.get('title');
|
||||
},
|
||||
|
||||
_getOptions: function () {
|
||||
var options = {
|
||||
allDayDefault : false,
|
||||
ignoreTimezone: false,
|
||||
weekMode : 'variable',
|
||||
firstDay : StatusModel.get('startOfWeek'),
|
||||
timeFormat : 'h(:mm)tt',
|
||||
buttonText : {
|
||||
prev: '<i class="icon-arrow-left"></i>',
|
||||
next: '<i class="icon-arrow-right"></i>'
|
||||
},
|
||||
viewRender : this._viewRender.bind(this),
|
||||
eventRender : this._eventRender.bind(this),
|
||||
eventClick : function (event) {
|
||||
vent.trigger(vent.Commands.ShowEpisodeDetails, {episode: event.model});
|
||||
}
|
||||
};
|
||||
|
||||
if ($(window).width() < 768) {
|
||||
options.defaultView = Config.getValue(this.storageKey, 'basicDay');
|
||||
|
||||
options.titleFormat = {
|
||||
month: 'MMM yyyy', // September 2009
|
||||
week: 'MMM d[ yyyy]{ \'—\'[ MMM] d yyyy}', // Sep 7 - 13 2009
|
||||
day: 'ddd, MMM d, yyyy' // Tuesday, Sep 8, 2009
|
||||
};
|
||||
|
||||
options.header = {
|
||||
left : 'prev,next today',
|
||||
center: 'title',
|
||||
right : 'basicWeek,basicDay'
|
||||
};
|
||||
}
|
||||
|
||||
else {
|
||||
options.defaultView = Config.getValue(this.storageKey, 'basicWeek');
|
||||
|
||||
options.titleFormat = {
|
||||
month: 'MMM yyyy', // September 2009
|
||||
week: 'MMM d[ yyyy]{ \'—\'[ MMM] d yyyy}', // Sep 7 - 13 2009
|
||||
day: 'dddd, MMM d, yyyy' // Tues, Sep 8, 2009
|
||||
};
|
||||
|
||||
options.header = {
|
||||
left : 'prev,next today',
|
||||
center: 'title',
|
||||
right : 'month,basicWeek,basicDay'
|
||||
};
|
||||
}
|
||||
|
||||
return options;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
@ -1,4 +1,4 @@
|
||||
<div class="btn-group">
|
||||
<div class="btn-group hidden-xs">
|
||||
<button class="btn btn-xs x-automatic-search x-automatic-search-icon" title="Automatic Search" data-container="body"><i class="icon-search"></i></button>
|
||||
<button class="btn btn-xs dropdown-toggle" data-toggle="dropdown">
|
||||
<span class="caret"></span>
|
||||
@ -7,4 +7,8 @@
|
||||
<li class="x-automatic-search">Automatic Search</li>
|
||||
<li class="x-manual-search">Manual Search</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="visible-xs">
|
||||
<button class="btn btn-xs x-automatic-search x-automatic-search-icon" title="Automatic Search" data-container="body"><i class="icon-search"></i></button>
|
||||
</div>
|
@ -18,8 +18,8 @@ define(
|
||||
this.$el.empty();
|
||||
|
||||
this.$el.html(
|
||||
'<i class="icon-cog x-edit-series" title="" data-original-title="Edit Series"></i> ' +
|
||||
'<i class="icon-remove x-remove-series" title="" data-original-title="Delete Series"></i>'
|
||||
'<i class="icon-nd-edit x-edit-series" title="" data-original-title="Edit Series"></i> ' +
|
||||
'<i class="icon-remove x-remove-series hidden-xs" title="" data-original-title="Delete Series"></i>'
|
||||
);
|
||||
|
||||
this.delegateEvents();
|
||||
|
@ -16,6 +16,10 @@
|
||||
.episode-title-cell {
|
||||
.btn-link;
|
||||
.text-overflow();
|
||||
|
||||
&:hover {
|
||||
text-transform: none;
|
||||
}
|
||||
}
|
||||
|
||||
.air-date-cell {
|
||||
@ -88,7 +92,7 @@ td.episode-status-cell, td.quality-cell {
|
||||
}
|
||||
|
||||
.episode-actions-cell {
|
||||
width: 50px;
|
||||
width: 65px;
|
||||
|
||||
li {
|
||||
.clickable();
|
||||
@ -110,12 +114,13 @@ td.episode-status-cell, td.quality-cell {
|
||||
}
|
||||
|
||||
.series-actions-cell {
|
||||
width: 56px;
|
||||
width : 56px;
|
||||
min-width : 56px;
|
||||
}
|
||||
|
||||
.timeleft-cell {
|
||||
cursor: default;
|
||||
width: 80px;
|
||||
cursor : default;
|
||||
width : 80px;
|
||||
}
|
||||
|
||||
.queue-status-cell {
|
||||
|
@ -17,6 +17,10 @@
|
||||
font-size : 13px;
|
||||
position : absolute;
|
||||
right : 0;
|
||||
|
||||
.label {
|
||||
margin-top: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
ul {
|
||||
|
BIN
src/UI/Content/Images/logos/128.png
Normal file
BIN
src/UI/Content/Images/logos/128.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.1 KiB |
BIN
src/UI/Content/Images/logos/32.png
Normal file
BIN
src/UI/Content/Images/logos/32.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.6 KiB |
BIN
src/UI/Content/Images/logos/48.png
Normal file
BIN
src/UI/Content/Images/logos/48.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
@ -4,93 +4,98 @@ ul.messenger {
|
||||
padding: 0;
|
||||
}
|
||||
/* line 8, ../../src/sass/messenger.sass */
|
||||
ul.messenger li {
|
||||
ul.messenger > li {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
/* line 14, ../../src/sass/messenger.sass */
|
||||
ul.messenger.messenger-empty {
|
||||
display: none;
|
||||
}
|
||||
/* line 17, ../../src/sass/messenger.sass */
|
||||
ul.messenger .messenger-message {
|
||||
overflow: hidden;
|
||||
*zoom: 1;
|
||||
}
|
||||
/* line 17, ../../src/sass/messenger.sass */
|
||||
/* line 20, ../../src/sass/messenger.sass */
|
||||
ul.messenger .messenger-message.messenger-hidden {
|
||||
display: none;
|
||||
}
|
||||
/* line 20, ../../src/sass/messenger.sass */
|
||||
/* line 23, ../../src/sass/messenger.sass */
|
||||
ul.messenger .messenger-message .messenger-phrase, ul.messenger .messenger-message .messenger-actions a {
|
||||
padding-right: 5px;
|
||||
}
|
||||
/* line 23, ../../src/sass/messenger.sass */
|
||||
/* line 26, ../../src/sass/messenger.sass */
|
||||
ul.messenger .messenger-message .messenger-actions {
|
||||
float: right;
|
||||
}
|
||||
/* line 26, ../../src/sass/messenger.sass */
|
||||
/* line 29, ../../src/sass/messenger.sass */
|
||||
ul.messenger .messenger-message .messenger-actions a {
|
||||
cursor: pointer;
|
||||
text-decoration: underline;
|
||||
}
|
||||
/* line 30, ../../src/sass/messenger.sass */
|
||||
/* line 33, ../../src/sass/messenger.sass */
|
||||
ul.messenger .messenger-message ul, ul.messenger .messenger-message ol {
|
||||
margin: 10px 18px 0;
|
||||
}
|
||||
/* line 36, ../../src/sass/messenger.sass */
|
||||
ul.messenger.messenger-fixed {
|
||||
position: fixed;
|
||||
z-index: 10000;
|
||||
}
|
||||
/* line 34, ../../src/sass/messenger.sass */
|
||||
/* line 40, ../../src/sass/messenger.sass */
|
||||
ul.messenger.messenger-fixed .messenger-message {
|
||||
min-width: 0;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
/* line 39, ../../src/sass/messenger.sass */
|
||||
/* line 45, ../../src/sass/messenger.sass */
|
||||
ul.messenger.messenger-fixed .message .messenger-actions {
|
||||
float: left;
|
||||
}
|
||||
/* line 42, ../../src/sass/messenger.sass */
|
||||
/* line 48, ../../src/sass/messenger.sass */
|
||||
ul.messenger.messenger-fixed.messenger-on-top {
|
||||
top: 20px;
|
||||
}
|
||||
/* line 45, ../../src/sass/messenger.sass */
|
||||
/* line 51, ../../src/sass/messenger.sass */
|
||||
ul.messenger.messenger-fixed.messenger-on-bottom {
|
||||
bottom: 20px;
|
||||
}
|
||||
/* line 48, ../../src/sass/messenger.sass */
|
||||
/* line 54, ../../src/sass/messenger.sass */
|
||||
ul.messenger.messenger-fixed.messenger-on-top, ul.messenger.messenger-fixed.messenger-on-bottom {
|
||||
left: 50%;
|
||||
width: 800px;
|
||||
margin-left: -400px;
|
||||
}
|
||||
@media (max-width: 960px) {
|
||||
/* line 48, ../../src/sass/messenger.sass */
|
||||
/* line 54, ../../src/sass/messenger.sass */
|
||||
ul.messenger.messenger-fixed.messenger-on-top, ul.messenger.messenger-fixed.messenger-on-bottom {
|
||||
left: 10%;
|
||||
width: 80%;
|
||||
margin-left: 0px;
|
||||
}
|
||||
}
|
||||
/* line 58, ../../src/sass/messenger.sass */
|
||||
/* line 64, ../../src/sass/messenger.sass */
|
||||
ul.messenger.messenger-fixed.messenger-on-top.messenger-on-right, ul.messenger.messenger-fixed.messenger-on-bottom.messenger-on-right {
|
||||
right: 20px;
|
||||
left: auto;
|
||||
}
|
||||
/* line 62, ../../src/sass/messenger.sass */
|
||||
/* line 68, ../../src/sass/messenger.sass */
|
||||
ul.messenger.messenger-fixed.messenger-on-top.messenger-on-left, ul.messenger.messenger-fixed.messenger-on-bottom.messenger-on-left {
|
||||
left: 20px;
|
||||
margin-left: 0px;
|
||||
}
|
||||
/* line 66, ../../src/sass/messenger.sass */
|
||||
/* line 72, ../../src/sass/messenger.sass */
|
||||
ul.messenger.messenger-fixed.messenger-on-right, ul.messenger.messenger-fixed.messenger-on-left {
|
||||
width: auto;
|
||||
min-width: 350px;
|
||||
max-width: 800px;
|
||||
word-wrap: break-word;
|
||||
width: 350px;
|
||||
}
|
||||
/* line 69, ../../src/sass/messenger.sass */
|
||||
/* line 75, ../../src/sass/messenger.sass */
|
||||
ul.messenger.messenger-fixed.messenger-on-right .messenger-actions, ul.messenger.messenger-fixed.messenger-on-left .messenger-actions {
|
||||
float: left;
|
||||
}
|
||||
/* line 72, ../../src/sass/messenger.sass */
|
||||
/* line 78, ../../src/sass/messenger.sass */
|
||||
ul.messenger .messenger-spinner {
|
||||
display: none;
|
||||
}
|
||||
|
@ -234,33 +234,28 @@ ul.messenger.messenger-spinner-active .messenger-spinner .messenger-spinner {
|
||||
transform-origin: 100% 50%;
|
||||
}
|
||||
|
||||
/* line 15, ../../src/sass/messenger-theme-future.sass */
|
||||
ul.messenger-theme-future {
|
||||
-webkit-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.24), 0px 1px 5px rgba(0, 0, 0, 0.6);
|
||||
-moz-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.24), 0px 1px 5px rgba(0, 0, 0, 0.6);
|
||||
box-shadow: inset 0px 1px rgba(255, 255, 255, 0.24), 0px 1px 5px rgba(0, 0, 0, 0.6);
|
||||
/* line 15, ../../src/sass/messenger-theme-flat.sass */
|
||||
ul.messenger-theme-flat {
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
-ms-border-radius: 4px;
|
||||
-o-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #5c5b5b), color-stop(100%, #353535));
|
||||
background-image: -webkit-linear-gradient(#5c5b5b, #353535);
|
||||
background-image: -moz-linear-gradient(#5c5b5b, #353535);
|
||||
background-image: -o-linear-gradient(#5c5b5b, #353535);
|
||||
background-image: linear-gradient(#5c5b5b, #353535);
|
||||
background-color: #5c5b5b;
|
||||
border: 1px solid rgba(0, 0, 0, 0.5);
|
||||
-moz-user-select: none;
|
||||
-webkit-user-select: none;
|
||||
-o-user-select: none;
|
||||
user-select: none;
|
||||
background: #404040;
|
||||
}
|
||||
/* line 24, ../../src/sass/messenger-theme-future.sass */
|
||||
ul.messenger-theme-future.messenger-empty {
|
||||
/* line 20, ../../src/sass/messenger-theme-flat.sass */
|
||||
ul.messenger-theme-flat.messenger-empty {
|
||||
display: none;
|
||||
}
|
||||
/* line 27, ../../src/sass/messenger-theme-future.sass */
|
||||
ul.messenger-theme-future .messenger-message {
|
||||
-webkit-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 0px -1px rgba(0, 0, 0, 0.23), inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07);
|
||||
-moz-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 0px -1px rgba(0, 0, 0, 0.23), inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07);
|
||||
box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 0px -1px rgba(0, 0, 0, 0.23), inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07);
|
||||
/* line 23, ../../src/sass/messenger-theme-flat.sass */
|
||||
ul.messenger-theme-flat .messenger-message {
|
||||
-webkit-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929;
|
||||
-moz-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929;
|
||||
box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929;
|
||||
-webkit-border-radius: 0px;
|
||||
-moz-border-radius: 0px;
|
||||
-ms-border-radius: 0px;
|
||||
@ -272,17 +267,15 @@ ul.messenger-theme-future .messenger-message {
|
||||
font-size: 13px;
|
||||
background: transparent;
|
||||
color: #f0f0f0;
|
||||
text-shadow: 0px 1px #111111;
|
||||
font-weight: 500;
|
||||
padding: 10px 30px 13px 65px;
|
||||
}
|
||||
/* line 40, ../../src/sass/messenger-theme-future.sass */
|
||||
ul.messenger-theme-future .messenger-message .close {
|
||||
/* line 35, ../../src/sass/messenger-theme-flat.sass */
|
||||
ul.messenger-theme-flat .messenger-message .messenger-close {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
right: 0px;
|
||||
color: #888888;
|
||||
text-shadow: 0px 1px black;
|
||||
opacity: 1;
|
||||
font-weight: bold;
|
||||
display: block;
|
||||
@ -294,62 +287,51 @@ ul.messenger-theme-future .messenger-message .close {
|
||||
border: 0;
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
/* line 57, ../../src/sass/messenger-theme-future.sass */
|
||||
ul.messenger-theme-future .messenger-message .close:hover {
|
||||
/* line 51, ../../src/sass/messenger-theme-flat.sass */
|
||||
ul.messenger-theme-flat .messenger-message .messenger-close:hover {
|
||||
color: #bbbbbb;
|
||||
}
|
||||
/* line 60, ../../src/sass/messenger-theme-future.sass */
|
||||
ul.messenger-theme-future .messenger-message .close:active {
|
||||
/* line 54, ../../src/sass/messenger-theme-flat.sass */
|
||||
ul.messenger-theme-flat .messenger-message .messenger-close:active {
|
||||
color: #777777;
|
||||
}
|
||||
/* line 63, ../../src/sass/messenger-theme-future.sass */
|
||||
ul.messenger-theme-future .messenger-message .messenger-actions {
|
||||
/* line 57, ../../src/sass/messenger-theme-flat.sass */
|
||||
ul.messenger-theme-flat .messenger-message .messenger-actions {
|
||||
float: none;
|
||||
margin-top: 10px;
|
||||
}
|
||||
/* line 67, ../../src/sass/messenger-theme-future.sass */
|
||||
ul.messenger-theme-future .messenger-message .messenger-actions a {
|
||||
-webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2), inset 0px 1px rgba(255, 255, 255, 0.1);
|
||||
-moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2), inset 0px 1px rgba(255, 255, 255, 0.1);
|
||||
box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2), inset 0px 1px rgba(255, 255, 255, 0.1);
|
||||
/* line 61, ../../src/sass/messenger-theme-flat.sass */
|
||||
ul.messenger-theme-flat .messenger-message .messenger-actions a {
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
-ms-border-radius: 4px;
|
||||
-o-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
text-decoration: none;
|
||||
color: #aaaaaa;
|
||||
background: #2e2e2e;
|
||||
display: inline-block;
|
||||
padding: 10px;
|
||||
color: #aaaaaa;
|
||||
text-shadow: 0px 1px #222222;
|
||||
margin-right: 10px;
|
||||
padding: 3px 10px 5px;
|
||||
padding: 4px 11px 6px;
|
||||
text-transform: capitalize;
|
||||
}
|
||||
/* line 79, ../../src/sass/messenger-theme-future.sass */
|
||||
ul.messenger-theme-future .messenger-message .messenger-actions a:hover {
|
||||
-webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2), inset 0px 1px rgba(255, 255, 255, 0.2);
|
||||
-moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2), inset 0px 1px rgba(255, 255, 255, 0.2);
|
||||
box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2), inset 0px 1px rgba(255, 255, 255, 0.2);
|
||||
/* line 72, ../../src/sass/messenger-theme-flat.sass */
|
||||
ul.messenger-theme-flat .messenger-message .messenger-actions a:hover {
|
||||
color: #f0f0f0;
|
||||
background: #2e2e2e;
|
||||
}
|
||||
/* line 83, ../../src/sass/messenger-theme-future.sass */
|
||||
ul.messenger-theme-future .messenger-message .messenger-actions a:active {
|
||||
-webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.28), inset 0px 1px rgba(0, 0, 0, 0.1);
|
||||
-moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.28), inset 0px 1px rgba(0, 0, 0, 0.1);
|
||||
box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.28), inset 0px 1px rgba(0, 0, 0, 0.1);
|
||||
background: rgba(0, 0, 0, 0.04);
|
||||
/* line 76, ../../src/sass/messenger-theme-flat.sass */
|
||||
ul.messenger-theme-flat .messenger-message .messenger-actions a:active {
|
||||
background: #292929;
|
||||
color: #aaaaaa;
|
||||
}
|
||||
/* line 88, ../../src/sass/messenger-theme-future.sass */
|
||||
ul.messenger-theme-future .messenger-message .messenger-actions .messenger-phrase {
|
||||
/* line 80, ../../src/sass/messenger-theme-flat.sass */
|
||||
ul.messenger-theme-flat .messenger-message .messenger-actions .messenger-phrase {
|
||||
display: none;
|
||||
}
|
||||
/* line 91, ../../src/sass/messenger-theme-future.sass */
|
||||
ul.messenger-theme-future .messenger-message .messenger-message-inner:before {
|
||||
-webkit-box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.6), 0px 0px 0px 1px rgba(0, 0, 0, 0.2);
|
||||
-moz-box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.6), 0px 0px 0px 1px rgba(0, 0, 0, 0.2);
|
||||
box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.6), 0px 0px 0px 1px rgba(0, 0, 0, 0.2);
|
||||
/* line 83, ../../src/sass/messenger-theme-flat.sass */
|
||||
ul.messenger-theme-flat .messenger-message .messenger-message-inner:before {
|
||||
-webkit-border-radius: 50%;
|
||||
-moz-border-radius: 50%;
|
||||
-ms-border-radius: 50%;
|
||||
@ -365,23 +347,26 @@ ul.messenger-theme-future .messenger-message .messenger-message-inner:before {
|
||||
width: 13px;
|
||||
z-index: 20;
|
||||
}
|
||||
/* line 105, ../../src/sass/messenger-theme-future.sass */
|
||||
ul.messenger-theme-future .messenger-message.alert-success .messenger-message-inner:before {
|
||||
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #5fca4a), color-stop(100%, #098d38));
|
||||
background-image: -webkit-linear-gradient(top, #5fca4a, #098d38);
|
||||
background-image: -moz-linear-gradient(top, #5fca4a, #098d38);
|
||||
background-image: -o-linear-gradient(top, #5fca4a, #098d38);
|
||||
background-image: linear-gradient(top, #5fca4a, #098d38);
|
||||
background-color: #5fca4a;
|
||||
/* line 95, ../../src/sass/messenger-theme-flat.sass */
|
||||
ul.messenger-theme-flat .messenger-message.alert-success .messenger-message-inner:before {
|
||||
background: #5fca4a;
|
||||
}
|
||||
/* line 98, ../../src/sass/messenger-theme-flat.sass */
|
||||
ul.messenger-theme-flat .messenger-message.alert-info .messenger-message-inner:before {
|
||||
background: #61c4b8;
|
||||
}
|
||||
/* line 103, ../../src/sass/messenger-theme-flat.sass */
|
||||
ul.messenger-theme-flat .messenger-message.alert-error .messenger-message-inner:before {
|
||||
background: #dd6a45;
|
||||
}
|
||||
/* line 32, ../../src/sass/messenger-spinner.scss */
|
||||
ul.messenger-theme-future .messenger-message.alert-error.messenger-retry-soon .messenger-spinner {
|
||||
ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-soon .messenger-spinner {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
background: transparent;
|
||||
}
|
||||
/* line 37, ../../src/sass/messenger-spinner.scss */
|
||||
ul.messenger-theme-future .messenger-message.alert-error.messenger-retry-soon .messenger-spinner .messenger-spinner-side .messenger-spinner-fill {
|
||||
ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-soon .messenger-spinner .messenger-spinner-side .messenger-spinner-fill {
|
||||
background: #dd6a45;
|
||||
-webkit-animation-duration: 20s;
|
||||
-moz-animation-duration: 20s;
|
||||
@ -391,9 +376,9 @@ ul.messenger-theme-future .messenger-message.alert-error.messenger-retry-soon .m
|
||||
opacity: 1;
|
||||
}
|
||||
/* line 45, ../../src/sass/messenger-spinner.scss */
|
||||
ul.messenger-theme-future .messenger-message.alert-error.messenger-retry-soon .messenger-spinner:after {
|
||||
ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-soon .messenger-spinner:after {
|
||||
content: "";
|
||||
background: #333333;
|
||||
background: #292929;
|
||||
position: absolute;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
@ -403,13 +388,13 @@ ul.messenger-theme-future .messenger-message.alert-error.messenger-retry-soon .m
|
||||
display: block;
|
||||
}
|
||||
/* line 32, ../../src/sass/messenger-spinner.scss */
|
||||
ul.messenger-theme-future .messenger-message.alert-error.messenger-retry-later .messenger-spinner {
|
||||
ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-later .messenger-spinner {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
background: transparent;
|
||||
}
|
||||
/* line 37, ../../src/sass/messenger-spinner.scss */
|
||||
ul.messenger-theme-future .messenger-message.alert-error.messenger-retry-later .messenger-spinner .messenger-spinner-side .messenger-spinner-fill {
|
||||
ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-later .messenger-spinner .messenger-spinner-side .messenger-spinner-fill {
|
||||
background: #dd6a45;
|
||||
-webkit-animation-duration: 600s;
|
||||
-moz-animation-duration: 600s;
|
||||
@ -419,9 +404,9 @@ ul.messenger-theme-future .messenger-message.alert-error.messenger-retry-later .
|
||||
opacity: 1;
|
||||
}
|
||||
/* line 45, ../../src/sass/messenger-spinner.scss */
|
||||
ul.messenger-theme-future .messenger-message.alert-error.messenger-retry-later .messenger-spinner:after {
|
||||
ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-later .messenger-spinner:after {
|
||||
content: "";
|
||||
background: #333333;
|
||||
background: #292929;
|
||||
position: absolute;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
@ -430,56 +415,41 @@ ul.messenger-theme-future .messenger-message.alert-error.messenger-retry-later .
|
||||
left: 3px;
|
||||
display: block;
|
||||
}
|
||||
/* line 116, ../../src/sass/messenger-theme-future.sass */
|
||||
ul.messenger-theme-future .messenger-message.alert-error .messenger-message-inner:before {
|
||||
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #dd6a45), color-stop(100%, #91361a));
|
||||
background-image: -webkit-linear-gradient(top, #dd6a45, #91361a);
|
||||
background-image: -moz-linear-gradient(top, #dd6a45, #91361a);
|
||||
background-image: -o-linear-gradient(top, #dd6a45, #91361a);
|
||||
background-image: linear-gradient(top, #dd6a45, #91361a);
|
||||
background-color: #dd6a45;
|
||||
}
|
||||
/* line 121, ../../src/sass/messenger-theme-future.sass */
|
||||
ul.messenger-theme-future .messenger-message.alert-info .messenger-message-inner:before {
|
||||
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #61c4b8), color-stop(100%, #1992a3));
|
||||
background-image: -webkit-linear-gradient(top, #61c4b8, #1992a3);
|
||||
background-image: -moz-linear-gradient(top, #61c4b8, #1992a3);
|
||||
background-image: -o-linear-gradient(top, #61c4b8, #1992a3);
|
||||
background-image: linear-gradient(top, #61c4b8, #1992a3);
|
||||
background-color: #61c4b8;
|
||||
}
|
||||
/* line 127, ../../src/sass/messenger-theme-future.sass */
|
||||
ul.messenger-theme-future .messenger-message-slot.last .messenger-message {
|
||||
/* line 114, ../../src/sass/messenger-theme-flat.sass */
|
||||
ul.messenger-theme-flat .messenger-message-slot.messenger-last .messenger-message {
|
||||
-webkit-border-radius: 4px 4px 0px 0px;
|
||||
-moz-border-radius: 4px 4px 0px 0px;
|
||||
-ms-border-radius: 4px 4px 0px 0px;
|
||||
-o-border-radius: 4px 4px 0px 0px;
|
||||
border-radius: 4px 4px 0px 0px;
|
||||
-webkit-box-shadow: inset 48px 0px 0px #292929;
|
||||
-moz-box-shadow: inset 48px 0px 0px #292929;
|
||||
box-shadow: inset 48px 0px 0px #292929;
|
||||
}
|
||||
/* line 130, ../../src/sass/messenger-theme-future.sass */
|
||||
ul.messenger-theme-future .messenger-message-slot.first .messenger-message {
|
||||
/* line 118, ../../src/sass/messenger-theme-flat.sass */
|
||||
ul.messenger-theme-flat .messenger-message-slot.messenger-first .messenger-message {
|
||||
-webkit-border-radius: 0px 0px 4px 4px;
|
||||
-moz-border-radius: 0px 0px 4px 4px;
|
||||
-ms-border-radius: 0px 0px 4px 4px;
|
||||
-o-border-radius: 0px 0px 4px 4px;
|
||||
border-radius: 0px 0px 4px 4px;
|
||||
-webkit-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07);
|
||||
-moz-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07);
|
||||
box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07);
|
||||
-webkit-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929;
|
||||
-moz-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929;
|
||||
box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929;
|
||||
}
|
||||
/* line 134, ../../src/sass/messenger-theme-future.sass */
|
||||
ul.messenger-theme-future .messenger-message-slot.first.last .messenger-message {
|
||||
-webkit-box-shadow: inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07);
|
||||
-moz-box-shadow: inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07);
|
||||
box-shadow: inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07);
|
||||
/* line 122, ../../src/sass/messenger-theme-flat.sass */
|
||||
ul.messenger-theme-flat .messenger-message-slot.messenger-first.messenger-last .messenger-message {
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
-ms-border-radius: 4px;
|
||||
-o-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: inset 48px 0px 0px #292929;
|
||||
-moz-box-shadow: inset 48px 0px 0px #292929;
|
||||
box-shadow: inset 48px 0px 0px #292929;
|
||||
}
|
||||
/* line 138, ../../src/sass/messenger-theme-future.sass */
|
||||
ul.messenger-theme-future .messenger-spinner {
|
||||
/* line 126, ../../src/sass/messenger-theme-flat.sass */
|
||||
ul.messenger-theme-flat .messenger-spinner {
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: 7px;
|
90
src/UI/Content/Overrides/bootstrap.less
vendored
90
src/UI/Content/Overrides/bootstrap.less
vendored
@ -1,48 +1,16 @@
|
||||
@import "../prefixer";
|
||||
@import "../Bootstrap/variables";
|
||||
@import "../variables";
|
||||
|
||||
@input-border-focus: @droneTeal;
|
||||
@font-family-sans-serif: "open sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
@modal-md: 800px;
|
||||
@modal-lg: 800px;
|
||||
|
||||
.label, .badge, i {
|
||||
cursor : default;
|
||||
}
|
||||
|
||||
.input-group {
|
||||
.input-group-addon {
|
||||
margin-left : 0;
|
||||
}
|
||||
}
|
||||
|
||||
.label, .badge, .btn {
|
||||
.text-shadow(none);
|
||||
}
|
||||
|
||||
.btn {
|
||||
|
||||
text-transform : capitalize;
|
||||
min-width : 80px;
|
||||
padding : 4px 12px;
|
||||
|
||||
&.btn-xs {
|
||||
min-width : 0px;
|
||||
}
|
||||
|
||||
&.btn-icon-only {
|
||||
min-width : 41px;
|
||||
}
|
||||
|
||||
&.btn-icon-only-xs {
|
||||
@media (max-width: @screen-xs-max) {
|
||||
min-width : 41px;
|
||||
|
||||
span {
|
||||
.responsive-invisibility();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
label, input {
|
||||
padding: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
.slide-button {
|
||||
min-width : 0px;
|
||||
}
|
||||
@ -60,3 +28,47 @@
|
||||
.tooltip-inner {
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
.dropdown-submenu {
|
||||
position:relative;
|
||||
& > .dropdown-menu {
|
||||
top:0;
|
||||
left:100%;
|
||||
margin-top:-6px;
|
||||
margin-left:-1px;
|
||||
-webkit-border-radius:0 6px 6px 6px;
|
||||
-moz-border-radius:0 6px 6px 6px;
|
||||
border-radius:0 6px 6px 6px;
|
||||
}
|
||||
& > a:after {
|
||||
display:block;
|
||||
content:" ";
|
||||
float:right;
|
||||
width:0;
|
||||
height:0;
|
||||
border-color:transparent;
|
||||
border-style:solid;
|
||||
border-width:5px 0 5px 5px;
|
||||
border-left-color:#cccccc;
|
||||
margin-top:5px;
|
||||
margin-right:-10px;
|
||||
}
|
||||
}
|
||||
.dropdown-submenu:hover {
|
||||
& > .dropdown-menu {
|
||||
display:block;
|
||||
}
|
||||
& > a:after {
|
||||
border-left-color:#ffffff;
|
||||
}
|
||||
}
|
||||
.dropdown-submenu.pull-left {
|
||||
float:none;
|
||||
& > .dropdown-menu {
|
||||
left:-100%;
|
||||
margin-left:10px;
|
||||
-webkit-border-radius:6px 0 6px 6px;
|
||||
-moz-border-radius:6px 0 6px 6px;
|
||||
border-radius:6px 0 6px 6px;
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,9 @@
|
||||
@import "Bootstrap/mixins";
|
||||
|
||||
.toggle {
|
||||
height: 34px;
|
||||
box-sizing: border-box;
|
||||
|
||||
.slide-button {
|
||||
.button-variant(@btn-danger-color, @btn-danger-bg, @btn-danger-border);
|
||||
|
||||
|
@ -8,4 +8,14 @@
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: @screen-xs-max) {
|
||||
.fc-button {
|
||||
padding: 0px 5px;
|
||||
}
|
||||
|
||||
.fc-header-space {
|
||||
padding-left: 5px;
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,23 @@
|
||||
@import "../variables";
|
||||
|
||||
body.control-panel-visible {
|
||||
ul.messenger.messenger-fixed.messenger-on-bottom {
|
||||
bottom: 95px;
|
||||
}
|
||||
}
|
||||
|
||||
ul.messenger-theme-flat .messenger-message.alert-info .messenger-message-inner:before {
|
||||
background: @droneTeal;
|
||||
}
|
||||
|
||||
@media (max-width: @screen-xs-max) {
|
||||
ul.messenger.messenger-fixed.messenger-on-bottom {
|
||||
width: 100%;
|
||||
bottom: 0px;
|
||||
.border-bottom-radius(0);
|
||||
|
||||
&.messenger-on-right {
|
||||
right : 0px;
|
||||
}
|
||||
}
|
||||
}
|
2
src/UI/Content/bootstrap.less
vendored
Normal file
2
src/UI/Content/bootstrap.less
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
@import "./Bootstrap/bootstrap";
|
||||
@import "./Overrides/bootstrap";
|
@ -1,13 +1,7 @@
|
||||
@import "../Shared/Styles/clickable.less";
|
||||
|
||||
.form-group {
|
||||
.controls {
|
||||
i {
|
||||
font-size : 16px;
|
||||
color : #595959;
|
||||
margin-right : 5px;
|
||||
}
|
||||
|
||||
.input-group {
|
||||
.checkbox {
|
||||
width : 100px;
|
||||
margin-left : 0px;
|
||||
@ -20,6 +14,7 @@
|
||||
display : inline-block;
|
||||
margin-top : -20px;
|
||||
margin-bottom : 0;
|
||||
margin-left : 10px;
|
||||
vertical-align : middle;
|
||||
}
|
||||
|
||||
@ -30,6 +25,22 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
i {
|
||||
font-size : 16px;
|
||||
color : #595959;
|
||||
margin-right : 5px;
|
||||
}
|
||||
|
||||
.help-inline {
|
||||
display : inline-block;
|
||||
margin-top : 8px;
|
||||
padding-left : 0px;
|
||||
|
||||
@media (max-width: @screen-xs-max) {
|
||||
margin-left: 0px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.text-area-help {
|
||||
@ -39,7 +50,12 @@
|
||||
}
|
||||
|
||||
textarea.release-restrictions {
|
||||
width : 260px;
|
||||
width : 100%;
|
||||
max-width : 100%;
|
||||
}
|
||||
|
||||
.help-inline-text-area {
|
||||
margin-top: 25px !important;
|
||||
}
|
||||
|
||||
.help-link {
|
||||
@ -58,3 +74,16 @@ h3 {
|
||||
text-transform: none;
|
||||
}
|
||||
}
|
||||
|
||||
.form-inline {
|
||||
div {
|
||||
display : inline-block;
|
||||
}
|
||||
}
|
||||
|
||||
.has-error {
|
||||
.help-inline {
|
||||
color: #b94a48;
|
||||
margin-left: 0px;
|
||||
}
|
||||
}
|
||||
|
@ -1,161 +0,0 @@
|
||||
@import "prefixer";
|
||||
|
||||
@grid-float-breakpoint: @screen-xs-min;
|
||||
|
||||
#main-menu-region {
|
||||
text-align : center;
|
||||
margin-bottom : 10px;
|
||||
|
||||
i:before {
|
||||
font-size : 35px;
|
||||
}
|
||||
|
||||
i {
|
||||
width : 40px;
|
||||
}
|
||||
|
||||
.navbar-nav, .navbar-nav>li {
|
||||
float : none;
|
||||
}
|
||||
|
||||
.navbar-brand {
|
||||
padding : 0px;
|
||||
}
|
||||
|
||||
.logo {
|
||||
margin-top : 25px;
|
||||
vertical-align : middle;
|
||||
height : 70px;
|
||||
width : 70px;
|
||||
|
||||
color: #ff0000;
|
||||
&:after {
|
||||
content: "unknown";
|
||||
}
|
||||
|
||||
@media (min-width: @screen-xs-min) {
|
||||
&:after {
|
||||
content: "xs";
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: @screen-sm-min) {
|
||||
&:after {
|
||||
content: "sm";
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: @screen-md-min) {
|
||||
&:after {
|
||||
content: "md";
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: @screen-lg-min) {
|
||||
&:after {
|
||||
content: "lg";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
li {
|
||||
list-style-type : none;
|
||||
display : inline-block;
|
||||
position : relative;
|
||||
|
||||
a {
|
||||
|
||||
&:focus {
|
||||
text-decoration : none;
|
||||
}
|
||||
|
||||
display : block;
|
||||
|
||||
@media (max-width: @screen-xs-max) {
|
||||
border-radius : 6px;
|
||||
padding : 15px 10px 5px;
|
||||
min-height : 38px;
|
||||
min-width : 42px;
|
||||
margin : 20px 0px 5px;
|
||||
}
|
||||
|
||||
@media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
|
||||
border-radius : 6px;
|
||||
padding : 15px 10px 5px;
|
||||
min-height : 76px;
|
||||
min-width : 84px;
|
||||
margin : 20px 0px 5px;
|
||||
}
|
||||
|
||||
@media (min-width: @screen-md-min) {
|
||||
border-radius : 6px;
|
||||
padding : 15px 10px 5px;
|
||||
min-height : 76px;
|
||||
min-width : 84px;
|
||||
margin : 20px 10px 5px;
|
||||
}
|
||||
|
||||
color : #b9b9b9;
|
||||
font-weight : 100;
|
||||
}
|
||||
span.label.pull-right {
|
||||
position : absolute;
|
||||
top : 28px;
|
||||
right : 18px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.backdrop {
|
||||
#nav-region {
|
||||
background-color : #000000;
|
||||
.opacity(0.85);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
#nav-region {
|
||||
margin-bottom : 80px;
|
||||
height : 150px;
|
||||
|
||||
.col-md-12 {
|
||||
margin-left : 0px;
|
||||
}
|
||||
|
||||
li {
|
||||
a {
|
||||
&:hover {
|
||||
background-color : #555555;
|
||||
text-decoration : none;
|
||||
}
|
||||
|
||||
.label {
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.search {
|
||||
text-align: center;
|
||||
|
||||
input, .input-group-addon {
|
||||
background-color: #333333;
|
||||
border-color: #333333;
|
||||
color: #cccccc;
|
||||
}
|
||||
|
||||
ul {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.dropdown-menu {
|
||||
background-color: #333333;
|
||||
color: #cccccc;
|
||||
|
||||
> li > a {
|
||||
color: #cccccc;
|
||||
}
|
||||
}
|
||||
}
|
227
src/UI/Content/navbar.less
Normal file
227
src/UI/Content/navbar.less
Normal file
@ -0,0 +1,227 @@
|
||||
@import "prefixer";
|
||||
@import "variables";
|
||||
|
||||
@grid-float-breakpoint: @screen-xs-min;
|
||||
|
||||
.backdrop {
|
||||
.navbar-nzbdrone {
|
||||
background-color : #000000;
|
||||
.opacity(0.85);
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-nzbdrone {
|
||||
text-align : center;
|
||||
|
||||
i:before {
|
||||
font-size : 35px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.navbar-nav, .navbar-nav>li {
|
||||
float : none;
|
||||
}
|
||||
|
||||
.navbar-toggle {
|
||||
border-color: #333;
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
background-color: #333;
|
||||
}
|
||||
|
||||
.icon-bar {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-brand {
|
||||
position: absolute;
|
||||
|
||||
@media (max-width: @screen-xs-max) {
|
||||
padding: 9px 15px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
@media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
|
||||
padding: 20px 15px;
|
||||
}
|
||||
|
||||
@media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
|
||||
padding: 30px 15px;
|
||||
}
|
||||
|
||||
@media (min-width: @screen-lg-min) {
|
||||
padding: 22px 15px;
|
||||
}
|
||||
}
|
||||
|
||||
.logo-text {
|
||||
color: white;
|
||||
font-weight: 300;
|
||||
|
||||
.highlight {
|
||||
font-weight: 400;
|
||||
color: @droneTeal;
|
||||
}
|
||||
}
|
||||
|
||||
li {
|
||||
list-style-type : none;
|
||||
display : inline-block;
|
||||
position : relative;
|
||||
|
||||
a {
|
||||
display : block;
|
||||
color : #b9b9b9;
|
||||
font-weight : 100;
|
||||
|
||||
&:hover {
|
||||
background-color : #555555;
|
||||
text-decoration : none;
|
||||
}
|
||||
|
||||
.label {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
&:focus {
|
||||
text-decoration : none;
|
||||
}
|
||||
|
||||
@media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
|
||||
border-radius : 6px;
|
||||
padding : 5px 0px 5px;
|
||||
min-height : 76px;
|
||||
min-width : 64px;
|
||||
margin : 20px 5px 5px;
|
||||
}
|
||||
|
||||
@media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
|
||||
border-radius : 6px;
|
||||
padding : 15px 10px 5px;
|
||||
min-height : 76px;
|
||||
min-width : 64px;
|
||||
margin : 20px 10px 5px;
|
||||
}
|
||||
|
||||
@media (min-width: @screen-lg-min) {
|
||||
border-radius : 6px;
|
||||
padding : 15px 10px 5px;
|
||||
min-height : 76px;
|
||||
min-width : 84px;
|
||||
margin : 20px 10px 5px;
|
||||
}
|
||||
}
|
||||
|
||||
.health {
|
||||
.label {
|
||||
position : absolute;
|
||||
top : 10px;
|
||||
right : 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: @screen-xs-max) {
|
||||
text-align : left;
|
||||
|
||||
i:before {
|
||||
font-size : 14px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
li {
|
||||
display: block;
|
||||
|
||||
a:hover {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.health {
|
||||
margin-left: 5px;
|
||||
|
||||
.label {
|
||||
position : static;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.search {
|
||||
|
||||
i:before {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.input-group {
|
||||
input, .input-group-addon {
|
||||
background-color: #333333;
|
||||
}
|
||||
}
|
||||
|
||||
input, .input-group-addon {
|
||||
border-color: #333333;
|
||||
color: #cccccc;
|
||||
}
|
||||
|
||||
ul {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.tt-dropdown-menu {
|
||||
|
||||
background-color: #333333;
|
||||
color: #cccccc;
|
||||
opacity: .95;
|
||||
|
||||
.tt-suggestion {
|
||||
color: #cccccc;
|
||||
|
||||
&.tt-cursor {
|
||||
//item selected
|
||||
|
||||
background-color: @droneTeal;
|
||||
color: #222222;
|
||||
|
||||
a {
|
||||
//link in item selected
|
||||
color: #222222;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//.screen-size {
|
||||
// color: @droneTeal;
|
||||
// &:after {
|
||||
// content: "unknown";
|
||||
// }
|
||||
//
|
||||
// @media (min-width: @screen-xs-min) {
|
||||
// &:after {
|
||||
// content: "xs";
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @media (min-width: @screen-sm-min) {
|
||||
// &:after {
|
||||
// content: "sm";
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @media (min-width: @screen-md-min) {
|
||||
// &:after {
|
||||
// content: "md";
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @media (min-width: @screen-lg-min) {
|
||||
// &:after {
|
||||
// content: "lg";
|
||||
// }
|
||||
// }
|
||||
//}
|
@ -11,15 +11,16 @@
|
||||
}
|
||||
|
||||
.progressbar-back-text, .progressbar-front-text {
|
||||
font-size : 11.844px;
|
||||
font-size : 12px;
|
||||
font-weight : bold;
|
||||
text-align : center;
|
||||
cursor : default;
|
||||
line-height : 20px;
|
||||
}
|
||||
|
||||
.progressbar-back-text {
|
||||
position : absolute;
|
||||
height : 100%;
|
||||
position : absolute;
|
||||
height : 100%;
|
||||
}
|
||||
|
||||
.progressbar-front-text {
|
||||
@ -27,7 +28,7 @@
|
||||
height : 100%;
|
||||
}
|
||||
|
||||
.bar {
|
||||
.progress-bar {
|
||||
position : absolute;
|
||||
overflow : hidden;
|
||||
}
|
||||
|
@ -3,7 +3,7 @@
|
||||
@import "Bootstrap/type";
|
||||
@import "font";
|
||||
@import "form";
|
||||
@import "menu";
|
||||
@import "navbar";
|
||||
@import "Backgrid/backgrid";
|
||||
@import "prefixer";
|
||||
@import "icons";
|
||||
@ -14,6 +14,15 @@
|
||||
@import "../Shared/Styles/clickable";
|
||||
@import "../Shared/Styles/card";
|
||||
@import "../Rename/rename";
|
||||
@import "typeahead";
|
||||
@import "utilities";
|
||||
|
||||
.main-region {
|
||||
@media (min-width: @screen-lg-min) {
|
||||
padding-left : 30px;
|
||||
padding-right : 30px;
|
||||
}
|
||||
}
|
||||
|
||||
.toolbar {
|
||||
|
||||
@ -150,8 +159,9 @@ body {
|
||||
min-width : 1210px; */
|
||||
max-width : 1210px;
|
||||
margin : auto;
|
||||
margin-top : -70px;
|
||||
// margin-top : -70px;
|
||||
padding : 20px 0px;
|
||||
|
||||
.header {
|
||||
padding-bottom : 10px;
|
||||
margin-bottom : 20px;
|
||||
@ -186,12 +196,6 @@ body {
|
||||
color : @state-danger-text;
|
||||
}
|
||||
|
||||
.form-inline {
|
||||
div {
|
||||
display : inline-block;
|
||||
}
|
||||
}
|
||||
|
||||
.error {
|
||||
background: #FF0000;
|
||||
}
|
||||
@ -219,6 +223,17 @@ body {
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
height: 55px;
|
||||
height: 80px;
|
||||
opacity: 0;
|
||||
|
||||
@media (max-width: @screen-sm-max) {
|
||||
height: initial;
|
||||
position: static;
|
||||
}
|
||||
}
|
||||
|
||||
.tab-content {
|
||||
.tab-pane {
|
||||
padding-top: 10px;
|
||||
}
|
||||
}
|
||||
|
152
src/UI/Content/typeahead.less
Normal file
152
src/UI/Content/typeahead.less
Normal file
@ -0,0 +1,152 @@
|
||||
/*
|
||||
* typehead.js-bootstrap3.less
|
||||
* @version 0.2.3
|
||||
* https://github.com/hyspace/typeahead.js-bootstrap3.less
|
||||
*
|
||||
* Licensed under the MIT license:
|
||||
* http://www.opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
//custom mixin for .form-control-validation
|
||||
.typeahead-form-control(@border-color: #ccc;) {
|
||||
border-color: @border-color;
|
||||
.box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work
|
||||
&:focus {
|
||||
border-color: darken(@border-color, 10%);
|
||||
@shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@border-color, 20%);
|
||||
.box-shadow(@shadow);
|
||||
}
|
||||
}
|
||||
|
||||
//main styles for control
|
||||
.tt-input,
|
||||
.tt-hint {
|
||||
.twitter-typeahead &{
|
||||
//validation states
|
||||
.has-warning &{
|
||||
.typeahead-form-control(@state-warning-text);
|
||||
}
|
||||
.has-error &{
|
||||
.typeahead-form-control(@state-danger-text);
|
||||
}
|
||||
.has-success &{
|
||||
.typeahead-form-control(@state-success-text);
|
||||
}
|
||||
}
|
||||
|
||||
//border
|
||||
.input-group .twitter-typeahead:first-child &{
|
||||
.border-left-radius(@border-radius-base);
|
||||
}
|
||||
.input-group .twitter-typeahead:last-child &{
|
||||
.border-right-radius(@border-radius-base);
|
||||
}
|
||||
|
||||
//sizing - small:size and border
|
||||
.input-group.input-group-sm .twitter-typeahead &{
|
||||
.input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);
|
||||
}
|
||||
.input-group.input-group-sm .twitter-typeahead:not(:first-child):not(:last-child) &{
|
||||
border-radius: 0;
|
||||
}
|
||||
.input-group.input-group-sm .twitter-typeahead:first-child &{
|
||||
.border-left-radius(@border-radius-small);
|
||||
.border-right-radius(0);
|
||||
}
|
||||
.input-group.input-group-sm .twitter-typeahead:last-child &{
|
||||
.border-left-radius(0);
|
||||
.border-right-radius(@border-radius-small);
|
||||
}
|
||||
|
||||
//sizing - large:size and border
|
||||
.input-group.input-group-lg .twitter-typeahead &{
|
||||
.input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);
|
||||
}
|
||||
.input-group.input-group-lg .twitter-typeahead:not(:first-child):not(:last-child) &{
|
||||
border-radius: 0;
|
||||
}
|
||||
.input-group.input-group-lg .twitter-typeahead:first-child &{
|
||||
.border-left-radius(@border-radius-large);
|
||||
.border-right-radius(0);
|
||||
}
|
||||
.input-group.input-group-lg .twitter-typeahead:last-child &{
|
||||
.border-left-radius(0);
|
||||
.border-right-radius(@border-radius-large);
|
||||
}
|
||||
}
|
||||
|
||||
//for wrapper
|
||||
.twitter-typeahead {
|
||||
width: 100%;
|
||||
.input-group &{
|
||||
//overwrite `display:inline-block` style
|
||||
display: table-cell!important;
|
||||
float: left;
|
||||
}
|
||||
}
|
||||
|
||||
//particular style for each other
|
||||
.twitter-typeahead .tt-hint {
|
||||
color: @text-muted;//color - hint
|
||||
}
|
||||
.twitter-typeahead .tt-input {
|
||||
z-index: 2;
|
||||
//disabled status
|
||||
//overwrite inline styles of .tt-query
|
||||
&[disabled],
|
||||
&[readonly],
|
||||
fieldset[disabled] & {
|
||||
cursor: not-allowed;
|
||||
//overwirte inline style
|
||||
background-color: @input-bg-disabled!important;
|
||||
}
|
||||
}
|
||||
|
||||
//dropdown styles
|
||||
.tt-dropdown-menu {
|
||||
//dropdown menu
|
||||
position: absolute;
|
||||
top: 100%;
|
||||
left: 0;
|
||||
z-index: @zindex-dropdown;
|
||||
min-width: 160px;
|
||||
width: 100%;
|
||||
padding: 5px 0;
|
||||
margin: 2px 0 0;
|
||||
list-style: none;
|
||||
font-size: @font-size-base;
|
||||
background-color: @dropdown-bg;
|
||||
border: 1px solid @dropdown-fallback-border;
|
||||
border: 1px solid @dropdown-border;
|
||||
border-radius: @border-radius-base;
|
||||
.box-shadow(0 6px 12px rgba(0,0,0,.175));
|
||||
background-clip: padding-box;
|
||||
*border-right-width: 2px;
|
||||
*border-bottom-width: 2px;
|
||||
|
||||
.tt-suggestion {
|
||||
//item
|
||||
display: block;
|
||||
padding: 3px 20px;
|
||||
clear: both;
|
||||
font-weight: normal;
|
||||
line-height: @line-height-base;
|
||||
color: @dropdown-link-color;
|
||||
white-space: nowrap;
|
||||
|
||||
&.tt-cursor {
|
||||
//item selected
|
||||
text-decoration: none;
|
||||
outline: 0;
|
||||
background-color: @dropdown-link-hover-bg;
|
||||
color: @dropdown-link-hover-color;
|
||||
a {
|
||||
//link in item selected
|
||||
color: @dropdown-link-hover-color;
|
||||
}
|
||||
}
|
||||
p {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
}
|
19
src/UI/Content/utilities.less
Normal file
19
src/UI/Content/utilities.less
Normal file
@ -0,0 +1,19 @@
|
||||
@import "Bootstrap/variables";
|
||||
@import "Bootstrap/mixins";
|
||||
|
||||
@media (max-width: @screen-sm-max) {
|
||||
.pull-none-xs {
|
||||
float : none !important;
|
||||
}
|
||||
|
||||
.btn-group {
|
||||
&.btn-group-collapse {
|
||||
> .btn {
|
||||
margin : 2px;
|
||||
display : block;
|
||||
float : none;
|
||||
border-radius : @border-radius-base !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1 +1 @@
|
||||
<div class="activity-table"></div>
|
||||
<div class="activity-table table-responsive"></div>
|
@ -1,33 +1,37 @@
|
||||
<div class="episode-detail-modal">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="episode-detail-modal">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
|
||||
<h3>
|
||||
<i class="icon-bookmark x-episode-monitored episode-monitored" title="Toggle monitored status" />
|
||||
{{series.title}} - {{EpisodeNumber}} - {{title}}
|
||||
</h3>
|
||||
<h3>
|
||||
<i class="icon-bookmark x-episode-monitored episode-monitored" title="Toggle monitored status" />
|
||||
{{series.title}} - {{EpisodeNumber}} - {{title}}
|
||||
</h3>
|
||||
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<ul class="nav nav-tabs" id="myTab">
|
||||
<li><a href="#episode-summary" class="x-episode-summary">Summary</a></li>
|
||||
<li><a href="#episode-activity" class="x-episode-activity">Activity</a></li>
|
||||
<li><a href="#episode-search" class="x-episode-search">Search</a></li>
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane" id="episode-summary"/>
|
||||
<div class="tab-pane" id="episode-activity"/>
|
||||
<div class="tab-pane" id="episode-search"/>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<ul class="nav nav-tabs" id="myTab">
|
||||
<li><a href="#episode-summary" class="x-episode-summary">Summary</a></li>
|
||||
<li><a href="#episode-activity" class="x-episode-activity">Activity</a></li>
|
||||
<li><a href="#episode-search" class="x-episode-search">Search</a></li>
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane" id="episode-summary"/>
|
||||
<div class="tab-pane" id="episode-activity"/>
|
||||
<div class="tab-pane" id="episode-search"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
{{#unless hideSeriesLink}}
|
||||
{{#with series}}
|
||||
<a href="{{route}}" class="btn btn-default pull-left" data-dismiss="modal">open series</a>
|
||||
{{/with}}
|
||||
{{/unless}}
|
||||
|
||||
<button class="btn btn-default" data-dismiss="modal">close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
{{#unless hideSeriesLink}}
|
||||
{{#with series}}
|
||||
<a href="{{route}}" class="btn pull-left" data-dismiss="modal">open series</a>
|
||||
{{/with}}
|
||||
{{/unless}}
|
||||
|
||||
<button class="btn" data-dismiss="modal">close</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -1,2 +1,2 @@
|
||||
<div id="episode-release-grid"/>
|
||||
<div id="episode-release-grid" class="table-responsive"></div>
|
||||
<button class="btn x-search-back">Back</button>
|
@ -1,21 +1,23 @@
|
||||
<div class="form-group">
|
||||
<label class="control-label">{{label}}</label>
|
||||
<label class="col-sm-3 control-label">{{label}}</label>
|
||||
|
||||
<div class="controls">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="fields.{{order}}.value"/>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
<div class="col-sm-5">
|
||||
<div class="input-group">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="fields.{{order}}.value"/>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
|
||||
{{#if helpText}}
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-info" title="{{helpText}}"/>
|
||||
</span>
|
||||
{{/if}}
|
||||
{{#if helpText}}
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-info" title="{{helpText}}"/>
|
||||
</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,11 +1,8 @@
|
||||
{{#if helpText}}
|
||||
<span class="help-inline">
|
||||
<span class="col-sm-1 help-inline">
|
||||
{{#if helpText}}
|
||||
<i class="icon-nd-form-info" title="{{helpText}}"/>
|
||||
</span>
|
||||
{{/if}}
|
||||
|
||||
{{#if helpLink}}
|
||||
<span class="help-inline">
|
||||
{{/if}}
|
||||
{{#if helpLink}}
|
||||
<a href="{{helpLink}}" class="help-link"><i class="icon-info-sign"/></a>
|
||||
</span>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
</span>
|
||||
|
@ -1,12 +1,8 @@
|
||||
<div class="form-group">
|
||||
<label class="control-label">{{label}}</label>
|
||||
<label class="col-sm-3 control-label">{{label}}</label>
|
||||
|
||||
<div class="controls">
|
||||
<input type="password" name="fields.{{order}}.value" validation-name="{{name}}"/>
|
||||
{{#if helpText}}
|
||||
<span class="help-inline">
|
||||
<i class="icon-nd-form-info" title="{{helpText}}"/>
|
||||
</span>
|
||||
{{/if}}
|
||||
<div class="col-sm-5">
|
||||
<input type="password" name="fields.{{order}}.value" validation-name="{{name}}" class="form-control"/>
|
||||
</div>
|
||||
{{> FormHelpPartial}}
|
||||
</div>
|
||||
|
@ -1,12 +1,8 @@
|
||||
<div class="form-group">
|
||||
<label class="control-label">{{label}}</label>
|
||||
<label class="col-sm-3 control-label">{{label}}</label>
|
||||
|
||||
<div class="controls">
|
||||
<input type="text" name="fields.{{order}}.value" validation-name="{{name}}" class="x-path"/>
|
||||
{{#if helpText}}
|
||||
<span class="help-inline">
|
||||
<i class="icon-nd-form-info" title="{{helpText}}"/>
|
||||
</span>
|
||||
{{/if}}
|
||||
<div class="col-sm-5">
|
||||
<input type="text" name="fields.{{order}}.value" validation-name="{{name}}" class="form-control x-path"/>
|
||||
</div>
|
||||
{{> FormHelpPartial}}
|
||||
</div>
|
||||
|
@ -1,16 +1,12 @@
|
||||
<div class="form-group">
|
||||
<label class="control-label">{{label}}</label>
|
||||
<label class="col-sm-3 control-label">{{label}}</label>
|
||||
|
||||
<div class="controls">
|
||||
<select name="fields.{{order}}.value">
|
||||
<div class="col-sm-5">
|
||||
<select name="fields.{{order}}.value" class="form-control">
|
||||
{{#each selectOptions}}
|
||||
<option value="{{value}}">{{name}}</option>
|
||||
{{/each}}
|
||||
</select>
|
||||
{{#if helpText}}
|
||||
<span class="help-inline">
|
||||
<i class="icon-nd-form-info" title="{{helpText}}"/>
|
||||
</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{> FormHelpPartial}}
|
||||
</div>
|
||||
|
@ -1,8 +1,8 @@
|
||||
<div class="form-group">
|
||||
<label class="control-label">{{label}}</label>
|
||||
<label class="col-sm-3 control-label">{{label}}</label>
|
||||
|
||||
<div class="controls">
|
||||
<input type="text" name="fields.{{order}}.value" validation-name="{{name}}" spellcheck="false"/>
|
||||
{{> FormHelpPartial}}
|
||||
<div class="col-sm-5">
|
||||
<input type="text" name="fields.{{order}}.value" validation-name="{{name}}" spellcheck="false" class="form-control"/>
|
||||
</div>
|
||||
{{> FormHelpPartial}}
|
||||
</div>
|
||||
|
@ -44,4 +44,16 @@ define(
|
||||
return 'primary';
|
||||
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('EpisodeProgressClass', function () {
|
||||
if (this.episodeFileCount === this.episodeCount) {
|
||||
if (this.continuing) {
|
||||
return '';
|
||||
}
|
||||
|
||||
return 'progress-bar-success';
|
||||
}
|
||||
|
||||
return 'progress-bar-danger';
|
||||
});
|
||||
});
|
||||
|
@ -11,7 +11,7 @@ define(
|
||||
var profile = QualityProfileCollection.get(profileId);
|
||||
|
||||
if (profile) {
|
||||
return new Handlebars.SafeString('<span class="label quality-profile-label">' + profile.get("name") + '</span>');
|
||||
return new Handlebars.SafeString('<span class="label label-default quality-profile-label">' + profile.get("name") + '</span>');
|
||||
}
|
||||
|
||||
return undefined;
|
||||
|
@ -6,6 +6,8 @@ define(
|
||||
'Health/HealthCollection'
|
||||
], function (_, Marionette, HealthCollection) {
|
||||
return Marionette.ItemView.extend({
|
||||
tagName: 'span',
|
||||
|
||||
initialize: function () {
|
||||
this.listenTo(HealthCollection, 'sync', this._healthSync);
|
||||
HealthCollection.fetch();
|
||||
@ -25,10 +27,10 @@ define(
|
||||
});
|
||||
|
||||
if (errors) {
|
||||
label = 'label-important';
|
||||
label = 'label-danger';
|
||||
}
|
||||
|
||||
this.$el.html('<span class="label pull-right {0}">{1}</span>'.format(label, count));
|
||||
this.$el.html('<span class="label {0}">{1}</span>'.format(label, count));
|
||||
return this;
|
||||
},
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
<div id="x-toolbar"/>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="col-md-12 table-responsive">
|
||||
<div id="x-blacklist"/>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,86 +1,89 @@
|
||||
<div class="history-detail-modal">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="history-detail-modal">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
|
||||
<h3>
|
||||
{{#if_eq eventType compare="grabbed"}}Grabbed{{/if_eq}}
|
||||
{{#if_eq eventType compare="downloadFailed"}}Download Failed{{/if_eq}}
|
||||
{{#if_eq eventType compare="downloadFolderImported"}}Episode Imported{{/if_eq}}
|
||||
</h3>
|
||||
<h3>
|
||||
{{#if_eq eventType compare="grabbed"}}Grabbed{{/if_eq}}
|
||||
{{#if_eq eventType compare="downloadFailed"}}Download Failed{{/if_eq}}
|
||||
{{#if_eq eventType compare="downloadFolderImported"}}Episode Imported{{/if_eq}}
|
||||
</h3>
|
||||
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
{{#if_eq eventType compare="grabbed"}}
|
||||
<dl class="dl-horizontal">
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
{{#if_eq eventType compare="grabbed"}}
|
||||
<dl class="dl-horizontal">
|
||||
|
||||
<dt>Name:</dt>
|
||||
<dd>{{sourceTitle}}</dd>
|
||||
<dt>Name:</dt>
|
||||
<dd>{{sourceTitle}}</dd>
|
||||
|
||||
{{#with data}}
|
||||
{{#if indexer}}
|
||||
<dt>Indexer:</dt>
|
||||
<dd>{{indexer}}</dd>
|
||||
{{/if}}
|
||||
{{#with data}}
|
||||
{{#if indexer}}
|
||||
<dt>Indexer:</dt>
|
||||
<dd>{{indexer}}</dd>
|
||||
{{/if}}
|
||||
|
||||
{{#if releaseGroup}}
|
||||
<dt>Release Group:</dt>
|
||||
<dd>{{releaseGroup}}</dd>
|
||||
{{/if}}
|
||||
{{#if releaseGroup}}
|
||||
<dt>Release Group:</dt>
|
||||
<dd>{{releaseGroup}}</dd>
|
||||
{{/if}}
|
||||
|
||||
{{#if nzbInfoUrl}}
|
||||
<dt>Info:</dt>
|
||||
<dd><a href="{{nzbInfoUrl}}">{{nzbInfoUrl}}</a></dd>
|
||||
{{/if}}
|
||||
{{#if nzbInfoUrl}}
|
||||
<dt>Info:</dt>
|
||||
<dd><a href="{{nzbInfoUrl}}">{{nzbInfoUrl}}</a></dd>
|
||||
{{/if}}
|
||||
|
||||
{{#if downloadClient}}
|
||||
<dt>Download Client:</dt>
|
||||
<dd>{{downloadClient}}</dd>
|
||||
{{/if}}
|
||||
{{#if downloadClient}}
|
||||
<dt>Download Client:</dt>
|
||||
<dd>{{downloadClient}}</dd>
|
||||
{{/if}}
|
||||
|
||||
{{#if downloadClientId}}
|
||||
<dt>Download Client ID:</dt>
|
||||
<dd>{{downloadClientId}}</dd>
|
||||
{{/if}}
|
||||
{{/with}}
|
||||
</dl>
|
||||
{{/if_eq}}
|
||||
{{#if_eq eventType compare="downloadFailed"}}
|
||||
<dl class="dl-horizontal">
|
||||
{{#if downloadClientId}}
|
||||
<dt>Download Client ID:</dt>
|
||||
<dd>{{downloadClientId}}</dd>
|
||||
{{/if}}
|
||||
{{/with}}
|
||||
</dl>
|
||||
{{/if_eq}}
|
||||
{{#if_eq eventType compare="downloadFailed"}}
|
||||
<dl class="dl-horizontal">
|
||||
|
||||
<dt>Name:</dt>
|
||||
<dd>{{sourceTitle}}</dd>
|
||||
<dt>Name:</dt>
|
||||
<dd>{{sourceTitle}}</dd>
|
||||
|
||||
{{#with data}}
|
||||
<dt>Message:</dt>
|
||||
<dd>{{message}}</dd>
|
||||
{{/with}}
|
||||
</dl>
|
||||
{{/if_eq}}
|
||||
{{#if_eq eventType compare="downloadFolderImported"}}
|
||||
<dl class="dl-horizontal">
|
||||
|
||||
{{#if sourceTitle}}
|
||||
<dt>Name:</dt>
|
||||
<dd>{{sourceTitle}}</dd>
|
||||
{{/if}}
|
||||
|
||||
{{#with data}}
|
||||
{{#if droppedPath}}
|
||||
<dt>Source:</dt>
|
||||
<dd>{{droppedPath}}</dd>
|
||||
{{/if}}
|
||||
{{#with data}}
|
||||
<dt>Message:</dt>
|
||||
<dd>{{message}}</dd>
|
||||
{{/with}}
|
||||
</dl>
|
||||
{{/if_eq}}
|
||||
{{#if_eq eventType compare="downloadFolderImported"}}
|
||||
<dl class="dl-horizontal">
|
||||
|
||||
{{#if importedPath}}
|
||||
<dt>Imported To:</dt>
|
||||
<dd>{{importedPath}}</dd>
|
||||
{{/if}}
|
||||
{{/with}}
|
||||
</dl>
|
||||
{{/if_eq}}
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
{{#if_eq eventType compare="grabbed"}}<button class="btn btn-danger x-mark-as-failed">mark as failed</button>{{/if_eq}}
|
||||
<button class="btn" data-dismiss="modal">close</button>
|
||||
{{#if sourceTitle}}
|
||||
<dt>Name:</dt>
|
||||
<dd>{{sourceTitle}}</dd>
|
||||
{{/if}}
|
||||
|
||||
{{#with data}}
|
||||
{{#if droppedPath}}
|
||||
<dt>Source:</dt>
|
||||
<dd>{{droppedPath}}</dd>
|
||||
{{/if}}
|
||||
|
||||
{{#if importedPath}}
|
||||
<dt>Imported To:</dt>
|
||||
<dd>{{importedPath}}</dd>
|
||||
{{/if}}
|
||||
{{/with}}
|
||||
</dl>
|
||||
{{/if_eq}}
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
{{#if_eq eventType compare="grabbed"}}<button class="btn btn-danger x-mark-as-failed">mark as failed</button>{{/if_eq}}
|
||||
<button class="btn" data-dismiss="modal">close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="col-md-12 table-responsive">
|
||||
<div id="x-queue-pager"/>
|
||||
</div>
|
||||
</div>
|
@ -88,7 +88,6 @@ define(
|
||||
|
||||
onShow: function () {
|
||||
this.history.show(new LoadingView());
|
||||
//this.collection.fetch();
|
||||
this._showToolbar();
|
||||
},
|
||||
|
||||
@ -160,8 +159,9 @@ define(
|
||||
this.collection.state.currentPage = 1;
|
||||
var promise = this.collection.setFilterMode(mode);
|
||||
|
||||
if (buttonContext)
|
||||
if (buttonContext) {
|
||||
buttonContext.ui.icon.spinForPromise(promise);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
@ -1,6 +1,6 @@
|
||||
<div id="x-history-toolbar"/>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="col-md-12 table-responsive">
|
||||
<div id="x-history"/>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,4 +1,4 @@
|
||||
/*! messenger 1.3.6 */
|
||||
/*! messenger 1.4.1 */
|
||||
/*
|
||||
* This file begins the output concatenated into messenger.js
|
||||
*
|
||||
@ -331,11 +331,11 @@ window.Messenger.Events = (function() {
|
||||
|
||||
BaseView.prototype.delegateEvents = function(events) {
|
||||
var delegateEventSplitter, eventName, key, match, method, selector, _results;
|
||||
if (!(events || (events = _.result(this, 'events')))) {
|
||||
if (!(events || (events = _.result(this, "events")))) {
|
||||
return;
|
||||
}
|
||||
delegateEventSplitter = /^(\S+)\s*(.*)$/;
|
||||
this.undelegateEvents();
|
||||
delegateEventSplitter = /^(\S+)\s*(.*)$/;
|
||||
_results = [];
|
||||
for (key in events) {
|
||||
method = events[key];
|
||||
@ -343,7 +343,7 @@ window.Messenger.Events = (function() {
|
||||
method = this[events[key]];
|
||||
}
|
||||
if (!method) {
|
||||
throw new Error("Method " + events[key] + " does not exist");
|
||||
throw new Error("Method \"" + events[key] + "\" does not exist");
|
||||
}
|
||||
match = key.match(delegateEventSplitter);
|
||||
eventName = match[1];
|
||||
@ -409,7 +409,8 @@ window.Messenger.Events = (function() {
|
||||
|
||||
_Message.prototype.defaults = {
|
||||
hideAfter: 10,
|
||||
scroll: true
|
||||
scroll: true,
|
||||
closeButtonText: "×"
|
||||
};
|
||||
|
||||
_Message.prototype.initialize = function(opts) {
|
||||
@ -574,7 +575,8 @@ window.Messenger.Events = (function() {
|
||||
_this = this;
|
||||
$message = $("<div class='messenger-message message alert " + opts.type + " message-" + opts.type + " alert-" + opts.type + "'>");
|
||||
if (opts.showCloseButton) {
|
||||
$cancel = $('<button type="button" class="close" data-dismiss="alert">×</button>');
|
||||
$cancel = $('<button type="button" class="messenger-close" data-dismiss="alert">');
|
||||
$cancel.html(opts.closeButtonText);
|
||||
$cancel.click(function() {
|
||||
_this.cancel();
|
||||
return true;
|
||||
@ -992,7 +994,7 @@ window.Messenger.Events = (function() {
|
||||
};
|
||||
|
||||
ActionMessenger.prototype.run = function() {
|
||||
var args, attr, events, getMessageText, handler, handlers, m_opts, msg, old, opts, promiseAttrs, type, _i, _len, _ref2, _ref3,
|
||||
var args, events, getMessageText, handler, handlers, m_opts, msg, old, opts, type, _ref2,
|
||||
_this = this;
|
||||
m_opts = arguments[0], opts = arguments[1], args = 3 <= arguments.length ? __slice.call(arguments, 2) : [];
|
||||
if (opts == null) {
|
||||
@ -1101,7 +1103,9 @@ window.Messenger.Events = (function() {
|
||||
}
|
||||
msg.update(msgOpts);
|
||||
if (responseOpts && msgOpts.message) {
|
||||
Messenger();
|
||||
Messenger(_.extend({}, _this.options, {
|
||||
instance: _this
|
||||
}));
|
||||
return msg.show();
|
||||
} else {
|
||||
return msg.hide();
|
||||
@ -1119,14 +1123,6 @@ window.Messenger.Events = (function() {
|
||||
if (m_opts.returnsPromise) {
|
||||
msg._actionInstance.then(handlers.success, handlers.error);
|
||||
}
|
||||
promiseAttrs = ['done', 'progress', 'fail', 'state', 'then'];
|
||||
for (_i = 0, _len = promiseAttrs.length; _i < _len; _i++) {
|
||||
attr = promiseAttrs[_i];
|
||||
if (msg[attr] != null) {
|
||||
delete msg[attr];
|
||||
}
|
||||
msg[attr] = (_ref3 = msg._actionInstance) != null ? _ref3[attr] : void 0;
|
||||
}
|
||||
return msg;
|
||||
};
|
||||
|
||||
@ -1147,6 +1143,45 @@ window.Messenger.Events = (function() {
|
||||
return this.run(m_opts);
|
||||
};
|
||||
|
||||
ActionMessenger.prototype.error = function(m_opts) {
|
||||
if (m_opts == null) {
|
||||
m_opts = {};
|
||||
}
|
||||
if (typeof m_opts === 'string') {
|
||||
m_opts = {
|
||||
message: m_opts
|
||||
};
|
||||
}
|
||||
m_opts.type = 'error';
|
||||
return this.post(m_opts);
|
||||
};
|
||||
|
||||
ActionMessenger.prototype.info = function(m_opts) {
|
||||
if (m_opts == null) {
|
||||
m_opts = {};
|
||||
}
|
||||
if (typeof m_opts === 'string') {
|
||||
m_opts = {
|
||||
message: m_opts
|
||||
};
|
||||
}
|
||||
m_opts.type = 'info';
|
||||
return this.post(m_opts);
|
||||
};
|
||||
|
||||
ActionMessenger.prototype.success = function(m_opts) {
|
||||
if (m_opts == null) {
|
||||
m_opts = {};
|
||||
}
|
||||
if (typeof m_opts === 'string') {
|
||||
m_opts = {
|
||||
message: m_opts
|
||||
};
|
||||
}
|
||||
m_opts.type = 'success';
|
||||
return this.post(m_opts);
|
||||
};
|
||||
|
||||
return ActionMessenger;
|
||||
|
||||
})(_Messenger);
|
||||
@ -1204,7 +1239,7 @@ window.Messenger.Events = (function() {
|
||||
inst = $el.messenger(opts);
|
||||
inst._location = chosen_loc;
|
||||
Messenger.instance = inst;
|
||||
} else if ($(inst._location) !== $(chosen_loc)) {
|
||||
} else if (!$(inst._location).is($(chosen_loc))) {
|
||||
inst.$el.detach();
|
||||
$parent.prepend(inst.$el);
|
||||
}
|
||||
|
@ -15,7 +15,7 @@ define(
|
||||
this.state.filterValue = filter[1];
|
||||
|
||||
if (options.reset) {
|
||||
if (this.mode != 'server') {
|
||||
if (this.mode !== 'server') {
|
||||
this.fullCollection.resetFiltered();
|
||||
} else {
|
||||
return this.fetch();
|
||||
@ -35,10 +35,12 @@ define(
|
||||
self.shadowCollection = originalMakeFullCollection.call(this, models, options);
|
||||
|
||||
var filterModel = function(model) {
|
||||
if (!self.state.filterKey || !self.state.filterValue)
|
||||
if (!self.state.filterKey || !self.state.filterValue) {
|
||||
return true;
|
||||
else
|
||||
}
|
||||
else {
|
||||
return model.get(self.state.filterKey) === self.state.filterValue;
|
||||
}
|
||||
};
|
||||
|
||||
self.shadowCollection.filtered = function() {
|
||||
|
@ -2,24 +2,40 @@
|
||||
define(
|
||||
[
|
||||
'jquery',
|
||||
'underscore',
|
||||
'typeahead'
|
||||
], function ($) {
|
||||
], function ($, _) {
|
||||
|
||||
$.fn.autoComplete = function (resource) {
|
||||
$(this).typeahead({
|
||||
source : function (filter, callback) {
|
||||
$.ajax({
|
||||
url : window.NzbDrone.ApiRoot + resource,
|
||||
dataType: 'json',
|
||||
type : 'GET',
|
||||
data : { query: filter },
|
||||
success : function (data) {
|
||||
callback(data);
|
||||
}
|
||||
});
|
||||
hint : true,
|
||||
highlight : true,
|
||||
minLength : 3,
|
||||
items : 20
|
||||
},
|
||||
minLength: 3,
|
||||
items : 20
|
||||
{
|
||||
name: resource.replace('/'),
|
||||
displayKey: '',
|
||||
source : function (filter, callback) {
|
||||
$.ajax({
|
||||
url : window.NzbDrone.ApiRoot + resource,
|
||||
dataType: 'json',
|
||||
type : 'GET',
|
||||
data : { query: filter },
|
||||
success : function (data) {
|
||||
|
||||
var matches = [];
|
||||
|
||||
$.each(data, function(i, d) {
|
||||
if (d.startsWith(filter)) {
|
||||
matches.push({ value: d });
|
||||
}
|
||||
});
|
||||
|
||||
callback(matches);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
});
|
||||
|
@ -1,81 +1,46 @@
|
||||
<div class="navbar navbar-nzbdrone" role="navigation">
|
||||
<!-- Static navbar -->
|
||||
<div class="navbar navbar-nzbdrone" role="navigation">
|
||||
<div class="container-fluid">
|
||||
<div class="col-md-12">
|
||||
<div id="main-menu-region">
|
||||
<div class="navbar-header logo">
|
||||
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse" />
|
||||
<a class="navbar-brand" href="{{UrlBase}} /">
|
||||
<img src="{{UrlBase}}/Content/Images/logo.png?v=2" alt="NzbDrone">
|
||||
</a>
|
||||
</div>
|
||||
<div class="collapse navbar-collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
<li>
|
||||
<a href="{{UrlBase}}/">
|
||||
<i class="icon-play"></i>
|
||||
<br>
|
||||
Series
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{UrlBase}}/calendar">
|
||||
<i class="icon-calendar"></i>
|
||||
<br>
|
||||
Calendar
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{UrlBase}}/history">
|
||||
<i class="icon-time"></i>
|
||||
<br>
|
||||
History
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{UrlBase}}/wanted">
|
||||
<i class="icon-warning-sign"></i>
|
||||
<br>
|
||||
Wanted
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{UrlBase}}/settings">
|
||||
<i class="icon-cogs"></i>
|
||||
<br>
|
||||
Settings
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{UrlBase}}/system">
|
||||
<i class="icon-laptop"></i>
|
||||
<br>
|
||||
System
|
||||
<span id="x-health"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=HGGGM7JT5YVSS" target="_blank">
|
||||
<i class="icon-nd-donate"></i>
|
||||
<br>
|
||||
Donate
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a class="navbar-brand" href="{{UrlBase}}/">
|
||||
<!--<img src="{{UrlBase}}/Content/Images/logo.png?v=2" alt="nzbdrone">-->
|
||||
<img src="{{UrlBase}}/Content/Images/logos/128.png" class="visible-lg"/>
|
||||
<img src="{{UrlBase}}/Content/Images/logos/64.png" class="visible-md visible-sm"/>
|
||||
<span class="visible-xs">
|
||||
<img src="{{UrlBase}}/Content/Images/logos/32.png"/>
|
||||
<span class="logo-text"><span class="highlight">nzb</span>drone</span>
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-collapse collapse x-navbar-collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="{{UrlBase}}/" class="x-series-nav"><i class="icon-play"></i> Series</a></li>
|
||||
<li><a href="{{UrlBase}}/calendar" class="x-calendar-nav"><i class="icon-calendar"></i> Calendar</a></li>
|
||||
<li><a href="{{UrlBase}}/history" class="x-history-nav"><i class="icon-time"></i> History</a></li>
|
||||
<li><a href="{{UrlBase}}/wanted" class="x-wanted-nav"><i class="icon-warning-sign"></i> Wanted</a></li>
|
||||
<li><a href="{{UrlBase}}/settings" class="x-settings-nav"><i class="icon-cogs"></i> Settings</a></li>
|
||||
<li><a href="{{UrlBase}}/system" class="x-system-nav"><i class="icon-laptop"></i> System<span id="x-health" class="health"></span></a></li>
|
||||
<li><a href="http://nzbdrone.com/#donate" target="_blank"><i class="icon-nd-donate"></i> Donate</a></li>
|
||||
</ul>
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li class="active screen-size"></li>
|
||||
</ul>
|
||||
</div><!--/.nav-collapse -->
|
||||
</div><!--/.container-fluid -->
|
||||
|
||||
<div class="col-md-12 search">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon"><i class="icon-search"></i></span>
|
||||
<input type="text" class="col-md-6 form-control x-series-search" >
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="searchbar">
|
||||
<!--
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="search">
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon"><i class="icon-search"></i></span>
|
||||
<input class="col-md-4 x-series-search" id="prependedInput" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>-->
|
||||
</div>
|
||||
</div>
|
@ -14,7 +14,8 @@ define(
|
||||
},
|
||||
|
||||
ui: {
|
||||
search: '.x-series-search'
|
||||
search: '.x-series-search',
|
||||
collapse: '.x-navbar-collapse'
|
||||
},
|
||||
|
||||
events: {
|
||||
@ -46,6 +47,10 @@ define(
|
||||
else {
|
||||
this.setActive(event.target);
|
||||
}
|
||||
|
||||
if ($(window).width() < 768) {
|
||||
this.ui.collapse.collapse('hide');
|
||||
}
|
||||
},
|
||||
|
||||
setActive: function (element) {
|
||||
|
@ -1,11 +1,12 @@
|
||||
'use strict';
|
||||
define(
|
||||
[
|
||||
'backbone',
|
||||
'underscore',
|
||||
'jquery',
|
||||
'backbone',
|
||||
'Series/SeriesCollection',
|
||||
'typeahead'
|
||||
], function (Backbone, $, SeriesCollection) {
|
||||
], function (_, $, Backbone, SeriesCollection) {
|
||||
$(document).on('keydown', function (e) {
|
||||
if ($(e.target).is('input') || $(e.target).is('textarea')) {
|
||||
return;
|
||||
@ -23,20 +24,33 @@ define(
|
||||
|
||||
$.fn.bindSearch = function () {
|
||||
$(this).typeahead({
|
||||
source: function () {
|
||||
return SeriesCollection.pluck('title');
|
||||
hint: true,
|
||||
highlight: true,
|
||||
minLength: 1
|
||||
},
|
||||
{
|
||||
name: 'series',
|
||||
displayKey: 'title',
|
||||
source: substringMatcher()
|
||||
});
|
||||
|
||||
sorter: function (items) {
|
||||
return items.sort();
|
||||
},
|
||||
|
||||
updater: function (item) {
|
||||
var series = SeriesCollection.findWhere({ title: item });
|
||||
|
||||
this.$element.blur();
|
||||
Backbone.history.navigate('/series/{0}'.format(series.get('titleSlug')), { trigger: true });
|
||||
}
|
||||
$(this).on('typeahead:selected typeahead:autocompleted', function (e, series) {
|
||||
this.blur();
|
||||
$(this).val('');
|
||||
Backbone.history.navigate('/series/{0}'.format(series.titleSlug), { trigger: true });
|
||||
});
|
||||
};
|
||||
|
||||
var substringMatcher = function() {
|
||||
return function findMatches(q, cb) {
|
||||
// regex used to determine if a string contains the substring `q`
|
||||
var substrRegex = new RegExp(q, 'i');
|
||||
|
||||
var matches = _.select(SeriesCollection.toJSON(), function (series) {
|
||||
return substrRegex.test(series.title);
|
||||
});
|
||||
|
||||
cb(matches);
|
||||
};
|
||||
};
|
||||
});
|
||||
|
@ -1,4 +1,4 @@
|
||||
<select class="col-md-2 x-quality-profile">
|
||||
<select class="col-md-2 form-control x-quality-profile">
|
||||
{{#each this}}
|
||||
<option value="{{id}}">{{name}}</option>
|
||||
{{/each}}
|
||||
|
@ -1,26 +1,29 @@
|
||||
<div class="rename-preview-modal">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<h3>
|
||||
<i class="icon-nd-rename"></i> Organize & Rename
|
||||
</h3>
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="rename-preview-modal">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<h3>
|
||||
<i class="icon-nd-rename"></i> Organize & Rename
|
||||
</h3>
|
||||
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="alert alert-info path-info x-path-info">All paths are relative to: <strong>{{path}}</strong></div>
|
||||
<div id="rename-previews"></div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<span class="rename-all-button x-rename-all-button pull-left">
|
||||
<label class="checkbox-button" title="Toggle all">
|
||||
<input type="checkbox" checked="checked" class="x-rename-all"/>
|
||||
<div class="btn btn-icon-only">
|
||||
<i class="icon-check"></i>
|
||||
</div>
|
||||
</label>
|
||||
</span>
|
||||
<button class="btn" data-dismiss="modal">close</button>
|
||||
<button class="btn btn-primary x-organize">Organize</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="alert alert-info path-info x-path-info">All paths are relative to: <strong>{{path}}</strong></div>
|
||||
<div id="rename-previews"></div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<span class="rename-all-button x-rename-all-button pull-left">
|
||||
<label class="checkbox-button" title="Toggle all">
|
||||
<input type="checkbox" checked="checked" class="x-rename-all"/>
|
||||
<div class="btn btn-icon-only">
|
||||
<i class="icon-check"></i>
|
||||
</div>
|
||||
</label>
|
||||
</span>
|
||||
<button class="btn" data-dismiss="modal">close</button>
|
||||
<button class="btn btn-primary x-organize">Organize</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -1,42 +1,48 @@
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<h3>Delete {{title}}</h3>
|
||||
</div>
|
||||
<div class="modal-body delete-series-modal">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<img class="series-poster" src="{{poster}}" {{defaultImg}}>
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<h3>Delete {{title}}</h3>
|
||||
</div>
|
||||
<div class="col-md-7">
|
||||
<div class="form-horizontal">
|
||||
<h3 class="path">{{path}}</h3>
|
||||
<div class="modal-body delete-series-modal">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Delete all files</label>
|
||||
<div class="row">
|
||||
<div class="col-sm-3 hidden-xs">
|
||||
<img class="series-poster" src="{{poster}}" {{defaultImg}}>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="form-horizontal">
|
||||
<h3 class="path">{{path}}</h3>
|
||||
|
||||
<div class="controls">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" class="x-delete-files"/>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label">Delete all files</label>
|
||||
|
||||
<div class="btn slide-button btn-danger"/>
|
||||
</label>
|
||||
<div class="col-sm-8">
|
||||
<div class="input-group">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" class="x-delete-files"/>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-info" title="Do you want to delete all files from disk?"/>
|
||||
<i class="icon-nd-form-warning" title="This option is irreversible, use with extreme caution"/>
|
||||
</span>
|
||||
<div class="btn slide-button btn-danger"/>
|
||||
</label>
|
||||
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-info" title="Do you want to delete all files from disk?"/>
|
||||
<i class="icon-nd-form-warning" title="This option is irreversible, use with extreme caution"/>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn" data-dismiss="modal">cancel</button>
|
||||
<button class="btn btn-danger x-confirm-delete">delete</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn" data-dismiss="modal">cancel</button>
|
||||
<button class="btn btn-danger x-confirm-delete">delete</button>
|
||||
</div>
|
||||
|
@ -1,32 +1,37 @@
|
||||
<div>
|
||||
{{qualityProfile qualityProfileId}}
|
||||
<span class="label label-info">{{network}}</span>
|
||||
<span class="label label-info">{{runtime}} minutes</span>
|
||||
<span class="label label-info">{{path}}</span>
|
||||
{{#if_eq status compare="continuing"}}
|
||||
<span class="label label-info">Continuing</span>
|
||||
{{else}}
|
||||
<span class="label">Ended</span>
|
||||
{{/if_eq}}
|
||||
<div class="row">
|
||||
<div class="col-md-9">
|
||||
{{qualityProfile qualityProfileId}}
|
||||
<span class="label label-info">{{network}}</span>
|
||||
<span class="label label-info">{{runtime}} minutes</span>
|
||||
<span class="label label-info">{{path}}</span>
|
||||
{{#if_eq status compare="continuing"}}
|
||||
<span class="label label-info">Continuing</span>
|
||||
{{else}}
|
||||
<span class="label label-default">Ended</span>
|
||||
{{/if_eq}}
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<span class="series-info-links">
|
||||
<a href="{{traktUrl}}" class="label label-info">Trakt</a>
|
||||
|
||||
<span class="pull-right">
|
||||
<a href="{{traktUrl}}" class="label label-info">Trakt</a>
|
||||
{{#if imdbId}}
|
||||
<a href="{{imdbUrl}}" class="label label-info">IMDB</a>
|
||||
{{/if}}
|
||||
|
||||
{{#if imdbId}}
|
||||
<a href="{{imdbUrl}}" class="label label-info">IMDB</a>
|
||||
{{/if}}
|
||||
{{#if tvdbId}}
|
||||
<a href="{{tvdbUrl}}" class="label label-info">TVDB</a>
|
||||
{{/if}}
|
||||
|
||||
{{#if tvdbId}}
|
||||
<a href="{{tvdbUrl}}" class="label label-info">TVDB</a>
|
||||
{{/if}}
|
||||
|
||||
{{#if tvRageId}}
|
||||
<a href="{{tvRageUrl}}" class="label label-info">TVRage</a>
|
||||
{{/if}}
|
||||
</span>
|
||||
{{#if tvRageId}}
|
||||
<a href="{{tvRageUrl}}" class="label label-info">TVRage</a>
|
||||
{{/if}}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
{{#each alternativeTitles}}
|
||||
<span class="label">{{this}}</span>
|
||||
{{/each}}
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
{{#each alternativeTitles}}
|
||||
<span class="label label-default">{{this}}</span>
|
||||
{{/each}}
|
||||
</div>
|
||||
</div>
|
@ -31,7 +31,7 @@
|
||||
</div>
|
||||
</span>
|
||||
</h2>
|
||||
<div class="x-episode-grid"></div>
|
||||
<div class="x-episode-grid table-responsive"></div>
|
||||
<div class="show-hide-episodes x-show-hide-episodes">
|
||||
<h4>
|
||||
{{#if showingEpisodes}}
|
||||
|
@ -1,5 +1,5 @@
|
||||
<div class="row series-page-header">
|
||||
<div class="col-md-11">
|
||||
<div class="col-md-12">
|
||||
<div class="row">
|
||||
<h1>
|
||||
<i class="x-monitored" title="Toggle monitored state for entire series"/>
|
||||
@ -24,9 +24,7 @@
|
||||
<div class="row series-detail-overview">
|
||||
{{overview}}
|
||||
</div>
|
||||
<div id="info" class="row">
|
||||
|
||||
</div>
|
||||
<div id="info" class="row series-info"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="seasons"></div>
|
||||
|
@ -27,7 +27,6 @@ define(
|
||||
this.model.set('qualityProfiles', QualityProfiles);
|
||||
},
|
||||
|
||||
|
||||
_saveSeries: function () {
|
||||
|
||||
var self = this;
|
||||
|
@ -1,88 +1,90 @@
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<h3>{{title}}</h3>
|
||||
</div>
|
||||
<div class="modal-body edit-series-modal">
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<img class="series-poster" src="{{poster}}"
|
||||
{{defaultImg}}>
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<h3>{{title}}</h3>
|
||||
</div>
|
||||
<div class="col-md-7">
|
||||
<div class="form-horizontal">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Monitored</label>
|
||||
|
||||
<div class="controls">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="monitored"/>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-info" title="Should NzbDrone download episodes for this series?"/>
|
||||
</span>
|
||||
</div>
|
||||
<div class="modal-body edit-series-modal">
|
||||
<div class="row">
|
||||
<div class="col-sm-3 hidden-xs">
|
||||
<img class="series-poster" src="{{poster}}"
|
||||
{{defaultImg}}>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="form-horizontal">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Use Season Folder</label>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label">Monitored</label>
|
||||
|
||||
<div class="controls">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="seasonFolder"/>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
<div class="col-sm-8">
|
||||
<div class="input-group">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="monitored"/>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-info" title="Should downloaded episodes be stored in season folders?"/>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-info" title="Should NzbDrone download episodes for this series?"/>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label" for="inputQualityProfile">Quality Profile</label>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label">Use Season Folder</label>
|
||||
|
||||
<div class="controls">
|
||||
<div class="col-sm-8">
|
||||
<div class="input-group">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="seasonFolder"/>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
|
||||
<select class="x-quality-profile" id="inputQualityProfile" name="qualityProfileId">
|
||||
{{#each qualityProfiles.models}}
|
||||
<option value="{{id}}">{{attributes.name}}</option>
|
||||
{{/each}}
|
||||
</select>
|
||||
<span class="help-inline">
|
||||
<i class="icon-nd-form-info" title="Which Quality Profile should NzbDrone use to download episodes?"/>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label" for="inputPath">Path</label>
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-info" title="Should downloaded episodes be stored in season folders?"/>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="controls">
|
||||
<input type="text" id="inputPath" class="x-path" placeholder="Path" name="path">
|
||||
<span class="help-inline">
|
||||
<i class="icon-nd-form-info" title="Where should NzbDrone store episodes for this series?"/>
|
||||
</span>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" for="inputQualityProfile">Quality Profile</label>
|
||||
|
||||
<div class="col-sm-4">
|
||||
<select class="form-control x-quality-profile" id="inputQualityProfile" name="qualityProfileId">
|
||||
{{#each qualityProfiles.models}}
|
||||
<option value="{{id}}">{{attributes.name}}</option>
|
||||
{{/each}}
|
||||
</select>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" for="inputPath">Path</label>
|
||||
|
||||
<div class="col-sm-6">
|
||||
<input type="text" id="inputPath" class="form-control x-path" placeholder="Path" name="path">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn btn-danger pull-left x-remove">delete</button>
|
||||
<button class="btn" data-dismiss="modal">cancel</button>
|
||||
<button class="btn btn-primary x-save">save</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn btn-danger pull-left x-remove">delete</button>
|
||||
<button class="btn" data-dismiss="modal">cancel</button>
|
||||
<button class="btn btn-primary x-save">save</button>
|
||||
</div>
|
||||
|
@ -1,23 +1,27 @@
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<h3>Organize of Selected Series</h3>
|
||||
</div>
|
||||
<div class="modal-body update-files-series-modal">
|
||||
<div class="alert alert-info">
|
||||
<button type="button" class="close" data-dismiss="alert">×</button>
|
||||
Tip: To preview a rename... select "Cancel" then any series title and use the <i data-original-title="" class="icon-nd-rename" title=""></i>
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<h3>Organize of Selected Series</h3>
|
||||
</div>
|
||||
<div class="modal-body update-files-series-modal">
|
||||
<div class="alert alert-info">
|
||||
<button type="button" class="close" data-dismiss="alert">×</button>
|
||||
Tip: To preview a rename... select "Cancel" then any series title and use the <i data-original-title="" class="icon-nd-rename" title=""></i>
|
||||
</div>
|
||||
|
||||
Are you sure you want to update all files in the {{numberOfSeries}} selected series?
|
||||
|
||||
{{debug}}
|
||||
<ul class="selected-series">
|
||||
{{#each series}}
|
||||
<li>{{title}}</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn" data-dismiss="modal">cancel</button>
|
||||
<button class="btn btn-danger x-confirm-organize">organize</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Are you sure you want to update all files in the {{numberOfSeries}} selected series?
|
||||
|
||||
{{debug}}
|
||||
<ul class="selected-series">
|
||||
{{#each series}}
|
||||
<li>{{title}}</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn" data-dismiss="modal">cancel</button>
|
||||
<button class="btn btn-danger x-confirm-organize">organize</button>
|
||||
</div>
|
||||
|
@ -1,22 +1,29 @@
|
||||
<div class="series-editor-footer">
|
||||
<div class="row">
|
||||
<div class="col-md-2">Monitored</div>
|
||||
<div class="col-md-2">Quality Profile</div>
|
||||
<div class="col-md-2">Season Folder</div>
|
||||
<div class="col-md-4">Root Folder</div>
|
||||
</div>
|
||||
<div class="form-group col-md-2">
|
||||
<label>Monitored</label>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<select class="col-md-2 x-monitored">
|
||||
<select class="form-control x-monitored">
|
||||
<option value="noChange">No change</option>
|
||||
<option value="true">Monitored</option>
|
||||
<option value="false">Unmonitored</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<select class="col-md-2 x-quality-profiles">
|
||||
<div class="form-group col-md-2">
|
||||
<label>Season Folder</label>
|
||||
|
||||
<select class="form-control x-season-folder">
|
||||
<option value="noChange">No change</option>
|
||||
<option value="true">Yes</option>
|
||||
<option value="false">No</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="form-group col-md-2">
|
||||
<label>Quality Profile</label>
|
||||
|
||||
<select class="form-control x-quality-profiles">
|
||||
<option value="noChange">No change</option>
|
||||
{{#each qualityProfiles.models}}
|
||||
<option value="{{id}}">{{attributes.name}}</option>
|
||||
@ -24,28 +31,24 @@
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<select class="col-md-2 x-season-folder">
|
||||
<option value="noChange">No change</option>
|
||||
<option value="true">Yes</option>
|
||||
<option value="false">No</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<label>Root Folder</label>
|
||||
|
||||
<div class="col-md-3">
|
||||
<select class="col-md-3 x-root-folder" validation-name="RootFolderPath">
|
||||
<select class="form-control x-root-folder" validation-name="RootFolderPath">
|
||||
<option value="noChange">No change</option>
|
||||
{{#each rootFolders}}
|
||||
<option value="{{id}}">{{path}}</option>
|
||||
<option value="{{id}}">{{path}}</option>
|
||||
{{/each}}
|
||||
<option value="addNew">Add a different path</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<span class="pull-right">
|
||||
<span class="selected-count x-selected-count">0 series selected</span>
|
||||
<button class="btn btn-primary x-save">Save</button>
|
||||
<button class="btn btn-danger x-organize-files">Organize</button>
|
||||
</span>
|
||||
<div class="form-group col-md-3 actions">
|
||||
<label class="x-selected-count">0 series selected</label>
|
||||
<div>
|
||||
<button class="btn btn-primary x-save">Save</button>
|
||||
<button class="btn btn-danger x-organize-files">Organize</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -2,6 +2,6 @@
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div id="x-series-editor" class="series-"></div>
|
||||
<div id="x-series-editor" class="table-responsive"></div>
|
||||
</div>
|
||||
</div>
|
@ -1,15 +1,4 @@
|
||||
{{#if_eq episodeFileCount compare=episodeCount}}
|
||||
{{#if_eq status compare="continuing"}}
|
||||
<div class="progress episode-progress">
|
||||
{{else}}
|
||||
<div class="progress progress-success episode-progress">
|
||||
{{/if_eq}}
|
||||
|
||||
{{else}}
|
||||
<div class="progress progress-danger episode-progress">
|
||||
{{/if_eq}}
|
||||
|
||||
<div class="progress episode-progress">
|
||||
<span class="progressbar-back-text">{{episodeFileCount}} / {{episodeCount}}</span>
|
||||
|
||||
<div class="bar" style="width:{{percentOfEpisodes}}%"><span class="progressbar-front-text">{{episodeFileCount}} / {{episodeCount}}</span></div>
|
||||
<div class="progress-bar {{EpisodeProgressClass}} episode-progress" style="width:{{percentOfEpisodes}}%"><span class="progressbar-front-text">{{episodeFileCount}} / {{episodeCount}}</span></div>
|
||||
</div>
|
@ -1,26 +1,26 @@
|
||||
<div class="series-item">
|
||||
<div class="row">
|
||||
<div class="col-xs-2">
|
||||
<div class="col-md-2 col-xs-3">
|
||||
<a href="{{route}}">
|
||||
<img class="series-poster" src="{{poster}}" {{defaultImg}}>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-10">
|
||||
<div class="col-md-10 col-xs-9">
|
||||
<div class="row">
|
||||
<div class="col-xs-10">
|
||||
<div class="col-md-10 col-xs-10">
|
||||
<a href="{{route}}" target="_blank">
|
||||
<h2>{{title}}</h2>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-2">
|
||||
<div class="pull-right">
|
||||
<i class="icon-cog x-edit" title="Edit Series"/>
|
||||
<div class="col-md-2 col-xs-2">
|
||||
<div class="pull-right series-overview-list-actions">
|
||||
<i class="icon-nd-edit x-edit" title="Edit Series"/>
|
||||
<i class="icon-remove x-remove" title="Delete Series"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="col-md-12 col-xs-12">
|
||||
<a href="{{route}}">
|
||||
<div>
|
||||
{{overview}}
|
||||
@ -29,15 +29,15 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="col-md-12">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-10">
|
||||
<div class="col-md-10 col-xs-8">
|
||||
{{#if_eq status compare="continuing"}}
|
||||
{{#if nextAiring}}
|
||||
<span class="label">{{NextAiring nextAiring}}</span>
|
||||
<span class="label label-default">{{NextAiring nextAiring}}</span>
|
||||
{{/if}}
|
||||
{{else}}
|
||||
<span class="label label-important">Ended</span>
|
||||
@ -47,7 +47,7 @@
|
||||
|
||||
{{qualityProfile qualityProfileId}}
|
||||
</div>
|
||||
<div class="col-xs-2">
|
||||
<div class="col-md-2 col-xs-4">
|
||||
{{> EpisodeProgressPartial }}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -2,7 +2,7 @@
|
||||
<div class="center">
|
||||
<div class="series-poster-container x-series-poster">
|
||||
<div class="series-controls">
|
||||
<i class="icon-cog x-edit" title="Edit Series"/>
|
||||
<i class="icon-nd-edit x-edit" title="Edit Series"/>
|
||||
<i class="icon-remove x-remove" title="Delete Series"/>
|
||||
</div>
|
||||
{{#unless_eq status compare="continuing"}}
|
||||
@ -19,7 +19,7 @@
|
||||
<div class="labels">
|
||||
{{#if_eq status compare="continuing"}}
|
||||
{{#if nextAiring}}
|
||||
<span class="label label-inverse">{{NextAiring nextAiring}}</span>
|
||||
<span class="label label-default">{{NextAiring nextAiring}}</span>
|
||||
{{/if}}
|
||||
{{/if_eq}}
|
||||
{{> EpisodeProgressPartial }}
|
||||
|
@ -96,6 +96,7 @@ define(
|
||||
leftSideButtons: {
|
||||
type : 'default',
|
||||
storeState: false,
|
||||
collapse : true,
|
||||
items :
|
||||
[
|
||||
{
|
||||
|
@ -4,7 +4,7 @@
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="col-md-12 table-responsive">
|
||||
<div id="x-series"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -99,7 +99,7 @@
|
||||
left : 0px;
|
||||
width : 170px;
|
||||
|
||||
.progressbar-front-text {
|
||||
.progressbar-front-text, .progressbar-back-text {
|
||||
width : 170px;
|
||||
}
|
||||
}
|
||||
@ -123,6 +123,26 @@
|
||||
.opacity(1);
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: @screen-xs-max) {
|
||||
height : 235px;
|
||||
margin : 5px;
|
||||
padding : 6px 5px;
|
||||
|
||||
.center {
|
||||
.progress {
|
||||
width : 125px;
|
||||
|
||||
.progressbar-front-text, .progressbar-back-text {
|
||||
width : 125px
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.labels {
|
||||
width: 125px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.series-poster-container {
|
||||
@ -180,6 +200,18 @@
|
||||
font-size : 34px;
|
||||
line-height : 34px;
|
||||
}
|
||||
|
||||
@media (max-width: @screen-xs-max) {
|
||||
.series-poster {
|
||||
width : 120px;
|
||||
height : 176px;
|
||||
}
|
||||
|
||||
.ended-banner {
|
||||
top : 145px;
|
||||
left : -137px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -219,12 +251,6 @@
|
||||
margin-top : 30px;
|
||||
font-size : 12px;
|
||||
}
|
||||
|
||||
.search-buttons {
|
||||
width : 400px;
|
||||
margin-left : auto;
|
||||
margin-right : auto;
|
||||
}
|
||||
}
|
||||
|
||||
.season-grid {
|
||||
@ -310,24 +336,22 @@
|
||||
}
|
||||
}
|
||||
|
||||
//Overview List
|
||||
.series-overview-list-actions {
|
||||
min-width: 56px;
|
||||
max-width: 56px;
|
||||
}
|
||||
|
||||
//Editor
|
||||
|
||||
.series-editor-footer {
|
||||
width: 1160px;
|
||||
max-width: 1160px;
|
||||
color: #f5f5f5;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
|
||||
.selected-count {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.row {
|
||||
margin-left: -40px;
|
||||
}
|
||||
|
||||
.col-md-2 {
|
||||
width: 160px;
|
||||
.form-group {
|
||||
padding-top: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
@ -348,4 +372,17 @@
|
||||
cursor: not-allowed;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.series-info {
|
||||
.row {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.series-info-links {
|
||||
@media (max-width: @screen-sm-max) {
|
||||
display : inline-block;
|
||||
margin-top : 5px;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,12 +1,16 @@
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<h3>Add Download Client</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="add-download-client add-thingies">
|
||||
<ul class="items"></ul>
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<h3>Add Download Client</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="add-download-client add-thingies">
|
||||
<ul class="items"></ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn" data-dismiss="modal">close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn" data-dismiss="modal">close</button>
|
||||
</div>
|
@ -1,10 +1,6 @@
|
||||
<div class="add-thingy col-md-3">
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
{{implementation}}
|
||||
{{#if link}}
|
||||
<a href="{{link}}"><i class="icon-info-sign"/></a>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="add-thingy">
|
||||
{{implementation}}
|
||||
{{#if link}}
|
||||
<a href="{{link}}"><i class="icon-info-sign"/></a>
|
||||
{{/if}}
|
||||
</div>
|
@ -1,11 +1,15 @@
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<h3>Delete Download Client</h3>
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<h3>Delete Download Client</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>Are you sure you want to delete '{{name}}'?</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn" data-dismiss="modal">cancel</button>
|
||||
<button class="btn btn-danger x-confirm-delete">delete</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>Are you sure you want to delete '{{name}}'?</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn" data-dismiss="modal">cancel</button>
|
||||
<button class="btn btn-danger x-confirm-delete">delete</button>
|
||||
</div>
|
@ -2,7 +2,7 @@
|
||||
<legend>Download Clients</legend>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<ul id="x-download-clients" class="download-client-list">
|
||||
<ul id="x-download-clients" class="download-client-list thingies">
|
||||
<li>
|
||||
<div class="download-client-item thingy add-card x-add-card">
|
||||
<span class="center well">
|
||||
|
@ -4,17 +4,15 @@ define(
|
||||
[
|
||||
'AppLayout',
|
||||
'marionette',
|
||||
'Settings/DownloadClient/Edit/DownloadClientEditView',
|
||||
'Settings/DownloadClient/Delete/DownloadClientDeleteView'
|
||||
], function (AppLayout, Marionette, EditView, DeleteView) {
|
||||
'Settings/DownloadClient/Edit/DownloadClientEditView'
|
||||
], function (AppLayout, Marionette, EditView) {
|
||||
|
||||
return Marionette.ItemView.extend({
|
||||
template: 'Settings/DownloadClient/DownloadClientItemViewTemplate',
|
||||
tagName : 'li',
|
||||
|
||||
events: {
|
||||
'click .x-edit' : '_edit',
|
||||
'click .x-delete' : '_delete'
|
||||
'click' : '_edit'
|
||||
},
|
||||
|
||||
initialize: function () {
|
||||
@ -24,11 +22,6 @@ define(
|
||||
_edit: function () {
|
||||
var view = new EditView({ model: this.model, downloadClientCollection: this.model.collection });
|
||||
AppLayout.modalRegion.show(view);
|
||||
},
|
||||
|
||||
_delete: function () {
|
||||
var view = new DeleteView({ model: this.model});
|
||||
AppLayout.modalRegion.show(view);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
@ -1,17 +1,13 @@
|
||||
<div class="download-client-item thingy">
|
||||
<div class="download-client-item thingy" title="Click to edit">
|
||||
<div>
|
||||
<h3>{{name}}</h3>
|
||||
<span class="btn-group pull-right">
|
||||
<button class="btn btn-xs btn-icon-only x-edit"><i class="icon-nd-edit"/></button>
|
||||
<button class="btn btn-xs btn-icon-only x-delete"><i class="icon-nd-delete"/></button>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="settings">
|
||||
{{#if enable}}
|
||||
<span class="label label-success">Enabled</span>
|
||||
{{else}}
|
||||
<span class="label">Not Enabled</span>
|
||||
<span class="label label-default">Not Enabled</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,59 +1,65 @@
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
{{#if id}}
|
||||
<h3>Edit - {{implementation}}</h3>
|
||||
{{else}}
|
||||
<h3>Add - {{implementation}}</h3>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="modal-body download-client-modal">
|
||||
<div class="form-horizontal">
|
||||
<div class="form-group">
|
||||
<label class="control-label">Name</label>
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
{{#if id}}
|
||||
<h3>Edit - {{implementation}}</h3>
|
||||
{{else}}
|
||||
<h3>Add - {{implementation}}</h3>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="modal-body download-client-modal">
|
||||
<div class="form-horizontal">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">Name</label>
|
||||
|
||||
<div class="controls">
|
||||
<input type="text" name="name"/>
|
||||
<div class="col-sm-5">
|
||||
<input type="text" name="name" class="form-control"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">Enable</label>
|
||||
|
||||
<div class="col-sm-5">
|
||||
<div class="input-group">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="enable"/>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{formBuilder}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
{{#if id}}
|
||||
<button class="btn btn-danger pull-left x-delete">delete</button>
|
||||
{{else}}
|
||||
<button class="btn pull-left x-back">back</button>
|
||||
{{/if}}
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Enable</label>
|
||||
<button class="btn x-test">test <i class="x-test-icon icon-nd-test"/></button>
|
||||
<button class="btn" data-dismiss="modal">cancel</button>
|
||||
|
||||
<div class="controls">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="enable"/>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
<div class="btn-group">
|
||||
<button class="btn btn-primary x-save">save</button>
|
||||
<button class="btn btn-icon-only btn-primary dropdown-toggle" data-toggle="dropdown">
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
<li class="save-and-add x-save-and-add">
|
||||
save and add
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{formBuilder}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
{{#if id}}
|
||||
<button class="btn btn-danger pull-left x-delete">delete</button>
|
||||
{{else}}
|
||||
<button class="btn pull-left x-back">back</button>
|
||||
{{/if}}
|
||||
|
||||
<button class="btn x-test">test <i class="x-test-icon icon-nd-test"/></button>
|
||||
<button class="btn" data-dismiss="modal">cancel</button>
|
||||
|
||||
<div class="btn-group">
|
||||
<button class="btn btn-primary x-save">save</button>
|
||||
<button class="btn btn-icon-only btn-primary dropdown-toggle" data-toggle="dropdown">
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
<li class="save-and-add x-save-and-add">
|
||||
save and add
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -2,99 +2,105 @@
|
||||
<legend>Failed Download Handling</legend>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Enable</label>
|
||||
<label class="col-sm-3 control-label">Enable</label>
|
||||
|
||||
<div class="controls">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="enableFailedDownloadHandling" class="x-failed-download-handling"/>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
<div class="col-sm-8">
|
||||
<div class="input-group">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="enableFailedDownloadHandling" class="x-failed-download-handling"/>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-info" title="Process failed downloads and blacklist the release"/>
|
||||
</span>
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-info" title="Process failed downloads and blacklist the release"/>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="x-failed-download-options">
|
||||
<div class="form-group">
|
||||
<label class="control-label">Redownload</label>
|
||||
<label class="col-sm-3 control-label">Redownload</label>
|
||||
|
||||
<div class="controls">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="autoRedownloadFailed"/>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
<div class="col-sm-8">
|
||||
<div class="input-group">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="autoRedownloadFailed"/>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-info" title="Automatically search for and attempt to download another release when a download fails?"/>
|
||||
</span>
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-info" title="Automatically search for and attempt to download another release when a download fails?"/>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Remove</label>
|
||||
<label class="col-sm-3 control-label">Remove</label>
|
||||
|
||||
<div class="controls">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="removeFailedDownloads"/>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
<div class="col-sm-8">
|
||||
<div class="input-group">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="removeFailedDownloads"/>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-info" title="Automatically remove failed downloads from history and encrypted downloads from queue?"/>
|
||||
</span>
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-info" title="Automatically remove failed downloads from history and encrypted downloads from queue?"/>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group advanced-setting">
|
||||
<label class="control-label">Grace Period</label>
|
||||
<div class="form-group advanced-setting">
|
||||
<label class="col-sm-3 control-label">Grace Period</label>
|
||||
|
||||
<div class="controls">
|
||||
<input type="number" min="1" max="24" name="blacklistGracePeriod"/>
|
||||
|
||||
<span class="help-inline">
|
||||
<div class="col-sm-1 col-sm-push-2 help-inline">
|
||||
<i class="icon-nd-form-info" title="Age in hours that a release will remain in the download client and retried"/>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-2 col-sm-pull-1">
|
||||
<input type="number" min="1" max="24" name="blacklistGracePeriod" class="form-control"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group advanced-setting">
|
||||
<label class="control-label">Retry Interval</label>
|
||||
<div class="form-group advanced-setting">
|
||||
<label class="col-sm-3 control-label">Retry Interval</label>
|
||||
|
||||
<div class="controls">
|
||||
<input type="number" min="5" max="120" name="blacklistRetryInterval"/>
|
||||
|
||||
<span class="help-inline">
|
||||
<div class="col-sm-1 col-sm-push-2 help-inline">
|
||||
<i class="icon-nd-form-info" title="Time in minutes before a failed download for a recent release will be retried"/>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-2 col-sm-pull-1">
|
||||
<input type="number" min="5" max="120" name="blacklistRetryInterval" class="form-control"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group advanced-setting">
|
||||
<label class="control-label">Retry Count</label>
|
||||
<div class="form-group advanced-setting">
|
||||
<label class="col-sm-3 control-label">Retry Count</label>
|
||||
|
||||
<div class="controls">
|
||||
<input type="number" min="0" max="10" name="blacklistRetryLimit"/>
|
||||
|
||||
<span class="help-inline">
|
||||
<div class="col-sm-1 col-sm-push-2 help-inline">
|
||||
<i class="icon-nd-form-info" title="Number of times to retry a release before it is blacklisted"/>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-2 col-sm-pull-1">
|
||||
<input type="number" min="0" max="10" name="blacklistRetryLimit" class="form-control"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,26 +1,28 @@
|
||||
<fieldset">
|
||||
<fieldset>
|
||||
<legend>Options</legend>
|
||||
<div class="form-group">
|
||||
<label class="control-label">Drone Factory</label>
|
||||
<label class="col-sm-3 control-label">Drone Factory</label>
|
||||
|
||||
<div class="controls">
|
||||
<input type="text" name="downloadedEpisodesFolder" class="x-path"/>
|
||||
<span class="help-inline">
|
||||
<i class="icon-nd-form-info" title="The folder where your download client downloads TV shows to (Completed Download Directory)"/>
|
||||
<i class="icon-nd-form-warning" 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 class="col-sm-1 col-sm-push-8 help-inline">
|
||||
<i class="icon-nd-form-info" title="The folder where your download client downloads TV shows to (Completed Download Directory)"/>
|
||||
<i class="icon-nd-form-warning" 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>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-8 col-sm-pull-1">
|
||||
<input type="text" name="downloadedEpisodesFolder" class="form-control x-path" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group advanced-setting">
|
||||
<label class="control-label">Drone Factory Interval</label>
|
||||
<label class="col-sm-3 control-label">Drone Factory Interval</label>
|
||||
|
||||
<div class="controls">
|
||||
<input type="number" name="downloadedEpisodesScanInterval"/>
|
||||
<span class="help-inline">
|
||||
<i class="icon-nd-form-info" title="Interval in minutes to scan the Drone Factory. Set to zero to disable."/>
|
||||
<i class="icon-nd-form-warning" title="Setting a high interval or disabling scanning will prevent episodes from being imported."></i>
|
||||
</span>
|
||||
<div class="col-sm-1 col-sm-push-2 help-inline">
|
||||
<i class="icon-nd-form-info" title="Interval in minutes to scan the Drone Factory. Set to zero to disable."/>
|
||||
<i class="icon-nd-form-warning" title="Setting a high interval or disabling scanning will prevent episodes from being imported."></i>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-2 col-sm-pull-1">
|
||||
<input type="number" name="downloadedEpisodesScanInterval" class="form-control" />
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
@ -1,3 +1,5 @@
|
||||
@import "../../Shared/Styles/clickable.less";
|
||||
|
||||
.download-client-list {
|
||||
li {
|
||||
display: inline-block;
|
||||
@ -7,21 +9,25 @@
|
||||
|
||||
.download-client-item {
|
||||
|
||||
.clickable;
|
||||
|
||||
width: 290px;
|
||||
height: 90px;
|
||||
padding: 10px 15px;
|
||||
|
||||
h3 {
|
||||
width: 230px;
|
||||
}
|
||||
|
||||
&.add-card {
|
||||
.center {
|
||||
margin-top: 15px;
|
||||
margin-top: -3px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.modal-overflow {
|
||||
overflow-y: visible;
|
||||
}
|
||||
|
||||
.add-download-client {
|
||||
li {
|
||||
width: 33%;
|
||||
}
|
||||
}
|
@ -3,87 +3,93 @@
|
||||
<legend>Start-Up</legend>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Port Number</label>
|
||||
<label class="col-sm-3 control-label">Port Number</label>
|
||||
|
||||
<div class="controls">
|
||||
<input type="number" placeholder="8989" name="port"/>
|
||||
<span>
|
||||
<i class="icon-nd-form-warning" title="Requires restart to take effect"/>
|
||||
</span>
|
||||
<div class="col-sm-1 col-sm-push-4 help-inline">
|
||||
<i class="icon-nd-form-warning" title="Requires restart to take effect"/>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-4 col-sm-pull-1">
|
||||
<input type="number" placeholder="8989" name="port" class="form-control"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">URL Base</label>
|
||||
<label class="col-sm-3 control-label">URL Base</label>
|
||||
|
||||
<div class="controls">
|
||||
<input type="text" name="urlBase"/>
|
||||
<span>
|
||||
<i class="icon-nd-form-warning" title="Requires restart to take effect"/>
|
||||
<i class="icon-nd-form-info" title="For reverse proxy support, default is empty"/>
|
||||
</span>
|
||||
<div class="col-sm-1 col-sm-push-4 help-inline">
|
||||
<i class="icon-nd-form-warning" title="Requires restart to take effect"/>
|
||||
<i class="icon-nd-form-info" title="For reverse proxy support, default is empty"/>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-4 col-sm-pull-1">
|
||||
<input type="text" name="urlBase" class="form-control"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group advanced-setting">
|
||||
<label class="control-label">Enable SSL</label>
|
||||
<label class="col-sm-3 control-label">Enable SSL</label>
|
||||
|
||||
<div class="controls">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="enableSsl" class="x-ssl"/>
|
||||
<div class="col-sm-8">
|
||||
<div class="input-group">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="enableSsl" class="x-ssl"/>
|
||||
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-warning" title="Requires restart running as administrator to take effect"/>
|
||||
</span>
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-warning" title="Requires restart running as administrator to take effect"/>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="x-ssl-options">
|
||||
<div class="form-group advanced-setting">
|
||||
<label class="control-label">SSL Port Number</label>
|
||||
<label class="col-sm-3 control-label">SSL Port Number</label>
|
||||
|
||||
<div class="controls">
|
||||
<input type="number" placeholder="8989" name="sslPort"/>
|
||||
<div class="col-sm-4">
|
||||
<input type="number" placeholder="8989" name="sslPort" class="form-control"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{#if_windows}}
|
||||
<div class="form-group advanced-setting">
|
||||
<label class="control-label">SSL Cert Hash</label>
|
||||
<label class="col-sm-3 control-label">SSL Cert Hash</label>
|
||||
|
||||
<div class="controls">
|
||||
<input type="text" name="sslCertHash"/>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" name="sslCertHash" class="form-control"/>
|
||||
</div>
|
||||
</div>
|
||||
{{/if_windows}}
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Open browser on start</label>
|
||||
<label class="col-sm-3 control-label">Open browser on start</label>
|
||||
|
||||
<div class="controls">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="launchBrowser"/>
|
||||
<div class="col-sm-8">
|
||||
<div class="input-group">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="launchBrowser" class="form-control"/>
|
||||
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-info" title="Open a web browser and navigate to NzbDrone homepage on app start. Has no effect if installed as a windows service"/>
|
||||
</span>
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-info" title="Open a web browser and navigate to NzbDrone homepage on app start. Has no effect if installed as a windows service"/>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
@ -91,49 +97,59 @@
|
||||
<fieldset>
|
||||
<legend>Security</legend>
|
||||
<div class="form-group">
|
||||
<label class="control-label">Authentication</label>
|
||||
<div class="controls">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" class='x-auth' name="authenticationEnabled"/>
|
||||
<p>
|
||||
<span>On</span>
|
||||
<span>Off</span>
|
||||
</p>
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
<label class="col-sm-3 control-label">Authentication</label>
|
||||
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-info" title="Require Username and Password to access Nzbdrone"/>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class='x-auth-options'>
|
||||
<div class="form-group">
|
||||
<label class="control-label">Username</label>
|
||||
<div class="controls">
|
||||
<input type="text" placeholder="Username" name="username"/>
|
||||
<div class="col-sm-8">
|
||||
<div class="input-group">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" class='x-auth' name="authenticationEnabled"/>
|
||||
<p>
|
||||
<span>On</span>
|
||||
<span>Off</span>
|
||||
</p>
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-info" title="Require Username and Password to access Nzbdrone"/>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='x-auth-options'>
|
||||
<div class="form-group">
|
||||
<label class="control-label">Password</label>
|
||||
<div class="controls">
|
||||
<input type="password" name="password"/>
|
||||
<label class="col-sm-3 control-label">Username</label>
|
||||
|
||||
<div class="col-sm-4">
|
||||
<input type="text" placeholder="Username" name="username" class="form-control"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">Password</label>
|
||||
|
||||
<div class="col-sm-4">
|
||||
<input type="password" name="password" class="form-control"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group api-key">
|
||||
<label class="control-label">API Key</label>
|
||||
<div class="controls">
|
||||
<div class="input-group">
|
||||
<input type="text" name="apiKey" readonly="readonly" class="x-api-key"/>
|
||||
<button class="btn btn-icon-only x-copy-api-key" title="Copy to clipboard"><i class="icon-copy"></i></button>
|
||||
<button class="btn btn-danger btn-icon-only x-reset-api-key" title="Reset API Key"><i class="icon-refresh"></i></button>
|
||||
</div>
|
||||
<label class="col-sm-3 control-label">API Key</label>
|
||||
|
||||
<span>
|
||||
<i class="icon-nd-form-warning" title="Requires restart to take effect"/>
|
||||
</span>
|
||||
<div class="col-sm-1 col-sm-push-4 help-inline">
|
||||
<i class="icon-nd-form-warning" title="Requires restart to take effect"/>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-4 col-sm-pull-1">
|
||||
<div class="input-group">
|
||||
<input type="text" name="apiKey" readonly="readonly" class="form-control x-api-key"/>
|
||||
<div class="input-group-btn">
|
||||
<button class="btn btn-icon-only x-copy-api-key hidden-xs"><i class="icon-copy"></i></button>
|
||||
<button class="btn btn-danger btn-icon-only x-reset-api-key" title="Reset API Key" data-container="body"><i class="icon-refresh"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
@ -142,33 +158,31 @@
|
||||
<legend>Logging</legend>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Log Level</label>
|
||||
<label class="col-sm-3 control-label">Log Level</label>
|
||||
|
||||
<div class="controls">
|
||||
<select name="logLevel">
|
||||
<div class="col-sm-1 col-sm-push-2 help-inline">
|
||||
<i class="icon-nd-form-warning" title="Trace and Debug logging should only be enabled temporarily"/>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-2 col-sm-pull-1">
|
||||
<select name="logLevel" class="form-control">
|
||||
<option value="Trace">Trace</option>
|
||||
<option value="Debug">Debug</option>
|
||||
<option value="Info">Info</option>
|
||||
</select>
|
||||
|
||||
<span>
|
||||
<i class="icon-nd-form-warning" title="Trace and Debug logging should only be enabled temporarily"/>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
{{#if_windows}}
|
||||
<fieldset class="advanced-setting">
|
||||
<legend>Development</legend>
|
||||
<div class="alert">
|
||||
<i class="icon-nd-warning"></i>
|
||||
Don't change anything here unless you know what you are doing.
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label">Branch</label>
|
||||
|
||||
<div class="controls">
|
||||
<input type="text" placeholder="master" name="branch"/>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">Branch</label>
|
||||
|
||||
<div class="col-sm-4">
|
||||
<input type="text" placeholder="master" name="branch" class="form-control"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -195,4 +209,5 @@
|
||||
<!--</div>-->
|
||||
<!--{{/if_mono}}-->
|
||||
</fieldset>
|
||||
{{/if_windows}}
|
||||
</div>
|
||||
|
@ -1,11 +1,15 @@
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<h3>Delete Indexer</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>Are you sure you want to delete '{{name}}'?</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn" data-dismiss="modal">cancel</button>
|
||||
<button class="btn btn-danger x-confirm-delete">delete</button>
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<h3>Delete Indexer</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>Are you sure you want to delete '{{name}}'?</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn" data-dismiss="modal">cancel</button>
|
||||
<button class="btn btn-danger x-confirm-delete">delete</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -1,58 +1,64 @@
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close x-cancel"aria-hidden="true">×</button>
|
||||
{{#if id}}
|
||||
<h3>Edit</h3>
|
||||
{{else}}
|
||||
<h3>Add Newznab</h3>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-horizontal">
|
||||
<div class="form-group">
|
||||
<label class="control-label">Name</label>
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close x-cancel"aria-hidden="true">×</button>
|
||||
{{#if id}}
|
||||
<h3>Edit</h3>
|
||||
{{else}}
|
||||
<h3>Add Newznab</h3>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-horizontal">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">Name</label>
|
||||
|
||||
<div class="controls">
|
||||
<input type="text" name="name"/>
|
||||
<div class="col-sm-5">
|
||||
<input type="text" name="name" class="form-control"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">Enable</label>
|
||||
|
||||
<div class="col-sm-5">
|
||||
<div class="input-group">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="enable"/>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{formBuilder}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
{{#if id}}
|
||||
<button class="btn btn-danger pull-left x-remove">delete</button>
|
||||
{{/if}}
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Enable</label>
|
||||
<span class="x-activity"></span>
|
||||
|
||||
<div class="controls">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="enable"/>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
<button class="btn x-cancel">cancel</button>
|
||||
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
<div class="btn-group">
|
||||
<button class="btn btn-primary x-save">save</button>
|
||||
<button class="btn btn-icon-only btn-primary dropdown-toggle" data-toggle="dropdown">
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
<li class="save-and-add x-save-and-add">
|
||||
save and add
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{formBuilder}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
{{#if id}}
|
||||
<button class="btn btn-danger pull-left x-remove">delete</button>
|
||||
{{/if}}
|
||||
|
||||
<span class="x-activity"></span>
|
||||
|
||||
<button class="btn x-cancel">cancel</button>
|
||||
|
||||
<div class="btn-group">
|
||||
<button class="btn btn-primary x-save">save</button>
|
||||
<button class="btn btn-icon-only btn-primary dropdown-toggle" data-toggle="dropdown">
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
<li class="save-and-add x-save-and-add">
|
||||
save and add
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -13,7 +13,7 @@
|
||||
<div class="form-group">
|
||||
<label class="control-label">Enable</label>
|
||||
|
||||
<div class="controls">
|
||||
<div class="input-group">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="enable"/>
|
||||
<p>
|
||||
|
@ -2,37 +2,36 @@
|
||||
<legend>Options</legend>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Retention</label>
|
||||
<label class="col-sm-3 control-label">Retention</label>
|
||||
|
||||
<div class="controls">
|
||||
<input type="number" min="0" name="retention"/>
|
||||
<div class="col-sm-2">
|
||||
<input type="number" min="0" name="retention" class="form-control"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group advanced-setting">
|
||||
<label class="control-label">RSS Sync Interval</label>
|
||||
<label class="col-sm-3 control-label">RSS Sync Interval</label>
|
||||
|
||||
<div class="controls">
|
||||
<input type="number" name="rssSyncInterval"/>
|
||||
<div class="col-sm-1 col-sm-push-2 help-inline">
|
||||
<i class="icon-nd-form-warning" title="This will apply to all indexers, please follow the rules set forth by them"/>
|
||||
<i class="icon-nd-form-info" title="Set to zero to disable (this will stop all automatic release grabbing)"/>
|
||||
</div>
|
||||
|
||||
<span class="help-inline">
|
||||
<i class="icon-nd-form-warning" title="This will apply to all indexers, please follow the rules set forth by them"/>
|
||||
<i class="icon-nd-form-info" title="Set to zero to disable (this will stop all automatic release grabbing)"/>
|
||||
</span>
|
||||
<div class="col-sm-2 col-sm-pull-1">
|
||||
<input type="number" name="rssSyncInterval" class="form-control"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group advanced-setting">
|
||||
<label class="control-label">Release Restrictions</label>
|
||||
<label class="col-sm-3 control-label">Release Restrictions</label>
|
||||
|
||||
<div class="controls">
|
||||
<textarea rows="3" name="releaseRestrictions" class="release-restrictions"></textarea>
|
||||
<div class="col-sm-1 col-sm-push-4 help-inline help-inline-text-area">
|
||||
<i class="icon-nd-form-info" title="Blacklist NZBs based on these words (case-insensitive)"/>
|
||||
</div>
|
||||
|
||||
<span class="help-inline">
|
||||
<i class="icon-nd-form-info" title="Blacklist NZBs based on these words (case-insensitive)"/>
|
||||
</span>
|
||||
|
||||
<span class="text-area-help">Newline-delimited set of rules</span>
|
||||
<div class="col-sm-4 col-sm-pull-1">
|
||||
<textarea rows="3" name="releaseRestrictions" class="form-control release-restrictions"></textarea>
|
||||
<div class="text-area-help">Newline-delimited set of rules</div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
@ -1,16 +1,29 @@
|
||||
.indexer-settings-item {
|
||||
|
||||
width: 220px;
|
||||
height: 260px;
|
||||
height: 295px;
|
||||
padding: 10px 15px;
|
||||
|
||||
h3 {
|
||||
width: 190px;
|
||||
width: 175px;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
&.add-card {
|
||||
margin-top: 10px;
|
||||
margin-left: 10px;
|
||||
|
||||
.center {
|
||||
margin-top: 100px;
|
||||
margin-top: 90px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Super hack to keep using form builder, this should be dead when we do proper modals for editing */
|
||||
.col-sm-1, .col-sm-3, .col-sm-5 {
|
||||
display : block;
|
||||
width : 100%;
|
||||
padding: 0px;
|
||||
float: none;
|
||||
position: inherit;
|
||||
}
|
||||
}
|
@ -2,68 +2,74 @@
|
||||
<legend>File Management</legend>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Ignore Deleted Episodes</label>
|
||||
<label class="col-sm-3 control-label">Ignore Deleted Episodes</label>
|
||||
|
||||
<div class="controls">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="autoUnmonitorPreviouslyDownloadedEpisodes"/>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
<div class="col-sm-9">
|
||||
<div class="input-group">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="autoUnmonitorPreviouslyDownloadedEpisodes"/>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-info" title="Episodes deleted from disk are automatically unmonitored in NzbDrone"/>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Download Propers</label>
|
||||
|
||||
<div class="controls">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="autoDownloadPropers"/>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-info" title="Should NzbDrone automatically upgrade to propers when available?"/>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Recycling Bin</label>
|
||||
|
||||
<div class="controls">
|
||||
<input type="text" name="recycleBin" class="x-path"/>
|
||||
<span class="help-inline">
|
||||
<i class="icon-nd-form-info" title="Episode files will go here when deleted instead of being permanently deleted"/>
|
||||
</span>
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-info" title="Episodes deleted from disk are automatically unmonitored in NzbDrone"/>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group advanced-setting">
|
||||
<label class="control-label">Change File Date</label>
|
||||
<label class="col-sm-3 control-label">Download Propers</label>
|
||||
|
||||
<div class="controls">
|
||||
<select class="inputClass" name="fileDate">
|
||||
<div class="col-sm-9">
|
||||
<div class="input-group">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="autoDownloadPropers"/>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-info" title="Should NzbDrone automatically upgrade to propers when available?"/>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group advanced-setting">
|
||||
<label class="col-sm-3 control-label">Change File Date</label>
|
||||
|
||||
<div class="col-sm-1 col-sm-push-2 help-inline">
|
||||
<i class="icon-nd-form-info" title="Change file date on import/rescan"/>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-2 col-sm-pull-1">
|
||||
<select class="form-control" name="fileDate">
|
||||
<option value="none">None</option>
|
||||
<option value="localAirDate">Local Air Date</option>
|
||||
<option value="utcAirDate">UTC Air Date</option>
|
||||
</select>
|
||||
<span class="help-inline">
|
||||
<i class="icon-nd-form-info" title="Change file date on import/rescan"/>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">Recycling Bin</label>
|
||||
|
||||
<div class="col-sm-1 col-sm-push-8 help-inline">
|
||||
<i class="icon-nd-form-info" title="Episode files will go here when deleted instead of being permanently deleted"/>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-8 col-sm-pull-1">
|
||||
<input type="text" name="recycleBin" class="form-control x-path"/>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
@ -1,76 +1,86 @@
|
||||
<div class="form-group">
|
||||
<label class="control-label">Include Series Title</label>
|
||||
<label class="col-sm-3 control-label">Include Series Title</label>
|
||||
|
||||
<div class="controls">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="includeSeriesTitle"/>
|
||||
<div class="col-sm-9">
|
||||
<div class="input-group">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="includeSeriesTitle"/>
|
||||
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">Include Episode Title</label>
|
||||
|
||||
<div class="col-sm-9">
|
||||
<div class="input-group">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="includeEpisodeTitle"/>
|
||||
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Include Episode Title</label>
|
||||
<label class="col-sm-3 control-label">Include Quality</label>
|
||||
|
||||
<div class="controls">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="includeEpisodeTitle"/>
|
||||
<div class="col-sm-9">
|
||||
<div class="input-group">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="includeQuality"/>
|
||||
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Include Quality</label>
|
||||
<label class="col-sm-3 control-label">Replace Spaces</label>
|
||||
|
||||
<div class="controls">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="includeQuality"/>
|
||||
<div class="col-sm-9">
|
||||
<div class="input-group">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="replaceSpaces"/>
|
||||
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Replace Spaces</label>
|
||||
<label class="col-sm-3 control-label">Separator</label>
|
||||
|
||||
<div class="controls">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="replaceSpaces"/>
|
||||
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Separator</label>
|
||||
|
||||
<div class="controls">
|
||||
<select class="inputClass" name="separator">
|
||||
<div class="col-sm-9">
|
||||
<select class="form-control" name="separator">
|
||||
<option value=" - ">Dash</option>
|
||||
<option value=" ">Space</option>
|
||||
<option value=".">Period</option>
|
||||
@ -79,10 +89,10 @@
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Numbering Style</label>
|
||||
<label class="col-sm-3 control-label">Numbering Style</label>
|
||||
|
||||
<div class="controls">
|
||||
<select class="inputClass" name="numberStyle">
|
||||
<div class="col-sm-9">
|
||||
<select class="form-control" name="numberStyle">
|
||||
<option value="{season}x{episode:00}">1x05</option>
|
||||
<option value="{season:00}x{episode:00}">01x05</option>
|
||||
<option value="S{season:00}E{episode:00}">S01E05</option>
|
||||
|
@ -2,23 +2,25 @@
|
||||
<legend>Episode Naming</legend>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Rename Episodes</label>
|
||||
<label class="col-sm-3 control-label">Rename Episodes</label>
|
||||
|
||||
<div class="controls">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="renameEpisodes" class="x-rename-episodes"/>
|
||||
<div class="col-sm-8">
|
||||
<div class="input-group">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="renameEpisodes" class="x-rename-episodes"/>
|
||||
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-warning" title="NzbDrone will use the existing file name if set to no"/>
|
||||
</span>
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-warning" title="NzbDrone will use the existing file name if set to no"/>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -26,12 +28,17 @@
|
||||
<div class="basic-setting x-basic-naming"></div>
|
||||
|
||||
<div class="form-group advanced-setting">
|
||||
<label class="control-label">Standard Episode Format</label>
|
||||
<label class="col-sm-3 control-label">Standard Episode Format</label>
|
||||
|
||||
<div class="controls">
|
||||
<div class="col-sm-1 col-sm-push-8 help-inline">
|
||||
<i class="icon-nd-form-info" title="" data-original-title="All caps or all lower-case can also be used"></i>
|
||||
<a href="https://github.com/NzbDrone/NzbDrone/wiki/Sorting-and-Renaming" class="help-link" title="More information"><i class="icon-nd-form-info-link"/></a>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-8 col-sm-pull-1">
|
||||
<div class="input-group x-helper-input">
|
||||
<input type="text" class="naming-format" name="standardEpisodeFormat" data-onkeyup="true" />
|
||||
<div class="btn-group x-naming-token-helper">
|
||||
<input type="text" class="form-control naming-format" name="standardEpisodeFormat" data-onkeyup="true" />
|
||||
<div class="input-group-btn btn-group x-naming-token-helper">
|
||||
<button class="btn btn-icon-only dropdown-toggle" data-toggle="dropdown">
|
||||
<i class="icon-plus"></i>
|
||||
</button>
|
||||
@ -47,20 +54,21 @@
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<span class="help-inline">
|
||||
<i class="icon-nd-form-info" title="" data-original-title="All caps or all lower-case can also be used"></i>
|
||||
<a href="https://github.com/NzbDrone/NzbDrone/wiki/Sorting-and-Renaming" class="help-link" title="More information"><i class="icon-nd-form-info-link"/></a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group advanced-setting">
|
||||
<label class="control-label">Daily Episode Format</label>
|
||||
<label class="col-sm-3 control-label">Daily Episode Format</label>
|
||||
|
||||
<div class="controls">
|
||||
<div class="col-sm-1 col-sm-push-8 help-inline">
|
||||
<i class="icon-nd-form-info" title="" data-original-title="All caps or all lower-case can also be used"></i>
|
||||
<a href="https://github.com/NzbDrone/NzbDrone/wiki/Sorting-and-Renaming" class="help-link" title="More information"><i class="icon-nd-form-info-link"/></a>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-8 col-sm-pull-1">
|
||||
<div class="input-group x-helper-input">
|
||||
<input type="text" class="naming-format" name="dailyEpisodeFormat" data-onkeyup="true" />
|
||||
<div class="btn-group x-naming-token-helper">
|
||||
<input type="text" class="form-control naming-format" name="dailyEpisodeFormat" data-onkeyup="true" />
|
||||
<div class="input-group-btn btn-group x-naming-token-helper">
|
||||
<button class="btn btn-icon-only dropdown-toggle" data-toggle="dropdown">
|
||||
<i class="icon-plus"></i>
|
||||
</button>
|
||||
@ -77,34 +85,21 @@
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<span class="help-inline">
|
||||
<i class="icon-nd-form-info" title="" data-original-title="All caps or all lower-case can also be used"></i>
|
||||
<a href="https://github.com/NzbDrone/NzbDrone/wiki/Sorting-and-Renaming" class="help-link" title="More information"><i class="icon-nd-form-info-link"/></a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Multi-Episode Style</label>
|
||||
|
||||
<div class="controls">
|
||||
<select class="inputClass x-multi-episode-style" name="multiEpisodeStyle">
|
||||
<option value="0">Extend</option>
|
||||
<option value="1">Duplicate</option>
|
||||
<option value="2">Repeat</option>
|
||||
<option value="3">Scene</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group advanced-setting">
|
||||
<label class="control-label">Series Folder Format</label>
|
||||
<label class="col-sm-3 control-label">Series Folder Format</label>
|
||||
|
||||
<div class="controls">
|
||||
<div class="col-sm-1 col-sm-push-8 help-inline">
|
||||
<i class="icon-nd-form-info" title="" data-original-title="All caps or all lower-case can also be used. Only used when adding a new series."></i>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-8 col-sm-pull-1">
|
||||
<div class="input-group x-helper-input">
|
||||
<input type="text" class="naming-format" name="seriesFolderFormat" data-onkeyup="true"/>
|
||||
<div class="btn-group x-naming-token-helper">
|
||||
<input type="text" class="form-control naming-format" name="seriesFolderFormat" data-onkeyup="true"/>
|
||||
<div class="input-group-btn btn-group x-naming-token-helper">
|
||||
<button class="btn btn-icon-only dropdown-toggle" data-toggle="dropdown">
|
||||
<i class="icon-plus"></i>
|
||||
</button>
|
||||
@ -113,19 +108,16 @@
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<span class="help-inline">
|
||||
<i class="icon-nd-form-info" title="" data-original-title="All caps or all lower-case can also be used. Only used when adding a new series."></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Season Folder Format</label>
|
||||
<label class="col-sm-3 control-label">Season Folder Format</label>
|
||||
|
||||
<div class="controls">
|
||||
<div class="col-sm-8">
|
||||
<div class="input-group x-helper-input">
|
||||
<input type="text" class="naming-format" name="seasonFolderFormat" data-onkeyup="true"/>
|
||||
<div class="btn-group x-naming-token-helper">
|
||||
<input type="text" class="form-control naming-format" name="seasonFolderFormat" data-onkeyup="true"/>
|
||||
<div class="input-group-btn btn-group x-naming-token-helper">
|
||||
<button class="btn btn-icon-only dropdown-toggle" data-toggle="dropdown">
|
||||
<i class="icon-plus"></i>
|
||||
</button>
|
||||
@ -139,43 +131,58 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Single Episode Example</label>
|
||||
<div class="x-naming-options">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">Multi-Episode Style</label>
|
||||
|
||||
<div class="controls">
|
||||
<span class="x-single-episode-example naming-example"></span>
|
||||
<div class="col-sm-2">
|
||||
<select class="form-control x-multi-episode-style" name="multiEpisodeStyle">
|
||||
<option value="0">Extend</option>
|
||||
<option value="1">Duplicate</option>
|
||||
<option value="2">Repeat</option>
|
||||
<option value="3">Scene</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Multi-Episode Example</label>
|
||||
|
||||
<div class="controls">
|
||||
<span class="x-multi-episode-example naming-example"></span>
|
||||
<label class="col-sm-3 control-label">Single Episode Example</label>
|
||||
|
||||
<div class="col-sm-8">
|
||||
<p class="form-control-static x-single-episode-example naming-example"></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Daily-Episode Example</label>
|
||||
<label class="col-sm-3 control-label">Multi-Episode Example</label>
|
||||
|
||||
<div class="controls">
|
||||
<span class="x-daily-episode-example naming-example"></span>
|
||||
<div class="col-sm-8">
|
||||
<p class="form-control-static x-multi-episode-example naming-example"></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label class="control-label">Series Folder Example</label>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">Daily-Episode Example</label>
|
||||
|
||||
<div class="controls">
|
||||
<span class="x-series-folder-example naming-example"></span>
|
||||
<div class="col-sm-8">
|
||||
<p class="form-control-static x-daily-episode-example naming-example"></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label class="control-label">Season Folder Example</label>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">Series Folder Example</label>
|
||||
|
||||
<div class="controls">
|
||||
<span class="x-season-folder-example naming-example"></span>
|
||||
<div class="col-sm-8">
|
||||
<p class="form-control-static x-series-folder-example naming-example"></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">Season Folder Example</label>
|
||||
|
||||
<div class="col-sm-8">
|
||||
<p class="form-control-static x-season-folder-example naming-example"></p>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
@ -1,70 +1,76 @@
|
||||
{{#if_mono}}
|
||||
{{#if_mono}}
|
||||
<fieldset class="advanced-setting">
|
||||
<legend>Permissions</legend>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Set Permissions</label>
|
||||
<label class="col-sm-3 control-label">Set Permissions</label>
|
||||
|
||||
<div class="controls">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="setPermissionsLinux"/>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
<div class="col-sm-8">
|
||||
<div class="input-group">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="setPermissionsLinux"/>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-info" title="Should chmod/chown be run when files are imported/renamed?"/>
|
||||
<i class="icon-nd-form-warning" title="If you're unsure what these settings do, do not alter them."/>
|
||||
</span>
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-info" title="Should chmod/chown be run when files are imported/renamed?"/>
|
||||
<i class="icon-nd-form-warning" title="If you're unsure what these settings do, do not alter them."/>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">File chmod mask</label>
|
||||
<label class="col-sm-3 control-label">File chmod mask</label>
|
||||
|
||||
<div class="controls">
|
||||
<input type="text" name="fileChmod"/>
|
||||
<span class="help-inline">
|
||||
<i class="icon-nd-form-info" title="Octal, applied to media files when imported/renamed by NzbDrone"/>
|
||||
</span>
|
||||
<div class="col-sm-1 col-sm-push-4 help-inline">
|
||||
<i class="icon-nd-form-info" title="Octal, applied to media files when imported/renamed by NzbDrone"/>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-4 col-sm-pull-1">
|
||||
<input type="text" name="fileChmod" class="form-control"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Folder chmod mask</label>
|
||||
<label class="col-sm-3 control-label">Folder chmod mask</label>
|
||||
|
||||
<div class="controls">
|
||||
<input type="text" name="folderChmod"/>
|
||||
<span class="help-inline">
|
||||
<i class="icon-nd-form-info" title="Octal, applied to series/season folders created by NzbDrone"/>
|
||||
</span>
|
||||
<div class="col-sm-1 col-sm-push-4 help-inline">
|
||||
<i class="icon-nd-form-info" title="Octal, applied to series/season folders created by NzbDrone"/>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-4 col-sm-pull-1">
|
||||
<input type="text" name="folderChmod" class="form-control"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">chown User</label>
|
||||
<label class="col-sm-3 control-label">chown User</label>
|
||||
|
||||
<div class="controls">
|
||||
<input type="text" name="chownUser"/>
|
||||
<span class="help-inline">
|
||||
<i class="icon-nd-form-info" title="Username or uid. Use uid for remote file systems."/>
|
||||
</span>
|
||||
<div class="col-sm-1 col-sm-push-4 help-inline">
|
||||
<i class="icon-nd-form-info" title="Username or uid. Use uid for remote file systems."/>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-4 col-sm-pull-1">
|
||||
<input type="text" name="chownUser" class="form-control"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">chown Group</label>
|
||||
<label class="col-sm-3 control-label">chown Group</label>
|
||||
|
||||
<div class="controls">
|
||||
<input type="text" name="chownGroup"/>
|
||||
<span class="help-inline">
|
||||
<i class="icon-nd-form-info" title="Group name or gid. Use gid for remote file systems."/>
|
||||
</span>
|
||||
<div class="col-sm-1 col-sm-push-4 help-inline">
|
||||
<i class="icon-nd-form-info" title="Group name or gid. Use gid for remote file systems."/>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-4 col-sm-pull-1">
|
||||
<input type="text" name="chownGroup" class="form-control"/>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
{{/if_mono}}
|
||||
{{/if_mono}}
|
||||
|
@ -2,23 +2,25 @@
|
||||
<legend>Folders</legend>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Create empty series folders</label>
|
||||
<label class="col-sm-3 control-label">Create empty series folders</label>
|
||||
|
||||
<div class="controls">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="createEmptySeriesFolders"/>
|
||||
<div class="col-sm-9">
|
||||
<div class="input-group">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="createEmptySeriesFolders"/>
|
||||
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-info" title="Create missing series folders during disk scan"/>
|
||||
</span>
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-info" title="Create missing series folders during disk scan"/>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
@ -27,24 +29,26 @@
|
||||
<fieldset class="advanced-setting">
|
||||
<legend>Importing</legend>
|
||||
|
||||
<div class="control-group">
|
||||
<label class="control-label">Skip Free Space Check</label>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">Skip Free Space Check</label>
|
||||
|
||||
<div class="controls">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="skipFreeSpaceCheckWhenImporting"/>
|
||||
<div class="col-sm-9">
|
||||
<div class="input-group">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="skipFreeSpaceCheckWhenImporting"/>
|
||||
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-info" title="Use when drone is unable to detect free space from your series root folder"/>
|
||||
</span>
|
||||
<span class="help-inline-checkbox">
|
||||
<i class="icon-nd-form-info" title="Use when drone is unable to detect free space from your series root folder"/>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
@ -1,39 +1,45 @@
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<h3>Edit</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-horizontal">
|
||||
<div class="form-group">
|
||||
<label class="control-label">Name</label>
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<h3>Edit</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-horizontal">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">Name</label>
|
||||
|
||||
<div class="controls">
|
||||
<input type="text" name="name"/>
|
||||
<div class="col-sm-5 controls">
|
||||
<input type="text" name="name" class="form-control"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">Enable</label>
|
||||
|
||||
<div class="col-sm-5">
|
||||
<div class="input-group">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="enable"/>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{formBuilder}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<span class="x-activity"></span>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Enable</label>
|
||||
|
||||
<div class="controls">
|
||||
<label class="checkbox toggle well">
|
||||
<input type="checkbox" name="enable"/>
|
||||
<p>
|
||||
<span>Yes</span>
|
||||
<span>No</span>
|
||||
</p>
|
||||
|
||||
<div class="btn btn-primary slide-button"/>
|
||||
</label>
|
||||
</div>
|
||||
<button class="btn" data-dismiss="modal">cancel</button>
|
||||
<button class="btn btn-primary x-save">save</button>
|
||||
</div>
|
||||
|
||||
{{formBuilder}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<span class="x-activity"></span>
|
||||
|
||||
<button class="btn" data-dismiss="modal">cancel</button>
|
||||
<button class="btn btn-primary x-save">save</button>
|
||||
</div>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user