Added option to save email in Nextcloud for #96 and @Mer0me

https://help.nextcloud.com/t/best-way-to-archive-mails-into-nextcloud-folders/144252
This commit is contained in:
the-djmaze 2022-10-13 14:07:04 +02:00
parent ee03abfd09
commit 1625e722a2
2 changed files with 62 additions and 31 deletions

View file

@ -30,45 +30,42 @@
});
}
};
view.nextcloudSaveMsg = () => {
let msg = view.message();
rl.pluginRemoteRequest(
(iError, data) => {
console.dir({
iError:iError,
data:data
});
},
'NextcloudSaveMsg',
{
'msgHash': msg.requestHash,
'filename': msg.subject()
}
);
};
}
});
let template = document.getElementById('MailMessageView');
const attachmentsControls = template.content.querySelector('.attachmentsControls');
if (attachmentsControls) {
attachmentsControls.append(Element.fromHTML('<span>'
+ '<i class="fontastic iconcolor-red" data-bind="visible: saveNextcloudError">✖</i>'
+ '<i class="fontastic" data-bind="visible: !saveNextcloudError(), css: {\'icon-spinner\': saveNextcloudLoading()}">💾</i>'
+ '<span class="g-ui-link" data-bind="click: saveNextcloud" data-i18n="NEXTCLOUD/SAVE_ATTACHMENTS">Save Nextcloud</span>'
+ '<span class="g-ui-link" data-bind="click: saveNextcloud" data-i18n="NEXTCLOUD/SAVE_ATTACHMENTS"></span>'
+ '</span>'));
}
/** TODO: File browser to attach files in composer */
/*
let cfg = rl.settings.get('Nextcloud');
fetch(cfg.WebDAV . '/files/' . cfg.UID, {
method: 'PROPFIND',
mode: 'same-origin',
cache: 'no-cache',
redirect: 'error',
credentials: 'same-origin',
headers: {
'Content-Type': 'application/xml; charset=utf-8',
},
body: '<?xml version="1.0"?>'
+ '<d:propfind xmlns:d="DAV:">'
+ '<d:prop><d:resourcetype/></d:prop>'
+ '</d:propfind>'
})
.then(response => response.text())
.then(text => {
console.dir({response:text});
parser = new DOMParser();
xmlDoc = parser.parseFromString(text, "text/xml");
})
.catch(error => console.error(error));
*/
const msgMenu = template.content.querySelector('#more-view-dropdown-id + menu');
if (msgMenu) {
msgMenu.append(Element.fromHTML('<li role="presentation">'
+ '<a href="#" tabindex="-1" data-icon="📥" data-bind="click: nextcloudSaveMsg" data-i18n="NEXTCLOUD/SAVE_EML"></a>'
+ '</li>'));
}
})(window.rl);