luci-base: form.js: implement AbstractValue.getUIElement()
Introduce a new method `getUIElement()` which simplifies obtaining the underlying per-section UI widget class instance for a from option object. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
parent
b0836b037e
commit
9e25917432
1 changed files with 14 additions and 9 deletions
|
@ -765,6 +765,12 @@ var CBIAbstractValue = CBINode.extend({
|
||||||
this.ucioption || this.option);
|
this.ucioption || this.option);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
getUIElement: function(section_id) {
|
||||||
|
var node = this.map.findElement('id', this.cbid(section_id)),
|
||||||
|
inst = node ? L.dom.findClassInstance(node) : null;
|
||||||
|
return (inst instanceof ui.AbstractElement) ? inst : null;
|
||||||
|
},
|
||||||
|
|
||||||
cfgvalue: function(section_id, set_value) {
|
cfgvalue: function(section_id, set_value) {
|
||||||
if (section_id == null)
|
if (section_id == null)
|
||||||
L.error('TypeError', 'Section ID required');
|
L.error('TypeError', 'Section ID required');
|
||||||
|
@ -778,8 +784,8 @@ var CBIAbstractValue = CBINode.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
formvalue: function(section_id) {
|
formvalue: function(section_id) {
|
||||||
var node = this.map.findElement('id', this.cbid(section_id));
|
var elem = this.getUIElement(section_id);
|
||||||
return node ? L.dom.callClassMethod(node, 'getValue') : null;
|
return elem ? elem.getValue() : null;
|
||||||
},
|
},
|
||||||
|
|
||||||
textvalue: function(section_id) {
|
textvalue: function(section_id) {
|
||||||
|
@ -796,8 +802,8 @@ var CBIAbstractValue = CBINode.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
isValid: function(section_id) {
|
isValid: function(section_id) {
|
||||||
var node = this.map.findElement('id', this.cbid(section_id));
|
var elem = this.getUIElement(section_id);
|
||||||
return node ? L.dom.callClassMethod(node, 'isValid') : true;
|
return elem ? elem.isValid() : true;
|
||||||
},
|
},
|
||||||
|
|
||||||
isActive: function(section_id) {
|
isActive: function(section_id) {
|
||||||
|
@ -817,8 +823,8 @@ var CBIAbstractValue = CBINode.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
triggerValidation: function(section_id) {
|
triggerValidation: function(section_id) {
|
||||||
var node = this.map.findElement('id', this.cbid(section_id));
|
var elem = this.getUIElement(section_id);
|
||||||
return node ? L.dom.callClassMethod(node, 'triggerValidation') : true;
|
return elem ? elem.triggerValidation() : true;
|
||||||
},
|
},
|
||||||
|
|
||||||
parse: function(section_id) {
|
parse: function(section_id) {
|
||||||
|
@ -1742,9 +1748,8 @@ var CBIFlagValue = CBIValue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
formvalue: function(section_id) {
|
formvalue: function(section_id) {
|
||||||
var node = this.map.findElement('id', this.cbid(section_id)),
|
var elem = this.getUIElement(section_id),
|
||||||
checked = node ? L.dom.callClassMethod(node, 'isChecked') : false;
|
checked = elem ? elem.isChecked() : false;
|
||||||
|
|
||||||
return checked ? this.enabled : this.disabled;
|
return checked ? this.enabled : this.disabled;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue