mirror of
https://github.com/YunoHost/SSOwat.git
synced 2024-09-03 20:06:27 +02:00
71 lines
2.3 KiB
JavaScript
71 lines
2.3 KiB
JavaScript
|
|
// scripts loader
|
|
function loadScript(url, callback) {
|
|
var script = document.createElement('script');
|
|
script.type = 'text/javascript';
|
|
script.src = url;
|
|
// There are several events for cross browser compatibility.
|
|
script.onreadystatechange = callback;
|
|
script.onload = callback;
|
|
// Fire the loading
|
|
document.head.appendChild(script);
|
|
}
|
|
|
|
// handle app links so they work both in plain info page and in the info iframe called from ynhpanel.js
|
|
function appClick (evnt, url) {
|
|
|
|
// if asked to open in new tab
|
|
if (
|
|
evnt.ctrlKey ||
|
|
evnt.shiftKey ||
|
|
evnt.metaKey ||
|
|
(evnt.button && evnt.button == 1)
|
|
) return
|
|
|
|
// if asked in current tab
|
|
else {
|
|
evnt.preventDefault();
|
|
parent.location.href= url;
|
|
return false;
|
|
};
|
|
|
|
}
|
|
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
|
|
// Variables
|
|
var liMenu = document.querySelectorAll('#apps a')
|
|
, colors = ['redbg','purpledarkbg','darkbluebg','orangebg','greenbg','darkbluebg','purpledarkbg','yellowbg','lightpinkbg','pinkbg','turquoisebg','yellowbg','lightbluebg','purpledarkbg', 'bluebg']
|
|
, addMailAlias = document.getElementById('add-mailalias')
|
|
, addMaildrop = document.getElementById('add-maildrop')
|
|
;
|
|
|
|
liMenu && [].forEach.call(liMenu, function(el, i) {
|
|
// Select a color value from the App label
|
|
randomColorNumber = parseInt(el.textContent, 36) % colors.length;
|
|
//randomColorNumber = i%colors.length; // Old value
|
|
// Add color class.
|
|
el.classList.add(colors[randomColorNumber]);
|
|
// Set first-letter data attribute.
|
|
el.querySelector('.first-letter').setAttribute('data-first-letter',el.textContent.substring(0, 2));
|
|
});
|
|
|
|
addMailAlias && addMailAlias.addEventListener('click', function(){
|
|
// Clone last input.
|
|
var inputAliasClone = document.querySelector('.mailalias-input').cloneNode(true);
|
|
// Empty value.
|
|
inputAliasClone.value = '';
|
|
// Append to form-group.
|
|
addMailAlias.parentNode.insertBefore(inputAliasClone, addMailAlias);
|
|
});
|
|
|
|
addMaildrop && addMaildrop.addEventListener('click', function(){
|
|
// Clone last input.
|
|
var inputDropClone = document.querySelector('.maildrop-input').cloneNode(true);
|
|
// Empty value.
|
|
inputDropClone.value = '';
|
|
// Append to form-group.
|
|
addMaildrop.parentNode.insertBefore(inputDropClone, addMaildrop);
|
|
});
|
|
|
|
});
|