_class.prototype = prototype;
_class.prototype.constructor = _class;
- _class.extend = arguments.callee;
+ _class.extend = Class.extend;
return _class;
};
if (typeof(ret) != 'undefined' && key != '')
ret = ret[key];
- if (type.call(ret) != type.call(req.expect[key]))
+ if (typeof(ret) == 'undefined' || type.call(ret) != type.call(req.expect[key]))
ret = req.expect[key];
break;
else if (typeof types[label] == 'function')
{
stack.push(types[label]);
- stack.push(null);
+ stack.push([ ]);
}
else
{
throw "Syntax error, argument list follows non-function";
stack[stack.length-1] =
- arguments.callee(code.substring(pos, i));
+ _luci2.cbi.validation.compile(code.substring(pos, i));
pos = i+1;
}
}
i.error = $('<div />')
+ .hide()
.addClass('label label-danger');
i.widget = $('<div />')
d.elem.parents('div.form-group, td').first().addClass('luci2-form-error');
d.elem.parents('div.input-group, div.form-group, td').first().addClass('has-error');
- d.inst.error.text(_luci2.tr('Field must not be empty'));
+ d.inst.error.text(_luci2.tr('Field must not be empty')).show();
rv = false;
}
else if (val.length > 0 && !vstack[0].apply(val, vstack[1]))
d.elem.parents('div.form-group, td').first().addClass('luci2-form-error');
d.elem.parents('div.input-group, div.form-group, td').first().addClass('has-error');
- d.inst.error.text(validation.message.format.apply(validation.message, vstack[1]));
+ d.inst.error.text(validation.message.format.apply(validation.message, vstack[1])).show();
rv = false;
}
else
if (d.multi && d.inst.widget && d.inst.widget.find('input.error, select.error').length > 0)
rv = false;
else
- d.inst.error.text('');
+ d.inst.error.text('').hide();
}
}
if (typeof(o.disabled) == 'undefined') o.disabled = '0';
var i = $('<input />')
- .addClass('form-control')
.attr('id', this.id(sid))
.attr('type', 'checkbox')
.prop('checked', this.ucivalue(sid));
$('<li />')
.append($('<label />')
- .addClass('radio inline')
+ .addClass(itype + ' inline')
.append($('<input />')
.attr('name', itype + id)
.attr('type', itype)
.attr('value', iface['interface'])
- .prop('checked', !!check[iface['interface']])
- .addClass('form-control'))
+ .prop('checked', !!check[iface['interface']]))
.append(badge))
.appendTo(ul);
}
{
$('<li />')
.append($('<label />')
- .addClass('radio inline text-muted')
+ .addClass(itype + ' inline text-muted')
.append($('<input />')
.attr('name', itype + id)
.attr('type', itype)
.attr('value', '')
- .prop('checked', !value)
- .addClass('form-control'))
+ .prop('checked', !value))
.append(_luci2.tr('unspecified')))
.appendTo(ul);
}
inval++;
if (inval > 0)
- stbadge.text(inval)
+ stbadge.show()
+ .text(inval)
.attr('title', _luci2.trp('1 Error', '%d Errors', inval).format(inval));
else
- stbadge.text('');
+ stbadge.hide();
invals += inval;
}
if (invals > 0)
- badge.text(invals)
+ badge.show()
+ .text(invals)
.attr('title', _luci2.trp('1 Error', '%d Errors', invals).format(invals));
else
- badge.text('');
+ badge.hide();
return invals;
},
var badge = $('#' + this.id('sectiontab')).children('span:first');
if (this.error_count > 0)
- badge.text(this.error_count)
+ badge.show()
+ .text(this.error_count)
.attr('title', _luci2.trp('1 Error', '%d Errors', this.error_count).format(this.error_count));
else
- badge.text('');
+ badge.hide();
return (this.error_count == 0);
}