import dialogHelper from 'dialogHelper'; import layoutManager from 'layoutManager'; import globalize from 'globalize'; import * as userSettings from 'userSettings'; import connectionManager from 'connectionManager'; import loading from 'loading'; import focusManager from 'focusManager'; import dom from 'dom'; import 'emby-select'; import 'listViewStyle'; import 'paper-icon-button-light'; import 'css!./../formdialog'; import 'material-icons'; import 'css!./subtitleeditor'; import 'emby-button'; import 'flexStyles'; let currentItem; let hasChanges; function downloadRemoteSubtitles(context, id) { let url = 'Items/' + currentItem.Id + '/RemoteSearch/Subtitles/' + id; let apiClient = connectionManager.getApiClient(currentItem.ServerId); apiClient.ajax({ type: 'POST', url: apiClient.getUrl(url) }).then(function () { hasChanges = true; import('toast').then(({default: toast}) => { toast(globalize.translate('MessageDownloadQueued')); }); focusManager.autoFocus(context); }); } function deleteLocalSubtitle(context, index) { let msg = globalize.translate('MessageAreYouSureDeleteSubtitles'); import('confirm').then(({default: confirm}) => { confirm({ title: globalize.translate('ConfirmDeletion'), text: msg, confirmText: globalize.translate('Delete'), primary: 'delete' }).then(function () { loading.show(); let itemId = currentItem.Id; let url = 'Videos/' + itemId + '/Subtitles/' + index; let apiClient = connectionManager.getApiClient(currentItem.ServerId); apiClient.ajax({ type: 'DELETE', url: apiClient.getUrl(url) }).then(function () { hasChanges = true; reload(context, apiClient, itemId); }); }); }); } function fillSubtitleList(context, item) { let streams = item.MediaStreams || []; let subs = streams.filter(function (s) { return s.Type === 'Subtitle'; }); let html = ''; if (subs.length) { html += '