mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-09-07 08:27:03 +03:00
Resolve #1111
This commit is contained in:
parent
932b71f345
commit
88279c55e0
4 changed files with 18 additions and 38 deletions
|
|
@ -445,17 +445,19 @@ export class FolderModel extends AbstractModel {
|
||||||
return name;
|
return name;
|
||||||
},
|
},
|
||||||
|
|
||||||
manageFolderSystemName: () => {
|
nameInfo: () => {
|
||||||
if (this.isSystemFolder()) {
|
if (this.isSystemFolder()) {
|
||||||
translateTrigger();
|
translateTrigger();
|
||||||
let suffix = getSystemFolderName(this.type(), getKolabFolderName(this.kolabType()));
|
let suffix = getSystemFolderName(this.type(), getKolabFolderName(this.kolabType()));
|
||||||
if (this.name() !== suffix && 'inbox' !== suffix.toLowerCase()) {
|
if (this.name() !== suffix && 'inbox' !== suffix.toLowerCase()) {
|
||||||
return '(' + suffix + ')';
|
return ' (' + suffix + ')';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return '';
|
return '';
|
||||||
},
|
},
|
||||||
|
|
||||||
|
detailedName: () => this.name() + ' ' + this.nameInfo(),
|
||||||
|
|
||||||
hasSubscribedUnreadMessagesSubfolders: () =>
|
hasSubscribedUnreadMessagesSubfolders: () =>
|
||||||
!!this.subFolders().find(
|
!!this.subFolders().find(
|
||||||
folder => folder.unreadCount() | folder.hasSubscribedUnreadMessagesSubfolders()
|
folder => folder.unreadCount() | folder.hasSubscribedUnreadMessagesSubfolders()
|
||||||
|
|
|
||||||
|
|
@ -17,31 +17,29 @@ const
|
||||||
|
|
||||||
// import { folderListOptionsBuilder } from 'Common/Folders';
|
// import { folderListOptionsBuilder } from 'Common/Folders';
|
||||||
/**
|
/**
|
||||||
* @param {Array=} aDisabled
|
|
||||||
* @param {Array=} aHeaderLines
|
|
||||||
* @param {Function=} fRenameCallback
|
|
||||||
* @returns {Array}
|
* @returns {Array}
|
||||||
*/
|
*/
|
||||||
folderListOptionsBuilder = (
|
folderListOptionsBuilder = () => {
|
||||||
aDisabled,
|
|
||||||
aHeaderLines,
|
|
||||||
fRenameCallback
|
|
||||||
) => {
|
|
||||||
const
|
const
|
||||||
aResult = [],
|
aResult = [{
|
||||||
|
id: '',
|
||||||
|
name: '',
|
||||||
|
system: false,
|
||||||
|
disabled: false
|
||||||
|
}],
|
||||||
sDeepPrefix = '\u00A0\u00A0\u00A0',
|
sDeepPrefix = '\u00A0\u00A0\u00A0',
|
||||||
showUnsubscribed = true/*!SettingsUserStore.hideUnsubscribed()*/,
|
showUnsubscribed = true/*!SettingsUserStore.hideUnsubscribed()*/,
|
||||||
|
|
||||||
|
disabled = rl.settings.get('sieveAllowFileintoInbox') ? '' : 'INBOX',
|
||||||
|
|
||||||
foldersWalk = folders => {
|
foldersWalk = folders => {
|
||||||
folders.forEach(oItem => {
|
folders.forEach(oItem => {
|
||||||
if (showUnsubscribed || oItem.hasSubscriptions() || !oItem.exists) {
|
if (showUnsubscribed || oItem.hasSubscriptions() || !oItem.exists) {
|
||||||
aResult.push({
|
aResult.push({
|
||||||
id: oItem.fullName,
|
id: oItem.fullName,
|
||||||
name:
|
name: sDeepPrefix.repeat(oItem.deep) + oItem.detailedName(),
|
||||||
sDeepPrefix.repeat(oItem.deep) +
|
|
||||||
fRenameCallback(oItem),
|
|
||||||
system: false,
|
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()
|
// FolderUserStore.folderList()
|
||||||
foldersWalk(window.Sieve.folderList() || []);
|
foldersWalk(window.Sieve.folderList() || []);
|
||||||
|
|
||||||
|
|
@ -82,13 +68,7 @@ export class FilterPopupView extends rl.pluginPopupView {
|
||||||
});
|
});
|
||||||
|
|
||||||
this.defaultOptionsAfterRender = defaultOptionsAfterRender;
|
this.defaultOptionsAfterRender = defaultOptionsAfterRender;
|
||||||
this.folderSelectList = koComputable(() =>
|
this.folderSelectList = koComputable(() => folderListOptionsBuilder());
|
||||||
folderListOptionsBuilder(
|
|
||||||
[rl.settings.get('sieveAllowFileintoInbox') ? '' : 'INBOX'],
|
|
||||||
[['', '']],
|
|
||||||
item => item?.localName() || ''
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
this.selectedFolderValue.subscribe(() => this.filter().actionValueError(false));
|
this.selectedFolderValue.subscribe(() => this.filter().actionValueError(false));
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -28,8 +28,7 @@ export class FolderCreatePopupView extends AbstractViewPopup {
|
||||||
folderListOptionsBuilder(
|
folderListOptionsBuilder(
|
||||||
[],
|
[],
|
||||||
[['', '']],
|
[['', '']],
|
||||||
oItem =>
|
oItem => oItem ? oItem.detailedName() : '',
|
||||||
oItem ? (oItem.isSystemFolder() ? oItem.name() + ' ' + oItem.manageFolderSystemName() : oItem.name()) : '',
|
|
||||||
FolderUserStore.namespace
|
FolderUserStore.namespace
|
||||||
? item => !item.fullName.startsWith(FolderUserStore.namespace)
|
? item => !item.fullName.startsWith(FolderUserStore.namespace)
|
||||||
: null,
|
: null,
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,7 @@
|
||||||
<input type="text"
|
<input type="text"
|
||||||
autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||||
data-bind="textInput: nameForEdit, visible: editing, hasfocus: editing, onEnter: rename, onEsc: unedit">
|
data-bind="textInput: nameForEdit, visible: editing, hasfocus: editing, onEnter: rename, onEsc: unedit">
|
||||||
|
<span class="folder-system-name" data-bind="text: nameInfo, visible: isSystemFolder"></span>
|
||||||
<span class="folder-system-name" data-bind="text: manageFolderSystemName, visible: isSystemFolder"></span>
|
|
||||||
</td>
|
</td>
|
||||||
<td data-i18n="[title]SETTINGS_FOLDERS/HELP_DELETE_FOLDER">
|
<td data-i18n="[title]SETTINGS_FOLDERS/HELP_DELETE_FOLDER">
|
||||||
<a class="btn btn-small btn-danger button-confirm-delete" data-bind="css: {'delete-access': askDelete()}, click: $root.deleteFolder"
|
<a class="btn btn-small btn-danger button-confirm-delete" data-bind="css: {'delete-access': askDelete()}, click: $root.deleteFolder"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue