luci-base: add 'create' boolean to MultiValue form widget

Enables creation of custom choices.

example usage:

	o = s.taboption('thistab', form.MultiValue, 'myoption');
	o.create = true;

Form element now presents additional ' -- custom -- ' entry.

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
This commit is contained in:
Paul Donald 2024-10-23 01:01:50 +02:00
parent 1f32729428
commit af48efd4f8
1 changed files with 9 additions and 0 deletions

View File

@ -4115,6 +4115,14 @@ var CBIMultiValue = CBIDynamicList.extend(/** @lends LuCI.form.MultiValue.protot
this.placeholder = _('-- Please choose --');
},
/**
* Allows custom value entry in addition to those already specified.
*
* @name LuCI.form.MultiValue.prototype#create
* @type boolean
* @default null
*/
/**
* Allows to specify the [display_items]{@link LuCI.ui.Dropdown.InitOptions}
* property of the underlying dropdown widget. If omitted, the value of
@ -4146,6 +4154,7 @@ var CBIMultiValue = CBIDynamicList.extend(/** @lends LuCI.form.MultiValue.protot
multiple: true,
optional: this.optional || this.rmempty,
select_placeholder: this.placeholder,
create: this.create,
display_items: this.display_size || this.size || 3,
dropdown_items: this.dropdown_size || this.size || -1,
validate: L.bind(this.validate, this, section_id),