mirror of
https://github.com/mjl-/mox.git
synced 2025-06-28 14:58:15 +03:00
webmail: add button to create a mailbox below another one
before this, you could use the button at the top of the list of mailboxes to create a submailbox somewhere, and you would have to specify the full path of the new mailbox name. now you can just open up your Lists/.../ mailbox, and create a mailbox below that hierarchy.
This commit is contained in:
parent
ad26fd265d
commit
ef77f58e08
@ -5499,6 +5499,17 @@ const newMailboxView = (xmb, mailboxlistView, otherMailbox) => {
|
|||||||
remove();
|
remove();
|
||||||
const mailboxIDs = [mbv.mailbox.ID, ...mailboxlistView.mailboxes().filter(mb => mb.Name.startsWith(mbv.mailbox.Name + '/')).map(mb => mb.ID)];
|
const mailboxIDs = [mbv.mailbox.ID, ...mailboxlistView.mailboxes().filter(mb => mb.Name.startsWith(mbv.mailbox.Name + '/')).map(mb => mb.ID)];
|
||||||
await withStatus('Marking mailboxes as read', client.MailboxesMarkRead(mailboxIDs));
|
await withStatus('Marking mailboxes as read', client.MailboxesMarkRead(mailboxIDs));
|
||||||
|
})), dom.div(dom.clickbutton('Create mailbox', attr.title('Create new mailbox within this mailbox.'), function click(e) {
|
||||||
|
let fieldset;
|
||||||
|
let name;
|
||||||
|
const ref = e.target;
|
||||||
|
const removeCreate = popover(ref, {}, dom.form(async function submit(e) {
|
||||||
|
e.preventDefault();
|
||||||
|
await withStatus('Creating mailbox', client.MailboxCreate(mbv.mailbox.Name + '/' + name.value), fieldset);
|
||||||
|
removeCreate();
|
||||||
|
}, fieldset = dom.fieldset(dom.label('Name ', name = dom.input(attr.required('yes'))), ' ', dom.submitbutton('Create'))));
|
||||||
|
remove();
|
||||||
|
name.focus();
|
||||||
})), dom.div(dom.clickbutton('Move to trash', attr.title('Move mailbox, its messages and its mailboxes to the trash.'), async function click() {
|
})), dom.div(dom.clickbutton('Move to trash', attr.title('Move mailbox, its messages and its mailboxes to the trash.'), async function click() {
|
||||||
if (!trashmb) {
|
if (!trashmb) {
|
||||||
window.alert('No mailbox configured for trash yet.');
|
window.alert('No mailbox configured for trash yet.');
|
||||||
|
@ -5156,6 +5156,32 @@ const newMailboxView = (xmb: api.Mailbox, mailboxlistView: MailboxlistView, othe
|
|||||||
await withStatus('Marking mailboxes as read', client.MailboxesMarkRead(mailboxIDs))
|
await withStatus('Marking mailboxes as read', client.MailboxesMarkRead(mailboxIDs))
|
||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
|
dom.div(
|
||||||
|
dom.clickbutton('Create mailbox', attr.title('Create new mailbox within this mailbox.'), function click(e: MouseEvent) {
|
||||||
|
let fieldset: HTMLFieldSetElement
|
||||||
|
let name: HTMLInputElement
|
||||||
|
const ref = e.target! as HTMLElement
|
||||||
|
const removeCreate = popover(ref, {},
|
||||||
|
dom.form(
|
||||||
|
async function submit(e: SubmitEvent) {
|
||||||
|
e.preventDefault()
|
||||||
|
await withStatus('Creating mailbox', client.MailboxCreate(mbv.mailbox.Name + '/' + name.value), fieldset)
|
||||||
|
removeCreate()
|
||||||
|
},
|
||||||
|
fieldset=dom.fieldset(
|
||||||
|
dom.label(
|
||||||
|
'Name ',
|
||||||
|
name=dom.input(attr.required('yes')),
|
||||||
|
),
|
||||||
|
' ',
|
||||||
|
dom.submitbutton('Create'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
remove()
|
||||||
|
name.focus()
|
||||||
|
}),
|
||||||
|
),
|
||||||
dom.div(
|
dom.div(
|
||||||
dom.clickbutton('Move to trash', attr.title('Move mailbox, its messages and its mailboxes to the trash.'), async function click() {
|
dom.clickbutton('Move to trash', attr.title('Move mailbox, its messages and its mailboxes to the trash.'), async function click() {
|
||||||
if (!trashmb) {
|
if (!trashmb) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user