mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update components
This commit is contained in:
parent
d4f9f432a4
commit
c7b23209cf
8 changed files with 58 additions and 43 deletions
|
@ -14,12 +14,12 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {},
|
"devDependencies": {},
|
||||||
"ignore": [],
|
"ignore": [],
|
||||||
"version": "1.4.278",
|
"version": "1.4.280",
|
||||||
"_release": "1.4.278",
|
"_release": "1.4.280",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "1.4.278",
|
"tag": "1.4.280",
|
||||||
"commit": "d22da1b6808a6102794830c9c749c8f74ff50647"
|
"commit": "8bba9abc91102cf3056def424838590f61a0c2ac"
|
||||||
},
|
},
|
||||||
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
|
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
|
||||||
"_target": "^1.2.1",
|
"_target": "^1.2.1",
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
define(['dialogHelper', 'layoutManager', 'globalize', 'browser', 'dom', 'emby-button', 'css!./actionsheet', 'material-icons', 'scrollStyles'], function (dialogHelper, layoutManager, globalize, browser, dom) {
|
define(['dialogHelper', 'layoutManager', 'globalize', 'browser', 'dom', 'emby-button', 'css!./actionsheet', 'material-icons', 'scrollStyles'], function (dialogHelper, layoutManager, globalize, browser, dom) {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
function getOffsets(elems) {
|
function getOffsets(elems) {
|
||||||
|
|
||||||
|
@ -46,7 +47,7 @@
|
||||||
|
|
||||||
var pos = getOffsets([options.positionTo])[0];
|
var pos = getOffsets([options.positionTo])[0];
|
||||||
|
|
||||||
if (options.positionY != 'top') {
|
if (options.positionY !== 'top') {
|
||||||
pos.top += (pos.height || 0) / 2;
|
pos.top += (pos.height || 0) / 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
define(['dialog', 'globalize'], function (dialog, globalize) {
|
define(['dialog', 'globalize'], function (dialog, globalize) {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
return function (text, title) {
|
return function (text, title) {
|
||||||
|
|
||||||
|
@ -23,7 +24,7 @@ define(['dialog', 'globalize'], function (dialog, globalize) {
|
||||||
options.buttons = items;
|
options.buttons = items;
|
||||||
|
|
||||||
return dialog(options).then(function (result) {
|
return dialog(options).then(function (result) {
|
||||||
if (result == 'ok') {
|
if (result === 'ok') {
|
||||||
return Promise.resolve();
|
return Promise.resolve();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
define([], function () {
|
define([], function () {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
function replaceAll(str, find, replace) {
|
function replaceAll(str, find, replace) {
|
||||||
|
|
||||||
|
|
|
@ -1,14 +1,16 @@
|
||||||
define(['focusManager', 'css!./style.css', 'paper-icon-button-light', 'material-icons'], function (focusManager) {
|
define(['focusManager', 'css!./style.css', 'paper-icon-button-light', 'material-icons'], function (focusManager) {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
var selectedButtonClass = 'alphaPickerButton-selected';
|
var selectedButtonClass = 'alphaPickerButton-selected';
|
||||||
|
|
||||||
function focus() {
|
function focus() {
|
||||||
var selected = this.querySelector('.' + selectedButtonClass);
|
var scope = this;
|
||||||
|
var selected = scope.querySelector('.' + selectedButtonClass);
|
||||||
|
|
||||||
if (selected) {
|
if (selected) {
|
||||||
focusManager.focus(selected);
|
focusManager.focus(selected);
|
||||||
} else {
|
} else {
|
||||||
focusManager.autoFocus(this, true);
|
focusManager.autoFocus(scope, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,11 +27,9 @@ define(['focusManager', 'css!./style.css', 'paper-icon-button-light', 'material-
|
||||||
var letters;
|
var letters;
|
||||||
|
|
||||||
html += '<div class="alphaPickerRow">';
|
html += '<div class="alphaPickerRow">';
|
||||||
if (options.mode == 'keyboard') {
|
if (options.mode === 'keyboard') {
|
||||||
// space_bar icon
|
// space_bar icon
|
||||||
html += '<button data-value=" " is="paper-icon-button-light" class="alphaPickerButton autoSize">\
|
html += '<button data-value=" " is="paper-icon-button-light" class="alphaPickerButton autoSize"><i class="md-icon alphaPickerButtonIcon"></i></button>';
|
||||||
<i class="md-icon alphaPickerButtonIcon"></i>\
|
|
||||||
</button>';
|
|
||||||
} else {
|
} else {
|
||||||
letters = ['#'];
|
letters = ['#'];
|
||||||
html += letters.map(getLetterButton).join('');
|
html += letters.map(getLetterButton).join('');
|
||||||
|
@ -38,11 +38,9 @@ define(['focusManager', 'css!./style.css', 'paper-icon-button-light', 'material-
|
||||||
letters = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
|
letters = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
|
||||||
html += letters.map(getLetterButton).join('');
|
html += letters.map(getLetterButton).join('');
|
||||||
|
|
||||||
if (options.mode == 'keyboard') {
|
if (options.mode === 'keyboard') {
|
||||||
// backspace icon
|
// backspace icon
|
||||||
html += '<button data-value="backspace" is="paper-icon-button-light" class="alphaPickerButton autoSize">\
|
html += '<button data-value="backspace" is="paper-icon-button-light" class="alphaPickerButton autoSize"><i class="md-icon alphaPickerButtonIcon"></i></button>';
|
||||||
<i class="md-icon alphaPickerButtonIcon"></i>\
|
|
||||||
</button>';
|
|
||||||
html += '</div>';
|
html += '</div>';
|
||||||
|
|
||||||
letters = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
|
letters = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
|
||||||
|
@ -60,7 +58,7 @@ define(['focusManager', 'css!./style.css', 'paper-icon-button-light', 'material-
|
||||||
element.focus = focus;
|
element.focus = focus;
|
||||||
}
|
}
|
||||||
|
|
||||||
function alphaPicker(options) {
|
function AlphaPicker(options) {
|
||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
|
@ -83,7 +81,7 @@ define(['focusManager', 'css!./style.css', 'paper-icon-button-light', 'material-
|
||||||
|
|
||||||
alphaFocusTimeout = null;
|
alphaFocusTimeout = null;
|
||||||
|
|
||||||
if (document.activeElement == alphaFocusedElement) {
|
if (document.activeElement === alphaFocusedElement) {
|
||||||
var value = alphaFocusedElement.getAttribute('data-value');
|
var value = alphaFocusedElement.getAttribute('data-value');
|
||||||
self.value(value, true);
|
self.value(value, true);
|
||||||
}
|
}
|
||||||
|
@ -125,7 +123,7 @@ define(['focusManager', 'css!./style.css', 'paper-icon-button-light', 'material-
|
||||||
if (alphaPickerButton) {
|
if (alphaPickerButton) {
|
||||||
var value = alphaPickerButton.getAttribute('data-value');
|
var value = alphaPickerButton.getAttribute('data-value');
|
||||||
|
|
||||||
if (currentValue == value.toUpperCase()) {
|
if (currentValue === value.toUpperCase()) {
|
||||||
self.value(null, true);
|
self.value(null, true);
|
||||||
} else {
|
} else {
|
||||||
self.value(value, true);
|
self.value(value, true);
|
||||||
|
@ -173,7 +171,7 @@ define(['focusManager', 'css!./style.css', 'paper-icon-button-light', 'material-
|
||||||
itemsContainer.addEventListener('focus', onItemsFocusIn, true);
|
itemsContainer.addEventListener('focus', onItemsFocusIn, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (options.mode == 'keyboard') {
|
if (options.mode === 'keyboard') {
|
||||||
element.addEventListener('click', onAlphaPickerInKeyboardModeClick);
|
element.addEventListener('click', onAlphaPickerInKeyboardModeClick);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -225,14 +223,14 @@ define(['focusManager', 'css!./style.css', 'paper-icon-button-light', 'material-
|
||||||
value = value.toUpperCase();
|
value = value.toUpperCase();
|
||||||
currentValue = value;
|
currentValue = value;
|
||||||
|
|
||||||
if (options.mode != 'keyboard') {
|
if (options.mode !== 'keyboard') {
|
||||||
selected = element.querySelector('.' + selectedButtonClass);
|
selected = element.querySelector('.' + selectedButtonClass);
|
||||||
btn = element.querySelector('.alphaPickerButton[data-value=\'' + value + '\']');
|
btn = element.querySelector('.alphaPickerButton[data-value=\'' + value + '\']');
|
||||||
|
|
||||||
if (btn && btn != selected) {
|
if (btn && btn !== selected) {
|
||||||
btn.classList.add(selectedButtonClass);
|
btn.classList.add(selectedButtonClass);
|
||||||
}
|
}
|
||||||
if (selected && selected != btn) {
|
if (selected && selected !== btn) {
|
||||||
selected.classList.remove(selectedButtonClass);
|
selected.classList.remove(selectedButtonClass);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -281,5 +279,5 @@ define(['focusManager', 'css!./style.css', 'paper-icon-button-light', 'material-
|
||||||
self.visible(true);
|
self.visible(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
return alphaPicker;
|
return AlphaPicker;
|
||||||
});
|
});
|
|
@ -1,4 +1,5 @@
|
||||||
define(['appStorage', 'events'], function (appStorage, events) {
|
define(['appStorage', 'events'], function (appStorage, events) {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
function getKey(name, userId) {
|
function getKey(name, userId) {
|
||||||
|
|
||||||
|
@ -9,7 +10,7 @@ define(['appStorage', 'events'], function (appStorage, events) {
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
return new function () {
|
function AppSettings() {
|
||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
|
@ -19,7 +20,7 @@ define(['appStorage', 'events'], function (appStorage, events) {
|
||||||
self.set('enableAutoLogin', val.toString());
|
self.set('enableAutoLogin', val.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
return self.get('enableAutoLogin') != 'false';
|
return self.get('enableAutoLogin') !== 'false';
|
||||||
};
|
};
|
||||||
|
|
||||||
self.enableAutomaticBitrateDetection = function (val) {
|
self.enableAutomaticBitrateDetection = function (val) {
|
||||||
|
@ -28,7 +29,7 @@ define(['appStorage', 'events'], function (appStorage, events) {
|
||||||
self.set('enableAutomaticBitrateDetection', val.toString());
|
self.set('enableAutomaticBitrateDetection', val.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
return self.get('enableAutomaticBitrateDetection') != 'false';
|
return self.get('enableAutomaticBitrateDetection') !== 'false';
|
||||||
};
|
};
|
||||||
|
|
||||||
self.maxStreamingBitrate = function (val) {
|
self.maxStreamingBitrate = function (val) {
|
||||||
|
@ -66,7 +67,7 @@ define(['appStorage', 'events'], function (appStorage, events) {
|
||||||
self.set('syncOnlyOnWifi', val.toString());
|
self.set('syncOnlyOnWifi', val.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
return self.get('syncOnlyOnWifi') != 'false';
|
return self.get('syncOnlyOnWifi') !== 'false';
|
||||||
};
|
};
|
||||||
|
|
||||||
self.syncPath = function (val) {
|
self.syncPath = function (val) {
|
||||||
|
@ -99,7 +100,7 @@ define(['appStorage', 'events'], function (appStorage, events) {
|
||||||
|
|
||||||
appStorage.setItem(getKey(name, userId), value);
|
appStorage.setItem(getKey(name, userId), value);
|
||||||
|
|
||||||
if (currentValue != value) {
|
if (currentValue !== value) {
|
||||||
events.trigger(self, 'change', [name]);
|
events.trigger(self, 'change', [name]);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -108,5 +109,7 @@ define(['appStorage', 'events'], function (appStorage, events) {
|
||||||
|
|
||||||
return appStorage.getItem(getKey(name, userId));
|
return appStorage.getItem(getKey(name, userId));
|
||||||
};
|
};
|
||||||
}();
|
}
|
||||||
|
|
||||||
|
return new AppSettings();
|
||||||
});
|
});
|
|
@ -1,4 +1,5 @@
|
||||||
define(['browser', 'connectionManager', 'playbackManager', 'dom', 'css!./style'], function (browser, connectionManager, playbackManager, dom) {
|
define(['browser', 'connectionManager', 'playbackManager', 'dom', 'css!./style'], function (browser, connectionManager, playbackManager, dom) {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
function enableAnimation(elem) {
|
function enableAnimation(elem) {
|
||||||
|
|
||||||
|
@ -18,7 +19,7 @@
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
function backdrop() {
|
function Backdrop() {
|
||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
var isDestroyed;
|
var isDestroyed;
|
||||||
|
@ -52,7 +53,7 @@
|
||||||
currentAnimation = animation;
|
currentAnimation = animation;
|
||||||
animation.onfinish = function () {
|
animation.onfinish = function () {
|
||||||
|
|
||||||
if (animation == currentAnimation) {
|
if (animation === currentAnimation) {
|
||||||
currentAnimation = null;
|
currentAnimation = null;
|
||||||
}
|
}
|
||||||
if (existingBackdropImage && existingBackdropImage.parentNode) {
|
if (existingBackdropImage && existingBackdropImage.parentNode) {
|
||||||
|
@ -166,14 +167,14 @@
|
||||||
var elem = getBackdropContainer();
|
var elem = getBackdropContainer();
|
||||||
var existingBackdropImage = elem.querySelector('.displayingBackdropImage');
|
var existingBackdropImage = elem.querySelector('.displayingBackdropImage');
|
||||||
|
|
||||||
if (existingBackdropImage && existingBackdropImage.getAttribute('data-url') == url) {
|
if (existingBackdropImage && existingBackdropImage.getAttribute('data-url') === url) {
|
||||||
if (existingBackdropImage.getAttribute('data-url') == url) {
|
if (existingBackdropImage.getAttribute('data-url') === url) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
existingBackdropImage.classList.remove('displayingBackdropImage');
|
existingBackdropImage.classList.remove('displayingBackdropImage');
|
||||||
}
|
}
|
||||||
|
|
||||||
var instance = new backdrop();
|
var instance = new Backdrop();
|
||||||
instance.load(url, elem, existingBackdropImage);
|
instance.load(url, elem, existingBackdropImage);
|
||||||
currentLoadingBackdrop = instance;
|
currentLoadingBackdrop = instance;
|
||||||
}
|
}
|
||||||
|
@ -215,28 +216,38 @@
|
||||||
|
|
||||||
var list = [];
|
var list = [];
|
||||||
|
|
||||||
|
var onImg = function (img) {
|
||||||
|
list.push(img);
|
||||||
|
};
|
||||||
|
|
||||||
for (var i = 0, length = items.length; i < length; i++) {
|
for (var i = 0, length = items.length; i < length; i++) {
|
||||||
|
|
||||||
var itemImages = getItemImageUrls(items[i]);
|
var itemImages = getItemImageUrls(items[i]);
|
||||||
|
|
||||||
itemImages.forEach(function (img) {
|
itemImages.forEach(onImg);
|
||||||
list.push(img);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
function arraysEqual(a, b) {
|
function arraysEqual(a, b) {
|
||||||
if (a === b) return true;
|
if (a === b) {
|
||||||
if (a == null || b == null) return false;
|
return true;
|
||||||
if (a.length != b.length) return false;
|
}
|
||||||
|
if (a == null || b == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (a.length !== b.length) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// If you don't care about the order of the elements inside
|
// If you don't care about the order of the elements inside
|
||||||
// the array, you should sort both arrays here.
|
// the array, you should sort both arrays here.
|
||||||
|
|
||||||
for (var i = 0; i < a.length; ++i) {
|
for (var i = 0; i < a.length; ++i) {
|
||||||
if (a[i] !== b[i]) return false;
|
if (a[i] !== b[i]) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -204,7 +204,7 @@ define(['browser'], function (browser) {
|
||||||
function getMaxBitrate() {
|
function getMaxBitrate() {
|
||||||
|
|
||||||
if (browser.edgeUwp) {
|
if (browser.edgeUwp) {
|
||||||
return 26000000;
|
return 30000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 10mbps
|
// 10mbps
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue