This commit is contained in:
the-djmaze 2023-05-01 11:48:57 +02:00
parent 932b71f345
commit 88279c55e0
4 changed files with 18 additions and 38 deletions

View file

@ -445,17 +445,19 @@ export class FolderModel extends AbstractModel {
return name;
},
manageFolderSystemName: () => {
nameInfo: () => {
if (this.isSystemFolder()) {
translateTrigger();
let suffix = getSystemFolderName(this.type(), getKolabFolderName(this.kolabType()));
if (this.name() !== suffix && 'inbox' !== suffix.toLowerCase()) {
return '(' + suffix + ')';
return ' (' + suffix + ')';
}
}
return '';
},
detailedName: () => this.name() + ' ' + this.nameInfo(),
hasSubscribedUnreadMessagesSubfolders: () =>
!!this.subFolders().find(
folder => folder.unreadCount() | folder.hasSubscribedUnreadMessagesSubfolders()

View file

@ -17,31 +17,29 @@ const
// import { folderListOptionsBuilder } from 'Common/Folders';
/**
* @param {Array=} aDisabled
* @param {Array=} aHeaderLines
* @param {Function=} fRenameCallback
* @returns {Array}
*/
folderListOptionsBuilder = (
aDisabled,
aHeaderLines,
fRenameCallback
) => {
folderListOptionsBuilder = () => {
const
aResult = [],
aResult = [{
id: '',
name: '',
system: false,
disabled: false
}],
sDeepPrefix = '\u00A0\u00A0\u00A0',
showUnsubscribed = true/*!SettingsUserStore.hideUnsubscribed()*/,
disabled = rl.settings.get('sieveAllowFileintoInbox') ? '' : 'INBOX',
foldersWalk = folders => {
folders.forEach(oItem => {
if (showUnsubscribed || oItem.hasSubscriptions() || !oItem.exists) {
aResult.push({
id: oItem.fullName,
name:
sDeepPrefix.repeat(oItem.deep) +
fRenameCallback(oItem),
name: sDeepPrefix.repeat(oItem.deep) + oItem.detailedName(),
system: false,
disabled: !oItem.selectable() || aDisabled.includes(oItem.fullName)
disabled: !oItem.selectable() || disabled == oItem.fullName
});
}
@ -52,18 +50,6 @@ const
};
fRenameCallback = fRenameCallback || (oItem => oItem.name());
Array.isArray(aDisabled) || (aDisabled = []);
Array.isArray(aHeaderLines) && aHeaderLines.forEach(line =>
aResult.push({
id: line[0],
name: line[1],
system: false,
disabled: false
})
);
// FolderUserStore.folderList()
foldersWalk(window.Sieve.folderList() || []);
@ -82,13 +68,7 @@ export class FilterPopupView extends rl.pluginPopupView {
});
this.defaultOptionsAfterRender = defaultOptionsAfterRender;
this.folderSelectList = koComputable(() =>
folderListOptionsBuilder(
[rl.settings.get('sieveAllowFileintoInbox') ? '' : 'INBOX'],
[['', '']],
item => item?.localName() || ''
)
);
this.folderSelectList = koComputable(() => folderListOptionsBuilder());
this.selectedFolderValue.subscribe(() => this.filter().actionValueError(false));

View file

@ -28,8 +28,7 @@ export class FolderCreatePopupView extends AbstractViewPopup {
folderListOptionsBuilder(
[],
[['', '']],
oItem =>
oItem ? (oItem.isSystemFolder() ? oItem.name() + ' ' + oItem.manageFolderSystemName() : oItem.name()) : '',
oItem => oItem ? oItem.detailedName() : '',
FolderUserStore.namespace
? item => !item.fullName.startsWith(FolderUserStore.namespace)
: null,