1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00
jellyfin-web/dashboard-ui/components/guestinviter/guestinviter.js
2018-10-23 01:05:09 +03:00

58 lines
No EOL
2.8 KiB
JavaScript

define(["dialogHelper", "loading", "require", "emby-input", "emby-button", "emby-checkbox", "paper-icon-button-light", "formDialogStyle", "emby-linkbutton"], function(dialogHelper, loading, require) {
"use strict";
function renderLibrarySharingList(context, result) {
var folderHtml = "";
folderHtml += result.Items.map(function(i) {
var currentHtml = "";
return currentHtml += '<label><input is="emby-checkbox" class="chkShareFolder" type="checkbox" data-folderid="' + i.Id + '" checked="checked"/><span>' + i.Name + "</span></label>"
}).join(""), context.querySelector(".librarySharingList").innerHTML = folderHtml
}
function inviteUser(dlg) {
loading.show();
var shareExcludes = Array.prototype.filter.call(dlg.querySelectorAll(".chkShareFolder"), function(i) {
return i.checked
}).map(function(i) {
return i.getAttribute("data-folderid")
});
require(["connectHelper"], function(connectHelper) {
connectHelper.inviteGuest({
apiClient: ApiClient,
guestOptions: {
ConnectUsername: dlg.querySelector("#txtConnectUsername").value,
EnabledLibraries: shareExcludes.join(","),
SendingUserId: Dashboard.getCurrentUserId(),
EnableLiveTv: !1
}
}).then(function() {
loading.hide(), dlg.submitted = !0, dialogHelper.close(dlg)
})
})
}
return {
show: function() {
return new Promise(function(resolve, reject) {
require(["text!./guestinviter.template.html"], function(template) {
var dlg = dialogHelper.createDialog({
removeOnClose: !0,
size: "small"
});
dlg.classList.add("ui-body-a"), dlg.classList.add("background-theme-a"), dlg.classList.add("formDialog");
var html = "";
html += Globalize.translateDocument(template), dlg.innerHTML = html, dialogHelper.open(dlg), dlg.addEventListener("close", function() {
dlg.submitted ? resolve() : reject()
}), dlg.querySelector(".btnCancel").addEventListener("click", function(e) {
dialogHelper.close(dlg)
}), dlg.querySelector("form").addEventListener("submit", function(e) {
return inviteUser(dlg), e.preventDefault(), !1
}), ApiClient.getJSON(ApiClient.getUrl("Library/MediaFolders", {
IsHidden: !1
})).then(function(result) {
renderLibrarySharingList(dlg, result)
})
})
})
}
}
});