SciPost Code Repository

Skip to content
Snippets Groups Projects
Commit 624f4db4 authored by Jean-Sébastien Caux's avatar Jean-Sébastien Caux
Browse files

Work on MessageComposer

parent a5d2c177
No related branches found
No related tags found
No related merge requests found
...@@ -2,40 +2,46 @@ ...@@ -2,40 +2,46 @@
<div> <div>
<h1>Compose email message</h1> <h1>Compose email message</h1>
<b-form> <b-form>
<b-form-group <b-row>
id="from_account" <b-col class="col-lg-6">
label="From:" <b-form-group
label-for="input-from-account" id="from_account"
class="mb-4" label="From:"
> label-for="input-from-account"
<b-form-input class="mb-4"
id="input-from-account" >
v-model="form.from_account" <b-form-input
type="email" id="input-from-account"
required v-model="form.from_account"
> type="email"
</b-form-input> required
</b-form-group> >
<b-form-group </b-form-input>
id="to-recipient" </b-form-group>
label="To:" </b-col>
label-for="input-to-recipient" <b-col class="col-lg-6">
class="mb-4" <b-form-group
> id="to-recipient"
<b-form-input label="To:"
id="input-to-recipient" label-for="input-to-recipient"
v-model="form.torecipient" class="mb-4"
type="email" >
required <b-form-input
placeholder="Enter main recipient's email" id="input-to-recipient"
> v-model="form.torecipient"
</b-form-input> type="email"
</b-form-group> required
placeholder="Enter main recipient's email"
>
</b-form-input>
</b-form-group>
</b-col>
</b-row>
<b-form-group <b-form-group
id="cc" id="cc"
label="cc:" label="cc:"
label-for="input-cc" label-for="input-cc"
class="mb-4" class="mb-2"
> >
<b-form-input <b-form-input
id="input-cc" id="input-cc"
...@@ -86,7 +92,10 @@ ...@@ -86,7 +92,10 @@
</b-col> </b-col>
<b-col class="col-lg-6"> <b-col class="col-lg-6">
<h3>Preview:</h3> <h3>Preview:</h3>
<span v-html="sanitized_body_html"></span> <span
v-html="sanitized_body_html"
class="white-space-pre-wrap"
></span>
</b-col> </b-col>
</b-row> </b-row>
<b-button type="savedraft" variant="warning">Save draft</b-button> <b-button type="savedraft" variant="warning">Save draft</b-button>
...@@ -102,7 +111,11 @@ ...@@ -102,7 +111,11 @@
originalmessage: { originalmessage: {
type: Object, type: Object,
required: false, required: false,
} },
action: {
type: String,
required: true,
},
}, },
data () { data () {
return { return {
...@@ -125,15 +138,35 @@ ...@@ -125,15 +138,35 @@
mounted () { mounted () {
if (this.originalmessage) { if (this.originalmessage) {
this.form.from_account = this.originalmessage.data.To this.form.from_account = this.originalmessage.data.To
this.form.torecipient = this.originalmessage.data.sender this.form.body = ('\n\n<blockquote>\n')
this.form.cc = this.originalmessage.data.recipients if (this.action == 'reply') {
this.form.subject = 'Re: ' + this.originalmessage.data.subject this.form.torecipient = this.originalmessage.data.sender
this.form.body = ('\n\n<blockquote>\nOn ' this.form.cc = this.originalmessage.data.recipients
+ this.originalmessage.datetimestamp this.form.subject = 'Re: ' + this.originalmessage.data.subject
+ ', ' + this.originalmessage.data.from + ' wrote:\n' this.form.body += ('On ' + this.originalmessage.datetimestamp +
+ this.originalmessage.data["body-plain"] ', ' + this.originalmessage.data.from +
+ '\n</blockquote>') ' wrote:\n\n')
}
if (this.action == 'forward') {
this.form.subject = 'Fwd: ' + this.originalmessage.data.subject
this.form.body += ('Begin forwarded message:\n\n' +
'From: ' + this.originalmessage.data.sender +
'\nSubject: ' + this.originalmessage.subject +
'\nDate: ' + this.originalmessage.datetimestamp +
'\nTo: ' + this.originalmessage.data.To +
'\n\n')
}
this.form.body += (this.originalmessage.data["body-plain"] +
'\n</blockquote>')
} }
} }
} }
</script> </script>
<style scoped>
.white-space-pre-wrap {
white-space: pre-wrap;
}
</style>
<template> <template>
<div> <div>
<b-card header-tag="header" footer-tag="footer" class="overflow-x-auto"> <b-card
border-variant="primary"
class="overflow-x-auto"
header-tag="header"
footer-tag="footer"
>
<template v-slot:header> <template v-slot:header>
<b-button v-b-modal.modal-reply>Reply</b-button>
<b-modal <ul class="list-inline m-2">
id="modal-reply" <li class="list-inline-item">
size="xl" <b-button
title="Reply" v-b-modal.modal-reply
hide-header-close variant="primary"
no-close-on-escape >
no-close-on-backdrop Reply
> </b-button>
<message-composer :originalmessage="message"></message-composer> <b-modal
<template v-slot:modal-footer="{ cancel, }"> id="modal-reply"
<b-button size="sm" variant="danger" @click="cancel()"> size="xl"
Cancel title="Reply"
hide-header-close
no-close-on-escape
no-close-on-backdrop
>
<message-composer :originalmessage="message" action="reply"></message-composer>
<template v-slot:modal-footer="{ cancel, }">
<b-button size="sm" variant="danger" @click="cancel()">
Cancel
</b-button>
</template>
</b-modal>
</li>
<li class="list-inline-item">
<b-button
v-b-modal.modal-forward
variant="dark"
text-variant="white"
>
Forward
</b-button> </b-button>
</template> <b-modal
</b-modal> id="modal-forward"
size="xl"
title="Forward"
hide-header-close
no-close-on-escape
no-close-on-backdrop
>
<message-composer :originalmessage="message" action="forward"></message-composer>
<template v-slot:modal-footer="{ cancel, }">
<b-button variant="danger" @click="cancel()">
Cancel
</b-button>
</template>
</b-modal>
</li>
<li class="list-inline-item">
</li>
</ul>
<hr>
<div class="text-dark"> <div class="text-dark">
<b-row> <b-row>
<b-col class="col-lg-8"> <b-col class="col-lg-8">
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment