Merge pull request #1728 from MediaBrowser/dev

Dev
This commit is contained in:
Luke 2016-05-11 10:41:30 -04:00
commit 463105fcae
41 changed files with 214 additions and 250 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "iron-behaviors", "name": "iron-behaviors",
"version": "1.0.15", "version": "1.0.16",
"description": "Provides a set of behaviors for the iron elements", "description": "Provides a set of behaviors for the iron elements",
"private": true, "private": true,
"authors": [ "authors": [
@ -30,11 +30,11 @@
}, },
"ignore": [], "ignore": [],
"homepage": "https://github.com/PolymerElements/iron-behaviors", "homepage": "https://github.com/PolymerElements/iron-behaviors",
"_release": "1.0.15", "_release": "1.0.16",
"_resolution": { "_resolution": {
"type": "version", "type": "version",
"tag": "v1.0.15", "tag": "v1.0.16",
"commit": "f91583bfae24235401a21a1d67bde8cacce13030" "commit": "161e67233c4776e32a275a719a000865ed309393"
}, },
"_source": "git://github.com/PolymerElements/iron-behaviors.git", "_source": "git://github.com/PolymerElements/iron-behaviors.git",
"_target": "^1.0.0", "_target": "^1.0.0",

View File

@ -1,6 +1,6 @@
{ {
"name": "iron-behaviors", "name": "iron-behaviors",
"version": "1.0.15", "version": "1.0.16",
"description": "Provides a set of behaviors for the iron elements", "description": "Provides a set of behaviors for the iron elements",
"private": true, "private": true,
"authors": [ "authors": [

View File

@ -73,14 +73,16 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
if (event.target === this) { if (event.target === this) {
this._setFocused(event.type === 'focus'); this._setFocused(event.type === 'focus');
} else if (!this.shadowRoot && } else if (!this.shadowRoot) {
!this.isLightDescendant(Polymer.dom(event).localTarget)) { var target = /** @type {Node} */(Polymer.dom(event).localTarget);
if (!this.isLightDescendant(target)) {
this.fire(event.type, {sourceEvent: event}, { this.fire(event.type, {sourceEvent: event}, {
node: this, node: this,
bubbles: event.bubbles, bubbles: event.bubbles,
cancelable: event.cancelable cancelable: event.cancelable
}); });
} }
}
}, },
_disabledChanged: function(disabled, old) { _disabledChanged: function(disabled, old) {

View File

@ -26,14 +26,14 @@
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0" "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
}, },
"main": "iron-meta.html", "main": "iron-meta.html",
"homepage": "https://github.com/PolymerElements/iron-meta", "homepage": "https://github.com/polymerelements/iron-meta",
"_release": "1.1.1", "_release": "1.1.1",
"_resolution": { "_resolution": {
"type": "version", "type": "version",
"tag": "v1.1.1", "tag": "v1.1.1",
"commit": "e171ee234b482219c9514e6f9551df48ef48bd9f" "commit": "e171ee234b482219c9514e6f9551df48ef48bd9f"
}, },
"_source": "git://github.com/PolymerElements/iron-meta.git", "_source": "git://github.com/polymerelements/iron-meta.git",
"_target": "^1.0.0", "_target": "^1.0.0",
"_originalSource": "PolymerElements/iron-meta" "_originalSource": "polymerelements/iron-meta"
} }

View File

@ -1,7 +1,7 @@
{ {
"name": "neon-animation", "name": "neon-animation",
"description": "A system for animating Polymer-based web components", "description": "A system for animating Polymer-based web components",
"version": "1.2.2", "version": "1.2.3",
"authors": [ "authors": [
"The Polymer Authors" "The Polymer Authors"
], ],
@ -49,14 +49,13 @@
"iron-icons": "PolymerElements/iron-icons#^1.0.0", "iron-icons": "PolymerElements/iron-icons#^1.0.0",
"paper-icon-button": "PolymerElements/paper-icon-button#^1.0.0" "paper-icon-button": "PolymerElements/paper-icon-button#^1.0.0"
}, },
"_release": "1.2.2", "_release": "1.2.3",
"_resolution": { "_resolution": {
"type": "version", "type": "version",
"tag": "v1.2.2", "tag": "v1.2.3",
"commit": "67b614a9261c84be12293f1105bafc158a2f443c" "commit": "c50d51e62825f4aa53f10e93f746796a174af232"
}, },
"_source": "git://github.com/PolymerElements/neon-animation.git", "_source": "git://github.com/PolymerElements/neon-animation.git",
"_target": "^1.2.2", "_target": "^1.2.2",
"_originalSource": "PolymerElements/neon-animation", "_originalSource": "PolymerElements/neon-animation"
"_direct": true
} }

View File

@ -68,7 +68,7 @@ Configuration:
this._animations.push(animation); this._animations.push(animation);
effects.push(effect); effects.push(effect);
} else { } else {
Polymer.Base._warn(this.is + ':', config.animation, 'not found!'); console.warn(this.is + ':', config.animation, 'not found!');
abortedConfigure = true; abortedConfigure = true;
break; break;
} }

View File

