mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update dialogs
This commit is contained in:
parent
b385aa2d95
commit
797ab3899b
23 changed files with 469 additions and 95 deletions
|
@ -16,12 +16,12 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {},
|
"devDependencies": {},
|
||||||
"ignore": [],
|
"ignore": [],
|
||||||
"version": "1.3.82",
|
"version": "1.3.93",
|
||||||
"_release": "1.3.82",
|
"_release": "1.3.93",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "1.3.82",
|
"tag": "1.3.93",
|
||||||
"commit": "f25cb631146a714f2cc99666ce060f89eedde9e8"
|
"commit": "e471f95b705f30e5e07437f1adb28ca9f957b6e3"
|
||||||
},
|
},
|
||||||
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
|
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
|
||||||
"_target": "^1.2.0",
|
"_target": "^1.2.0",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define(['dialogHelper', 'layoutManager', 'globalize', 'html!./../icons/nav.html', 'css!./../prompt/style.css', 'paper-button', 'paper-icon-button-light', 'paper-input'], function (dialogHelper, layoutManager, globalize) {
|
define(['dialogHelper', 'layoutManager', 'globalize', 'html!./../icons/nav.html', 'css!./../prompt/style.css', 'paper-button', 'paper-icon-button-light'], function (dialogHelper, layoutManager, globalize) {
|
||||||
|
|
||||||
function getIcon(icon, cssClass, canFocus, autoFocus) {
|
function getIcon(icon, cssClass, canFocus, autoFocus) {
|
||||||
|
|
||||||
|
|
|
@ -107,6 +107,8 @@
|
||||||
var elem = getBackdropContainer();
|
var elem = getBackdropContainer();
|
||||||
elem.innerHTML = '';
|
elem.innerHTML = '';
|
||||||
|
|
||||||
|
getSkinContainer().removeAttribute('data-backdroptype');
|
||||||
|
|
||||||
if (clearAll) {
|
if (clearAll) {
|
||||||
hasExternalBackdrop = false;
|
hasExternalBackdrop = false;
|
||||||
}
|
}
|
||||||
|
@ -114,16 +116,18 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
var skinContainer;
|
var skinContainer;
|
||||||
function setSkinContainerBackgroundEnabled() {
|
function getSkinContainer() {
|
||||||
|
|
||||||
if (!skinContainer) {
|
if (!skinContainer) {
|
||||||
skinContainer = document.querySelector('.skinContainer');
|
skinContainer = document.querySelector('.skinContainer');
|
||||||
}
|
}
|
||||||
|
return skinContainer;
|
||||||
|
}
|
||||||
|
function setSkinContainerBackgroundEnabled() {
|
||||||
|
|
||||||
if (hasInternalBackdrop || hasExternalBackdrop) {
|
if (hasInternalBackdrop || hasExternalBackdrop) {
|
||||||
skinContainer.classList.add('withBackdrop');
|
getSkinContainer().classList.add('withBackdrop');
|
||||||
} else {
|
} else {
|
||||||
skinContainer.classList.remove('withBackdrop');
|
getSkinContainer().classList.remove('withBackdrop');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -166,7 +170,7 @@
|
||||||
currentLoadingBackdrop = instance;
|
currentLoadingBackdrop = instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
function setBackdrops(items) {
|
function setBackdrops(items, type) {
|
||||||
|
|
||||||
var images = items.map(function (i) {
|
var images = items.map(function (i) {
|
||||||
|
|
||||||
|
@ -207,7 +211,7 @@
|
||||||
quality: 100
|
quality: 100
|
||||||
});
|
});
|
||||||
|
|
||||||
setBackdrop(imgUrl);
|
setBackdrop(imgUrl, type);
|
||||||
});
|
});
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
@ -215,11 +219,17 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function setBackdrop(url) {
|
function setBackdrop(url, type) {
|
||||||
|
|
||||||
if (url) {
|
if (url) {
|
||||||
setBackdropImage(url);
|
setBackdropImage(url);
|
||||||
|
|
||||||
|
if (type) {
|
||||||
|
getSkinContainer().setAttribute('data-backdroptype', type);
|
||||||
|
} else {
|
||||||
|
getSkinContainer().removeAttribute('data-backdroptype');
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
clearBackdrop();
|
clearBackdrop();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define(['shell', 'dialogHelper', 'loading', 'layoutManager', 'connectionManager', 'scrollHelper', 'embyRouter', 'globalize', 'paper-checkbox', 'paper-input', 'paper-icon-button-light', 'emby-select', 'html!./../icons/nav.html', 'css!./../formdialog'], function (shell, dialogHelper, loading, layoutManager, connectionManager, scrollHelper, embyRouter, globalize) {
|
define(['shell', 'dialogHelper', 'loading', 'layoutManager', 'connectionManager', 'scrollHelper', 'embyRouter', 'globalize', 'paper-checkbox', 'emby-input', 'paper-icon-button-light', 'emby-select', 'html!./../icons/nav.html', 'css!./../formdialog'], function (shell, dialogHelper, loading, layoutManager, connectionManager, scrollHelper, embyRouter, globalize) {
|
||||||
|
|
||||||
var currentServerId;
|
var currentServerId;
|
||||||
|
|
||||||
|
@ -153,8 +153,8 @@
|
||||||
|
|
||||||
html += '<div class="newCollectionInfo">';
|
html += '<div class="newCollectionInfo">';
|
||||||
|
|
||||||
html += '<div>';
|
html += '<div class="inputContainer">';
|
||||||
html += '<paper-input type="text" id="txtNewCollectionName" required="required" label="' + globalize.translate('sharedcomponents#LabelName') + '"></paper-input>';
|
html += '<input is="emby-input" type="text" id="txtNewCollectionName" required="required" label="' + globalize.translate('sharedcomponents#LabelName') + '" />';
|
||||||
html += '<div class="fieldDescription">' + globalize.translate('sharedcomponents#NewCollectionNameExample') + '</div>';
|
html += '<div class="fieldDescription">' + globalize.translate('sharedcomponents#NewCollectionNameExample') + '</div>';
|
||||||
html += '</div>';
|
html += '</div>';
|
||||||
|
|
||||||
|
|
|
@ -249,6 +249,15 @@
|
||||||
return elem.animate(keyframes, timing).onfinish = onFinish;
|
return elem.animate(keyframes, timing).onfinish = onFinish;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function scaleDown(elem) {
|
||||||
|
|
||||||
|
var keyframes = [
|
||||||
|
{ transform: 'none', opacity: 1, offset: 0 },
|
||||||
|
{ transform: 'scale(0)', opacity: 0, offset: 1 }];
|
||||||
|
var timing = elem.animationConfig.exit.timing;
|
||||||
|
return elem.animate(keyframes, timing);
|
||||||
|
}
|
||||||
|
|
||||||
function fadeOut(elem) {
|
function fadeOut(elem) {
|
||||||
|
|
||||||
var keyframes = [
|
var keyframes = [
|
||||||
|
@ -291,6 +300,8 @@
|
||||||
|
|
||||||
if (dlg.animationConfig.exit.name == 'fadeout') {
|
if (dlg.animationConfig.exit.name == 'fadeout') {
|
||||||
animation = fadeOut(dlg);
|
animation = fadeOut(dlg);
|
||||||
|
} else if (dlg.animationConfig.exit.name == 'scaledown') {
|
||||||
|
animation = scaleDown(dlg);
|
||||||
} else if (dlg.animationConfig.exit.name == 'slidedown') {
|
} else if (dlg.animationConfig.exit.name == 'slidedown') {
|
||||||
animation = slideDown(dlg);
|
animation = slideDown(dlg);
|
||||||
} else {
|
} else {
|
||||||
|
@ -396,32 +407,32 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
var defaultEntryAnimation = browser.animate ? 'scaleup' : 'fadein';
|
var defaultEntryAnimation = browser.animate ? 'scaleup' : 'fadein';
|
||||||
dlg.entryAnimation = options.entryAnimation || defaultEntryAnimation;
|
var entryAnimation = options.entryAnimation || defaultEntryAnimation;
|
||||||
dlg.exitAnimation = 'fadeout';
|
var defaultExitAnimation = browser.animate ? 'scaledown' : 'fadeout';
|
||||||
|
var exitAnimation = options.exitAnimation || defaultExitAnimation;
|
||||||
|
|
||||||
// If it's not fullscreen then lower the default animation speed to make it open really fast
|
// If it's not fullscreen then lower the default animation speed to make it open really fast
|
||||||
var entryAnimationDuration = options.entryAnimationDuration || (options.size ? 200 : 300);
|
var entryAnimationDuration = options.entryAnimationDuration || (options.size ? 200 : 300);
|
||||||
|
var exitAnimationDuration = options.exitAnimationDuration || (options.size ? 200 : 300);
|
||||||
|
|
||||||
dlg.animationConfig = {
|
dlg.animationConfig = {
|
||||||
// scale up
|
// scale up
|
||||||
'entry': {
|
'entry': {
|
||||||
name: dlg.entryAnimation,
|
name: entryAnimation,
|
||||||
node: dlg,
|
node: dlg,
|
||||||
timing: { duration: entryAnimationDuration, easing: 'ease-out' }
|
timing: { duration: entryAnimationDuration, easing: 'ease-out' }
|
||||||
},
|
},
|
||||||
// fade out
|
// fade out
|
||||||
'exit': {
|
'exit': {
|
||||||
name: dlg.exitAnimation,
|
name: exitAnimation,
|
||||||
node: dlg,
|
node: dlg,
|
||||||
timing: { duration: options.exitAnimationDuration || 300, easing: 'ease-in' }
|
timing: { duration: exitAnimationDuration, easing: 'ease-out' }
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// too buggy in IE, not even worth it
|
// too buggy in IE, not even worth it
|
||||||
if (!enableAnimation()) {
|
if (!enableAnimation()) {
|
||||||
dlg.animationConfig = null;
|
dlg.animationConfig = null;
|
||||||
dlg.entryAnimation = null;
|
|
||||||
dlg.exitAnimation = null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dlg.classList.add('dialog');
|
dlg.classList.add('dialog');
|
||||||
|
|
53
dashboard-ui/bower_components/emby-webcomponents/emby-input/emby-input.css
vendored
Normal file
53
dashboard-ui/bower_components/emby-webcomponents/emby-input/emby-input.css
vendored
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
[is="emby-input"] {
|
||||||
|
display: block;
|
||||||
|
margin: 0;
|
||||||
|
margin-bottom: 0 !important;
|
||||||
|
background: none;
|
||||||
|
border: 1px solid rgb(221, 221, 221);
|
||||||
|
border-width: 0 0 1px 0;
|
||||||
|
/* Prefixed box-sizing rules necessary for older browsers */
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
-moz-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
/* Remove select styling */
|
||||||
|
/* Font size must the 16px or larger to prevent iOS page zoom on focus */
|
||||||
|
font-size: inherit;
|
||||||
|
/* General select styles: change as needed */
|
||||||
|
font-family: inherit;
|
||||||
|
font-weight: inherit;
|
||||||
|
color: inherit;
|
||||||
|
padding: .35em 0 .3em 0;
|
||||||
|
cursor: pointer;
|
||||||
|
outline: none !important;
|
||||||
|
width: 100%;
|
||||||
|
background-color: transparent;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inputContainer {
|
||||||
|
margin-bottom: 1.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inputLabel {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inputLabelFocused {
|
||||||
|
color: #52B54B;
|
||||||
|
}
|
||||||
|
|
||||||
|
.emby-input-selectionbar {
|
||||||
|
height: 2px;
|
||||||
|
transform: scale(.01, 1);
|
||||||
|
transition: transform .25s ease-out;
|
||||||
|
position: relative;
|
||||||
|
top: -1px;
|
||||||
|
margin-bottom: .5em;
|
||||||
|
-webkit-transform-origin: center center;
|
||||||
|
transform-origin: center center;
|
||||||
|
}
|
||||||
|
|
||||||
|
[is="emby-input"]:focus + .emby-input-selectionbar {
|
||||||
|
background-color: #52B54B;
|
||||||
|
transform: none;
|
||||||
|
}
|
71
dashboard-ui/bower_components/emby-webcomponents/emby-input/emby-input.js
vendored
Normal file
71
dashboard-ui/bower_components/emby-webcomponents/emby-input/emby-input.js
vendored
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
define(['layoutManager', 'browser', 'css!./emby-input'], function (layoutManager, browser) {
|
||||||
|
|
||||||
|
var EmbyInputPrototype = Object.create(HTMLInputElement.prototype);
|
||||||
|
|
||||||
|
function getLabel(input) {
|
||||||
|
var elem = input.previousSibling;
|
||||||
|
while (elem && elem.tagName != 'LABEL') {
|
||||||
|
elem = elem.previousSibling;
|
||||||
|
}
|
||||||
|
return elem;
|
||||||
|
}
|
||||||
|
|
||||||
|
function onFocus(e) {
|
||||||
|
var label = getLabel(this);
|
||||||
|
if (label) {
|
||||||
|
label.classList.add('inputLabelFocused');
|
||||||
|
label.classList.remove('inputLabelUnfocused');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function onBlur(e) {
|
||||||
|
var label = getLabel(this);
|
||||||
|
if (label) {
|
||||||
|
label.classList.add('inputLabelUnfocused');
|
||||||
|
label.classList.remove('inputLabelFocused');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
EmbyInputPrototype.createdCallback = function () {
|
||||||
|
|
||||||
|
var parent = this.parentNode;
|
||||||
|
if (!parent.classList.contains('inputContainer')) {
|
||||||
|
var div = this.ownerDocument.createElement('div');
|
||||||
|
div.classList.add('inputContainer');
|
||||||
|
parent.replaceChild(div, this);
|
||||||
|
div.appendChild(this);
|
||||||
|
}
|
||||||
|
if (!this.id) {
|
||||||
|
this.id = 'input' + new Date().getTime();
|
||||||
|
}
|
||||||
|
|
||||||
|
this.removeEventListener('focus', onFocus);
|
||||||
|
this.removeEventListener('blur', onBlur);
|
||||||
|
|
||||||
|
this.addEventListener('focus', onFocus);
|
||||||
|
this.addEventListener('blur', onBlur);
|
||||||
|
};
|
||||||
|
|
||||||
|
EmbyInputPrototype.attachedCallback = function () {
|
||||||
|
|
||||||
|
if (this.getAttribute('data-embyinput') != 'true') {
|
||||||
|
this.setAttribute('data-embyinput', 'true');
|
||||||
|
|
||||||
|
var label = this.ownerDocument.createElement('label');
|
||||||
|
label.innerHTML = this.getAttribute('label') || '';
|
||||||
|
label.classList.add('inputLabel');
|
||||||
|
label.classList.add('inputLabelUnfocused');
|
||||||
|
label.htmlFor = this.id;
|
||||||
|
this.parentNode.insertBefore(label, this);
|
||||||
|
|
||||||
|
var div = document.createElement('div');
|
||||||
|
div.classList.add('emby-input-selectionbar');
|
||||||
|
this.parentNode.insertBefore(div, this.nextSibling);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
document.registerElement('emby-input', {
|
||||||
|
prototype: EmbyInputPrototype,
|
||||||
|
extends: 'input'
|
||||||
|
});
|
||||||
|
});
|
|
@ -141,7 +141,6 @@
|
||||||
|
|
||||||
var div = document.createElement('div');
|
var div = document.createElement('div');
|
||||||
div.classList.add('emby-select-selectionbar');
|
div.classList.add('emby-select-selectionbar');
|
||||||
div.innerHTML = '<div class="emby-select-selectionbarInner"></div>';
|
|
||||||
this.parentNode.insertBefore(div, this.nextSibling);
|
this.parentNode.insertBefore(div, this.nextSibling);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -6,7 +6,9 @@
|
||||||
var items = {};
|
var items = {};
|
||||||
|
|
||||||
self.refresh = function () {
|
self.refresh = function () {
|
||||||
reloadPage(options.element);
|
|
||||||
|
var date = new Date();
|
||||||
|
changeDate(options.element, date);
|
||||||
};
|
};
|
||||||
|
|
||||||
self.destroy = function () {
|
self.destroy = function () {
|
||||||
|
@ -249,7 +251,14 @@
|
||||||
addAccent = false;
|
addAccent = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
html += '<button data-action="link" data-isfolder="' + program.IsFolder + '" data-id="' + program.Id + '" data-serverid="' + program.ServerId + '" data-type="' + program.Type + '" class="' + cssClass + '" style="left:' + startPercent + '%;width:' + endPercent + '%;">';
|
var timerAttributes = '';
|
||||||
|
if (program.TimerId) {
|
||||||
|
timerAttributes += ' data-timerid="' + program.TimerId + '"';
|
||||||
|
}
|
||||||
|
if (program.SeriesTimerId) {
|
||||||
|
timerAttributes += ' data-seriestimerid="' + program.SeriesTimerId + '"';
|
||||||
|
}
|
||||||
|
html += '<button data-action="link"' + timerAttributes + ' data-isfolder="' + program.IsFolder + '" data-id="' + program.Id + '" data-serverid="' + program.ServerId + '" data-type="' + program.Type + '" class="' + cssClass + '" style="left:' + startPercent + '%;width:' + endPercent + '%;">';
|
||||||
|
|
||||||
var guideProgramNameClass = "guideProgramName";
|
var guideProgramNameClass = "guideProgramName";
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,29 @@ define(['visibleinviewport', 'imageFetcher', 'layoutManager', 'events', 'browser
|
||||||
var thresholdY;
|
var thresholdY;
|
||||||
var windowSize;
|
var windowSize;
|
||||||
|
|
||||||
|
var supportsIntersectionObserver = function () {
|
||||||
|
|
||||||
|
if (window.IntersectionObserver) {
|
||||||
|
|
||||||
|
// The api exists in chrome 50 but doesn't work
|
||||||
|
if (browser.chrome) {
|
||||||
|
|
||||||
|
var version = parseInt(browser.version.split('.')[0]);
|
||||||
|
return version >= 51;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}();
|
||||||
|
|
||||||
|
function resetWindowSize() {
|
||||||
|
windowSize = {
|
||||||
|
innerHeight: window.innerHeight,
|
||||||
|
innerWidth: window.innerWidth
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
function resetThresholds() {
|
function resetThresholds() {
|
||||||
|
|
||||||
var x = screen.availWidth;
|
var x = screen.availWidth;
|
||||||
|
@ -19,24 +42,18 @@ define(['visibleinviewport', 'imageFetcher', 'layoutManager', 'events', 'browser
|
||||||
resetWindowSize();
|
resetWindowSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
window.addEventListener("orientationchange", resetThresholds);
|
if (!supportsIntersectionObserver) {
|
||||||
window.addEventListener('resize', resetThresholds);
|
window.addEventListener("orientationchange", resetThresholds);
|
||||||
events.on(layoutManager, 'modechange', resetThresholds);
|
window.addEventListener('resize', resetThresholds);
|
||||||
|
events.on(layoutManager, 'modechange', resetThresholds);
|
||||||
var wheelEvent = (document.implementation.hasFeature('Event.wheel', '3.0') ? 'wheel' : 'mousewheel');
|
resetThresholds();
|
||||||
|
|
||||||
function resetWindowSize() {
|
|
||||||
windowSize = {
|
|
||||||
innerHeight: window.innerHeight,
|
|
||||||
innerWidth: window.innerWidth
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
resetThresholds();
|
|
||||||
|
|
||||||
function isVisible(elem) {
|
function isVisible(elem) {
|
||||||
return visibleinviewport(elem, true, thresholdX, thresholdY, windowSize);
|
return visibleinviewport(elem, true, thresholdX, thresholdY, windowSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var wheelEvent = (document.implementation.hasFeature('Event.wheel', '3.0') ? 'wheel' : 'mousewheel');
|
||||||
var self = {};
|
var self = {};
|
||||||
|
|
||||||
function fillImage(elem, source, enableEffects) {
|
function fillImage(elem, source, enableEffects) {
|
||||||
|
@ -92,6 +109,12 @@ define(['visibleinviewport', 'imageFetcher', 'layoutManager', 'events', 'browser
|
||||||
|
|
||||||
var filledCount = 0;
|
var filledCount = 0;
|
||||||
|
|
||||||
|
var options = {};
|
||||||
|
|
||||||
|
if (!layoutManager.desktop) {
|
||||||
|
options.rootMargin = "125%";
|
||||||
|
}
|
||||||
|
|
||||||
var observer = new IntersectionObserver(function (entries) {
|
var observer = new IntersectionObserver(function (entries) {
|
||||||
for (var j = 0, length2 = entries.length; j < length2; j++) {
|
for (var j = 0, length2 = entries.length; j < length2; j++) {
|
||||||
var entry = entries[j];
|
var entry = entries[j];
|
||||||
|
@ -109,9 +132,7 @@ define(['visibleinviewport', 'imageFetcher', 'layoutManager', 'events', 'browser
|
||||||
//observer.disconnect();
|
//observer.disconnect();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
options
|
||||||
/* Using default options. Details below */
|
|
||||||
}
|
|
||||||
);
|
);
|
||||||
// Start observing an element
|
// Start observing an element
|
||||||
for (var i = 0, length = images.length; i < length; i++) {
|
for (var i = 0, length = images.length; i < length; i++) {
|
||||||
|
@ -119,22 +140,6 @@ define(['visibleinviewport', 'imageFetcher', 'layoutManager', 'events', 'browser
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var supportsIntersectionObserver = function () {
|
|
||||||
|
|
||||||
if (window.IntersectionObserver) {
|
|
||||||
|
|
||||||
// The api exists in chrome 50 but doesn't work
|
|
||||||
if (browser.chrome) {
|
|
||||||
|
|
||||||
var version = parseInt(browser.version.split('.')[0]);
|
|
||||||
return version >= 51;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}();
|
|
||||||
|
|
||||||
function unveilElements(images) {
|
function unveilElements(images) {
|
||||||
|
|
||||||
if (!images.length) {
|
if (!images.length) {
|
||||||
|
|
15
dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.css
vendored
Normal file
15
dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.css
vendored
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
.itemProgressBar {
|
||||||
|
background: rgba(0,0,0,.5);
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.itemProgressBarForeground {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timerIndicator {
|
||||||
|
color: #CB272A;
|
||||||
|
}
|
111
dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.js
vendored
Normal file
111
dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.js
vendored
Normal file
|
@ -0,0 +1,111 @@
|
||||||
|
define(['css!./indicators.css', 'html!./../icons/mediainfo.html', 'html!./../icons/nav.html'], function () {
|
||||||
|
|
||||||
|
function enableProgressIndicator(item) {
|
||||||
|
|
||||||
|
if (item.MediaType == 'Video') {
|
||||||
|
if (item.Type != 'TvChannel') {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getProgressHtml(pct) {
|
||||||
|
|
||||||
|
return '<div class="itemProgressBar"><div class="itemProgressBarForeground" style="width:' + pct + '%;"></div></div>';
|
||||||
|
}
|
||||||
|
|
||||||
|
function getProgressBarHtml(item) {
|
||||||
|
|
||||||
|
if (enableProgressIndicator(item)) {
|
||||||
|
if (item.Type == "Recording" && item.CompletionPercentage) {
|
||||||
|
|
||||||
|
return getProgressHtml(item.CompletionPercentage);
|
||||||
|
}
|
||||||
|
|
||||||
|
var userData = item.UserData;
|
||||||
|
if (userData) {
|
||||||
|
var pct = userData.PlayedPercentage;
|
||||||
|
|
||||||
|
if (pct && pct < 100) {
|
||||||
|
|
||||||
|
return getProgressHtml(pct);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
function enablePlayedIndicator(item) {
|
||||||
|
|
||||||
|
if (item.Type == "Series" || item.Type == "Season" || item.Type == "BoxSet" || item.MediaType == "Video" || item.MediaType == "Game" || item.MediaType == "Book") {
|
||||||
|
|
||||||
|
if (item.Type != 'TvChannel') {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getPlayedIndicator(item) {
|
||||||
|
|
||||||
|
if (enablePlayedIndicator(item)) {
|
||||||
|
|
||||||
|
var userData = item.UserData || {};
|
||||||
|
|
||||||
|
if (userData.UnplayedItemCount) {
|
||||||
|
return '<div class="countIndicator indicator">' + userData.UnplayedItemCount + '</div>';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (userData.PlayedPercentage && userData.PlayedPercentage >= 100 || (userData.Played)) {
|
||||||
|
return '<div class="playedIndicator indicator"><iron-icon icon="nav:check"></iron-icon></div>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
function getCountIndicatorHtml(count) {
|
||||||
|
|
||||||
|
return '<div class="countIndicator indicator">' + count + '</div>';
|
||||||
|
}
|
||||||
|
|
||||||
|
function getChildCountIndicatorHtml(item, options) {
|
||||||
|
|
||||||
|
var minCount = 0;
|
||||||
|
|
||||||
|
if (options) {
|
||||||
|
minCount = options.minCount || minCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (item.ChildCount && item.ChildCount > minCount) {
|
||||||
|
return getCountIndicatorHtml(item.ChildCount);
|
||||||
|
}
|
||||||
|
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
function getTimerIndicator(item) {
|
||||||
|
|
||||||
|
if (item.SeriesTimerId) {
|
||||||
|
return '<iron-icon class="timerIndicator indicator" icon="mediainfo:fiber-smart-record"></iron-icon>';
|
||||||
|
}
|
||||||
|
if (item.TimerId) {
|
||||||
|
return '<iron-icon class="timerIndicator indicator" icon="mediainfo:fiber-manual-record"></iron-icon>';
|
||||||
|
}
|
||||||
|
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
getProgressBarHtml: getProgressBarHtml,
|
||||||
|
getPlayedIndicatorHtml: getPlayedIndicator,
|
||||||
|
getChildCountIndicatorHtml: getChildCountIndicatorHtml,
|
||||||
|
enableProgressIndicator: enableProgressIndicator,
|
||||||
|
getTimerIndicator: getTimerIndicator,
|
||||||
|
enablePlayedIndicator: enablePlayedIndicator
|
||||||
|
};
|
||||||
|
});
|
|
@ -1,4 +1,4 @@
|
||||||
define(['shell', 'dialogHelper', 'loading', 'layoutManager', 'connectionManager', 'scrollHelper', 'embyRouter', 'globalize', 'paper-checkbox', 'paper-input', 'paper-icon-button-light', 'emby-select', 'html!./../icons/nav.html', 'css!./../formdialog'], function (shell, dialogHelper, loading, layoutManager, connectionManager, scrollHelper, embyRouter, globalize) {
|
define(['shell', 'dialogHelper', 'loading', 'layoutManager', 'connectionManager', 'scrollHelper', 'embyRouter', 'globalize', 'paper-checkbox', 'emby-input', 'paper-icon-button-light', 'emby-select', 'html!./../icons/nav.html', 'css!./../formdialog'], function (shell, dialogHelper, loading, layoutManager, connectionManager, scrollHelper, embyRouter, globalize) {
|
||||||
|
|
||||||
var lastPlaylistId = '';
|
var lastPlaylistId = '';
|
||||||
var currentServerId;
|
var currentServerId;
|
||||||
|
@ -147,9 +147,7 @@
|
||||||
|
|
||||||
html += '<div class="newPlaylistInfo">';
|
html += '<div class="newPlaylistInfo">';
|
||||||
|
|
||||||
html += '<div>';
|
html += '<input is="emby-input" type="text" id="txtNewPlaylistName" required="required" label="' + globalize.translate('sharedcomponents#LabelName') + '" />';
|
||||||
html += '<paper-input type="text" id="txtNewPlaylistName" required="required" label="' + globalize.translate('sharedcomponents#LabelName') + '"></paper-input>';
|
|
||||||
html += '</div>';
|
|
||||||
|
|
||||||
html += '<br />';
|
html += '<br />';
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define(['dialogHelper', 'layoutManager', 'globalize', 'html!./../icons/nav.html', 'css!./style.css', 'paper-button', 'paper-icon-button-light', 'paper-input'], function (dialogHelper, layoutManager, globalize) {
|
define(['dialogHelper', 'layoutManager', 'globalize', 'html!./../icons/nav.html', 'css!./style.css', 'paper-button', 'paper-icon-button-light', 'emby-input'], function (dialogHelper, layoutManager, globalize) {
|
||||||
|
|
||||||
function getIcon(icon, cssClass, canFocus, autoFocus) {
|
function getIcon(icon, cssClass, canFocus, autoFocus) {
|
||||||
|
|
||||||
|
@ -54,13 +54,15 @@ define(['dialogHelper', 'layoutManager', 'globalize', 'html!./../icons/nav.html'
|
||||||
|
|
||||||
html += '<form>';
|
html += '<form>';
|
||||||
|
|
||||||
html += '<paper-input autoFocus class="txtPromptValue" value="' + (options.value || '') + '" label="' + (options.label || '') + '"></paper-input>';
|
html += '<div class="inputContainer">';
|
||||||
|
html += '<input is="emby-input" type="text" autoFocus class="txtPromptValue" value="' + (options.value || '') + '" label="' + (options.label || '') + '"/>';
|
||||||
|
|
||||||
if (options.description) {
|
if (options.description) {
|
||||||
html += '<div class="fieldDescription">';
|
html += '<div class="fieldDescription">';
|
||||||
html += options.description;
|
html += options.description;
|
||||||
html += '</div>';
|
html += '</div>';
|
||||||
}
|
}
|
||||||
|
html += '</div>';
|
||||||
|
|
||||||
html += '<br/>';
|
html += '<br/>';
|
||||||
if (raisedButtons) {
|
if (raisedButtons) {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define(['dialogHelper', 'globalize', 'layoutManager', 'mediaInfo', 'apphost', 'connectionManager', 'require', 'loading', 'scrollHelper', 'scrollStyles', 'paper-checkbox', 'emby-collapsible', 'paper-input', 'paper-icon-button-light', 'css!./../formdialog', 'css!./recordingcreator', 'html!./../icons/mediainfo.html', 'html!./../icons/nav.html'], function (dialogHelper, globalize, layoutManager, mediaInfo, appHost, connectionManager, require, loading, scrollHelper) {
|
define(['dialogHelper', 'globalize', 'layoutManager', 'mediaInfo', 'apphost', 'connectionManager', 'require', 'loading', 'scrollHelper', 'scrollStyles', 'paper-checkbox', 'emby-collapsible', 'emby-input', 'paper-icon-button-light', 'css!./../formdialog', 'css!./recordingcreator', 'html!./../icons/mediainfo.html', 'html!./../icons/nav.html'], function (dialogHelper, globalize, layoutManager, mediaInfo, appHost, connectionManager, require, loading, scrollHelper) {
|
||||||
|
|
||||||
var currentProgramId;
|
var currentProgramId;
|
||||||
var currentServerId;
|
var currentServerId;
|
||||||
|
@ -38,7 +38,9 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function hideSeriesRecordingFields(context) {
|
function hideSeriesRecordingFields(context) {
|
||||||
slideUpToHide(context.querySelector('#seriesFields'));
|
|
||||||
|
slideUpToHide(context.querySelector('.seriesFields'));
|
||||||
|
slideUpToHide(context.querySelector('.seriesDays'));
|
||||||
context.querySelector('.btnSubmit').classList.remove('hide');
|
context.querySelector('.btnSubmit').classList.remove('hide');
|
||||||
context.querySelector('.supporterContainer').classList.add('hide');
|
context.querySelector('.supporterContainer').classList.add('hide');
|
||||||
}
|
}
|
||||||
|
@ -123,8 +125,19 @@
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function showSeriesDays(context) {
|
||||||
|
|
||||||
|
if (context.querySelector('#chkAnyTime').checked) {
|
||||||
|
slideUpToHide(context.querySelector('.seriesDays'));
|
||||||
|
} else {
|
||||||
|
slideDownToShow(context.querySelector('.seriesDays'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function showSeriesRecordingFields(context, apiClient) {
|
function showSeriesRecordingFields(context, apiClient) {
|
||||||
slideDownToShow(context.querySelector('#seriesFields'));
|
|
||||||
|
slideDownToShow(context.querySelector('.seriesFields'));
|
||||||
|
showSeriesDays(context);
|
||||||
context.querySelector('.btnSubmit').classList.remove('hide');
|
context.querySelector('.btnSubmit').classList.remove('hide');
|
||||||
|
|
||||||
getRegistration(currentProgramId, apiClient).then(function (regInfo) {
|
getRegistration(currentProgramId, apiClient).then(function (regInfo) {
|
||||||
|
@ -240,6 +253,11 @@
|
||||||
closeDialog(false);
|
closeDialog(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
context.querySelector('#chkAnyTime').addEventListener('change', function () {
|
||||||
|
|
||||||
|
showSeriesDays(context);
|
||||||
|
});
|
||||||
|
|
||||||
context.querySelector('form', context).addEventListener('submit', onSubmit);
|
context.querySelector('form', context).addEventListener('submit', onSubmit);
|
||||||
|
|
||||||
var supporterButtons = context.querySelectorAll('.btnSupporter');
|
var supporterButtons = context.querySelectorAll('.btnSupporter');
|
||||||
|
|
|
@ -18,19 +18,7 @@
|
||||||
<paper-checkbox id="chkRecordSeries">${RecordSeries}</paper-checkbox>
|
<paper-checkbox id="chkRecordSeries">${RecordSeries}</paper-checkbox>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="seriesFields" class="hide">
|
<div class="seriesFields hide">
|
||||||
<div>
|
|
||||||
<h1>${Days}</h1>
|
|
||||||
</div>
|
|
||||||
<div class="paperCheckboxList">
|
|
||||||
<paper-checkbox id="chkSunday">${Sunday}</paper-checkbox>
|
|
||||||
<paper-checkbox id="chkMonday">${Monday}</paper-checkbox>
|
|
||||||
<paper-checkbox id="chkTuesday">${Tuesday}</paper-checkbox>
|
|
||||||
<paper-checkbox id="chkWednesday">${Wednesday}</paper-checkbox>
|
|
||||||
<paper-checkbox id="chkThursday">${Thursday}</paper-checkbox>
|
|
||||||
<paper-checkbox id="chkFriday">${Friday}</paper-checkbox>
|
|
||||||
<paper-checkbox id="chkSaturday">${Saturday}</paper-checkbox>
|
|
||||||
</div>
|
|
||||||
<br />
|
<br />
|
||||||
<div class="paperCheckboxList">
|
<div class="paperCheckboxList">
|
||||||
<paper-checkbox id="chkNewOnly">${RecordOnlyNewEpisodes}</paper-checkbox>
|
<paper-checkbox id="chkNewOnly">${RecordOnlyNewEpisodes}</paper-checkbox>
|
||||||
|
@ -38,6 +26,7 @@
|
||||||
<paper-checkbox id="chkAllChannels">${RecordOnAllChannels}</paper-checkbox>
|
<paper-checkbox id="chkAllChannels">${RecordOnAllChannels}</paper-checkbox>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<br />
|
||||||
</div>
|
</div>
|
||||||
<div class="convertRecordingsContainer hide">
|
<div class="convertRecordingsContainer hide">
|
||||||
<br />
|
<br />
|
||||||
|
@ -51,13 +40,25 @@
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
<emby-collapsible title="${Advanced}">
|
<emby-collapsible title="${Advanced}">
|
||||||
<div>
|
<div class="seriesDays hide">
|
||||||
<paper-input type="number" id="txtPrePaddingMinutes" pattern="[0-9]*" required="required" min="0" step="1" label="${LabelPrePaddingMinutes}"></paper-input>
|
<div>
|
||||||
|
<h1>${Days}</h1>
|
||||||
|
</div>
|
||||||
|
<div class="paperCheckboxList">
|
||||||
|
<paper-checkbox id="chkSunday">${Sunday}</paper-checkbox>
|
||||||
|
<paper-checkbox id="chkMonday">${Monday}</paper-checkbox>
|
||||||
|
<paper-checkbox id="chkTuesday">${Tuesday}</paper-checkbox>
|
||||||
|
<paper-checkbox id="chkWednesday">${Wednesday}</paper-checkbox>
|
||||||
|
<paper-checkbox id="chkThursday">${Thursday}</paper-checkbox>
|
||||||
|
<paper-checkbox id="chkFriday">${Friday}</paper-checkbox>
|
||||||
|
<paper-checkbox id="chkSaturday">${Saturday}</paper-checkbox>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
</div>
|
</div>
|
||||||
<br />
|
<br />
|
||||||
<div>
|
<input is="emby-input" type="number" id="txtPrePaddingMinutes" pattern="[0-9]*" required="required" min="0" step="1" label="${LabelPrePaddingMinutes}" />
|
||||||
<paper-input type="number" id="txtPostPaddingMinutes" pattern="[0-9]*" required="required" min="0" step="1" label="${LabelPostPaddingMinutes}"></paper-input>
|
<br />
|
||||||
</div>
|
<input is="emby-input" type="number" id="txtPostPaddingMinutes" pattern="[0-9]*" required="required" min="0" step="1" label="${LabelPostPaddingMinutes}" />
|
||||||
</emby-collapsible>
|
</emby-collapsible>
|
||||||
<br />
|
<br />
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define(['dialogHelper', 'globalize', 'layoutManager', 'mediaInfo', 'apphost', 'connectionManager', 'require', 'loading', 'scrollHelper', 'scrollStyles', 'paper-checkbox', 'emby-collapsible', 'paper-input', 'paper-icon-button-light', 'css!./../formdialog', 'css!./recordingcreator', 'html!./../icons/mediainfo.html', 'html!./../icons/nav.html'], function (dialogHelper, globalize, layoutManager, mediaInfo, appHost, connectionManager, require, loading, scrollHelper) {
|
define(['dialogHelper', 'globalize', 'layoutManager', 'mediaInfo', 'apphost', 'connectionManager', 'require', 'loading', 'scrollHelper', 'scrollStyles', 'paper-checkbox', 'emby-collapsible', 'emby-input', 'paper-icon-button-light', 'css!./../formdialog', 'css!./recordingcreator', 'html!./../icons/mediainfo.html', 'html!./../icons/nav.html'], function (dialogHelper, globalize, layoutManager, mediaInfo, appHost, connectionManager, require, loading, scrollHelper) {
|
||||||
|
|
||||||
var currentDialog;
|
var currentDialog;
|
||||||
var recordingUpdated = false;
|
var recordingUpdated = false;
|
||||||
|
|
|
@ -24,13 +24,10 @@
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<form>
|
<form>
|
||||||
<div>
|
|
||||||
<paper-input type="number" id="txtPrePaddingMinutes" pattern="[0-9]*" required="required" min="0" step="1" label="${LabelPrePaddingMinutes}"></paper-input>
|
|
||||||
</div>
|
|
||||||
<br />
|
<br />
|
||||||
<div>
|
<input is="emby-input" type="number" id="txtPrePaddingMinutes" pattern="[0-9]*" required="required" min="0" step="1" label="${LabelPrePaddingMinutes}" />
|
||||||
<paper-input type="number" id="txtPostPaddingMinutes" pattern="[0-9]*" required="required" min="0" step="1" label="${LabelPostPaddingMinutes}"></paper-input>
|
<br />
|
||||||
</div>
|
<input is="emby-input" type="number" id="txtPostPaddingMinutes" pattern="[0-9]*" required="required" min="0" step="1" label="${LabelPostPaddingMinutes}" />
|
||||||
<br />
|
<br />
|
||||||
<paper-button raised class="btnSubmit block" autofocus><iron-icon icon="mediainfo:fiber-manual-record"></iron-icon><span>${Save}</span></paper-button>
|
<paper-button raised class="btnSubmit block" autofocus><iron-icon icon="mediainfo:fiber-manual-record"></iron-icon><span>${Save}</span></paper-button>
|
||||||
</form>
|
</form>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define(['playbackManager', 'inputManager', 'connectionManager', 'embyRouter'], function (playbackManager, inputManager, connectionManager, embyRouter) {
|
define(['playbackManager', 'inputManager', 'connectionManager', 'embyRouter', 'globalize', 'loading'], function (playbackManager, inputManager, connectionManager, embyRouter, globalize, loading) {
|
||||||
|
|
||||||
function playAllFromHere(card, serverId) {
|
function playAllFromHere(card, serverId) {
|
||||||
var cards = card.parentNode.querySelectorAll('.itemAction[data-id]');
|
var cards = card.parentNode.querySelectorAll('.itemAction[data-id]');
|
||||||
|
@ -111,6 +111,47 @@ define(['playbackManager', 'inputManager', 'connectionManager', 'embyRouter'], f
|
||||||
else if (action == 'setplaylistindex') {
|
else if (action == 'setplaylistindex') {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
else if (action == 'record') {
|
||||||
|
onRecordCommand(serverId, id, type, card.getAttribute('data-timerid'), card.getAttribute('data-seriestimerid'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function onRecordCommand(serverId, id, type, timerId, seriesTimerId) {
|
||||||
|
|
||||||
|
var apiClient = connectionManager.getApiClient(serverId);
|
||||||
|
|
||||||
|
if (seriesTimerId) {
|
||||||
|
// cancel all
|
||||||
|
|
||||||
|
} else if (timerId) {
|
||||||
|
|
||||||
|
// change to series recording, if possible
|
||||||
|
// otherwise cancel individual recording
|
||||||
|
|
||||||
|
} else if (type == 'Program') {
|
||||||
|
// schedule recording
|
||||||
|
createRecording(apiClient, id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function createRecording(apiClient, programId) {
|
||||||
|
|
||||||
|
loading.show();
|
||||||
|
apiClient.getNewLiveTvTimerDefaults({ programId: programId }).then(function (item) {
|
||||||
|
|
||||||
|
apiClient.createLiveTvTimer(item).then(function () {
|
||||||
|
|
||||||
|
loading.hide();
|
||||||
|
sendToast(globalize.translate('sharedcomponents#RecordingScheduled'));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function sendToast(msg) {
|
||||||
|
require(['toast'], function (toast) {
|
||||||
|
toast(msg);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function onClick(e) {
|
function onClick(e) {
|
||||||
|
@ -141,7 +182,7 @@ define(['playbackManager', 'inputManager', 'connectionManager', 'embyRouter'], f
|
||||||
function onCommand(e) {
|
function onCommand(e) {
|
||||||
var cmd = e.detail.command;
|
var cmd = e.detail.command;
|
||||||
|
|
||||||
if (cmd == 'play') {
|
if (cmd == 'play' || cmd == 'record') {
|
||||||
var card = parentWithClass(e.target, 'itemAction');
|
var card = parentWithClass(e.target, 'itemAction');
|
||||||
|
|
||||||
if (card) {
|
if (card) {
|
||||||
|
|
33
dashboard-ui/bower_components/paper-button/.github/ISSUE_TEMPLATE.md
vendored
Normal file
33
dashboard-ui/bower_components/paper-button/.github/ISSUE_TEMPLATE.md
vendored
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
<!-- Instructions: https://github.com/PolymerElements/paper-button/CONTRIBUTING.md#filing-issues -->
|
||||||
|
### Description
|
||||||
|
<!-- Example: The `paper-foo` element causes the page to turn pink when clicked. -->
|
||||||
|
|
||||||
|
### Expected outcome
|
||||||
|
|
||||||
|
<!-- Example: The page stays the same color. -->
|
||||||
|
|
||||||
|
### Actual outcome
|
||||||
|
|
||||||
|
<!-- Example: The page turns pink. -->
|
||||||
|
|
||||||
|
### Live Demo
|
||||||
|
<!-- Example: https://jsbin.com/cagaye/edit?html,output -->
|
||||||
|
|
||||||
|
### Steps to reproduce
|
||||||
|
|
||||||
|
<!-- Example
|
||||||
|
1. Put a `paper-foo` element in the page.
|
||||||
|
2. Open the page in a web browser.
|
||||||
|
3. Click the `paper-foo` element.
|
||||||
|
-->
|
||||||
|
|
||||||
|
### Browsers Affected
|
||||||
|
<!-- Check all that apply -->
|
||||||
|
- [ ] Chrome
|
||||||
|
- [ ] Firefox
|
||||||
|
- [ ] Safari 9
|
||||||
|
- [ ] Safari 8
|
||||||
|
- [ ] Safari 7
|
||||||
|
- [ ] Edge
|
||||||
|
- [ ] IE 11
|
||||||
|
- [ ] IE 10
|
|
@ -7,7 +7,6 @@
|
||||||
<form class="popupIdentifyForm" style="margin:auto;">
|
<form class="popupIdentifyForm" style="margin:auto;">
|
||||||
|
|
||||||
<p>${HeaderIdentifyItemHelp}</p>
|
<p>${HeaderIdentifyItemHelp}</p>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<paper-input type="text" id="txtLookupName" class="identifyField" data-lookup="Name" label="${LabelName}"></paper-input>
|
<paper-input type="text" id="txtLookupName" class="identifyField" data-lookup="Name" label="${LabelName}"></paper-input>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -419,7 +419,7 @@ fieldset {
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
input:not(.paper-input):not(.likePaperText):not([type='checkbox']):not([type='radio']):not([type='file']):not([type='range']) {
|
input:not(.paper-input):not(.likePaperText):not([type='checkbox']):not([type='radio']):not([type='file']):not([type='range']):not([is='emby-input']) {
|
||||||
-webkit-appearance: none;
|
-webkit-appearance: none;
|
||||||
-webkit-font-smoothing: antialiased;
|
-webkit-font-smoothing: antialiased;
|
||||||
-webkit-rtl-ordering: logical;
|
-webkit-rtl-ordering: logical;
|
||||||
|
@ -490,7 +490,7 @@ select {
|
||||||
color: #000;
|
color: #000;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-body-b select {
|
.ui-body-b select, .ui-body-b [is="emby-input"] {
|
||||||
background: none;
|
background: none;
|
||||||
border-color: #454545;
|
border-color: #454545;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1779,6 +1779,7 @@ var AppInfo = {};
|
||||||
|
|
||||||
define("libjass", [bowerPath + "/libjass/libjass", "css!" + bowerPath + "/libjass/libjass"], returnFirstDependency);
|
define("libjass", [bowerPath + "/libjass/libjass", "css!" + bowerPath + "/libjass/libjass"], returnFirstDependency);
|
||||||
|
|
||||||
|
define("emby-input", [embyWebComponentsBowerPath + "/emby-input/emby-input"], returnFirstDependency);
|
||||||
define("emby-select", [embyWebComponentsBowerPath + "/emby-select/emby-select"], returnFirstDependency);
|
define("emby-select", [embyWebComponentsBowerPath + "/emby-select/emby-select"], returnFirstDependency);
|
||||||
define("collectionEditor", [embyWebComponentsBowerPath + "/collectioneditor/collectioneditor"], returnFirstDependency);
|
define("collectionEditor", [embyWebComponentsBowerPath + "/collectioneditor/collectioneditor"], returnFirstDependency);
|
||||||
define("playlistEditor", [embyWebComponentsBowerPath + "/playlisteditor/playlisteditor"], returnFirstDependency);
|
define("playlistEditor", [embyWebComponentsBowerPath + "/playlisteditor/playlisteditor"], returnFirstDependency);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue