Make sure that placeholder actions are defined and existed in client-side

This commit is contained in:
Hadi Nategh 2017-04-24 17:53:25 +02:00
parent 009682b949
commit 203fa8a9be

View File

@ -524,6 +524,16 @@ var et2_nextmatch_controller = (function(){ "use strict"; return et2_dataview_co
try { try {
links = typeof this._widget.options.settings.placeholder_actions != 'undefined' ? links = typeof this._widget.options.settings.placeholder_actions != 'undefined' ?
this._widget.options.settings.placeholder_actions : (this._widget.options.add ? ["add"] : []); this._widget.options.settings.placeholder_actions : (this._widget.options.add ? ["add"] : []);
// Make sure that placeholder actions are defined and existed in client-side,
// otherwise do not set them as placeholder. for instance actions with
// attribute hideOnMobile do not get sent to client-side.
if (links.length > 0)
{
for (var i=links.length-1; i >= 0; i--)
{
if (typeof this._widget.options.actions[links[i]] == 'undefined') links.splice(i,1);
}
}
} catch (e) { } catch (e) {
} }
@ -664,7 +674,7 @@ var et2_nextmatch_controller = (function(){ "use strict"; return et2_dataview_co
// inform mobile framework about nm selections, need to update status of header objects on selection // inform mobile framework about nm selections, need to update status of header objects on selection
if (egwIsMobile()) framework.nm_onselect_ctrl(this._widget, action, senders); if (egwIsMobile()) framework.nm_onselect_ctrl(this._widget, action, senders);
this._widget.onselect.call(this._widget, action,senders); this._widget.onselect.call(this._widget, action,senders);
}, },