summaryrefslogtreecommitdiffstats
path: root/extensions/BugmailFilter/web/js/bugmail-filter.js
blob: 2b320bbbb9ba45da78f0233c1b5f3f15e0e95044 (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
/* 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. */

var Dom = YAHOO.util.Dom;
var Event = YAHOO.util.Event;

function onFilterProductChange() {
    selectProduct(Dom.get('product'), Dom.get('component'), null, null, '__Any__');
    Dom.get('component').disabled = Dom.get('product').value == '';
}

function onFilterActionChange() {
    var value = Dom.get('action').value;
    Dom.get('add_filter').disabled = value == '';
}

function onRemoveChange() {
  var cbs = Dom.get('filters_table').getElementsByTagName('input');
  for (var i = 0, l = cbs.length; i < l; i++) {
    if (cbs[i].checked) {
      Dom.get('remove').disabled = false;
      return;
    }
  }
  Dom.get('remove').disabled = true;
}

function showAllFlags() {
    Dom.addClass('show_all', 'bz_default_hidden');
    Dom.removeClass('all_flags', 'bz_default_hidden');
}

Event.onDOMReady(function() {
    Event.on('action', 'change', onFilterActionChange);
    onFilterProductChange();
    onFilterActionChange();
    onRemoveChange();
});