diff --git a/src/components/subtitleeditor/subtitleeditor.js b/src/components/subtitleeditor/subtitleeditor.js index 48de1ff5cd..980a5ef735 100644 --- a/src/components/subtitleeditor/subtitleeditor.js +++ b/src/components/subtitleeditor/subtitleeditor.js @@ -270,36 +270,6 @@ function reload(context, apiClient, itemId) { context.querySelector('.pathValue').innerHTML = ''; context.querySelector('.originalFile').classList.add('hide'); } - } - - function onOpenUploadMenu(e) { - var dialog = dom.parentWithClass(e.target, 'subtitleEditorDialog'); - var selectLanguage = dialog.querySelector('#selectLanguage'); - var apiClient = connectionManager.getApiClient(currentItem.ServerId); - - require(['subtitleUploader'], function (subtitleUploader) { - subtitleUploader.show({ - languages: { - list: selectLanguage.innerHTML, - value: selectLanguage.value - }, - itemId: currentItem.Id, - serverId: currentItem.ServerId - }).then(function (hasChanged) { - if (hasChanged) { - hasChanges = true; - reload(dialog, apiClient, currentItem.Id); - } - }); - }); - } - - function onSearchSubmit(e) { - var form = this; - - var lang = form.querySelector('#selectLanguage', form).value; - - searchForSubtitles(dom.parentWithClass(form, 'formDialogContent'), lang); loading.hide(); } @@ -382,6 +352,28 @@ function centerFocus(elem, horiz, on) { }); } +function onOpenUploadMenu(e) { + const dialog = dom.parentWithClass(e.target, 'subtitleEditorDialog'); + const selectLanguage = dialog.querySelector('#selectLanguage'); + const apiClient = ServerConnections.getApiClient(currentItem.ServerId); + + import('../subtitleuploader/subtitleuploader').then(({default: subtitleUploader}) => { + subtitleUploader.show({ + languages: { + list: selectLanguage.innerHTML, + value: selectLanguage.value + }, + itemId: currentItem.Id, + serverId: currentItem.ServerId + }).then(function (hasChanged) { + if (hasChanged) { + hasChanges = true; + reload(dialog, apiClient, currentItem.Id); + } + }); + }); +} + function showEditorInternal(itemId, serverId, template) { hasChanges = false; @@ -400,8 +392,6 @@ function showEditorInternal(itemId, serverId, template) { const dlg = dialogHelper.createDialog(dialogOptions); - dlg.querySelector('.btnOpenUploadMenu').addEventListener('click', onOpenUploadMenu); - dlg.classList.add('formDialog'); dlg.classList.add('subtitleEditorDialog'); @@ -411,6 +401,8 @@ function showEditorInternal(itemId, serverId, template) { dlg.querySelector('.subtitleSearchForm').addEventListener('submit', onSearchSubmit); + dlg.querySelector('.btnOpenUploadMenu').addEventListener('click', onOpenUploadMenu); + const btnSubmit = dlg.querySelector('.btnSubmit'); if (layoutManager.tv) { diff --git a/src/components/subtitleuploader/subtitleuploader.js b/src/components/subtitleuploader/subtitleuploader.js index e631978881..1c9b8cfb24 100644 --- a/src/components/subtitleuploader/subtitleuploader.js +++ b/src/components/subtitleuploader/subtitleuploader.js @@ -1,30 +1,28 @@ -import dialogHelper from 'dialogHelper'; -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'; +import dialogHelper from '../../components/dialogHelper/dialogHelper'; +import ServerConnections from '../ServerConnections'; +import dom from '../../scripts/dom'; +import loading from '../../components/loading/loading'; +import scrollHelper from '../../libraries/scroller'; +import layoutManager from '../layoutManager'; +import globalize from '../../scripts/globalize'; +import template from './subtitleuploader.template.html'; +import toast from '../toast/toast'; +import '../../elements/emby-button/emby-button'; +import '../../elements/emby-select/emby-select'; +import '../formdialog.css'; +import './style.css'; -var currentItemId; -var currentServerId; -var currentFile; -var hasChanges = false; +let currentItemId; +let currentServerId; +let currentFile; +let hasChanges = false; function onFileReaderError(evt) { loading.hide(); const error = evt.target.error; if (error.code !== error.ABORT_ERR) { - require(['toast'], function (toast) { - toast(globalize.translate('MessageFileReadError')); - }); + toast(globalize.translate('MessageFileReadError')); } } @@ -79,9 +77,7 @@ function onSubmit(e) { const file = currentFile; if (!isValidSubtitleFile(file)) { - require(['toast'], function (toast) { - toast(globalize.translate('MessageSubtitleFileTypeAllowed')); - }); + toast(globalize.translate('MessageSubtitleFileTypeAllowed')); e.preventDefault(); return; } @@ -92,7 +88,7 @@ function onSubmit(e) { const language = dlg.querySelector('#selectLanguage').value; const isForced = dlg.querySelector('#chkIsForced').checked; - connectionManager.getApiClient(currentServerId).uploadItemSubtitle(currentItemId, language, isForced, file).then(function () { + ServerConnections.getApiClient(currentServerId).uploadItemSubtitle(currentItemId, language, isForced, file).then(function () { dlg.querySelector('#uploadSubtitle').value = ''; loading.hide(); hasChanges = true; @@ -133,7 +129,7 @@ function showEditor(options, resolve, reject) { dlg.classList.add('formDialog'); dlg.classList.add('subtitleUploaderDialog'); - dlg.innerHTML = globalize.translateDocument(template, 'core'); + dlg.innerHTML = globalize.translateHtml(template, 'core'); if (layoutManager.tv) { scrollHelper.centerFocus.on(dlg, false);