Files
server/usr/share/psa-horde/ingo/js/new_folder.js
2026-01-07 20:52:11 +01:00

54 lines
1.4 KiB
JavaScript

/**
* Provides the javascript for creating a new mailbox.
*
* @author Michael Slusarz <slusarz@horde.org>
* @copyright 2014-2015 Horde LLC
* @license ASL (http://www.horde.org/licenses/apache)
*/
var IngoNewFolder = {
// Set in PHP code: folderprompt
changeHandler: function(e)
{
var folder,
elt = e.element(),
id = elt.identify() + '_new',
newfolder = $(id),
sel = $(elt[elt.selectedIndex]);
if (!newfolder &&
sel.hasClassName('flistCreate') &&
(folder = window.prompt(this.folderprompt + '\n', '')) &&
!folder.empty()) {
this.setNewFolder(elt, folder);
e.stop();
}
},
setNewFolder: function(elt, folder)
{
elt = $(elt);
var sel,
id = elt.identify() + '_new';
elt.selectedIndex = elt.down('.flistCreate').index;
sel = $(elt[elt.selectedIndex]);
elt.insert({
after: new Element('INPUT', { id: id, name: id, type: 'hidden' }).setValue(folder)
});
sel.update(sel.text + ' [' + folder.escapeHTML() + ']');
},
onDomLoad: function()
{
$$('.flistSelect').invoke('observe', 'change', this.changeHandler.bindAsEventListener(this));
}
};
document.observe('dom:loaded', IngoNewFolder.onDomLoad.bind(IngoNewFolder));