From 2aab85814d0eead5f82ee1c5661f03667ce50b62 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Mon, 19 Aug 2019 15:06:31 +0200 Subject: [PATCH] luci-base: form.js: implement Textfield widget Port the CBI Textfield (textarea) widget type to client side form.js Signed-off-by: Jo-Philipp Wich --- .../htdocs/luci-static/resources/form.js | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/modules/luci-base/htdocs/luci-static/resources/form.js b/modules/luci-base/htdocs/luci-static/resources/form.js index 44a2df22f..cc72d6e48 100644 --- a/modules/luci-base/htdocs/luci-static/resources/form.js +++ b/modules/luci-base/htdocs/luci-static/resources/form.js @@ -1600,6 +1600,29 @@ var CBIMultiValue = CBIDynamicList.extend({ }, }); +var CBITextValue = CBIValue.extend({ + __name__: 'CBI.TextValue', + + value: null, + + renderWidget: function(section_id, option_index, cfgvalue) { + var value = (cfgvalue != null) ? cfgvalue : this.default; + + var widget = new ui.Textarea(value, { + id: this.cbid(section_id), + optional: this.optional || this.rmempty, + placeholder: this.placeholder, + monospace: this.monospace, + cols: this.cols, + rows: this.rows, + wrap: this.wrap, + validate: L.bind(this.validate, this, section_id) + }); + + return widget.render(); + } +}); + var CBIDummyValue = CBIValue.extend({ __name__: 'CBI.DummyValue', @@ -1713,6 +1736,7 @@ return L.Class.extend({ ListValue: CBIListValue, Flag: CBIFlagValue, MultiValue: CBIMultiValue, + TextValue: CBITextValue, DummyValue: CBIDummyValue, Button: CBIButtonValue, HiddenValue: CBIHiddenValue, -- 2.25.1