';
- //if (itemHelper.canEdit({ Policy: { IsAdministrator: true } }, item)) {
-
- // //require(['emby-playstatebutton']);
- // html += '
';
- //}
-
var userData = item.UserData || {};
if (itemHelper.canMarkPlayed(item)) {
-
require(['emby-playstatebutton']);
html += '
';
}
diff --git a/src/components/cardbuilder/roundcard.css b/src/components/cardbuilder/roundcard.css
deleted file mode 100644
index d0bd95097..000000000
--- a/src/components/cardbuilder/roundcard.css
+++ /dev/null
@@ -1,7 +0,0 @@
-.card-round:focus > .cardBox-focustransform {
- transform: scale(1.26, 1.26);
-}
-
-.cardImageContainer-round, .cardImage-round {
- border-radius: 1000px;
-}
diff --git a/src/components/directorybrowser/directorybrowser.js b/src/components/directorybrowser/directorybrowser.js
index e4ceecc0c..aac45f86d 100644
--- a/src/components/directorybrowser/directorybrowser.js
+++ b/src/components/directorybrowser/directorybrowser.js
@@ -90,20 +90,11 @@ define(['loading', 'dialogHelper', 'dom', 'listViewStyle', 'emby-input', 'paper-
html += '
';
html += instruction;
html += Globalize.translate("MessageDirectoryPickerInstruction").replace("{0}", "
\\\\server").replace("{1}", "
\\\\192.168.1.101");
- if ("synology" === (systemInfo.PackageName || "").toLowerCase()) {
- html += "
";
- html += "
";
- html += '
';
- html += Globalize.translate("LearnHowToCreateSynologyShares");
- html += "";
- } else if ("bsd" === systemInfo.OperatingSystem.toLowerCase()) {
+ if ("bsd" === systemInfo.OperatingSystem.toLowerCase()) {
html += "
";
html += "
";
html += Globalize.translate("MessageDirectoryPickerBSDInstruction");
html += "
";
- html += '
';
- html += Globalize.translate("ButtonMoreInformation");
- html += "";
} else if ("linux" === systemInfo.OperatingSystem.toLowerCase()) {
html += "
";
html += "
";
diff --git a/src/components/displaysettings/displaysettings.js b/src/components/displaysettings/displaysettings.js
index 680c6b634..fea7d9bd3 100644
--- a/src/components/displaysettings/displaysettings.js
+++ b/src/components/displaysettings/displaysettings.js
@@ -2,25 +2,19 @@ define(['require', 'browser', 'layoutManager', 'appSettings', 'pluginManager', '
"use strict";
function fillThemes(select, isDashboard) {
-
select.innerHTML = skinManager.getThemes().map(function (t) {
-
var value = t.id;
-
if (t.isDefault && !isDashboard) {
value = '';
- }
- else if (t.isDefaultServerDashboard && isDashboard) {
+ } else if (t.isDefaultServerDashboard && isDashboard) {
value = '';
}
return '
';
-
}).join('');
}
function loadScreensavers(context, userSettings) {
-
var selectScreensaver = context.querySelector('.selectScreensaver');
var options = pluginManager.ofType('screensaver').map(function (plugin) {
return {
diff --git a/src/components/emby-button/emby-button.css b/src/components/emby-button/emby-button.css
index 90807d2a8..148d1ebad 100644
--- a/src/components/emby-button/emby-button.css
+++ b/src/components/emby-button/emby-button.css
@@ -27,7 +27,6 @@
/* Disable webkit tap highlighting */
-webkit-tap-highlight-color: rgba(0,0,0,0);
text-decoration: none;
-
/* Not crazy about this but it normalizes heights between anchors and buttons */
line-height: 1.35;
}
@@ -40,9 +39,9 @@
background: transparent;
}
- .button-flat:hover {
- opacity: .5;
- }
+.button-flat:hover {
+ opacity: .5;
+}
.button-link {
background: transparent;
@@ -65,10 +64,10 @@
transform-origin: center center;
}
- .emby-button-focusscale:focus {
- transform: scale(1.16);
- z-index: 1;
- }
+.emby-button-focusscale:focus {
+ transform: scale(1.16);
+ z-index: 1;
+}
.emby-button > i {
/* For non-fab buttons that have icons */
@@ -170,10 +169,10 @@
transform-origin: center center;
}
- .icon-button-focusscale:focus {
- transform: scale(1.3);
- z-index: 1;
- }
+.icon-button-focusscale:focus {
+ transform: scale(1.3);
+ z-index: 1;
+}
.btnFilterWithBubble {
position: relative;
diff --git a/src/components/emby-checkbox/emby-checkbox.css b/src/components/emby-checkbox/emby-checkbox.css
index dc12b2de8..ed70747db 100644
--- a/src/components/emby-checkbox/emby-checkbox.css
+++ b/src/components/emby-checkbox/emby-checkbox.css
@@ -63,29 +63,6 @@
justify-content: center;
}
-/* Commenting this out - set by theme */
-/*.emby-checkbox:checked + span + span + .checkboxOutline {
- border-color: #52B54B;
-}*/
-
-.emby-checkbox-focushelper {
- position: absolute;
- top: -0.915em;
- left: -0.915em;
- width: 3.66em;
- height: 3.66em;
- display: inline-block;
- box-sizing: border-box;
- margin: 3px 0 0 0;
- border-radius: 50%;
- background-color: transparent;
-}
-
-/* Commenting this out - set by theme */
-/*.emby-checkbox:focus + span + .emby-checkbox-focushelper {
- background-color: rgba(82, 181, 75, 0.26);
-}*/
-
.checkboxIcon {
font-size: 1.6em;
color: #fff;
@@ -95,18 +72,18 @@
display: none;
}
-.emby-checkbox:checked + span + span + .checkboxOutline > .checkboxIcon-checked {
+.emby-checkbox:checked + span + .checkboxOutline > .checkboxIcon-checked {
/* background-color set by theme */
/*background-color: #52B54B;*/
display: flex !important;
}
-.emby-checkbox:checked + span + span + .checkboxOutline > .checkboxIcon-unchecked {
+.emby-checkbox:checked + span + .checkboxOutline > .checkboxIcon-unchecked {
/* background-color set by theme */
display: none !important;
}
-.emby-checkbox:checked[disabled] + span + span + .checkboxOutline > .checkboxIcon {
+.emby-checkbox:checked[disabled] + span + .checkboxOutline > .checkboxIcon {
background-color: rgba(0, 0, 0, 0.26);
}
diff --git a/src/components/emby-checkbox/emby-checkbox.js b/src/components/emby-checkbox/emby-checkbox.js
index 9afb67bc0..6144f6892 100644
--- a/src/components/emby-checkbox/emby-checkbox.js
+++ b/src/components/emby-checkbox/emby-checkbox.js
@@ -61,7 +61,7 @@ define(['browser', 'dom', 'css!./emby-checkbox', 'registerElement'], function (b
var uncheckedIcon = this.getAttribute('data-uncheckedicon') || '';
var checkHtml = '
' + checkedIcon + '';
var uncheckedHtml = '
' + uncheckedIcon + '';
- labelElement.insertAdjacentHTML('beforeend', '
' + checkHtml + uncheckedHtml + '');
+ labelElement.insertAdjacentHTML('beforeend', '
' + checkHtml + uncheckedHtml + '');
labelTextElement.classList.add('checkboxLabel');
diff --git a/src/components/emby-slider/emby-slider.css b/src/components/emby-slider/emby-slider.css
index 179270e22..101058ca2 100644
--- a/src/components/emby-slider/emby-slider.css
+++ b/src/components/emby-slider/emby-slider.css
@@ -17,7 +17,6 @@ _:-ms-input-placeholder {
-ms-user-select: none;
user-select: none;
outline: 0;
- padding: 1em 0;
color: #00a4dc;
-webkit-align-self: center;
-ms-flex-item-align: center;
@@ -158,8 +157,6 @@ _:-ms-input-placeholder {
}
.mdl-slider-background-flex-container {
- padding-left: 10px;
- padding-right: 10px;
width: 100%;
box-sizing: border-box;
margin-top: -.05em;
diff --git a/src/components/emby-slider/emby-slider.js b/src/components/emby-slider/emby-slider.js
index 3daaf8841..1ca1448ea 100644
--- a/src/components/emby-slider/emby-slider.js
+++ b/src/components/emby-slider/emby-slider.js
@@ -141,34 +141,31 @@ define(['browser', 'dom', 'layoutManager', 'css!./emby-slider', 'registerElement
passive: true
});
- // In firefox this feature disrupts the ability to move the slider
- if (!browser.firefox) {
- dom.addEventListener(this, (window.PointerEvent ? 'pointermove' : 'mousemove'), function (e) {
+ dom.addEventListener(this, (window.PointerEvent ? 'pointermove' : 'mousemove'), function (e) {
- if (!this.dragging) {
- var rect = this.getBoundingClientRect();
- var clientX = e.clientX;
- var bubbleValue = (clientX - rect.left) / rect.width;
- bubbleValue *= 100;
- updateBubble(this, bubbleValue, sliderBubble);
+ if (!this.dragging) {
+ var rect = this.getBoundingClientRect();
+ var clientX = e.clientX;
+ var bubbleValue = (clientX - rect.left) / rect.width;
+ bubbleValue *= 100;
+ updateBubble(this, bubbleValue, sliderBubble);
- if (hasHideClass) {
- sliderBubble.classList.remove('hide');
- hasHideClass = false;
- }
+ if (hasHideClass) {
+ sliderBubble.classList.remove('hide');
+ hasHideClass = false;
}
+ }
- }, {
- passive: true
- });
+ }, {
+ passive: true
+ });
- dom.addEventListener(this, (window.PointerEvent ? 'pointerleave' : 'mouseleave'), function () {
- sliderBubble.classList.add('hide');
- hasHideClass = true;
- }, {
- passive: true
- });
- }
+ dom.addEventListener(this, (window.PointerEvent ? 'pointerleave' : 'mouseleave'), function () {
+ sliderBubble.classList.add('hide');
+ hasHideClass = true;
+ }, {
+ passive: true
+ });
if (!supportsNativeProgressStyle) {
@@ -269,4 +266,4 @@ define(['browser', 'dom', 'layoutManager', 'css!./emby-slider', 'registerElement
prototype: EmbySliderPrototype,
extends: 'input'
});
-});
\ No newline at end of file
+});
diff --git a/src/components/favoriteitems.js b/src/components/favoriteitems.js
index fa7b5aee1..396d4d3c2 100644
--- a/src/components/favoriteitems.js
+++ b/src/components/favoriteitems.js
@@ -111,7 +111,7 @@ define(["loading", "libraryBrowser", "cardBuilder", "dom", "apphost", "imageLoad
var html = "";
if (result.Items.length) {
if (html += '
', !layoutManager.tv && options.Limit && result.Items.length >= options.Limit) {
- html += '
', html += '', html += globalize.translate(section.name), html += "
", html += '', html += ""
+ html += '
', html += '', html += globalize.translate(section.name), html += "
", html += '', html += ""
} else html += '
' + globalize.translate(section.name) + "
";
if (html += "
", enableScrollX()) {
var scrollXClass = "scrollX hiddenScrollX";
@@ -132,8 +132,7 @@ define(["loading", "libraryBrowser", "cardBuilder", "dom", "apphost", "imageLoad
overlayMoreButton: section.overlayMoreButton && !cardLayout,
action: section.action,
allowBottomPadding: !enableScrollX(),
- cardLayout: cardLayout,
- vibrant: supportsImageAnalysis && cardLayout
+ cardLayout: cardLayout
}), html += "
"
}
elem.innerHTML = html, imageLoader.lazyChildren(elem)
diff --git a/src/components/focusmanager.js b/src/components/focusManager.js
similarity index 100%
rename from src/components/focusmanager.js
rename to src/components/focusManager.js
diff --git a/src/components/fullscreenManager.js b/src/components/fullscreenManager.js
index 079267a6c..360986cc5 100644
--- a/src/components/fullscreenManager.js
+++ b/src/components/fullscreenManager.js
@@ -79,10 +79,10 @@ define(['events', 'dom', 'apphost', 'browser'], function (events, dom, appHost,
passive: true
});
+ function isTargetValid(target) {
+ return !dom.parentWithTag(target, ['BUTTON', 'INPUT', 'TEXTAREA']);
+ }
if (appHost.supports("fullscreenchange") && (browser.edgeUwp || -1 !== navigator.userAgent.toLowerCase().indexOf("electron"))) {
- function isTargetValid(target) {
- return !dom.parentWithTag(target, ['BUTTON', 'INPUT', 'TEXTAREA']);
- }
dom.addEventListener(window, 'dblclick', function (e) {
diff --git a/src/components/globalize.js b/src/components/globalize.js
index 32b6412a4..aa3a2ef0f 100644
--- a/src/components/globalize.js
+++ b/src/components/globalize.js
@@ -127,12 +127,17 @@ define(['connectionManager', 'userSettings', 'events'], function (connectionMana
function loadStrings(options) {
var locale = getCurrentLocale();
+ var promises = [];
+ var optionsName;
if (typeof options === 'string') {
- return ensureTranslation(allTranslations[options], locale);
+ optionsName = options;
} else {
+ optionsName = options.name;
register(options);
- return ensureTranslation(allTranslations[options.name], locale);
}
+ promises.push(ensureTranslation(allTranslations[optionsName], locale));
+ promises.push(ensureTranslation(allTranslations[optionsName], fallbackCulture));
+ return Promise.all(promises);
}
var cacheParam = new Date().getTime();
diff --git a/src/components/homescreensettings/homescreensettings.template.html b/src/components/homescreensettings/homescreensettings.template.html
index 6295af0df..2cb1dcbe1 100644
--- a/src/components/homescreensettings/homescreensettings.template.html
+++ b/src/components/homescreensettings/homescreensettings.template.html
@@ -1,10 +1,6 @@