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

64 lines
1.9 KiB
JavaScript

/**
* Managing the folder view preferences.
*
* @author Michael Slusarz <slusarz@horde.org>
* @copyright 2014-2015 Horde LLC
* @license GPL-2 (http://www.horde.org/licenses/gpl)
*/
var ImpFolderPrefs = {
// Variables defined by other code: origtext, sentmail
mboxes: {},
newMboxName: function(e, f)
{
var mbox,
id = f.identify(),
txt = $H(this.mboxes).get(id),
newmbox = $(id + '_new'),
sel = $(f[f.selectedIndex]);
if (sel.hasClassName('flistCreate') && !newmbox) {
mbox = window.prompt(txt, '');
if (mbox && !mbox.empty()) {
if (!newmbox) {
newmbox = new Element('INPUT', { id: id + '_new', name: id + '_new', type: 'hidden' });
f.insert({ after: newmbox });
}
newmbox.setValue(mbox);
this.origtext = sel.text;
sel.update(sel.text + ' [' + mbox + ']');
}
}
},
changeIdentity: function(e)
{
switch (e.memo.pref) {
case 'sentmailselect':
$('sent_mail').setValue(this.sentmail[e.memo.i]);
if (this.origtext) {
$('sent_mail_new').remove();
$('sent_mail').down('.flistCreate').update(this.origtext);
delete this.origtext;
}
break;
}
},
onDomLoad: function()
{
/* Disable selection of containers. */
$('prefs')
.down('SELECT.folderPrefSelect')
.select('OPTION[value=""]:not(.flistCreate)')
.invoke('writeAttribute', { disabled: true });
}
};
document.observe('dom:loaded', ImpFolderPrefs.onDomLoad.bind(ImpFolderPrefs));
document.observe('HordeIdentitySelect:change', ImpFolderPrefs.changeIdentity.bindAsEventListener(ImpFolderPrefs));
document.on('change', '.folderPrefSelect', ImpFolderPrefs.newMboxName.bind(ImpFolderPrefs));