@ -57,15 +57,15 @@ Configuration:
var deltaWidth = fromRect.width / toRect.width; var deltaWidth = fromRect.width / toRect.width;
var deltaHeight = fromRect.height / toRect.height; var deltaHeight = fromRect.height / toRect.height;
this.setPrefixedProperty(shared.to, 'transformOrigin', '0 0');
shared.to.style.zIndex = 10000;
shared.from.style.visibility = 'hidden';
this._effect = new KeyframeEffect(shared.to, [ this._effect = new KeyframeEffect(shared.to, [
{'transform': 'translate(' + deltaLeft + 'px,' + deltaTop + 'px) scale(' + deltaWidth + ',' + deltaHeight + ')'}, {'transform': 'translate(' + deltaLeft + 'px,' + deltaTop + 'px) scale(' + deltaWidth + ',' + deltaHeight + ')'},
{'transform': 'none'} {'transform': 'none'}
], this.timingFromConfig(config)); ], this.timingFromConfig(config));
this.setPrefixedProperty(shared.to, 'transformOrigin', '0 0');
shared.to.style.zIndex = 10000;
shared.from.style.visibility = 'hidden';
return this._effect; return this._effect;
}, },

View File

@ -29,11 +29,11 @@ webkit/safari from drawing a frame before an animation for elements that animate
configure: function(config) { configure: function(config) {
var node = config.node; var node = config.node;
node.style.opacity = '0';
this._effect = new KeyframeEffect(node, [ this._effect = new KeyframeEffect(node, [
{'opacity': '1'}, {'opacity': '1'},
{'opacity': '1'} {'opacity': '1'}
], this.timingFromConfig(config)); ], this.timingFromConfig(config));
node.style.opacity = '0';
return this._effect; return this._effect;
}, },

View File

@ -66,13 +66,14 @@ Configuration:
var scaleY = diameter / fromRect.height; var scaleY = diameter / fromRect.height;
var scale = 'scale(' + scaleX + ',' + scaleY + ')'; var scale = 'scale(' + scaleX + ',' + scaleY + ')';
this.setPrefixedProperty(shared.from, 'transformOrigin', '50% 50%');
shared.from.style.borderRadius = '50%';
this._effect = new KeyframeEffect(shared.from, [ this._effect = new KeyframeEffect(shared.from, [
{'transform': translate + ' ' + scale}, {'transform': translate + ' ' + scale},
{'transform': translate + ' scale(0)'} {'transform': translate + ' scale(0)'}
], this.timingFromConfig(config)); ], this.timingFromConfig(config));
this.setPrefixedProperty(shared.from, 'transformOrigin', '50% 50%');
shared.from.style.borderRadius = '50%';
return this._effect; return this._effect;
}, },

View File

@ -70,13 +70,14 @@ Configuration:
var scaleY = diameter / toRect.height; var scaleY = diameter / toRect.height;
var scale = 'scale(' + scaleX + ',' + scaleY + ')'; var scale = 'scale(' + scaleX + ',' + scaleY + ')';
this.setPrefixedProperty(shared.to, 'transformOrigin', '50% 50%');
shared.to.style.borderRadius = '50%';
this._effect = new KeyframeEffect(shared.to, [ this._effect = new KeyframeEffect(shared.to, [
{'transform': translate + ' scale(0)'}, {'transform': translate + ' scale(0)'},
{'transform': translate + ' ' + scale} {'transform': translate + ' ' + scale}
], this.timingFromConfig(config)); ], this.timingFromConfig(config));
this.setPrefixedProperty(shared.to, 'transformOrigin', '50% 50%');
shared.to.style.borderRadius = '50%';
return this._effect; return this._effect;
}, },

View File

@ -41,10 +41,6 @@ Configuration:
configure: function(config) { configure: function(config) {
var node = config.node; var node = config.node;
if (config.transformOrigin) {
this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin);
}
var scaleProperty = 'scale(0, 0)'; var scaleProperty = 'scale(0, 0)';
if (config.axis === 'x') { if (config.axis === 'x') {
scaleProperty = 'scale(0, 1)'; scaleProperty = 'scale(0, 1)';
@ -57,6 +53,10 @@ Configuration:
{'transform': scaleProperty} {'transform': scaleProperty}
], this.timingFromConfig(config)); ], this.timingFromConfig(config));
if (config.transformOrigin) {
this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin);
}
return this._effect; return this._effect;
} }

View File

@ -41,10 +41,6 @@ Configuration:
configure: function(config) { configure: function(config) {
var node = config.node; var node = config.node;
if (config.transformOrigin) {
this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin);
}
var scaleProperty = 'scale(0)'; var scaleProperty = 'scale(0)';
if (config.axis === 'x') { if (config.axis === 'x') {
scaleProperty = 'scale(0, 1)'; scaleProperty = 'scale(0, 1)';
@ -57,6 +53,10 @@ Configuration:
{'transform': 'scale(1, 1)'} {'transform': 'scale(1, 1)'}
], this.timingFromConfig(config)); ], this.timingFromConfig(config));
if (config.transformOrigin) {
this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin);
}
return this._effect; return this._effect;
} }

View File

