diff options
Diffstat (limited to 'template/en/custom/global/product-select.html.tmpl')
-rw-r--r-- | template/en/custom/global/product-select.html.tmpl | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/template/en/custom/global/product-select.html.tmpl b/template/en/custom/global/product-select.html.tmpl new file mode 100644 index 000000000..9ec3128dd --- /dev/null +++ b/template/en/custom/global/product-select.html.tmpl @@ -0,0 +1,98 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[%# INTERFACE: + # name: mandatory; field name + # id: optional; field id + # value: optional; default field value/selection + # classes: optional; an array of classes to be added + # onchange: optional; onchange attribute value + # disabled: optional; if true, the field is disabled + # accesskey: optional; accesskey attribute value + # add: optional; prepend menu option for value specified to start of select + # dontchange: optional; prepend menu option for "dontchange" to start of select + # multiple: optional; do multiselect box, value is size (height) of box + # title: optional; extra information to display as a tooltip + # products: optional; an array of custom product names + # isselect: optional; whether the product list should be displayed as a <select> + # or as just the plain text of its value. + # valueattribute: optional; the product attribute to be used for <option value="">, + # defaults to product name + #%] + +[% IF !isselect.defined %] + [% isselect = 1 %] +[% END %] +[% DEFAULT valueattribute = "name" %] +[% IF isselect %] + + <div class="col-sm-1 align-v-center align-h-right" style="padding-right:0px;"> + Product: + </div> + <div class="col-sm-11"> + <select name="[% name FILTER html %]" + [% IF id %] id="[% id FILTER html %]" [% END %] + [% IF classes %] class="form-control [% classes.join(' ') FILTER html %]" [% ELSE %] class="form-control" [% END %] + [% IF onchange %] onchange="[% onchange FILTER html %]" [% END %] + [% IF disabled %] disabled="[% disabled FILTER html %]" [% END %] + [% IF accesskey %] accesskey="[% accesskey FILTER html %]" [% END %] + [% IF multiple %] multiple="multiple" size="[% multiple FILTER html %]" [% END %] + [% IF title %] title="[% title FILTER html %]" [% END %] + > + [% IF add %] + <option value="">[% add FILTER html %]</option> + [% END %] + [% IF dontchange %] + <option value="[% dontchange FILTER html %]">[% dontchange FILTER html %]</option> + [% END %] + + [% IF Param('useclassification') %] + [% classifications = {} %] + [% IF products %] + [% FOREACH p = products %] + [% IF NOT classifications.${p.classification.name}.defined %] + [% classifications.${p.classification.name} = [] %] + [% END %] + [% classifications.${p.classification.name}.push(p) %] + [% END %] + [% ELSE %] + [% FOREACH c = user.get_selectable_classifications %] + [% classifications.${c.name} = [] %] + [% FOREACH p = user.get_selectable_products(c.id) %] + [% classifications.${c.name}.push(p) %] + [% END %] + [% END %] + [% END %] + + [% FOREACH c = all_classifications %] + [% NEXT UNLESS classifications.${c}.size %] + <optgroup label="[% c FILTER html %]"> + [% FOREACH p = classifications.$c %] + <option value="[% p.$valueattribute FILTER html %]" + [% " selected" IF (cgi.param(name) == p.name) || (value.contains(p.name)) %]> + [% p.name FILTER html %] + </option> + [% END %] + </optgroup> + [% END %] + [% ELSE %] + [% IF NOT products.defined %] + [% products = user.get_selectable_products %] + [% END %] + [% FOREACH p = products %] + <option value="[% p.$valueattribute FILTER html %]" + [% " selected" IF (cgi.param(name) == p.name) || (value.contains(p.name)) %]> + [% p.name FILTER html %] + </option> + [% END %] + [% END %] + </select> +</div> +[% ELSE %] + [% value.join(', ') FILTER html %] +[% END %] |