mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-13 03:27:39 +03:00
Resolve #1119
This commit is contained in:
parent
216b5964d7
commit
13abe74a31
41 changed files with 219 additions and 116 deletions
|
|
@ -19,6 +19,14 @@
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.tabs {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs > label > * + * {
|
||||||
|
margin-left: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
.textAreaParent, .attachmentAreaParent {
|
.textAreaParent, .attachmentAreaParent {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
min-height: 200px;
|
min-height: 200px;
|
||||||
|
|
|
||||||
|
|
@ -317,7 +317,7 @@ export class ComposePopupView extends AbstractViewPopup {
|
||||||
attachmentsInProcess: () => this.attachments.filter(item => item && !item.complete()),
|
attachmentsInProcess: () => this.attachments.filter(item => item && !item.complete()),
|
||||||
attachmentsInError: () => this.attachments.filter(item => item?.error()),
|
attachmentsInError: () => this.attachments.filter(item => item?.error()),
|
||||||
|
|
||||||
attachmentsCount: () => this.attachments.length,
|
attachmentsCount: () => this.attachments().length,
|
||||||
attachmentsInErrorCount: () => this.attachmentsInError.length,
|
attachmentsInErrorCount: () => this.attachmentsInError.length,
|
||||||
attachmentsInProcessCount: () => this.attachmentsInProcess.length,
|
attachmentsInProcessCount: () => this.attachmentsInProcess.length,
|
||||||
isDraftFolderMessage: () => this.draftsFolder() && this.draftUid(),
|
isDraftFolderMessage: () => this.draftsFolder() && this.draftUid(),
|
||||||
|
|
@ -390,6 +390,41 @@ export class ComposePopupView extends AbstractViewPopup {
|
||||||
if (this.attachmentsInProcessError() && arrayLength(value)) {
|
if (this.attachmentsInProcessError() && arrayLength(value)) {
|
||||||
this.attachmentsInProcessError(false);
|
this.attachmentsInProcessError(false);
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
viewArea: value => {
|
||||||
|
if (!this.mailvelope && 'mailvelope' == value) {
|
||||||
|
/**
|
||||||
|
* Creates an iframe with an editor for a new encrypted mail.
|
||||||
|
* The iframe will be injected into the container identified by selector.
|
||||||
|
* https://mailvelope.github.io/mailvelope/Editor.html
|
||||||
|
*/
|
||||||
|
let text = this.oEditor.getData(),
|
||||||
|
encrypted = PgpUserStore.isEncrypted(text),
|
||||||
|
size = SettingsGet('phpUploadSizes')['post_max_size'],
|
||||||
|
quota = pInt(size);
|
||||||
|
switch (size.slice(-1)) {
|
||||||
|
case 'G': quota *= 1024; // fallthrough
|
||||||
|
case 'M': quota *= 1024; // fallthrough
|
||||||
|
case 'K': quota *= 1024;
|
||||||
|
}
|
||||||
|
// Issue: can't select signing key
|
||||||
|
// this.pgpSign(this.pgpSign() || confirm('Sign this message?'));
|
||||||
|
mailvelope.createEditorContainer('#mailvelope-editor', PgpUserStore.mailvelopeKeyring, {
|
||||||
|
// https://mailvelope.github.io/mailvelope/global.html#EditorContainerOptions
|
||||||
|
quota: Math.max(2048, (quota / 1024)) - 48, // (text + attachments) limit in kilobytes
|
||||||
|
armoredDraft: encrypted ? text : '', // Ascii Armored PGP Text Block
|
||||||
|
predefinedText: encrypted ? '' : (this.oEditor.isHtml() ? htmlToPlain(text) : text),
|
||||||
|
/*
|
||||||
|
quotedMail: '', // Ascii Armored PGP Text Block mail that should be quoted
|
||||||
|
quotedMailIndent: true, // if true the quoted mail will be indented (default: true)
|
||||||
|
quotedMailHeader: '', // header to be added before the quoted mail
|
||||||
|
keepAttachments: false, // add attachments of quotedMail to editor (default: false)
|
||||||
|
// Issue: can't select signing key
|
||||||
|
signMsg: this.pgpSign()
|
||||||
|
*/
|
||||||
|
}).then(editor => this.mailvelope = editor);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -1276,41 +1311,6 @@ export class ComposePopupView extends AbstractViewPopup {
|
||||||
this.dropMailvelope();
|
this.dropMailvelope();
|
||||||
}
|
}
|
||||||
|
|
||||||
mailvelopeArea() {
|
|
||||||
if (!this.mailvelope) {
|
|
||||||
/**
|
|
||||||
* Creates an iframe with an editor for a new encrypted mail.
|
|
||||||
* The iframe will be injected into the container identified by selector.
|
|
||||||
* https://mailvelope.github.io/mailvelope/Editor.html
|
|
||||||
*/
|
|
||||||
let text = this.oEditor.getData(),
|
|
||||||
encrypted = PgpUserStore.isEncrypted(text),
|
|
||||||
size = SettingsGet('phpUploadSizes')['post_max_size'],
|
|
||||||
quota = pInt(size);
|
|
||||||
switch (size.slice(-1)) {
|
|
||||||
case 'G': quota *= 1024; // fallthrough
|
|
||||||
case 'M': quota *= 1024; // fallthrough
|
|
||||||
case 'K': quota *= 1024;
|
|
||||||
}
|
|
||||||
// Issue: can't select signing key
|
|
||||||
// this.pgpSign(this.pgpSign() || confirm('Sign this message?'));
|
|
||||||
mailvelope.createEditorContainer('#mailvelope-editor', PgpUserStore.mailvelopeKeyring, {
|
|
||||||
// https://mailvelope.github.io/mailvelope/global.html#EditorContainerOptions
|
|
||||||
quota: Math.max(2048, (quota / 1024)) - 48, // (text + attachments) limit in kilobytes
|
|
||||||
armoredDraft: encrypted ? text : '', // Ascii Armored PGP Text Block
|
|
||||||
predefinedText: encrypted ? '' : (this.oEditor.isHtml() ? htmlToPlain(text) : text),
|
|
||||||
/*
|
|
||||||
quotedMail: '', // Ascii Armored PGP Text Block mail that should be quoted
|
|
||||||
quotedMailIndent: true, // if true the quoted mail will be indented (default: true)
|
|
||||||
quotedMailHeader: '', // header to be added before the quoted mail
|
|
||||||
keepAttachments: false, // add attachments of quotedMail to editor (default: false)
|
|
||||||
// Issue: can't select signing key
|
|
||||||
signMsg: this.pgpSign()
|
|
||||||
*/
|
|
||||||
}).then(editor => this.mailvelope = editor);
|
|
||||||
}
|
|
||||||
this.viewArea('mailvelope');
|
|
||||||
}
|
|
||||||
attachmentsArea() {
|
attachmentsArea() {
|
||||||
this.viewArea('attachments');
|
this.viewArea('attachments');
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "لا",
|
"NO": "لا",
|
||||||
"INACTIVE": "Inactive",
|
"INACTIVE": "Inactive",
|
||||||
"DEFAULT": "الافتراضي",
|
"DEFAULT": "الافتراضي",
|
||||||
"HELP": "المساعدة"
|
"HELP": "المساعدة",
|
||||||
|
"TEXT": "النص",
|
||||||
|
"ATTACHMENTS": "الملحقات"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "تسيجيل الدخول",
|
"LABEL_LOGIN": "تسيجيل الدخول",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "Не",
|
"NO": "Не",
|
||||||
"INACTIVE": "Inactive",
|
"INACTIVE": "Inactive",
|
||||||
"DEFAULT": "по подразбиране",
|
"DEFAULT": "по подразбиране",
|
||||||
"HELP": "Помощ"
|
"HELP": "Помощ",
|
||||||
|
"TEXT": "Текст",
|
||||||
|
"ATTACHMENTS": "Прикрепени файлове"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Логин",
|
"LABEL_LOGIN": "Логин",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "Ne",
|
"NO": "Ne",
|
||||||
"INACTIVE": "Inactive",
|
"INACTIVE": "Inactive",
|
||||||
"DEFAULT": "výchozí",
|
"DEFAULT": "výchozí",
|
||||||
"HELP": "Nápověda"
|
"HELP": "Nápověda",
|
||||||
|
"TEXT": "Text",
|
||||||
|
"ATTACHMENTS": "Přílohy"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Uživatelské jméno",
|
"LABEL_LOGIN": "Uživatelské jméno",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "Nej",
|
"NO": "Nej",
|
||||||
"INACTIVE": "Inactive",
|
"INACTIVE": "Inactive",
|
||||||
"DEFAULT": "standard",
|
"DEFAULT": "standard",
|
||||||
"HELP": "Hjælp"
|
"HELP": "Hjælp",
|
||||||
|
"TEXT": "Tekst",
|
||||||
|
"ATTACHMENTS": "Vedhæftninger"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Brugernavn",
|
"LABEL_LOGIN": "Brugernavn",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "Nein",
|
"NO": "Nein",
|
||||||
"INACTIVE": "Inaktiv",
|
"INACTIVE": "Inaktiv",
|
||||||
"DEFAULT": "Standard",
|
"DEFAULT": "Standard",
|
||||||
"HELP": "Hilfe"
|
"HELP": "Hilfe",
|
||||||
|
"TEXT": "Text",
|
||||||
|
"ATTACHMENTS": "Anhänge"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Anmeldung",
|
"LABEL_LOGIN": "Anmeldung",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "Όχι",
|
"NO": "Όχι",
|
||||||
"INACTIVE": "Inactive",
|
"INACTIVE": "Inactive",
|
||||||
"DEFAULT": "default",
|
"DEFAULT": "default",
|
||||||
"HELP": "Βοήθεια"
|
"HELP": "Βοήθεια",
|
||||||
|
"TEXT": "Κείμενο",
|
||||||
|
"ATTACHMENTS": "Συνημμένα"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Είσοδος",
|
"LABEL_LOGIN": "Είσοδος",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "No",
|
"NO": "No",
|
||||||
"INACTIVE": "Inactive",
|
"INACTIVE": "Inactive",
|
||||||
"DEFAULT": "default",
|
"DEFAULT": "default",
|
||||||
"HELP": "Help"
|
"HELP": "Help",
|
||||||
|
"TEXT": "Text",
|
||||||
|
"ATTACHMENTS": "Attachments"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Login",
|
"LABEL_LOGIN": "Login",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "No",
|
"NO": "No",
|
||||||
"INACTIVE": "Inactive",
|
"INACTIVE": "Inactive",
|
||||||
"DEFAULT": "default",
|
"DEFAULT": "default",
|
||||||
"HELP": "Help"
|
"HELP": "Help",
|
||||||
|
"TEXT": "Text",
|
||||||
|
"ATTACHMENTS": "Attachments"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Login",
|
"LABEL_LOGIN": "Login",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "No",
|
"NO": "No",
|
||||||
"INACTIVE": "Inactive",
|
"INACTIVE": "Inactive",
|
||||||
"DEFAULT": "predeterminado",
|
"DEFAULT": "predeterminado",
|
||||||
"HELP": "Ayuda"
|
"HELP": "Ayuda",
|
||||||
|
"TEXT": "Texto",
|
||||||
|
"ATTACHMENTS": "Adjuntos"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Login",
|
"LABEL_LOGIN": "Login",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "Ei",
|
"NO": "Ei",
|
||||||
"INACTIVE": "Inactive",
|
"INACTIVE": "Inactive",
|
||||||
"DEFAULT": "vaikimisi",
|
"DEFAULT": "vaikimisi",
|
||||||
"HELP": "Abi"
|
"HELP": "Abi",
|
||||||
|
"TEXT": "Tekst",
|
||||||
|
"ATTACHMENTS": "Manused"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Logi sisse",
|
"LABEL_LOGIN": "Logi sisse",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "Ez",
|
"NO": "Ez",
|
||||||
"INACTIVE": "Inaktibo",
|
"INACTIVE": "Inaktibo",
|
||||||
"DEFAULT": "lehenetsia",
|
"DEFAULT": "lehenetsia",
|
||||||
"HELP": "Laguntza"
|
"HELP": "Laguntza",
|
||||||
|
"TEXT": "Testua",
|
||||||
|
"ATTACHMENTS": "Eranskinak"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Login",
|
"LABEL_LOGIN": "Login",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "خیر",
|
"NO": "خیر",
|
||||||
"INACTIVE": "Inactive",
|
"INACTIVE": "Inactive",
|
||||||
"DEFAULT": "پیشفرض",
|
"DEFAULT": "پیشفرض",
|
||||||
"HELP": "راهنما"
|
"HELP": "راهنما",
|
||||||
|
"TEXT": "متن",
|
||||||
|
"ATTACHMENTS": "پیوستها"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "ورود",
|
"LABEL_LOGIN": "ورود",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "Ei",
|
"NO": "Ei",
|
||||||
"INACTIVE": "Inactive",
|
"INACTIVE": "Inactive",
|
||||||
"DEFAULT": "oletus",
|
"DEFAULT": "oletus",
|
||||||
"HELP": "Ohje"
|
"HELP": "Ohje",
|
||||||
|
"TEXT": "Teksti",
|
||||||
|
"ATTACHMENTS": "Liite"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Tunnus",
|
"LABEL_LOGIN": "Tunnus",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "Non",
|
"NO": "Non",
|
||||||
"INACTIVE": "Inactive",
|
"INACTIVE": "Inactive",
|
||||||
"DEFAULT": "défaut",
|
"DEFAULT": "défaut",
|
||||||
"HELP": "Aide"
|
"HELP": "Aide",
|
||||||
|
"TEXT": "Texte",
|
||||||
|
"ATTACHMENTS": "Pièces jointes"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Identifiant",
|
"LABEL_LOGIN": "Identifiant",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "Nem",
|
"NO": "Nem",
|
||||||
"INACTIVE": "Inactive",
|
"INACTIVE": "Inactive",
|
||||||
"DEFAULT": "default",
|
"DEFAULT": "default",
|
||||||
"HELP": "Súgó"
|
"HELP": "Súgó",
|
||||||
|
"TEXT": "Szöveg",
|
||||||
|
"ATTACHMENTS": "Mellékletek"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Bejelentkezés",
|
"LABEL_LOGIN": "Bejelentkezés",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "Tidak",
|
"NO": "Tidak",
|
||||||
"INACTIVE": "Inactive",
|
"INACTIVE": "Inactive",
|
||||||
"DEFAULT": "Bawaan",
|
"DEFAULT": "Bawaan",
|
||||||
"HELP": "Bantuan"
|
"HELP": "Bantuan",
|
||||||
|
"TEXT": "Teks",
|
||||||
|
"ATTACHMENTS": "Lampiran"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Login",
|
"LABEL_LOGIN": "Login",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "Nei",
|
"NO": "Nei",
|
||||||
"INACTIVE": "Inactive",
|
"INACTIVE": "Inactive",
|
||||||
"DEFAULT": "sjálfgefið",
|
"DEFAULT": "sjálfgefið",
|
||||||
"HELP": "Hjálp"
|
"HELP": "Hjálp",
|
||||||
|
"TEXT": "Texti",
|
||||||
|
"ATTACHMENTS": "Viðhengi"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Innskráning",
|
"LABEL_LOGIN": "Innskráning",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "No",
|
"NO": "No",
|
||||||
"INACTIVE": "Inattivo",
|
"INACTIVE": "Inattivo",
|
||||||
"DEFAULT": "predefinito",
|
"DEFAULT": "predefinito",
|
||||||
"HELP": "Aiuto"
|
"HELP": "Aiuto",
|
||||||
|
"TEXT": "Messaggio",
|
||||||
|
"ATTACHMENTS": "Allegati"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Login",
|
"LABEL_LOGIN": "Login",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "いいえ",
|
"NO": "いいえ",
|
||||||
"INACTIVE": "Inactive",
|
"INACTIVE": "Inactive",
|
||||||
"DEFAULT": "デフォルト",
|
"DEFAULT": "デフォルト",
|
||||||
"HELP": "ヘルプ"
|
"HELP": "ヘルプ",
|
||||||
|
"TEXT": "キーワード",
|
||||||
|
"ATTACHMENTS": "添付ファイル"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "ログイン",
|
"LABEL_LOGIN": "ログイン",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "아니요",
|
"NO": "아니요",
|
||||||
"INACTIVE": "Inactive",
|
"INACTIVE": "Inactive",
|
||||||
"DEFAULT": "default",
|
"DEFAULT": "default",
|
||||||
"HELP": "도움말"
|
"HELP": "도움말",
|
||||||
|
"TEXT": "본문",
|
||||||
|
"ATTACHMENTS": "첨부파일"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "아이디",
|
"LABEL_LOGIN": "아이디",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "Ne",
|
"NO": "Ne",
|
||||||
"INACTIVE": "Inactive",
|
"INACTIVE": "Inactive",
|
||||||
"DEFAULT": "numatytasis",
|
"DEFAULT": "numatytasis",
|
||||||
"HELP": "Pagalba"
|
"HELP": "Pagalba",
|
||||||
|
"TEXT": "Laiško Tekstas",
|
||||||
|
"ATTACHMENTS": "Priedai"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Prisijungimo vardas",
|
"LABEL_LOGIN": "Prisijungimo vardas",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "Nē",
|
"NO": "Nē",
|
||||||
"INACTIVE": "Inactive",
|
"INACTIVE": "Inactive",
|
||||||
"DEFAULT": "default",
|
"DEFAULT": "default",
|
||||||
"HELP": "Palīdzība"
|
"HELP": "Palīdzība",
|
||||||
|
"TEXT": "Teksts",
|
||||||
|
"ATTACHMENTS": "Pielikumi"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Ielogoties",
|
"LABEL_LOGIN": "Ielogoties",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "Nei",
|
"NO": "Nei",
|
||||||
"INACTIVE": "Inactive",
|
"INACTIVE": "Inactive",
|
||||||
"DEFAULT": "Standard",
|
"DEFAULT": "Standard",
|
||||||
"HELP": "Hjelp"
|
"HELP": "Hjelp",
|
||||||
|
"TEXT": "Tekst",
|
||||||
|
"ATTACHMENTS": "Vedlegg"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Logg inn",
|
"LABEL_LOGIN": "Logg inn",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "Nee",
|
"NO": "Nee",
|
||||||
"INACTIVE": "Inactief",
|
"INACTIVE": "Inactief",
|
||||||
"DEFAULT": "standaard",
|
"DEFAULT": "standaard",
|
||||||
"HELP": "Help"
|
"HELP": "Help",
|
||||||
|
"TEXT": "Tekst",
|
||||||
|
"ATTACHMENTS": "Bijlagen"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Inlognaam",
|
"LABEL_LOGIN": "Inlognaam",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "Nie",
|
"NO": "Nie",
|
||||||
"INACTIVE": "Inactive",
|
"INACTIVE": "Inactive",
|
||||||
"DEFAULT": "domyślna",
|
"DEFAULT": "domyślna",
|
||||||
"HELP": "Pomoc"
|
"HELP": "Pomoc",
|
||||||
|
"TEXT": "Tekst",
|
||||||
|
"ATTACHMENTS": "Załączniki"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Login",
|
"LABEL_LOGIN": "Login",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "Não",
|
"NO": "Não",
|
||||||
"INACTIVE": "Inactive",
|
"INACTIVE": "Inactive",
|
||||||
"DEFAULT": "padrão",
|
"DEFAULT": "padrão",
|
||||||
"HELP": "Ajuda"
|
"HELP": "Ajuda",
|
||||||
|
"TEXT": "Texto",
|
||||||
|
"ATTACHMENTS": "Anexos"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Usuário",
|
"LABEL_LOGIN": "Usuário",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "Não",
|
"NO": "Não",
|
||||||
"INACTIVE": "Inativo",
|
"INACTIVE": "Inativo",
|
||||||
"DEFAULT": "predefinida",
|
"DEFAULT": "predefinida",
|
||||||
"HELP": "Ajuda"
|
"HELP": "Ajuda",
|
||||||
|
"TEXT": "Texto",
|
||||||
|
"ATTACHMENTS": "Anexos"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Utilizador",
|
"LABEL_LOGIN": "Utilizador",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "Não",
|
"NO": "Não",
|
||||||
"INACTIVE": "Inativo",
|
"INACTIVE": "Inativo",
|
||||||
"DEFAULT": "predefinida",
|
"DEFAULT": "predefinida",
|
||||||
"HELP": "Ajuda"
|
"HELP": "Ajuda",
|
||||||
|
"TEXT": "Texto",
|
||||||
|
"ATTACHMENTS": "Anexos"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Utilizador",
|
"LABEL_LOGIN": "Utilizador",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "Nu",
|
"NO": "Nu",
|
||||||
"INACTIVE": "Inactive",
|
"INACTIVE": "Inactive",
|
||||||
"DEFAULT": "default",
|
"DEFAULT": "default",
|
||||||
"HELP": "Help"
|
"HELP": "Help",
|
||||||
|
"TEXT": "Conținut",
|
||||||
|
"ATTACHMENTS": "Atașament"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Conectare",
|
"LABEL_LOGIN": "Conectare",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "Нет",
|
"NO": "Нет",
|
||||||
"INACTIVE": "Неактивно",
|
"INACTIVE": "Неактивно",
|
||||||
"DEFAULT": "По умолчанию",
|
"DEFAULT": "По умолчанию",
|
||||||
"HELP": "Помощь"
|
"HELP": "Помощь",
|
||||||
|
"TEXT": "Текст",
|
||||||
|
"ATTACHMENTS": "Файлы"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Логин",
|
"LABEL_LOGIN": "Логин",
|
||||||
|
|
@ -393,7 +395,7 @@
|
||||||
"LAYOUT_NO_SPLIT": "Одна панель",
|
"LAYOUT_NO_SPLIT": "Одна панель",
|
||||||
"LAYOUT_VERTICAL_SPLIT": "Вертикальные панели",
|
"LAYOUT_VERTICAL_SPLIT": "Вертикальные панели",
|
||||||
"LAYOUT_HORIZONTAL_SPLIT": "Горизонтальные панели",
|
"LAYOUT_HORIZONTAL_SPLIT": "Горизонтальные панели",
|
||||||
"SHOW_NEXT_MESSAGE": "Перейти к следующему сообщению после удаления/перемещения текущего",
|
"SHOW_NEXT_MESSAGE": "Перейти к следующему сообщению после удаления\/перемещения текущего",
|
||||||
"EDITOR": "Редактор текста по умолчанию",
|
"EDITOR": "Редактор текста по умолчанию",
|
||||||
"EDITOR_HTML": "Форматированный",
|
"EDITOR_HTML": "Форматированный",
|
||||||
"EDITOR_PLAIN": "Простой",
|
"EDITOR_PLAIN": "Простой",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "Nie",
|
"NO": "Nie",
|
||||||
"INACTIVE": "Inactive",
|
"INACTIVE": "Inactive",
|
||||||
"DEFAULT": "default",
|
"DEFAULT": "default",
|
||||||
"HELP": "Pomoc"
|
"HELP": "Pomoc",
|
||||||
|
"TEXT": "Text",
|
||||||
|
"ATTACHMENTS": "Prílohy"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Používateľské meno",
|
"LABEL_LOGIN": "Používateľské meno",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "Ne",
|
"NO": "Ne",
|
||||||
"INACTIVE": "Inactive",
|
"INACTIVE": "Inactive",
|
||||||
"DEFAULT": "privzeto",
|
"DEFAULT": "privzeto",
|
||||||
"HELP": "Pomoč"
|
"HELP": "Pomoč",
|
||||||
|
"TEXT": "Besedilo",
|
||||||
|
"ATTACHMENTS": "Priloge"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Prijava",
|
"LABEL_LOGIN": "Prijava",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "Nej",
|
"NO": "Nej",
|
||||||
"INACTIVE": "Inactive",
|
"INACTIVE": "Inactive",
|
||||||
"DEFAULT": "standard",
|
"DEFAULT": "standard",
|
||||||
"HELP": "Hjälp"
|
"HELP": "Hjälp",
|
||||||
|
"TEXT": "Text",
|
||||||
|
"ATTACHMENTS": "Bilagor"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Användarnamn",
|
"LABEL_LOGIN": "Användarnamn",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "Hayır",
|
"NO": "Hayır",
|
||||||
"INACTIVE": "Inactive",
|
"INACTIVE": "Inactive",
|
||||||
"DEFAULT": "default",
|
"DEFAULT": "default",
|
||||||
"HELP": "Yardım"
|
"HELP": "Yardım",
|
||||||
|
"TEXT": "Metin",
|
||||||
|
"ATTACHMENTS": "Ekler"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Giriş",
|
"LABEL_LOGIN": "Giriş",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "Ні",
|
"NO": "Ні",
|
||||||
"INACTIVE": "Inactive",
|
"INACTIVE": "Inactive",
|
||||||
"DEFAULT": "default",
|
"DEFAULT": "default",
|
||||||
"HELP": "Допомога"
|
"HELP": "Допомога",
|
||||||
|
"TEXT": "Текст",
|
||||||
|
"ATTACHMENTS": "Файли"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Логін",
|
"LABEL_LOGIN": "Логін",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "Không",
|
"NO": "Không",
|
||||||
"INACTIVE": "Inactive",
|
"INACTIVE": "Inactive",
|
||||||
"DEFAULT": "mặc định",
|
"DEFAULT": "mặc định",
|
||||||
"HELP": "Hỗ trợ"
|
"HELP": "Hỗ trợ",
|
||||||
|
"TEXT": "Nội dung trong mail",
|
||||||
|
"ATTACHMENTS": "Phần đính kèm"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "Đăng nhập",
|
"LABEL_LOGIN": "Đăng nhập",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "否",
|
"NO": "否",
|
||||||
"INACTIVE": "不生效",
|
"INACTIVE": "不生效",
|
||||||
"DEFAULT": "默认",
|
"DEFAULT": "默认",
|
||||||
"HELP": "帮助"
|
"HELP": "帮助",
|
||||||
|
"TEXT": "内容",
|
||||||
|
"ATTACHMENTS": "附件"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "登录",
|
"LABEL_LOGIN": "登录",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,9 @@
|
||||||
"NO": "否",
|
"NO": "否",
|
||||||
"INACTIVE": "閒置中",
|
"INACTIVE": "閒置中",
|
||||||
"DEFAULT": "預設",
|
"DEFAULT": "預設",
|
||||||
"HELP": "協助"
|
"HELP": "協助",
|
||||||
|
"TEXT": "內文",
|
||||||
|
"ATTACHMENTS": "附件"
|
||||||
},
|
},
|
||||||
"LOGIN": {
|
"LOGIN": {
|
||||||
"LABEL_LOGIN": "登入",
|
"LABEL_LOGIN": "登入",
|
||||||
|
|
|
||||||
|
|
@ -135,24 +135,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<div style="display:flex">
|
<div style="display:flex">
|
||||||
<div class="btn-group" style="flex-grow:1" id="area-toggle">
|
<div class="btn-group" style="flex-grow:1"></div>
|
||||||
<button type="button" class="btn" data-bind="click: bodyArea,
|
|
||||||
css: { 'active': 'body' == viewArea() }">
|
|
||||||
<i class="icon-file-text"></i>
|
|
||||||
</button>
|
|
||||||
<button type="button" class="btn" data-bind="click: attachmentsArea,
|
|
||||||
css: { 'btn-danger': attachmentsInErrorCount(), 'active': 'attachments' == viewArea() },
|
|
||||||
tooltipErrorTip: attachmentsErrorTooltip">
|
|
||||||
<span data-bind="visible: attachmentsCount()">
|
|
||||||
<b data-bind="text: attachmentsCount"></b>
|
|
||||||
|
|
||||||
</span>
|
|
||||||
<i data-bind="css: { 'icon-attachment': !attachmentsInProcessCount(), 'icon-spinner': attachmentsInProcessCount()}"></i>
|
|
||||||
</button>
|
|
||||||
<button type="button" class="btn" data-bind="visible: canMailvelope, click: mailvelopeArea, css: { 'active': 'mailvelope' == viewArea() }">
|
|
||||||
<i class="mailvelope-icon"></i>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div class="btn-group">
|
<div class="btn-group">
|
||||||
<a class="btn fontastic" data-bind="click: togglePgpSign, visible: canPgpSign, css: {'btn-success': pgpSign()}" data-i18n="[title]OPENPGP/LABEL_SIGN">
|
<a class="btn fontastic" data-bind="click: togglePgpSign, visible: canPgpSign, css: {'btn-success': pgpSign()}" data-i18n="[title]OPENPGP/LABEL_SIGN">
|
||||||
✍
|
✍
|
||||||
|
|
@ -170,7 +153,34 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="attachmentAreaParent" data-bind="visible: 'attachments' == viewArea()">
|
<div class="tabs">
|
||||||
|
<input type="radio" name="tabs" value="body" id="tab-body" data-bind="checked: viewArea">
|
||||||
|
<label for="tab-body"
|
||||||
|
role="tab"
|
||||||
|
aria-selected="true"
|
||||||
|
aria-controls="panel1"
|
||||||
|
tabindex="0">
|
||||||
|
<i class="icon-file-text"></i>
|
||||||
|
<span data-i18n="GLOBAL/TEXT"></span>
|
||||||
|
</label>
|
||||||
|
<div class="tab-content" role="tabpanel" aria-hidden="false" style="grid-column-end:4">
|
||||||
|
<div class="textAreaParent" data-bind="initDom: editorArea, attr:{spellcheck:allowSpellcheck()?'true':'false'}"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<input type="radio" name="tabs" value="attachments" id="tab-attachments" data-bind="checked: viewArea">
|
||||||
|
<label for="tab-attachments"
|
||||||
|
role="tab"
|
||||||
|
aria-selected="false"
|
||||||
|
aria-controls="panel2"
|
||||||
|
tabindex="0"
|
||||||
|
data-bind="
|
||||||
|
css: { 'btn-danger': attachmentsInErrorCount() },
|
||||||
|
tooltipErrorTip: attachmentsErrorTooltip">
|
||||||
|
<b data-bind="visible: attachmentsCount, text: attachmentsCount"></b>
|
||||||
|
<i data-bind="css: { 'icon-attachment': !attachmentsInProcessCount(), 'icon-spinner': attachmentsInProcessCount()}"></i>
|
||||||
|
<span data-i18n="GLOBAL/ATTACHMENTS"></span>
|
||||||
|
</label>
|
||||||
|
<div class="tab-content attachmentAreaParent" role="tabpanel" aria-hidden="true" style="grid-column-end:4">
|
||||||
<div class="b-attachment-place" data-bind="visible: addAttachmentEnabled() && dragAndDropVisible(), css: {'dragAndDropOver': dragAndDropOver}"
|
<div class="b-attachment-place" data-bind="visible: addAttachmentEnabled() && dragAndDropVisible(), css: {'dragAndDropOver': dragAndDropOver}"
|
||||||
data-i18n="COMPOSE/ATTACH_DROP_FILES_DESC"></div>
|
data-i18n="COMPOSE/ATTACH_DROP_FILES_DESC"></div>
|
||||||
<ul class="attachmentList" data-bind="foreach: attachments">
|
<ul class="attachmentList" data-bind="foreach: attachments">
|
||||||
|
|
@ -191,7 +201,16 @@
|
||||||
data-i18n="COMPOSE/NO_ATTACHMENTS_HERE_DESC"></div>
|
data-i18n="COMPOSE/NO_ATTACHMENTS_HERE_DESC"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="textAreaParent" data-bind="visible: 'body' == viewArea(), initDom: editorArea, attr:{spellcheck:allowSpellcheck()?'true':'false'}"></div>
|
<input type="radio" name="tabs" value="mailvelope" id="tab-mailvelope" data-bind="checked: viewArea">
|
||||||
|
<label for="tab-mailvelope"
|
||||||
<div class="textAreaParent" id="mailvelope-editor" data-bind="visible: 'mailvelope' == viewArea()"></div>
|
role="tab"
|
||||||
|
aria-selected="false"
|
||||||
|
aria-controls="panel3"
|
||||||
|
tabindex="0"
|
||||||
|
data-bind="visible: canMailvelope">
|
||||||
|
<i class="mailvelope-icon"></i>
|
||||||
|
<span>Mailvelope</span>
|
||||||
|
</label>
|
||||||
|
<div class="tab-content textAreaParent" id="mailvelope-editor" role="tabpanel" aria-hidden="true" style="grid-column-end:4" data-bind="visible: canMailvelope"></div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue