define(["loading", "dialogHelper", "dom", "jQuery", "components/libraryoptionseditor/libraryoptionseditor", "emby-toggle", "emby-input", "emby-select", "paper-icon-button-light", "listViewStyle", "formDialogStyle", "emby-button", "flexStyles"], function(loading, dialogHelper, dom, $, libraryoptionseditor) { "use strict"; function onAddLibrary() { if (isCreating) return false; if (pathInfos.length == 0) { require(["alert"], function(alert) { alert({ text: Globalize.translate("PleaseAddAtLeastOneFolder"), type: "error" }) }); return false; } isCreating = true; loading.show(); var dlg = dom.parentWithClass(this, "dlg-librarycreator"); var name = $("#txtValue", dlg).val(); var type = $("#selectCollectionType", dlg).val(); if (type == "mixed") type = null; var libraryOptions = libraryoptionseditor.getLibraryOptions(dlg.querySelector(".libraryOptions")); libraryOptions.PathInfos = pathInfos; ApiClient.addVirtualFolder(name, type, currentOptions.refresh, libraryOptions).then(function() { hasChanges = true; isCreating = false; loading.hide(); dialogHelper.close(dlg); }, function() { require(["toast"], function(toast) { toast(Globalize.translate("ErrorAddingMediaPathToVirtualFolder")); }); isCreating = false; loading.hide(); }); return false; } function getCollectionTypeOptionsHtml(collectionTypeOptions) { return collectionTypeOptions.map(function(i) { return '"; }).join(""); } function initEditor(page, collectionTypeOptions) { $("#selectCollectionType", page).html(getCollectionTypeOptionsHtml(collectionTypeOptions)).val("").on("change", function() { var value = this.value; var dlg = $(this).parents(".dialog")[0]; libraryoptionseditor.setContentType(dlg.querySelector(".libraryOptions"), value == "mixed" ? "" : value); if (value) { dlg.querySelector(".libraryOptions").classList.remove("hide"); } else { dlg.querySelector(".libraryOptions").classList.add("hide"); } if (value != "mixed") { var index = this.selectedIndex; if (index != -1) { var name = this.options[index].innerHTML.replace("*", "").replace("&", "&"); $("#txtValue", dlg).val(name); var folderOption = collectionTypeOptions.filter(function(i) { return i.value == value })[0]; $(".collectionTypeFieldDescription", dlg).html(folderOption.message || "") } } }); page.querySelector(".btnAddFolder").addEventListener("click", onAddButtonClick); page.querySelector(".btnSubmit").addEventListener("click", onAddLibrary); page.querySelector(".folderList").addEventListener("click", onRemoveClick); page.querySelector(".chkAdvanced").addEventListener("change", onToggleAdvancedChange); } function onToggleAdvancedChange() { var dlg = dom.parentWithClass(this, "dlg-librarycreator"); libraryoptionseditor.setAdvancedVisible(dlg.querySelector(".libraryOptions"), this.checked); } function onAddButtonClick() { var page = dom.parentWithClass(this, "dlg-librarycreator"); require(["directorybrowser"], function(directoryBrowser) { var picker = new directoryBrowser; picker.show({ enableNetworkSharePath: true, callback: function(path, networkSharePath) { path && addMediaLocation(page, path, networkSharePath); picker.close(); } }) }) } function getFolderHtml(pathInfo, index) { var html = ""; return html += '