diff --git a/dashboard-ui/autoorganizelog.html b/dashboard-ui/autoorganizelog.html index 98a8072d23..c732341fd3 100644 --- a/dashboard-ui/autoorganizelog.html +++ b/dashboard-ui/autoorganizelog.html @@ -4,7 +4,7 @@ ${TitleAutoOrganize} -
+
diff --git a/dashboard-ui/autoorganizetv.html b/dashboard-ui/autoorganizetv.html index c607f44a01..c1a473b864 100644 --- a/dashboard-ui/autoorganizetv.html +++ b/dashboard-ui/autoorganizetv.html @@ -4,7 +4,7 @@ ${TitleAutoOrganize} -
+
diff --git a/dashboard-ui/bower_components/iron-behaviors/.bower.json b/dashboard-ui/bower_components/iron-behaviors/.bower.json index 5d7b926afb..f499351883 100644 --- a/dashboard-ui/bower_components/iron-behaviors/.bower.json +++ b/dashboard-ui/bower_components/iron-behaviors/.bower.json @@ -27,14 +27,14 @@ "web-component-tester": "*", "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0" }, - "homepage": "https://github.com/polymerelements/iron-behaviors", + "homepage": "https://github.com/PolymerElements/iron-behaviors", "_release": "1.0.8", "_resolution": { "type": "version", "tag": "v1.0.8", "commit": "663ad706b43989f4961d945b8116cf4db346532f" }, - "_source": "git://github.com/polymerelements/iron-behaviors.git", + "_source": "git://github.com/PolymerElements/iron-behaviors.git", "_target": "^1.0.0", - "_originalSource": "polymerelements/iron-behaviors" + "_originalSource": "PolymerElements/iron-behaviors" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/iron-menu-behavior/.bower.json b/dashboard-ui/bower_components/iron-menu-behavior/.bower.json index 744b5d8785..7b53ecc860 100644 --- a/dashboard-ui/bower_components/iron-menu-behavior/.bower.json +++ b/dashboard-ui/bower_components/iron-menu-behavior/.bower.json @@ -1,6 +1,6 @@ { "name": "iron-menu-behavior", - "version": "1.0.2", + "version": "1.0.3", "description": "Provides accessible menu behavior", "authors": "The Polymer Authors", "keywords": [ @@ -30,11 +30,11 @@ "web-component-tester": "*", "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0" }, - "_release": "1.0.2", + "_release": "1.0.3", "_resolution": { "type": "version", - "tag": "v1.0.2", - "commit": "c9d6c3f4f69f4219fe007a1c703b77239184e834" + "tag": "v1.0.3", + "commit": "04cc87b1f6551383b1896f13df24ff1d01a9796f" }, "_source": "git://github.com/polymerelements/iron-menu-behavior.git", "_target": "^1.0.0", diff --git a/dashboard-ui/bower_components/iron-menu-behavior/bower.json b/dashboard-ui/bower_components/iron-menu-behavior/bower.json index 02465c6485..123191c196 100644 --- a/dashboard-ui/bower_components/iron-menu-behavior/bower.json +++ b/dashboard-ui/bower_components/iron-menu-behavior/bower.json @@ -1,6 +1,6 @@ { "name": "iron-menu-behavior", - "version": "1.0.2", + "version": "1.0.3", "description": "Provides accessible menu behavior", "authors": "The Polymer Authors", "keywords": [ diff --git a/dashboard-ui/bower_components/iron-menu-behavior/iron-menu-behavior.html b/dashboard-ui/bower_components/iron-menu-behavior/iron-menu-behavior.html index 2319552350..93845aace6 100644 --- a/dashboard-ui/bower_components/iron-menu-behavior/iron-menu-behavior.html +++ b/dashboard-ui/bower_components/iron-menu-behavior/iron-menu-behavior.html @@ -26,6 +26,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN /** * Returns the currently focused item. + * @type {?Object} */ focusedItem: { observer: '_focusedItemChanged', diff --git a/dashboard-ui/cordova/android/vlcplayer.js b/dashboard-ui/cordova/android/vlcplayer.js index 27866483d1..27bc95fdc9 100644 --- a/dashboard-ui/cordova/android/vlcplayer.js +++ b/dashboard-ui/cordova/android/vlcplayer.js @@ -169,6 +169,7 @@ AndroidVlcPlayer.playVideoVlc(val, startPosMs, item.Name, + JSON.stringify(item), JSON.stringify(mediaSource), JSON.stringify(playbackStartInfo), ApiClient.serverInfo().Id, diff --git a/dashboard-ui/librarypathmapping.html b/dashboard-ui/librarypathmapping.html index 0519b0b7d5..dc4ba8e612 100644 --- a/dashboard-ui/librarypathmapping.html +++ b/dashboard-ui/librarypathmapping.html @@ -4,7 +4,7 @@ ${TitleMediaLibrary} -
+
diff --git a/dashboard-ui/livetvnewrecording.html b/dashboard-ui/livetvnewrecording.html index e545ed0dc5..308fe7c118 100644 --- a/dashboard-ui/livetvnewrecording.html +++ b/dashboard-ui/livetvnewrecording.html @@ -4,7 +4,7 @@ Emby -
+
diff --git a/dashboard-ui/livetvseriestimer.html b/dashboard-ui/livetvseriestimer.html index 947c217e4a..a8c2d35a6c 100644 --- a/dashboard-ui/livetvseriestimer.html +++ b/dashboard-ui/livetvseriestimer.html @@ -4,7 +4,7 @@ Emby -
+
diff --git a/dashboard-ui/livetvstatus.html b/dashboard-ui/livetvstatus.html index d3d4e82c99..764d49e059 100644 --- a/dashboard-ui/livetvstatus.html +++ b/dashboard-ui/livetvstatus.html @@ -4,7 +4,7 @@ ${TitleLiveTV} -
+
diff --git a/dashboard-ui/livetvtimer.html b/dashboard-ui/livetvtimer.html index 8c9410fe9c..f220b09f17 100644 --- a/dashboard-ui/livetvtimer.html +++ b/dashboard-ui/livetvtimer.html @@ -4,7 +4,7 @@ Emby -
+
diff --git a/dashboard-ui/mysyncjob.html b/dashboard-ui/mysyncjob.html index 59493b70ad..380296dcf4 100644 --- a/dashboard-ui/mysyncjob.html +++ b/dashboard-ui/mysyncjob.html @@ -4,7 +4,7 @@ ${TitleSync} -
+
diff --git a/dashboard-ui/reports.html b/dashboard-ui/reports.html index a9575271a7..89e9cf8600 100644 --- a/dashboard-ui/reports.html +++ b/dashboard-ui/reports.html @@ -4,7 +4,7 @@ Emby -
+
diff --git a/dashboard-ui/scripts/connectlogin.js b/dashboard-ui/scripts/connectlogin.js index 8e7f491eaf..c56cf99758 100644 --- a/dashboard-ui/scripts/connectlogin.js +++ b/dashboard-ui/scripts/connectlogin.js @@ -94,8 +94,6 @@ } function loadMode(page, mode) { - Backdrops.setDefault(page); - if (mode == 'welcome') { $('.connectLoginForm', page).hide(); $('.welcomeContainer', page).show(); diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js index e6cb838627..b3831921a0 100644 --- a/dashboard-ui/scripts/site.js +++ b/dashboard-ui/scripts/site.js @@ -2107,6 +2107,11 @@ var AppInfo = {}; define("searchmenu", ["scripts/searchmenu"]); } + define("jqmtable", ["thirdparty/jquerymobile-1.4.5/jqm.table"], function () { + Dashboard.importCss('thirdparty/jquerymobile-1.4.5/jqm.table.css'); + return {}; + }); + $.extend(AppInfo, Dashboard.getAppInfo(appName, deviceId, deviceName)); var drawer = document.querySelector('.mainDrawerPanel'); diff --git a/dashboard-ui/serversecurity.html b/dashboard-ui/serversecurity.html index 1e4c8f858c..57e89590aa 100644 --- a/dashboard-ui/serversecurity.html +++ b/dashboard-ui/serversecurity.html @@ -4,7 +4,7 @@ ${TitleAdvanced} -
+
diff --git a/dashboard-ui/thirdparty/jquerymobile-1.4.5/jqm.table.css b/dashboard-ui/thirdparty/jquerymobile-1.4.5/jqm.table.css new file mode 100644 index 0000000000..948de9e3a5 --- /dev/null +++ b/dashboard-ui/thirdparty/jquerymobile-1.4.5/jqm.table.css @@ -0,0 +1,108 @@ +.ui-table { + border: 0; + border-collapse: collapse; + padding: 0; + width: 100%; +} +.ui-table th, +.ui-table td { + line-height: 1.5em; + text-align: left; + padding: .4em .5em; + vertical-align:top; +} +.ui-table th .ui-btn, +.ui-table td .ui-btn { + line-height: normal; +} +.ui-table th { + font-weight: bold; +} +.ui-table caption { + text-align: left; + margin-bottom: 1.4em; + opacity: .5; +} + + +/* + Styles for the table columntoggle mode +*/ +.ui-table-reflow td .ui-table-cell-label, +.ui-table-reflow th .ui-table-cell-label { + display: none; +} + +/* Mobile first styles: Begin with the stacked presentation at narrow widths */ +@media only all { + /* Hide the table headers */ + .ui-table-reflow thead td, + .ui-table-reflow thead th { + display: none; + } + /* Show the table cells as a block level element */ + .ui-table-reflow td, + .ui-table-reflow th { + text-align: left; + display: block; + } + /* Add a fair amount of top margin to visually separate each row when stacked */ + .ui-table-reflow tbody th { + margin-top: 3em; + } + /* Make the label elements a percentage width */ + .ui-table-reflow td .ui-table-cell-label, + .ui-table-reflow th .ui-table-cell-label { + padding: .4em; + min-width: 30%; + display: inline-block; + margin: -.4em 1em -.4em -.4em; + } + /* For grouped headers, have a different style to visually separate the levels by classing the first label in each col group */ + .ui-table-reflow th .ui-table-cell-label-top, + .ui-table-reflow td .ui-table-cell-label-top { + display: block; + padding: .4em 0; + margin: .4em 0; + text-transform: uppercase; + font-size: .9em; + font-weight: normal; + } +} + + +/* Breakpoint to show as a standard table at 560px (35em x 16px) or wider */ +@media ( min-width: 35em ) { + + /* Show the table header rows */ + .ui-table-reflow.ui-responsive td, + .ui-table-reflow.ui-responsive th, + .ui-table-reflow.ui-responsive tbody th, + .ui-table-reflow.ui-responsive tbody td, + .ui-table-reflow.ui-responsive thead td, + .ui-table-reflow.ui-responsive thead th { + display: table-cell; + margin: 0; + } + + /* Hide the labels in each cell */ + .ui-table-reflow.ui-responsive td .ui-table-cell-label, + .ui-table-reflow.ui-responsive th .ui-table-cell-label { + display: none; + } +} + + +/* Hack to make IE9 and WP7.5 treat cells like block level elements, scoped to ui-responsive class */ +/* Applied in a max-width media query up to the table layout breakpoint so we don't need to negate this*/ +@media ( max-width: 35em ) { + .ui-table-reflow.ui-responsive td, + .ui-table-reflow.ui-responsive th { + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + float: left; + clear: left; + } +} \ No newline at end of file diff --git a/dashboard-ui/thirdparty/jquerymobile-1.4.5/jqm.table.js b/dashboard-ui/thirdparty/jquerymobile-1.4.5/jqm.table.js new file mode 100644 index 0000000000..b194ec764f --- /dev/null +++ b/dashboard-ui/thirdparty/jquerymobile-1.4.5/jqm.table.js @@ -0,0 +1,167 @@ +(function ($, undefined) { + + $.widget("mobile.table", { + options: { + classes: { + table: "ui-table" + }, + enhanced: false + }, + + _create: function () { + if (!this.options.enhanced) { + this.element.addClass(this.options.classes.table); + } + + // extend here, assign on refresh > _setHeaders + $.extend(this, { + + // Expose headers and allHeaders properties on the widget + // headers references the THs within the first TR in the table + headers: undefined, + + // allHeaders references headers, plus all THs in the thead, which may + // include several rows, or not + allHeaders: undefined + }); + + this._refresh(true); + }, + + _setHeaders: function () { + var trs = this.element.find("thead tr"); + + this.headers = this.element.find("tr:eq(0)").children(); + this.allHeaders = this.headers.add(trs.children()); + }, + + refresh: function () { + this._refresh(); + }, + + rebuild: $.noop, + + _refresh: function ( /* create */) { + var table = this.element, + trs = table.find("thead tr"); + + // updating headers on refresh (fixes #5880) + this._setHeaders(); + + // Iterate over the trs + trs.each(function () { + var columnCount = 0; + + // Iterate over the children of the tr + $(this).children().each(function () { + var span = parseInt(this.getAttribute("colspan"), 10), + selector = ":nth-child(" + (columnCount + 1) + ")", + j; + + this.setAttribute("data-" + $.mobile.ns + "colstart", columnCount + 1); + + if (span) { + for (j = 0; j < span - 1; j++) { + columnCount++; + selector += ", :nth-child(" + (columnCount + 1) + ")"; + } + } + + // Store "cells" data on header as a reference to all cells in the + // same column as this TH + $(this).jqmData("cells", table.find("tr").not(trs.eq(0)).not(this).children(selector)); + + columnCount++; + }); + }); + } + }); + +})(jQuery); + + +(function ($, undefined) { + + $.widget("mobile.table", $.mobile.table, { + options: { + mode: "reflow", + classes: $.extend($.mobile.table.prototype.options.classes, { + reflowTable: "ui-table-reflow", + cellLabels: "ui-table-cell-label" + }) + }, + + _create: function () { + this._super(); + + // If it's not reflow mode, return here. + if (this.options.mode !== "reflow") { + return; + } + + if (!this.options.enhanced) { + this.element.addClass(this.options.classes.reflowTable); + + this._updateReflow(); + } + }, + + rebuild: function () { + this._super(); + + if (this.options.mode === "reflow") { + this._refresh(false); + } + }, + + _refresh: function (create) { + this._super(create); + if (!create && this.options.mode === "reflow") { + this._updateReflow(); + } + }, + + _updateReflow: function () { + var table = this, + opts = this.options; + + // get headers in reverse order so that top-level headers are appended last + $(table.allHeaders.get().reverse()).each(function () { + var cells = $(this).jqmData("cells"), + colstart = $.mobile.getAttribute(this, "colstart"), + hierarchyClass = cells.not(this).filter("thead th").length && " ui-table-cell-label-top", + contents = $(this).clone().contents(), + iteration, filter; + + if (contents.length > 0) { + + if (hierarchyClass) { + iteration = parseInt(this.getAttribute("colspan"), 10); + filter = ""; + + if (iteration) { + filter = "td:nth-child(" + iteration + "n + " + (colstart) + ")"; + } + + table._addLabels(cells.filter(filter), + opts.classes.cellLabels + hierarchyClass, contents); + } else { + table._addLabels(cells, opts.classes.cellLabels, contents); + } + + } + }); + }, + + _addLabels: function (cells, label, contents) { + if (contents.length === 1 && contents[0].nodeName.toLowerCase() === "abbr") { + contents = contents.eq(0).attr("title"); + } + // .not fixes #6006 + cells + .not(":has(b." + label + ")") + .prepend($("").append(contents)); + } + }); + +})(jQuery); \ No newline at end of file diff --git a/dashboard-ui/thirdparty/jquerymobile-1.4.5/jquery.mobile.custom.js b/dashboard-ui/thirdparty/jquerymobile-1.4.5/jquery.mobile.custom.js index 63daab48b1..b4b7bee425 100644 --- a/dashboard-ui/thirdparty/jquerymobile-1.4.5/jquery.mobile.custom.js +++ b/dashboard-ui/thirdparty/jquerymobile-1.4.5/jquery.mobile.custom.js @@ -11097,173 +11097,5 @@ $.widget( "mobile.popup", $.mobile.popup, { })( jQuery ); -(function( $, undefined ) { - -$.widget( "mobile.table", { - options: { - classes: { - table: "ui-table" - }, - enhanced: false - }, - - _create: function() { - if ( !this.options.enhanced ) { - this.element.addClass( this.options.classes.table ); - } - - // extend here, assign on refresh > _setHeaders - $.extend( this, { - - // Expose headers and allHeaders properties on the widget - // headers references the THs within the first TR in the table - headers: undefined, - - // allHeaders references headers, plus all THs in the thead, which may - // include several rows, or not - allHeaders: undefined - }); - - this._refresh( true ); - }, - - _setHeaders: function() { - var trs = this.element.find( "thead tr" ); - - this.headers = this.element.find( "tr:eq(0)" ).children(); - this.allHeaders = this.headers.add( trs.children() ); - }, - - refresh: function() { - this._refresh(); - }, - - rebuild: $.noop, - - _refresh: function( /* create */ ) { - var table = this.element, - trs = table.find( "thead tr" ); - - // updating headers on refresh (fixes #5880) - this._setHeaders(); - - // Iterate over the trs - trs.each( function() { - var columnCount = 0; - - // Iterate over the children of the tr - $( this ).children().each( function() { - var span = parseInt( this.getAttribute( "colspan" ), 10 ), - selector = ":nth-child(" + ( columnCount + 1 ) + ")", - j; - - this.setAttribute( "data-" + $.mobile.ns + "colstart", columnCount + 1 ); - - if ( span ) { - for( j = 0; j < span - 1; j++ ) { - columnCount++; - selector += ", :nth-child(" + ( columnCount + 1 ) + ")"; - } - } - - // Store "cells" data on header as a reference to all cells in the - // same column as this TH - $( this ).jqmData( "cells", table.find( "tr" ).not( trs.eq( 0 ) ).not( this ).children( selector ) ); - - columnCount++; - }); - }); - } -}); - -})( jQuery ); - - -(function( $, undefined ) { - -$.widget( "mobile.table", $.mobile.table, { - options: { - mode: "reflow", - classes: $.extend( $.mobile.table.prototype.options.classes, { - reflowTable: "ui-table-reflow", - cellLabels: "ui-table-cell-label" - }) - }, - - _create: function() { - this._super(); - - // If it's not reflow mode, return here. - if ( this.options.mode !== "reflow" ) { - return; - } - - if ( !this.options.enhanced ) { - this.element.addClass( this.options.classes.reflowTable ); - - this._updateReflow(); - } - }, - - rebuild: function() { - this._super(); - - if ( this.options.mode === "reflow" ) { - this._refresh( false ); - } - }, - - _refresh: function( create ) { - this._super( create ); - if ( !create && this.options.mode === "reflow" ) { - this._updateReflow( ); - } - }, - - _updateReflow: function() { - var table = this, - opts = this.options; - - // get headers in reverse order so that top-level headers are appended last - $( table.allHeaders.get().reverse() ).each( function() { - var cells = $( this ).jqmData( "cells" ), - colstart = $.mobile.getAttribute( this, "colstart" ), - hierarchyClass = cells.not( this ).filter( "thead th" ).length && " ui-table-cell-label-top", - contents = $( this ).clone().contents(), - iteration, filter; - - if ( contents.length > 0 ) { - - if ( hierarchyClass ) { - iteration = parseInt( this.getAttribute( "colspan" ), 10 ); - filter = ""; - - if ( iteration ) { - filter = "td:nth-child("+ iteration +"n + " + ( colstart ) +")"; - } - - table._addLabels( cells.filter( filter ), - opts.classes.cellLabels + hierarchyClass, contents ); - } else { - table._addLabels( cells, opts.classes.cellLabels, contents ); - } - - } - }); - }, - - _addLabels: function( cells, label, contents ) { - if ( contents.length === 1 && contents[ 0 ].nodeName.toLowerCase() === "abbr" ) { - contents = contents.eq( 0 ).attr( "title" ); - } - // .not fixes #6006 - cells - .not( ":has(b." + label + ")" ) - .prepend( $( "" ).append( contents ) ); - } -}); - -})( jQuery ); - })); \ No newline at end of file diff --git a/dashboard-ui/thirdparty/jquerymobile-1.4.5/jquery.mobile.custom.structure.css b/dashboard-ui/thirdparty/jquerymobile-1.4.5/jquery.mobile.custom.structure.css index 29a644e6c0..98dc346bd6 100644 --- a/dashboard-ui/thirdparty/jquerymobile-1.4.5/jquery.mobile.custom.structure.css +++ b/dashboard-ui/thirdparty/jquerymobile-1.4.5/jquery.mobile.custom.structure.css @@ -2408,114 +2408,4 @@ ol.ui-listview > li img:first-child + * ~ * { M21=0.7071067811865477, M22=0.7071067811865474, SizingMethod='auto expand'); -} - - -.ui-table { - border: 0; - border-collapse: collapse; - padding: 0; - width: 100%; -} -.ui-table th, -.ui-table td { - line-height: 1.5em; - text-align: left; - padding: .4em .5em; - vertical-align:top; -} -.ui-table th .ui-btn, -.ui-table td .ui-btn { - line-height: normal; -} -.ui-table th { - font-weight: bold; -} -.ui-table caption { - text-align: left; - margin-bottom: 1.4em; - opacity: .5; -} - - -/* - Styles for the table columntoggle mode -*/ -.ui-table-reflow td .ui-table-cell-label, -.ui-table-reflow th .ui-table-cell-label { - display: none; -} - -/* Mobile first styles: Begin with the stacked presentation at narrow widths */ -@media only all { - /* Hide the table headers */ - .ui-table-reflow thead td, - .ui-table-reflow thead th { - display: none; - } - /* Show the table cells as a block level element */ - .ui-table-reflow td, - .ui-table-reflow th { - text-align: left; - display: block; - } - /* Add a fair amount of top margin to visually separate each row when stacked */ - .ui-table-reflow tbody th { - margin-top: 3em; - } - /* Make the label elements a percentage width */ - .ui-table-reflow td .ui-table-cell-label, - .ui-table-reflow th .ui-table-cell-label { - padding: .4em; - min-width: 30%; - display: inline-block; - margin: -.4em 1em -.4em -.4em; - } - /* For grouped headers, have a different style to visually separate the levels by classing the first label in each col group */ - .ui-table-reflow th .ui-table-cell-label-top, - .ui-table-reflow td .ui-table-cell-label-top { - display: block; - padding: .4em 0; - margin: .4em 0; - text-transform: uppercase; - font-size: .9em; - font-weight: normal; - } -} - - -/* Breakpoint to show as a standard table at 560px (35em x 16px) or wider */ -@media ( min-width: 35em ) { - - /* Show the table header rows */ - .ui-table-reflow.ui-responsive td, - .ui-table-reflow.ui-responsive th, - .ui-table-reflow.ui-responsive tbody th, - .ui-table-reflow.ui-responsive tbody td, - .ui-table-reflow.ui-responsive thead td, - .ui-table-reflow.ui-responsive thead th { - display: table-cell; - margin: 0; - } - - /* Hide the labels in each cell */ - .ui-table-reflow.ui-responsive td .ui-table-cell-label, - .ui-table-reflow.ui-responsive th .ui-table-cell-label { - display: none; - } -} - - -/* Hack to make IE9 and WP7.5 treat cells like block level elements, scoped to ui-responsive class */ -/* Applied in a max-width media query up to the table layout breakpoint so we don't need to negate this*/ -@media ( max-width: 35em ) { - .ui-table-reflow.ui-responsive td, - .ui-table-reflow.ui-responsive th { - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - float: left; - clear: left; - } } \ No newline at end of file diff --git a/dashboard-ui/vulcanize-out.html b/dashboard-ui/vulcanize-out.html index 8e267385d7..7a63133d03 100644 --- a/dashboard-ui/vulcanize-out.html +++ b/dashboard-ui/vulcanize-out.html @@ -11362,6 +11362,7 @@ The `aria-labelledby` attribute will be set to the header element, if one exists /** * Returns the currently focused item. + * @type {?Object} */ focusedItem: { observer: '_focusedItemChanged',