mirror of
https://github.com/the-djmaze/snappymail.git
synced 2024-11-14 11:44:54 +08:00
55 lines
1.4 KiB
JavaScript
55 lines
1.4 KiB
JavaScript
import { addObservablesTo, addComputablesTo } from 'External/ko';
|
|
import { i18n, getNotification } from 'Common/Translator';
|
|
|
|
import { MessageUserStore } from 'Stores/User/Message';
|
|
import { MessagelistUserStore } from 'Stores/User/Messagelist';
|
|
|
|
import Remote from 'Remote/User/Fetch';
|
|
|
|
import { decorateKoCommands } from 'Knoin/Knoin';
|
|
import { AbstractViewPopup } from 'Knoin/AbstractViews';
|
|
|
|
export class FolderClearPopupView extends AbstractViewPopup {
|
|
constructor() {
|
|
super('FolderClear');
|
|
|
|
addObservablesTo(this, {
|
|
folder: null,
|
|
clearing: false
|
|
});
|
|
|
|
addComputablesTo(this, {
|
|
dangerDescHtml: () => {
|
|
// const folder = this.folder();
|
|
// return i18n('POPUPS_CLEAR_FOLDER/DANGER_DESC_HTML_1', { FOLDER: folder.fullName.replace(folder.delimiter, ' / ') });
|
|
return i18n('POPUPS_CLEAR_FOLDER/DANGER_DESC_HTML_1', { FOLDER: this.folder()?.localName() });
|
|
}
|
|
});
|
|
|
|
decorateKoCommands(this, {
|
|
clearCommand: self => !self.clearing()
|
|
});
|
|
}
|
|
|
|
clearCommand() {
|
|
const folder = this.folder();
|
|
if (folder) {
|
|
this.clearing(true);
|
|
Remote.request('FolderClear', iError => {
|
|
folder.totalEmails(0);
|
|
folder.unreadEmails(0);
|
|
MessageUserStore.message(null);
|
|
MessagelistUserStore.reload(true, true);
|
|
this.clearing(false);
|
|
iError ? alert(getNotification(iError)) : this.close();
|
|
}, {
|
|
folder: folder.fullName
|
|
});
|
|
}
|
|
}
|
|
|
|
onShow(folder) {
|
|
this.clearing(false);
|
|
this.folder(folder);
|
|
}
|
|
}
|