forked from extern/egroupware
If UID prefix is not set by the application, set dataStorePrefix automatically once and use it, instead of calculating it (different ways) each time.
This commit is contained in:
parent
1dcb1a9065
commit
f6f2a883f0
@ -502,15 +502,10 @@ var et2_nextmatch = et2_DOMWidget.extend([et2_IResizeable, et2_IInput],
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Use jsapi data module to update
|
|
||||||
var list = this.options.settings.get_rows.split('.', 2);
|
|
||||||
if (list.length < 2) list = this.options.settings.get_rows.split('_', 2); // support "app_something::method"
|
|
||||||
var app = list[0];
|
|
||||||
|
|
||||||
if(_type == "delete")
|
if(_type == "delete")
|
||||||
{
|
{
|
||||||
// Record current & next index
|
// Record current & next index
|
||||||
var uid = (this.controller.dataStorePrefix || app) + "::" + _row_ids[0];
|
var uid = this.controller.dataStorePrefix + "::" + _row_ids[0];
|
||||||
var entry = this.controller._selectionMgr._getRegisteredRowsEntry(uid);
|
var entry = this.controller._selectionMgr._getRegisteredRowsEntry(uid);
|
||||||
var next = (entry.ao?entry.ao.getNext(_row_ids.length):null);
|
var next = (entry.ao?entry.ao.getNext(_row_ids.length):null);
|
||||||
if(next == null || !next.id || next.id == uid)
|
if(next == null || !next.id || next.id == uid)
|
||||||
@ -523,7 +518,7 @@ var et2_nextmatch = et2_DOMWidget.extend([et2_IResizeable, et2_IInput],
|
|||||||
this.dataview.grid.doInvalidate = false;
|
this.dataview.grid.doInvalidate = false;
|
||||||
for(var i = 0; i < _row_ids.length; i++)
|
for(var i = 0; i < _row_ids.length; i++)
|
||||||
{
|
{
|
||||||
uid = (this.controller.dataStorePrefix || app) + "::" + _row_ids[i];
|
uid = this.controller.dataStorePrefix + "::" + _row_ids[i];
|
||||||
|
|
||||||
// Delete from internal references
|
// Delete from internal references
|
||||||
this.controller.deleteRow(uid);
|
this.controller.deleteRow(uid);
|
||||||
@ -549,7 +544,7 @@ var et2_nextmatch = et2_DOMWidget.extend([et2_IResizeable, et2_IInput],
|
|||||||
id_loop:
|
id_loop:
|
||||||
for(var i = 0; i < _row_ids.length; i++)
|
for(var i = 0; i < _row_ids.length; i++)
|
||||||
{
|
{
|
||||||
var uid = (this.controller.dataStorePrefix || app) + "::" + _row_ids[i];
|
var uid = this.controller.dataStorePrefix + "::" + _row_ids[i];
|
||||||
switch(_type)
|
switch(_type)
|
||||||
{
|
{
|
||||||
case "update":
|
case "update":
|
||||||
@ -1007,11 +1002,15 @@ var et2_nextmatch = et2_DOMWidget.extend([et2_IResizeable, et2_IInput],
|
|||||||
// Need to trigger empty row the first time
|
// Need to trigger empty row the first time
|
||||||
if(total == 0) this.controller._emptyRow();
|
if(total == 0) this.controller._emptyRow();
|
||||||
|
|
||||||
// Set custom data cache prefix
|
// Set data cache prefix to either provided custom or auto
|
||||||
if(this.options.settings.dataStorePrefix)
|
if(!this.options.settings.dataStorePrefix)
|
||||||
{
|
{
|
||||||
this.controller.setPrefix(this.options.settings.dataStorePrefix);
|
// Use jsapi data module to update
|
||||||
|
var list = this.options.settings.get_rows.split('.', 2);
|
||||||
|
if (list.length < 2) list = this.options.settings.get_rows.split('_'); // support "app_something::method"
|
||||||
|
this.options.settings.dataStorePrefix = list[0];
|
||||||
}
|
}
|
||||||
|
this.controller.setPrefix(this.options.settings.dataStorePrefix);
|
||||||
|
|
||||||
// Load the initial order
|
// Load the initial order
|
||||||
/*this.controller.loadInitialOrder(this._getInitialOrder(
|
/*this.controller.loadInitialOrder(this._getInitialOrder(
|
||||||
@ -1029,14 +1028,8 @@ var et2_nextmatch = et2_DOMWidget.extend([et2_IResizeable, et2_IInput],
|
|||||||
// 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)
|
||||||
{
|
{
|
||||||
var prefix = this.options.settings.dataStorePrefix;
|
|
||||||
if(!prefix)
|
|
||||||
{
|
|
||||||
prefix = this.options.settings.get_rows.split('.');
|
|
||||||
prefix = prefix[0];
|
|
||||||
}
|
|
||||||
this.controller.loadInitialData(
|
this.controller.loadInitialData(
|
||||||
prefix,
|
this.options.settings.dataStorePrefix,
|
||||||
this.options.settings.row_id,
|
this.options.settings.row_id,
|
||||||
this.options.settings.rows
|
this.options.settings.rows
|
||||||
);
|
);
|
||||||
|
Loading…
Reference in New Issue
Block a user