Feature #8178
openAllow setting attributes for form elements in package XML
0%
Description
I'd like to suggest a couple of enhancements that would make package interfaces easier to work with when enhancing them with JavaScript.
Given a couple of typical form elements in the package XML:
<field>
<fielddescr>Description</fielddescr>
<fieldname>desc</fieldname>
<description>Enter a description for this item.</description>
<type>input</type>
<size>70</size>
</field>
<field>
<fielddescr>Setting</fielddescr>
<fieldname>sett</fieldname>
<description>Enable a setting for this item.</description>
<type>checkbox</type>
</field>
The only way to work with them via JavaScript is by name/id:
$("input#desc").attr("disable", false);
$("input#sett").attr("disabled", false);
Not terrible, but it can be very wasteful to create a dozen new jQuery instances to enable some elements. It would be nice to be able to specify a class name:
<field>
<fielddescr>Description</fielddescr>
<fieldname>desc</fieldname>
<description>Enter a description for this item.</description>
<type>input</type>
<size>70</size>
<class>enable_me</class>
</field>
<field>
<fielddescr>Setting</fielddescr>
<fieldname>sett</fieldname>
<description>Enable a setting for this item.</description>
<type>checkbox</type>
<class>enable_me</class>
</field>
And then we can work with that:
$(".enable_me").attr("disable", false);
Another feature that could be useful is the ability to use data attributes (https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes). XML like this:
<field>
<fielddescr>Description</fielddescr>
<fieldname>desc</fieldname>
<description>Enter a description for this item.</description>
<type>input</type>
<size>70</size>
<class>enable_me</class>
<data>
<entry name="field1" value="foo"/>
<entry name="field2" value="bar"/>
</data>
</field>
Might produce HTML like this:
<input type="text" name="desc" id="desc" class="enable_me" data-field1="foo" data-field2="bar"/>
Updated by Anonymous almost 8 years ago
Good suggestions. The package manager XML thing is something of a nightmare to work on, but this might not be too bad.