diff options
Diffstat (limited to 'js/productform.js')
-rw-r--r-- | js/productform.js | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/js/productform.js b/js/productform.js index 12ad3ea4d..d5e24d306 100644 --- a/js/productform.js +++ b/js/productform.js @@ -10,75 +10,6 @@ // collection of javascript arrays containing strings. /** - * Reads the selected classifications and updates product, component, - * version and milestone lists accordingly. - * - * @param classfield Select element that contains classifications. - * @param product Select element that contains products. - * @param component Select element that contains components. Can be null if - * there is no such element to update. - * @param version Select element that contains versions. Can be null if - * there is no such element to update. - * @param milestone Select element that contains milestones. Can be null if - * there is no such element to update. - * - * @global prods Array of products indexed by classification name. - * @global first_load Boolean; true if this is the first time this page loads - * or false if not. - * @global last_sel Array that contains last list of products so we know what - * has changed, and optimize for additions. - */ -function selectClassification(classfield, product, component, version, milestone) { - // This is to avoid handling events that occur before the form - // itself is ready, which could happen in buggy browsers. - if (!classfield) - return; - - // If this is the first load and nothing is selected, no need to - // merge and sort all lists; they are created sorted. - if ((first_load) && (classfield.selectedIndex == -1)) { - first_load = false; - return; - } - - // Don't reset first_load as done in selectProduct. That's because we - // want selectProduct to handle the first_load attribute. - - // Stores classifications that are selected. - var sel = Array(); - - // True if sel array has a full list or false if sel contains only - // new classifications that are to be merged to the current list. - var merging = false; - - // If nothing selected, pick all. - var findall = classfield.selectedIndex == -1; - sel = get_selection(classfield, findall, false); - if (!findall) { - // Save sel for the next invocation of selectClassification(). - var tmp = sel; - - // This is an optimization: if we have just added classifications to an - // existing selection, no need to clear the form elements and add - // everything again; just merge the new ones with the existing - // options. - if ((last_sel.length > 0) && (last_sel.length < sel.length)) { - sel = fake_diff_array(sel, last_sel); - merging = true; - } - last_sel = tmp; - } - - // Save original options selected. - var saved_prods = get_selection(product, false, true, null); - - // Do the actual fill/update, reselect originally selected options. - updateSelect(prods, sel, product, merging, null); - restoreSelection(product, saved_prods); - selectProduct(product, component, version, milestone, null); -} - -/** * Reads the selected products and updates component, version and milestone * lists accordingly. * |