1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

Migration of tunerPicker to ES6 modules

This commit is contained in:
Cameron 2020-08-07 08:19:47 +01:00
parent 949c60b9ae
commit e0b56a2e95
2 changed files with 168 additions and 158 deletions

View file

@ -172,6 +172,7 @@
"src/components/tvproviders/schedulesdirect.js", "src/components/tvproviders/schedulesdirect.js",
"src/components/tvproviders/xmltv.js", "src/components/tvproviders/xmltv.js",
"src/components/toast/toast.js", "src/components/toast/toast.js",
"src/components/tunerPicker.js",
"src/components/upnextdialog/upnextdialog.js", "src/components/upnextdialog/upnextdialog.js",
"src/components/viewContainer.js", "src/components/viewContainer.js",
"src/components/castSenderApi.js", "src/components/castSenderApi.js",

View file

@ -1,14 +1,24 @@
define(['dialogHelper', 'dom', 'layoutManager', 'connectionManager', 'globalize', 'loading', 'browser', 'focusManager', 'scrollHelper', 'material-icons', 'formDialogStyle', 'emby-button', 'emby-itemscontainer', 'cardStyle'], function (dialogHelper, dom, layoutManager, connectionManager, globalize, loading, browser, focusManager, scrollHelper) { import dialogHelper from 'dialogHelper';
'use strict'; import dom from 'dom';
import layoutManager from 'layoutManager';
import connectionManager from 'connectionManager';
import globalize from 'globalize';
import loading from 'loading';
import browser from 'browser';
import focusManager from 'focusManager';
import scrollHelper from 'scrollHelper';
import 'material-icons';
import 'formDialogStyle';
import 'emby-button';
import 'emby-itemscontainer';
import 'cardStyle';
browser = browser.default || browser; /*eslint prefer-const: "error"*/
loading = loading.default || loading;
focusManager = focusManager.default || focusManager;
var enableFocusTransform = !browser.slow && !browser.edge; const enableFocusTransform = !browser.slow && !browser.edge;
function getEditorHtml() { function getEditorHtml() {
var html = ''; let html = '';
html += '<div class="formDialogContent scrollY">'; html += '<div class="formDialogContent scrollY">';
html += '<div class="dialogContentInner dialog-content-centered">'; html += '<div class="dialogContentInner dialog-content-centered">';
html += '<div class="loadingContent hide">'; html += '<div class="loadingContent hide">';
@ -20,15 +30,14 @@ define(['dialogHelper', 'dom', 'layoutManager', 'connectionManager', 'globalize'
html += '</div>'; html += '</div>';
html += '</div>'; html += '</div>';
return html += '</div>'; return html += '</div>';
} }
function getDeviceHtml(device) { function getDeviceHtml(device) {
var padderClass; let html = '';
var html = ''; let cssClass = 'card scalableCard';
var cssClass = 'card scalableCard'; const cardBoxCssClass = 'cardBox visualCardBox';
var cardBoxCssClass = 'cardBox visualCardBox';
cssClass += ' backdropCard backdropCard-scalable'; cssClass += ' backdropCard backdropCard-scalable';
padderClass = 'cardPadder-backdrop'; const padderClass = 'cardPadder-backdrop';
// TODO move card creation code to Card component // TODO move card creation code to Card component
@ -57,9 +66,9 @@ define(['dialogHelper', 'dom', 'layoutManager', 'connectionManager', 'globalize'
html += '</div>'; html += '</div>';
html += '</div>'; html += '</div>';
return html += '</button>'; return html += '</button>';
} }
function getTunerName(providerId) { function getTunerName(providerId) {
switch (providerId = providerId.toLowerCase()) { switch (providerId = providerId.toLowerCase()) {
case 'm3u': case 'm3u':
return 'M3U'; return 'M3U';
@ -76,12 +85,12 @@ define(['dialogHelper', 'dom', 'layoutManager', 'connectionManager', 'globalize'
default: default:
return 'Unknown'; return 'Unknown';
} }
} }
function renderDevices(view, devices) { function renderDevices(view, devices) {
var i; let i;
var length; let length;
var html = ''; let html = '';
for (i = 0, length = devices.length; i < length; i++) { for (i = 0, length = devices.length; i < length; i++) {
html += getDeviceHtml(devices[i]); html += getDeviceHtml(devices[i]);
@ -94,15 +103,15 @@ define(['dialogHelper', 'dom', 'layoutManager', 'connectionManager', 'globalize'
view.querySelector('.devicesHeader').classList.add('hide'); view.querySelector('.devicesHeader').classList.add('hide');
} }
var elem = view.querySelector('.results'); const elem = view.querySelector('.results');
elem.innerHTML = html; elem.innerHTML = html;
if (layoutManager.tv) { if (layoutManager.tv) {
focusManager.autoFocus(elem); focusManager.autoFocus(elem);
} }
} }
function discoverDevices(view, apiClient) { function discoverDevices(view, apiClient) {
loading.show(); loading.show();
view.querySelector('.loadingContent').classList.remove('hide'); view.querySelector('.loadingContent').classList.remove('hide');
return ApiClient.getJSON(ApiClient.getUrl('LiveTv/Tuners/Discvover', { return ApiClient.getJSON(ApiClient.getUrl('LiveTv/Tuners/Discvover', {
@ -113,11 +122,11 @@ define(['dialogHelper', 'dom', 'layoutManager', 'connectionManager', 'globalize'
view.querySelector('.loadingContent').classList.add('hide'); view.querySelector('.loadingContent').classList.add('hide');
loading.hide(); loading.hide();
}); });
} }
function tunerPicker() { function tunerPicker() {
this.show = function (options) { this.show = function (options) {
var dialogOptions = { const dialogOptions = {
removeOnClose: true, removeOnClose: true,
scrollY: false scrollY: false
}; };
@ -128,9 +137,9 @@ define(['dialogHelper', 'dom', 'layoutManager', 'connectionManager', 'globalize'
dialogOptions.size = 'small'; dialogOptions.size = 'small';
} }
var dlg = dialogHelper.createDialog(dialogOptions); const dlg = dialogHelper.createDialog(dialogOptions);
dlg.classList.add('formDialog'); dlg.classList.add('formDialog');
var html = ''; let html = '';
html += '<div class="formDialogHeader">'; html += '<div class="formDialogHeader">';
html += '<button is="paper-icon-button-light" class="btnCancel autoSize" tabindex="-1"><span class="material-icons arrow_back"></span></button>'; html += '<button is="paper-icon-button-light" class="btnCancel autoSize" tabindex="-1"><span class="material-icons arrow_back"></span></button>';
html += '<h3 class="formDialogHeaderTitle">'; html += '<h3 class="formDialogHeaderTitle">';
@ -142,12 +151,12 @@ define(['dialogHelper', 'dom', 'layoutManager', 'connectionManager', 'globalize'
dlg.querySelector('.btnCancel').addEventListener('click', function () { dlg.querySelector('.btnCancel').addEventListener('click', function () {
dialogHelper.close(dlg); dialogHelper.close(dlg);
}); });
var deviceResult; let deviceResult;
dlg.querySelector('.results').addEventListener('click', function (e) { dlg.querySelector('.results').addEventListener('click', function (e) {
var tunerCard = dom.parentWithClass(e.target, 'card'); const tunerCard = dom.parentWithClass(e.target, 'card');
if (tunerCard) { if (tunerCard) {
var deviceId = tunerCard.getAttribute('data-id'); const deviceId = tunerCard.getAttribute('data-id');
deviceResult = currentDevices.filter(function (d) { deviceResult = currentDevices.filter(function (d) {
return d.DeviceId === deviceId; return d.DeviceId === deviceId;
})[0]; })[0];
@ -159,7 +168,7 @@ define(['dialogHelper', 'dom', 'layoutManager', 'connectionManager', 'globalize'
scrollHelper.centerFocus.on(dlg.querySelector('.formDialogContent'), false); scrollHelper.centerFocus.on(dlg.querySelector('.formDialogContent'), false);
} }
var apiClient = connectionManager.getApiClient(options.serverId); const apiClient = connectionManager.getApiClient(options.serverId);
discoverDevices(dlg, apiClient); discoverDevices(dlg, apiClient);
if (layoutManager.tv) { if (layoutManager.tv) {
@ -174,8 +183,8 @@ define(['dialogHelper', 'dom', 'layoutManager', 'connectionManager', 'globalize'
return Promise.reject(); return Promise.reject();
}); });
}; };
} }
var currentDevices = []; let currentDevices = [];
return tunerPicker;
}); export default tunerPicker;