diff --git a/NzbDrone.Backbone/Content/Bootstrap/bundle.txt b/NzbDrone.Backbone/Content/Bootstrap/bundle.txt deleted file mode 100644 index a6ea4c21e..000000000 --- a/NzbDrone.Backbone/Content/Bootstrap/bundle.txt +++ /dev/null @@ -1 +0,0 @@ -bootstrap.less \ No newline at end of file diff --git a/NzbDrone.Backbone/Content/Images/sort_asc.png b/NzbDrone.Backbone/Content/Images/sort_asc.png deleted file mode 100644 index 6689409ed..000000000 Binary files a/NzbDrone.Backbone/Content/Images/sort_asc.png and /dev/null differ diff --git a/NzbDrone.Backbone/Content/Images/sort_asc_disabled.png b/NzbDrone.Backbone/Content/Images/sort_asc_disabled.png deleted file mode 100644 index 965040f75..000000000 Binary files a/NzbDrone.Backbone/Content/Images/sort_asc_disabled.png and /dev/null differ diff --git a/NzbDrone.Backbone/Content/Images/sort_both.png b/NzbDrone.Backbone/Content/Images/sort_both.png deleted file mode 100644 index 3eea3fdc2..000000000 Binary files a/NzbDrone.Backbone/Content/Images/sort_both.png and /dev/null differ diff --git a/NzbDrone.Backbone/Content/Images/sort_desc.png b/NzbDrone.Backbone/Content/Images/sort_desc.png deleted file mode 100644 index 794f1fc14..000000000 Binary files a/NzbDrone.Backbone/Content/Images/sort_desc.png and /dev/null differ diff --git a/NzbDrone.Backbone/Content/Images/sort_desc_disabled.png b/NzbDrone.Backbone/Content/Images/sort_desc_disabled.png deleted file mode 100644 index 639bdb228..000000000 Binary files a/NzbDrone.Backbone/Content/Images/sort_desc_disabled.png and /dev/null differ diff --git a/NzbDrone.Backbone/Content/jquery.dataTables.bootstrap.css b/NzbDrone.Backbone/Content/jquery.dataTables.bootstrap.css deleted file mode 100644 index 0b7f88c50..000000000 --- a/NzbDrone.Backbone/Content/jquery.dataTables.bootstrap.css +++ /dev/null @@ -1,3 +0,0 @@ -th i{ - font-size: 14px; -} \ No newline at end of file diff --git a/NzbDrone.Backbone/Index.html b/NzbDrone.Backbone/Index.html index 74e6300a3..831284245 100644 --- a/NzbDrone.Backbone/Index.html +++ b/NzbDrone.Backbone/Index.html @@ -18,7 +18,7 @@ - - - @@ -80,10 +77,7 @@ - - @* - *@ diff --git a/NzbDrone.Backbone/JsLibraries/jquery.dataTables.bootstrap.pagination.js b/NzbDrone.Backbone/JsLibraries/jquery.dataTables.bootstrap.pagination.js deleted file mode 100644 index 146cd5dbf..000000000 --- a/NzbDrone.Backbone/JsLibraries/jquery.dataTables.bootstrap.pagination.js +++ /dev/null @@ -1,94 +0,0 @@ -/* Default class modification */ -$.extend($.fn.dataTableExt.oStdClasses, { - "sWrapper": "dataTables_wrapper form-horizontal" -}); - -/* API method to get paging information */ -$.fn.dataTableExt.oApi.fnPagingInfo = function(oSettings) { - return { - "iStart": oSettings._iDisplayStart, - "iEnd": oSettings.fnDisplayEnd(), - "iLength": oSettings._iDisplayLength, - "iTotal": oSettings.fnRecordsTotal(), - "iFilteredTotal": oSettings.fnRecordsDisplay(), - "iPage": Math.ceil(oSettings._iDisplayStart / oSettings._iDisplayLength), - "iTotalPages": Math.ceil(oSettings.fnRecordsDisplay() / oSettings._iDisplayLength) - }; -}; - -/* Bootstrap style pagination control */ -$.extend($.fn.dataTableExt.oPagination, { - "bootstrap": { - "fnInit": function (oSettings, nPaging, fnDraw) { - var oLang = oSettings.oLanguage.oPaginate; - var fnClickHandler = function (e) { - e.preventDefault(); - if (oSettings.oApi._fnPageChange(oSettings, e.data.action)) { - fnDraw(oSettings); - } - }; - - $(nPaging).addClass('pagination').append( - '' - ); - var els = $('a', nPaging); - $(els[0]).bind('click.DT', { action: "previous" }, fnClickHandler); - $(els[1]).bind('click.DT', { action: "next" }, fnClickHandler); - }, - - "fnUpdate": function (oSettings, fnDraw) { - var iListLength = 5; - var oPaging = oSettings.oInstance.fnPagingInfo(); - var an = oSettings.aanFeatures.p; - var i, j, sClass, iStart, iEnd, iHalf = Math.floor(iListLength / 2); - - if (oPaging.iTotalPages < iListLength) { - iStart = 1; - iEnd = oPaging.iTotalPages; - } - else if (oPaging.iPage <= iHalf) { - iStart = 1; - iEnd = iListLength; - } else if (oPaging.iPage >= (oPaging.iTotalPages - iHalf)) { - iStart = oPaging.iTotalPages - iListLength + 1; - iEnd = oPaging.iTotalPages; - } else { - iStart = oPaging.iPage - iHalf + 1; - iEnd = iStart + iListLength - 1; - } - - for (i = 0, iLen = an.length ; i < iLen ; i++) { - // Remove the middle elements - $('li:gt(0)', an[i]).filter(':not(:last)').remove(); - - // Add the new list items and their event handlers - for (j = iStart ; j <= iEnd ; j++) { - sClass = (j == oPaging.iPage + 1) ? 'class="active"' : ''; - $('
  • ' + j + '
  • ') - .insertBefore($('li:last', an[i])[0]) - .bind('click', function (e) { - e.preventDefault(); - oSettings._iDisplayStart = (parseInt($('a', this).text(), 10) - 1) * oPaging.iLength; - fnDraw(oSettings); - }); - } - - // Add / remove disabled classes from the static elements - if (oPaging.iPage === 0) { - $('li:first', an[i]).addClass('disabled'); - } else { - $('li:first', an[i]).removeClass('disabled'); - } - - if (oPaging.iPage === oPaging.iTotalPages - 1 || oPaging.iTotalPages === 0) { - $('li:last', an[i]).addClass('disabled'); - } else { - $('li:last', an[i]).removeClass('disabled'); - } - } - } - } -}); \ No newline at end of file diff --git a/NzbDrone.Backbone/JsLibraries/jquery.dataTables.extensions.js b/NzbDrone.Backbone/JsLibraries/jquery.dataTables.extensions.js deleted file mode 100644 index f37024dcb..000000000 --- a/NzbDrone.Backbone/JsLibraries/jquery.dataTables.extensions.js +++ /dev/null @@ -1,51 +0,0 @@ -//Hidden title string sorting -$.extend(jQuery.fn.dataTableExt.oSort, { - "title-string-pre": function (a) { - return a.match(/title="(.*?)"/)[1].toLowerCase(); - }, - - "title-string-asc": function (a, b) { - return ((a < b) ? -1 : ((a > b) ? 1 : 0)); - }, - - "title-string-desc": function (a, b) { - return ((a < b) ? 1 : ((a > b) ? -1 : 0)); - } -}); - - -//bestDateString sorting -$.extend(jQuery.fn.dataTableExt.oSort, { - "best-date-pre": function (a) { - var match = a.match(/data-date="(.*?)"/)[1]; - - if (match === '') - return Date.create().addYears(100); - - return Date.create(match); - }, - - "best-date-asc": function (a, b) { - return ((a < b) ? -1 : ((a > b) ? 1 : 0)); - }, - - "best-date-desc": function (a, b) { - return ((a < b) ? 1 : ((a > b) ? -1 : 0)); - } -}); - - -//Skip articles sorting -$.extend(jQuery.fn.dataTableExt.oSort, { - "skip-articles-pre": function (a) { - return a.replace(/^(the|an|a|) /i, ""); - }, - - "skip-articles-asc": function (a, b) { - return ((a < b) ? -1 : ((a > b) ? 1 : 0)); - }, - - "skip-articles-desc": function (a, b) { - return ((a < b) ? 1 : ((a > b) ? -1 : 0)); - } -}); \ No newline at end of file diff --git a/NzbDrone.Backbone/JsLibraries/jquery.dataTables.js b/NzbDrone.Backbone/JsLibraries/jquery.dataTables.js deleted file mode 100644 index 3c810653a..000000000 --- a/NzbDrone.Backbone/JsLibraries/jquery.dataTables.js +++ /dev/null @@ -1,11979 +0,0 @@ -/** - * @summary DataTables - * @description Paginate, search and sort HTML tables - * @version 1.10.0-dev - * @file jquery.dataTables.js - * @author Allan Jardine (www.sprymedia.co.uk) - * @contact www.sprymedia.co.uk/contact - * - * @copyright Copyright 2008-2012 Allan Jardine, all rights reserved. - * - * This source file is free software, under either the GPL v2 license or a - * BSD style license, available at: - * http://datatables.net/license_gpl2 - * http://datatables.net/license_bsd - * - * This source file is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details. - * - * For details please refer to: http://www.datatables.net - */ - -/*jslint evil: true, undef: true, browser: true */ -/*globals $,require,jQuery,define,_fnExternApiFunc,_fnInitialise,_fnInitComplete,_fnLanguageCompat,_fnAddColumn,_fnColumnOptions,_fnAddData,_fnCreateTr,_fnGatherData,_fnBuildHead,_fnDrawHead,_fnDraw,_fnReDraw,_fnAjaxUpdate,_fnAjaxParameters,_fnAjaxUpdateDraw,_fnServerParams,_fnAddOptionsHtml,_fnFeatureHtmlTable,_fnScrollDraw,_fnAdjustColumnSizing,_fnFeatureHtmlFilter,_fnFilterComplete,_fnFilterCustom,_fnFilterColumn,_fnFilter,_fnBuildSearchArray,_fnBuildSearchRow,_fnFilterCreateSearch,_fnDataToSearch,_fnSort,_fnSortAttachListener,_fnSortingClasses,_fnFeatureHtmlPaginate,_fnPageChange,_fnFeatureHtmlInfo,_fnUpdateInfo,_fnFeatureHtmlLength,_fnFeatureHtmlProcessing,_fnProcessingDisplay,_fnVisibleToColumnIndex,_fnColumnIndexToVisible,_fnNodeToDataIndex,_fnVisbleColumns,_fnCalculateEnd,_fnConvertToWidth,_fnCalculateColumnWidths,_fnScrollingWidthAdjust,_fnGetWidestNode,_fnGetMaxLenString,_fnStringToCss,_fnDetectType,_fnSettingsFromNode,_fnGetDataMaster,_fnGetTrNodes,_fnGetTdNodes,_fnEscapeRegex,_fnDeleteIndex,_fnColumnOrdering,_fnLog,_fnClearTable,_fnSaveState,_fnLoadState,_fnDetectHeader,_fnGetUniqueThs,_fnScrollBarWidth,_fnApplyToChildren,_fnMap,_fnGetRowData,_fnGetCellData,_fnSetCellData,_fnGetObjectDataFn,_fnSetObjectDataFn,_fnApplyColumnDefs,_fnBindAction,_fnCallbackReg,_fnCallbackFire,_fnNodeToColumnIndex,_fnInfoMacros,_fnBrowserDetect,_fnGetColumns,_fnHungarianMap,_fnCamelToHungarian*/ - -(/** @lends */function( window, document, undefined ) { - -(function( factory ) { - "use strict"; - - // Define as an AMD module if possible - if ( typeof define === 'function' && define.amd ) - { - define( ['jquery'], factory ); - } - /* Define using browser globals otherwise - * Prevent multiple instantiations if the script is loaded twice - */ - else if ( jQuery && !jQuery.fn.dataTable ) - { - factory( jQuery ); - } -} -(/** @lends */function( $ ) { - "use strict"; - - /** - * DataTables is a plug-in for the jQuery Javascript library. It is a highly - * flexible tool, based upon the foundations of progressive enhancement, - * which will add advanced interaction controls to any HTML table. For a - * full list of features please refer to - * [DataTables.net](href="http://datatables.net). - * - * Note that the `DataTable` object is not a global variable but is aliased - * to `jQuery.fn.DataTable` and `jQuery.fn.dataTable` through which it may - * be accessed. - * - * @class - * @param {object} [init={}] Configuration object for DataTables. Options - * are defined by {@link DataTable.defaults} - * @requires jQuery 1.3+ - * - * @example - * // Basic initialisation - * $(document).ready( function { - * $('#example').dataTable(); - * } ); - * - * @example - * // Initialisation with configuration options - in this case, disable - * // pagination and sorting. - * $(document).ready( function { - * $('#example').dataTable( { - * "paginate": false, - * "sort": false - * } ); - * } ); - */ - var DataTable; - - - - /** - * Create a mapping object that allows camel case parameters to be looked up - * for their Hungarian counterparts. The mapping is stored in a private - * parameter called `_hungaianMap` which can be accessed on the source object. - * @param {object} o - * @memberof DataTable#oApi - */ - function _fnHungarianMap ( o ) - { - var - hungarian = 'a aa ao as b fn i m o s ', - match, - newKey, - map = {}; - - $.each( o, function (key, val) { - match = key.match(/^([^A-Z]+?)([A-Z])/); - - if ( match && hungarian.indexOf(match[1]+' ') !== -1 ) - { - newKey = key.replace( match[0], match[2].toLowerCase() ); - map[ newKey ] = key; - - if ( match[1] === 'o' ) - { - _fnHungarianMap( o[key] ); - } - } - } ); - - o._hungaianMap = map; - } - - - /** - * Convert from camel case parameters to Hungarian, based on a Hungarian map - * created by _fnHungarianMap. - * @param {object} src The model object which holds all parameters that can be - * mapped. - * @param {object} user The object to convert from camel case to Hungarian. - * @param {boolean} force When set to `true`, properties which already have a - * Hungarian value in the `user` object will be overwritten. Otherwise they - * won't be. - * @memberof DataTable#oApi - */ - function _fnCamelToHungarian ( src, user, force ) - { - if ( ! src._hungaianMap ) - { - _fnHungarianMap( src ); - } - - var hungarianKey; - - $.each( user, function (key, val) { - hungarianKey = src._hungaianMap[ key ]; - - if ( hungarianKey !== undefined && (force || user[hungarianKey] === undefined) ) - { - user[hungarianKey] = user[ key ]; - - if ( hungarianKey.charAt(0) === 'o' ) - { - _fnCamelToHungarian( src[hungarianKey], user[key] ); - } - } - } ); - } - - - /** - * Language compatibility - when certain options are given, and others aren't, we - * need to duplicate the values over, in order to provide backwards compatibility - * with older language files. - * @param {object} oSettings dataTables settings object - * @memberof DataTable#oApi - */ - function _fnLanguageCompat( oLanguage ) - { - var oDefaults = DataTable.defaults.oLanguage; - - /* Backwards compatibility - if there is no sEmptyTable given, then use the same as - * sZeroRecords - assuming that is given. - */ - if ( !oLanguage.sEmptyTable && oLanguage.sZeroRecords && - oDefaults.sEmptyTable === "No data available in table" ) - { - _fnMap( oLanguage, oLanguage, 'sZeroRecords', 'sEmptyTable' ); - } - - /* Likewise with loading records */ - if ( !oLanguage.sLoadingRecords && oLanguage.sZeroRecords && - oDefaults.sLoadingRecords === "Loading..." ) - { - _fnMap( oLanguage, oLanguage, 'sZeroRecords', 'sLoadingRecords' ); - } - } - - - /** - * Browser feature detection for capabilities, quirks - * @param {object} oSettings dataTables settings object - * @memberof DataTable#oApi - */ - function _fnBrowserDetect( oSettings ) - { - // Scrolling feature / quirks detection - var n = $( - '
    '+ - '
    '+ - '
    '+ - '
    '+ - '
    ')[0]; - - document.body.appendChild( n ); - // IE6/7 will oversize a width 100% element inside a scrolling element, to - // include the width of the scrollbar, while other browsers ensure the inner - // element is contained without forcing scrolling - oSettings.oBrowser.bScrollOversize = $('#DT_BrowserTest', n)[0].offsetWidth === 100 ? true : false; - - // In rtl text layout, some browsers (most, but not all) will place the - // scrollbar on the left, rather than the right. - oSettings.oBrowser.bScrollbarLeft = $('#DT_BrowserTest', n).offset().left !== 1 ? true : false; - document.body.removeChild( n ); - } - - - /** - * Add a column to the list used for the table with default values - * @param {object} oSettings dataTables settings object - * @param {node} nTh The th element for this column - * @memberof DataTable#oApi - */ - function _fnAddColumn( oSettings, nTh ) - { - var oDefaults = DataTable.defaults.column; - var iCol = oSettings.aoColumns.length; - var oCol = $.extend( {}, DataTable.models.oColumn, oDefaults, { - "sSortingClass": oSettings.oClasses.sSortable, - "sSortingClassJUI": oSettings.oClasses.sSortJUI, - "nTh": nTh ? nTh : document.createElement('th'), - "sTitle": oDefaults.sTitle ? oDefaults.sTitle : nTh ? nTh.innerHTML : '', - "aDataSort": oDefaults.aDataSort ? oDefaults.aDataSort : [iCol], - "mData": oDefaults.mData ? oDefaults.oDefaults : iCol - } ); - oSettings.aoColumns.push( oCol ); - - /* Add a column specific filter */ - if ( oSettings.aoPreSearchCols[ iCol ] === undefined || oSettings.aoPreSearchCols[ iCol ] === null ) - { - oSettings.aoPreSearchCols[ iCol ] = $.extend( {}, DataTable.models.oSearch ); - } - else - { - var oPre = oSettings.aoPreSearchCols[ iCol ]; - - /* Don't require that the user must specify bRegex, bSmart or bCaseInsensitive */ - if ( oPre.bRegex === undefined ) - { - oPre.bRegex = true; - } - - if ( oPre.bSmart === undefined ) - { - oPre.bSmart = true; - } - - if ( oPre.bCaseInsensitive === undefined ) - { - oPre.bCaseInsensitive = true; - } - } - - /* Use the column options function to initialise classes etc */ - _fnColumnOptions( oSettings, iCol, null ); - } - - - /** - * Apply options for a column - * @param {object} oSettings dataTables settings object - * @param {int} iCol column index to consider - * @param {object} oOptions object with sType, bVisible and bSearchable etc - * @memberof DataTable#oApi - */ - function _fnColumnOptions( oSettings, iCol, oOptions ) - { - var oCol = oSettings.aoColumns[ iCol ]; - - /* User specified column options */ - if ( oOptions !== undefined && oOptions !== null ) - { - // Map camel case parameters to their Hungarian counterparts - _fnCamelToHungarian( DataTable.defaults.column, oOptions ); - - /* Backwards compatibility for mDataProp */ - if ( oOptions.mDataProp !== undefined && !oOptions.mData ) - { - oOptions.mData = oOptions.mDataProp; - } - - if ( oOptions.sType !== undefined ) - { - oCol.sType = oOptions.sType; - oCol._bAutoType = false; - } - - $.extend( oCol, oOptions ); - _fnMap( oCol, oOptions, "sWidth", "sWidthOrig" ); - - /* iDataSort to be applied (backwards compatibility), but aDataSort will take - * priority if defined - */ - if ( oOptions.iDataSort !== undefined ) - { - oCol.aDataSort = [ oOptions.iDataSort ]; - } - _fnMap( oCol, oOptions, "aDataSort" ); - } - - /* Cache the data get and set functions for speed */ - var mRender = oCol.mRender ? _fnGetObjectDataFn( oCol.mRender ) : null; - var mData = _fnGetObjectDataFn( oCol.mData ); - - oCol.fnGetData = function (oData, sSpecific) { - var innerData = mData( oData, sSpecific ); - - if ( oCol.mRender && (sSpecific && sSpecific !== '') ) - { - return mRender( innerData, sSpecific, oData ); - } - return innerData; - }; - oCol.fnSetData = _fnSetObjectDataFn( oCol.mData ); - - /* Feature sorting overrides column specific when off */ - if ( !oSettings.oFeatures.bSort ) - { - oCol.bSortable = false; - } - - /* Check that the class assignment is correct for sorting */ - if ( !oCol.bSortable || - ($.inArray('asc', oCol.asSorting) == -1 && $.inArray('desc', oCol.asSorting) == -1) ) - { - oCol.sSortingClass = oSettings.oClasses.sSortableNone; - oCol.sSortingClassJUI = ""; - } - else if ( $.inArray('asc', oCol.asSorting) == -1 && $.inArray('desc', oCol.asSorting) == -1 ) - { - oCol.sSortingClass = oSettings.oClasses.sSortable; - oCol.sSortingClassJUI = oSettings.oClasses.sSortJUI; - } - else if ( $.inArray('asc', oCol.asSorting) != -1 && $.inArray('desc', oCol.asSorting) == -1 ) - { - oCol.sSortingClass = oSettings.oClasses.sSortableAsc; - oCol.sSortingClassJUI = oSettings.oClasses.sSortJUIAscAllowed; - } - else if ( $.inArray('asc', oCol.asSorting) == -1 && $.inArray('desc', oCol.asSorting) != -1 ) - { - oCol.sSortingClass = oSettings.oClasses.sSortableDesc; - oCol.sSortingClassJUI = oSettings.oClasses.sSortJUIDescAllowed; - } - } - - - /** - * Adjust the table column widths for new data. Note: you would probably want to - * do a redraw after calling this function! - * @param {object} oSettings dataTables settings object - * @memberof DataTable#oApi - */ - function _fnAdjustColumnSizing ( oSettings ) - { - /* Not interested in doing column width calculation if auto-width is disabled */ - if ( oSettings.oFeatures.bAutoWidth === false ) - { - return false; - } - - _fnCalculateColumnWidths( oSettings ); - for ( var i=0 , iLen=oSettings.aoColumns.length ; i