luci-base: ui.js: implement AbstractElement.setPlaceholder()

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
Jo-Philipp Wich 2020-08-03 15:17:40 +02:00
parent 1c879bbcc4
commit f2965b759a

View file

@ -101,6 +101,32 @@ var UIElement = baseclass.extend(/** @lends LuCI.ui.AbstractElement.prototype */
this.node.value = value; this.node.value = value;
}, },
/**
* Set the current placeholder value of the input widget.
*
* @instance
* @memberof LuCI.ui.AbstractElement
* @param {string|string[]|null} value
* The placeholder to set for the input element. Only applicable to text
* inputs, not to radio buttons, selects or similar.
*/
setPlaceholder: function(value) {
var node = this.node ? this.node.querySelector('input,textarea') : null;
if (node) {
switch (node.getAttribute('type') || 'text') {
case 'password':
case 'search':
case 'tel':
case 'text':
case 'url':
if (value != null && value != '')
node.setAttribute('placeholder', value);
else
node.removeAttribute('placeholder');
}
}
},
/** /**
* Check whether the current input value is valid. * Check whether the current input value is valid.
* *