mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-25 09:23:28 +01:00
fix click on new mail account does not display unseen badges --ticket #99041
This commit is contained in:
parent
f88fa76866
commit
378ea11c6c
@ -83,6 +83,9 @@ export class Et2Tree extends Et2WidgetWithSelectMixin(LitElement) implements Fin
|
|||||||
//does not work because it would need to be run on the shadow root
|
//does not work because it would need to be run on the shadow root
|
||||||
//@query("sl-tree-item[selected]") selected: SlTreeItem;
|
//@query("sl-tree-item[selected]") selected: SlTreeItem;
|
||||||
|
|
||||||
|
//the trees lazy-loading promise, so we can externally do additional stuff after it resolves
|
||||||
|
private lazyLoading: Promise<void>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get the first selected node using attributes on the shadow root elements
|
* get the first selected node using attributes on the shadow root elements
|
||||||
*/
|
*/
|
||||||
@ -178,7 +181,7 @@ export class Et2Tree extends Et2WidgetWithSelectMixin(LitElement) implements Fin
|
|||||||
// Check if top level should be autoloaded
|
// Check if top level should be autoloaded
|
||||||
if(this.autoloading && !this._selectOptions?.length)
|
if(this.autoloading && !this._selectOptions?.length)
|
||||||
{
|
{
|
||||||
this.handleLazyLoading({item: this._selectOptions}).then((results) =>
|
this.lazyLoading = this.handleLazyLoading({item: this._selectOptions}).then((results) =>
|
||||||
{
|
{
|
||||||
this._selectOptions = results?.item ?? [];
|
this._selectOptions = results?.item ?? [];
|
||||||
this._initCurrent()
|
this._initCurrent()
|
||||||
@ -850,6 +853,15 @@ export class Et2Tree extends Et2WidgetWithSelectMixin(LitElement) implements Fin
|
|||||||
this.widget_object.getObjectById(id).iface.triggerEvent(typeMap[event.type], event);
|
this.widget_object.getObjectById(id).iface.triggerEvent(typeMap[event.type], event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected async finishedLazyLoading()
|
||||||
|
{
|
||||||
|
await this.lazyLoading;
|
||||||
|
let result = this.lazyLoading
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Overridable, add style
|
* Overridable, add style
|
||||||
* @returns {TemplateResult<1>}
|
* @returns {TemplateResult<1>}
|
||||||
@ -923,7 +935,7 @@ export class Et2Tree extends Et2WidgetWithSelectMixin(LitElement) implements Fin
|
|||||||
// No need for this to bubble up, we'll handle it (otherwise the parent leaf will load too)
|
// No need for this to bubble up, we'll handle it (otherwise the parent leaf will load too)
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
|
|
||||||
this.handleLazyLoading(selectOption).then((result) => {
|
this.lazyLoading = this.handleLazyLoading(selectOption).then((result) => {
|
||||||
// TODO: We already have the right option in context. Look into this.getNode(), find out why it's there. It doesn't do a deep search.
|
// TODO: We already have the right option in context. Look into this.getNode(), find out why it's there. It doesn't do a deep search.
|
||||||
const parentNode = selectOption ?? this.getNode(selectOption.id) ?? this.optionSearch(selectOption.id, this._selectOptions, 'id', 'item');
|
const parentNode = selectOption ?? this.getNode(selectOption.id) ?? this.optionSearch(selectOption.id, this._selectOptions, 'id', 'item');
|
||||||
parentNode.item = [...result.item]
|
parentNode.item = [...result.item]
|
||||||
|
@ -4140,7 +4140,7 @@ $filter['before']= date("d-M-Y", $cutoffdate2);
|
|||||||
foreach ($_folder as $_folderName)
|
foreach ($_folder as $_folderName)
|
||||||
{
|
{
|
||||||
list($profileID,$folderName) = explode(self::$delimiter,$_folderName,2);
|
list($profileID,$folderName) = explode(self::$delimiter,$_folderName,2);
|
||||||
if (is_numeric($profileID))
|
if (is_numeric($profileID)) //things like mail::xxx will be ignored
|
||||||
{
|
{
|
||||||
if ($profileID != $this->mail_bo->profileID) continue; // only current connection
|
if ($profileID != $this->mail_bo->profileID) continue; // only current connection
|
||||||
if ($folderName)
|
if ($folderName)
|
||||||
|
@ -1533,10 +1533,8 @@ app.classes.mail = AppJS.extend(
|
|||||||
{
|
{
|
||||||
this.mail_refreshQuotaDisplay();
|
this.mail_refreshQuotaDisplay();
|
||||||
}
|
}
|
||||||
// TODO the two lines below are not working yet.
|
} catch(e) {
|
||||||
//var no =tree_wdg.getSelectedItem();
|
} // ignore the error; maybe the template is not loaded yet
|
||||||
//tree_wdg.focusItem(no.id);
|
|
||||||
} catch(e) { } // ignore the error; maybe the template is not loaded yet
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -2390,7 +2388,7 @@ app.classes.mail = AppJS.extend(
|
|||||||
this.unlock_tree();
|
this.unlock_tree();
|
||||||
},this))
|
},this))
|
||||||
.sendRequest(true);
|
.sendRequest(true);
|
||||||
_widget.updateComplete.then (() => {
|
_widget.finishedLazyLoading().then (() => {
|
||||||
this.mail_changeFolder(folder+"::INBOX", _widget, '');
|
this.mail_changeFolder(folder+"::INBOX", _widget, '');
|
||||||
_widget.reSelectItem(folder+"::INBOX")
|
_widget.reSelectItem(folder+"::INBOX")
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user