mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update jqm
This commit is contained in:
parent
6b21f2fbd0
commit
8996ae4eab
39 changed files with 1162 additions and 686 deletions
|
@ -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"
|
||||
}
|
1
dashboard-ui/bower_components/iron-collapse/.gitignore
vendored
Normal file
1
dashboard-ui/bower_components/iron-collapse/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
bower_components
|
31
dashboard-ui/bower_components/iron-collapse/bower.json
vendored
Normal file
31
dashboard-ui/bower_components/iron-collapse/bower.json
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
"name": "iron-collapse",
|
||||
"version": "1.0.3",
|
||||
"description": "Provides a collapsable container",
|
||||
"authors": [
|
||||
"The Polymer Authors"
|
||||
],
|
||||
"keywords": [
|
||||
"web-components",
|
||||
"polymer",
|
||||
"container"
|
||||
],
|
||||
"private": true,
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/PolymerElements/iron-collapse"
|
||||
},
|
||||
"license": "http://polymer.github.io/LICENSE.txt",
|
||||
"homepage": "https://github.com/PolymerElements/iron-collapse",
|
||||
"ignore": [],
|
||||
"dependencies": {
|
||||
"polymer": "Polymer/polymer#^1.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"web-component-tester": "*",
|
||||
"test-fixture": "PolymerElements/test-fixture#^1.0.0",
|
||||
"iron-component-page": "PolymerElements/iron-component-page#^1.0.0",
|
||||
"paper-styles": "PolymerElements/paper-styles#^1.0.0",
|
||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||
}
|
||||
}
|
74
dashboard-ui/bower_components/iron-collapse/demo/index.html
vendored
Normal file
74
dashboard-ui/bower_components/iron-collapse/demo/index.html
vendored
Normal file
|
@ -0,0 +1,74 @@
|
|||
<!doctype html>
|
||||
<!--
|
||||
@license
|
||||
Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
|
||||
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
|
||||
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
|
||||
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
|
||||
Code distributed by Google as part of the polymer project is also
|
||||
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
||||
-->
|
||||
|
||||
<html>
|
||||
<head>
|
||||
|
||||
<title>iron-collapse demo</title>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
<script src="../../webcomponentsjs/webcomponents-lite.js"></script>
|
||||
<link rel="import" href="../iron-collapse.html">
|
||||
<link rel="stylesheet" href="../../paper-styles/demo.css">
|
||||
|
||||
<style>
|
||||
.heading {
|
||||
padding: 10px 15px;
|
||||
margin-top: 20px;
|
||||
background-color: #f3f3f3;
|
||||
border: 1px solid #dedede;
|
||||
border-top-left-radius: 5px;
|
||||
border-top-right-radius: 5px;
|
||||
font-size: 18px;
|
||||
cursor: pointer;
|
||||
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding: 15px;
|
||||
border: 1px solid #dedede;
|
||||
border-top: none;
|
||||
border-bottom-left-radius: 5px;
|
||||
border-bottom-right-radius: 5px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
</head>
|
||||
<body unresolved>
|
||||
|
||||
<button class="heading" onclick="document.querySelector('#collapse1').toggle();">Collapse #1</button>
|
||||
<iron-collapse id="collapse1">
|
||||
<div class="content">
|
||||
<div>Lorem ipsum dolor sit amet, per in nusquam nominavi periculis, sit elit oportere ea, id minim maiestatis incorrupte duo. Dolorum verterem ad ius, his et nullam verterem. Eu alia debet usu, an doming tritani est. Vix ad ponderum petentium suavitate, eum eu tempor populo, graece sententiae constituam vim ex. Cu torquatos reprimique neglegentur nec, voluptua periculis has ut, at eos discere deleniti sensibus. Lorem ipsum dolor sit amet, per in nusquam nominavi periculis, sit elit oportere ea, id minim maiestatis incorrupte duo. Dolorum verterem ad ius, his et nullam verterem. Eu alia debet usu, an doming tritani est. Vix ad ponderum petentium suavitate, eum eu tempor populo, graece sententiae constituam vim ex. Cu torquatos reprimique neglegentur nec, voluptua periculis has ut, at eos discere deleniti sensibus.</div>
|
||||
</div>
|
||||
</iron-collapse>
|
||||
|
||||
<button class="heading" onclick="document.querySelector('#collapse2').toggle();">Collapse #2</button>
|
||||
<iron-collapse id="collapse2">
|
||||
<div class="content">
|
||||
<div>Pro saepe pertinax ei, ad pri animal labores suscipiantur. Modus commodo minimum eum te, vero utinam assueverit per eu, zril oportere suscipiantur pri te. Partem percipitur deterruisset ad sea, at eam suas luptatum dissentiunt. No error alienum pro, erant senserit ex mei, pri semper alterum no. Ut habemus menandri vulputate mea. Feugiat verterem ut sed. Dolores maiestatis id per. Pro saepe pertinax ei, ad pri animal labores suscipiantur. Modus commodo minimum eum te, vero utinam assueverit per eu, zril oportere suscipiantur pri te. Partem percipitur deterruisset ad sea, at eam suas luptatum dissentiunt. No error alienum pro, erant senserit ex mei, pri semper alterum no. Ut habemus menandri vulputate mea. Feugiat verterem ut sed. Dolores maiestatis id per.</div>
|
||||
|
||||
<button class="heading" onclick="document.querySelector('#collapse3').toggle();">Collapse #3</button>
|
||||
<iron-collapse id="collapse3">
|
||||
<div class="content">
|
||||
<div>Iisque perfecto dissentiet cum et, sit ut quot mandamus, ut vim tibique splendide instructior. Id nam odio natum malorum, tibique copiosae expetenda mel ea. Mea melius malorum ut. Ut nec tollit vocent timeam. Facer nonumy numquam id his, munere salutatus consequuntur eum et, eum cotidieque definitionem signiferumque id. Ei oblique graecis patrioque vis, et probatus dignissim inciderint vel. Sed id paulo erroribus, autem semper accusamus in mel. Iisque perfecto dissentiet cum et, sit ut quot mandamus, ut vim tibique splendide instructior. Id nam odio natum malorum, tibique copiosae expetenda mel ea. Mea melius malorum ut. Ut nec tollit vocent timeam. Facer nonumy numquam id his, munere salutatus consequuntur eum et, eum cotidieque definitionem signiferumque id. Ei oblique graecis patrioque vis, et probatus dignissim inciderint vel. Sed id paulo erroribus, autem semper accusamus in mel.</div>
|
||||
</div>
|
||||
</iron-collapse>
|
||||
</div>
|
||||
</iron-collapse>
|
||||
|
||||
</body>
|
||||
</html>
|
23
dashboard-ui/bower_components/iron-collapse/hero.svg
vendored
Normal file
23
dashboard-ui/bower_components/iron-collapse/hero.svg
vendored
Normal file
|
@ -0,0 +1,23 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 225 126" enable-background="new 0 0 225 126" xml:space="preserve">
|
||||
<g id="background" display="none">
|
||||
<rect display="inline" fill="#B0BEC5" width="225" height="126"/>
|
||||
<path display="inline" fill="none" d="M167.5,51.7c3.7-0.8,6.9,2.4,6.1,6.1c-0.4,1.9-1.9,3.4-3.8,3.8c-3.7,0.8-6.9-2.4-6.1-6.1
|
||||
C164.2,53.6,165.7,52.1,167.5,51.7z"/>
|
||||
</g>
|
||||
<g id="label">
|
||||
</g>
|
||||
<g id="art">
|
||||
<path d="M151,102H73V52h78V102z M75,100h74V54H75V100z"/>
|
||||
<path d="M151,38H73V24h78V38z M75,36h74V26H75V36z"/>
|
||||
<circle cx="171" cy="51" r="4"/>
|
||||
<path d="M151,72v-2c10.5,0,19-8.5,19-19s-8.5-19-19-19v-2c11.6,0,21,9.4,21,21S162.6,72,151,72z"/>
|
||||
<g id="ic_x5F_add_x0D_">
|
||||
</g>
|
||||
</g>
|
||||
<g id="Guides">
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1 KiB |
31
dashboard-ui/bower_components/iron-collapse/index.html
vendored
Normal file
31
dashboard-ui/bower_components/iron-collapse/index.html
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
<!doctype html>
|
||||
<!--
|
||||
@license
|
||||
Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
|
||||
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
|
||||
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
|
||||
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
|
||||
Code distributed by Google as part of the polymer project is also
|
||||
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
||||
-->
|
||||
|
||||
<html>
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes">
|
||||
|
||||
<title>iron-collapse</title>
|
||||
|
||||
<script src="../webcomponentsjs/webcomponents-lite.js"></script>
|
||||
|
||||
<link rel="import" href="../polymer/polymer.html">
|
||||
<link rel="import" href="../iron-component-page/iron-component-page.html">
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<iron-component-page></iron-component-page>
|
||||
|
||||
</body>
|
||||
</html>
|
200
dashboard-ui/bower_components/iron-collapse/iron-collapse.html
vendored
Normal file
200
dashboard-ui/bower_components/iron-collapse/iron-collapse.html
vendored
Normal file
|
@ -0,0 +1,200 @@
|
|||
<!--
|
||||
@license
|
||||
Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
|
||||
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
|
||||
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
|
||||
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
|
||||
Code distributed by Google as part of the polymer project is also
|
||||
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
||||
-->
|
||||
|
||||
<link rel="import" href="../polymer/polymer.html">
|
||||
|
||||
<!--
|
||||
`iron-collapse` creates a collapsible block of content. By default, the content
|
||||
will be collapsed. Use `opened` or `toggle()` to show/hide the content.
|
||||
|
||||
<button on-click="toggle">toggle collapse</button>
|
||||
|
||||
<iron-collapse id="collapse">
|
||||
<div>Content goes here...</div>
|
||||
</iron-collapse>
|
||||
|
||||
...
|
||||
|
||||
toggle: function() {
|
||||
this.$.collapse.toggle();
|
||||
}
|
||||
|
||||
`iron-collapse` adjusts the height/width of the collapsible element to show/hide
|
||||
the content. So avoid putting padding/margin/border on the collapsible directly,
|
||||
and instead put a div inside and style that.
|
||||
|
||||
<style>
|
||||
.collapse-content {
|
||||
padding: 15px;
|
||||
border: 1px solid #dedede;
|
||||
}
|
||||
</style>
|
||||
|
||||
<iron-collapse>
|
||||
<div class="collapse-content">
|
||||
<div>Content goes here...</div>
|
||||
</div>
|
||||
</iron-collapse>
|
||||
|
||||
@group Iron Elements
|
||||
@hero hero.svg
|
||||
@demo demo/index.html
|
||||
@element iron-collapse
|
||||
-->
|
||||
|
||||
<dom-module id="iron-collapse">
|
||||
|
||||
<style>
|
||||
|
||||
:host {
|
||||
display: block;
|
||||
transition-duration: 300ms;
|
||||
}
|
||||
|
||||
:host(.iron-collapse-closed) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
:host(:not(.iron-collapse-opened)) {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<template>
|
||||
|
||||
<content></content>
|
||||
|
||||
</template>
|
||||
|
||||
</dom-module>
|
||||
|
||||
<script>
|
||||
|
||||
Polymer({
|
||||
|
||||
is: 'iron-collapse',
|
||||
|
||||
properties: {
|
||||
|
||||
/**
|
||||
* If true, the orientation is horizontal; otherwise is vertical.
|
||||
*
|
||||
* @attribute horizontal
|
||||
*/
|
||||
horizontal: {
|
||||
type: Boolean,
|
||||
value: false,
|
||||
observer: '_horizontalChanged'
|
||||
},
|
||||
|
||||
/**
|
||||
* Set opened to true to show the collapse element and to false to hide it.
|
||||
*
|
||||
* @attribute opened
|
||||
*/
|
||||
opened: {
|
||||
type: Boolean,
|
||||
value: false,
|
||||
notify: true,
|
||||
observer: '_openedChanged'
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
hostAttributes: {
|
||||
role: 'group',
|
||||
'aria-expanded': 'false'
|
||||
},
|
||||
|
||||
listeners: {
|
||||
transitionend: '_transitionEnd'
|
||||
},
|
||||
|
||||
ready: function() {
|
||||
// Avoid transition at the beginning e.g. page loads and enable
|
||||
// transitions only after the element is rendered and ready.
|
||||
this._enableTransition = true;
|
||||
},
|
||||
|
||||
/**
|
||||
* Toggle the opened state.
|
||||
*
|
||||
* @method toggle
|
||||
*/
|
||||
toggle: function() {
|
||||
this.opened = !this.opened;
|
||||
},
|
||||
|
||||
show: function() {
|
||||
this.opened = true;
|
||||
},
|
||||
|
||||
hide: function() {
|
||||
this.opened = false;
|
||||
},
|
||||
|
||||
updateSize: function(size, animated) {
|
||||
this.enableTransition(animated);
|
||||
var s = this.style;
|
||||
var nochange = s[this.dimension] === size;
|
||||
s[this.dimension] = size;
|
||||
if (animated && nochange) {
|
||||
this._transitionEnd();
|
||||
}
|
||||
},
|
||||
|
||||
enableTransition: function(enabled) {
|
||||
this.style.transitionDuration = (enabled && this._enableTransition) ? '' : '0s';
|
||||
},
|
||||
|
||||
_horizontalChanged: function() {
|
||||
this.dimension = this.horizontal ? 'width' : 'height';
|
||||
this.style.transitionProperty = this.dimension;
|
||||
},
|
||||
|
||||
_openedChanged: function() {
|
||||
if (this.opened) {
|
||||
this.toggleClass('iron-collapse-closed', false);
|
||||
this.updateSize('auto', false);
|
||||
var s = this._calcSize();
|
||||
this.updateSize('0px', false);
|
||||
// force layout to ensure transition will go
|
||||
/** @suppress {suspiciousCode} */ this.offsetHeight;
|
||||
this.updateSize(s, true);
|
||||
}
|
||||
else {
|
||||
this.toggleClass('iron-collapse-opened', false);
|
||||
this.updateSize(this._calcSize(), false);
|
||||
// force layout to ensure transition will go
|
||||
/** @suppress {suspiciousCode} */ this.offsetHeight;
|
||||
this.updateSize('0px', true);
|
||||
}
|
||||
this.setAttribute('aria-expanded', this.opened ? 'true' : 'false');
|
||||
|
||||
},
|
||||
|
||||
_transitionEnd: function() {
|
||||
if (this.opened) {
|
||||
this.updateSize('auto', false);
|
||||
}
|
||||
this.toggleClass('iron-collapse-closed', !this.opened);
|
||||
this.toggleClass('iron-collapse-opened', this.opened);
|
||||
this.enableTransition(false);
|
||||
},
|
||||
|
||||
_calcSize: function() {
|
||||
return this.getBoundingClientRect()[this.dimension] + 'px';
|
||||
},
|
||||
|
||||
|
||||
});
|
||||
|
||||
</script>
|
93
dashboard-ui/bower_components/iron-collapse/test/basic.html
vendored
Normal file
93
dashboard-ui/bower_components/iron-collapse/test/basic.html
vendored
Normal file
|
@ -0,0 +1,93 @@
|
|||
<!doctype html>
|
||||
<!--
|
||||
Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
|
||||
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
|
||||
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
|
||||
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
|
||||
Code distributed by Google as part of the polymer project is also
|
||||
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
||||
-->
|
||||
|
||||
<html>
|
||||
<head>
|
||||
|
||||
<title>iron-collapse-basic</title>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
<script src="../../webcomponentsjs/webcomponents-lite.js"></script>
|
||||
<script src="../../web-component-tester/browser.js"></script>
|
||||
<script src="../../test-fixture/test-fixture-mocha.js"></script>
|
||||
|
||||
<link rel="import" href="../../test-fixture/test-fixture.html">
|
||||
<link rel="import" href="../iron-collapse.html">
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<test-fixture id="test">
|
||||
<template>
|
||||
<iron-collapse id="collapse" opened>
|
||||
<div>
|
||||
Forma temperiemque cornua sidera dissociata cornua recessit innabilis ligavit: solidumque coeptis nullus caelum sponte phoebe di regat mentisque tanta austro capacius amphitrite sui quin postquam semina fossae liquidum umor galeae coeptis caligine liberioris quin liquidum matutinis invasit posset: flexi glomeravit radiis certis invasit oppida postquam onerosior inclusum dominari opifex terris pace finxit quam aquae nunc sine altae auroram quam habentem homo totidemque scythiam in pondus ensis tegit caecoque poena lapidosos humanas coeperunt poena aetas totidem nec natura aethera locavit caelumque distinxit animalibus phoebe cingebant moderantum porrexerat terrae possedit sua sole diu summaque obliquis melioris orbem
|
||||
</div>
|
||||
</iron-collapse>
|
||||
</template>
|
||||
</test-fixture>
|
||||
|
||||
<script>
|
||||
|
||||
suite('basic', function() {
|
||||
|
||||
var collapse;
|
||||
var delay = 500;
|
||||
var collapseHeight;
|
||||
|
||||
setup(function () {
|
||||
collapse = fixture('test');
|
||||
});
|
||||
|
||||
test('opened attribute', function() {
|
||||
assert.equal(collapse.opened, true);
|
||||
});
|
||||
|
||||
test('horizontal attribute', function() {
|
||||
assert.equal(collapse.horizontal, false);
|
||||
});
|
||||
|
||||
test('default opened height', function(done) {
|
||||
setTimeout(function() {
|
||||
// store height
|
||||
collapseHeight = getComputedStyle(collapse).height;
|
||||
// verify height not 0px
|
||||
assert.notEqual(collapseHeight, '0px');
|
||||
done();
|
||||
}, delay);
|
||||
});
|
||||
|
||||
test('set opened to false', function(done) {
|
||||
collapse.opened = false;
|
||||
setTimeout(function() {
|
||||
var h = getComputedStyle(collapse).height;
|
||||
// verify height is 0px
|
||||
assert.equal(h, '0px');
|
||||
done();
|
||||
}, delay);
|
||||
});
|
||||
|
||||
test('set opened to true', function(done) {
|
||||
collapse.opened = true;
|
||||
setTimeout(function() {
|
||||
var h = getComputedStyle(collapse).height;
|
||||
// verify height
|
||||
assert.equal(h, collapseHeight);
|
||||
done();
|
||||
}, delay);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
91
dashboard-ui/bower_components/iron-collapse/test/horizontal.html
vendored
Normal file
91
dashboard-ui/bower_components/iron-collapse/test/horizontal.html
vendored
Normal file
|
@ -0,0 +1,91 @@
|
|||
<!doctype html>
|
||||
<!--
|
||||
Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
|
||||
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
|
||||
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
|
||||
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
|
||||
Code distributed by Google as part of the polymer project is also
|
||||
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
||||
-->
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>iron-collapse-horizontal</title>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
<script src="../../webcomponentsjs/webcomponents-lite.js"></script>
|
||||
<script src="../../web-component-tester/browser.js"></script>
|
||||
<script src="../../test-fixture/test-fixture-mocha.js"></script>
|
||||
|
||||
<link rel="import" href="../../test-fixture/test-fixture.html">
|
||||
<link rel="import" href="../iron-collapse.html">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<test-fixture id="test">
|
||||
<template>
|
||||
<iron-collapse id="collapse" opened horizontal>
|
||||
<div>
|
||||
Forma temperiemque cornua sidera dissociata cornua recessit innabilis ligavit: solidumque coeptis nullus caelum sponte phoebe di regat mentisque tanta austro capacius amphitrite sui quin postquam semina fossae liquidum umor galeae coeptis caligine liberioris quin liquidum matutinis invasit posset: flexi glomeravit radiis certis invasit oppida postquam onerosior inclusum dominari opifex terris pace finxit quam aquae nunc sine altae auroram quam habentem homo totidemque scythiam in pondus ensis tegit caecoque poena lapidosos humanas coeperunt poena aetas totidem nec natura aethera locavit caelumque distinxit animalibus phoebe cingebant moderantum porrexerat terrae possedit sua sole diu summaque obliquis melioris orbem
|
||||
</div>
|
||||
</iron-collapse>
|
||||
</template>
|
||||
</test-fixture>
|
||||
|
||||
<script>
|
||||
|
||||
suite('horizontal', function() {
|
||||
|
||||
var collapse;
|
||||
var delay = 500;
|
||||
var collapseHeight;
|
||||
|
||||
setup(function () {
|
||||
collapse = fixture('test');
|
||||
});
|
||||
|
||||
test('opened attribute', function() {
|
||||
assert.equal(collapse.opened, true);
|
||||
});
|
||||
|
||||
test('horizontal attribute', function() {
|
||||
assert.equal(collapse.horizontal, true);
|
||||
});
|
||||
|
||||
test('default opened width', function(done) {
|
||||
setTimeout(function() {
|
||||
// store actual width
|
||||
width = getComputedStyle(collapse).width;
|
||||
// verify width not 0px
|
||||
assert.notEqual(width, '0px');
|
||||
done();
|
||||
}, delay);
|
||||
});
|
||||
|
||||
test('set opened to false', function(done) {
|
||||
collapse.opened = false;
|
||||
setTimeout(function() {
|
||||
var h = getComputedStyle(collapse).width;
|
||||
// verify width is 0px
|
||||
assert.equal(h, '0px');
|
||||
done();
|
||||
}, delay);
|
||||
});
|
||||
|
||||
test('set opened to true', function(done) {
|
||||
collapse.opened = true;
|
||||
setTimeout(function() {
|
||||
var h = getComputedStyle(collapse).width;
|
||||
// verify width
|
||||
assert.equal(h, width);
|
||||
done();
|
||||
}, delay);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
31
dashboard-ui/bower_components/iron-collapse/test/index.html
vendored
Normal file
31
dashboard-ui/bower_components/iron-collapse/test/index.html
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
<!doctype html>
|
||||
<!--
|
||||
Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
|
||||
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
|
||||
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
|
||||
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
|
||||
Code distributed by Google as part of the polymer project is also
|
||||
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
||||
-->
|
||||
|
||||
<html>
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<title>Tests</title>
|
||||
<script src="../../web-component-tester/browser.js"></script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<script>
|
||||
|
||||
WCT.loadSuites([
|
||||
'basic.html',
|
||||
'horizontal.html'
|
||||
]);
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -31,6 +31,7 @@
|
|||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.pageWithAbsoluteTabs neon-animatable {
|
||||
|
@ -524,7 +525,7 @@ span.itemCommunityRating:not(:empty) + .userDataIcons {
|
|||
}
|
||||
|
||||
.portraitDetailImageContainer + .primaryDetailsContainer {
|
||||
width: 75%;
|
||||
width: 74%;
|
||||
}
|
||||
|
||||
.parentName {
|
||||
|
|
|
@ -72,7 +72,7 @@
|
|||
|
||||
.mainDrawerPanel #main {
|
||||
left: 0 !important;
|
||||
position: relative !important;
|
||||
position: static !important;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<title>Emby</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="editItemMetadataPage" data-role="page" class="page libraryPage metadataEditorPage noSecondaryNavPage" data-contextname="${HeaderMetadataManager}" data-require="jqmlistview,jqmpopup,scripts/editorsidebar,scripts/edititemmetadata,scripts/edititemsubtitles,scripts/editcollectionitems,scripts/edititemimages">
|
||||
<div id="editItemMetadataPage" data-role="page" class="page libraryPage metadataEditorPage noSecondaryNavPage" data-contextname="${HeaderMetadataManager}" data-require="jqmcollapsible,jqmlistview,jqmpopup,scripts/editorsidebar,scripts/edititemmetadata,scripts/edititemsubtitles,scripts/editcollectionitems,scripts/edititemimages">
|
||||
<div>
|
||||
<div class="editPageSidebar" style="overflow:auto;">
|
||||
<div class="libraryTree">
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<title>Emby</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="gamesPage" data-role="page" class="page libraryPage listPage" data-require="scripts/gamespage,scripts/queryfilters">
|
||||
<div id="gamesPage" data-role="page" class="page libraryPage listPage" data-require="jqmcollapsible,scripts/gamespage,scripts/queryfilters">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
<a href="gamesrecommended.html">${TabSuggestions}</a>
|
||||
<a href="#" class="ui-btn-active">${TabGames}</a>
|
||||
|
|
|
@ -52,7 +52,6 @@
|
|||
<paper-button raised class="subdued btnRecord hide"><iron-icon icon="videocam"></iron-icon><span>${ButtonRecord}</span></paper-button>
|
||||
<paper-button raised class="subdued hide btnCancelRecording"><iron-icon icon="delete"></iron-icon><span>${ButtonCancelRecording}</span></paper-button>
|
||||
<paper-button raised class="subdued btnSync hide"><iron-icon icon="refresh"></iron-icon><span>${ButtonSync}</span></paper-button>
|
||||
<paper-button raised class="subdued btnShare notext hide"><iron-icon icon="share"></iron-icon></paper-button>
|
||||
<paper-button raised class="subdued btnMoreCommands hide notext"><iron-icon icon="more-vert"></iron-icon></paper-button>
|
||||
<div class="detailUserDataIcons userDataIcons"></div>
|
||||
</div>
|
||||
|
@ -73,7 +72,6 @@
|
|||
<paper-button raised class="subdued btnRecord hide"><iron-icon icon="videocam"></iron-icon><span>${ButtonRecord}</span></paper-button>
|
||||
<paper-button raised class="subdued hide btnCancelRecording"><iron-icon icon="delete"></iron-icon><span>${ButtonCancelRecording}</span></paper-button>
|
||||
<paper-button raised class="subdued btnSync hide"><iron-icon icon="refresh"></iron-icon><span>${ButtonSync}</span></paper-button>
|
||||
<paper-button raised class="subdued btnShare notext hide"><iron-icon icon="share"></iron-icon></paper-button>
|
||||
<paper-button raised class="subdued btnMoreCommands hide notext"><iron-icon icon="more-vert"></iron-icon></paper-button>
|
||||
<div class="detailUserDataIcons userDataIcons"></div>
|
||||
</div>
|
||||
|
|
|
@ -13,72 +13,6 @@
|
|||
<div id="items" class="itemsContainer paddedItemsContainer"></div>
|
||||
</div>
|
||||
|
||||
<div data-role="panel" class="viewPanel" data-theme="a" data-position="right" data-display="overlay" data-position-fixed="true">
|
||||
<form>
|
||||
|
||||
<div data-role="controlgroup" data-type="horizontal" data-mini="true" class="viewPanelTabs">
|
||||
<a href="#" data-role="button" class="viewTabButton" data-tab="tabView">${TabView}</a>
|
||||
</div>
|
||||
|
||||
<div class="tabView viewTab">
|
||||
<div>
|
||||
<label for="selectView">${LabelView}</label>
|
||||
<select id="selectView">
|
||||
<option value="Poster">${OptionPoster}</option>
|
||||
<option value="PosterCard">${OptionPosterCard}</option>
|
||||
</select>
|
||||
</div>
|
||||
<br />
|
||||
<div>
|
||||
<label for="selectPageSize">${LabelPageSize}</label>
|
||||
<select id="selectPageSize" class="selectPageSize"></select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="tabSort viewTab">
|
||||
<fieldset data-role="controlgroup">
|
||||
<legend>
|
||||
${HeaderSortBy}
|
||||
</legend>
|
||||
|
||||
<input class="radioSortBy defaultSort" type="radio" name="radioSortBy" id="radioStartDate" value="on" checked="checked" data-sortby="PremiereDate,SortName" data-mini="true">
|
||||
<label for="radioStartDate">${OptionStartDate}</label>
|
||||
|
||||
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioSortName" value="off" checked="checked" data-sortby="SortName,PremiereDate" data-mini="true">
|
||||
<label for="radioSortName">${OptionNameSort}</label>
|
||||
|
||||
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioCommunityRating" value="off" data-sortby="CommunityRating,SortName" data-mini="true">
|
||||
<label for="radioCommunityRating">${OptionImdbRating}</label>
|
||||
|
||||
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioCriticRating" value="off" data-sortby="CriticRating,SortName" data-mini="true">
|
||||
<label for="radioCriticRating">${OptionCriticRating}</label>
|
||||
|
||||
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioContentRating" value="off" data-sortby="OfficialRating,SortName" data-mini="true">
|
||||
<label for="radioContentRating">${OptionParentalRating}</label>
|
||||
|
||||
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioPremiereDate" value="off" data-sortby="PremiereDate,SortName" data-mini="true">
|
||||
<label for="radioPremiereDate">${OptionReleaseDate}</label>
|
||||
|
||||
<input class="radioSortBy" type="radio" name="radioSortBy" id="radioRuntime" value="off" data-sortby="Runtime,SortName" data-mini="true">
|
||||
<label for="radioRuntime">${OptionRuntime}</label>
|
||||
</fieldset>
|
||||
|
||||
<fieldset data-role="controlgroup">
|
||||
<legend>
|
||||
${HeaderSortOrder}
|
||||
</legend>
|
||||
|
||||
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioAscending" value="on" checked="checked" data-sortorder="Ascending" data-mini="true">
|
||||
<label for="radioAscending">${OptionAscending}</label>
|
||||
|
||||
<input class="radioSortOrder" type="radio" name="radioSortOrder" id="radioDescending" value="off" data-sortorder="Descending" data-mini="true">
|
||||
<label for="radioDescending">${OptionDescending}</label>
|
||||
</fieldset>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -4,7 +4,7 @@
|
|||
<title>Emby</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="liveTvNewRecordingPage" data-role="page" class="page libraryPage liveTvPage noSecondaryNavPage" data-contextname="${HeaderLiveTv}" data-require="scripts/livetvcomponents,scripts/livetvnewrecording,livetvcss" data-backbutton="true" data-menubutton="false">
|
||||
<div id="liveTvNewRecordingPage" data-role="page" class="page libraryPage liveTvPage noSecondaryNavPage" data-contextname="${HeaderLiveTv}" data-require="jqmcollapsible,scripts/livetvcomponents,scripts/livetvnewrecording,livetvcss" data-backbutton="true" data-menubutton="false">
|
||||
|
||||
<div data-role="content">
|
||||
<form class="liveTvNewRecordingForm" style="margin: 0 auto;">
|
||||
|
|
|
@ -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="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="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;">
|
||||
|
@ -44,7 +44,7 @@
|
|||
<paper-checkbox id="chkAnyTime">${OptionRecordAnytime}</paper-checkbox>
|
||||
<paper-checkbox id="chkAllChannels">${OptionRecordOnAllChannels}</paper-checkbox>
|
||||
</div>
|
||||
<br/>
|
||||
<br />
|
||||
<div data-role="collapsible" data-mini="true">
|
||||
<h3>${HeaderAdvanced}</h3>
|
||||
<div>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<title>Emby</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="liveTvTimerPage" data-role="page" class="page libraryPage liveTvPage noSecondaryNavPage" data-contextname="${HeaderLiveTv}" data-require="scripts/livetvcomponents,scripts/livetvtimer,livetvcss" data-backbutton="true" data-menubutton="false">
|
||||
<div id="liveTvTimerPage" data-role="page" class="page libraryPage liveTvPage noSecondaryNavPage" data-contextname="${HeaderLiveTv}" data-require="jqmcollapsible,scripts/livetvcomponents,scripts/livetvtimer,livetvcss" data-backbutton="true" data-menubutton="false">
|
||||
|
||||
<div data-role="content">
|
||||
|
||||
|
|
|
@ -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="scripts/moviesrecommended">
|
||||
<div id="moviesPage" data-role="page" data-dom-cache="true" class="page libraryPage backdropPage pageWithAbsoluteTabs collectionEditorPage" data-backdroptype="movie" data-require="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="scripts/musicrecommended">
|
||||
<div id="musicRecommendedPage" data-dom-cache="true" data-role="page" class="page libraryPage backdropPage pageWithAbsoluteTabs" data-backdroptype="musicartist" data-require="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="userImagePage" data-role="page" class="page libraryPage userPreferencesPage userPasswordPage noSecondaryNavPage" data-title="${HeaderProfile}" data-require="scripts/myprofile,paperbuttonstyle,jqmicons" data-backbutton="true" data-menubutton="false">
|
||||
<div id="userImagePage" data-role="page" class="page libraryPage userPreferencesPage userPasswordPage noSecondaryNavPage" data-title="${HeaderProfile}" data-require="jqmcollapsible,scripts/myprofile,paperbuttonstyle,jqmicons" data-backbutton="true" data-menubutton="false">
|
||||
|
||||
<div data-role="content">
|
||||
<br />
|
||||
|
@ -13,7 +13,7 @@
|
|||
|
||||
<div style="vertical-align:top;margin: .5em 0 0 1em;display:inline-block;">
|
||||
<h2 class="username" style="margin: 0;"></h2>
|
||||
<br/>
|
||||
<br />
|
||||
<paper-button raised class="cancel" id="btnDeleteImage"><iron-icon icon="delete"></iron-icon><span>${ButtonDeleteImage}</span></paper-button>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -95,7 +95,7 @@
|
|||
<paper-checkbox class="chkEnableLocalEasyPassword">${LabelInNetworkSignInWithEasyPassword}</paper-checkbox>
|
||||
<div class="fieldDescription paperCheckboxFieldDescription">${LabelInNetworkSignInWithEasyPasswordHelp}</div>
|
||||
</div>
|
||||
<br /><br/>
|
||||
<br /><br />
|
||||
<div>
|
||||
<button type="submit" data-role="none" class="clearButton">
|
||||
<paper-button raised class="submit block"><iron-icon icon="check"></iron-icon><span>${ButtonSave}</span></paper-button>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<title>${TitleSync}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="mySyncJobPage" data-role="page" class="page libraryPage syncJobPage mySyncPage noSecondaryNavPage" data-contextname="${TitleSync}" data-require="scripts/syncjob" data-backbutton="true" data-menubutton="false">
|
||||
<div id="mySyncJobPage" data-role="page" class="page libraryPage syncJobPage mySyncPage noSecondaryNavPage" data-contextname="${TitleSync}" data-require="jqmcollapsible,scripts/syncjob" data-backbutton="true" data-menubutton="false">
|
||||
|
||||
<div data-role="content">
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<title>Emby</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="nowPlayingPage" data-role="page" class="page libraryPage nowPlayingPage noSecondaryNavPage" data-contextname="${TitleRemoteControl}" data-theme="b" data-require="scripts/nowplayingpage,paperbuttonstyle">
|
||||
<div id="nowPlayingPage" data-role="page" class="page libraryPage nowPlayingPage noSecondaryNavPage" data-contextname="${TitleRemoteControl}" data-theme="b" data-require="jqmcollapsible,scripts/nowplayingpage,paperbuttonstyle">
|
||||
|
||||
<div data-role="content" style="overflow:visible;">
|
||||
|
||||
|
|
|
@ -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="jqmtable,scripts/reports,detailtablecss,jqmicons">
|
||||
<div id="libraryReportManagerPage" data-role="page" class="page libraryPage noSecondaryNavPage reportsPage" data-contextname="${HeaderReports}" data-require="jqmcollapsible,jqmtable,scripts/reports,detailtablecss,jqmicons">
|
||||
<div data-role="content">
|
||||
<div style="text-align: center;">
|
||||
<div class="viewControls">
|
||||
|
|
|
@ -117,12 +117,6 @@
|
|||
$('.btnSync', page).addClass('hide');
|
||||
}
|
||||
|
||||
if (LibraryBrowser.canShare(item, user)) {
|
||||
$('.btnShare', page).removeClass('hide');
|
||||
} else {
|
||||
$('.btnShare', page).addClass('hide');
|
||||
}
|
||||
|
||||
if (item.Type == 'Program' && item.TimerId) {
|
||||
$('.btnCancelRecording', page).removeClass('hide');
|
||||
} else {
|
||||
|
@ -1747,13 +1741,6 @@
|
|||
deleteTimer(page, currentItem.TimerId);
|
||||
});
|
||||
|
||||
$('.btnShare', page).on('click', function () {
|
||||
|
||||
require(['sharingmanager'], function () {
|
||||
SharingManager.showMenu(Dashboard.getCurrentUserId(), currentItem.Id);
|
||||
});
|
||||
});
|
||||
|
||||
$('.btnMoreCommands', page).on('click', function () {
|
||||
|
||||
var button = this;
|
||||
|
|
|
@ -670,6 +670,10 @@
|
|||
commands.push('download');
|
||||
}
|
||||
|
||||
if (LibraryBrowser.canShare(item, user)) {
|
||||
commands.push('share');
|
||||
}
|
||||
|
||||
return commands;
|
||||
},
|
||||
|
||||
|
@ -760,6 +764,14 @@
|
|||
});
|
||||
}
|
||||
|
||||
if (commands.indexOf('share') != -1) {
|
||||
items.push({
|
||||
name: Globalize.translate('ButtonShare'),
|
||||
id: 'share',
|
||||
ironIcon: 'share'
|
||||
});
|
||||
}
|
||||
|
||||
require(['actionsheet'], function () {
|
||||
|
||||
ActionSheetElement.show({
|
||||
|
@ -769,6 +781,11 @@
|
|||
|
||||
switch (id) {
|
||||
|
||||
case 'share':
|
||||
require(['sharingmanager'], function () {
|
||||
SharingManager.showMenu(Dashboard.getCurrentUserId(), itemId);
|
||||
});
|
||||
break;
|
||||
case 'addtocollection':
|
||||
BoxSetEditor.showPanel([itemId]);
|
||||
break;
|
||||
|
|
|
@ -171,7 +171,8 @@
|
|||
|
||||
function onCardTapHold(e) {
|
||||
|
||||
showContextMenu(this, {});
|
||||
var card = parentWithClass(e.target, 'card');
|
||||
showContextMenu(card, {});
|
||||
|
||||
e.preventDefault();
|
||||
return false;
|
||||
|
@ -423,6 +424,7 @@
|
|||
break;
|
||||
case 'album':
|
||||
Dashboard.navigate('itemdetails.html?id=' + albumid);
|
||||
break;
|
||||
case 'record':
|
||||
Dashboard.navigate('livetvnewrecording.html?programid=' + itemId);
|
||||
break;
|
||||
|
@ -483,16 +485,24 @@
|
|||
|
||||
function onListViewMenuButtonClick(e) {
|
||||
|
||||
showContextMenu(this, {});
|
||||
var btn = parentWithClass(e.target, 'listviewMenuButton') || parentWithClass(e.target, 'cardOverlayMoreButton');
|
||||
|
||||
if (btn) {
|
||||
showContextMenu(btn, {});
|
||||
|
||||
e.preventDefault();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function onListViewPlayButtonClick(e) {
|
||||
|
||||
var playButton = this;
|
||||
var card = this;
|
||||
var playButton = parentWithClass(e.target, 'cardOverlayPlayButton');
|
||||
|
||||
if (!playButton) {
|
||||
return;
|
||||
}
|
||||
var card = e.target;
|
||||
|
||||
if (!card.classList.contains('card') && !card.classList.contains('listItem')) {
|
||||
card = $(card).parents('.listItem,.card')[0];
|
||||
|
@ -535,7 +545,11 @@
|
|||
|
||||
function onGroupedCardClick(e) {
|
||||
|
||||
var card = this;
|
||||
var card = parentWithClass(e.target, 'groupedCard');
|
||||
|
||||
if (!card) {
|
||||
return;
|
||||
}
|
||||
var itemId = card.getAttribute('data-itemid');
|
||||
var context = card.getAttribute('data-context');
|
||||
|
||||
|
@ -794,13 +808,31 @@
|
|||
});
|
||||
}
|
||||
|
||||
function parentWithClass(elem, className) {
|
||||
|
||||
while (!elem.classList || !elem.classList.contains(className)) {
|
||||
elem = elem.parentNode;
|
||||
|
||||
if (!elem) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
return elem;
|
||||
}
|
||||
|
||||
function onCardClick(e) {
|
||||
|
||||
var targetElem = parentWithClass(e.target, 'mediaItem');
|
||||
|
||||
if (!targetElem) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (isClickable(targetElem)) {
|
||||
return;
|
||||
}
|
||||
|
||||
var targetElem = e.target;
|
||||
if (targetElem.classList.contains('itemSelectionPanel') || this.querySelector('.itemSelectionPanel')) {
|
||||
return;
|
||||
}
|
||||
|
@ -923,20 +955,17 @@
|
|||
preventHover = true;
|
||||
}
|
||||
|
||||
this.off('contextmenu', '.card', onCardTapHold);
|
||||
this.on('contextmenu', '.card', onCardTapHold);
|
||||
this.off('contextmenu', onCardTapHold);
|
||||
this.on('contextmenu', onCardTapHold);
|
||||
|
||||
this.off('click', '.groupedCard', onGroupedCardClick);
|
||||
this.on('click', '.groupedCard', onGroupedCardClick);
|
||||
this.off('click', onGroupedCardClick);
|
||||
this.on('click', onGroupedCardClick);
|
||||
|
||||
this.off('click', '.listviewMenuButton', onListViewMenuButtonClick);
|
||||
this.on('click', '.listviewMenuButton', onListViewMenuButtonClick);
|
||||
this.off('click', onListViewMenuButtonClick);
|
||||
this.on('click', onListViewMenuButtonClick);
|
||||
|
||||
this.off('click', '.cardOverlayMoreButton', onListViewMenuButtonClick);
|
||||
this.on('click', '.cardOverlayMoreButton', onListViewMenuButtonClick);
|
||||
|
||||
this.off('click', '.cardOverlayPlayButton', onListViewPlayButtonClick);
|
||||
this.on('click', '.cardOverlayPlayButton', onListViewPlayButtonClick);
|
||||
this.off('click', onListViewPlayButtonClick);
|
||||
this.on('click', onListViewPlayButtonClick);
|
||||
|
||||
if (!AppInfo.isTouchPreferred) {
|
||||
this.off('mouseenter', '.card:not(.bannerCard) .cardContent', onHoverIn);
|
||||
|
@ -949,8 +978,8 @@
|
|||
this.on("touchstart", '.card:not(.bannerCard) .cardContent', preventTouchHover);
|
||||
}
|
||||
|
||||
this.off('click', '.mediaItem', onCardClick);
|
||||
this.on('click', '.mediaItem', onCardClick);
|
||||
this.off('click', onCardClick);
|
||||
this.on('click', onCardClick);
|
||||
|
||||
return this;
|
||||
};
|
||||
|
|
|
@ -144,6 +144,7 @@
|
|||
|
||||
function onRecordClick() {
|
||||
$('.itemFlyout').popup('close');
|
||||
|
||||
Dashboard.navigate('livetvnewrecording.html?programid=' + this.getAttribute('data-id'));
|
||||
}
|
||||
|
||||
|
|
|
@ -18,13 +18,6 @@
|
|||
return 'livetvitems2' + (query.ParentId || '');
|
||||
}
|
||||
|
||||
function updateFilterControls(page) {
|
||||
|
||||
$('#selectView', page).val(view);
|
||||
$('.alphabetPicker', page).alphaValue(query.NameStartsWithOrGreater);
|
||||
$('#selectPageSize', page).val(query.Limit);
|
||||
}
|
||||
|
||||
function reloadItems(page) {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
@ -39,14 +32,11 @@
|
|||
startIndex: query.StartIndex,
|
||||
limit: query.Limit,
|
||||
totalRecordCount: result.TotalRecordCount,
|
||||
viewButton: true,
|
||||
showLimit: false
|
||||
});
|
||||
|
||||
page.querySelector('.listTopPaging').innerHTML = pagingHtml;
|
||||
|
||||
updateFilterControls(page);
|
||||
|
||||
if (view == "Poster") {
|
||||
html = LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
|
@ -95,52 +85,7 @@
|
|||
});
|
||||
}
|
||||
|
||||
$(document).on('pageinit', "#liveTvItemsPage", function () {
|
||||
|
||||
var page = this;
|
||||
|
||||
$('#selectView', this).on('change', function () {
|
||||
|
||||
view = this.value;
|
||||
|
||||
reloadItems(page);
|
||||
|
||||
LibraryBrowser.saveViewSetting(getSavedQueryKey(), view);
|
||||
});
|
||||
|
||||
$('#radioBasicFilters', this).on('change', function () {
|
||||
|
||||
if (this.checked) {
|
||||
$('.basicFilters', page).show();
|
||||
$('.advancedFilters', page).hide();
|
||||
} else {
|
||||
$('.basicFilters', page).hide();
|
||||
}
|
||||
});
|
||||
|
||||
$('#radioAdvancedFilters', this).on('change', function () {
|
||||
|
||||
if (this.checked) {
|
||||
$('.advancedFilters', page).show();
|
||||
$('.basicFilters', page).hide();
|
||||
} else {
|
||||
$('.advancedFilters', page).hide();
|
||||
}
|
||||
});
|
||||
|
||||
$('.itemsContainer', page).on('needsrefresh', function () {
|
||||
|
||||
reloadItems(page);
|
||||
|
||||
});
|
||||
|
||||
$('#selectPageSize', page).on('change', function () {
|
||||
query.Limit = parseInt(this.value);
|
||||
query.StartIndex = 0;
|
||||
reloadItems(page);
|
||||
});
|
||||
|
||||
}).on('pagebeforeshow', "#liveTvItemsPage", function () {
|
||||
$(document).on('pagebeforeshow', "#liveTvItemsPage", function () {
|
||||
|
||||
query.ParentId = LibraryMenu.getTopParentId();
|
||||
|
||||
|
@ -163,16 +108,7 @@
|
|||
|
||||
QueryFilters.onPageShow(page, query);
|
||||
|
||||
LibraryBrowser.getSavedViewSetting(viewkey).done(function (val) {
|
||||
|
||||
if (val) {
|
||||
$('#selectView', page).val(val).trigger('change');
|
||||
} else {
|
||||
reloadItems(page);
|
||||
}
|
||||
});
|
||||
|
||||
updateFilterControls(page);
|
||||
});
|
||||
|
||||
})(jQuery, document);
|
|
@ -342,6 +342,21 @@
|
|||
]
|
||||
});
|
||||
|
||||
// These don't play very well
|
||||
if (isVlc) {
|
||||
profile.CodecProfiles.push({
|
||||
Type: 'VideoAudio',
|
||||
Codec: 'dca',
|
||||
Conditions: [
|
||||
{
|
||||
Condition: 'LessThanEqual',
|
||||
Property: 'AudioChannels',
|
||||
Value: 6
|
||||
}
|
||||
]
|
||||
});
|
||||
}
|
||||
|
||||
if (isVlc) {
|
||||
profile.CodecProfiles.push({
|
||||
Type: 'Video',
|
||||
|
|
|
@ -2113,6 +2113,11 @@ var AppInfo = {};
|
|||
return {};
|
||||
});
|
||||
|
||||
define("jqmcollapsible", ["jqmicons", "thirdparty/jquerymobile-1.4.5/jqm.collapsible"], function () {
|
||||
Dashboard.importCss('thirdparty/jquerymobile-1.4.5/jqm.collapsible.css');
|
||||
return {};
|
||||
});
|
||||
|
||||
define("hammer", ["bower_components/hammerjs/hammer.min"], function (Hammer) {
|
||||
return Hammer;
|
||||
});
|
||||
|
@ -2194,6 +2199,7 @@ var AppInfo = {};
|
|||
depends.push('jqmicons');
|
||||
depends.push('jqmpopup');
|
||||
depends.push('jqmlistview');
|
||||
depends.push('jqmcollapsible');
|
||||
}
|
||||
|
||||
require(depends, function () {
|
||||
|
@ -2320,7 +2326,7 @@ $(document).on('pagecreate', ".page", function () {
|
|||
var isSettingsPage = page.classList.contains('type-interior');
|
||||
|
||||
if (isSettingsPage) {
|
||||
require(['jqmicons', 'jqmlistview']);
|
||||
|
||||
Dashboard.ensureToolsMenu(page);
|
||||
|
||||
Dashboard.getCurrentUser().done(function (user) {
|
||||
|
|
|
@ -196,7 +196,7 @@
|
|||
|
||||
function showSyncMenu(options) {
|
||||
|
||||
requirejs(["scripts/registrationservices"], function () {
|
||||
requirejs(["scripts/registrationservices", "jqmcollapsible"], function () {
|
||||
RegistrationServices.validateFeature('sync').done(function () {
|
||||
showSyncMenuInternal(options);
|
||||
});
|
||||
|
@ -244,7 +244,6 @@
|
|||
html += '</div>';
|
||||
|
||||
$(document.body).append(html);
|
||||
require(['paperbuttonstyle']);
|
||||
|
||||
var elem = $('.syncPanel').panel({}).trigger('create').panel("open").on("panelclose", function () {
|
||||
$(this).off("panelclose").remove();
|
||||
|
|
102
dashboard-ui/thirdparty/jquerymobile-1.4.5/jqm.collapsible.css
vendored
Normal file
102
dashboard-ui/thirdparty/jquerymobile-1.4.5/jqm.collapsible.css
vendored
Normal file
|
@ -0,0 +1,102 @@
|
|||
|
||||
|
||||
|
||||
.ui-collapsible {
|
||||
margin: 0 -1em;
|
||||
}
|
||||
.ui-collapsible-inset,
|
||||
.ui-collapsible-set {
|
||||
margin: .5em 0;
|
||||
}
|
||||
.ui-collapsible-heading {
|
||||
display: block;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
position: relative;
|
||||
}
|
||||
.ui-collapsible-heading .ui-btn {
|
||||
text-align: left;
|
||||
margin: 0;
|
||||
border-left-width: 0;
|
||||
border-right-width: 0;
|
||||
}
|
||||
.ui-collapsible-heading .ui-btn-icon-top,
|
||||
.ui-collapsible-heading .ui-btn-icon-bottom {
|
||||
text-align: center;
|
||||
}
|
||||
.ui-collapsible-inset .ui-collapsible-heading .ui-btn {
|
||||
border-right-width: 1px;
|
||||
border-left-width: 1px;
|
||||
}
|
||||
.ui-collapsible-collapsed + .ui-collapsible:not(.ui-collapsible-inset) > .ui-collapsible-heading .ui-btn {
|
||||
border-top-width: 0;
|
||||
}
|
||||
.ui-collapsible-set .ui-collapsible:not(.ui-collapsible-inset) .ui-collapsible-heading .ui-btn {
|
||||
border-top-width: 1px;
|
||||
}
|
||||
.ui-collapsible-heading-status {
|
||||
position: absolute !important;
|
||||
height: 1px;
|
||||
width: 1px;
|
||||
overflow: hidden;
|
||||
clip: rect(1px,1px,1px,1px);
|
||||
}
|
||||
.ui-collapsible-content {
|
||||
display: block;
|
||||
margin: 0;
|
||||
padding: .5em 1em;
|
||||
}
|
||||
.ui-collapsible-themed-content .ui-collapsible-content {
|
||||
border-left-width: 0;
|
||||
border-right-width: 0;
|
||||
border-top-width: 0;
|
||||
border-bottom-width: 1px;
|
||||
border-style: solid;
|
||||
}
|
||||
.ui-collapsible-inset.ui-collapsible-themed-content .ui-collapsible-content {
|
||||
border-left-width: 1px;
|
||||
border-right-width: 1px;
|
||||
}
|
||||
.ui-collapsible-inset .ui-collapsible-content {
|
||||
margin: 0;
|
||||
}
|
||||
.ui-collapsible-content-collapsed {
|
||||
display: none;
|
||||
}
|
||||
.ui-collapsible-set > .ui-collapsible.ui-corner-all {
|
||||
-webkit-border-radius: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
.ui-collapsible-heading,
|
||||
.ui-collapsible-heading > .ui-btn {
|
||||
-webkit-border-radius: inherit;
|
||||
border-radius: inherit;
|
||||
}
|
||||
.ui-collapsible-set .ui-collapsible.ui-first-child {
|
||||
-webkit-border-top-right-radius: inherit;
|
||||
border-top-right-radius: inherit;
|
||||
-webkit-border-top-left-radius: inherit;
|
||||
border-top-left-radius: inherit;
|
||||
}
|
||||
.ui-collapsible-content,
|
||||
.ui-collapsible-set .ui-collapsible.ui-last-child {
|
||||
-webkit-border-bottom-right-radius: inherit;
|
||||
border-bottom-right-radius: inherit;
|
||||
-webkit-border-bottom-left-radius: inherit;
|
||||
border-bottom-left-radius: inherit;
|
||||
}
|
||||
.ui-collapsible-themed-content:not(.ui-collapsible-collapsed) > .ui-collapsible-heading {
|
||||
-webkit-border-bottom-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
-webkit-border-bottom-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
.ui-collapsible-set .ui-collapsible {
|
||||
margin: -1px -1em 0;
|
||||
}
|
||||
.ui-collapsible-set .ui-collapsible-inset {
|
||||
margin: -1px 0 0;
|
||||
}
|
||||
.ui-collapsible-set .ui-collapsible.ui-first-child {
|
||||
margin-top: 0;
|
||||
}
|
348
dashboard-ui/thirdparty/jquerymobile-1.4.5/jqm.collapsible.js
vendored
Normal file
348
dashboard-ui/thirdparty/jquerymobile-1.4.5/jqm.collapsible.js
vendored
Normal file
|
@ -0,0 +1,348 @@
|
|||
(function ($, undefined) {
|
||||
|
||||
var rInitialLetter = /([A-Z])/g,
|
||||
|
||||
// Construct iconpos class from iconpos value
|
||||
iconposClass = function (iconpos) {
|
||||
return ("ui-btn-icon-" + (iconpos === null ? "left" : iconpos));
|
||||
};
|
||||
|
||||
$.widget("mobile.collapsible", {
|
||||
options: {
|
||||
enhanced: false,
|
||||
expandCueText: null,
|
||||
collapseCueText: null,
|
||||
collapsed: true,
|
||||
heading: "h1,h2,h3,h4,h5,h6,legend",
|
||||
collapsedIcon: null,
|
||||
expandedIcon: null,
|
||||
iconpos: null,
|
||||
theme: null,
|
||||
contentTheme: null,
|
||||
inset: null,
|
||||
corners: null,
|
||||
mini: null
|
||||
},
|
||||
|
||||
_create: function () {
|
||||
var elem = this.element,
|
||||
ui = {
|
||||
accordion: elem
|
||||
.closest(":jqmData(role='collapsible-set')," +
|
||||
":jqmData(role='collapsibleset')" +
|
||||
($.mobile.collapsibleset ? ", :mobile-collapsibleset" :
|
||||
""))
|
||||
.addClass("ui-collapsible-set")
|
||||
};
|
||||
|
||||
this._ui = ui;
|
||||
this._renderedOptions = this._getOptions(this.options);
|
||||
|
||||
if (this.options.enhanced) {
|
||||
ui.heading = this.element.children(".ui-collapsible-heading");
|
||||
ui.content = ui.heading.next();
|
||||
ui.anchor = ui.heading.children();
|
||||
ui.status = ui.anchor.children(".ui-collapsible-heading-status");
|
||||
} else {
|
||||
this._enhance(elem, ui);
|
||||
}
|
||||
|
||||
this._on(ui.heading, {
|
||||
"tap": function () {
|
||||
ui.heading.find("a").first().addClass($.mobile.activeBtnClass);
|
||||
},
|
||||
|
||||
"click": function (event) {
|
||||
this._handleExpandCollapse(!ui.heading.hasClass("ui-collapsible-heading-collapsed"));
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// Adjust the keys inside options for inherited values
|
||||
_getOptions: function (options) {
|
||||
var key,
|
||||
accordion = this._ui.accordion,
|
||||
accordionWidget = this._ui.accordionWidget;
|
||||
|
||||
// Copy options
|
||||
options = $.extend({}, options);
|
||||
|
||||
if (accordion.length && !accordionWidget) {
|
||||
this._ui.accordionWidget =
|
||||
accordionWidget = accordion.data("mobile-collapsibleset");
|
||||
}
|
||||
|
||||
for (key in options) {
|
||||
|
||||
// Retrieve the option value first from the options object passed in and, if
|
||||
// null, from the parent accordion or, if that's null too, or if there's no
|
||||
// parent accordion, then from the defaults.
|
||||
options[key] =
|
||||
(options[key] != null) ? options[key] :
|
||||
(accordionWidget) ? accordionWidget.options[key] :
|
||||
accordion.length ? $.mobile.getAttribute(accordion[0],
|
||||
key.replace(rInitialLetter, "-$1").toLowerCase()) :
|
||||
null;
|
||||
|
||||
if (null == options[key]) {
|
||||
options[key] = $.mobile.collapsible.defaults[key];
|
||||
}
|
||||
}
|
||||
|
||||
return options;
|
||||
},
|
||||
|
||||
_themeClassFromOption: function (prefix, value) {
|
||||
return (value ? (value === "none" ? "" : prefix + value) : "");
|
||||
},
|
||||
|
||||
_enhance: function (elem, ui) {
|
||||
var iconclass,
|
||||
opts = this._renderedOptions,
|
||||
contentThemeClass = this._themeClassFromOption("ui-body-", opts.contentTheme);
|
||||
|
||||
elem.addClass("ui-collapsible " +
|
||||
(opts.inset ? "ui-collapsible-inset " : "") +
|
||||
(opts.inset && opts.corners ? "ui-corner-all " : "") +
|
||||
(contentThemeClass ? "ui-collapsible-themed-content " : ""));
|
||||
ui.originalHeading = elem.children(this.options.heading).first(),
|
||||
ui.content = elem
|
||||
.wrapInner("<div " +
|
||||
"class='ui-collapsible-content " +
|
||||
contentThemeClass + "'></div>")
|
||||
.children(".ui-collapsible-content"),
|
||||
ui.heading = ui.originalHeading;
|
||||
|
||||
// Replace collapsibleHeading if it's a legend
|
||||
if (ui.heading.is("legend")) {
|
||||
ui.heading = $("<div role='heading'>" + ui.heading.html() + "</div>");
|
||||
ui.placeholder = $("<div><!-- placeholder for legend --></div>").insertBefore(ui.originalHeading);
|
||||
ui.originalHeading.remove();
|
||||
}
|
||||
|
||||
iconclass = (opts.collapsed ? (opts.collapsedIcon ? "ui-icon-" + opts.collapsedIcon : "") :
|
||||
(opts.expandedIcon ? "ui-icon-" + opts.expandedIcon : ""));
|
||||
|
||||
ui.status = $("<span class='ui-collapsible-heading-status'></span>");
|
||||
ui.anchor = ui.heading
|
||||
.detach()
|
||||
//modify markup & attributes
|
||||
.addClass("ui-collapsible-heading")
|
||||
.append(ui.status)
|
||||
.wrapInner("<a href='#' class='ui-collapsible-heading-toggle'></a>")
|
||||
.find("a")
|
||||
.first()
|
||||
.addClass("ui-btn " +
|
||||
(iconclass ? iconclass + " " : "") +
|
||||
(iconclass ? iconposClass(opts.iconpos) +
|
||||
" " : "") +
|
||||
this._themeClassFromOption("ui-btn-", opts.theme) + " " +
|
||||
(opts.mini ? "ui-mini " : ""));
|
||||
|
||||
//drop heading in before content
|
||||
ui.heading.insertBefore(ui.content);
|
||||
|
||||
this._handleExpandCollapse(this.options.collapsed);
|
||||
|
||||
return ui;
|
||||
},
|
||||
|
||||
refresh: function () {
|
||||
this._applyOptions(this.options);
|
||||
this._renderedOptions = this._getOptions(this.options);
|
||||
},
|
||||
|
||||
_applyOptions: function (options) {
|
||||
var isCollapsed, newTheme, oldTheme, hasCorners, hasIcon,
|
||||
elem = this.element,
|
||||
currentOpts = this._renderedOptions,
|
||||
ui = this._ui,
|
||||
anchor = ui.anchor,
|
||||
status = ui.status,
|
||||
opts = this._getOptions(options);
|
||||
|
||||
// First and foremost we need to make sure the collapsible is in the proper
|
||||
// state, in case somebody decided to change the collapsed option at the
|
||||
// same time as another option
|
||||
if (options.collapsed !== undefined) {
|
||||
this._handleExpandCollapse(options.collapsed);
|
||||
}
|
||||
|
||||
isCollapsed = elem.hasClass("ui-collapsible-collapsed");
|
||||
|
||||
// We only need to apply the cue text for the current state right away.
|
||||
// The cue text for the alternate state will be stored in the options
|
||||
// and applied the next time the collapsible's state is toggled
|
||||
if (isCollapsed) {
|
||||
if (opts.expandCueText !== undefined) {
|
||||
status.text(opts.expandCueText);
|
||||
}
|
||||
} else {
|
||||
if (opts.collapseCueText !== undefined) {
|
||||
status.text(opts.collapseCueText);
|
||||
}
|
||||
}
|
||||
|
||||
// Update icon
|
||||
|
||||
// Is it supposed to have an icon?
|
||||
hasIcon =
|
||||
|
||||
// If the collapsedIcon is being set, consult that
|
||||
(opts.collapsedIcon !== undefined ? opts.collapsedIcon !== false :
|
||||
|
||||
// Otherwise consult the existing option value
|
||||
currentOpts.collapsedIcon !== false);
|
||||
|
||||
|
||||
// If any icon-related options have changed, make sure the new icon
|
||||
// state is reflected by first removing all icon-related classes
|
||||
// reflecting the current state and then adding all icon-related
|
||||
// classes for the new state
|
||||
if (!(opts.iconpos === undefined &&
|
||||
opts.collapsedIcon === undefined &&
|
||||
opts.expandedIcon === undefined)) {
|
||||
|
||||
// Remove all current icon-related classes
|
||||
anchor.removeClass([iconposClass(currentOpts.iconpos)]
|
||||
.concat((currentOpts.expandedIcon ?
|
||||
["ui-icon-" + currentOpts.expandedIcon] : []))
|
||||
.concat((currentOpts.collapsedIcon ?
|
||||
["ui-icon-" + currentOpts.collapsedIcon] : []))
|
||||
.join(" "));
|
||||
|
||||
// Add new classes if an icon is supposed to be present
|
||||
if (hasIcon) {
|
||||
anchor.addClass(
|
||||
[iconposClass(opts.iconpos !== undefined ?
|
||||
opts.iconpos : currentOpts.iconpos)]
|
||||
.concat(isCollapsed ?
|
||||
["ui-icon-" + (opts.collapsedIcon !== undefined ?
|
||||
opts.collapsedIcon :
|
||||
currentOpts.collapsedIcon)] :
|
||||
["ui-icon-" + (opts.expandedIcon !== undefined ?
|
||||
opts.expandedIcon :
|
||||
currentOpts.expandedIcon)])
|
||||
.join(" "));
|
||||
}
|
||||
}
|
||||
|
||||
if (opts.theme !== undefined) {
|
||||
oldTheme = this._themeClassFromOption("ui-btn-", currentOpts.theme);
|
||||
newTheme = this._themeClassFromOption("ui-btn-", opts.theme);
|
||||
anchor.removeClass(oldTheme).addClass(newTheme);
|
||||
}
|
||||
|
||||
if (opts.contentTheme !== undefined) {
|
||||
oldTheme = this._themeClassFromOption("ui-body-",
|
||||
currentOpts.contentTheme);
|
||||
newTheme = this._themeClassFromOption("ui-body-",
|
||||
opts.contentTheme);
|
||||
ui.content.removeClass(oldTheme).addClass(newTheme);
|
||||
}
|
||||
|
||||
if (opts.inset !== undefined) {
|
||||
elem.toggleClass("ui-collapsible-inset", opts.inset);
|
||||
hasCorners = !!(opts.inset && (opts.corners || currentOpts.corners));
|
||||
}
|
||||
|
||||
if (opts.corners !== undefined) {
|
||||
hasCorners = !!(opts.corners && (opts.inset || currentOpts.inset));
|
||||
}
|
||||
|
||||
if (hasCorners !== undefined) {
|
||||
elem.toggleClass("ui-corner-all", hasCorners);
|
||||
}
|
||||
|
||||
if (opts.mini !== undefined) {
|
||||
anchor.toggleClass("ui-mini", opts.mini);
|
||||
}
|
||||
},
|
||||
|
||||
_setOptions: function (options) {
|
||||
this._applyOptions(options);
|
||||
this._super(options);
|
||||
this._renderedOptions = this._getOptions(this.options);
|
||||
},
|
||||
|
||||
_handleExpandCollapse: function (isCollapse) {
|
||||
var opts = this._renderedOptions,
|
||||
ui = this._ui;
|
||||
|
||||
ui.status.text(isCollapse ? opts.expandCueText : opts.collapseCueText);
|
||||
ui.heading
|
||||
.toggleClass("ui-collapsible-heading-collapsed", isCollapse)
|
||||
.find("a").first()
|
||||
.toggleClass("ui-icon-" + opts.expandedIcon, !isCollapse)
|
||||
|
||||
// logic or cause same icon for expanded/collapsed state would remove the ui-icon-class
|
||||
.toggleClass("ui-icon-" + opts.collapsedIcon, (isCollapse || opts.expandedIcon === opts.collapsedIcon))
|
||||
.removeClass($.mobile.activeBtnClass);
|
||||
|
||||
this.element.toggleClass("ui-collapsible-collapsed", isCollapse);
|
||||
ui.content
|
||||
.toggleClass("ui-collapsible-content-collapsed", isCollapse)
|
||||
.attr("aria-hidden", isCollapse)
|
||||
.trigger("updatelayout");
|
||||
this.options.collapsed = isCollapse;
|
||||
this._trigger(isCollapse ? "collapse" : "expand");
|
||||
},
|
||||
|
||||
expand: function () {
|
||||
this._handleExpandCollapse(false);
|
||||
},
|
||||
|
||||
collapse: function () {
|
||||
this._handleExpandCollapse(true);
|
||||
},
|
||||
|
||||
_destroy: function () {
|
||||
var ui = this._ui,
|
||||
opts = this.options;
|
||||
|
||||
if (opts.enhanced) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (ui.placeholder) {
|
||||
ui.originalHeading.insertBefore(ui.placeholder);
|
||||
ui.placeholder.remove();
|
||||
ui.heading.remove();
|
||||
} else {
|
||||
ui.status.remove();
|
||||
ui.heading
|
||||
.removeClass("ui-collapsible-heading ui-collapsible-heading-collapsed")
|
||||
.children()
|
||||
.contents()
|
||||
.unwrap();
|
||||
}
|
||||
|
||||
ui.anchor.contents().unwrap();
|
||||
ui.content.contents().unwrap();
|
||||
this.element
|
||||
.removeClass("ui-collapsible ui-collapsible-collapsed " +
|
||||
"ui-collapsible-themed-content ui-collapsible-inset ui-corner-all");
|
||||
}
|
||||
});
|
||||
|
||||
// Defaults to be used by all instances of collapsible if per-instance values
|
||||
// are unset or if nothing is specified by way of inheritance from an accordion.
|
||||
// Note that this hash does not contain options "collapsed" or "heading",
|
||||
// because those are not inheritable.
|
||||
$.mobile.collapsible.defaults = {
|
||||
expandCueText: " click to expand contents",
|
||||
collapseCueText: " click to collapse contents",
|
||||
collapsedIcon: "plus",
|
||||
contentTheme: "inherit",
|
||||
expandedIcon: "minus",
|
||||
iconpos: "left",
|
||||
inset: true,
|
||||
corners: true,
|
||||
theme: "inherit",
|
||||
mini: false
|
||||
};
|
||||
|
||||
})(jQuery);
|
||||
|
|
@ -770,9 +770,12 @@ $.ui.plugin = {
|
|||
window.scrollTo(0, ypos);
|
||||
},
|
||||
|
||||
getClosestBaseUrl: function( ele ) {
|
||||
getClosestBaseUrl: function (ele) {
|
||||
|
||||
var page = parentWithClass(ele, 'ui-page');
|
||||
|
||||
// Find the closest page and extract out its url.
|
||||
var url = parentWithClass(ele, 'ui-page').getAttribute("data-url"),
|
||||
var url = (page ? page.getAttribute("data-url") : null),
|
||||
base = $.mobile.path.documentBase.hrefNoHash;
|
||||
|
||||
if ( !$.mobile.dynamicBaseEnabled || !url || !$.mobile.path.isPath( url ) ) {
|
||||
|
@ -3565,6 +3568,8 @@ $.fn.fieldcontain = function(/* options */) {
|
|||
|
||||
(function( $, undefined ) {
|
||||
|
||||
var pageCache = {};
|
||||
|
||||
$.widget( "mobile.pagecontainer", {
|
||||
options: {
|
||||
theme: "a"
|
||||
|
@ -4029,11 +4034,14 @@ $.fn.fieldcontain = function(/* options */) {
|
|||
_loadSuccess: function( absUrl, triggerData, settings, deferred ) {
|
||||
var fileUrl = this._createFileUrl( absUrl );
|
||||
|
||||
return $.proxy(function (html, textStatus, xhr) {
|
||||
return $.proxy(function (html, wasCached) {
|
||||
|
||||
if (!wasCached || typeof (wasCached) != 'boolean') {
|
||||
if ($.mobile.filterHtml) {
|
||||
html = $.mobile.filterHtml(html);
|
||||
}
|
||||
pageCache[absUrl.split('?')[0]] = html;
|
||||
}
|
||||
|
||||
//dont update the base tag if we are prefetching
|
||||
if ( settings.prefetch === undefined ) {
|
||||
|
@ -4045,10 +4053,6 @@ $.fn.fieldcontain = function(/* options */) {
|
|||
|
||||
this._setLoadedTitle( content, html );
|
||||
|
||||
// Add the content reference and xhr to our triggerData.
|
||||
triggerData.xhr = xhr;
|
||||
triggerData.textStatus = textStatus;
|
||||
|
||||
// DEPRECATED
|
||||
triggerData.page = content;
|
||||
|
||||
|
@ -4069,6 +4073,7 @@ $.fn.fieldcontain = function(/* options */) {
|
|||
dependencies.push('jqmicons');
|
||||
dependencies.push('jqmpopup');
|
||||
dependencies.push('jqmlistview');
|
||||
dependencies.push('jqmcollapsible');
|
||||
}
|
||||
|
||||
var currentSelf = this;
|
||||
|
@ -4214,6 +4219,13 @@ $.fn.fieldcontain = function(/* options */) {
|
|||
return deferred.promise();
|
||||
}
|
||||
|
||||
var successFn = this._loadSuccess(absUrl, triggerData, settings, deferred);
|
||||
var cachedResult = pageCache[absUrl.split('?')[0]];
|
||||
if (cachedResult) {
|
||||
successFn(cachedResult, true);
|
||||
return deferred.promise();
|
||||
}
|
||||
|
||||
// Load the new content.
|
||||
$.ajax({
|
||||
url: fileUrl,
|
||||
|
@ -4221,7 +4233,7 @@ $.fn.fieldcontain = function(/* options */) {
|
|||
data: settings.data,
|
||||
contentType: settings.contentType,
|
||||
dataType: "html",
|
||||
success: this._loadSuccess( absUrl, triggerData, settings, deferred ),
|
||||
success: successFn,
|
||||
error: this._loadError( absUrl, triggerData, settings, deferred )
|
||||
});
|
||||
|
||||
|
@ -5050,41 +5062,6 @@ $.mobile.links = function( target ) {
|
|||
|
||||
})( jQuery );
|
||||
|
||||
|
||||
(function( $ ) {
|
||||
var meta = $( "meta[name=viewport]" ),
|
||||
initialContent = meta.attr( "content" ),
|
||||
disabledZoom = initialContent + ",maximum-scale=1, user-scalable=no",
|
||||
enabledZoom = initialContent + ",maximum-scale=10, user-scalable=yes",
|
||||
disabledInitially = /(user-scalable[\s]*=[\s]*no)|(maximum-scale[\s]*=[\s]*1)[$,\s]/.test( initialContent );
|
||||
|
||||
$.mobile.zoom = $.extend( {}, {
|
||||
enabled: !disabledInitially,
|
||||
locked: false,
|
||||
disable: function( lock ) {
|
||||
if ( !disabledInitially && !$.mobile.zoom.locked ) {
|
||||
meta.attr( "content", disabledZoom );
|
||||
$.mobile.zoom.enabled = false;
|
||||
$.mobile.zoom.locked = lock || false;
|
||||
}
|
||||
},
|
||||
enable: function( unlock ) {
|
||||
if ( !disabledInitially && ( !$.mobile.zoom.locked || unlock === true ) ) {
|
||||
meta.attr( "content", enabledZoom );
|
||||
$.mobile.zoom.enabled = true;
|
||||
$.mobile.zoom.locked = false;
|
||||
}
|
||||
},
|
||||
restore: function() {
|
||||
if ( !disabledInitially ) {
|
||||
meta.attr( "content", initialContent );
|
||||
$.mobile.zoom.enabled = true;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}( jQuery ));
|
||||
|
||||
(function( $, undefined ) {
|
||||
|
||||
var uiScreenHiddenRegex = /\bui-screen-hidden\b/;
|
||||
|
@ -5135,354 +5112,6 @@ $.mobile.behaviors.addFirstLastClasses = {
|
|||
|
||||
(function( $, undefined ) {
|
||||
|
||||
var rInitialLetter = /([A-Z])/g,
|
||||
|
||||
// Construct iconpos class from iconpos value
|
||||
iconposClass = function( iconpos ) {
|
||||
return ( "ui-btn-icon-" + ( iconpos === null ? "left" : iconpos ) );
|
||||
};
|
||||
|
||||
$.widget( "mobile.collapsible", {
|
||||
options: {
|
||||
enhanced: false,
|
||||
expandCueText: null,
|
||||
collapseCueText: null,
|
||||
collapsed: true,
|
||||
heading: "h1,h2,h3,h4,h5,h6,legend",
|
||||
collapsedIcon: null,
|
||||
expandedIcon: null,
|
||||
iconpos: null,
|
||||
theme: null,
|
||||
contentTheme: null,
|
||||
inset: null,
|
||||
corners: null,
|
||||
mini: null
|
||||
},
|
||||
|
||||
_create: function() {
|
||||
var elem = this.element,
|
||||
ui = {
|
||||
accordion: elem
|
||||
.closest( ":jqmData(role='collapsible-set')," +
|
||||
":jqmData(role='collapsibleset')" +
|
||||
( $.mobile.collapsibleset ? ", :mobile-collapsibleset" :
|
||||
"" ) )
|
||||
.addClass( "ui-collapsible-set" )
|
||||
};
|
||||
|
||||
this._ui = ui;
|
||||
this._renderedOptions = this._getOptions( this.options );
|
||||
|
||||
if ( this.options.enhanced ) {
|
||||
ui.heading = this.element.children( ".ui-collapsible-heading" );
|
||||
ui.content = ui.heading.next();
|
||||
ui.anchor = ui.heading.children();
|
||||
ui.status = ui.anchor.children( ".ui-collapsible-heading-status" );
|
||||
} else {
|
||||
this._enhance( elem, ui );
|
||||
}
|
||||
|
||||
this._on( ui.heading, {
|
||||
"tap": function() {
|
||||
ui.heading.find( "a" ).first().addClass( $.mobile.activeBtnClass );
|
||||
},
|
||||
|
||||
"click": function( event ) {
|
||||
this._handleExpandCollapse( !ui.heading.hasClass( "ui-collapsible-heading-collapsed" ) );
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// Adjust the keys inside options for inherited values
|
||||
_getOptions: function( options ) {
|
||||
var key,
|
||||
accordion = this._ui.accordion,
|
||||
accordionWidget = this._ui.accordionWidget;
|
||||
|
||||
// Copy options
|
||||
options = $.extend( {}, options );
|
||||
|
||||
if ( accordion.length && !accordionWidget ) {
|
||||
this._ui.accordionWidget =
|
||||
accordionWidget = accordion.data( "mobile-collapsibleset" );
|
||||
}
|
||||
|
||||
for ( key in options ) {
|
||||
|
||||
// Retrieve the option value first from the options object passed in and, if
|
||||
// null, from the parent accordion or, if that's null too, or if there's no
|
||||
// parent accordion, then from the defaults.
|
||||
options[ key ] =
|
||||
( options[ key ] != null ) ? options[ key ] :
|
||||
( accordionWidget ) ? accordionWidget.options[ key ] :
|
||||
accordion.length ? $.mobile.getAttribute( accordion[ 0 ],
|
||||
key.replace( rInitialLetter, "-$1" ).toLowerCase() ):
|
||||
null;
|
||||
|
||||
if ( null == options[ key ] ) {
|
||||
options[ key ] = $.mobile.collapsible.defaults[ key ];
|
||||
}
|
||||
}
|
||||
|
||||
return options;
|
||||
},
|
||||
|
||||
_themeClassFromOption: function( prefix, value ) {
|
||||
return ( value ? ( value === "none" ? "" : prefix + value ) : "" );
|
||||
},
|
||||
|
||||
_enhance: function( elem, ui ) {
|
||||
var iconclass,
|
||||
opts = this._renderedOptions,
|
||||
contentThemeClass = this._themeClassFromOption( "ui-body-", opts.contentTheme );
|
||||
|
||||
elem.addClass( "ui-collapsible " +
|
||||
( opts.inset ? "ui-collapsible-inset " : "" ) +
|
||||
( opts.inset && opts.corners ? "ui-corner-all " : "" ) +
|
||||
( contentThemeClass ? "ui-collapsible-themed-content " : "" ) );
|
||||
ui.originalHeading = elem.children( this.options.heading ).first(),
|
||||
ui.content = elem
|
||||
.wrapInner( "<div " +
|
||||
"class='ui-collapsible-content " +
|
||||
contentThemeClass + "'></div>" )
|
||||
.children( ".ui-collapsible-content" ),
|
||||
ui.heading = ui.originalHeading;
|
||||
|
||||
// Replace collapsibleHeading if it's a legend
|
||||
if ( ui.heading.is( "legend" ) ) {
|
||||
ui.heading = $( "<div role='heading'>"+ ui.heading.html() +"</div>" );
|
||||
ui.placeholder = $( "<div><!-- placeholder for legend --></div>" ).insertBefore( ui.originalHeading );
|
||||
ui.originalHeading.remove();
|
||||
}
|
||||
|
||||
iconclass = ( opts.collapsed ? ( opts.collapsedIcon ? "ui-icon-" + opts.collapsedIcon : "" ):
|
||||
( opts.expandedIcon ? "ui-icon-" + opts.expandedIcon : "" ) );
|
||||
|
||||
ui.status = $( "<span class='ui-collapsible-heading-status'></span>" );
|
||||
ui.anchor = ui.heading
|
||||
.detach()
|
||||
//modify markup & attributes
|
||||
.addClass( "ui-collapsible-heading" )
|
||||
.append( ui.status )
|
||||
.wrapInner( "<a href='#' class='ui-collapsible-heading-toggle'></a>" )
|
||||
.find( "a" )
|
||||
.first()
|
||||
.addClass( "ui-btn " +
|
||||
( iconclass ? iconclass + " " : "" ) +
|
||||
( iconclass ? iconposClass( opts.iconpos ) +
|
||||
" " : "" ) +
|
||||
this._themeClassFromOption( "ui-btn-", opts.theme ) + " " +
|
||||
( opts.mini ? "ui-mini " : "" ) );
|
||||
|
||||
//drop heading in before content
|
||||
ui.heading.insertBefore( ui.content );
|
||||
|
||||
this._handleExpandCollapse( this.options.collapsed );
|
||||
|
||||
return ui;
|
||||
},
|
||||
|
||||
refresh: function() {
|
||||
this._applyOptions( this.options );
|
||||
this._renderedOptions = this._getOptions( this.options );
|
||||
},
|
||||
|
||||
_applyOptions: function( options ) {
|
||||
var isCollapsed, newTheme, oldTheme, hasCorners, hasIcon,
|
||||
elem = this.element,
|
||||
currentOpts = this._renderedOptions,
|
||||
ui = this._ui,
|
||||
anchor = ui.anchor,
|
||||
status = ui.status,
|
||||
opts = this._getOptions( options );
|
||||
|
||||
// First and foremost we need to make sure the collapsible is in the proper
|
||||
// state, in case somebody decided to change the collapsed option at the
|
||||
// same time as another option
|
||||
if ( options.collapsed !== undefined ) {
|
||||
this._handleExpandCollapse( options.collapsed );
|
||||
}
|
||||
|
||||
isCollapsed = elem.hasClass( "ui-collapsible-collapsed" );
|
||||
|
||||
// We only need to apply the cue text for the current state right away.
|
||||
// The cue text for the alternate state will be stored in the options
|
||||
// and applied the next time the collapsible's state is toggled
|
||||
if ( isCollapsed ) {
|
||||
if ( opts.expandCueText !== undefined ) {
|
||||
status.text( opts.expandCueText );
|
||||
}
|
||||
} else {
|
||||
if ( opts.collapseCueText !== undefined ) {
|
||||
status.text( opts.collapseCueText );
|
||||
}
|
||||
}
|
||||
|
||||
// Update icon
|
||||
|
||||
// Is it supposed to have an icon?
|
||||
hasIcon =
|
||||
|
||||
// If the collapsedIcon is being set, consult that
|
||||
( opts.collapsedIcon !== undefined ? opts.collapsedIcon !== false :
|
||||
|
||||
// Otherwise consult the existing option value
|
||||
currentOpts.collapsedIcon !== false );
|
||||
|
||||
|
||||
// If any icon-related options have changed, make sure the new icon
|
||||
// state is reflected by first removing all icon-related classes
|
||||
// reflecting the current state and then adding all icon-related
|
||||
// classes for the new state
|
||||
if ( !( opts.iconpos === undefined &&
|
||||
opts.collapsedIcon === undefined &&
|
||||
opts.expandedIcon === undefined ) ) {
|
||||
|
||||
// Remove all current icon-related classes
|
||||
anchor.removeClass( [ iconposClass( currentOpts.iconpos ) ]
|
||||
.concat( ( currentOpts.expandedIcon ?
|
||||
[ "ui-icon-" + currentOpts.expandedIcon ] : [] ) )
|
||||
.concat( ( currentOpts.collapsedIcon ?
|
||||
[ "ui-icon-" + currentOpts.collapsedIcon ] : [] ) )
|
||||
.join( " " ) );
|
||||
|
||||
// Add new classes if an icon is supposed to be present
|
||||
if ( hasIcon ) {
|
||||
anchor.addClass(
|
||||
[ iconposClass( opts.iconpos !== undefined ?
|
||||
opts.iconpos : currentOpts.iconpos ) ]
|
||||
.concat( isCollapsed ?
|
||||
[ "ui-icon-" + ( opts.collapsedIcon !== undefined ?
|
||||
opts.collapsedIcon :
|
||||
currentOpts.collapsedIcon ) ] :
|
||||
[ "ui-icon-" + ( opts.expandedIcon !== undefined ?
|
||||
opts.expandedIcon :
|
||||
currentOpts.expandedIcon ) ] )
|
||||
.join( " " ) );
|
||||
}
|
||||
}
|
||||
|
||||
if ( opts.theme !== undefined ) {
|
||||
oldTheme = this._themeClassFromOption( "ui-btn-", currentOpts.theme );
|
||||
newTheme = this._themeClassFromOption( "ui-btn-", opts.theme );
|
||||
anchor.removeClass( oldTheme ).addClass( newTheme );
|
||||
}
|
||||
|
||||
if ( opts.contentTheme !== undefined ) {
|
||||
oldTheme = this._themeClassFromOption( "ui-body-",
|
||||
currentOpts.contentTheme );
|
||||
newTheme = this._themeClassFromOption( "ui-body-",
|
||||
opts.contentTheme );
|
||||
ui.content.removeClass( oldTheme ).addClass( newTheme );
|
||||
}
|
||||
|
||||
if ( opts.inset !== undefined ) {
|
||||
elem.toggleClass( "ui-collapsible-inset", opts.inset );
|
||||
hasCorners = !!( opts.inset && ( opts.corners || currentOpts.corners ) );
|
||||
}
|
||||
|
||||
if ( opts.corners !== undefined ) {
|
||||
hasCorners = !!( opts.corners && ( opts.inset || currentOpts.inset ) );
|
||||
}
|
||||
|
||||
if ( hasCorners !== undefined ) {
|
||||
elem.toggleClass( "ui-corner-all", hasCorners );
|
||||
}
|
||||
|
||||
if ( opts.mini !== undefined ) {
|
||||
anchor.toggleClass( "ui-mini", opts.mini );
|
||||
}
|
||||
},
|
||||
|
||||
_setOptions: function( options ) {
|
||||
this._applyOptions( options );
|
||||
this._super( options );
|
||||
this._renderedOptions = this._getOptions( this.options );
|
||||
},
|
||||
|
||||
_handleExpandCollapse: function( isCollapse ) {
|
||||
var opts = this._renderedOptions,
|
||||
ui = this._ui;
|
||||
|
||||
ui.status.text( isCollapse ? opts.expandCueText : opts.collapseCueText );
|
||||
ui.heading
|
||||
.toggleClass( "ui-collapsible-heading-collapsed", isCollapse )
|
||||
.find( "a" ).first()
|
||||
.toggleClass( "ui-icon-" + opts.expandedIcon, !isCollapse )
|
||||
|
||||
// logic or cause same icon for expanded/collapsed state would remove the ui-icon-class
|
||||
.toggleClass( "ui-icon-" + opts.collapsedIcon, ( isCollapse || opts.expandedIcon === opts.collapsedIcon ) )
|
||||
.removeClass( $.mobile.activeBtnClass );
|
||||
|
||||
this.element.toggleClass( "ui-collapsible-collapsed", isCollapse );
|
||||
ui.content
|
||||
.toggleClass( "ui-collapsible-content-collapsed", isCollapse )
|
||||
.attr( "aria-hidden", isCollapse )
|
||||
.trigger( "updatelayout" );
|
||||
this.options.collapsed = isCollapse;
|
||||
this._trigger( isCollapse ? "collapse" : "expand" );
|
||||
},
|
||||
|
||||
expand: function() {
|
||||
this._handleExpandCollapse( false );
|
||||
},
|
||||
|
||||
collapse: function() {
|
||||
this._handleExpandCollapse( true );
|
||||
},
|
||||
|
||||
_destroy: function() {
|
||||
var ui = this._ui,
|
||||
opts = this.options;
|
||||
|
||||
if ( opts.enhanced ) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ( ui.placeholder ) {
|
||||
ui.originalHeading.insertBefore( ui.placeholder );
|
||||
ui.placeholder.remove();
|
||||
ui.heading.remove();
|
||||
} else {
|
||||
ui.status.remove();
|
||||
ui.heading
|
||||
.removeClass( "ui-collapsible-heading ui-collapsible-heading-collapsed" )
|
||||
.children()
|
||||
.contents()
|
||||
.unwrap();
|
||||
}
|
||||
|
||||
ui.anchor.contents().unwrap();
|
||||
ui.content.contents().unwrap();
|
||||
this.element
|
||||
.removeClass( "ui-collapsible ui-collapsible-collapsed " +
|
||||
"ui-collapsible-themed-content ui-collapsible-inset ui-corner-all" );
|
||||
}
|
||||
});
|
||||
|
||||
// Defaults to be used by all instances of collapsible if per-instance values
|
||||
// are unset or if nothing is specified by way of inheritance from an accordion.
|
||||
// Note that this hash does not contain options "collapsed" or "heading",
|
||||
// because those are not inheritable.
|
||||
$.mobile.collapsible.defaults = {
|
||||
expandCueText: " click to expand contents",
|
||||
collapseCueText: " click to collapse contents",
|
||||
collapsedIcon: "plus",
|
||||
contentTheme: "inherit",
|
||||
expandedIcon: "minus",
|
||||
iconpos: "left",
|
||||
inset: true,
|
||||
corners: true,
|
||||
theme: "inherit",
|
||||
mini: false
|
||||
};
|
||||
|
||||
})( jQuery );
|
||||
|
||||
(function( $, undefined ) {
|
||||
|
||||
$.widget( "mobile.controlgroup", $.extend( {
|
||||
options: {
|
||||
enhanced: false,
|
||||
|
|
|
@ -613,107 +613,6 @@ li.ui-block-e {
|
|||
}
|
||||
|
||||
|
||||
.ui-collapsible {
|
||||
margin: 0 -1em;
|
||||
}
|
||||
.ui-collapsible-inset,
|
||||
.ui-collapsible-set {
|
||||
margin: .5em 0;
|
||||
}
|
||||
.ui-collapsible-heading {
|
||||
display: block;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
position: relative;
|
||||
}
|
||||
.ui-collapsible-heading .ui-btn {
|
||||
text-align: left;
|
||||
margin: 0;
|
||||
border-left-width: 0;
|
||||
border-right-width: 0;
|
||||
}
|
||||
.ui-collapsible-heading .ui-btn-icon-top,
|
||||
.ui-collapsible-heading .ui-btn-icon-bottom {
|
||||
text-align: center;
|
||||
}
|
||||
.ui-collapsible-inset .ui-collapsible-heading .ui-btn {
|
||||
border-right-width: 1px;
|
||||
border-left-width: 1px;
|
||||
}
|
||||
.ui-collapsible-collapsed + .ui-collapsible:not(.ui-collapsible-inset) > .ui-collapsible-heading .ui-btn {
|
||||
border-top-width: 0;
|
||||
}
|
||||
.ui-collapsible-set .ui-collapsible:not(.ui-collapsible-inset) .ui-collapsible-heading .ui-btn {
|
||||
border-top-width: 1px;
|
||||
}
|
||||
.ui-collapsible-heading-status {
|
||||
position: absolute !important;
|
||||
height: 1px;
|
||||
width: 1px;
|
||||
overflow: hidden;
|
||||
clip: rect(1px,1px,1px,1px);
|
||||
}
|
||||
.ui-collapsible-content {
|
||||
display: block;
|
||||
margin: 0;
|
||||
padding: .5em 1em;
|
||||
}
|
||||
.ui-collapsible-themed-content .ui-collapsible-content {
|
||||
border-left-width: 0;
|
||||
border-right-width: 0;
|
||||
border-top-width: 0;
|
||||
border-bottom-width: 1px;
|
||||
border-style: solid;
|
||||
}
|
||||
.ui-collapsible-inset.ui-collapsible-themed-content .ui-collapsible-content {
|
||||
border-left-width: 1px;
|
||||
border-right-width: 1px;
|
||||
}
|
||||
.ui-collapsible-inset .ui-collapsible-content {
|
||||
margin: 0;
|
||||
}
|
||||
.ui-collapsible-content-collapsed {
|
||||
display: none;
|
||||
}
|
||||
.ui-collapsible-set > .ui-collapsible.ui-corner-all {
|
||||
-webkit-border-radius: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
.ui-collapsible-heading,
|
||||
.ui-collapsible-heading > .ui-btn {
|
||||
-webkit-border-radius: inherit;
|
||||
border-radius: inherit;
|
||||
}
|
||||
.ui-collapsible-set .ui-collapsible.ui-first-child {
|
||||
-webkit-border-top-right-radius: inherit;
|
||||
border-top-right-radius: inherit;
|
||||
-webkit-border-top-left-radius: inherit;
|
||||
border-top-left-radius: inherit;
|
||||
}
|
||||
.ui-collapsible-content,
|
||||
.ui-collapsible-set .ui-collapsible.ui-last-child {
|
||||
-webkit-border-bottom-right-radius: inherit;
|
||||
border-bottom-right-radius: inherit;
|
||||
-webkit-border-bottom-left-radius: inherit;
|
||||
border-bottom-left-radius: inherit;
|
||||
}
|
||||
.ui-collapsible-themed-content:not(.ui-collapsible-collapsed) > .ui-collapsible-heading {
|
||||
-webkit-border-bottom-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
-webkit-border-bottom-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
.ui-collapsible-set .ui-collapsible {
|
||||
margin: -1px -1em 0;
|
||||
}
|
||||
.ui-collapsible-set .ui-collapsible-inset {
|
||||
margin: -1px 0 0;
|
||||
}
|
||||
.ui-collapsible-set .ui-collapsible.ui-first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
|
||||
.ui-controlgroup,
|
||||
fieldset.ui-controlgroup {
|
||||
padding: 0;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<title>Emby</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="tvShowsPage" data-role="page" class="page libraryPage" data-require="scripts/tvshows,scripts/queryfilters">
|
||||
<div id="tvShowsPage" data-role="page" class="page libraryPage" data-require="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>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<title>Emby</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="wizardLibraryPage" data-role="page" class="page standalonePage wizardPage mediaLibraryPage" data-require="jqmpopup,scripts/medialibrarypage,scripts/taskbutton,paperbuttonstyle">
|
||||
<div id="wizardLibraryPage" data-role="page" class="page standalonePage wizardPage mediaLibraryPage" data-require="jqmcollapsible,jqmpopup,scripts/medialibrarypage,scripts/taskbutton,paperbuttonstyle">
|
||||
|
||||
<div data-role="content">
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue