define(['dom', 'dialogHelper', 'loading', 'apphost', 'layoutManager', 'connectionManager', 'appRouter', 'globalize', 'emby-checkbox', 'emby-input', 'paper-icon-button-light', 'emby-select', 'material-icons', 'css!./../formdialog', 'emby-button', 'flexStyles'], function (dom, dialogHelper, loading, appHost, layoutManager, connectionManager, appRouter, globalize) { 'use strict'; var currentServerId; function onSubmit(e) { loading.show(); var panel = dom.parentWithClass(this, 'dialog'); var collectionId = panel.querySelector('#selectCollectionToAddTo').value; var apiClient = connectionManager.getApiClient(currentServerId); if (collectionId) { addToCollection(apiClient, panel, collectionId); } else { createCollection(apiClient, panel); } e.preventDefault(); return false; } function createCollection(apiClient, dlg) { var url = apiClient.getUrl('Collections', { Name: dlg.querySelector('#txtNewCollectionName').value, IsLocked: !dlg.querySelector('#chkEnableInternetMetadata').checked, Ids: dlg.querySelector('.fldSelectedItemIds').value || '' }); apiClient.ajax({ type: 'POST', url: url, dataType: 'json' }).then(function (result) { loading.hide(); var id = result.Id; dlg.submitted = true; dialogHelper.close(dlg); redirectToCollection(apiClient, id); }); } function redirectToCollection(apiClient, id) { appRouter.showItem(id, apiClient.serverId()); } function addToCollection(apiClient, dlg, id) { var url = apiClient.getUrl('Collections/' + id + '/Items', { Ids: dlg.querySelector('.fldSelectedItemIds').value || '' }); apiClient.ajax({ type: 'POST', url: url }).then(function () { loading.hide(); dlg.submitted = true; dialogHelper.close(dlg); require(['toast'], function (toast) { toast(globalize.translate('MessageItemsAdded')); }); }); } function triggerChange(select) { select.dispatchEvent(new CustomEvent('change', {})); } function populateCollections(panel) { loading.show(); var select = panel.querySelector('#selectCollectionToAddTo'); panel.querySelector('.newCollectionInfo').classList.add('hide'); var options = { Recursive: true, IncludeItemTypes: 'BoxSet', SortBy: 'SortName', EnableTotalRecordCount: false }; var apiClient = connectionManager.getApiClient(currentServerId); apiClient.getItems(apiClient.getCurrentUserId(), options).then(function (result) { var html = ''; html += ''; html += result.Items.map(function (i) { return ''; }); select.innerHTML = html; select.value = ''; triggerChange(select); loading.hide(); }); } function getEditorHtml() { var html = ''; html += '