@ -40,17 +40,17 @@ Configuration:
configure: function(config) { configure: function(config) {
var node = config.node; var node = config.node;
this._effect = new KeyframeEffect(node, [
{'transform': 'translateY(0%)'},
{'transform': 'translateY(100%)'}
], this.timingFromConfig(config));
if (config.transformOrigin) { if (config.transformOrigin) {
this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin); this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin);
} else { } else {
this.setPrefixedProperty(node, 'transformOrigin', '50% 0'); this.setPrefixedProperty(node, 'transformOrigin', '50% 0');
} }
this._effect = new KeyframeEffect(node, [
{'transform': 'translateY(0%)'},
{'transform': 'translateY(100%)'}
], this.timingFromConfig(config));
return this._effect; return this._effect;
} }

View File

@ -40,17 +40,17 @@ Configuration:
configure: function(config) { configure: function(config) {
var node = config.node; var node = config.node;
this._effect = new KeyframeEffect(node, [
{'transform': 'translateY(100%)'},
{'transform': 'translateY(0)'}
], this.timingFromConfig(config));
if (config.transformOrigin) { if (config.transformOrigin) {
this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin); this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin);
} else { } else {
this.setPrefixedProperty(node, 'transformOrigin', '50% 0'); this.setPrefixedProperty(node, 'transformOrigin', '50% 0');
} }
this._effect = new KeyframeEffect(node, [
{'transform': 'translateY(100%)'},
{'transform': 'translateY(0)'}
], this.timingFromConfig(config));
return this._effect; return this._effect;
} }

View File

@ -41,17 +41,17 @@ Configuration:
configure: function(config) { configure: function(config) {
var node = config.node; var node = config.node;
this._effect = new KeyframeEffect(node, [
{'transform': 'translateX(-100%)'},
{'transform': 'none'}
], this.timingFromConfig(config));
if (config.transformOrigin) { if (config.transformOrigin) {
this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin); this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin);
} else { } else {
this.setPrefixedProperty(node, 'transformOrigin', '0 50%'); this.setPrefixedProperty(node, 'transformOrigin', '0 50%');
} }
this._effect = new KeyframeEffect(node, [
{'transform': 'translateX(-100%)'},
{'transform': 'none'}
], this.timingFromConfig(config));
return this._effect; return this._effect;
} }

View File

@ -41,17 +41,17 @@ Configuration:
configure: function(config) { configure: function(config) {
var node = config.node; var node = config.node;
this._effect = new KeyframeEffect(node, [
{'transform': 'translateX(100%)'},
{'transform': 'none'}
], this.timingFromConfig(config));
if (config.transformOrigin) { if (config.transformOrigin) {
this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin); this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin);
} else { } else {
this.setPrefixedProperty(node, 'transformOrigin', '0 50%'); this.setPrefixedProperty(node, 'transformOrigin', '0 50%');
} }
this._effect = new KeyframeEffect(node, [
{'transform': 'translateX(100%)'},
{'transform': 'none'}
], this.timingFromConfig(config));
return this._effect; return this._effect;
} }

View File

@ -40,17 +40,17 @@ Configuration:
configure: function(config) { configure: function(config) {
var node = config.node; var node = config.node;
this._effect = new KeyframeEffect(node, [
{'transform': 'translateY(-100%)'},
{'transform': 'translateY(0%)'}
], this.timingFromConfig(config));
if (config.transformOrigin) { if (config.transformOrigin) {
this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin); this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin);
} else { } else {
this.setPrefixedProperty(node, 'transformOrigin', '50% 0'); this.setPrefixedProperty(node, 'transformOrigin', '50% 0');
} }
this._effect = new KeyframeEffect(node, [
{'transform': 'translateY(-100%)'},
{'transform': 'translateY(0%)'}
], this.timingFromConfig(config));
return this._effect; return this._effect;
} }

View File

@ -40,17 +40,17 @@ Configuration:
configure: function(config) { configure: function(config) {
var node = config.node; var node = config.node;
this._effect = new KeyframeEffect(node, [
{'transform': 'none'},
{'transform': 'translateX(-100%)'}
], this.timingFromConfig(config));
if (config.transformOrigin) { if (config.transformOrigin) {
this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin); this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin);
} else { } else {
this.setPrefixedProperty(node, 'transformOrigin', '0 50%'); this.setPrefixedProperty(node, 'transformOrigin', '0 50%');
} }
this._effect = new KeyframeEffect(node, [
{'transform': 'none'},
{'transform': 'translateX(-100%)'}
], this.timingFromConfig(config));
return this._effect; return this._effect;
} }

View File

@ -40,17 +40,17 @@ Configuration:
configure: function(config) { configure: function(config) {
var node = config.node; var node = config.node;
this._effect = new KeyframeEffect(node, [
{'transform': 'none'},
{'transform': 'translateX(100%)'}
], this.timingFromConfig(config));
if (config.transformOrigin) { if (config.transformOrigin) {
this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin); this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin);
} else { } else {
this.setPrefixedProperty(node, 'transformOrigin', '0 50%'); this.setPrefixedProperty(node, 'transformOrigin', '0 50%');
} }
this._effect = new KeyframeEffect(node, [
{'transform': 'none'},
{'transform': 'translateX(100%)'}
], this.timingFromConfig(config));
return this._effect; return this._effect;
} }

