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

Merge pull request #1548 from Camc314/migrate-to-ES6-14

Migration of device and devices to ES6 modules
This commit is contained in:
dkanada 2020-07-19 15:35:20 +09:00 committed by GitHub
commit 15fc50a826
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 45 additions and 26 deletions

View file

@ -152,6 +152,8 @@
"src/controllers/dashboard/networking.js", "src/controllers/dashboard/networking.js",
"src/controllers/dashboard/playback.js", "src/controllers/dashboard/playback.js",
"src/controllers/dashboard/plugins/repositories.js", "src/controllers/dashboard/plugins/repositories.js",
"src/controllers/dashboard/devices/devices.js",
"src/controllers/dashboard/devices/device.js",
"src/controllers/dashboard/serveractivity.js", "src/controllers/dashboard/serveractivity.js",
"src/elements/emby-tabs/emby-tabs.js", "src/elements/emby-tabs/emby-tabs.js",
"src/elements/emby-scroller/emby-scroller.js", "src/elements/emby-scroller/emby-scroller.js",

View file

@ -1,5 +1,10 @@
define(['loading', 'libraryMenu', 'dom', 'emby-input', 'emby-button'], function (loading, libraryMenu, dom) { import loading from 'loading';
'use strict'; import libraryMenu from 'libraryMenu';
import dom from 'dom';
import 'emby-input';
import 'emby-button';
/* eslint-disable indent */
function load(page, device, deviceOptions) { function load(page, device, deviceOptions) {
page.querySelector('#txtCustomName', page).value = deviceOptions.CustomName || ''; page.querySelector('#txtCustomName', page).value = deviceOptions.CustomName || '';
@ -7,13 +12,13 @@ define(['loading', 'libraryMenu', 'dom', 'emby-input', 'emby-button'], function
} }
function loadData() { function loadData() {
var page = this; const page = this;
loading.show(); loading.show();
var id = getParameterByName('id'); const id = getParameterByName('id');
var promise1 = ApiClient.getJSON(ApiClient.getUrl('Devices/Info', { const promise1 = ApiClient.getJSON(ApiClient.getUrl('Devices/Info', {
Id: id Id: id
})); }));
var promise2 = ApiClient.getJSON(ApiClient.getUrl('Devices/Options', { const promise2 = ApiClient.getJSON(ApiClient.getUrl('Devices/Options', {
Id: id Id: id
})); }));
Promise.all([promise1, promise2]).then(function (responses) { Promise.all([promise1, promise2]).then(function (responses) {
@ -23,7 +28,7 @@ define(['loading', 'libraryMenu', 'dom', 'emby-input', 'emby-button'], function
} }
function save(page) { function save(page) {
var id = getParameterByName('id'); const id = getParameterByName('id');
ApiClient.ajax({ ApiClient.ajax({
url: ApiClient.getUrl('Devices/Options', { url: ApiClient.getUrl('Devices/Options', {
Id: id Id: id
@ -37,14 +42,15 @@ define(['loading', 'libraryMenu', 'dom', 'emby-input', 'emby-button'], function
} }
function onSubmit(e) { function onSubmit(e) {
var form = this; const form = this;
save(dom.parentWithClass(form, 'page')); save(dom.parentWithClass(form, 'page'));
e.preventDefault(); e.preventDefault();
return false; return false;
} }
return function (view, params) { export default function (view, params) {
view.querySelector('form').addEventListener('submit', onSubmit); view.querySelector('form').addEventListener('submit', onSubmit);
view.addEventListener('viewshow', loadData); view.addEventListener('viewshow', loadData);
}; }
});
/* eslint-enable indent */

View file

@ -1,15 +1,25 @@
define(['loading', 'dom', 'libraryMenu', 'globalize', 'scripts/imagehelper', 'date-fns', 'dfnshelper', 'emby-button', 'emby-itemscontainer', 'cardStyle'], function (loading, dom, libraryMenu, globalize, imageHelper, datefns, dfnshelper) { import loading from 'loading';
'use strict'; import dom from 'dom';
import libraryMenu from 'libraryMenu';
import globalize from 'globalize';
import imageHelper from 'scripts/imagehelper';
import * as datefns from 'date-fns';
import dfnshelper from 'dfnshelper';
import 'emby-button';
import 'emby-itemscontainer';
import 'cardStyle';
/* eslint-disable indent */
function canDelete(deviceId) { function canDelete(deviceId) {
return deviceId !== ApiClient.deviceId(); return deviceId !== ApiClient.deviceId();
} }
function deleteDevice(page, id) { function deleteDevice(page, id) {
var msg = globalize.translate('DeleteDeviceConfirmation'); const msg = globalize.translate('DeleteDeviceConfirmation');
require(['confirm'], function (confirm) { import('confirm').then(({default: confirm}) => {
confirm.default({ confirm({
text: msg, text: msg,
title: globalize.translate('HeaderDeleteDevice'), title: globalize.translate('HeaderDeleteDevice'),
confirmText: globalize.translate('ButtonDelete'), confirmText: globalize.translate('ButtonDelete'),
@ -29,7 +39,7 @@ define(['loading', 'dom', 'libraryMenu', 'globalize', 'scripts/imagehelper', 'da
} }
function showDeviceMenu(view, btn, deviceId) { function showDeviceMenu(view, btn, deviceId) {
var menuItems = []; let menuItems = [];
if (canEdit) { if (canEdit) {
menuItems.push({ menuItems.push({
@ -47,7 +57,7 @@ define(['loading', 'dom', 'libraryMenu', 'globalize', 'scripts/imagehelper', 'da
}); });
} }
require(['actionsheet'], function (actionsheet) { import('actionsheet').then(({default: actionsheet}) => {
actionsheet.show({ actionsheet.show({
items: menuItems, items: menuItems,
positionTo: btn, positionTo: btn,
@ -66,15 +76,15 @@ define(['loading', 'dom', 'libraryMenu', 'globalize', 'scripts/imagehelper', 'da
} }
function load(page, devices) { function load(page, devices) {
var html = ''; let html = '';
html += devices.map(function (device) { html += devices.map(function (device) {
var deviceHtml = ''; let deviceHtml = '';
deviceHtml += "<div data-id='" + device.Id + "' class='card backdropCard'>"; deviceHtml += "<div data-id='" + device.Id + "' class='card backdropCard'>";
deviceHtml += '<div class="cardBox visualCardBox">'; deviceHtml += '<div class="cardBox visualCardBox">';
deviceHtml += '<div class="cardScalable">'; deviceHtml += '<div class="cardScalable">';
deviceHtml += '<div class="cardPadder cardPadder-backdrop"></div>'; deviceHtml += '<div class="cardPadder cardPadder-backdrop"></div>';
deviceHtml += '<a is="emby-linkbutton" href="' + (canEdit ? 'device.html?id=' + device.Id : '#') + '" class="cardContent cardImageContainer">'; deviceHtml += '<a is="emby-linkbutton" href="' + (canEdit ? 'device.html?id=' + device.Id : '#') + '" class="cardContent cardImageContainer">';
var iconUrl = imageHelper.getDeviceIcon(device); const iconUrl = imageHelper.getDeviceIcon(device);
if (iconUrl) { if (iconUrl) {
deviceHtml += '<div class="cardImage" style="background-image:url(\'' + iconUrl + "');background-size: auto 64%;background-position:center center;\">"; deviceHtml += '<div class="cardImage" style="background-image:url(\'' + iconUrl + "');background-size: auto 64%;background-position:center center;\">";
@ -124,10 +134,10 @@ define(['loading', 'dom', 'libraryMenu', 'globalize', 'scripts/imagehelper', 'da
}); });
} }
var canEdit = ApiClient.isMinServerVersion('3.4.1.31'); const canEdit = ApiClient.isMinServerVersion('3.4.1.31');
return function (view, params) { export default function (view, params) {
view.querySelector('.devicesList').addEventListener('click', function (e) { view.querySelector('.devicesList').addEventListener('click', function (e) {
var btnDeviceMenu = dom.parentWithClass(e.target, 'btnDeviceMenu'); const btnDeviceMenu = dom.parentWithClass(e.target, 'btnDeviceMenu');
if (btnDeviceMenu) { if (btnDeviceMenu) {
showDeviceMenu(view, btnDeviceMenu, btnDeviceMenu.getAttribute('data-id')); showDeviceMenu(view, btnDeviceMenu, btnDeviceMenu.getAttribute('data-id'));
@ -136,5 +146,6 @@ define(['loading', 'dom', 'libraryMenu', 'globalize', 'scripts/imagehelper', 'da
view.addEventListener('viewshow', function () { view.addEventListener('viewshow', function () {
loadData(this); loadData(this);
}); });
}; }
});
/* eslint-enable indent */