This commit is contained in:
pstevens71 2025-08-13 10:24:41 +02:00 committed by GitHub
commit f33090fe92
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 36 additions and 15 deletions

View file

@ -2792,22 +2792,20 @@
select = document.getElementById('userFolders');
var selectedSubscriptions = [];
for (i = 0; i < select.options.length; i++) {
var opt = select.options[i];
if (opt.selected && opt.value != "") {
if (active != "") {
active += "::";
if (opt.selected && opt.value !== "") {
if (!selectedSubscriptions.includes(opt.value)) {
selectedSubscriptions.push(opt.value);
}
active += opt.value;
}
}
//Add the group folder ids.
var group_folders = SUGAR.email2.folders.retrieveGroupFolderSubscriptions();
for (i = 0; i < group_folders.length; i++) {
active += ("::" + group_folders[i]);
}
active = selectedSubscriptions.join("::");
AjaxObject.startRequest(callbackFolderSubscriptions, urlStandard + '&emailUIAction=updateSubscriptions&subscriptions=' + active);
},
/**

View file

@ -381,17 +381,40 @@ var AjaxObject = {
//SUGAR.email2.accounts.rebuildFolderList(); // refresh frameFolder
var ret = YAHOO.lang.JSON.parse(o.responseText);
var user = document.getElementById('userFolders');
var userFolders = ret.userFolders;
var groupFolders = ret.groupFolders;
// Store the currently selected options
var selectedOptions = Array.from(user.selectedOptions).map(function(option) {
return option.value;
});
// Clear the select element
SUGAR.email2.util.emptySelectOptions(user);
// Process userFolders array
for (i = 0; i < ret.userFolders.length; i++) {
var display = ret.userFolders[i].name;
var value = ret.userFolders[i].id;
var selected = (ret.userFolders[i].selected != "") ? true : false;
var folder = userFolders[i];
var display = folder.name;
var value = folder.id;
var selected = selectedOptions.includes(value);
var opt = new Option(display, value, selected);
opt.selected = selected;
user.options.add(opt);
}
// Process groupFolders array, excluding the "--None--" option
for (var j = 0; j < groupFolders.length; j++) {
var groupFolder = groupFolders[j];
if (groupFolder.name === "--None--") {
continue; // Skip the "--None--" option
}
var groupFolderDisplay = groupFolder.name;
var groupFolderValue = groupFolder.id;
var groupFolderSelected = selectedOptions.includes(groupFolderValue);
var groupFolderOpt = new Option(groupFolderDisplay, groupFolderValue, groupFolderSelected);
groupFolderOpt.selected = groupFolderSelected;
user.options.add(groupFolderOpt);
}
},
/**