View File

@ -40,17 +40,17 @@ Configuration:
configure: function(config) { configure: function(config) {
var node = config.node; var node = config.node;
this._effect = new KeyframeEffect(node, [
{'transform': 'translate(0)'},
{'transform': 'translateY(-100%)'}
], this.timingFromConfig(config));
if (config.transformOrigin) { if (config.transformOrigin) {
this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin); this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin);
} else { } else {
this.setPrefixedProperty(node, 'transformOrigin', '50% 0'); this.setPrefixedProperty(node, 'transformOrigin', '50% 0');
} }
this._effect = new KeyframeEffect(node, [
{'transform': 'translate(0)'},
{'transform': 'translateY(-100%)'}
], this.timingFromConfig(config));
return this._effect; return this._effect;
} }

View File

@ -53,15 +53,15 @@ Configuration:
var transformFrom = config.transformFrom || 'none'; var transformFrom = config.transformFrom || 'none';
var transformTo = config.transformTo || 'none'; var transformTo = config.transformTo || 'none';
if (config.transformOrigin) {
this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin);
}
this._effect = new KeyframeEffect(node, [ this._effect = new KeyframeEffect(node, [
{'transform': transformFrom}, {'transform': transformFrom},
{'transform': transformTo} {'transform': transformTo}
], this.timingFromConfig(config)); ], this.timingFromConfig(config));
if (config.transformOrigin) {
this.setPrefixedProperty(node, 'transformOrigin', config.transformOrigin);
}
return this._effect; return this._effect;
} }

View File

