define(['dialogHelper', 'jQuery', 'listViewStyle', 'emby-input', 'emby-button', 'paper-icon-button-light', 'css!./directorybrowser', 'formDialogStyle'], function (dialogHelper, $) { var systemInfo; function getSystemInfo() { var deferred = jQuery.Deferred(); if (systemInfo) { deferred.resolveWith(null, [systemInfo]); } else { ApiClient.getPublicSystemInfo().then(function (info) { systemInfo = info; deferred.resolveWith(null, [systemInfo]); }); } return deferred.promise(); } function onDialogClosed() { Dashboard.hideLoadingMsg(); } function refreshDirectoryBrowser(page, path, fileOptions) { if (path && typeof (path) !== 'string') { throw new Error('invalid path'); } Dashboard.showLoadingMsg(); if (path) { $('.networkHeadline').hide(); } else { $('.networkHeadline').show(); } var promises = []; if (path === "Network") { promises.push(ApiClient.getNetworkDevices()); } else if (path) { promises.push(ApiClient.getDirectoryContents(path, fileOptions)); promises.push(ApiClient.getParentPath(path)); } else { promises.push(ApiClient.getDrives()); } Promise.all(promises).then(function (responses) { var folders = responses[0]; var parentPath = responses[1] || ''; $('#txtDirectoryPickerPath', page).val(path || ""); var html = ''; if (path) { html += getItem("lnkPath lnkDirectory", "", parentPath, '...'); } for (var i = 0, length = folders.length; i < length; i++) { var folder = folders[i]; var cssClass = folder.Type == "File" ? "lnkPath lnkFile" : "lnkPath lnkDirectory"; html += getItem(cssClass, folder.Type, folder.Path, folder.Name); } if (!path) { html += getItem("lnkPath lnkDirectory", "", "Network", Globalize.translate('ButtonNetwork')); } $('.results', page).html(html); Dashboard.hideLoadingMsg(); }, function () { $('#txtDirectoryPickerPath', page).val(""); $('.results', page).html(''); Dashboard.hideLoadingMsg(); }); } function getItem(cssClass, type, path, name) { var html = ''; html += '
';
html += instruction;
html += Globalize.translate('MessageDirectoryPickerInstruction')
.replace('{0}', '\\\\server')
.replace('{1}', '\\\\192.168.1.101');
if (systemInfo.OperatingSystem.toLowerCase() == 'bsd') {
html += '
';
html += '
';
html += Globalize.translate('MessageDirectoryPickerBSDInstruction');
html += '
';
html += '' + Globalize.translate('ButtonMoreInformation') + '';
}
else if (systemInfo.OperatingSystem.toLowerCase() == 'linux') {
html += '
';
html += '
';
html += Globalize.translate('MessageDirectoryPickerLinuxInstruction');
html += '
';
}
html += '