mirror of
https://github.com/the-djmaze/snappymail.git
synced 2025-02-24 14:57:26 +08:00
Improved #121
This commit is contained in:
parent
6435fc3876
commit
8a22ddff5e
4 changed files with 10 additions and 20 deletions
|
@ -206,7 +206,7 @@ export function folderListOptionsBuilder(
|
||||||
fRenameCallback(oItem),
|
fRenameCallback(oItem),
|
||||||
system: false,
|
system: false,
|
||||||
disabled: !bNoSelectSelectable && (
|
disabled: !bNoSelectSelectable && (
|
||||||
!oItem.selectable ||
|
!oItem.selectable() ||
|
||||||
aDisabled.includes(oItem.fullNameRaw) ||
|
aDisabled.includes(oItem.fullNameRaw) ||
|
||||||
fDisableCallback(oItem))
|
fDisableCallback(oItem))
|
||||||
});
|
});
|
||||||
|
|
|
@ -189,12 +189,12 @@ export class FolderModel extends AbstractModel {
|
||||||
this.deep = 0;
|
this.deep = 0;
|
||||||
this.expires = 0;
|
this.expires = 0;
|
||||||
|
|
||||||
this.selectable = false;
|
|
||||||
this.exists = true;
|
this.exists = true;
|
||||||
|
|
||||||
this.addObservables({
|
this.addObservables({
|
||||||
name: '',
|
name: '',
|
||||||
type: FolderType.User,
|
type: FolderType.User,
|
||||||
|
selectable: false,
|
||||||
|
|
||||||
focused: false,
|
focused: false,
|
||||||
selected: false,
|
selected: false,
|
||||||
|
@ -266,7 +266,7 @@ export class FolderModel extends AbstractModel {
|
||||||
|
|
||||||
hasSubscriptions: () => folder.subscribed() | folder.hasSubscribedSubfolders(),
|
hasSubscriptions: () => folder.subscribed() | folder.hasSubscribedSubfolders(),
|
||||||
|
|
||||||
canBeEdited: () => FolderType.User === folder.type() && folder.exists/* && folder.selectable*/,
|
canBeEdited: () => FolderType.User === folder.type() && folder.exists/* && folder.selectable()*/,
|
||||||
|
|
||||||
visible: () => folder.hasSubscriptions() | !SettingsUserStore.hideUnsubscribed(),
|
visible: () => folder.hasSubscriptions() | !SettingsUserStore.hideUnsubscribed(),
|
||||||
|
|
||||||
|
@ -274,7 +274,7 @@ export class FolderModel extends AbstractModel {
|
||||||
|
|
||||||
hidden: () => {
|
hidden: () => {
|
||||||
let hasSubFolders = folder.hasSubscribedSubfolders();
|
let hasSubFolders = folder.hasSubscribedSubfolders();
|
||||||
return (folder.isSystemFolder() || !folder.selectable) && !hasSubFolders;
|
return (folder.isSystemFolder() | !folder.selectable()) && !hasSubFolders;
|
||||||
},
|
},
|
||||||
|
|
||||||
printableUnreadCount: () => {
|
printableUnreadCount: () => {
|
||||||
|
@ -299,14 +299,12 @@ export class FolderModel extends AbstractModel {
|
||||||
return null;
|
return null;
|
||||||
},
|
},
|
||||||
|
|
||||||
canBeDeleted: () => !folder.isSystemFolder() && folder.selectable,
|
canBeDeleted: () => !(folder.isSystemFolder() | !folder.selectable()),
|
||||||
|
|
||||||
canBeSubscribed: () => !folder.isSystemFolder()
|
canBeSubscribed: () => Settings.app('useImapSubscribe')
|
||||||
&& SettingsUserStore.hideUnsubscribed()
|
&& !(folder.isSystemFolder() | !SettingsUserStore.hideUnsubscribed() | !folder.selectable()),
|
||||||
&& folder.selectable
|
|
||||||
&& Settings.app('useImapSubscribe'),
|
|
||||||
|
|
||||||
canBeSelected: () => !folder.isSystemFolder() && folder.selectable,
|
canBeSelected: () => !(folder.isSystemFolder() | !folder.selectable()),
|
||||||
|
|
||||||
localName: () => {
|
localName: () => {
|
||||||
let name = folder.name();
|
let name = folder.name();
|
||||||
|
|
|
@ -94,17 +94,9 @@ export class FoldersUserSettings {
|
||||||
this.folderForDeletion(null);
|
this.folderForDeletion(null);
|
||||||
|
|
||||||
if (folderToRemove) {
|
if (folderToRemove) {
|
||||||
const fRemoveFolder = function(folder) {
|
|
||||||
if (folderToRemove === folder) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
//folder.subFolders.remove(fRemoveFolder);
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
|
|
||||||
Local.set(ClientSideKeyName.FoldersLashHash, '');
|
Local.set(ClientSideKeyName.FoldersLashHash, '');
|
||||||
|
|
||||||
FolderUserStore.folderList.remove(fRemoveFolder);
|
folderToRemove.selectable(false);
|
||||||
|
|
||||||
rl.app.foldersPromisesActionHelper(
|
rl.app.foldersPromisesActionHelper(
|
||||||
Remote.folderDelete(folderToRemove.fullNameRaw),
|
Remote.folderDelete(folderToRemove.fullNameRaw),
|
||||||
|
|
|
@ -135,7 +135,7 @@ export const FolderUserStore = new class {
|
||||||
list.forEach(folder => {
|
list.forEach(folder => {
|
||||||
if (
|
if (
|
||||||
folder &&
|
folder &&
|
||||||
folder.selectable &&
|
folder.selectable() &&
|
||||||
folder.exists &&
|
folder.exists &&
|
||||||
timeout > folder.expires &&
|
timeout > folder.expires &&
|
||||||
(folder.isSystemFolder() || (folder.subscribed() && (folder.checkable() || !bDisplaySpecSetting)))
|
(folder.isSystemFolder() || (folder.subscribed() && (folder.checkable() || !bDisplaySpecSetting)))
|
||||||
|
|
Loading…
Reference in a new issue