@ -1,7 +1,7 @@
{ {
"name": "neon-animation", "name": "neon-animation",
"description": "A system for animating Polymer-based web components", "description": "A system for animating Polymer-based web components",
"version": "1.2.2", "version": "1.2.3",
"authors": [ "authors": [
"The Polymer Authors" "The Polymer Authors"
], ],

View File

@ -66,9 +66,6 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
}], }],
'exit': [{ 'exit': [{
name: 'opaque-animation',
node: this.$.placeholder
}, {
name: 'fade-out-animation', name: 'fade-out-animation',
node: this.$.container, node: this.$.container,
timing: { timing: {

View File

@ -9,7 +9,6 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
--> -->
<link rel="import" href="../polymer/polymer.html"> <link rel="import" href="../polymer/polymer.html">
<link rel="import" href="animations/opaque-animation.html">
<script> <script>
@ -51,21 +50,10 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
_entryAnimationChanged: function() { _entryAnimationChanged: function() {
this.animationConfig = this.animationConfig || {}; this.animationConfig = this.animationConfig || {};
if (this.entryAnimation !== 'fade-in-animation') {
// insert polyfill hack
this.animationConfig['entry'] = [{
name: 'opaque-animation',
node: this
}, {
name: this.entryAnimation,
node: this
}];
} else {
this.animationConfig['entry'] = [{ this.animationConfig['entry'] = [{
name: this.entryAnimation, name: this.entryAnimation,
node: this node: this
}]; }];
}
}, },
_exitAnimationChanged: function() { _exitAnimationChanged: function() {

View File

@ -108,11 +108,7 @@ animations to be run when switching to or switching out of the page.
return; return;
} }
// insert safari fix. this.animationConfig = [];
this.animationConfig = [{
name: 'opaque-animation',
node: selectedPage
}];
// configure selectedPage animations. // configure selectedPage animations.
if (this.entryAnimation) { if (this.entryAnimation) {
@ -163,7 +159,7 @@ animations to be run when switching to or switching out of the page.
selectedPage.classList.add('neon-animating'); selectedPage.classList.add('neon-animating');
// actually run the animations. // actually run the animations.
if (this.animationConfig.length > 1) { if (this.animationConfig.length >= 1) {
// on first load, ensure we run animations only after element is attached. // on first load, ensure we run animations only after element is attached.
if (!this.isAttached) { if (!this.isAttached) {

View File

@ -45,7 +45,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
}); });
} }
} else { } else {
Polymer.Base._warn(this.is + ':', config.name, 'not found!'); console.warn(this.is + ':', config.name, 'not found!');
} }
} }
} }
@ -72,6 +72,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
if (!allConfigs) { if (!allConfigs) {
return; return;
} }
try {
var allAnimations = this._configureAnimationEffects(allConfigs); var allAnimations = this._configureAnimationEffects(allConfigs);
var allEffects = allAnimations.map(function(animation) { var allEffects = allAnimations.map(function(animation) {
return animation.effect; return animation.effect;
@ -89,10 +90,12 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
this.fire('neon-animation-finish', cookie, {bubbles: false}); this.fire('neon-animation-finish', cookie, {bubbles: false});
}.bind(this); }.bind(this);
return;
} else {
this.fire('neon-animation-finish', cookie, {bubbles: false});
} }
} catch (e) {
console.warn('Couldnt play', '(', type, allConfigs, ').', e);
}
this.fire('neon-animation-finish', cookie, {bubbles: false});
}, },
/** /**

View File

@ -37,12 +37,12 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
var fromPage = config.fromPage; var fromPage = config.fromPage;
var toPage = config.toPage; var toPage = config.toPage;
if (!fromPage || !toPage) { if (!fromPage || !toPage) {
Polymer.Base._warn(this.is + ':', !fromPage ? 'fromPage' : 'toPage', 'is undefined!'); console.warn(this.is + ':', !fromPage ? 'fromPage' : 'toPage', 'is undefined!');
return null; return null;
}; };
if (!fromPage.sharedElements || !toPage.sharedElements) { if (!fromPage.sharedElements || !toPage.sharedElements) {
Polymer.Base._warn(this.is + ':', 'sharedElements are undefined for', !fromPage.sharedElements ? fromPage : toPage); console.warn(this.is + ':', 'sharedElements are undefined for', !fromPage.sharedElements ? fromPage : toPage);
return null; return null;
}; };
@ -50,7 +50,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
var to = toPage.sharedElements[config.id]; var to = toPage.sharedElements[config.id];
if (!from || !to) { if (!from || !to) {
Polymer.Base._warn(this.is + ':', 'sharedElement with id', config.id, 'not found in', !from ? fromPage : toPage); console.warn(this.is + ':', 'sharedElement with id', config.id, 'not found in', !from ? fromPage : toPage);
return null; return null;
} }

View File

@ -60,9 +60,8 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
assert.equal(event.detail.toPage, pages[1]); assert.equal(event.detail.toPage, pages[1]);
assert.isTrue(animatedPages._completeAnimations.calledTwice); assert.isTrue(animatedPages._completeAnimations.calledTwice);
var a$ = animatedPages._completeAnimations.getCall(1).args[0]; var a$ = animatedPages._completeAnimations.getCall(1).args[0];
assert.isTrue(a$[0].animation.isNeonAnimation, 'default animation is not a registered animation'); assert.isTrue(a$[0].animation.isNeonAnimation, 'entry animation is not a registered animation');
assert.isTrue(a$[1].animation.isNeonAnimation, 'entry animation is not a registered animation'); assert.isTrue(a$[1].animation.isNeonAnimation, 'exit animation is not a registered animation');
assert.isTrue(a$[2].animation.isNeonAnimation, 'exit animation is not a registered animation');
done(); done();
}); });
animatedPages.selected = 0; animatedPages.selected = 0;

View File

@ -45,7 +45,7 @@
"tag": "v1.0.11", "tag": "v1.0.11",
"commit": "e3c1ab0c72905b58fb4d9adc2921ea73b5c085a5" "commit": "e3c1ab0c72905b58fb4d9adc2921ea73b5c085a5"
}, },
"_source": "git://github.com/PolymerElements/paper-behaviors.git", "_source": "git://github.com/polymerelements/paper-behaviors.git",
"_target": "^1.0.0", "_target": "^1.0.0",
"_originalSource": "PolymerElements/paper-behaviors" "_originalSource": "polymerelements/paper-behaviors"
} }

View File

@ -32,14 +32,14 @@
"iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0" "iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0"
}, },
"ignore": [], "ignore": [],
"homepage": "https://github.com/PolymerElements/paper-ripple", "homepage": "https://github.com/polymerelements/paper-ripple",
"_release": "1.0.5", "_release": "1.0.5",
"_resolution": { "_resolution": {
"type": "version", "type": "version",
"tag": "v1.0.5", "tag": "v1.0.5",
"commit": "d72e7a9a8ab518b901ed18dde492df3b87a93be5" "commit": "d72e7a9a8ab518b901ed18dde492df3b87a93be5"
}, },
"_source": "git://github.com/PolymerElements/paper-ripple.git", "_source": "git://github.com/polymerelements/paper-ripple.git",
"_target": "^1.0.0", "_target": "^1.0.0",
"_originalSource": "PolymerElements/paper-ripple" "_originalSource": "polymerelements/paper-ripple"
} }

View File

@ -34,6 +34,6 @@
"commit": "11c987b2eb3c73b388a79fc8aaea8ca01624f514" "commit": "11c987b2eb3c73b388a79fc8aaea8ca01624f514"
}, },
"_source": "git://github.com/Polymer/polymer.git", "_source": "git://github.com/Polymer/polymer.git",
"_target": "^1.0.0", "_target": "^1.1.0",
"_originalSource": "Polymer/polymer" "_originalSource": "Polymer/polymer"
} }

View File

@ -283,7 +283,7 @@
}); });
} }
function showMoreMenu(context, button) { function showMoreMenu(context, button, user) {
var items = []; var items = [];
@ -293,11 +293,13 @@
ironIcon: 'photo' ironIcon: 'photo'
}); });
if (LibraryBrowser.canIdentify(user, currentItem.Type)) {
items.push({ items.push({
name: Globalize.translate('ButtonIdentify'), name: Globalize.translate('ButtonIdentify'),
id: 'identify', id: 'identify',
ironIcon: 'info' ironIcon: 'info'
}); });
}
items.push({ items.push({
name: Globalize.translate('ButtonRefresh'), name: Globalize.translate('ButtonRefresh'),
@ -378,7 +380,10 @@
context.querySelector('.btnMore').addEventListener('click', function (e) { context.querySelector('.btnMore').addEventListener('click', function (e) {
showMoreMenu(context, e.target); Dashboard.getCurrentUser().then(function (user) {
showMoreMenu(context, e.target, user);
});
}); });
context.querySelector('.btnHeaderSave').addEventListener('click', function (e) { context.querySelector('.btnHeaderSave').addEventListener('click', function (e) {
@ -676,16 +681,6 @@
$('#fldYear', context).show(); $('#fldYear', context).show();
} }
Dashboard.getCurrentUser().then(function (user) {
if (LibraryBrowser.getMoreCommands(item, user).indexOf('identify') != -1) {
$('#btnIdentify', context).show();
} else {
$('#btnIdentify', context).hide();
}
});
if (item.Type == "Movie" || item.Type == "Trailer" || item.Type == "BoxSet") { if (item.Type == "Movie" || item.Type == "Trailer" || item.Type == "BoxSet") {
$('#keywordsCollapsible', context).show(); $('#keywordsCollapsible', context).show();
} else { } else {

View File

@ -1,4 +1,4 @@
define(['dialogHelper', 'jQuery', 'scripts/livetvcomponents', 'livetvcss', 'paper-checkbox', 'paper-input', 'paper-toggle-button', 'paper-icon-button-light'], function (dialogHelper, $) { define(['dialogHelper', 'jQuery', 'scripts/livetvcomponents', 'livetvcss', 'paper-checkbox', 'paper-input', 'paper-icon-button-light'], function (dialogHelper, $) {
var currentProgramId; var currentProgramId;
var currentDialog; var currentDialog;
@ -202,20 +202,6 @@
closeDialog(false); closeDialog(false);
}); });
context.querySelector('.chkAdvanced').addEventListener('change', function (e) {
var elems = context.querySelectorAll('.advancedToggle');
var isChecked = e.target.checked;
for (var i = 0, length = elems.length; i < length; i++) {
if (isChecked) {
slideDownToShow(elems[i]);
} else {
slideUpToHide(elems[i]);
}
}
});
$('form', context).off('submit', onSubmit).on('submit', onSubmit); $('form', context).off('submit', onSubmit).on('submit', onSubmit);
var supporterButtons = context.querySelectorAll('.btnSupporter'); var supporterButtons = context.querySelectorAll('.btnSupporter');

View File

@ -7,10 +7,6 @@
<form class="liveTvNewRecordingForm" style="margin: 0 auto;"> <form class="liveTvNewRecordingForm" style="margin: 0 auto;">
<div style="text-align: right; display: flex; justify-content: flex-end;">
<paper-toggle-button class="chkAdvanced">${ButtonAdvanced}</paper-toggle-button>
</div>
<p><span class="itemName inlineItemName"></span></p> <p><span class="itemName inlineItemName"></span></p>
<p class="itemEpisodeName"></p> <p class="itemEpisodeName"></p>
<p class="itemMiscInfo"></p> <p class="itemMiscInfo"></p>
@ -52,7 +48,6 @@
<div class="fieldDescription paperCheckboxFieldDescription btnSupporterForConverting hide"><a href="https://emby.media/premiere" target="_blank" class="accent">${FeatureRequiresEmbyPremiere}</a></div> <div class="fieldDescription paperCheckboxFieldDescription btnSupporterForConverting hide"><a href="https://emby.media/premiere" target="_blank" class="accent">${FeatureRequiresEmbyPremiere}</a></div>
</div> </div>
<br /> <br />
<div class="advancedToggle hide">
<div> <div>
<paper-input type="number" id="txtPrePaddingMinutes" pattern="[0-9]*" required="required" min="0" step="1" label="${LabelPrePaddingMinutes}"></paper-input> <paper-input type="number" id="txtPrePaddingMinutes" pattern="[0-9]*" required="required" min="0" step="1" label="${LabelPrePaddingMinutes}"></paper-input>
</div> </div>
@ -60,7 +55,6 @@
<div> <div>
<paper-input type="number" id="txtPostPaddingMinutes" pattern="[0-9]*" required="required" min="0" step="1" label="${LabelPostPaddingMinutes}"></paper-input> <paper-input type="number" id="txtPostPaddingMinutes" pattern="[0-9]*" required="required" min="0" step="1" label="${LabelPostPaddingMinutes}"></paper-input>
</div> </div>
</div>
<br /> <br />
<div> <div>
<div class="supporterContainer hide"> <div class="supporterContainer hide">

View File

@ -1,4 +1,4 @@
define(['browser', 'datetime', 'jQuery', 'paper-fab', 'paper-slider'], function (browser, datetime, $) { define(['browser', 'datetime', 'jQuery', 'libraryBrowser', 'paper-fab', 'paper-slider'], function (browser, datetime, $, libraryBrowser) {
function showSlideshowMenu(context) { function showSlideshowMenu(context) {
require(['scripts/slideshow'], function () { require(['scripts/slideshow'], function () {
@ -202,7 +202,7 @@
} }
ApiClient.getItem(Dashboard.getCurrentUserId(), item.Id).then(function (fullItem) { ApiClient.getItem(Dashboard.getCurrentUserId(), item.Id).then(function (fullItem) {
context.querySelector('.nowPlayingPageUserDataButtons').innerHTML = LibraryBrowser.getUserDataIconsHtml(fullItem, false); context.querySelector('.nowPlayingPageUserDataButtons').innerHTML = libraryBrowser.getUserDataIconsHtml(fullItem, false);
}); });
} else { } else {
context.querySelector('.nowPlayingPageUserDataButtons').innerHTML = ''; context.querySelector('.nowPlayingPageUserDataButtons').innerHTML = '';
@ -417,7 +417,7 @@
if (playlistOpen) { if (playlistOpen) {
html += LibraryBrowser.getListViewHtml({ html += libraryBrowser.getListViewHtml({
items: MediaController.playlist(), items: MediaController.playlist(),
smallIcon: true smallIcon: true
}); });
@ -459,7 +459,7 @@
} }
function isPlaylistOpen(context) { function isPlaylistOpen(context) {
return LibraryBrowser.selectedTab(context.querySelector('.mdl-tabs')) == 2; return libraryBrowser.selectedTab(context.querySelector('.mdl-tabs')) == 2;
} }
function onStateChanged(e, state) { function onStateChanged(e, state) {
@ -609,7 +609,7 @@
var mediaItem = parentWithClass(e.target, 'mediaItem'); var mediaItem = parentWithClass(e.target, 'mediaItem');
if (mediaItem != null) { if (mediaItem != null) {
var info = LibraryBrowser.getListItemInfo(mediaItem); var info = libraryBrowser.getListItemInfo(mediaItem);
MediaController.currentPlaylistIndex(info.index); MediaController.currentPlaylistIndex(info.index);
@ -793,7 +793,7 @@
return false; return false;
} }
function init(context) { function init(ownerView, context) {
require(['css!css/nowplaying.css']); require(['css!css/nowplaying.css']);
bindEvents(context); bindEvents(context);
@ -821,6 +821,8 @@
context.querySelector('.libraryViewNav').classList.remove('bottom'); context.querySelector('.libraryViewNav').classList.remove('bottom');
} }
libraryBrowser.configurePaperLibraryTabs(ownerView, mdlTabs);
mdlTabs.addEventListener('tabchange', function (e) { mdlTabs.addEventListener('tabchange', function (e) {
if (e.detail.selectedTabIndex == 2 && playlistNeedsRefresh) { if (e.detail.selectedTabIndex == 2 && playlistNeedsRefresh) {
loadPlaylist(context); loadPlaylist(context);
@ -851,7 +853,7 @@
updateCastIcon(context); updateCastIcon(context);
} }
self.init = function (context) { self.init = function (ownerView, context) {
dlg = context; dlg = context;
@ -861,7 +863,7 @@
} }
componentHandler.upgradeAllRegistered(dlg); componentHandler.upgradeAllRegistered(dlg);
init(dlg); init(ownerView, dlg);
}; };
self.onShow = function () { self.onShow = function () {

View File

@ -1,4 +1,4 @@
<div id="nowPlayingPage" data-role="page" class="page libraryPage nowPlayingPage noSecondaryNavPage selfBackdropPage" data-contextname="${TitleRemoteControl}" data-theme="b" data-require="scripts/nowplayingpage,MaterialTabs,paper-icon-button-light,paper-slider,paper-button"> <div id="nowPlayingPage" data-role="page" class="page libraryPage nowPlayingPage noSecondaryNavPage selfBackdropPage" data-contextname="${TitleRemoteControl}" data-theme="b">
<div class="remoteControlContent"> <div class="remoteControlContent">
@ -11,11 +11,11 @@
</div> </div>
<div class="mdl-tabs mdl-js-tabs mdl-js-ripple-effect"> <div class="mdl-tabs mdl-js-tabs mdl-js-ripple-effect">
<div class="libraryViewNav"> <div class="libraryViewNav headroomDisabled">
<div class="mdl-tabs__tab-bar"> <div class="mdl-tabs__tab-bar">
<a href="#nowPlayingTab" class="mdl-tabs__tab is-active" data-index="0">${TabNowPlaying}</a> <a href="#nowPlayingTab" class="mdl-tabs__tab is-active" data-index="0">${TabNowPlaying}</a>
<a href="#controlsTab" class="mdl-tabs__tab" data-index="1">${TabControls}</a> <a href="#controlsTab" class="mdl-tabs__tab" data-index="1">${TabControls}</a>
<a href="#playlistTab" class="mdl-tabs__tab" data-index="1">${TabPlaylist}</a> <a href="#playlistTab" class="mdl-tabs__tab" data-index="2">${TabPlaylist}</a>
</div> </div>
</div> </div>
<div class="mdl-tabs__panel is-active pageTabContent ehsContent" id="nowPlayingTab" data-index="0"> <div class="mdl-tabs__panel is-active pageTabContent ehsContent" id="nowPlayingTab" data-index="0">
@ -122,7 +122,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="mdl-tabs__panel pageTabContent ehsContent" id="playlistTab" data-index="1"> <div class="mdl-tabs__panel pageTabContent ehsContent" id="playlistTab" data-index="2">
<div class="playlist itemsContainer" style="max-width: 800px; margin: 3em auto 0; padding-bottom: 200px;"> <div class="playlist itemsContainer" style="max-width: 800px; margin: 3em auto 0; padding-bottom: 200px;">
</div> </div>
</div> </div>

View File

@ -688,25 +688,34 @@
commands.push('share'); commands.push('share');
} }
if (item.Type == "Movie" || if (LibraryBrowser.canIdentify(user, item.Type)) {
item.Type == "Trailer" ||
item.Type == "Series" ||
item.Type == "Game" ||
item.Type == "BoxSet" ||
item.Type == "Person" ||
item.Type == "Book" ||
item.Type == "MusicAlbum" ||
item.Type == "MusicArtist") {
if (user.Policy.IsAdministrator) {
commands.push('identify'); commands.push('identify');
} }
}
return commands; return commands;
}, },
canIdentify: function(user, itemType) {
if (itemType == "Movie" ||
itemType == "Trailer" ||
itemType == "Series" ||
itemType == "Game" ||
itemType == "BoxSet" ||
itemType == "Person" ||
itemType == "Book" ||
itemType == "MusicAlbum" ||
itemType == "MusicArtist") {
if (user.Policy.IsAdministrator) {
return true;
}
}
return false;
},
refreshItem: function (itemId) { refreshItem: function (itemId) {
ApiClient.refreshItem(itemId, { ApiClient.refreshItem(itemId, {

View File

@ -4,6 +4,10 @@
return browserInfo.mobile && AppInfo.enableAppLayouts; return browserInfo.mobile && AppInfo.enableAppLayouts;
} }
function getSquareShape() {
return enableScrollX() ? 'overflowSquare' : 'square';
}
function getTimersHtml(timers) { function getTimersHtml(timers) {
var items = timers.map(function (t) { var items = timers.map(function (t) {
@ -68,7 +72,7 @@
html += LibraryBrowser.getPosterViewHtml({ html += LibraryBrowser.getPosterViewHtml({
items: group.items, items: group.items,
shape: "square", shape: getSquareShape(),
showTitle: true, showTitle: true,
showAirTime: true, showAirTime: true,
showChannelName: true, showChannelName: true,

View File

@ -190,7 +190,7 @@
elem.querySelector('.playlistButton').addEventListener('click', function () { elem.querySelector('.playlistButton').addEventListener('click', function () {
showRemoteControl('playlist'); showRemoteControl(2);
}); });
toggleRepeatButton = $('.toggleRepeatButton', elem).on('click', function () { toggleRepeatButton = $('.toggleRepeatButton', elem).on('click', function () {
@ -254,10 +254,10 @@
}, 300); }, 300);
} }
function showRemoteControl(tab) { function showRemoteControl(tabIndex) {
if (tab) { if (tabIndex) {
Dashboard.navigate('nowplaying.html?tab=' + tab); Dashboard.navigate('nowplaying.html?tab=' + tabIndex);
} else { } else {
Dashboard.navigate('nowplaying.html'); Dashboard.navigate('nowplaying.html');
} }

View File

@ -1,43 +1,30 @@
define(['jQuery'], function ($) { define(['components/remotecontrol'], function (remotecontrolFactory) {
pageIdOn('pageinit', "nowPlayingPage", function () { return function (view, params) {
var page = this; var self = this;
require(['components/remotecontrol'], function (remotecontrolFactory) { var remoteControl = new remotecontrolFactory();
page.remoteControl = new remotecontrolFactory(); remoteControl.init(view, view.querySelector('.remoteControlContent'));
page.remoteControl.init(page.querySelector('.remoteControlContent'));
page.remoteControl.onShow();
page.remoteControlInitComplete = true;
});
});
pageIdOn('pagebeforeshow', "nowPlayingPage", function () {
var page = this;
view.addEventListener('viewbeforeshow', function (e) {
document.body.classList.add('hiddenViewMenuBar'); document.body.classList.add('hiddenViewMenuBar');
document.body.classList.add('hiddenNowPlayingBar'); document.body.classList.add('hiddenNowPlayingBar');
if (page.remoteControl) { if (remoteControl) {
remoteControl.onShow();
if (!page.remoteControlInitComplete) {
page.remoteControlInitComplete = true;
} else {
page.remoteControl.onShow();
}
} }
}); });
pageIdOn('pagebeforehide', "nowPlayingPage", function () { view.addEventListener('viewbeforehide', function (e) {
var page = this; if (remoteControl) {
remoteControl.destroy();
if (page.remoteControl) {
page.remoteControl.destroy();
} }
document.body.classList.remove('hiddenViewMenuBar'); document.body.classList.remove('hiddenViewMenuBar');
document.body.classList.remove('hiddenNowPlayingBar'); document.body.classList.remove('hiddenNowPlayingBar');
}); });
};
}); });

View File

@ -2783,7 +2783,8 @@ var AppInfo = {};
defineRoute({ defineRoute({
path: '/nowplaying.html', path: '/nowplaying.html',
dependencies: [], dependencies: ['MaterialTabs', 'paper-icon-button-light', 'paper-slider', 'paper-button'],
controller: 'scripts/nowplayingpage',
autoFocus: false autoFocus: false
}); });