forked from extern/egroupware
* Etemplate: Avoid "Uncaught TypeError: Cannot read property ‘length’ of undefined"
This was happening when an app was open but not currently active and had a push update with no type.
This commit is contained in:
parent
7f9a41f1c2
commit
7b7a855b13
@ -475,10 +475,6 @@ var et2_nextmatch = /** @class */ (function (_super) {
|
|||||||
// Make sure we're dealing with arrays
|
// Make sure we're dealing with arrays
|
||||||
if (typeof _row_ids == 'string' || typeof _row_ids == 'number')
|
if (typeof _row_ids == 'string' || typeof _row_ids == 'number')
|
||||||
_row_ids = [_row_ids];
|
_row_ids = [_row_ids];
|
||||||
if (!this.div.is(':visible')) // run refresh, once we become visible again
|
|
||||||
{
|
|
||||||
return this._queue_refresh(_row_ids, _type);
|
|
||||||
}
|
|
||||||
// Make some changes in what we're doing based on preference
|
// Make some changes in what we're doing based on preference
|
||||||
var update_pref = egw.preference("lazy-update") || 'lazy';
|
var update_pref = egw.preference("lazy-update") || 'lazy';
|
||||||
if (_type == et2_nextmatch.UPDATE && !this.is_sorted_by_modified()) {
|
if (_type == et2_nextmatch.UPDATE && !this.is_sorted_by_modified()) {
|
||||||
@ -492,6 +488,10 @@ var et2_nextmatch = /** @class */ (function (_super) {
|
|||||||
}
|
}
|
||||||
if (typeof _type == 'undefined')
|
if (typeof _type == 'undefined')
|
||||||
_type = et2_nextmatch.EDIT;
|
_type = et2_nextmatch.EDIT;
|
||||||
|
if (!this.div.is(':visible')) // run refresh, once we become visible again
|
||||||
|
{
|
||||||
|
return this._queue_refresh(_row_ids, _type);
|
||||||
|
}
|
||||||
if (typeof _row_ids == "undefined" || _row_ids === null) {
|
if (typeof _row_ids == "undefined" || _row_ids === null) {
|
||||||
this.applyFilters();
|
this.applyFilters();
|
||||||
// Trigger an event so app code can act on it
|
// Trigger an event so app code can act on it
|
||||||
@ -697,15 +697,16 @@ var et2_nextmatch = /** @class */ (function (_super) {
|
|||||||
// Maximum number of requests to queue. 50 chosen arbitrarily just to limit things
|
// Maximum number of requests to queue. 50 chosen arbitrarily just to limit things
|
||||||
var max_queued = 50;
|
var max_queued = 50;
|
||||||
if (this._queued_refreshes === null) {
|
if (this._queued_refreshes === null) {
|
||||||
// Already too many, we'll refresh later
|
// Already too many or an EDIT came, we'll refresh everything later
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Cancel any existing listener
|
// Cancel any existing listener
|
||||||
var tab = jQuery(this.getInstanceManager().DOMContainer.parentNode)
|
var tab = jQuery(this.getInstanceManager().DOMContainer.parentNode)
|
||||||
.off('show.et2_nextmatch')
|
.off('show.et2_nextmatch')
|
||||||
.one('show.et2_nextmatch', this._queue_refresh_callback.bind(this));
|
.one('show.et2_nextmatch', this._queue_refresh_callback.bind(this));
|
||||||
|
// Edit means refresh everything, so no need to keep queueing
|
||||||
// Too many? Forget it, we'll refresh everything.
|
// Too many? Forget it, we'll refresh everything.
|
||||||
if (this._queued_refreshes.length >= max_queued) {
|
if (this._queued_refreshes.length >= max_queued || _type == et2_nextmatch.EDIT || !_type) {
|
||||||
this._queued_refreshes = null;
|
this._queued_refreshes = null;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -746,11 +746,6 @@ export class et2_nextmatch extends et2_DOMWidget implements et2_IResizeable, et2
|
|||||||
// Make sure we're dealing with arrays
|
// Make sure we're dealing with arrays
|
||||||
if (typeof _row_ids == 'string' || typeof _row_ids == 'number') _row_ids = [_row_ids];
|
if (typeof _row_ids == 'string' || typeof _row_ids == 'number') _row_ids = [_row_ids];
|
||||||
|
|
||||||
if (!this.div.is(':visible')) // run refresh, once we become visible again
|
|
||||||
{
|
|
||||||
return this._queue_refresh(_row_ids, _type);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Make some changes in what we're doing based on preference
|
// Make some changes in what we're doing based on preference
|
||||||
let update_pref = egw.preference("lazy-update") || 'lazy';
|
let update_pref = egw.preference("lazy-update") || 'lazy';
|
||||||
if(_type == et2_nextmatch.UPDATE && !this.is_sorted_by_modified())
|
if(_type == et2_nextmatch.UPDATE && !this.is_sorted_by_modified())
|
||||||
@ -767,6 +762,12 @@ export class et2_nextmatch extends et2_DOMWidget implements et2_IResizeable, et2
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (typeof _type == 'undefined') _type = et2_nextmatch.EDIT;
|
if (typeof _type == 'undefined') _type = et2_nextmatch.EDIT;
|
||||||
|
|
||||||
|
if (!this.div.is(':visible')) // run refresh, once we become visible again
|
||||||
|
{
|
||||||
|
return this._queue_refresh(_row_ids, _type);
|
||||||
|
}
|
||||||
|
|
||||||
if (typeof _row_ids == "undefined" || _row_ids === null)
|
if (typeof _row_ids == "undefined" || _row_ids === null)
|
||||||
{
|
{
|
||||||
this.applyFilters();
|
this.applyFilters();
|
||||||
@ -1019,7 +1020,7 @@ export class et2_nextmatch extends et2_DOMWidget implements et2_IResizeable, et2
|
|||||||
|
|
||||||
if(this._queued_refreshes === null)
|
if(this._queued_refreshes === null)
|
||||||
{
|
{
|
||||||
// Already too many, we'll refresh later
|
// Already too many or an EDIT came, we'll refresh everything later
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1029,8 +1030,9 @@ export class et2_nextmatch extends et2_DOMWidget implements et2_IResizeable, et2
|
|||||||
.one('show.et2_nextmatch', this._queue_refresh_callback.bind(this));
|
.one('show.et2_nextmatch', this._queue_refresh_callback.bind(this));
|
||||||
|
|
||||||
|
|
||||||
|
// Edit means refresh everything, so no need to keep queueing
|
||||||
// Too many? Forget it, we'll refresh everything.
|
// Too many? Forget it, we'll refresh everything.
|
||||||
if(this._queued_refreshes.length >= max_queued)
|
if(this._queued_refreshes.length >= max_queued || _type == et2_nextmatch.EDIT || !_type)
|
||||||
{
|
{
|
||||||
this._queued_refreshes = null;
|
this._queued_refreshes = null;
|
||||||
return;
|
return;
|
||||||
|
Loading…
Reference in New Issue
Block a user