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

Migrated livestatus.js to es6 module

This commit is contained in:
matjaz321 2020-07-30 23:25:35 +02:00
parent c89ede96da
commit b3bfbe640e
2 changed files with 280 additions and 266 deletions

View file

@ -201,6 +201,7 @@
"src/controllers/playback/video/index.js", "src/controllers/playback/video/index.js",
"src/controllers/searchpage.js", "src/controllers/searchpage.js",
"src/controllers/livetvtuner.js", "src/controllers/livetvtuner.js",
"src/controllers/livetvstatus.js",
"src/controllers/shows/episodes.js", "src/controllers/shows/episodes.js",
"src/controllers/shows/tvgenres.js", "src/controllers/shows/tvgenres.js",
"src/controllers/shows/tvlatest.js", "src/controllers/shows/tvlatest.js",

View file

@ -1,13 +1,26 @@
define(['jQuery', 'globalize', 'scripts/taskbutton', 'dom', 'libraryMenu', 'layoutManager', 'loading', 'browser', 'listViewStyle', 'flexStyles', 'emby-itemscontainer', 'cardStyle', 'material-icons', 'emby-button'], function ($, globalize, taskButton, dom, libraryMenu, layoutManager, loading, browser) { 'use strict';
'use strict';
var enableFocusTransform = !browser.slow && !browser.edge; import $ from 'jQuery';
import globalize from 'globalize';
import taskButton from 'scripts/taskbutton';
import dom from 'dom';
import layoutManager from 'layoutManager';
import loading from 'loading';
import browser from 'browser';
import 'listViewStyle';
import 'flexStyles';
import 'emby-itemscontainer';
import 'cardStyle';
import 'material-icons';
import 'emby-button';
function getDeviceHtml(device) { const enableFocusTransform = !browser.slow && !browser.edge;
var padderClass;
var html = ''; function getDeviceHtml(device) {
var cssClass = 'card scalableCard'; let padderClass;
var cardBoxCssClass = 'cardBox visualCardBox'; let html = '';
let cssClass = 'card scalableCard';
let cardBoxCssClass = 'cardBox visualCardBox';
cssClass += ' backdropCard backdropCard-scalable'; cssClass += ' backdropCard backdropCard-scalable';
padderClass = 'cardPadder-backdrop'; padderClass = 'cardPadder-backdrop';
@ -38,18 +51,17 @@ define(['jQuery', 'globalize', 'scripts/taskbutton', 'dom', 'libraryMenu', 'layo
html += '</div>'; html += '</div>';
html += '</div>'; html += '</div>';
return html += '</div>'; return html += '</div>';
} }
function renderDevices(page, devices) { function renderDevices(page, devices) {
var html = devices.map(getDeviceHtml).join(''); page.querySelector('.devicesList').innerHTML = devices.map(getDeviceHtml).join('');
page.querySelector('.devicesList').innerHTML = html; }
}
function deleteDevice(page, id) { function deleteDevice(page, id) {
var message = globalize.translate('MessageConfirmDeleteTunerDevice'); const message = globalize.translate('MessageConfirmDeleteTunerDevice');
require(['confirm'], function (confirm) { import('confirm').then(({default: confirm}) => {
confirm.default(message, globalize.translate('HeaderDeleteDevice')).then(function () { confirm(message, globalize.translate('HeaderDeleteDevice')).then(function () {
loading.show(); loading.show();
ApiClient.ajax({ ApiClient.ajax({
type: 'DELETE', type: 'DELETE',
@ -61,18 +73,18 @@ define(['jQuery', 'globalize', 'scripts/taskbutton', 'dom', 'libraryMenu', 'layo
}); });
}); });
}); });
} }
function reload(page) { function reload(page) {
loading.show(); loading.show();
ApiClient.getNamedConfiguration('livetv').then(function (config) { ApiClient.getNamedConfiguration('livetv').then(function (config) {
renderDevices(page, config.TunerHosts); renderDevices(page, config.TunerHosts);
renderProviders(page, config.ListingProviders); renderProviders(page, config.ListingProviders);
}); });
loading.hide(); loading.hide();
} }
function submitAddDeviceForm(page) { function submitAddDeviceForm(page) {
page.querySelector('.dlgAddDevice').close(); page.querySelector('.dlgAddDevice').close();
loading.show(); loading.show();
ApiClient.ajax({ ApiClient.ajax({
@ -90,16 +102,16 @@ define(['jQuery', 'globalize', 'scripts/taskbutton', 'dom', 'libraryMenu', 'layo
message: globalize.translate('ErrorAddingTunerDevice') message: globalize.translate('ErrorAddingTunerDevice')
}); });
}); });
} }
function renderProviders(page, providers) { function renderProviders(page, providers) {
var html = ''; let html = '';
if (providers.length) { if (providers.length) {
html += '<div class="paperList">'; html += '<div class="paperList">';
for (var i = 0, length = providers.length; i < length; i++) { for (let i = 0, length = providers.length; i < length; i++) {
var provider = providers[i]; const provider = providers[i];
html += '<div class="listItem">'; html += '<div class="listItem">';
html += '<span class="listItemIcon material-icons dvr"></span>'; html += '<span class="listItemIcon material-icons dvr"></span>';
html += '<div class="listItemBody two-line">'; html += '<div class="listItemBody two-line">';
@ -119,15 +131,15 @@ define(['jQuery', 'globalize', 'scripts/taskbutton', 'dom', 'libraryMenu', 'layo
html += '</div>'; html += '</div>';
} }
var elem = $('.providerList', page).html(html); const elem = $('.providerList', page).html(html);
$('.btnOptions', elem).on('click', function () { $('.btnOptions', elem).on('click', function () {
var id = this.getAttribute('data-id'); var id = this.getAttribute('data-id');
showProviderOptions(page, id, this); showProviderOptions(page, id, this);
}); });
} }
function showProviderOptions(page, providerId, button) { function showProviderOptions(page, providerId, button) {
var items = []; const items = [];
items.push({ items.push({
name: globalize.translate('ButtonDelete'), name: globalize.translate('ButtonDelete'),
id: 'delete' id: 'delete'
@ -137,7 +149,7 @@ define(['jQuery', 'globalize', 'scripts/taskbutton', 'dom', 'libraryMenu', 'layo
id: 'map' id: 'map'
}); });
require(['actionsheet'], function (actionsheet) { import('actionsheet').then(({default: actionsheet}) => {
actionsheet.show({ actionsheet.show({
items: items, items: items,
positionTo: button positionTo: button
@ -152,22 +164,22 @@ define(['jQuery', 'globalize', 'scripts/taskbutton', 'dom', 'libraryMenu', 'layo
} }
}); });
}); });
} }
function mapChannels(page, providerId) { function mapChannels(page, providerId) {
require(['components/channelMapper/channelMapper'], function (channelMapper) { import('components/channelMapper/channelMapper').then(({default: channelMapper}) => {
new channelMapper.default({ new channelMapper({
serverId: ApiClient.serverInfo().Id, serverId: ApiClient.serverInfo().Id,
providerId: providerId providerId: providerId
}).show(); }).show();
}); });
} }
function deleteProvider(page, id) { function deleteProvider(page, id) {
var message = globalize.translate('MessageConfirmDeleteGuideProvider'); const message = globalize.translate('MessageConfirmDeleteGuideProvider');
require(['confirm'], function (confirm) { import('confirm').then(({default: confirm}) => {
confirm.default(message, globalize.translate('HeaderDeleteProvider')).then(function () { confirm(message, globalize.translate('HeaderDeleteProvider')).then(function () {
loading.show(); loading.show();
ApiClient.ajax({ ApiClient.ajax({
type: 'DELETE', type: 'DELETE',
@ -181,9 +193,9 @@ define(['jQuery', 'globalize', 'scripts/taskbutton', 'dom', 'libraryMenu', 'layo
}); });
}); });
}); });
} }
function getTunerName(providerId) { function getTunerName(providerId) {
switch (providerId = providerId.toLowerCase()) { switch (providerId = providerId.toLowerCase()) {
case 'm3u': case 'm3u':
return 'M3U'; return 'M3U';
@ -196,9 +208,9 @@ define(['jQuery', 'globalize', 'scripts/taskbutton', 'dom', 'libraryMenu', 'layo
default: default:
return 'Unknown'; return 'Unknown';
} }
} }
function getProviderName(providerId) { function getProviderName(providerId) {
switch (providerId = providerId.toLowerCase()) { switch (providerId = providerId.toLowerCase()) {
case 'schedulesdirect': case 'schedulesdirect':
return 'Schedules Direct'; return 'Schedules Direct';
@ -207,19 +219,19 @@ define(['jQuery', 'globalize', 'scripts/taskbutton', 'dom', 'libraryMenu', 'layo
default: default:
return 'Unknown'; return 'Unknown';
} }
} }
function getProviderConfigurationUrl(providerId) { function getProviderConfigurationUrl(providerId) {
switch (providerId = providerId.toLowerCase()) { switch (providerId = providerId.toLowerCase()) {
case 'xmltv': case 'xmltv':
return 'livetvguideprovider.html?type=xmltv'; return 'livetvguideprovider.html?type=xmltv';
case 'schedulesdirect': case 'schedulesdirect':
return 'livetvguideprovider.html?type=schedulesdirect'; return 'livetvguideprovider.html?type=schedulesdirect';
} }
} }
function addProvider(button) { function addProvider(button) {
var menuItems = []; const menuItems = [];
menuItems.push({ menuItems.push({
name: 'Schedules Direct', name: 'Schedules Direct',
id: 'SchedulesDirect' id: 'SchedulesDirect'
@ -229,7 +241,7 @@ define(['jQuery', 'globalize', 'scripts/taskbutton', 'dom', 'libraryMenu', 'layo
id: 'xmltv' id: 'xmltv'
}); });
require(['actionsheet'], function (actionsheet) { import('actionsheet').then(({default: actionsheet}) => {
actionsheet.show({ actionsheet.show({
items: menuItems, items: menuItems,
positionTo: button, positionTo: button,
@ -238,13 +250,13 @@ define(['jQuery', 'globalize', 'scripts/taskbutton', 'dom', 'libraryMenu', 'layo
} }
}); });
}); });
} }
function addDevice(button) { function addDevice(button) {
Dashboard.navigate('livetvtuner.html'); Dashboard.navigate('livetvtuner.html');
} }
function showDeviceMenu(button, tunerDeviceId) { function showDeviceMenu(button, tunerDeviceId) {
var items = []; var items = [];
items.push({ items.push({
name: globalize.translate('ButtonDelete'), name: globalize.translate('ButtonDelete'),
@ -270,14 +282,14 @@ define(['jQuery', 'globalize', 'scripts/taskbutton', 'dom', 'libraryMenu', 'layo
} }
}); });
}); });
} }
function onDevicesListClick(e) { function onDevicesListClick(e) {
var card = dom.parentWithClass(e.target, 'card'); const card = dom.parentWithClass(e.target, 'card');
if (card) { if (card) {
var id = card.getAttribute('data-id'); const id = card.getAttribute('data-id');
var btnCardOptions = dom.parentWithClass(e.target, 'btnCardOptions'); const btnCardOptions = dom.parentWithClass(e.target, 'btnCardOptions');
if (btnCardOptions) { if (btnCardOptions) {
showDeviceMenu(btnCardOptions, id); showDeviceMenu(btnCardOptions, id);
@ -285,10 +297,11 @@ define(['jQuery', 'globalize', 'scripts/taskbutton', 'dom', 'libraryMenu', 'layo
Dashboard.navigate('livetvtuner.html?id=' + id); Dashboard.navigate('livetvtuner.html?id=' + id);
} }
} }
} }
export default function () {
$(document).on('pageinit', '#liveTvStatusPage', function () { $(document).on('pageinit', '#liveTvStatusPage', function () {
var page = this; const page = this;
$('.btnAddDevice', page).on('click', function () { $('.btnAddDevice', page).on('click', function () {
addDevice(this); addDevice(this);
}); });
@ -301,21 +314,21 @@ define(['jQuery', 'globalize', 'scripts/taskbutton', 'dom', 'libraryMenu', 'layo
}); });
page.querySelector('.devicesList').addEventListener('click', onDevicesListClick); page.querySelector('.devicesList').addEventListener('click', onDevicesListClick);
}).on('pageshow', '#liveTvStatusPage', function () { }).on('pageshow', '#liveTvStatusPage', function () {
var page = this; const page = this;
reload(page); reload(page);
taskButton.default({ taskButton({
mode: 'on', mode: 'on',
progressElem: page.querySelector('.refreshGuideProgress'), progressElem: page.querySelector('.refreshGuideProgress'),
taskKey: 'RefreshGuide', taskKey: 'RefreshGuide',
button: page.querySelector('.btnRefresh') button: page.querySelector('.btnRefresh')
}); });
}).on('pagehide', '#liveTvStatusPage', function () { }).on('pagehide', '#liveTvStatusPage', function () {
var page = this; const page = this;
taskButton.default({ taskButton({
mode: 'off', mode: 'off',
progressElem: page.querySelector('.refreshGuideProgress'), progressElem: page.querySelector('.refreshGuideProgress'),
taskKey: 'RefreshGuide', taskKey: 'RefreshGuide',
button: page.querySelector('.btnRefresh') button: page.querySelector('.btnRefresh')
}); });
}); });
}); }