forked from extern/egroupware
Support [legacy] options in the widget type after a :
This commit is contained in:
parent
6757828779
commit
2f191414dd
@ -224,13 +224,54 @@ var et2_historylog = et2_valueWidget.extend([et2_IDataProvider],{
|
|||||||
{
|
{
|
||||||
var field = this.options.value['status-widgets'][key];
|
var field = this.options.value['status-widgets'][key];
|
||||||
var attrs = {'readonly': true, 'id': key};
|
var attrs = {'readonly': true, 'id': key};
|
||||||
if(typeof field == 'object') attrs['select-options'] = field;
|
var options = null;
|
||||||
|
if(typeof field == 'object')
|
||||||
|
{
|
||||||
|
attrs['select-options'] = field;
|
||||||
|
}
|
||||||
|
// Check for options after the type
|
||||||
|
else if (field.indexOf(':') > 0)
|
||||||
|
{
|
||||||
|
var options = field.split(':');
|
||||||
|
field = options.shift();
|
||||||
|
}
|
||||||
|
|
||||||
var widget = et2_createWidget(typeof field == 'string' ? field : 'select', attrs, this);
|
var widget = et2_createWidget(typeof field == 'string' ? field : 'select', attrs, this);
|
||||||
|
if(options)
|
||||||
|
{
|
||||||
|
var mgr = this.getArrayMgr("content");
|
||||||
|
for(var i = 0; i < options.length && i < widget.legacyOptions.length; i++)
|
||||||
|
{
|
||||||
|
// Not set
|
||||||
|
if(options[i] == "") continue;
|
||||||
|
var attr = widget.attributes[widget.legacyOptions[i]];
|
||||||
|
var attrValue = options[i];
|
||||||
|
|
||||||
|
// If the attribute is marked as boolean, parse the
|
||||||
|
// expression as bool expression.
|
||||||
|
if (attr.type == "boolean")
|
||||||
|
{
|
||||||
|
attrValue = mgr.parseBoolExpression(attrValue);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
attrValue = mgr.expandName(attrValue);
|
||||||
|
}
|
||||||
|
attrs[widget.legacyOptions[i]] = attrValue;
|
||||||
|
if(typeof widget['set_'+widget.legacyOptions[i]] == 'function')
|
||||||
|
{
|
||||||
|
widget['set_'+widget.legacyOptions[i]].call(widget, attrValue);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
widget.options[widget.legacyOptions[i]] = attrValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(widget.instanceOf(et2_selectbox)) widget.options.multiple = true;
|
if(widget.instanceOf(et2_selectbox)) widget.options.multiple = true;
|
||||||
widget.transformAttributes(attrs);
|
widget.transformAttributes(attrs);
|
||||||
|
|
||||||
|
|
||||||
this.fields[key] = {
|
this.fields[key] = {
|
||||||
attrs: attrs,
|
attrs: attrs,
|
||||||
widget: widget,
|
widget: widget,
|
||||||
|
Loading…
Reference in New Issue
Block a user