mirror of
https://github.com/the-djmaze/snappymail.git
synced 2025-11-08 06:11:37 +08:00
Support \noinferiors to disallow creating subfolders
This commit is contained in:
parent
d74407f36b
commit
5cdbba8da0
3 changed files with 8 additions and 12 deletions
|
|
@ -50,15 +50,14 @@ folderListOptionsBuilder = (
|
|||
aDisabled,
|
||||
aHeaderLines,
|
||||
fRenameCallback,
|
||||
fDisableCallback,
|
||||
bNoSelectSelectable,
|
||||
aList = FolderUserStore.folderList()
|
||||
fDisableCallback
|
||||
) => {
|
||||
const
|
||||
aResult = [],
|
||||
sDeepPrefix = '\u00A0\u00A0\u00A0',
|
||||
// FolderSystemPopupView should always be true
|
||||
showUnsubscribed = fRenameCallback ? !SettingsUserStore.hideUnsubscribed() : true,
|
||||
isDisabled = fDisableCallback || (item => !item.selectable() || aDisabled.includes(item.fullName)),
|
||||
|
||||
foldersWalk = folders => {
|
||||
folders.forEach(oItem => {
|
||||
|
|
@ -69,10 +68,7 @@ folderListOptionsBuilder = (
|
|||
sDeepPrefix.repeat(oItem.deep) +
|
||||
fRenameCallback(oItem),
|
||||
system: false,
|
||||
disabled: !bNoSelectSelectable && (
|
||||
!oItem.selectable() ||
|
||||
aDisabled.includes(oItem.fullName) ||
|
||||
fDisableCallback(oItem))
|
||||
disabled: isDisabled(oItem)
|
||||
});
|
||||
}
|
||||
foldersWalk(oItem.subFolders());
|
||||
|
|
@ -93,7 +89,7 @@ folderListOptionsBuilder = (
|
|||
})
|
||||
);
|
||||
|
||||
foldersWalk(aList);
|
||||
foldersWalk(FolderUserStore.folderList());
|
||||
|
||||
return aResult;
|
||||
},
|
||||
|
|
|
|||
|
|
@ -548,6 +548,8 @@ export class FolderModel extends AbstractModel {
|
|||
|
||||
folder.isSubscribed(attr('\\subscribed'));
|
||||
folder.exists = !attr('\\nonexistent');
|
||||
folder.subFolders.allow = !attr('\\noinferiors');
|
||||
// folder.subFolders.exist = attr('\\haschildren') || !attr('\\hasnochildren');
|
||||
folder.selectable(folder.exists && !attr('\\noselect'));
|
||||
|
||||
type && 'mail' != type && folder.kolabType(type);
|
||||
|
|
|
|||
|
|
@ -29,10 +29,8 @@ export class FolderCreatePopupView extends AbstractViewPopup {
|
|||
[],
|
||||
[['', '']],
|
||||
oItem => oItem ? oItem.detailedName() : '',
|
||||
FolderUserStore.namespace
|
||||
? item => !item.fullName.startsWith(FolderUserStore.namespace)
|
||||
: null,
|
||||
true
|
||||
item => !item.subFolders.allow
|
||||
|| (FolderUserStore.namespace && !item.fullName.startsWith(FolderUserStore.namespace))
|
||||
)
|
||||
);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue