mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
extract jqm controlgroup
This commit is contained in:
parent
03b5e48d4f
commit
0949a50cc1
19 changed files with 341 additions and 403 deletions
|
@ -4,7 +4,7 @@
|
|||
<title>Emby</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="channelItemsPage" data-role="page" class="page libraryPage channelsPage noSecondaryNavPage" data-contextname="${HeaderChannels}" data-require="jqmpanel,scripts/channelitems" data-backbutton="true" data-menubutton="false">
|
||||
<div id="channelItemsPage" data-role="page" class="page libraryPage channelsPage noSecondaryNavPage" data-contextname="${HeaderChannels}" data-require="jqmcontrolgroup,jqmpanel,scripts/channelitems" data-backbutton="true" data-menubutton="false">
|
||||
|
||||
<div data-role="content">
|
||||
<div class="viewSettings">
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<title>Emby</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="episodesPage" data-role="page" class="page libraryPage" data-require="jqmpanel,scripts/episodes,jqmicons">
|
||||
<div id="episodesPage" data-role="page" class="page libraryPage" data-require="jqmcontrolgroup,jqmpanel,scripts/episodes,jqmicons">
|
||||
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="tvrecommended.html"><iron-icon icon="info"></iron-icon>${TabSuggestions}</a>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<title>Emby</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="gameGenresPage" data-role="page" class="page libraryPage listPage" data-require="jqmpanel,scripts/gamegenrepage">
|
||||
<div id="gameGenresPage" data-role="page" class="page libraryPage listPage" data-require="jqmcontrolgroup,jqmpanel,scripts/gamegenrepage">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="gamesrecommended.html">${TabSuggestions}</a>
|
||||
<a href="games.html">${TabGames}</a>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<title>Emby</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="gamesPage" data-role="page" class="page libraryPage listPage" data-require="jqmpanel,jqmcollapsible,scripts/gamespage,scripts/queryfilters">
|
||||
<div id="gamesPage" data-role="page" class="page libraryPage listPage" data-require="jqmcontrolgroup,jqmpanel,jqmcollapsible,scripts/gamespage,scripts/queryfilters">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="gamesrecommended.html">${TabSuggestions}</a>
|
||||
<a href="#" class="ui-btn-active">${TabGames}</a>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<title>Emby</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="gameStudiosPage" data-role="page" class="page libraryPage listPage" data-require="jqmpanel,scripts/gamestudiospage">
|
||||
<div id="gameStudiosPage" data-role="page" class="page libraryPage listPage" data-require="jqmcontrolgroup,jqmpanel,scripts/gamestudiospage">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="gamesrecommended.html">${TabSuggestions}</a>
|
||||
<a href="games.html">${TabGames}</a>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<title></title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="itemListPage" data-role="page" class="page libraryPage folderListPage noSecondaryNavPage" data-require="jqmpanel,scripts/itemlistpage">
|
||||
<div id="itemListPage" data-role="page" class="page libraryPage folderListPage noSecondaryNavPage" data-require="jqmcontrolgroup,jqmpanel,scripts/itemlistpage">
|
||||
<div class="alphabetPicker">
|
||||
</div>
|
||||
<div data-role="content" class="itemListContent">
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<title>Emby</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="liveTvSuggestedPage" data-dom-cache="true" data-role="page" class="page libraryPage liveTvPage pageWithAbsoluteTabs" data-contextname="${HeaderLiveTv}" data-backdroptype="series,movie" data-require="jqmpanel,scripts/livetvsuggested,livetvcss,scripts/livetvcomponents">
|
||||
<div id="liveTvSuggestedPage" data-dom-cache="true" data-role="page" class="page libraryPage liveTvPage pageWithAbsoluteTabs" data-contextname="${HeaderLiveTv}" data-backdroptype="series,movie" data-require="jqmcontrolgroup,jqmpanel,scripts/livetvsuggested,livetvcss,scripts/livetvcomponents">
|
||||
|
||||
<div class="libraryViewNav libraryViewNavWithMinHeight">
|
||||
<paper-tabs hidescrollbuttons>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<title>Emby</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="liveTvSeriesTimerPage" data-role="page" class="page libraryPage liveTvPage noSecondaryNavPage" data-contextname="${HeaderLiveTv}" data-require="jqmcollapsible,scripts/livetvcomponents,scripts/livetvseriestimer,livetvcss,jqmlistview" data-backbutton="true" data-menubutton="false">
|
||||
<div id="liveTvSeriesTimerPage" data-role="page" class="page libraryPage liveTvPage noSecondaryNavPage" data-contextname="${HeaderLiveTv}" data-require="jqmcontrolgroup,jqmcollapsible,scripts/livetvcomponents,scripts/livetvseriestimer,livetvcss,jqmlistview" data-backbutton="true" data-menubutton="false">
|
||||
|
||||
<div data-role="content">
|
||||
<form class="liveTvSeriesTimerForm" style="margin: 0 auto; max-width: 720px;">
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<title>Emby</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="moviesPage" data-role="page" data-dom-cache="true" class="page libraryPage backdropPage pageWithAbsoluteTabs collectionEditorPage" data-backdroptype="movie" data-require="jqmpanel,jqmcollapsible,scripts/moviesrecommended">
|
||||
<div id="moviesPage" data-role="page" data-dom-cache="true" class="page libraryPage backdropPage pageWithAbsoluteTabs collectionEditorPage" data-backdroptype="movie" data-require="jqmcontrolgroup,jqmpanel,jqmcollapsible,scripts/moviesrecommended">
|
||||
|
||||
<div class="libraryViewNav libraryViewNavWithMinHeight">
|
||||
<paper-tabs hidescrollbuttons noink>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<title>Emby</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="musicRecommendedPage" data-dom-cache="true" data-role="page" class="page libraryPage backdropPage pageWithAbsoluteTabs" data-backdroptype="musicartist" data-require="jqmpanel,jqmcollapsible,scripts/musicrecommended">
|
||||
<div id="musicRecommendedPage" data-dom-cache="true" data-role="page" class="page libraryPage backdropPage pageWithAbsoluteTabs" data-backdroptype="musicartist" data-require="jqmcontrolgroup,jqmpanel,jqmcollapsible,scripts/musicrecommended">
|
||||
<div class="libraryViewNav libraryViewNavWithMinHeight">
|
||||
<paper-tabs hidescrollbuttons noink>
|
||||
<paper-tab><iron-icon icon="info"></iron-icon>${TabSuggestions}</paper-tab>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<title>Emby</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="libraryReportManagerPage" data-role="page" class="page libraryPage noSecondaryNavPage reportsPage" data-contextname="${HeaderReports}" data-require="jqmpanel,jqmcollapsible,jqmtable,scripts/reports,detailtablecss,jqmicons">
|
||||
<div id="libraryReportManagerPage" data-role="page" class="page libraryPage noSecondaryNavPage reportsPage" data-contextname="${HeaderReports}" data-require="jqmcontrolgroup,jqmpanel,jqmcollapsible,jqmtable,scripts/reports,detailtablecss,jqmicons">
|
||||
<div data-role="content">
|
||||
<div style="text-align: center;">
|
||||
<div class="viewControls">
|
||||
|
|
|
@ -2111,6 +2111,11 @@ var AppInfo = {};
|
|||
return {};
|
||||
});
|
||||
|
||||
define("jqmcontrolgroup", ["thirdparty/jquerymobile-1.4.5/jqm.controlgroup"], function () {
|
||||
Dashboard.importCss('thirdparty/jquerymobile-1.4.5/jqm.controlgroup.css');
|
||||
return {};
|
||||
});
|
||||
|
||||
define("jqmcollapsible", ["jqmicons", "thirdparty/jquerymobile-1.4.5/jqm.collapsible"], function () {
|
||||
Dashboard.importCss('thirdparty/jquerymobile-1.4.5/jqm.collapsible.css');
|
||||
return {};
|
||||
|
@ -2206,6 +2211,7 @@ var AppInfo = {};
|
|||
depends.push('jqmpopup');
|
||||
depends.push('jqmlistview');
|
||||
depends.push('jqmcollapsible');
|
||||
depends.push('jqmcontrolgroup');
|
||||
}
|
||||
|
||||
require(depends, function () {
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<title>${TitleSync}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="syncJobPage" data-role="page" class="page type-interior syncConfigurationPage syncJobPage" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Sync" data-require="scripts/syncjob">
|
||||
<div id="syncJobPage" data-role="page" class="page type-interior syncConfigurationPage syncJobPage" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Sync" data-require="jqmcontrolgroup,scripts/syncjob">
|
||||
|
||||
<div data-role="content">
|
||||
<div class="content-primary">
|
||||
|
|
138
dashboard-ui/thirdparty/jquerymobile-1.4.5/jqm.controlgroup.css
vendored
Normal file
138
dashboard-ui/thirdparty/jquerymobile-1.4.5/jqm.controlgroup.css
vendored
Normal file
|
@ -0,0 +1,138 @@
|
|||
|
||||
|
||||
|
||||
.ui-controlgroup,
|
||||
fieldset.ui-controlgroup {
|
||||
padding: 0;
|
||||
margin: .5em 0;
|
||||
}
|
||||
.ui-field-contain .ui-controlgroup,
|
||||
.ui-field-contain fieldset.ui-controlgroup {
|
||||
margin: 0;
|
||||
}
|
||||
.ui-mini .ui-controlgroup-label {
|
||||
font-size: 16px;
|
||||
}
|
||||
.ui-controlgroup.ui-mini .ui-btn-icon-notext,
|
||||
.ui-controlgroup .ui-mini.ui-btn-icon-notext {
|
||||
font-size: inherit;
|
||||
}
|
||||
.ui-controlgroup-controls .ui-btn,
|
||||
.ui-controlgroup-controls .ui-checkbox,
|
||||
.ui-controlgroup-controls .ui-radio,
|
||||
.ui-controlgroup-controls .ui-select {
|
||||
margin: 0;
|
||||
}
|
||||
.ui-controlgroup-controls .ui-btn:focus,
|
||||
.ui-controlgroup-controls .ui-btn.ui-focus {
|
||||
z-index: 1;
|
||||
}
|
||||
.ui-controlgroup-controls li {
|
||||
list-style: none;
|
||||
}
|
||||
.ui-controlgroup-horizontal .ui-controlgroup-controls {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.ui-controlgroup-horizontal .ui-controlgroup-controls:before,
|
||||
.ui-controlgroup-horizontal .ui-controlgroup-controls:after {
|
||||
content: "";
|
||||
display: table;
|
||||
}
|
||||
.ui-controlgroup-horizontal .ui-controlgroup-controls:after {
|
||||
clear: both;
|
||||
}
|
||||
.ui-controlgroup-horizontal .ui-controlgroup-controls > .ui-btn,
|
||||
.ui-controlgroup-horizontal .ui-controlgroup-controls li > .ui-btn,
|
||||
.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-checkbox,
|
||||
.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-radio,
|
||||
.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-select {
|
||||
float: left;
|
||||
clear: none;
|
||||
}
|
||||
.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn,
|
||||
.ui-controlgroup-controls .ui-btn-icon-notext {
|
||||
width: auto;
|
||||
}
|
||||
.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn-icon-notext,
|
||||
.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn-icon-notext {
|
||||
width: 1.5em;
|
||||
}
|
||||
.ui-controlgroup-controls .ui-btn-icon-notext {
|
||||
height: auto;
|
||||
padding: .7em 1em;
|
||||
}
|
||||
.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn {
|
||||
border-bottom-width: 0;
|
||||
}
|
||||
.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn.ui-last-child {
|
||||
border-bottom-width: 1px;
|
||||
}
|
||||
.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn {
|
||||
border-right-width: 0;
|
||||
}
|
||||
.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn.ui-last-child {
|
||||
border-right-width: 1px;
|
||||
}
|
||||
.ui-controlgroup-controls .ui-btn-corner-all,
|
||||
.ui-controlgroup-controls .ui-btn.ui-corner-all {
|
||||
-webkit-border-radius: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
.ui-controlgroup-controls,
|
||||
.ui-controlgroup-controls .ui-radio,
|
||||
.ui-controlgroup-controls .ui-checkbox,
|
||||
.ui-controlgroup-controls .ui-select,
|
||||
.ui-controlgroup-controls li {
|
||||
-webkit-border-radius: inherit;
|
||||
border-radius: inherit;
|
||||
}
|
||||
.ui-controlgroup-vertical .ui-btn.ui-first-child {
|
||||
-webkit-border-top-left-radius: inherit;
|
||||
border-top-left-radius: inherit;
|
||||
-webkit-border-top-right-radius: inherit;
|
||||
border-top-right-radius: inherit;
|
||||
}
|
||||
.ui-controlgroup-vertical .ui-btn.ui-last-child {
|
||||
-webkit-border-bottom-left-radius: inherit;
|
||||
border-bottom-left-radius: inherit;
|
||||
-webkit-border-bottom-right-radius: inherit;
|
||||
border-bottom-right-radius: inherit;
|
||||
}
|
||||
.ui-controlgroup-horizontal .ui-btn.ui-first-child {
|
||||
-webkit-border-top-left-radius: inherit;
|
||||
border-top-left-radius: inherit;
|
||||
-webkit-border-bottom-left-radius: inherit;
|
||||
border-bottom-left-radius: inherit;
|
||||
}
|
||||
.ui-controlgroup-horizontal .ui-btn.ui-last-child {
|
||||
-webkit-border-top-right-radius: inherit;
|
||||
border-top-right-radius: inherit;
|
||||
-webkit-border-bottom-right-radius: inherit;
|
||||
border-bottom-right-radius: inherit;
|
||||
}
|
||||
.ui-controlgroup-controls a.ui-shadow:not(:focus),
|
||||
.ui-controlgroup-controls button.ui-shadow:not(:focus),
|
||||
.ui-controlgroup-controls div.ui-shadow:not(.ui-focus) {
|
||||
-moz-box-shadow: none;
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
/* Fixes legend not wrapping on IE10 */
|
||||
.ui-controlgroup-label legend {
|
||||
max-width: 100%;
|
||||
}
|
||||
.ui-controlgroup-controls > label {
|
||||
position: absolute !important;
|
||||
height: 1px;
|
||||
width: 1px;
|
||||
overflow: hidden;
|
||||
clip: rect(1px,1px,1px,1px);
|
||||
}
|
||||
|
||||
.ui-textinput-autogrow-resize {
|
||||
-webkit-transition: height 0.25s;
|
||||
-o-transition: height 0.25s;
|
||||
-moz-transition: height 0.25s;
|
||||
transition: height 0.25s;
|
||||
}
|
174
dashboard-ui/thirdparty/jquerymobile-1.4.5/jqm.controlgroup.js
vendored
Normal file
174
dashboard-ui/thirdparty/jquerymobile-1.4.5/jqm.controlgroup.js
vendored
Normal file
|
@ -0,0 +1,174 @@
|
|||
(function ($, undefined) {
|
||||
|
||||
$.widget("mobile.controlgroup", $.extend({
|
||||
options: {
|
||||
enhanced: false,
|
||||
theme: null,
|
||||
shadow: false,
|
||||
corners: true,
|
||||
excludeInvisible: true,
|
||||
type: "vertical",
|
||||
mini: false
|
||||
},
|
||||
|
||||
_create: function () {
|
||||
var elem = this.element,
|
||||
opts = this.options,
|
||||
keepNative = $.mobile.page.prototype.keepNativeSelector();
|
||||
|
||||
// Run buttonmarkup
|
||||
if ($.fn.buttonMarkup) {
|
||||
this.element
|
||||
.find($.fn.buttonMarkup.initSelector)
|
||||
.not(keepNative)
|
||||
.buttonMarkup();
|
||||
}
|
||||
// Enhance child widgets
|
||||
$.each(this._childWidgets, $.proxy(function (number, widgetName) {
|
||||
if ($.mobile[widgetName]) {
|
||||
this.element
|
||||
.find($.mobile[widgetName].initSelector)
|
||||
.not(keepNative)[widgetName]();
|
||||
}
|
||||
}, this));
|
||||
|
||||
$.extend(this, {
|
||||
_ui: null,
|
||||
_initialRefresh: true
|
||||
});
|
||||
|
||||
if (opts.enhanced) {
|
||||
this._ui = {
|
||||
groupLegend: elem.children(".ui-controlgroup-label").children(),
|
||||
childWrapper: elem.children(".ui-controlgroup-controls")
|
||||
};
|
||||
} else {
|
||||
this._ui = this._enhance();
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
_childWidgets: ["checkboxradio", "selectmenu", "button"],
|
||||
|
||||
_themeClassFromOption: function (value) {
|
||||
return (value ? (value === "none" ? "" : "ui-group-theme-" + value) : "");
|
||||
},
|
||||
|
||||
_enhance: function () {
|
||||
var elem = this.element,
|
||||
opts = this.options,
|
||||
ui = {
|
||||
groupLegend: elem.children("legend"),
|
||||
childWrapper: elem
|
||||
.addClass("ui-controlgroup " +
|
||||
"ui-controlgroup-" +
|
||||
(opts.type === "horizontal" ? "horizontal" : "vertical") + " " +
|
||||
this._themeClassFromOption(opts.theme) + " " +
|
||||
(opts.corners ? "ui-corner-all " : "") +
|
||||
(opts.mini ? "ui-mini " : ""))
|
||||
.wrapInner("<div " +
|
||||
"class='ui-controlgroup-controls " +
|
||||
(opts.shadow === true ? "ui-shadow" : "") + "'></div>")
|
||||
.children()
|
||||
};
|
||||
|
||||
if (ui.groupLegend.length > 0) {
|
||||
$("<div role='heading' class='ui-controlgroup-label'></div>")
|
||||
.append(ui.groupLegend)
|
||||
.prependTo(elem);
|
||||
}
|
||||
|
||||
return ui;
|
||||
},
|
||||
|
||||
_init: function () {
|
||||
this.refresh();
|
||||
},
|
||||
|
||||
_setOptions: function (options) {
|
||||
var callRefresh, returnValue,
|
||||
elem = this.element;
|
||||
|
||||
// Must have one of horizontal or vertical
|
||||
if (options.type !== undefined) {
|
||||
elem
|
||||
.removeClass("ui-controlgroup-horizontal ui-controlgroup-vertical")
|
||||
.addClass("ui-controlgroup-" + (options.type === "horizontal" ? "horizontal" : "vertical"));
|
||||
callRefresh = true;
|
||||
}
|
||||
|
||||
if (options.theme !== undefined) {
|
||||
elem
|
||||
.removeClass(this._themeClassFromOption(this.options.theme))
|
||||
.addClass(this._themeClassFromOption(options.theme));
|
||||
}
|
||||
|
||||
if (options.corners !== undefined) {
|
||||
elem.toggleClass("ui-corner-all", options.corners);
|
||||
}
|
||||
|
||||
if (options.mini !== undefined) {
|
||||
elem.toggleClass("ui-mini", options.mini);
|
||||
}
|
||||
|
||||
if (options.shadow !== undefined) {
|
||||
this._ui.childWrapper.toggleClass("ui-shadow", options.shadow);
|
||||
}
|
||||
|
||||
if (options.excludeInvisible !== undefined) {
|
||||
this.options.excludeInvisible = options.excludeInvisible;
|
||||
callRefresh = true;
|
||||
}
|
||||
|
||||
returnValue = this._super(options);
|
||||
|
||||
if (callRefresh) {
|
||||
this.refresh();
|
||||
}
|
||||
|
||||
return returnValue;
|
||||
},
|
||||
|
||||
container: function () {
|
||||
return this._ui.childWrapper;
|
||||
},
|
||||
|
||||
refresh: function () {
|
||||
var $el = this.container(),
|
||||
els = $el.find(".ui-btn").not(".ui-slider-handle"),
|
||||
create = this._initialRefresh;
|
||||
if ($.mobile.checkboxradio) {
|
||||
$el.find(":mobile-checkboxradio").checkboxradio("refresh");
|
||||
}
|
||||
this._addFirstLastClasses(els,
|
||||
this.options.excludeInvisible ? this._getVisibles(els, create) : els,
|
||||
create);
|
||||
this._initialRefresh = false;
|
||||
},
|
||||
|
||||
// Caveat: If the legend is not the first child of the controlgroup at enhance
|
||||
// time, it will be after _destroy().
|
||||
_destroy: function () {
|
||||
var ui, buttons,
|
||||
opts = this.options;
|
||||
|
||||
if (opts.enhanced) {
|
||||
return this;
|
||||
}
|
||||
|
||||
ui = this._ui;
|
||||
buttons = this.element
|
||||
.removeClass("ui-controlgroup " +
|
||||
"ui-controlgroup-horizontal ui-controlgroup-vertical ui-corner-all ui-mini " +
|
||||
this._themeClassFromOption(opts.theme))
|
||||
.find(".ui-btn")
|
||||
.not(".ui-slider-handle");
|
||||
|
||||
this._removeFirstLastClasses(buttons);
|
||||
|
||||
ui.groupLegend.unwrap();
|
||||
ui.childWrapper.children().unwrap();
|
||||
}
|
||||
}, $.mobile.behaviors.addFirstLastClasses));
|
||||
|
||||
})(jQuery);
|
|
@ -4071,6 +4071,7 @@ $.fn.fieldcontain = function(/* options */) {
|
|||
dependencies.push('jqmpopup');
|
||||
dependencies.push('jqmlistview');
|
||||
dependencies.push('jqmcollapsible');
|
||||
dependencies.push('jqmcontrolgroup');
|
||||
}
|
||||
|
||||
var currentSelf = this;
|
||||
|
@ -5082,181 +5083,6 @@ $.mobile.behaviors.addFirstLastClasses = {
|
|||
|
||||
(function( $, undefined ) {
|
||||
|
||||
$.widget( "mobile.controlgroup", $.extend( {
|
||||
options: {
|
||||
enhanced: false,
|
||||
theme: null,
|
||||
shadow: false,
|
||||
corners: true,
|
||||
excludeInvisible: true,
|
||||
type: "vertical",
|
||||
mini: false
|
||||
},
|
||||
|
||||
_create: function() {
|
||||
var elem = this.element,
|
||||
opts = this.options,
|
||||
keepNative = $.mobile.page.prototype.keepNativeSelector();
|
||||
|
||||
// Run buttonmarkup
|
||||
if ( $.fn.buttonMarkup ) {
|
||||
this.element
|
||||
.find( $.fn.buttonMarkup.initSelector )
|
||||
.not( keepNative )
|
||||
.buttonMarkup();
|
||||
}
|
||||
// Enhance child widgets
|
||||
$.each( this._childWidgets, $.proxy( function( number, widgetName ) {
|
||||
if ( $.mobile[ widgetName ] ) {
|
||||
this.element
|
||||
.find( $.mobile[ widgetName ].initSelector )
|
||||
.not( keepNative )[ widgetName ]();
|
||||
}
|
||||
}, this ));
|
||||
|
||||
$.extend( this, {
|
||||
_ui: null,
|
||||
_initialRefresh: true
|
||||
});
|
||||
|
||||
if ( opts.enhanced ) {
|
||||
this._ui = {
|
||||
groupLegend: elem.children( ".ui-controlgroup-label" ).children(),
|
||||
childWrapper: elem.children( ".ui-controlgroup-controls" )
|
||||
};
|
||||
} else {
|
||||
this._ui = this._enhance();
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
_childWidgets: [ "checkboxradio", "selectmenu", "button" ],
|
||||
|
||||
_themeClassFromOption: function( value ) {
|
||||
return ( value ? ( value === "none" ? "" : "ui-group-theme-" + value ) : "" );
|
||||
},
|
||||
|
||||
_enhance: function() {
|
||||
var elem = this.element,
|
||||
opts = this.options,
|
||||
ui = {
|
||||
groupLegend: elem.children( "legend" ),
|
||||
childWrapper: elem
|
||||
.addClass( "ui-controlgroup " +
|
||||
"ui-controlgroup-" +
|
||||
( opts.type === "horizontal" ? "horizontal" : "vertical" ) + " " +
|
||||
this._themeClassFromOption( opts.theme ) + " " +
|
||||
( opts.corners ? "ui-corner-all " : "" ) +
|
||||
( opts.mini ? "ui-mini " : "" ) )
|
||||
.wrapInner( "<div " +
|
||||
"class='ui-controlgroup-controls " +
|
||||
( opts.shadow === true ? "ui-shadow" : "" ) + "'></div>" )
|
||||
.children()
|
||||
};
|
||||
|
||||
if ( ui.groupLegend.length > 0 ) {
|
||||
$( "<div role='heading' class='ui-controlgroup-label'></div>" )
|
||||
.append( ui.groupLegend )
|
||||
.prependTo( elem );
|
||||
}
|
||||
|
||||
return ui;
|
||||
},
|
||||
|
||||
_init: function() {
|
||||
this.refresh();
|
||||
},
|
||||
|
||||
_setOptions: function( options ) {
|
||||
var callRefresh, returnValue,
|
||||
elem = this.element;
|
||||
|
||||
// Must have one of horizontal or vertical
|
||||
if ( options.type !== undefined ) {
|
||||
elem
|
||||
.removeClass( "ui-controlgroup-horizontal ui-controlgroup-vertical" )
|
||||
.addClass( "ui-controlgroup-" + ( options.type === "horizontal" ? "horizontal" : "vertical" ) );
|
||||
callRefresh = true;
|
||||
}
|
||||
|
||||
if ( options.theme !== undefined ) {
|
||||
elem
|
||||
.removeClass( this._themeClassFromOption( this.options.theme ) )
|
||||
.addClass( this._themeClassFromOption( options.theme ) );
|
||||
}
|
||||
|
||||
if ( options.corners !== undefined ) {
|
||||
elem.toggleClass( "ui-corner-all", options.corners );
|
||||
}
|
||||
|
||||
if ( options.mini !== undefined ) {
|
||||
elem.toggleClass( "ui-mini", options.mini );
|
||||
}
|
||||
|
||||
if ( options.shadow !== undefined ) {
|
||||
this._ui.childWrapper.toggleClass( "ui-shadow", options.shadow );
|
||||
}
|
||||
|
||||
if ( options.excludeInvisible !== undefined ) {
|
||||
this.options.excludeInvisible = options.excludeInvisible;
|
||||
callRefresh = true;
|
||||
}
|
||||
|
||||
returnValue = this._super( options );
|
||||
|
||||
if ( callRefresh ) {
|
||||
this.refresh();
|
||||
}
|
||||
|
||||
return returnValue;
|
||||
},
|
||||
|
||||
container: function() {
|
||||
return this._ui.childWrapper;
|
||||
},
|
||||
|
||||
refresh: function() {
|
||||
var $el = this.container(),
|
||||
els = $el.find( ".ui-btn" ).not( ".ui-slider-handle" ),
|
||||
create = this._initialRefresh;
|
||||
if ( $.mobile.checkboxradio ) {
|
||||
$el.find( ":mobile-checkboxradio" ).checkboxradio( "refresh" );
|
||||
}
|
||||
this._addFirstLastClasses( els,
|
||||
this.options.excludeInvisible ? this._getVisibles( els, create ) : els,
|
||||
create );
|
||||
this._initialRefresh = false;
|
||||
},
|
||||
|
||||
// Caveat: If the legend is not the first child of the controlgroup at enhance
|
||||
// time, it will be after _destroy().
|
||||
_destroy: function() {
|
||||
var ui, buttons,
|
||||
opts = this.options;
|
||||
|
||||
if ( opts.enhanced ) {
|
||||
return this;
|
||||
}
|
||||
|
||||
ui = this._ui;
|
||||
buttons = this.element
|
||||
.removeClass( "ui-controlgroup " +
|
||||
"ui-controlgroup-horizontal ui-controlgroup-vertical ui-corner-all ui-mini " +
|
||||
this._themeClassFromOption( opts.theme ) )
|
||||
.find( ".ui-btn" )
|
||||
.not( ".ui-slider-handle" );
|
||||
|
||||
this._removeFirstLastClasses( buttons );
|
||||
|
||||
ui.groupLegend.unwrap();
|
||||
ui.childWrapper.children().unwrap();
|
||||
}
|
||||
}, $.mobile.behaviors.addFirstLastClasses ) );
|
||||
|
||||
})(jQuery);
|
||||
|
||||
(function( $, undefined ) {
|
||||
|
||||
$.mobile.behaviors.formReset = {
|
||||
_handleFormReset: function() {
|
||||
this._on( this.element.closest( "form" ), {
|
||||
|
|
|
@ -101,32 +101,6 @@ div.ui-mobile-viewport {
|
|||
font-size: 1em;
|
||||
display: inline-block;
|
||||
}
|
||||
.ui-header,
|
||||
.ui-footer {
|
||||
border-width: 1px 0;
|
||||
border-style: solid;
|
||||
position: relative;
|
||||
}
|
||||
.ui-header:empty,
|
||||
.ui-footer:empty {
|
||||
min-height: 2.6875em;
|
||||
}
|
||||
.ui-header .ui-title,
|
||||
.ui-footer .ui-title {
|
||||
font-size: 1em;
|
||||
min-height: 1.1em;
|
||||
text-align: center;
|
||||
display: block;
|
||||
margin: 0 30%;
|
||||
padding: .7em 0;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
outline: 0 !important;
|
||||
}
|
||||
.ui-footer .ui-title {
|
||||
margin: 0 1em;
|
||||
}
|
||||
.ui-content {
|
||||
border-width: 0;
|
||||
overflow: visible;
|
||||
|
@ -134,17 +108,13 @@ div.ui-mobile-viewport {
|
|||
padding: 1em;
|
||||
}
|
||||
/* Corner styling for dialogs and popups */
|
||||
.ui-corner-all > .ui-header:first-child,
|
||||
.ui-corner-all > .ui-content:first-child,
|
||||
.ui-corner-all > .ui-footer:first-child {
|
||||
.ui-corner-all > .ui-content:first-child {
|
||||
-webkit-border-top-left-radius: inherit;
|
||||
border-top-left-radius: inherit;
|
||||
-webkit-border-top-right-radius: inherit;
|
||||
border-top-right-radius: inherit;
|
||||
}
|
||||
.ui-corner-all > .ui-header:last-child,
|
||||
.ui-corner-all > .ui-content:last-child,
|
||||
.ui-corner-all > .ui-footer:last-child {
|
||||
.ui-corner-all > .ui-content:last-child {
|
||||
-webkit-border-bottom-left-radius: inherit;
|
||||
border-bottom-left-radius: inherit;
|
||||
-webkit-border-bottom-right-radius: inherit;
|
||||
|
@ -168,9 +138,7 @@ div.ui-mobile-viewport {
|
|||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
.ui-btn-icon-notext,
|
||||
.ui-header button.ui-btn.ui-btn-icon-notext,
|
||||
.ui-footer button.ui-btn.ui-btn-icon-notext {
|
||||
.ui-btn-icon-notext {
|
||||
padding: 0;
|
||||
width: 1.75em;
|
||||
height: 1.75em;
|
||||
|
@ -183,27 +151,8 @@ div.ui-mobile-viewport {
|
|||
.ui-mini .ui-btn {
|
||||
font-size: inherit;
|
||||
}
|
||||
/* Make buttons in toolbars default to mini and inline. */
|
||||
.ui-header .ui-btn,
|
||||
.ui-footer .ui-btn {
|
||||
font-size: 12.5px;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.ui-header .ui-controlgroup .ui-btn-icon-notext,
|
||||
.ui-footer .ui-controlgroup .ui-btn-icon-notext {
|
||||
font-size: 12.5px;
|
||||
}
|
||||
|
||||
/* To ensure same top and left/right position when ui-btn-left/right are added to something other than buttons. */
|
||||
.ui-header .ui-btn-left,
|
||||
.ui-header .ui-btn-right {
|
||||
font-size: 12.5px;
|
||||
}
|
||||
.ui-mini.ui-btn-icon-notext,
|
||||
.ui-mini .ui-btn-icon-notext,
|
||||
.ui-header .ui-btn-icon-notext,
|
||||
.ui-footer .ui-btn-icon-notext {
|
||||
.ui-mini .ui-btn-icon-notext {
|
||||
font-size: 16px;
|
||||
padding: 0;
|
||||
}
|
||||
|
@ -224,13 +173,6 @@ div.ui-mobile-viewport {
|
|||
.ui-btn-icon-bottom {
|
||||
padding-bottom: 2.5em;
|
||||
}
|
||||
.ui-header .ui-btn-icon-top,
|
||||
.ui-footer .ui-btn-icon-top,
|
||||
.ui-header .ui-btn-icon-bottom,
|
||||
.ui-footer .ui-btn-icon-bottom {
|
||||
padding-left: .3125em;
|
||||
padding-right: .3125em;
|
||||
}
|
||||
.ui-btn-icon-left:after,
|
||||
.ui-btn-icon-right:after,
|
||||
.ui-btn-icon-top:after,
|
||||
|
@ -255,15 +197,11 @@ div.ui-mobile-viewport {
|
|||
right: .5625em;
|
||||
}
|
||||
.ui-mini.ui-btn-icon-left:after,
|
||||
.ui-mini .ui-btn-icon-left:after,
|
||||
.ui-header .ui-btn-icon-left:after,
|
||||
.ui-footer .ui-btn-icon-left:after {
|
||||
.ui-mini .ui-btn-icon-left:after {
|
||||
left: .37em;
|
||||
}
|
||||
.ui-mini.ui-btn-icon-right:after,
|
||||
.ui-mini .ui-btn-icon-right:after,
|
||||
.ui-header .ui-btn-icon-right:after,
|
||||
.ui-footer .ui-btn-icon-right:after {
|
||||
.ui-mini .ui-btn-icon-right:after {
|
||||
right: .37em;
|
||||
}
|
||||
.ui-btn-icon-notext:after,
|
||||
|
@ -280,8 +218,6 @@ div.ui-mobile-viewport {
|
|||
bottom: .5625em;
|
||||
}
|
||||
/* Buttons in header position classes */
|
||||
.ui-header .ui-btn-left,
|
||||
.ui-header .ui-btn-right,
|
||||
.ui-btn-left > [class*="ui-"],
|
||||
.ui-btn-right > [class*="ui-"] {
|
||||
margin: 0;
|
||||
|
@ -316,9 +252,7 @@ button.ui-btn,
|
|||
-moz-appearance: none;
|
||||
width: 100%;
|
||||
}
|
||||
button.ui-btn-inline,
|
||||
.ui-header button.ui-btn,
|
||||
.ui-footer button.ui-btn {
|
||||
button.ui-btn-inline {
|
||||
width: auto;
|
||||
}
|
||||
/* Firefox adds a 1px border in a button element. We negate this to make sure they have the same height as other buttons in controlgroups. */
|
||||
|
@ -480,9 +414,7 @@ li.ui-block-e {
|
|||
[class*="ui-block-"] > .ui-checkbox,
|
||||
[class*="ui-block-"] > .ui-radio,
|
||||
[class*="ui-block-"] > button.ui-btn-inline,
|
||||
[class*="ui-block-"] > button.ui-btn-icon-notext,
|
||||
.ui-header [class*="ui-block-"] > button.ui-btn,
|
||||
.ui-footer [class*="ui-block-"] > button.ui-btn {
|
||||
[class*="ui-block-"] > button.ui-btn-icon-notext {
|
||||
margin-right: .3125em;
|
||||
margin-left: .3125em;
|
||||
}
|
||||
|
@ -612,144 +544,6 @@ li.ui-block-e {
|
|||
animation-name: fadein;
|
||||
}
|
||||
|
||||
|
||||
.ui-controlgroup,
|
||||
fieldset.ui-controlgroup {
|
||||
padding: 0;
|
||||
margin: .5em 0;
|
||||
}
|
||||
.ui-field-contain .ui-controlgroup,
|
||||
.ui-field-contain fieldset.ui-controlgroup {
|
||||
margin: 0;
|
||||
}
|
||||
.ui-mini .ui-controlgroup-label {
|
||||
font-size: 16px;
|
||||
}
|
||||
.ui-controlgroup.ui-mini .ui-btn-icon-notext,
|
||||
.ui-controlgroup .ui-mini.ui-btn-icon-notext {
|
||||
font-size: inherit;
|
||||
}
|
||||
.ui-controlgroup-controls .ui-btn,
|
||||
.ui-controlgroup-controls .ui-checkbox,
|
||||
.ui-controlgroup-controls .ui-radio,
|
||||
.ui-controlgroup-controls .ui-select {
|
||||
margin: 0;
|
||||
}
|
||||
.ui-controlgroup-controls .ui-btn:focus,
|
||||
.ui-controlgroup-controls .ui-btn.ui-focus {
|
||||
z-index: 1;
|
||||
}
|
||||
.ui-controlgroup-controls li {
|
||||
list-style: none;
|
||||
}
|
||||
.ui-controlgroup-horizontal .ui-controlgroup-controls {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.ui-controlgroup-horizontal .ui-controlgroup-controls:before,
|
||||
.ui-controlgroup-horizontal .ui-controlgroup-controls:after {
|
||||
content: "";
|
||||
display: table;
|
||||
}
|
||||
.ui-controlgroup-horizontal .ui-controlgroup-controls:after {
|
||||
clear: both;
|
||||
}
|
||||
.ui-controlgroup-horizontal .ui-controlgroup-controls > .ui-btn,
|
||||
.ui-controlgroup-horizontal .ui-controlgroup-controls li > .ui-btn,
|
||||
.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-checkbox,
|
||||
.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-radio,
|
||||
.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-select {
|
||||
float: left;
|
||||
clear: none;
|
||||
}
|
||||
.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn,
|
||||
.ui-controlgroup-controls .ui-btn-icon-notext {
|
||||
width: auto;
|
||||
}
|
||||
.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn-icon-notext,
|
||||
.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn-icon-notext {
|
||||
width: 1.5em;
|
||||
}
|
||||
.ui-controlgroup-controls .ui-btn-icon-notext {
|
||||
height: auto;
|
||||
padding: .7em 1em;
|
||||
}
|
||||
.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn {
|
||||
border-bottom-width: 0;
|
||||
}
|
||||
.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn.ui-last-child {
|
||||
border-bottom-width: 1px;
|
||||
}
|
||||
.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn {
|
||||
border-right-width: 0;
|
||||
}
|
||||
.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn.ui-last-child {
|
||||
border-right-width: 1px;
|
||||
}
|
||||
.ui-controlgroup-controls .ui-btn-corner-all,
|
||||
.ui-controlgroup-controls .ui-btn.ui-corner-all {
|
||||
-webkit-border-radius: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
.ui-controlgroup-controls,
|
||||
.ui-controlgroup-controls .ui-radio,
|
||||
.ui-controlgroup-controls .ui-checkbox,
|
||||
.ui-controlgroup-controls .ui-select,
|
||||
.ui-controlgroup-controls li {
|
||||
-webkit-border-radius: inherit;
|
||||
border-radius: inherit;
|
||||
}
|
||||
.ui-controlgroup-vertical .ui-btn.ui-first-child {
|
||||
-webkit-border-top-left-radius: inherit;
|
||||
border-top-left-radius: inherit;
|
||||
-webkit-border-top-right-radius: inherit;
|
||||
border-top-right-radius: inherit;
|
||||
}
|
||||
.ui-controlgroup-vertical .ui-btn.ui-last-child {
|
||||
-webkit-border-bottom-left-radius: inherit;
|
||||
border-bottom-left-radius: inherit;
|
||||
-webkit-border-bottom-right-radius: inherit;
|
||||
border-bottom-right-radius: inherit;
|
||||
}
|
||||
.ui-controlgroup-horizontal .ui-btn.ui-first-child {
|
||||
-webkit-border-top-left-radius: inherit;
|
||||
border-top-left-radius: inherit;
|
||||
-webkit-border-bottom-left-radius: inherit;
|
||||
border-bottom-left-radius: inherit;
|
||||
}
|
||||
.ui-controlgroup-horizontal .ui-btn.ui-last-child {
|
||||
-webkit-border-top-right-radius: inherit;
|
||||
border-top-right-radius: inherit;
|
||||
-webkit-border-bottom-right-radius: inherit;
|
||||
border-bottom-right-radius: inherit;
|
||||
}
|
||||
.ui-controlgroup-controls a.ui-shadow:not(:focus),
|
||||
.ui-controlgroup-controls button.ui-shadow:not(:focus),
|
||||
.ui-controlgroup-controls div.ui-shadow:not(.ui-focus) {
|
||||
-moz-box-shadow: none;
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
/* Fixes legend not wrapping on IE10 */
|
||||
.ui-controlgroup-label legend {
|
||||
max-width: 100%;
|
||||
}
|
||||
.ui-controlgroup-controls > label {
|
||||
position: absolute !important;
|
||||
height: 1px;
|
||||
width: 1px;
|
||||
overflow: hidden;
|
||||
clip: rect(1px,1px,1px,1px);
|
||||
}
|
||||
|
||||
.ui-textinput-autogrow-resize {
|
||||
-webkit-transition: height 0.25s;
|
||||
-o-transition: height 0.25s;
|
||||
-moz-transition: height 0.25s;
|
||||
transition: height 0.25s;
|
||||
}
|
||||
|
||||
|
||||
/* Hide the native input element */
|
||||
.ui-input-btn input {
|
||||
position: absolute;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<title>Emby</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="tvPeoplePage" data-role="page" class="page libraryPage" data-require="jqmpanel,scripts/tvpeople">
|
||||
<div id="tvPeoplePage" data-role="page" class="page libraryPage" data-require="jqmcontrolgroup,jqmpanel,scripts/tvpeople">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="tvrecommended.html"><iron-icon icon="info"></iron-icon>${TabSuggestions}</a>
|
||||
<a href="tvlatest.html"><iron-icon icon="new-releases"></iron-icon>${TabLatest}</a>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<title>Emby</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="tvShowsPage" data-role="page" class="page libraryPage" data-require="jqmpanel,jqmcollapsible,scripts/tvshows,scripts/queryfilters">
|
||||
<div id="tvShowsPage" data-role="page" class="page libraryPage" data-require="jqmcontrolgroup,jqmpanel,jqmcollapsible,scripts/tvshows,scripts/queryfilters">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="tvrecommended.html"><iron-icon icon="info"></iron-icon>${TabSuggestions}</a>
|
||||
<a href="tvlatest.html"><iron-icon icon="new-releases"></iron-icon>${TabLatest}</a>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue