1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

continue jquery removal

This commit is contained in:
Luke Pulverenti 2016-06-18 13:26:42 -04:00
parent 2dba35a875
commit 5b0ece51d2
15 changed files with 692 additions and 595 deletions

View file

@ -1,10 +1,11 @@
define(['jQuery'], function ($) {
define([], function () {
var LoginPage = {
showVisualForm: function (page) {
$('.visualLoginForm', page).show();
$('.manualLoginForm', page).hide();
page.querySelector('.visualLoginForm').classList.remove('hide');
page.querySelector('.manualLoginForm').classList.add('hide');
},
getLastSeenText: function (lastActivityDate) {
@ -41,9 +42,8 @@
}, function (response) {
$('#pw', page).val('');
$('#txtManualName', page).val('');
$('#txtManualPassword', page).val('');
page.querySelector('#txtManualName').value = '';
page.querySelector('#txtManualPassword').value = '';
Dashboard.hideLoadingMsg();
@ -80,31 +80,21 @@
}
}
function onManualSubmit() {
var page = $(this).parents('.page');
getApiClient().then(function (apiClient) {
LoginPage.authenticateUserByName(page, apiClient, $('#txtManualName', page).val(), $('#txtManualPassword', page).val());
});
// Disable default form submission
return false;
}
function showManualForm(context, showCancel, focusPassword) {
$('.visualLoginForm', context).hide();
$('.manualLoginForm', context).show();
context.querySelector('.manualLoginForm').classList.remove('hide');
context.querySelector('.visualLoginForm').classList.add('hide');
if (focusPassword) {
$('#txtManualPassword', context).focus();
context.querySelector('#txtManualPassword').focus();
} else {
$('#txtManualName', context).focus();
context.querySelector('#txtManualName').focus();
}
if (showCancel) {
$('.btnCancel', context).show();
context.querySelector('.btnCancel').classList.remove('hide');
} else {
$('.btnCancel', context).hide();
context.querySelector('.btnCancel').classList.add('hide');
}
}
@ -163,32 +153,59 @@
html += '</div>';
}
var elem = $('#divUsers', context).html(html);
context.querySelector('#divUsers').innerHTML = html;
}
$('a', elem).on('click', function () {
function parentWithClass(elem, className) {
var id = this.getAttribute('data-userid');
var name = this.getAttribute('data-username');
var haspw = this.getAttribute('data-haspw');
while (!elem.classList || !elem.classList.contains(className)) {
elem = elem.parentNode;
if (id == 'manual') {
showManualForm(context, true);
if (!elem) {
return null;
}
else if (haspw == 'false') {
LoginPage.authenticateUserByName(context, apiClient, name, '');
} else {
$('#txtManualName', context).val(name);
$('#txtManualPassword', context).val('');
showManualForm(context, true, true);
}
});
}
return elem;
}
return function (view, params) {
var self = this;
$('.manualLoginForm', view).on('submit', onManualSubmit);
view.querySelector('#divUsers').addEventListener('click', function(e) {
var cardContent = parentWithClass(e.target, 'cardContent');
if (cardContent) {
var context = view;
var id = cardContent.getAttribute('data-userid');
var name = cardContent.getAttribute('data-username');
var haspw = cardContent.getAttribute('data-haspw');
if (id == 'manual') {
showManualForm(context, true);
}
else if (haspw == 'false') {
LoginPage.authenticateUserByName(context, getApiClient(), name, '');
} else {
context.querySelector('#txtManualName').value = name;
context.querySelector('#txtManualPassword').value = '';
showManualForm(context, true, true);
}
}
});
view.querySelector('.manualLoginForm').addEventListener('submit', function (e) {
getApiClient().then(function (apiClient) {
LoginPage.authenticateUserByName(view, apiClient, view.querySelector('#txtManualName').value, view.querySelector('#txtManualPassword').value);
});
e.preventDefault();
// Disable default form submission
return false;
});
view.querySelector('.btnForgotPassword').addEventListener('click', function () {
Dashboard.navigate('forgotpassword.html');
@ -224,14 +241,14 @@
apiClient.getJSON(apiClient.getUrl('Branding/Configuration')).then(function (options) {
$('.disclaimer', view).html(options.LoginDisclaimer || '');
view.querySelector('.disclaimer').innerHTML = options.LoginDisclaimer || '';
});
});
if (Dashboard.isConnectMode()) {
$('.connectButtons', view).show();
view.querySelector('.connectButtons').classList.remove('hide');
} else {
$('.connectButtons', view).hide();
view.querySelector('.connectButtons').classList.add('hide');
}
});
};