summaryrefslogtreecommitdiffstats
path: root/extensions/FlagTypeComment/template/en/default/flag/type_comment.html.tmpl
blob: 88d9d4dd7835decdc2853ba0c95b0c4cf5310b65 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
[%# The contents of this file are subject to the Mozilla Public License Version
  # 1.1 (the "License"); you may not use this file except in compliance with
  # the License. You may obtain a copy of the License at
  # http://www.mozilla.org/MPL/
  #
  # Software distributed under the License is distributed on an "AS IS" basis,
  # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  # for the specific language governing rights and limitations under the
  # License.
  #
  # The Original Code is FlagTypeComment Bugzilla Extension.
  #
  # The Initial Developer of the Original Code is
  # the Mozilla Foundation.
  # Portions created by the Initial Developer are Copyright (C) 2011
  # the Initial Developer. All Rights Reserved.
  #
  # Contributor(s):
  #   Alex Keybl <akeybl@mozilla.com>
  #   byron jones <glob@mozilla.com>
  #%]

[% IF ftc_flags.keys.size %]
  <script [% script_nonce FILTER none %]>
  YAHOO.util.Event.onDOMReady(function() {
    var selects = YAHOO.util.Dom.getElementsByClassName('flag_select');
    for (var i = 0; i < selects.length; i++) {
      YAHOO.util.Event.on(selects[i], 'change', ftc_on_change);
    }
  });

  function ftc_on_change(ev) {
    var id = ev.target.id.split('-')[1];
    var state = ev.target.value;
    var commentEl = document.getElementById('comment');
    if (!commentEl) return;
    [% FOREACH type_id = ftc_flags.keys %]
      [% FOREACH state = ftc_states %]
        if ([% type_id FILTER none %] == id && '[% state FILTER js %]' == state) {
          var text = '[% ftc_flags.$type_id.$state FILTER js %]';
          var value = commentEl.value;
          if (value == text) {
            return;
          } else if (value == '') {
            commentEl.value = text;
          } else {
            commentEl.value = text + "\n\n" + value;
          }
        }
      [% END %]
    [% END %]
  }
  </script>
[% END %]