mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-22 07:53:39 +01:00
Mail: Fix issues adding email account
- Et2Tree.refreshItem() wrong return type
This commit is contained in:
parent
64ce874f62
commit
f654b4ee00
@ -509,7 +509,10 @@ export class Et2Tree extends Et2WidgetWithSelectMixin(LitElement) implements Fin
|
|||||||
{
|
{
|
||||||
let item = this.getNode(_id);
|
let item = this.getNode(_id);
|
||||||
// if the item does not exist in the tree yet no need to refresh
|
// if the item does not exist in the tree yet no need to refresh
|
||||||
if(item == null) return
|
if(item == null)
|
||||||
|
{
|
||||||
|
return Promise.resolve();
|
||||||
|
}
|
||||||
return this.handleLazyLoading(item).then((result) => {
|
return this.handleLazyLoading(item).then((result) => {
|
||||||
item.item = [...result.item]
|
item.item = [...result.item]
|
||||||
this.requestUpdate("_selectOptions")
|
this.requestUpdate("_selectOptions")
|
||||||
@ -1039,6 +1042,7 @@ export class Et2Tree extends Et2WidgetWithSelectMixin(LitElement) implements Fin
|
|||||||
>
|
>
|
||||||
<sl-icon name="chevron-right" slot="expand-icon"></sl-icon>
|
<sl-icon name="chevron-right" slot="expand-icon"></sl-icon>
|
||||||
<sl-icon name="chevron-down" slot="collapse-icon"></sl-icon>
|
<sl-icon name="chevron-down" slot="collapse-icon"></sl-icon>
|
||||||
|
<slot></slot>
|
||||||
${repeat(this._selectOptions, (o) => o.value, this._optionTemplate)}
|
${repeat(this._selectOptions, (o) => o.value, this._optionTemplate)}
|
||||||
</sl-tree>
|
</sl-tree>
|
||||||
`;
|
`;
|
||||||
|
@ -677,8 +677,19 @@ app.classes.mail = AppJS.extend(
|
|||||||
break;
|
break;
|
||||||
case 'add':
|
case 'add':
|
||||||
const current_id = tree.getValue();
|
const current_id = tree.getValue();
|
||||||
|
|
||||||
|
tree._selectOptions.push({
|
||||||
|
id: "" + _id,
|
||||||
|
label: this.egw.lang("Loading..."),
|
||||||
|
selected: false,
|
||||||
|
loading: true,
|
||||||
|
lazy: true
|
||||||
|
});
|
||||||
|
tree.requestUpdate("_selectOptions");
|
||||||
|
tree.updateComplete.then(async () =>
|
||||||
|
{
|
||||||
// need to wait tree is refreshed: current and new id are there AND current folder is selected again
|
// need to wait tree is refreshed: current and new id are there AND current folder is selected again
|
||||||
tree.refreshItem(0).then(() => {
|
await tree.refreshItem(_id);
|
||||||
if (tree.getNode(_id) && tree.getNode(current_id))
|
if (tree.getNode(_id) && tree.getNode(current_id))
|
||||||
{
|
{
|
||||||
if (!tree.getSelectedNode())
|
if (!tree.getSelectedNode())
|
||||||
@ -689,16 +700,19 @@ app.classes.mail = AppJS.extend(
|
|||||||
{
|
{
|
||||||
// open new account
|
// open new account
|
||||||
// need to wait new folders are loaded AND current folder is selected again
|
// need to wait new folders are loaded AND current folder is selected again
|
||||||
tree.openItem(_id, true).then(() => {
|
await tree.openItem(_id, true);
|
||||||
if (tree.getNode(_id + '::INBOX')) {
|
if (tree.getNode(_id + '::INBOX'))
|
||||||
if (!tree.getSelectedNode()) {
|
{
|
||||||
|
if (!tree.getSelectedNode())
|
||||||
|
{
|
||||||
tree.reSelectItem(current_id);
|
tree.reSelectItem(current_id);
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
this.mail_changeFolder(_id + '::INBOX', tree, current_id);
|
this.mail_changeFolder(_id + '::INBOX', tree, current_id);
|
||||||
tree.reSelectItem(_id + '::INBOX');
|
tree.reSelectItem(_id + '::INBOX');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user