diff --git a/src/components/directorybrowser/directorybrowser.js b/src/components/directorybrowser/directorybrowser.js
index 2d53da67e..76c65dce9 100644
--- a/src/components/directorybrowser/directorybrowser.js
+++ b/src/components/directorybrowser/directorybrowser.js
@@ -243,70 +243,70 @@ import alert from '../alert';
}
}
- class directoryBrowser {
- constructor() {
- let currentDialog;
- this.show = options => {
- options = options || {};
- const fileOptions = {
- includeDirectories: true
- };
- if (options.includeDirectories != null) {
- fileOptions.includeDirectories = options.includeDirectories;
- }
- if (options.includeFiles != null) {
- fileOptions.includeFiles = options.includeFiles;
- }
- Promise.all([getSystemInfo(), getDefaultPath(options)]).then(
- responses => {
- const systemInfo = responses[0];
- const initialPath = responses[1];
- const dlg = dialogHelper.createDialog({
- size: 'small',
- removeOnClose: true,
- scrollY: false
- });
- dlg.classList.add('ui-body-a');
- dlg.classList.add('background-theme-a');
- dlg.classList.add('directoryPicker');
- dlg.classList.add('formDialog');
+ let systemInfo;
+ class DirectoryBrowser {
+ currentDialog;
+ constructor() {}
- let html = '';
- html += '
';
- html += getEditorHtml(options, systemInfo);
- dlg.innerHTML = html;
- initEditor(dlg, options, fileOptions);
- dlg.addEventListener('close', onDialogClosed);
- dialogHelper.open(dlg);
- dlg.querySelector('.btnCloseDialog').addEventListener('click', () => {
- dialogHelper.close(dlg);
- });
- currentDialog = dlg;
- dlg.querySelector('#txtDirectoryPickerPath').value = initialPath;
- const txtNetworkPath = dlg.querySelector('#txtNetworkPath');
- if (txtNetworkPath) {
- txtNetworkPath.value = options.networkSharePath || '';
- }
- if (!options.pathReadOnly) {
- refreshDirectoryBrowser(dlg, initialPath, fileOptions, true);
- }
+ show = options => {
+ options = options || {};
+ const fileOptions = {
+ includeDirectories: true
+ };
+ if (options.includeDirectories != null) {
+ fileOptions.includeDirectories = options.includeDirectories;
+ }
+ if (options.includeFiles != null) {
+ fileOptions.includeFiles = options.includeFiles;
+ }
+ Promise.all([getSystemInfo(), getDefaultPath(options)]).then(
+ responses => {
+ const systemInfo = responses[0];
+ const initialPath = responses[1];
+ const dlg = dialogHelper.createDialog({
+ size: 'small',
+ removeOnClose: true,
+ scrollY: false
+ });
+ dlg.classList.add('ui-body-a');
+ dlg.classList.add('background-theme-a');
+ dlg.classList.add('directoryPicker');
+ dlg.classList.add('formDialog');
+
+ let html = '';
+ html += '';
+ html += getEditorHtml(options, systemInfo);
+ dlg.innerHTML = html;
+ initEditor(dlg, options, fileOptions);
+ dlg.addEventListener('close', onDialogClosed);
+ dialogHelper.open(dlg);
+ dlg.querySelector('.btnCloseDialog').addEventListener('click', () => {
+ dialogHelper.close(dlg);
+ });
+ this.currentDialog = dlg;
+ dlg.querySelector('#txtDirectoryPickerPath').value = initialPath;
+ const txtNetworkPath = dlg.querySelector('#txtNetworkPath');
+ if (txtNetworkPath) {
+ txtNetworkPath.value = options.networkSharePath || '';
+ }
+ if (!options.pathReadOnly) {
+ refreshDirectoryBrowser(dlg, initialPath, fileOptions, true);
}
- );
- };
- this.close = () => {
- if (currentDialog) {
- dialogHelper.close(currentDialog);
}
- };
- }
+ );
+ };
+
+ close = () => {
+ if (this.currentDialog) {
+ dialogHelper.close(this.currentDialog);
+ }
+ };
}
- let systemInfo;
-
/* eslint-enable indent */
-export default directoryBrowser;
+export {DirectoryBrowser};
diff --git a/src/components/mediaLibraryCreator/mediaLibraryCreator.js b/src/components/mediaLibraryCreator/mediaLibraryCreator.js
index ffccd8e93..66827c4fb 100644
--- a/src/components/mediaLibraryCreator/mediaLibraryCreator.js
+++ b/src/components/mediaLibraryCreator/mediaLibraryCreator.js
@@ -102,8 +102,8 @@ import template from './mediaLibraryCreator.template.html';
function onAddButtonClick() {
const page = dom.parentWithClass(this, 'dlg-librarycreator');
- import('../directorybrowser/directorybrowser').then(({default: directoryBrowser}) => {
- const picker = new directoryBrowser();
+ import('../directorybrowser/directorybrowser').then((Module) => {
+ const picker = new Module.DirectoryBrowser();
picker.show({
enableNetworkSharePath: true,
callback: function (path, networkSharePath) {
diff --git a/src/components/mediaLibraryEditor/mediaLibraryEditor.js b/src/components/mediaLibraryEditor/mediaLibraryEditor.js
index cfd1955c7..496843226 100644
--- a/src/components/mediaLibraryEditor/mediaLibraryEditor.js
+++ b/src/components/mediaLibraryEditor/mediaLibraryEditor.js
@@ -162,8 +162,8 @@ import template from './mediaLibraryEditor.template.html';
}
function showDirectoryBrowser(context, originalPath, networkPath) {
- import('../directorybrowser/directorybrowser').then(({default: directoryBrowser}) => {
- const picker = new directoryBrowser();
+ import('../directorybrowser/directorybrowser').then((Module) => {
+ const picker = new Module.DirectoryBrowser();
picker.show({
enableNetworkSharePath: true,
pathReadOnly: originalPath != null,
diff --git a/src/components/tvproviders/xmltv.js b/src/components/tvproviders/xmltv.js
index 853f9975c..44d08a3d7 100644
--- a/src/components/tvproviders/xmltv.js
+++ b/src/components/tvproviders/xmltv.js
@@ -145,8 +145,8 @@ export default function (page, providerId, options) {
function onSelectPathClick(e) {
const page = $(e.target).parents('.xmltvForm')[0];
- import('../directorybrowser/directorybrowser').then(({default: directoryBrowser}) => {
- const picker = new directoryBrowser();
+ import('../directorybrowser/directorybrowser').then((Module) => {
+ const picker = new Module.DirectoryBrowser();
picker.show({
includeFiles: true,
callback: function (path) {
diff --git a/src/controllers/dashboard/encodingsettings.js b/src/controllers/dashboard/encodingsettings.js
index 88f1e975c..92080c877 100644
--- a/src/controllers/dashboard/encodingsettings.js
+++ b/src/controllers/dashboard/encodingsettings.js
@@ -217,8 +217,8 @@ import alert from '../../components/alert';
setDecodingCodecsVisible(page, this.value);
});
$('#btnSelectEncoderPath', page).on('click.selectDirectory', function () {
- import('../../components/directorybrowser/directorybrowser').then(({default: directoryBrowser}) => {
- const picker = new directoryBrowser();
+ import('../../components/directorybrowser/directorybrowser').then((Module) => {
+ const picker = new Module.DirectoryBrowser();
picker.show({
includeFiles: true,
callback: function (path) {
@@ -232,8 +232,8 @@ import alert from '../../components/alert';
});
});
$('#btnSelectTranscodingTempPath', page).on('click.selectDirectory', function () {
- import('../../components/directorybrowser/directorybrowser').then(({default: directoryBrowser}) => {
- const picker = new directoryBrowser();
+ import('../../components/directorybrowser/directorybrowser').then((Module) => {
+ const picker = new Module.DirectoryBrowser();
picker.show({
callback: function (path) {
if (path) {
@@ -249,8 +249,8 @@ import alert from '../../components/alert';
});
});
$('#btnSelectFallbackFontPath', page).on('click.selectDirectory', function () {
- import('../../components/directorybrowser/directorybrowser').then(({default: directoryBrowser}) => {
- const picker = new directoryBrowser();
+ import('../../components/directorybrowser/directorybrowser').then((Module) => {
+ const picker = new Module.DirectoryBrowser();
picker.show({
includeDirectories: true,
callback: function (path) {
diff --git a/src/controllers/dashboard/general.js b/src/controllers/dashboard/general.js
index d919dbf11..e70aa5f25 100644
--- a/src/controllers/dashboard/general.js
+++ b/src/controllers/dashboard/general.js
@@ -53,8 +53,8 @@ import alert from '../../components/alert';
const brandingConfigKey = 'branding';
export default function (view) {
$('#btnSelectCachePath', view).on('click.selectDirectory', function () {
- import('../../components/directorybrowser/directorybrowser').then(({default: directoryBrowser}) => {
- const picker = new directoryBrowser();
+ import('../../components/directorybrowser/directorybrowser').then((Module) => {
+ const picker = new Module.DirectoryBrowser();
picker.show({
callback: function (path) {
if (path) {
@@ -70,8 +70,8 @@ import alert from '../../components/alert';
});
});
$('#btnSelectMetadataPath', view).on('click.selectDirectory', function () {
- import('../../components/directorybrowser/directorybrowser').then(({default: directoryBrowser}) => {
- const picker = new directoryBrowser();
+ import('../../components/directorybrowser/directorybrowser').then((Module) => {
+ const picker = new Module.DirectoryBrowser();
picker.show({
path: $('#txtMetadataPath', view).val(),
networkSharePath: $('#txtMetadataNetworkPath', view).val(),
diff --git a/src/controllers/dashboard/networking.js b/src/controllers/dashboard/networking.js
index 5cfab5093..2c9f07dec 100644
--- a/src/controllers/dashboard/networking.js
+++ b/src/controllers/dashboard/networking.js
@@ -181,8 +181,8 @@ import alert from '../../components/alert';
}
});
view.querySelector('#btnSelectCertPath').addEventListener('click', function () {
- import('../../components/directorybrowser/directorybrowser').then(({default: directoryBrowser}) => {
- const picker = new directoryBrowser();
+ import('../../components/directorybrowser/directorybrowser').then((Module) => {
+ const picker = new Module.DirectoryBrowser();
picker.show({
includeFiles: true,
includeDirectories: true,
diff --git a/src/controllers/livetvsettings.js b/src/controllers/livetvsettings.js
index 4bc7d1128..e30ad8768 100644
--- a/src/controllers/livetvsettings.js
+++ b/src/controllers/livetvsettings.js
@@ -60,8 +60,8 @@ $(document).on('pageinit', '#liveTvSettingsPage', function () {
const page = this;
$('.liveTvSettingsForm').off('submit', onSubmit).on('submit', onSubmit);
$('#btnSelectRecordingPath', page).on('click.selectDirectory', function () {
- import('../components/directorybrowser/directorybrowser').then(({default: directoryBrowser}) => {
- const picker = new directoryBrowser();
+ import('../components/directorybrowser/directorybrowser').then((Module) => {
+ const picker = new Module.DirectoryBrowser();
picker.show({
callback: function (path) {
if (path) {
@@ -75,8 +75,8 @@ $(document).on('pageinit', '#liveTvSettingsPage', function () {
});
});
$('#btnSelectMovieRecordingPath', page).on('click.selectDirectory', function () {
- import('../components/directorybrowser/directorybrowser').then(({default: directoryBrowser}) => {
- const picker = new directoryBrowser();
+ import('../components/directorybrowser/directorybrowser').then((Module) => {
+ const picker = new Module.DirectoryBrowser();
picker.show({
callback: function (path) {
if (path) {
@@ -90,8 +90,8 @@ $(document).on('pageinit', '#liveTvSettingsPage', function () {
});
});
$('#btnSelectSeriesRecordingPath', page).on('click.selectDirectory', function () {
- import('../components/directorybrowser/directorybrowser').then(({default: directoryBrowser}) => {
- const picker = new directoryBrowser();
+ import('../components/directorybrowser/directorybrowser').then((Module) => {
+ const picker = new Module.DirectoryBrowser();
picker.show({
callback: function (path) {
if (path) {
@@ -105,8 +105,8 @@ $(document).on('pageinit', '#liveTvSettingsPage', function () {
});
});
$('#btnSelectPostProcessorPath', page).on('click.selectDirectory', function () {
- import('../components/directorybrowser/directorybrowser').then(({default: directoryBrowser}) => {
- const picker = new directoryBrowser();
+ import('../components/directorybrowser/directorybrowser').then((Module) => {
+ const picker = new Module.DirectoryBrowser();
picker.show({
includeFiles: true,
callback: function (path) {
diff --git a/src/controllers/livetvtuner.js b/src/controllers/livetvtuner.js
index 261fbae34..4f7adb529 100644
--- a/src/controllers/livetvtuner.js
+++ b/src/controllers/livetvtuner.js
@@ -212,8 +212,8 @@ export default function (view, params) {
});
});
view.querySelector('.btnSelectPath').addEventListener('click', function () {
- import('../components/directorybrowser/directorybrowser').then(({default: directorybrowser}) => {
- const picker = new directorybrowser();
+ import('../components/directorybrowser/directorybrowser').then((Module) => {
+ const picker = new Module.DirectoryBrowser();
picker.show({
includeFiles: true,
callback: function (path) {
diff --git a/src/scripts/clientUtils.js b/src/scripts/clientUtils.js
index 8fc02934d..93e5feb68 100644
--- a/src/scripts/clientUtils.js
+++ b/src/scripts/clientUtils.js
@@ -7,7 +7,7 @@ import baseConfirm from '../components/confirm/confirm';
import globalize from '../scripts/globalize';
import * as webSettings from './settings/webSettings';
import datetime from '../scripts/datetime';
-import directorybrowser from '../components/directorybrowser/directorybrowser';
+import { DirectoryBrowser } from '../components/directorybrowser/directorybrowser';
import dialogHelper from '../components/dialogHelper/dialogHelper';
import { Events } from 'jellyfin-apiclient';
@@ -217,7 +217,7 @@ const Dashboard = {
showLoadingMsg,
datetime,
Events,
- directorybrowser,
+ DirectoryBrowser,
dialogHelper
};