[for fields.field_def.choices]
  [define checked]No[end]
  [define derived]No[end]
  [for fields.values]
    [is fields.values.val fields.field_def.choices.name]
      [define checked]Yes[end]
    [end]
  [end]
  [for fields.derived_values]
    [is fields.derived_values.val fields.field_def.choices.name]
      [define checked]Yes[end]
      [define derived]Yes[end]
    [end]
  [end]

  <label id="[fields.field_id]_[fields.field_def.choices.name]_label" class="enum_checkbox"
         title="[is derived "Yes"]derived: [end][fields.field_def.choices.name][if-any fields.field_def.choices.docstring]: [fields.field_def.choices.docstring][end]"
         [is derived "Yes"]style="font-style:italic"[end]>
    <input type="checkbox" name="custom_[fields.field_id][is arg2 ""][else]_[arg2][end]"
           value="[fields.field_def.choices.name]"
           id="[arg0]_custom_[fields.field_id]_[fields.field_def.choices.idx]"
           [is checked "Yes"]checked="checked"[end] [is derived "Yes"]disabled="disabled"[end]
           aria-labelledby="[fields.field_id]_label [fields.field_id]_[fields.field_def.choices.name]_label">
      [fields.field_def.choices.name]
  </label>

[end]


[# Also include any oddball values as plain text with an _X_ icon.]
[for fields.values]
  [define already_shown]No[end]
  [for fields.field_def.choices]
    [is fields.field_def.choices.name fields.values.val]
      [define already_shown]Yes[end]
    [end]
  [end]
  [is already_shown "No"]
    <span class="enum_checkbox"
          title="This is not a defined choice for this field"
          id="span_[arg0]_oddball_[fields.values.idx]">
      <a id="[arg0]_oddball_[fields.values.idx]" class="remove_oddball x_icon"></a>[fields.values.val]
      [# Below hidden input contains the value of the field for tracker_helpers._ParseIssueRequestFields ]
      <input type="text" class="labelinput" id="input_[arg0]_oddball_[fields.values.idx]" size="20" name="label"
             value="[fields.field_name]-[fields.values.val]" hidden>
    </span>
  [end]
[end]

<script type="text/javascript" nonce="[nonce]">
runOnLoad(function() {
  var oddballAnchors = document.getElementsByClassName("remove_oddball");
  for (var i = 0; i < oddballAnchors.length; ++i) {
    var oddballAnchor = oddballAnchors[[]i];

    oddballAnchor.addEventListener("click", function(event) {
      var oddballSpan = $("span_" + this.id);
      oddballSpan.style.display = "none";
      var oddballInput = $("input_" + this.id);
      oddballInput.value = "";
      event.preventDefault();
    });
  }
});
</script>

