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

es6 migration

This commit is contained in:
redSpoutnik 2020-05-16 17:25:50 +02:00
parent 11099fc41e
commit b4e420df8f
2 changed files with 167 additions and 157 deletions

View file

@ -97,6 +97,7 @@
"src/components/playback/mediasession.js", "src/components/playback/mediasession.js",
"src/components/sanatizefilename.js", "src/components/sanatizefilename.js",
"src/components/scrollManager.js", "src/components/scrollManager.js",
"src/components/subtitleuploader/subtitleuploader.js",
"src/scripts/dfnshelper.js", "src/scripts/dfnshelper.js",
"src/scripts/dom.js", "src/scripts/dom.js",
"src/scripts/filesystem.js", "src/scripts/filesystem.js",

View file

@ -1,31 +1,42 @@
define(['dialogHelper', 'connectionManager', 'dom', 'loading', 'scrollHelper', 'layoutManager', 'globalize', 'require', 'emby-button', 'emby-select', 'formDialogStyle', 'css!./style'], function (dialogHelper, connectionManager, dom, loading, scrollHelper, layoutManager, globalize, require) { import dialogHelper from 'dialogHelper';
'use strict'; import connectionManager from 'connectionManager';
import dom from 'dom';
import loading from 'loading';
import scrollHelper from 'scrollHelper';
import layoutManager from 'layoutManager';
import globalize from 'globalize';
import template from 'text!./subtitleuploader.template.html';
import 'require';
import 'emby-button';
import 'emby-select';
import 'formDialogStyle';
import 'css!./style';
var currentItemId; var currentItemId;
var currentServerId; var currentServerId;
var currentFile; var currentFile;
var hasChanges = false; var hasChanges = false;
function onFileReaderError(evt) { function onFileReaderError(evt) {
loading.hide(); loading.hide();
var error = evt.target.error; const error = evt.target.error;
if (error.code !== error.ABORT_ERR) { if (error.code !== error.ABORT_ERR) {
require(['toast'], function (toast) { require(['toast'], function (toast) {
toast(globalize.translate('MessageFileReadError')); toast(globalize.translate('MessageFileReadError'));
}); });
} }
} }
function isValidSubtitleFile(file) { function isValidSubtitleFile(file) {
return file && ['.sub', '.srt', '.vtt', '.ass', '.ssa'] return file && ['.sub', '.srt', '.vtt', '.ass', '.ssa']
.some(function(ext) { .some(function(ext) {
return file.name.endsWith(ext); return file.name.endsWith(ext);
}); });
} }
function setFiles(page, files) { function setFiles(page, files) {
var file = files[0]; const file = files[0];
if (!isValidSubtitleFile(file)) { if (!isValidSubtitleFile(file)) {
page.querySelector('#subtitleOutput').innerHTML = ''; page.querySelector('#subtitleOutput').innerHTML = '';
@ -37,7 +48,7 @@ define(['dialogHelper', 'connectionManager', 'dom', 'loading', 'scrollHelper', '
currentFile = file; currentFile = file;
var reader = new FileReader(); const reader = new FileReader();
reader.onerror = onFileReaderError; reader.onerror = onFileReaderError;
reader.onloadstart = function () { reader.onloadstart = function () {
@ -51,8 +62,8 @@ define(['dialogHelper', 'connectionManager', 'dom', 'loading', 'scrollHelper', '
// Closure to capture the file information. // Closure to capture the file information.
reader.onload = (function (theFile) { reader.onload = (function (theFile) {
return function () { return function () {
// Render thumbnail. // Render file.
var html = '<a><i class="material-icons" style="transform: translateY(25%);">subtitles</i><span>' + escape(theFile.name) + '</span><a/>'; const html = '<a><i class="material-icons" style="transform: translateY(25%);">subtitles</i><span>' + escape(theFile.name) + '</span><a/>';
page.querySelector('#subtitleOutput').innerHTML = html; page.querySelector('#subtitleOutput').innerHTML = html;
page.querySelector('#fldUpload').classList.remove('hide'); page.querySelector('#fldUpload').classList.remove('hide');
@ -62,10 +73,10 @@ define(['dialogHelper', 'connectionManager', 'dom', 'loading', 'scrollHelper', '
// Read in the subtitle file as a data URL. // Read in the subtitle file as a data URL.
reader.readAsDataURL(file); reader.readAsDataURL(file);
} }
function onSubmit(e) { function onSubmit(e) {
var file = currentFile; const file = currentFile;
if (!isValidSubtitleFile(file)) { if (!isValidSubtitleFile(file)) {
require(['toast'], function (toast) { require(['toast'], function (toast) {
@ -77,9 +88,9 @@ define(['dialogHelper', 'connectionManager', 'dom', 'loading', 'scrollHelper', '
loading.show(); loading.show();
var dlg = dom.parentWithClass(this, 'dialog'); const dlg = dom.parentWithClass(this, 'dialog');
var language = dlg.querySelector('#selectLanguage').value; const language = dlg.querySelector('#selectLanguage').value;
var isForced = dlg.querySelector('#chkIsForced').checked; const isForced = dlg.querySelector('#chkIsForced').checked;
connectionManager.getApiClient(currentServerId).uploadItemSubtitle(currentItemId, language, isForced, file).then(function () { connectionManager.getApiClient(currentServerId).uploadItemSubtitle(currentItemId, language, isForced, file).then(function () {
dlg.querySelector('#uploadSubtitle').value = ''; dlg.querySelector('#uploadSubtitle').value = '';
@ -89,9 +100,9 @@ define(['dialogHelper', 'connectionManager', 'dom', 'loading', 'scrollHelper', '
}); });
e.preventDefault(); e.preventDefault();
} }
function initEditor(page) { function initEditor(page) {
page.querySelector('.uploadSubtitleForm').addEventListener('submit', onSubmit); page.querySelector('.uploadSubtitleForm').addEventListener('submit', onSubmit);
page.querySelector('#uploadSubtitle').addEventListener('change', function () { page.querySelector('#uploadSubtitle').addEventListener('change', function () {
setFiles(page, this.files); setFiles(page, this.files);
@ -99,16 +110,14 @@ define(['dialogHelper', 'connectionManager', 'dom', 'loading', 'scrollHelper', '
page.querySelector('.btnBrowse').addEventListener('click', function () { page.querySelector('.btnBrowse').addEventListener('click', function () {
page.querySelector('#uploadSubtitle').click(); page.querySelector('#uploadSubtitle').click();
}); });
} }
function showEditor(options, resolve, reject) { function showEditor(options, resolve, reject) {
options = options || {}; options = options || {};
require(['text!./subtitleuploader.template.html'], function (template) {
currentItemId = options.itemId; currentItemId = options.itemId;
currentServerId = options.serverId; currentServerId = options.serverId;
var dialogOptions = { const dialogOptions = {
removeOnClose: true, removeOnClose: true,
scrollY: false scrollY: false
}; };
@ -119,7 +128,7 @@ define(['dialogHelper', 'connectionManager', 'dom', 'loading', 'scrollHelper', '
dialogOptions.size = 'small'; dialogOptions.size = 'small';
} }
var dlg = dialogHelper.createDialog(dialogOptions); const dlg = dialogHelper.createDialog(dialogOptions);
dlg.classList.add('formDialog'); dlg.classList.add('formDialog');
dlg.classList.add('subtitleUploaderDialog'); dlg.classList.add('subtitleUploaderDialog');
@ -143,7 +152,7 @@ define(['dialogHelper', 'connectionManager', 'dom', 'loading', 'scrollHelper', '
initEditor(dlg); initEditor(dlg);
var selectLanguage = dlg.querySelector('#selectLanguage'); const selectLanguage = dlg.querySelector('#selectLanguage');
if (options.languages) { if (options.languages) {
selectLanguage.innerHTML = options.languages.list || null; selectLanguage.innerHTML = options.languages.list || null;
@ -153,15 +162,15 @@ define(['dialogHelper', 'connectionManager', 'dom', 'loading', 'scrollHelper', '
dlg.querySelector('.btnCancel').addEventListener('click', function () { dlg.querySelector('.btnCancel').addEventListener('click', function () {
dialogHelper.close(dlg); dialogHelper.close(dlg);
}); });
}); }
}
return { export function show(options) {
show: function (options) {
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
hasChanges = false; hasChanges = false;
showEditor(options, resolve, reject); showEditor(options, resolve, reject);
}); });
} }
};
}); export default {
show: show
};