Fix egw message in login page is not removable

This commit is contained in:
hadi 2023-05-25 16:34:28 +02:00
parent 7f8909ebd4
commit a8a5a14b12
2 changed files with 74 additions and 70 deletions

View File

@ -452,6 +452,8 @@ window.app = {classes: {}};
//
window.egw_LAB.wait = window.egw_ready.then;
// dispatch egw-is-created event in order to let login.js knows about egw object readiness
document.dispatchEvent(new Event('egw-is-created'));
/**
*
*/

View File

@ -20,86 +20,88 @@ catch (exception){
alert('Your browser is not up-to-date (JavaScript ES2020 compatible), you may experience some of the features not working.');
}
egw_ready.then(function()
{
jQuery(document).ready(function()
// listen to egw-is-created object to make sure egw object is ready
document.addEventListener('egw-is-created', function(){
egw_ready.then(function()
{
// lock the device orientation in portrait view
if (screen.orientation && typeof screen.orientation.lock == 'function') screen.orientation.lock('portrait');
jQuery('.close').click(function (){
setTimeout(function(){jQuery('.egw_message_wrapper').slideUp("slow");},100);
});
function do_social(_data)
jQuery(document).ready(function()
{
var social = jQuery(document.createElement('div'))
.attr({
id: "socialMedia",
class: "socialMedia"
})
.appendTo(jQuery('#socialBox'));
for(var i=0; i < _data.length; ++i)
// lock the device orientation in portrait view
if (screen.orientation && typeof screen.orientation.lock == 'function') screen.orientation.lock('portrait');
jQuery('.close').click(function (){
setTimeout(function(){jQuery('.egw_message_wrapper').slideUp("slow");},100);
});
function do_social(_data)
{
var data = _data[i];
var url = (data.lang ? data.lang[jQuery('meta[name="language"]').attr('content')] : null) || data.url;
jQuery(document.createElement('a')).attr({
href: url,
target: '_blank'
})
.appendTo(social)
.append(jQuery(document.createElement('img'))
.attr('src', data.svg));
var social = jQuery(document.createElement('div'))
.attr({
id: "socialMedia",
class: "socialMedia"
})
.appendTo(jQuery('#socialBox'));
for(var i=0; i < _data.length; ++i)
{
var data = _data[i];
var url = (data.lang ? data.lang[jQuery('meta[name="language"]').attr('content')] : null) || data.url;
jQuery(document.createElement('a')).attr({
href: url,
target: '_blank'
})
.appendTo(social)
.append(jQuery(document.createElement('img'))
.attr('src', data.svg));
}
}
}
do_social([
{ "svg": egw_webserverUrl+"/api/templates/default/images/logo164x164.svg", "url": "https://www.egroupware.org/en", "lang": { "de": "https://www.egroupware.org/de/" }},
{ "svg": egw_webserverUrl+"/api/templates/default/images/login_contact.svg", "url": "https://www.egroupware.org/en/contact.html", "lang": { "de": "https://www.egroupware.org/de/kontakt.html" }},
{ "svg": egw_webserverUrl+"/api/templates/default/images/login_facebook.svg", "url": "https://www.facebook.com/egroupware" },
{ "svg": egw_webserverUrl+"/api/templates/default/images/login_twitter.svg", "url": "https://twitter.com/egroupware" },
{ "svg": egw_webserverUrl+"/api/templates/default/images/login_discourse.svg", "url": "https://help.egroupware.org" },
{ "svg": egw_webserverUrl+"/api/templates/default/images/login_github.svg", "url": "https://github.com/EGroupware/egroupware" }
]);
do_social([
{ "svg": egw_webserverUrl+"/api/templates/default/images/logo164x164.svg", "url": "https://www.egroupware.org/en", "lang": { "de": "https://www.egroupware.org/de/" }},
{ "svg": egw_webserverUrl+"/api/templates/default/images/login_contact.svg", "url": "https://www.egroupware.org/en/contact.html", "lang": { "de": "https://www.egroupware.org/de/kontakt.html" }},
{ "svg": egw_webserverUrl+"/api/templates/default/images/login_facebook.svg", "url": "https://www.facebook.com/egroupware" },
{ "svg": egw_webserverUrl+"/api/templates/default/images/login_twitter.svg", "url": "https://twitter.com/egroupware" },
{ "svg": egw_webserverUrl+"/api/templates/default/images/login_discourse.svg", "url": "https://help.egroupware.org" },
{ "svg": egw_webserverUrl+"/api/templates/default/images/login_github.svg", "url": "https://github.com/EGroupware/egroupware" }
]);
// automatic submit of SAML IdP selection
jQuery('select[name="auth=saml"]').on('change', function() {
if (this.value) {
// automatic submit of SAML IdP selection
jQuery('select[name="auth=saml"]').on('change', function() {
if (this.value) {
this.form.method = 'get';
jQuery(this.form).append('<input type="hidden" name="auth" value="saml"/>');
jQuery(this.form).append('<input type="hidden" name="idp" value="'+this.value+'"/>');
this.form.submit();
}
});
// or optional SAML login with a button for a single IdP
jQuery('input[type="submit"][name="auth=saml"]').on('click', function(){
this.form.method = 'get';
jQuery(this.form).append('<input type="hidden" name="auth" value="saml"/>');
jQuery(this.form).append('<input type="hidden" name="idp" value="'+this.value+'"/>');
this.form.submit();
}
});
// or optional SAML login with a button for a single IdP
jQuery('input[type="submit"][name="auth=saml"]').on('click', function(){
this.form.method = 'get';
jQuery(this.form).append('<input type="hidden" name="auth" value="saml"/>');
});
// prefer [Login] button below over maybe existing SAML login button above
jQuery('input').on('keypress', function(e)
{
if (e.which == 13)
});
// prefer [Login] button below over maybe existing SAML login button above
jQuery('input').on('keypress', function(e)
{
this.form.submit();
return false;
}
});
//cleanup darkmode session value
egw.setSessionItem('api', 'darkmode','');
if (e.which == 13)
{
this.form.submit();
return false;
}
});
//cleanup darkmode session value
egw.setSessionItem('api', 'darkmode','');
jQuery(".tooltip", "#login_footer").on('click', function(e){
if (e.target == this) window.open(this.getElementsByTagName('a')[0].href, 'blank');
jQuery(".tooltip", "#login_footer").on('click', function(e){
if (e.target == this) window.open(this.getElementsByTagName('a')[0].href, 'blank');
});
});
});
// register service worker
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('./service-worker.js', {scope:egw_webserverUrl+'/'})
.then(function(registration) {
console.log('Registration successful, scope is:', registration.scope);
})
.catch(function(error) {
console.log('Service worker registration failed, error:', error);
});
}
});
// register service worker
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('./service-worker.js', {scope:egw_webserverUrl+'/'})
.then(function(registration) {
console.log('Registration successful, scope is:', registration.scope);
})
.catch(function(error) {
console.log('Service worker registration failed, error:', error);
});
}