diff --git a/dashboard-ui/bower_components/emby-webcomponents/.bower.json b/dashboard-ui/bower_components/emby-webcomponents/.bower.json
index e68989cf34..13d622dca6 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/.bower.json
+++ b/dashboard-ui/bower_components/emby-webcomponents/.bower.json
@@ -15,12 +15,12 @@
},
"devDependencies": {},
"ignore": [],
- "version": "1.4.2",
- "_release": "1.4.2",
+ "version": "1.4.5",
+ "_release": "1.4.5",
"_resolution": {
"type": "version",
- "tag": "1.4.2",
- "commit": "53a28dd7296648adfda6f62cf45012567b670186"
+ "tag": "1.4.5",
+ "commit": "da29c275857fd674c0946c5f3138d3eaef03cbc8"
},
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
"_target": "^1.2.0",
diff --git a/dashboard-ui/bower_components/emby-webcomponents/listview/listview.css b/dashboard-ui/bower_components/emby-webcomponents/listview/listview.css
index c2f0d06f94..5870add036 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/listview/listview.css
+++ b/dashboard-ui/bower_components/emby-webcomponents/listview/listview.css
@@ -2,7 +2,7 @@
display: flex;
align-items: center;
text-align: left;
- padding: .1em .55em !important;
+ padding: .1em 1.25em !important;
outline: none !important;
}
@@ -12,7 +12,16 @@
.listItemBody {
flex-grow: 1;
- padding: .35em .55em;
+ padding: .35em 1.25em;
+}
+
+ .listItemBody h3 {
+ margin: 0;
+ font-weight: normal;
+ }
+
+.listItemBodyText {
+ padding: .25em 0;
}
.listItemImage {
@@ -47,6 +56,12 @@
transition: transform .2s ease-out;
}
-.listItem:focus {
- transform: scale(1.025, 1.025);
-}
\ No newline at end of file
+ .listItem:focus {
+ transform: scale(1.025, 1.025);
+ }
+
+.paperList {
+ padding: .5em 0;
+ margin: 12px auto;
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
+}
diff --git a/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingcreator.js b/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingcreator.js
index 4ae4d9114d..694334d772 100644
--- a/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingcreator.js
+++ b/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingcreator.js
@@ -1,4 +1,4 @@
-define(['dialogHelper', 'globalize', 'layoutManager', 'mediaInfo', 'apphost', 'connectionManager', 'require', 'loading', 'scrollHelper', 'scrollStyles', 'paper-checkbox', 'emby-collapsible', 'emby-input', 'paper-icon-button-light', 'css!./../formdialog', 'css!./recordingcreator', 'html!./../icons/mediainfo.html', 'html!./../icons/nav.html'], function (dialogHelper, globalize, layoutManager, mediaInfo, appHost, connectionManager, require, loading, scrollHelper) {
+define(['dialogHelper', 'globalize', 'layoutManager', 'mediaInfo', 'apphost', 'connectionManager', 'require', 'loading', 'scrollHelper', 'paper-checkbox', 'emby-collapsible', 'emby-input', 'paper-icon-button-light', 'css!./../formdialog', 'css!./recordingcreator', 'html!./../icons/mediainfo.html', 'html!./../icons/nav.html'], function (dialogHelper, globalize, layoutManager, mediaInfo, appHost, connectionManager, require, loading, scrollHelper) {
var currentProgramId;
var currentServerId;
diff --git a/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.js b/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.js
new file mode 100644
index 0000000000..3260175128
--- /dev/null
+++ b/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.js
@@ -0,0 +1,427 @@
+define(['dialogHelper', 'require', 'layoutManager', 'globalize', 'appStorage', 'connectionManager', 'loading', 'paper-fab', 'listViewStyle', 'paper-icon-button-light', 'css!./../formdialog'], function (dialogHelper, require, layoutManager, globalize, appStorage, connectionManager, loading) {
+
+ var currentItem;
+
+ function showLocalSubtitles(context, index) {
+
+ loading.show();
+
+ var subtitleContent = context.querySelector('.subtitleContent');
+ subtitleContent.innerHTML = '';
+
+ var apiClient = connectionManager.getApiClient(currentItem.ServerId);
+ var url = 'Videos/' + currentItem.Id + '/Subtitles/' + index;
+
+ apiClient.ajax({
+
+ type: 'GET',
+ url: url
+
+ }).then(function (result) {
+
+ subtitleContent.innerHTML = result;
+
+ loading.hide();
+ });
+ }
+
+ function showRemoteSubtitles(context, id) {
+
+ loading.show();
+
+ var url = 'Providers/Subtitles/Subtitles/' + id;
+
+ ApiClient.get(ApiClient.getUrl(url)).then(function (result) {
+
+ // show result
+
+ loading.hide();
+ });
+ }
+
+ function downloadRemoteSubtitles(context, id) {
+
+ var url = 'Items/' + currentItem.Id + '/RemoteSearch/Subtitles/' + id;
+
+ var apiClient = connectionManager.getApiClient(currentItem.ServerId);
+ apiClient.ajax({
+
+ type: "POST",
+ url: apiClient.getUrl(url)
+
+ }).then(function () {
+
+ require(['toast'], function (toast) {
+ toast(globalize.translate('MessageDownloadQueued'));
+ });
+ });
+ }
+
+ function deleteLocalSubtitle(context, index) {
+
+ var msg = globalize.translate('MessageAreYouSureDeleteSubtitles');
+
+ require(['confirm'], function (confirm) {
+
+ confirm(msg, globalize.translate('HeaderConfirmDeletion')).then(function () {
+
+ loading.show();
+
+ var itemId = currentItem.Id;
+ var url = 'Videos/' + itemId + '/Subtitles/' + index;
+
+ var apiClient = connectionManager.getApiClient(currentItem.ServerId);
+
+ apiClient.ajax({
+
+ type: "DELETE",
+ url: apiClient.getUrl(url)
+
+ }).then(function () {
+
+ reload(context, apiClient, itemId);
+ });
+ });
+ });
+ }
+
+ function fillSubtitleList(context, item) {
+
+ var streams = item.MediaStreams || [];
+
+ var subs = streams.filter(function (s) {
+
+ return s.Type == 'Subtitle';
+ });
+
+ var html = '';
+
+ if (subs.length) {
+
+ html += '
' + globalize.translate('HeaderCurrentSubtitles') + '
';
+
+ if (layoutManager.tv) {
+ html += '';
+ } else {
+ html += '
';
+ }
+
+ html += subs.map(function (s) {
+
+ var itemHtml = '';
+
+ itemHtml += '
';
+
+ itemHtml += '
';
+
+ var atts = [];
+
+ atts.push(s.Codec);
+ if (s.IsDefault) {
+
+ atts.push('Default');
+ }
+ if (s.IsForced) {
+
+ atts.push('Forced');
+ }
+
+ itemHtml += '
';
+
+ itemHtml += '
';
+ itemHtml += (s.Language || globalize.translate('LabelUnknownLanaguage'));
+ itemHtml += '
';
+
+ itemHtml += '
' + atts.join(' - ') + '
';
+
+ if (s.Path) {
+ itemHtml += '
' + (s.Path) + '
';
+ }
+
+ itemHtml += '';
+ itemHtml += '
';
+
+ if (s.Path) {
+ itemHtml += '
';
+ }
+
+ itemHtml += '
';
+
+ return itemHtml;
+
+ }).join('');
+
+ html += '
';
+ }
+
+ var elem = context.querySelector('.subtitleList');
+
+ if (subs.length) {
+ elem.classList.remove('hide');
+ } else {
+ elem.classList.add('hide');
+ }
+ elem.innerHTML = html;
+
+ //('.btnViewSubtitles', elem).on('click', function () {
+
+ // var index = this.getAttribute('data-index');
+
+ // showLocalSubtitles(context, index);
+
+ //});
+ }
+
+ function fillLanguages(context, apiClient, languages) {
+
+ var selectLanguage = context.querySelector('#selectLanguage');
+
+ selectLanguage.innerHTML = languages.map(function (l) {
+
+ return '
';
+ });
+
+ var lastLanguage = appStorage.getItem('subtitleeditor-language');
+ if (lastLanguage) {
+ selectLanguage.value = lastLanguage;
+ }
+ else {
+
+ apiClient.getCurrentUser().then(function (user) {
+
+ var lang = user.Configuration.SubtitleLanguagePreference;
+
+ if (lang) {
+ selectLanguage.value = lang;
+ }
+ });
+ }
+ }
+
+ function renderSearchResults(context, results) {
+
+ var lastProvider = '';
+ var html = '';
+
+ if (!results.length) {
+
+ context.querySelector('.noSearchResults').classList.remove('hide');
+ context.querySelector('.subtitleResults').innerHTML = '';
+ loading.hide();
+ return;
+ }
+
+ context.querySelector('.noSearchResults').classList.add('hide');
+
+ for (var i = 0, length = results.length; i < length; i++) {
+
+ var result = results[i];
+
+ var provider = result.ProviderName;
+
+ if (provider != lastProvider) {
+
+ if (i > 0) {
+ html += '
';
+ }
+ html += '' + provider + '
';
+ if (layoutManager.tv) {
+ html += '';
+ } else {
+ html += '
';
+ }
+ lastProvider = provider;
+ }
+
+ html += '
';
+
+ html += '
';
+
+ html += '
';
+
+ html += '
' + /*(result.CommunityRating || 0) + ' / ' +*/ (result.DownloadCount || 0) + '
';
+
+ html += '
';
+
+ html += '
';
+ }
+
+ if (results.length) {
+ html += '
';
+ }
+
+ var elem = context.querySelector('.subtitleResults');
+ elem.innerHTML = html;
+
+ //('.btnViewSubtitle', elem).on('click', function () {
+
+ // var id = this.getAttribute('data-subid');
+ // showRemoteSubtitles(context, id);
+ //});
+
+ loading.hide();
+ }
+
+ function searchForSubtitles(context, language) {
+
+ appStorage.setItem('subtitleeditor-language', language);
+
+ loading.show();
+
+ var apiClient = connectionManager.getApiClient(currentItem.ServerId);
+ var url = apiClient.getUrl('Items/' + currentItem.Id + '/RemoteSearch/Subtitles/' + language);
+
+ apiClient.getJSON(url).then(function (results) {
+
+ renderSearchResults(context, results);
+ });
+ }
+
+ function reload(context, apiClient, itemId) {
+
+ context.querySelector('.noSearchResults').classList.add('hide');
+
+ function onGetItem(item) {
+ currentItem = item;
+
+ fillSubtitleList(context, item);
+ var file = item.Path || '';
+ var index = Math.max(file.lastIndexOf('/'), file.lastIndexOf('\\'));
+ if (index > -1) {
+ file = file.substring(index + 1);
+ }
+
+ if (file) {
+ context.querySelector('.pathValue').innerHTML = file;
+ context.querySelector('.originalFile').classList.remove('hide');
+ } else {
+ context.querySelector('.pathValue').innerHTML = '';
+ context.querySelector('.originalFile').classList.add('hide');
+ }
+
+ loading.hide();
+ }
+
+ if (typeof itemId == 'string') {
+ apiClient.getItem(apiClient.getCurrentUserId(), itemId).then(onGetItem);
+ }
+ else {
+ onGetItem(itemId);
+ }
+ }
+
+ function parentWithClass(elem, className) {
+
+ while (!elem.classList || !elem.classList.contains(className)) {
+ elem = elem.parentNode;
+
+ if (!elem) {
+ return null;
+ }
+ }
+
+ return elem;
+ }
+
+ function onSearchSubmit(e) {
+ var form = this;
+
+ var lang = form.querySelector('#selectLanguage', form).value;
+
+ searchForSubtitles(parentWithClass(form, 'dialogContent'), lang);
+
+ e.preventDefault();
+ return false;
+ }
+
+ function onSubtitleListClick(e) {
+
+ var btnDelete = parentWithClass(e.target, 'btnDelete');
+ if (btnDelete) {
+ var index = btnDelete.getAttribute('data-index');
+ var context = parentWithClass(btnDelete, 'subtitleEditorDialog');
+ deleteLocalSubtitle(context, index);
+ }
+ }
+
+ function onSubtitleResultsClick(e) {
+
+ var btnDownload = parentWithClass(e.target, 'btnDownload');
+ if (btnDownload) {
+ var id = btnDownload.getAttribute('data-subid');
+ var context = parentWithClass(btnDownload, 'subtitleEditorDialog');
+ downloadRemoteSubtitles(context, id);
+ }
+ }
+
+ function showEditor(itemId, serverId) {
+
+ loading.show();
+
+ require(['text!./subtitleeditor.template.html'], function (template) {
+
+ var apiClient = connectionManager.getApiClient(serverId);
+
+ apiClient.getItem(apiClient.getCurrentUserId(), itemId).then(function (item) {
+
+ var dialogOptions = {
+ removeOnClose: true
+ };
+
+ if (layoutManager.tv) {
+ dialogOptions.size = 'fullscreen';
+ } else {
+ dialogOptions.size = 'small';
+ }
+
+ var dlg = dialogHelper.createDialog(dialogOptions);
+
+ dlg.classList.add('formDialog');
+ dlg.classList.add('subtitleEditorDialog');
+
+ dlg.innerHTML = globalize.translateDocument(template);
+ document.body.appendChild(dlg);
+
+ dlg.querySelector('.pathLabel').innerHTML = globalize.translate('MediaInfoFile');
+
+ dlg.querySelector('.subtitleSearchForm').addEventListener('submit', onSearchSubmit);
+
+ dialogHelper.open(dlg);
+
+ var editorContent = dlg.querySelector('.dialogContent');
+
+ dlg.querySelector('.subtitleList').addEventListener('click', onSubtitleListClick);
+ dlg.querySelector('.subtitleResults').addEventListener('click', onSubtitleResultsClick);
+
+ reload(editorContent, apiClient, item);
+
+ apiClient.getCultures().then(function (languages) {
+
+ fillLanguages(editorContent, apiClient, languages);
+ });
+
+ dlg.querySelector('.btnCancel').addEventListener('click', function () {
+
+ dialogHelper.close(dlg);
+ });
+ });
+ });
+ }
+
+ return {
+ show: showEditor
+ };
+});
\ No newline at end of file
diff --git a/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.template.html b/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.template.html
new file mode 100644
index 0000000000..b94d8c7b2e
--- /dev/null
+++ b/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.template.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
${HeaderSearchForSubtitles}
+
+
+
+
+
+
+
+ ${MessageNoSubtitleSearchResultsFound}
+
+
+
\ No newline at end of file
diff --git a/dashboard-ui/bower_components/polymer/.bower.json b/dashboard-ui/bower_components/polymer/.bower.json
index bbad7fe7ba..3e8a4009a3 100644
--- a/dashboard-ui/bower_components/polymer/.bower.json
+++ b/dashboard-ui/bower_components/polymer/.bower.json
@@ -34,6 +34,6 @@
"commit": "11c987b2eb3c73b388a79fc8aaea8ca01624f514"
},
"_source": "git://github.com/Polymer/polymer.git",
- "_target": "^1.1.0",
+ "_target": "^1.0.0",
"_originalSource": "Polymer/polymer"
}
\ No newline at end of file
diff --git a/dashboard-ui/components/subtitleeditor/subtitleeditor.js b/dashboard-ui/components/subtitleeditor/subtitleeditor.js
deleted file mode 100644
index 5d27051dcf..0000000000
--- a/dashboard-ui/components/subtitleeditor/subtitleeditor.js
+++ /dev/null
@@ -1,406 +0,0 @@
-define(['dialogHelper', 'appStorage', 'jQuery', 'paper-fab', 'paper-item-body', 'paper-icon-item', 'paper-icon-button-light'], function (dialogHelper, appStorage, $) {
-
- var currentItem;
-
- function showLocalSubtitles(page, index) {
-
- Dashboard.showLoadingMsg();
-
- var popup = $('.popupSubtitleViewer', page).popup('open');
- $('.subtitleContent', page).html('');
-
- var url = 'Videos/' + currentItem.Id + '/Subtitles/' + index;
-
- ApiClient.ajax({
-
- type: 'GET',
- url: url
-
- }).then(function (result) {
-
- $('.subtitleContent', page).html(result);
-
- Dashboard.hideLoadingMsg();
-
- popup.popup('reposition', {});
- });
- }
-
- function showRemoteSubtitles(page, id) {
-
- Dashboard.showLoadingMsg();
-
- var popup = $('.popupSubtitleViewer', page).popup('open');
- $('.subtitleContent', page).html('');
-
- var url = 'Providers/Subtitles/Subtitles/' + id;
-
- ApiClient.get(ApiClient.getUrl(url)).then(function (result) {
-
- $('.subtitleContent', page).html(result);
-
- Dashboard.hideLoadingMsg();
-
- popup.popup('reposition', {});
- });
- }
-
- function downloadRemoteSubtitles(page, id) {
-
- var url = 'Items/' + currentItem.Id + '/RemoteSearch/Subtitles/' + id;
-
- ApiClient.ajax({
-
- type: "POST",
- url: ApiClient.getUrl(url)
-
- }).then(function () {
-
- require(['toast'], function (toast) {
- toast(Globalize.translate('MessageDownloadQueued'));
- });
- });
- }
-
- function deleteLocalSubtitle(page, index) {
-
- var msg = Globalize.translate('MessageAreYouSureDeleteSubtitles');
-
- require(['confirm'], function (confirm) {
-
- confirm(msg, Globalize.translate('HeaderConfirmDeletion')).then(function () {
-
- Dashboard.showLoadingMsg();
-
- var itemId = currentItem.Id;
- var url = 'Videos/' + itemId + '/Subtitles/' + index;
-
- ApiClient.ajax({
-
- type: "DELETE",
- url: ApiClient.getUrl(url)
-
- }).then(function () {
-
- reload(page, itemId);
- });
- });
- });
- }
-
- function fillSubtitleList(page, item) {
-
- var streams = item.MediaStreams || [];
-
- var subs = streams.filter(function (s) {
-
- return s.Type == 'Subtitle';
- });
-
- var html = '';
-
- if (subs.length) {
-
- html += '
' + Globalize.translate('HeaderCurrentSubtitles') + '
';
- html += '
';
-
- html += subs.map(function (s) {
-
- var itemHtml = '';
-
- itemHtml += '
';
-
- itemHtml += '';
-
- var atts = [];
-
- atts.push(s.Codec);
- if (s.IsDefault) {
-
- atts.push('Default');
- }
- if (s.IsForced) {
-
- atts.push('Forced');
- }
-
- if (atts.length == 3) {
- itemHtml += '';
- }
- else {
- itemHtml += '';
- }
-
- itemHtml += '';
- itemHtml += (s.Language || Globalize.translate('LabelUnknownLanaguage'));
- itemHtml += '
';
-
- itemHtml += '' + atts.join(' - ') + '
';
-
- if (s.Path) {
- itemHtml += '' + (s.Path) + '
';
- }
-
- html += '';
- itemHtml += '';
-
- if (s.Path) {
- itemHtml += '';
- }
-
- itemHtml += '';
-
- return itemHtml;
-
- }).join('');
-
- html += '
';
- }
-
- var elem = $('.subtitleList', page).html(html);
-
- $('.btnViewSubtitles', elem).on('click', function () {
-
- var index = this.getAttribute('data-index');
-
- showLocalSubtitles(page, index);
-
- });
-
- $('.btnDelete', elem).on('click', function () {
-
- var index = this.getAttribute('data-index');
-
- deleteLocalSubtitle(page, index);
-
- });
- }
-
- function fillLanguages(page, languages) {
-
- $('#selectLanguage', page).html(languages.map(function (l) {
-
- return '
';
-
- }));
-
- var lastLanguage = appStorage.getItem('subtitleeditor-language');
- if (lastLanguage) {
- $('#selectLanguage', page).val(lastLanguage);
- }
- else {
-
- Dashboard.getCurrentUser().then(function (user) {
-
- var lang = user.Configuration.SubtitleLanguagePreference;
-
- if (lang) {
- $('#selectLanguage', page).val(lang);
- }
- });
- }
- }
-
- function renderSearchResults(page, results) {
-
- var lastProvider = '';
- var html = '';
-
- if (!results.length) {
-
- $('.noSearchResults', page).show();
- $('.subtitleResults', page).html('');
- Dashboard.hideLoadingMsg();
- return;
- }
-
- $('.noSearchResults', page).hide();
-
- for (var i = 0, length = results.length; i < length; i++) {
-
- var result = results[i];
-
- var provider = result.ProviderName;
-
- if (provider != lastProvider) {
-
- if (i > 0) {
- html += '
';
- }
- html += '' + provider + '
';
- html += '';
- }
-
- var elem = $('.subtitleResults', page).html(html);
-
- $('.btnViewSubtitle', elem).on('click', function () {
-
- var id = this.getAttribute('data-subid');
- showRemoteSubtitles(page, id);
- });
-
- $('.btnDownload', elem).on('click', function () {
-
- var id = this.getAttribute('data-subid');
- downloadRemoteSubtitles(page, id);
- });
-
- Dashboard.hideLoadingMsg();
- }
-
- function searchForSubtitles(page, language) {
-
- appStorage.setItem('subtitleeditor-language', language);
-
- Dashboard.showLoadingMsg();
-
- var url = ApiClient.getUrl('Items/' + currentItem.Id + '/RemoteSearch/Subtitles/' + language);
-
- ApiClient.getJSON(url).then(function (results) {
-
- renderSearchResults(page, results);
- });
- }
-
- function reload(context, itemId) {
-
- $('.noSearchResults', context).hide();
-
- function onGetItem(item) {
- currentItem = item;
-
- fillSubtitleList(context, item);
- var file = item.Path || '';
- var index = Math.max(file.lastIndexOf('/'), file.lastIndexOf('\\'));
- if (index > -1) {
- file = file.substring(index + 1);
- }
-
- if (file) {
- context.querySelector('.pathValue').innerHTML = file;
- context.querySelector('.originalFile').classList.remove('hide');
- } else {
- context.querySelector('.pathValue').innerHTML = '';
- context.querySelector('.originalFile').classList.add('hide');
- }
-
- Dashboard.hideLoadingMsg();
- }
-
- if (typeof itemId == 'string') {
- ApiClient.getItem(Dashboard.getCurrentUserId(), itemId).then(onGetItem);
- }
- else {
- onGetItem(itemId);
- }
- }
-
- function onSearchSubmit() {
- var form = this;
-
- var lang = $('#selectLanguage', form).val();
-
- searchForSubtitles($(form).parents('.editorContent'), lang);
-
- return false;
- }
-
- function showEditor(itemId) {
-
- Dashboard.showLoadingMsg();
-
- var xhr = new XMLHttpRequest();
- xhr.open('GET', 'components/subtitleeditor/subtitleeditor.template.html', true);
-
- xhr.onload = function (e) {
-
- var template = this.response;
- ApiClient.getItem(Dashboard.getCurrentUserId(), itemId).then(function (item) {
-
- var dlg = dialogHelper.createDialog({
- size: 'small',
- removeOnClose: true
- });
-
- dlg.classList.add('ui-body-b');
- dlg.classList.add('background-theme-b');
-
- var html = '';
- html += '';
-
- html += '';
- html += Globalize.translateDocument(template);
- html += '
';
-
- dlg.innerHTML = html;
- document.body.appendChild(dlg);
-
- dlg.querySelector('.pathLabel').innerHTML = Globalize.translate('MediaInfoFile');
-
- $('.subtitleSearchForm', dlg).off('submit', onSearchSubmit).on('submit', onSearchSubmit);
-
- dialogHelper.open(dlg);
-
- var editorContent = dlg.querySelector('.editorContent');
- reload(editorContent, item);
-
- ApiClient.getCultures().then(function (languages) {
-
- fillLanguages(editorContent, languages);
- });
-
- $('.btnCancel', dlg).on('click', function () {
-
- dialogHelper.close(dlg);
- });
- });
- }
-
- xhr.send();
- }
-
- return {
- show: showEditor
- };
-});
\ No newline at end of file
diff --git a/dashboard-ui/components/subtitleeditor/subtitleeditor.template.html b/dashboard-ui/components/subtitleeditor/subtitleeditor.template.html
deleted file mode 100644
index 2e8bafa10c..0000000000
--- a/dashboard-ui/components/subtitleeditor/subtitleeditor.template.html
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
${HeaderSearchForSubtitles}
-
-
-
-
-
-
-
- ${MessageNoSubtitleSearchResultsFound}
-
-
diff --git a/dashboard-ui/scripts/librarybrowser.js b/dashboard-ui/scripts/librarybrowser.js
index 97c77512bb..3e335f5d17 100644
--- a/dashboard-ui/scripts/librarybrowser.js
+++ b/dashboard-ui/scripts/librarybrowser.js
@@ -804,9 +804,10 @@
editSubtitles: function (itemId) {
- require(['components/subtitleeditor/subtitleeditor'], function (SubtitleEditor) {
+ require(['subtitleEditor'], function (subtitleEditor) {
- SubtitleEditor.show(itemId);
+ var serverId = ApiClient.serverInfo().Id;
+ subtitleEditor.show(itemId, serverId);
});
},
diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js
index e8adaa46c8..c3396a9011 100644
--- a/dashboard-ui/scripts/site.js
+++ b/dashboard-ui/scripts/site.js
@@ -1789,6 +1789,7 @@ var AppInfo = {};
define("playlistEditor", [embyWebComponentsBowerPath + "/playlisteditor/playlisteditor"], returnFirstDependency);
define("recordingCreator", [embyWebComponentsBowerPath + "/recordingcreator/recordingcreator"], returnFirstDependency);
define("recordingEditor", [embyWebComponentsBowerPath + "/recordingcreator/recordingeditor"], returnFirstDependency);
+ define("subtitleEditor", [embyWebComponentsBowerPath + "/subtitleeditor/subtitleeditor"], returnFirstDependency);
define("mediaInfo", [embyWebComponentsBowerPath + "/mediainfo/mediainfo"], returnFirstDependency);
define("backdrop", [embyWebComponentsBowerPath + "/backdrop/backdrop"], returnFirstDependency);
define("fetchHelper", [embyWebComponentsBowerPath + "/fetchhelper"], returnFirstDependency);
@@ -1927,6 +1928,8 @@ var AppInfo = {};
define('native-promise-only', [bowerPath + '/native-promise-only/lib/npo.src']);
define("fingerprintjs2", [bowerPath + '/fingerprintjs2/fingerprint2'], returnFirstDependency);
define("clearButtonStyle", ['css!' + embyWebComponentsBowerPath + '/clearbutton']);
+ define("listView", [embyWebComponentsBowerPath + "/listview/listview"], returnFirstDependency);
+ define("listViewStyle", ['css!' + embyWebComponentsBowerPath + "/listview/listview"], returnFirstDependency);
if (Dashboard.isRunningInCordova()) {
define('registrationservices', ['cordova/registrationservices'], returnFirstDependency);