2016-09-26 14:59:18 -04:00
|
|
|
|
define(['dialogHelper', 'jQuery', 'emby-input', 'emby-button', 'emby-checkbox', 'paper-icon-button-light', 'formDialogStyle'], function (dialogHelper, $) {
|
2016-10-23 01:11:46 -04:00
|
|
|
|
'use strict';
|
2016-02-08 23:46:25 -05:00
|
|
|
|
|
|
|
|
|
function renderLibrarySharingList(context, result) {
|
|
|
|
|
|
|
|
|
|
var folderHtml = '';
|
|
|
|
|
|
|
|
|
|
folderHtml += result.Items.map(function (i) {
|
|
|
|
|
|
|
|
|
|
var currentHtml = '';
|
|
|
|
|
|
|
|
|
|
var isChecked = true;
|
|
|
|
|
var checkedHtml = isChecked ? ' checked="checked"' : '';
|
|
|
|
|
|
2016-09-11 03:33:53 -04:00
|
|
|
|
currentHtml += '<label><input is="emby-checkbox" class="chkShareFolder" type="checkbox" data-folderid="' + i.Id + '"' + checkedHtml + '/><span>' + i.Name + '</span></label>';
|
2016-02-08 23:46:25 -05:00
|
|
|
|
return currentHtml;
|
|
|
|
|
|
|
|
|
|
}).join('');
|
|
|
|
|
|
2016-02-19 00:03:00 -05:00
|
|
|
|
context.querySelector('.librarySharingList').innerHTML = folderHtml;
|
2016-02-08 23:46:25 -05:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function inviteUser(dlg) {
|
|
|
|
|
|
|
|
|
|
Dashboard.showLoadingMsg();
|
|
|
|
|
|
2016-12-27 02:22:44 -05:00
|
|
|
|
var shareExcludes = $(".chkShareFolder", dlg).get().filter(function (i) {
|
2016-02-08 23:46:25 -05:00
|
|
|
|
|
2016-12-27 02:22:44 -05:00
|
|
|
|
return i.checked;
|
2016-02-19 00:03:00 -05:00
|
|
|
|
|
2016-12-27 02:22:44 -05:00
|
|
|
|
}).map(function (i) {
|
2016-02-19 00:03:00 -05:00
|
|
|
|
|
2016-12-27 02:22:44 -05:00
|
|
|
|
return i.getAttribute('data-folderid');
|
|
|
|
|
});
|
2016-02-08 23:46:25 -05:00
|
|
|
|
|
2016-12-27 02:22:44 -05:00
|
|
|
|
require(['connectHelper'], function (connectHelper) {
|
2016-02-08 23:46:25 -05:00
|
|
|
|
|
2016-12-27 02:22:44 -05:00
|
|
|
|
connectHelper.inviteGuest({
|
|
|
|
|
apiClient: ApiClient,
|
|
|
|
|
guestOptions: {
|
2016-02-08 23:46:25 -05:00
|
|
|
|
|
2016-02-23 13:59:13 -05:00
|
|
|
|
ConnectUsername: dlg.querySelector('#txtConnectUsername').value,
|
2016-02-08 23:46:25 -05:00
|
|
|
|
EnabledLibraries: shareExcludes.join(','),
|
|
|
|
|
SendingUserId: Dashboard.getCurrentUserId(),
|
|
|
|
|
EnableLiveTv: false
|
|
|
|
|
}
|
2016-12-27 02:22:44 -05:00
|
|
|
|
}).then(function() {
|
|
|
|
|
|
2016-02-08 23:46:25 -05:00
|
|
|
|
dlg.submitted = true;
|
2016-03-23 15:03:17 -04:00
|
|
|
|
dialogHelper.close(dlg);
|
2016-04-10 17:11:06 -04:00
|
|
|
|
});
|
2016-02-08 23:46:25 -05:00
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
show: function () {
|
|
|
|
|
return new Promise(function (resolve, reject) {
|
|
|
|
|
|
|
|
|
|
var xhr = new XMLHttpRequest();
|
|
|
|
|
xhr.open('GET', 'components/guestinviter/guestinviter.template.html', true);
|
|
|
|
|
|
|
|
|
|
xhr.onload = function (e) {
|
|
|
|
|
|
|
|
|
|
var template = this.response;
|
2016-03-23 15:03:17 -04:00
|
|
|
|
var dlg = dialogHelper.createDialog({
|
2016-02-08 23:46:25 -05:00
|
|
|
|
removeOnClose: true,
|
|
|
|
|
size: 'small'
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
dlg.classList.add('ui-body-a');
|
|
|
|
|
dlg.classList.add('background-theme-a');
|
|
|
|
|
|
|
|
|
|
dlg.classList.add('formDialog');
|
|
|
|
|
|
|
|
|
|
var html = '';
|
|
|
|
|
|
2016-03-05 14:07:58 -05:00
|
|
|
|
html += Globalize.translateDocument(template);
|
2016-02-08 23:46:25 -05:00
|
|
|
|
|
|
|
|
|
dlg.innerHTML = html;
|
|
|
|
|
|
2016-03-23 15:03:17 -04:00
|
|
|
|
dialogHelper.open(dlg);
|
2016-02-08 23:46:25 -05:00
|
|
|
|
|
2016-03-22 13:46:57 -04:00
|
|
|
|
dlg.addEventListener('close', function () {
|
2016-02-08 23:46:25 -05:00
|
|
|
|
|
|
|
|
|
if (dlg.submitted) {
|
|
|
|
|
resolve();
|
|
|
|
|
} else {
|
|
|
|
|
reject();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
dlg.querySelector('.btnCancel').addEventListener('click', function (e) {
|
|
|
|
|
|
2016-03-23 15:03:17 -04:00
|
|
|
|
dialogHelper.close(dlg);
|
2016-02-08 23:46:25 -05:00
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
dlg.querySelector('form').addEventListener('submit', function (e) {
|
|
|
|
|
|
|
|
|
|
inviteUser(dlg);
|
|
|
|
|
|
|
|
|
|
e.preventDefault();
|
|
|
|
|
return false;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
ApiClient.getJSON(ApiClient.getUrl("Library/MediaFolders", { IsHidden: false })).then(function (result) {
|
|
|
|
|
|
|
|
|
|
renderLibrarySharingList(dlg, result);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
xhr.send();
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
});
|