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) {
} }