';
if (!options.pathReadOnly) {
- var instruction = options.instruction ? options.instruction + '
' : '';
+ const instruction = options.instruction ? `${options.instruction}
` : '';
html += '
';
html += instruction;
- if ('bsd' === systemInfo.OperatingSystem.toLowerCase()) {
+ if (systemInfo.OperatingSystem.toLowerCase() === 'bsd') {
html += '
';
html += '
';
html += globalize.translate('MessageDirectoryPickerBSDInstruction');
html += '
';
- } else if ('linux' === systemInfo.OperatingSystem.toLowerCase()) {
+ } else if (systemInfo.OperatingSystem.toLowerCase() === 'linux') {
html += '
';
html += '
';
html += globalize.translate('MessageDirectoryPickerLinuxInstruction');
@@ -105,17 +115,17 @@ define(['loading', 'dialogHelper', 'dom', 'globalize', 'listViewStyle', 'emby-in
html += '
';
html += '
';
@@ -147,7 +157,7 @@ define(['loading', 'dialogHelper', 'dom', 'globalize', 'listViewStyle', 'emby-in
}
function alertTextWithOptions(options) {
- require(['alert'], function(alert) {
+ require(['alert'], alert => {
alert(options);
});
}
@@ -160,7 +170,7 @@ define(['loading', 'dialogHelper', 'dom', 'globalize', 'listViewStyle', 'emby-in
ValidateWriteable: validateWriteable,
Path: path
}
- }).catch(function(response) {
+ }).catch(response => {
if (response) {
if (response.status === 404) {
alertText(globalize.translate('PathNotFound'));
@@ -180,10 +190,10 @@ define(['loading', 'dialogHelper', 'dom', 'globalize', 'listViewStyle', 'emby-in
}
function initEditor(content, options, fileOptions) {
- content.addEventListener('click', function(e) {
- var lnkPath = dom.parentWithClass(e.target, 'lnkPath');
+ content.addEventListener('click', e => {
+ const lnkPath = dom.parentWithClass(e.target, 'lnkPath');
if (lnkPath) {
- var path = lnkPath.getAttribute('data-path');
+ const path = lnkPath.getAttribute('data-path');
if (lnkPath.classList.contains('lnkFile')) {
content.querySelector('#txtDirectoryPickerPath').value = path;
} else {
@@ -192,25 +202,25 @@ define(['loading', 'dialogHelper', 'dom', 'globalize', 'listViewStyle', 'emby-in
}
});
- content.addEventListener('click', function(e) {
+ content.addEventListener('click', e => {
if (dom.parentWithClass(e.target, 'btnRefreshDirectories')) {
- var path = content.querySelector('#txtDirectoryPickerPath').value;
+ const path = content.querySelector('#txtDirectoryPickerPath').value;
refreshDirectoryBrowser(content, path, fileOptions);
}
});
- content.addEventListener('change', function(e) {
- var txtDirectoryPickerPath = dom.parentWithTag(e.target, 'INPUT');
- if (txtDirectoryPickerPath && 'txtDirectoryPickerPath' === txtDirectoryPickerPath.id) {
+ content.addEventListener('change', e => {
+ const txtDirectoryPickerPath = dom.parentWithTag(e.target, 'INPUT');
+ if (txtDirectoryPickerPath && txtDirectoryPickerPath.id === 'txtDirectoryPickerPath') {
refreshDirectoryBrowser(content, txtDirectoryPickerPath.value, fileOptions);
}
});
content.querySelector('form').addEventListener('submit', function(e) {
if (options.callback) {
- var networkSharePath = this.querySelector('#txtNetworkPath');
+ let networkSharePath = this.querySelector('#txtNetworkPath');
networkSharePath = networkSharePath ? networkSharePath.value : null;
- var path = this.querySelector('#txtDirectoryPickerPath').value;
+ const path = this.querySelector('#txtDirectoryPickerPath').value;
validatePath(path, options.validateWriteable, ApiClient).then(options.callback(path, networkSharePath));
}
e.preventDefault();
@@ -224,77 +234,79 @@ define(['loading', 'dialogHelper', 'dom', 'globalize', 'listViewStyle', 'emby-in
return Promise.resolve(options.path);
} else {
return ApiClient.getJSON(ApiClient.getUrl('Environment/DefaultDirectoryBrowser')).then(
- function(result) {
+ result => {
return result.Path || '';
- }, function() {
+ }, () => {
return '';
}
);
}
}
- function directoryBrowser() {
- var currentDialog;
- var self = this;
- self.show = function(options) {
- options = options || {};
- var 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(
- function(responses) {
- var systemInfo = responses[0];
- var initialPath = responses[1];
- var 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');
-
- var 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', function() {
- dialogHelper.close(dlg);
- });
- currentDialog = dlg;
- dlg.querySelector('#txtDirectoryPickerPath').value = initialPath;
- var txtNetworkPath = dlg.querySelector('#txtNetworkPath');
- if (txtNetworkPath) {
- txtNetworkPath.value = options.networkSharePath || '';
- }
- if (!options.pathReadOnly) {
- refreshDirectoryBrowser(dlg, initialPath, fileOptions, true);
- }
+ class directoryBrowser {
+ constructor() {
+ let currentDialog;
+ this.show = options => {
+ options = options || {};
+ const fileOptions = {
+ includeDirectories: true
+ };
+ if (options.includeDirectories != null) {
+ fileOptions.includeDirectories = options.includeDirectories;
}
- );
- };
- self.close = function() {
- if (currentDialog) {
- dialogHelper.close(currentDialog);
- }
- };
+ 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);
+ });
+ 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);
+ }
+ };
+ }
}
- var systemInfo;
- return directoryBrowser;
-});
+ let systemInfo;
+
+/* eslint-enable indent */
+export default directoryBrowser;
diff --git a/src/components/tvproviders/xmltv.js b/src/components/tvproviders/xmltv.js
index 4c39b14430..054c5b640d 100644
--- a/src/components/tvproviders/xmltv.js
+++ b/src/components/tvproviders/xmltv.js
@@ -139,7 +139,7 @@ define(['jQuery', 'loading', 'globalize', 'emby-checkbox', 'emby-input', 'listVi
var page = $(e.target).parents('.xmltvForm')[0];
require(['directorybrowser'], function (directoryBrowser) {
- var picker = new directoryBrowser();
+ var picker = new directoryBrowser.default();
picker.show({
includeFiles: true,
callback: function (path) {
diff --git a/src/controllers/dashboard/encodingsettings.js b/src/controllers/dashboard/encodingsettings.js
index 0f54f9d70f..b8cdd66651 100644
--- a/src/controllers/dashboard/encodingsettings.js
+++ b/src/controllers/dashboard/encodingsettings.js
@@ -151,7 +151,7 @@ define(['jQuery', 'loading', 'globalize', 'dom', 'libraryMenu'], function ($, lo
});
$('#btnSelectEncoderPath', page).on('click.selectDirectory', function () {
require(['directorybrowser'], function (directoryBrowser) {
- var picker = new directoryBrowser();
+ var picker = new directoryBrowser.default();
picker.show({
includeFiles: true,
callback: function (path) {
@@ -166,7 +166,7 @@ define(['jQuery', 'loading', 'globalize', 'dom', 'libraryMenu'], function ($, lo
});
$('#btnSelectTranscodingTempPath', page).on('click.selectDirectory', function () {
require(['directorybrowser'], function (directoryBrowser) {
- var picker = new directoryBrowser();
+ var picker = new directoryBrowser.default();
picker.show({
callback: function (path) {
if (path) {
diff --git a/src/controllers/dashboard/general.js b/src/controllers/dashboard/general.js
index f215ace28b..eb0f7edfa4 100644
--- a/src/controllers/dashboard/general.js
+++ b/src/controllers/dashboard/general.js
@@ -59,7 +59,7 @@ define(['jQuery', 'loading', 'globalize', 'emby-checkbox', 'emby-textarea', 'emb
return function (view, params) {
$('#btnSelectCachePath', view).on('click.selectDirectory', function () {
require(['directorybrowser'], function (directoryBrowser) {
- var picker = new directoryBrowser();
+ var picker = new directoryBrowser.default();
picker.show({
callback: function (path) {
if (path) {
@@ -76,7 +76,7 @@ define(['jQuery', 'loading', 'globalize', 'emby-checkbox', 'emby-textarea', 'emb
});
$('#btnSelectMetadataPath', view).on('click.selectDirectory', function () {
require(['directorybrowser'], function (directoryBrowser) {
- var picker = new directoryBrowser();
+ var picker = new directoryBrowser.default();
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 4ddde7f24c..33fc75b484 100644
--- a/src/controllers/dashboard/networking.js
+++ b/src/controllers/dashboard/networking.js
@@ -136,7 +136,7 @@ define(['loading', 'libraryMenu', 'globalize', 'emby-checkbox', 'emby-select'],
});
view.querySelector('#btnSelectCertPath').addEventListener('click', function () {
require(['directorybrowser'], function (directoryBrowser) {
- var picker = new directoryBrowser();
+ var picker = new directoryBrowser.default();
picker.show({
includeFiles: true,
includeDirectories: true,
diff --git a/src/controllers/livetvsettings.js b/src/controllers/livetvsettings.js
index 4c5fdc60de..715eb06214 100644
--- a/src/controllers/livetvsettings.js
+++ b/src/controllers/livetvsettings.js
@@ -59,7 +59,7 @@ define(['jQuery', 'loading', 'globalize', 'emby-button'], function ($, loading,
$('.liveTvSettingsForm').off('submit', onSubmit).on('submit', onSubmit);
$('#btnSelectRecordingPath', page).on('click.selectDirectory', function () {
require(['directorybrowser'], function (directoryBrowser) {
- var picker = new directoryBrowser();
+ var picker = new directoryBrowser.default();
picker.show({
callback: function (path) {
if (path) {
@@ -74,7 +74,7 @@ define(['jQuery', 'loading', 'globalize', 'emby-button'], function ($, loading,
});
$('#btnSelectMovieRecordingPath', page).on('click.selectDirectory', function () {
require(['directorybrowser'], function (directoryBrowser) {
- var picker = new directoryBrowser();
+ var picker = new directoryBrowser.default();
picker.show({
callback: function (path) {
if (path) {
@@ -89,7 +89,7 @@ define(['jQuery', 'loading', 'globalize', 'emby-button'], function ($, loading,
});
$('#btnSelectSeriesRecordingPath', page).on('click.selectDirectory', function () {
require(['directorybrowser'], function (directoryBrowser) {
- var picker = new directoryBrowser();
+ var picker = new directoryBrowser.default();
picker.show({
callback: function (path) {
if (path) {
@@ -104,7 +104,7 @@ define(['jQuery', 'loading', 'globalize', 'emby-button'], function ($, loading,
});
$('#btnSelectPostProcessorPath', page).on('click.selectDirectory', function () {
require(['directorybrowser'], function (directoryBrowser) {
- var picker = new directoryBrowser();
+ var picker = new directoryBrowser.default();
picker.show({
includeFiles: true,
callback: function (path) {
diff --git a/src/controllers/livetvtuner.js b/src/controllers/livetvtuner.js
index d7a4d92db2..92f705c02f 100644
--- a/src/controllers/livetvtuner.js
+++ b/src/controllers/livetvtuner.js
@@ -215,7 +215,7 @@ define(['globalize', 'loading', 'libraryMenu', 'dom', 'emby-input', 'emby-button
});
view.querySelector('.btnSelectPath').addEventListener('click', function () {
require(['directorybrowser'], function (directoryBrowser) {
- var picker = new directoryBrowser();
+ var picker = new directoryBrowser.default();
picker.show({
includeFiles: true,
callback: function (path) {