mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update video probing
This commit is contained in:
parent
8a32cc215f
commit
b70aa4926c
25 changed files with 407 additions and 355 deletions
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "iron-dropdown",
|
||||
"version": "1.0.5",
|
||||
"version": "1.0.6",
|
||||
"description": "",
|
||||
"authors": [
|
||||
"The Polymer Authors"
|
||||
|
@ -35,11 +35,11 @@
|
|||
"web-component-tester": "*",
|
||||
"iron-image": "polymerelements/iron-image#^1.0.0"
|
||||
},
|
||||
"_release": "1.0.5",
|
||||
"_release": "1.0.6",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v1.0.5",
|
||||
"commit": "9c300a14a5aeca1c02f085e9117521af814ce640"
|
||||
"tag": "v1.0.6",
|
||||
"commit": "9b52ccb37577b0e4b3d34f3795117d95648b39ff"
|
||||
},
|
||||
"_source": "git://github.com/polymerelements/iron-dropdown.git",
|
||||
"_target": "^1.0.0",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "iron-dropdown",
|
||||
"version": "1.0.5",
|
||||
"version": "1.0.6",
|
||||
"description": "",
|
||||
"authors": [
|
||||
"The Polymer Authors"
|
||||
|
|
|
@ -162,6 +162,17 @@ method is called on the element.
|
|||
value: false
|
||||
},
|
||||
|
||||
/**
|
||||
* By default, the dropdown will constrain scrolling on the page
|
||||
* to itself when opened.
|
||||
* Set to true in order to prevent scroll from being constrained
|
||||
* to the dropdown when it opens.
|
||||
*/
|
||||
allowOutsideScroll: {
|
||||
type: Boolean,
|
||||
value: false
|
||||
},
|
||||
|
||||
/**
|
||||
* We memoize the positionTarget bounding rectangle so that we can
|
||||
* limit the number of times it is queried per resize / relayout.
|
||||
|
@ -282,7 +293,10 @@ method is called on the element.
|
|||
* Overridden from `IronOverlayBehavior`.
|
||||
*/
|
||||
_renderOpened: function() {
|
||||
if (!this.allowOutsideScroll) {
|
||||
Polymer.IronDropdownScrollManager.pushScrollLock(this);
|
||||
}
|
||||
|
||||
if (!this.noAnimations && this.animationConfig && this.animationConfig.open) {
|
||||
this.$.contentWrapper.classList.add('animating');
|
||||
this.playAnimation('open');
|
||||
|
|
|
@ -33,6 +33,14 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
|||
</template>
|
||||
</test-fixture>
|
||||
|
||||
<test-fixture id="NonLockingDropdown">
|
||||
<template>
|
||||
<iron-dropdown>
|
||||
<div class="dropdown-content" allow-outside-scroll>I don't lock scroll!</div>
|
||||
</iron-dropdown>
|
||||
</template>
|
||||
</test-fixture>
|
||||
|
||||
<test-fixture id="AlignedDropdown">
|
||||
<template>
|
||||
<div style="display: block; position: relative; width: 100px; height: 100px;">
|
||||
|
@ -131,6 +139,21 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
|||
});
|
||||
});
|
||||
|
||||
suite('locking scroll', function() {
|
||||
var dropdown;
|
||||
|
||||
setup(function() {
|
||||
dropdown = fixture('NonLockingDropdown');
|
||||
});
|
||||
|
||||
test('can be disabled with `allowOutsideScroll`', function() {
|
||||
dropdown.open();
|
||||
|
||||
expect(Polymer.IronDropdownScrollManager.elementIsScrollLocked(document.body))
|
||||
.to.be.equal(false);
|
||||
});
|
||||
});
|
||||
|
||||
suite('aligned dropdown', function() {
|
||||
var parent;
|
||||
setup(function() {
|
||||
|
|
|
@ -34,14 +34,14 @@
|
|||
"web-component-tester": "*",
|
||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||
},
|
||||
"homepage": "https://github.com/polymerelements/iron-overlay-behavior",
|
||||
"homepage": "https://github.com/PolymerElements/iron-overlay-behavior",
|
||||
"_release": "1.0.6",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v1.0.6",
|
||||
"commit": "9c77f077f4181b6f03cc986d0f3c224094edbc2d"
|
||||
},
|
||||
"_source": "git://github.com/polymerelements/iron-overlay-behavior.git",
|
||||
"_source": "git://github.com/PolymerElements/iron-overlay-behavior.git",
|
||||
"_target": "^1.0.0",
|
||||
"_originalSource": "polymerelements/iron-overlay-behavior"
|
||||
"_originalSource": "PolymerElements/iron-overlay-behavior"
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "iron-selector",
|
||||
"version": "1.0.3",
|
||||
"version": "1.0.4",
|
||||
"description": "Manages a set of elements that can be selected",
|
||||
"private": true,
|
||||
"license": "http://polymer.github.io/LICENSE.txt",
|
||||
|
@ -31,11 +31,11 @@
|
|||
"web-component-tester": "*",
|
||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||
},
|
||||
"_release": "1.0.3",
|
||||
"_release": "1.0.4",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v1.0.3",
|
||||
"commit": "d93b02871f790b6bcb1fff52f24757e9c2eb04a5"
|
||||
"tag": "v1.0.4",
|
||||
"commit": "2af8ee5b7cd489bca7d4689c563b82fd356a9534"
|
||||
},
|
||||
"_source": "git://github.com/PolymerElements/iron-selector.git",
|
||||
"_target": "^1.0.0",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "iron-selector",
|
||||
"version": "1.0.3",
|
||||
"version": "1.0.4",
|
||||
"description": "Manages a set of elements that can be selected",
|
||||
"private": true,
|
||||
"license": "http://polymer.github.io/LICENSE.txt",
|
||||
|
|
|
@ -21,29 +21,33 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
|||
* Cancel the event to abort selection.
|
||||
*
|
||||
* @event iron-activate
|
||||
*
|
||||
**/
|
||||
*/
|
||||
|
||||
/**
|
||||
* Fired when an item is selected
|
||||
*
|
||||
* @event iron-select
|
||||
*
|
||||
**/
|
||||
*/
|
||||
|
||||
/**
|
||||
* Fired when an item is deselected
|
||||
*
|
||||
* @event iron-deselect
|
||||
*/
|
||||
|
||||
/**
|
||||
* Fired when the list of selectable items changes (e.g., items are
|
||||
* added or removed). The detail of the event is a list of mutation
|
||||
* records that describe what changed.
|
||||
*
|
||||
**/
|
||||
* @event iron-items-changed
|
||||
*/
|
||||
|
||||
properties: {
|
||||
|
||||
/**
|
||||
* If you want to use the attribute value of an element for `selected` instead of the index,
|
||||
* set this to the name of the attribute.
|
||||
*
|
||||
* @attribute attrForSelected
|
||||
* @type {string}
|
||||
*/
|
||||
attrForSelected: {
|
||||
type: String,
|
||||
|
@ -52,9 +56,6 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
|||
|
||||
/**
|
||||
* Gets or sets the selected element. The default is to use the index of the item.
|
||||
*
|
||||
* @attribute selected
|
||||
* @type {string}
|
||||
*/
|
||||
selected: {
|
||||
type: String,
|
||||
|
@ -63,9 +64,6 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
|||
|
||||
/**
|
||||
* Returns the currently selected item.
|
||||
*
|
||||
* @attribute selectedItem
|
||||
* @type {Object}
|
||||
*/
|
||||
selectedItem: {
|
||||
type: Object,
|
||||
|
@ -77,10 +75,6 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
|||
* The event that fires from items when they are selected. Selectable
|
||||
* will listen for this event from items and update the selection state.
|
||||
* Set to empty string to listen to no events.
|
||||
*
|
||||
* @attribute activateEvent
|
||||
* @type {string}
|
||||
* @default 'tap'
|
||||
*/
|
||||
activateEvent: {
|
||||
type: String,
|
||||
|
@ -91,17 +85,11 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
|||
/**
|
||||
* This is a CSS selector string. If this is set, only items that match the CSS selector
|
||||
* are selectable.
|
||||
*
|
||||
* @attribute selectable
|
||||
* @type {string}
|
||||
*/
|
||||
selectable: String,
|
||||
|
||||
/**
|
||||
* The class to set on elements when selected.
|
||||
*
|
||||
* @attribute selectedClass
|
||||
* @type {string}
|
||||
*/
|
||||
selectedClass: {
|
||||
type: String,
|
||||
|
@ -110,9 +98,6 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
|||
|
||||
/**
|
||||
* The attribute to set on elements when selected.
|
||||
*
|
||||
* @attribute selectedAttribute
|
||||
* @type {string}
|
||||
*/
|
||||
selectedAttribute: {
|
||||
type: String,
|
||||
|
@ -123,10 +108,8 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
|||
* The set of excluded elements where the key is the `localName`
|
||||
* of the element that will be ignored from the item list.
|
||||
*
|
||||
* @type {object}
|
||||
* @default {template: 1}
|
||||
*/
|
||||
|
||||
excludedLocalNames: {
|
||||
type: Object,
|
||||
value: function() {
|
||||
|
@ -295,7 +278,15 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
|||
|
||||
// observe items change under the given node.
|
||||
_observeItems: function(node) {
|
||||
var observer = new MutationObserver(function() {
|
||||
// TODO(cdata): Update this when we get distributed children changed.
|
||||
var observer = new MutationObserver(function(mutations) {
|
||||
// Let other interested parties know about the change so that
|
||||
// we don't have to recreate mutation observers everywher.
|
||||
this.fire('iron-items-changed', mutations, {
|
||||
bubbles: false,
|
||||
cancelable: false
|
||||
});
|
||||
|
||||
if (this.selected != null) {
|
||||
this._updateSelected();
|
||||
}
|
||||
|
|
|
@ -142,6 +142,29 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
|||
assert.equal(selectedEventCounter, 0);
|
||||
});
|
||||
|
||||
suite('items changing', function() {
|
||||
test('cause iron-items-changed to fire', function(done) {
|
||||
var newItem = document.createElement('div');
|
||||
var changeCount = 0;
|
||||
|
||||
newItem.id = 'item999';
|
||||
|
||||
s2.addEventListener('iron-items-changed', function() {
|
||||
changeCount++;
|
||||
});
|
||||
|
||||
s2.appendChild(newItem);
|
||||
|
||||
Polymer.Base.async(function() {
|
||||
s2.removeChild(newItem);
|
||||
|
||||
Polymer.Base.async(function() {
|
||||
expect(changeCount).to.be.equal(2);
|
||||
done();
|
||||
}, 1);
|
||||
}, 1);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
"tag": "v1.0.6",
|
||||
"commit": "ec51bf68f05c40373536cc726ca674e4549b7db2"
|
||||
},
|
||||
"_source": "git://github.com/polymerelements/neon-animation.git",
|
||||
"_source": "git://github.com/PolymerElements/neon-animation.git",
|
||||
"_target": "^1.0.0",
|
||||
"_originalSource": "polymerelements/neon-animation"
|
||||
"_originalSource": "PolymerElements/neon-animation"
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "paper-button",
|
||||
"version": "1.0.5",
|
||||
"version": "1.0.6",
|
||||
"description": "Material design button",
|
||||
"authors": [
|
||||
"The Polymer Authors"
|
||||
|
@ -37,11 +37,11 @@
|
|||
"iron-test-helpers": "polymerelements/iron-test-helpers#^1.0.0",
|
||||
"paper-styles": "polymerelements/paper-styles#^1.0.0"
|
||||
},
|
||||
"_release": "1.0.5",
|
||||
"_release": "1.0.6",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v1.0.5",
|
||||
"commit": "e8367f8f0d77e420a75c8811bda9b0666b81ff8e"
|
||||
"tag": "v1.0.6",
|
||||
"commit": "b70c4a22cbe3617d4a7717fe27ba68edd0d0c04f"
|
||||
},
|
||||
"_source": "git://github.com/PolymerElements/paper-button.git",
|
||||
"_target": "~1.0.1",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "paper-button",
|
||||
"version": "1.0.5",
|
||||
"version": "1.0.6",
|
||||
"description": "Material design button",
|
||||
"authors": [
|
||||
"The Polymer Authors"
|
||||
|
|
|
@ -104,12 +104,12 @@ Custom property | Description | Default
|
|||
|
||||
:host([raised]) .keyboard-focus {
|
||||
font-weight: bold;
|
||||
@apply(paper-button-raised-keyboard-focus);
|
||||
@apply(--paper-button-raised-keyboard-focus);
|
||||
}
|
||||
|
||||
:host(:not([raised])) .keyboard-focus {
|
||||
font-weight: bold;
|
||||
@apply(paper-button-flat-keyboard-focus);
|
||||
@apply(--paper-button-flat-keyboard-focus);
|
||||
}
|
||||
|
||||
:host([disabled]) {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "paper-radio-button",
|
||||
"version": "1.0.7",
|
||||
"version": "1.0.8",
|
||||
"description": "A material design radio button",
|
||||
"authors": [
|
||||
"The Polymer Authors"
|
||||
|
@ -24,7 +24,7 @@
|
|||
"paper-styles": "PolymerLabs/paper-styles#^1.0.0",
|
||||
"paper-behaviors": "PolymerElements/paper-behaviors#^1.0.0",
|
||||
"iron-checked-element-behavior": "PolymerElements/iron-checked-element-behavior#^1.0.0",
|
||||
"polymer": "Polymer/polymer#^1.0.0"
|
||||
"polymer": "Polymer/polymer#^1.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"web-component-tester": "Polymer/web-component-tester#^3.3.0",
|
||||
|
@ -33,11 +33,11 @@
|
|||
"iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0",
|
||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||
},
|
||||
"_release": "1.0.7",
|
||||
"_release": "1.0.8",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v1.0.7",
|
||||
"commit": "63a78475ecc28dfbc849e63001f0c8d001811e44"
|
||||
"tag": "v1.0.8",
|
||||
"commit": "f6fcf203775984877bd97393ac4a9cb2da45597b"
|
||||
},
|
||||
"_source": "git://github.com/PolymerElements/paper-radio-button.git",
|
||||
"_target": "~1.0.5",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "paper-radio-button",
|
||||
"version": "1.0.7",
|
||||
"version": "1.0.8",
|
||||
"description": "A material design radio button",
|
||||
"authors": [
|
||||
"The Polymer Authors"
|
||||
|
@ -24,7 +24,7 @@
|
|||
"paper-styles": "PolymerLabs/paper-styles#^1.0.0",
|
||||
"paper-behaviors": "PolymerElements/paper-behaviors#^1.0.0",
|
||||
"iron-checked-element-behavior": "PolymerElements/iron-checked-element-behavior#^1.0.0",
|
||||
"polymer": "Polymer/polymer#^1.0.0"
|
||||
"polymer": "Polymer/polymer#^1.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"web-component-tester": "Polymer/web-component-tester#^3.3.0",
|
||||
|
|
|
@ -1,114 +0,0 @@
|
|||
/**
|
||||
@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
|
||||
*/
|
||||
|
||||
:host {
|
||||
display: inline-block;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
:host(:focus) {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
#radioContainer {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
cursor: pointer;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
:host #ink {
|
||||
position: absolute;
|
||||
top: -16px;
|
||||
left: -16px;
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
color: var(--paper-radio-button-unchecked-ink-color, --primary-text-color);
|
||||
opacity: 0.6;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
:host #ink[checked] {
|
||||
color: var(--paper-radio-button-checked-ink-color, --default-primary-color);
|
||||
}
|
||||
|
||||
:host #offRadio {
|
||||
position: absolute;
|
||||
box-sizing: content-box;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border-radius: 50%;
|
||||
border: solid 2px;
|
||||
background-color: var(--paper-radio-button-unchecked-background-color, transparent);
|
||||
border-color: var(--paper-radio-button-unchecked-color, --primary-text-color);
|
||||
transition: border-color 0.28s;
|
||||
}
|
||||
|
||||
:host #onRadio {
|
||||
position: absolute;
|
||||
box-sizing: content-box;
|
||||
top: 4px;
|
||||
left: 4px;
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
border-radius: 50%;
|
||||
background-color: var(--paper-radio-button-checked-color, --default-primary-color);
|
||||
-webkit-transform: scale(0);
|
||||
transform: scale(0);
|
||||
transition: -webkit-transform ease 0.28s;
|
||||
transition: transform ease 0.28s;
|
||||
}
|
||||
|
||||
:host([checked]) #offRadio {
|
||||
border-color: var(--paper-radio-button-checked-color, --default-primary-color);
|
||||
}
|
||||
|
||||
:host([checked]) #onRadio {
|
||||
-webkit-transform: scale(1);
|
||||
transform: scale(1);
|
||||
}
|
||||
|
||||
#radioLabel {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
margin-left: 10px;
|
||||
white-space: normal;
|
||||
pointer-events: none;
|
||||
color: var(--paper-radio-button-label-color, --primary-text-color);
|
||||
}
|
||||
|
||||
#radioLabel[hidden] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* disabled state */
|
||||
:host([disabled]) {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
:host([disabled]) #offRadio {
|
||||
border-color: var(--paper-radio-button-unchecked-color, --primary-text-color);
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
:host([disabled][checked]) #onRadio {
|
||||
background-color: var(--paper-radio-button-unchecked-color, --primary-text-color);
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
:host([disabled]) #radioLabel {
|
||||
/* slightly darker than the button, so that it's readable */
|
||||
opacity: 0.65;
|
||||
}
|
|
@ -46,10 +46,113 @@ Custom property | Description | Default
|
|||
-->
|
||||
|
||||
<dom-module id="paper-radio-button">
|
||||
|
||||
<link rel="import" type="css" href="paper-radio-button.css">
|
||||
|
||||
<template>
|
||||
<style>
|
||||
:host {
|
||||
display: inline-block;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
:host(:focus) {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
#radioContainer {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
cursor: pointer;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
:host #ink {
|
||||
position: absolute;
|
||||
top: -16px;
|
||||
left: -16px;
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
color: var(--paper-radio-button-unchecked-ink-color, --primary-text-color);
|
||||
opacity: 0.6;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
:host #ink[checked] {
|
||||
color: var(--paper-radio-button-checked-ink-color, --default-primary-color);
|
||||
}
|
||||
|
||||
:host #offRadio {
|
||||
position: absolute;
|
||||
box-sizing: content-box;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border-radius: 50%;
|
||||
border: solid 2px;
|
||||
background-color: var(--paper-radio-button-unchecked-background-color, transparent);
|
||||
border-color: var(--paper-radio-button-unchecked-color, --primary-text-color);
|
||||
transition: border-color 0.28s;
|
||||
}
|
||||
|
||||
:host #onRadio {
|
||||
position: absolute;
|
||||
box-sizing: content-box;
|
||||
top: 4px;
|
||||
left: 4px;
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
border-radius: 50%;
|
||||
background-color: var(--paper-radio-button-checked-color, --default-primary-color);
|
||||
-webkit-transform: scale(0);
|
||||
transform: scale(0);
|
||||
transition: -webkit-transform ease 0.28s;
|
||||
transition: transform ease 0.28s;
|
||||
}
|
||||
|
||||
:host([checked]) #offRadio {
|
||||
border-color: var(--paper-radio-button-checked-color, --default-primary-color);
|
||||
}
|
||||
|
||||
:host([checked]) #onRadio {
|
||||
-webkit-transform: scale(1);
|
||||
transform: scale(1);
|
||||
}
|
||||
|
||||
#radioLabel {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
margin-left: 10px;
|
||||
white-space: normal;
|
||||
pointer-events: none;
|
||||
color: var(--paper-radio-button-label-color, --primary-text-color);
|
||||
}
|
||||
|
||||
#radioLabel[hidden] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* disabled state */
|
||||
:host([disabled]) {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
:host([disabled]) #offRadio {
|
||||
border-color: var(--paper-radio-button-unchecked-color, --primary-text-color);
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
:host([disabled][checked]) #onRadio {
|
||||
background-color: var(--paper-radio-button-unchecked-color, --primary-text-color);
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
:host([disabled]) #radioLabel {
|
||||
/* slightly darker than the button, so that it's readable */
|
||||
opacity: 0.65;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="radioContainer">
|
||||
<div id="offRadio"></div>
|
||||
|
|
|
@ -30,14 +30,14 @@
|
|||
"web-component-tester": "*",
|
||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||
},
|
||||
"homepage": "https://github.com/polymerelements/paper-ripple",
|
||||
"homepage": "https://github.com/PolymerElements/paper-ripple",
|
||||
"_release": "1.0.2",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v1.0.2",
|
||||
"commit": "b546dbe6ad0b1f58cac80caec3136cf3232e12fc"
|
||||
},
|
||||
"_source": "git://github.com/polymerelements/paper-ripple.git",
|
||||
"_source": "git://github.com/PolymerElements/paper-ripple.git",
|
||||
"_target": "^1.0.0",
|
||||
"_originalSource": "polymerelements/paper-ripple"
|
||||
"_originalSource": "PolymerElements/paper-ripple"
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "paper-toggle-button",
|
||||
"version": "1.0.7",
|
||||
"version": "1.0.8",
|
||||
"description": "A material design toggle button control",
|
||||
"authors": [
|
||||
"The Polymer Authors"
|
||||
|
@ -34,11 +34,11 @@
|
|||
"iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0",
|
||||
"iron-flex-layout": "PolymerElements/iron-flex-layout#^1.0.0"
|
||||
},
|
||||
"_release": "1.0.7",
|
||||
"_release": "1.0.8",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v1.0.7",
|
||||
"commit": "9abc8568d25c83c77394d141b82ff1630649ee7c"
|
||||
"tag": "v1.0.8",
|
||||
"commit": "b1630a0597b9d55d09396c8636daf443890a46df"
|
||||
},
|
||||
"_source": "git://github.com/PolymerElements/paper-toggle-button.git",
|
||||
"_target": "~1.0.5",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "paper-toggle-button",
|
||||
"version": "1.0.7",
|
||||
"version": "1.0.8",
|
||||
"description": "A material design toggle button control",
|
||||
"authors": [
|
||||
"The Polymer Authors"
|
||||
|
|
|
@ -98,7 +98,7 @@ Custom property | Description | Default
|
|||
height: 14px;
|
||||
}
|
||||
|
||||
#toggleBar {
|
||||
.toggle-bar {
|
||||
position: absolute;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
|
@ -108,16 +108,16 @@ Custom property | Description | Default
|
|||
transition: background-color linear .08s;
|
||||
}
|
||||
|
||||
:host([checked]) #toggleBar {
|
||||
:host([checked]) .toggle-bar {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
:host([disabled]) #toggleBar {
|
||||
:host([disabled]) .toggle-bar {
|
||||
background-color: #000;
|
||||
opacity: 0.12;
|
||||
}
|
||||
|
||||
#toggleButton {
|
||||
.toggle-button {
|
||||
position: absolute;
|
||||
top: -3px;
|
||||
height: 20px;
|
||||
|
@ -129,22 +129,22 @@ Custom property | Description | Default
|
|||
will-change: transform;
|
||||
}
|
||||
|
||||
#toggleButton.dragging {
|
||||
.toggle-button.dragging {
|
||||
-webkit-transition: none;
|
||||
transition: none;
|
||||
}
|
||||
|
||||
:host([checked]) #toggleButton {
|
||||
:host([checked]) .toggle-button {
|
||||
-webkit-transform: translate(16px, 0);
|
||||
transform: translate(16px, 0);
|
||||
}
|
||||
|
||||
:host([disabled]) #toggleButton {
|
||||
:host([disabled]) .toggle-button {
|
||||
background-color: #bdbdbd;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
#ink {
|
||||
.toggle-ink {
|
||||
position: absolute;
|
||||
top: -14px;
|
||||
left: -14px;
|
||||
|
|
2
dashboard-ui/cordova/localassetmanager.js
vendored
2
dashboard-ui/cordova/localassetmanager.js
vendored
|
@ -709,7 +709,7 @@
|
|||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
if ($.browser.android) {
|
||||
deferred.resolveWith(null, ['file://' + ]);
|
||||
deferred.resolveWith(null, ['file://' + path]);
|
||||
return deferred.promise();
|
||||
}
|
||||
|
||||
|
|
28
dashboard-ui/cordova/registrationservices.js
vendored
28
dashboard-ui/cordova/registrationservices.js
vendored
|
@ -61,6 +61,7 @@
|
|||
var info = IapManager.getProductInfo(id) || {};
|
||||
|
||||
if (info.owned) {
|
||||
notifyServer(id);
|
||||
validatedFeatures.push(id);
|
||||
deferred.resolve();
|
||||
return;
|
||||
|
@ -91,6 +92,33 @@
|
|||
});
|
||||
}
|
||||
|
||||
function notifyServer(id) {
|
||||
|
||||
if (!$.browser.android) {
|
||||
return;
|
||||
}
|
||||
|
||||
HttpClient.send({
|
||||
type: "POST",
|
||||
url: "https://mb3admin.com/test/admin/service/appstore/addDeviceFeature",
|
||||
data: {
|
||||
deviceId: ConnectionManager.deviceId(),
|
||||
feature: 'com.mb.android.unlock'
|
||||
},
|
||||
contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
|
||||
headers: {
|
||||
"X-EMBY-TOKEN": "EMBY_DEVICE"
|
||||
}
|
||||
|
||||
}).done(function (result) {
|
||||
|
||||
Logger.log('addDeviceFeature succeeded');
|
||||
|
||||
}).fail(function () {
|
||||
Logger.log('addDeviceFeature failed');
|
||||
});
|
||||
}
|
||||
|
||||
function getInAppPurchaseElement(info) {
|
||||
|
||||
require(['paperbuttonstyle']);
|
||||
|
|
|
@ -94,6 +94,12 @@ var Dashboard = {
|
|||
|
||||
var url = data.url.toLowerCase();
|
||||
|
||||
// Don't bounce to login on failures to contact our external servers
|
||||
if (url.indexOf('emby.media') != -1) {
|
||||
Dashboard.hideLoadingMsg();
|
||||
return;
|
||||
}
|
||||
|
||||
// Bounce to the login screen, but not if a password entry fails, obviously
|
||||
if (url.indexOf('/password') == -1 &&
|
||||
url.indexOf('/authenticate') == -1 &&
|
||||
|
|
|
@ -10809,29 +10809,33 @@ The `aria-labelledby` attribute will be set to the header element, if one exists
|
|||
* Cancel the event to abort selection.
|
||||
*
|
||||
* @event iron-activate
|
||||
*
|
||||
**/
|
||||
*/
|
||||
|
||||
/**
|
||||
* Fired when an item is selected
|
||||
*
|
||||
* @event iron-select
|
||||
*
|
||||
**/
|
||||
*/
|
||||
|
||||
/**
|
||||
* Fired when an item is deselected
|
||||
*
|
||||
* @event iron-deselect
|
||||
*/
|
||||
|
||||
/**
|
||||
* Fired when the list of selectable items changes (e.g., items are
|
||||
* added or removed). The detail of the event is a list of mutation
|
||||
* records that describe what changed.
|
||||
*
|
||||
**/
|
||||
* @event iron-items-changed
|
||||
*/
|
||||
|
||||
properties: {
|
||||
|
||||
/**
|
||||
* If you want to use the attribute value of an element for `selected` instead of the index,
|
||||
* set this to the name of the attribute.
|
||||
*
|
||||
* @attribute attrForSelected
|
||||
* @type {string}
|
||||
*/
|
||||
attrForSelected: {
|
||||
type: String,
|
||||
|
@ -10840,9 +10844,6 @@ The `aria-labelledby` attribute will be set to the header element, if one exists
|
|||
|
||||
/**
|
||||
* Gets or sets the selected element. The default is to use the index of the item.
|
||||
*
|
||||
* @attribute selected
|
||||
* @type {string}
|
||||
*/
|
||||
selected: {
|
||||
type: String,
|
||||
|
@ -10851,9 +10852,6 @@ The `aria-labelledby` attribute will be set to the header element, if one exists
|
|||
|
||||
/**
|
||||
* Returns the currently selected item.
|
||||
*
|
||||
* @attribute selectedItem
|
||||
* @type {Object}
|
||||
*/
|
||||
selectedItem: {
|
||||
type: Object,
|
||||
|
@ -10865,10 +10863,6 @@ The `aria-labelledby` attribute will be set to the header element, if one exists
|
|||
* The event that fires from items when they are selected. Selectable
|
||||
* will listen for this event from items and update the selection state.
|
||||
* Set to empty string to listen to no events.
|
||||
*
|
||||
* @attribute activateEvent
|
||||
* @type {string}
|
||||
* @default 'tap'
|
||||
*/
|
||||
activateEvent: {
|
||||
type: String,
|
||||
|
@ -10879,17 +10873,11 @@ The `aria-labelledby` attribute will be set to the header element, if one exists
|
|||
/**
|
||||
* This is a CSS selector string. If this is set, only items that match the CSS selector
|
||||
* are selectable.
|
||||
*
|
||||
* @attribute selectable
|
||||
* @type {string}
|
||||
*/
|
||||
selectable: String,
|
||||
|
||||
/**
|
||||
* The class to set on elements when selected.
|
||||
*
|
||||
* @attribute selectedClass
|
||||
* @type {string}
|
||||
*/
|
||||
selectedClass: {
|
||||
type: String,
|
||||
|
@ -10898,9 +10886,6 @@ The `aria-labelledby` attribute will be set to the header element, if one exists
|
|||
|
||||
/**
|
||||
* The attribute to set on elements when selected.
|
||||
*
|
||||
* @attribute selectedAttribute
|
||||
* @type {string}
|
||||
*/
|
||||
selectedAttribute: {
|
||||
type: String,
|
||||
|
@ -10911,10 +10896,8 @@ The `aria-labelledby` attribute will be set to the header element, if one exists
|
|||
* The set of excluded elements where the key is the `localName`
|
||||
* of the element that will be ignored from the item list.
|
||||
*
|
||||
* @type {object}
|
||||
* @default {template: 1}
|
||||
*/
|
||||
|
||||
excludedLocalNames: {
|
||||
type: Object,
|
||||
value: function() {
|
||||
|
@ -11083,7 +11066,15 @@ The `aria-labelledby` attribute will be set to the header element, if one exists
|
|||
|
||||
// observe items change under the given node.
|
||||
_observeItems: function(node) {
|
||||
var observer = new MutationObserver(function() {
|
||||
// TODO(cdata): Update this when we get distributed children changed.
|
||||
var observer = new MutationObserver(function(mutations) {
|
||||
// Let other interested parties know about the change so that
|
||||
// we don't have to recreate mutation observers everywher.
|
||||
this.fire('iron-items-changed', mutations, {
|
||||
bubbles: false,
|
||||
cancelable: false
|
||||
});
|
||||
|
||||
if (this.selected != null) {
|
||||
this._updateSelected();
|
||||
}
|
||||
|
@ -13791,12 +13782,12 @@ is separate from validation, and `allowed-pattern` does not affect how the input
|
|||
|
||||
:host([raised]) .keyboard-focus {
|
||||
font-weight: bold;
|
||||
@apply(paper-button-raised-keyboard-focus);
|
||||
@apply(--paper-button-raised-keyboard-focus);
|
||||
}
|
||||
|
||||
:host(:not([raised])) .keyboard-focus {
|
||||
font-weight: bold;
|
||||
@apply(paper-button-flat-keyboard-focus);
|
||||
@apply(--paper-button-flat-keyboard-focus);
|
||||
}
|
||||
|
||||
:host([disabled]) {
|
||||
|
@ -18931,18 +18922,8 @@ paper-ripple {
|
|||
|
||||
</script>
|
||||
<dom-module id="paper-radio-button" assetpath="bower_components/paper-radio-button/">
|
||||
|
||||
<template>
|
||||
<style>
|
||||
/**
|
||||
@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
|
||||
*/
|
||||
|
||||
:host {
|
||||
display: inline-block;
|
||||
white-space: nowrap;
|
||||
|
@ -19047,11 +19028,8 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
|||
/* slightly darker than the button, so that it's readable */
|
||||
opacity: 0.65;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<template>
|
||||
|
||||
<div id="radioContainer">
|
||||
<div id="offRadio"></div>
|
||||
<div id="onRadio"></div>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue