mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-27 09:09:04 +01:00
Handle num_rows set by application:
- Don't overwrite num_rows setting if the application sets it for some reason - If num_rows is 0, don't get the initial rows server side - If num_rows is 0 and the initial rows are missing, trigger an update right away to get them asyncronously.
This commit is contained in:
parent
9851a8a6ef
commit
8a70df4df8
@ -113,7 +113,11 @@ class etemplate_widget_nextmatch extends etemplate_widget
|
|||||||
$value = self::get_array(self::$request->content, $form_name, true);
|
$value = self::get_array(self::$request->content, $form_name, true);
|
||||||
|
|
||||||
$value['start'] = 0;
|
$value['start'] = 0;
|
||||||
$value['num_rows'] = self::INITIAL_ROWS;
|
if(!array_key_exists('num_rows',$value))
|
||||||
|
{
|
||||||
|
$value['num_rows'] = self::INITIAL_ROWS;
|
||||||
|
}
|
||||||
|
|
||||||
$value['rows'] = array();
|
$value['rows'] = array();
|
||||||
|
|
||||||
$send_value = $value;
|
$send_value = $value;
|
||||||
@ -159,7 +163,10 @@ class etemplate_widget_nextmatch extends etemplate_widget
|
|||||||
$send_value['order'] = $send_value['sort']['id'];
|
$send_value['order'] = $send_value['sort']['id'];
|
||||||
$send_value['sort'] = $send_value['sort']['asc'] ? 'ASC' : 'DESC';
|
$send_value['sort'] = $send_value['sort']['asc'] ? 'ASC' : 'DESC';
|
||||||
}
|
}
|
||||||
$total = self::call_get_rows($send_value, $send_value['rows'], self::$request->readonlys);
|
if($value['num_rows'] != 0)
|
||||||
|
{
|
||||||
|
$total = self::call_get_rows($send_value, $send_value['rows'], self::$request->readonlys);
|
||||||
|
}
|
||||||
$value =& self::get_array(self::$request->content, $form_name, true);
|
$value =& self::get_array(self::$request->content, $form_name, true);
|
||||||
|
|
||||||
// Add favorite here so app doesn't save it in the session
|
// Add favorite here so app doesn't save it in the session
|
||||||
|
@ -1082,7 +1082,7 @@ var et2_nextmatch = et2_DOMWidget.extend([et2_IResizeable, et2_IInput],
|
|||||||
this.dataview.grid.setTotalCount(total);
|
this.dataview.grid.setTotalCount(total);
|
||||||
|
|
||||||
// Insert any data sent from server, so invalidate finds data already
|
// Insert any data sent from server, so invalidate finds data already
|
||||||
if(this.options.settings.rows)
|
if(this.options.settings.rows && this.options.settings.num_rows)
|
||||||
{
|
{
|
||||||
this.controller.loadInitialData(
|
this.controller.loadInitialData(
|
||||||
this.options.settings.dataStorePrefix,
|
this.options.settings.dataStorePrefix,
|
||||||
@ -1510,6 +1510,13 @@ var et2_nextmatch = et2_DOMWidget.extend([et2_IResizeable, et2_IInput],
|
|||||||
// Set filters to current values
|
// Set filters to current values
|
||||||
this.controller.setFilters(this.activeFilters);
|
this.controller.setFilters(this.activeFilters);
|
||||||
|
|
||||||
|
// If no data was sent from the server, and num_rows is 0, the nm will be empty.
|
||||||
|
// This triggers a cache check.
|
||||||
|
if(!(this.options.settings.rows && this.options.settings.num_rows))
|
||||||
|
{
|
||||||
|
this.controller.update();
|
||||||
|
}
|
||||||
|
|
||||||
// Load the default sort order
|
// Load the default sort order
|
||||||
if (this.options.settings.order && this.options.settings.sort)
|
if (this.options.settings.order && this.options.settings.sort)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user