diff options
Diffstat (limited to 'extensions/BMO/web')
-rw-r--r-- | extensions/BMO/web/js/release_tracking_report.js | 206 | ||||
-rw-r--r-- | extensions/BMO/web/styles/reports.css | 4 |
2 files changed, 0 insertions, 210 deletions
diff --git a/extensions/BMO/web/js/release_tracking_report.js b/extensions/BMO/web/js/release_tracking_report.js deleted file mode 100644 index 69bfab000..000000000 --- a/extensions/BMO/web/js/release_tracking_report.js +++ /dev/null @@ -1,206 +0,0 @@ -/* 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 flagEl; -var productEl; -var trackingEl; -var selectedFields; - -// events - -function onFieldToggle(cbEl, id) { - if (cbEl.checked) { - Dom.removeClass('field_' + id + '_td', 'disabled'); - selectedFields['field_' + id] = id; - } else { - Dom.addClass('field_' + id + '_td', 'disabled'); - selectedFields['field_' + id] = false; - } - Dom.get('field_' + id + '_select').disabled = !cbEl.checked; - serialiseForm(); -} - -function onProductChange() { - var product = productEl.value; - var productData = product == '0' ? getFlagByName(flagEl.value) : getProductById(product); - var html = ''; - selectedFields = new Array(); - - if (productData) { - // update status fields - html = '<table>'; - for(var i = 0, l = productData.fields.length; i < l; i++) { - var field = getFieldById(productData.fields[i]); - selectedFields['field_' + field.id] = false; - html += '<tr>' + - '<td>' + - '<input type="checkbox" id="field_' + field.id + '_cb" ' + - 'onClick="onFieldToggle(this,' + field.id + ')">' + - '</td>' + - '<td class="disabled" id="field_' + field.id + '_td">' + - '<label for="field_' + field.id + '_cb">' + - YAHOO.lang.escapeHTML(field.name) + ':</label>' + - '</td>' + - '<td>' + - '<select disabled id="field_' + field.id + '_select">' + - '<option value="+">fixed</option>' + - '<option value="-">not fixed</option>' + - '</select>' + - '</td>' + - '</tr>'; - } - html += '</table>'; - } - trackingEl.innerHTML = html; - serialiseForm(); -} - -function onFlagChange() { - var flag = flagEl.value; - var flagData = getFlagByName(flag); - productEl.options.length = 0; - - if (flagData) { - // update product select - var currentProduct = productEl.value; - productEl.options[0] = new Option('(Any Product)', '0'); - for(var i = 0, l = flagData.products.length; i < l; i++) { - var product = getProductById(flagData.products[i]); - var n = productEl.length; - productEl.options[n] = new Option(product.name, product.id); - productEl.options[n].selected = product.id == currentProduct; - } - } - onProductChange(); -} - -// form - -function selectAllFields() { - for(var i = 0, l = fields_data.length; i < l; i++) { - var cb = Dom.get('field_' + fields_data[i].id + '_cb'); - cb.checked = true; - onFieldToggle(cb, fields_data[i].id); - } - serialiseForm(); -} - -function selectNoFields() { - for(var i = 0, l = fields_data.length; i < l; i++) { - var cb = Dom.get('field_' + fields_data[i].id + '_cb'); - cb.checked = false; - onFieldToggle(cb, fields_data[i].id); - } - serialiseForm(); -} - -function invertFields() { - for(var i = 0, l = fields_data.length; i < l; i++) { - var el = Dom.get('field_' + fields_data[i].id + '_select'); - if (el.value == '+') { - el.options[1].selected = true; - } else { - el.options[0].selected = true; - } - } - serialiseForm(); -} - -function onFormSubmit() { - serialiseForm(); - return true; -} - -function onFormReset() { - deserialiseForm(''); -} - -function serialiseForm() { - var q = flagEl.value + ':' + - Dom.get('flag_value').value + ':' + - Dom.get('range').value + ':' + - productEl.value + ':' + - Dom.get('op').value + ':'; - - for(var id in selectedFields) { - if (selectedFields[id]) { - q += selectedFields[id] + Dom.get(id + '_select').value + ':'; - } - } - - Dom.get('q').value = q; - - if(history && history.replaceState ) { - history.replaceState(null, '', - 'page.cgi?id=release_tracking_report.html&q=' + encodeURIComponent(q)); - } -} - -function deserialiseForm(q) { - var parts = q.split(/:/); - selectValue(flagEl, parts[0]); - onFlagChange(); - selectValue(Dom.get('flag_value'), parts[1]); - selectValue(Dom.get('range'), parts[2]); - selectValue(productEl, parts[3]); - onProductChange(); - selectValue(Dom.get('op'), parts[4]); - for(var i = 5, l = parts.length; i < l; i++) { - var part = parts[i]; - if (part.length) { - var value = part.substr(part.length - 1, 1); - var id = part.substr(0, part.length - 1); - var cb = Dom.get('field_' + id + '_cb'); - cb.checked = true; - onFieldToggle(cb, id); - selectValue(Dom.get('field_' + id + '_select'), value); - } - } - serialiseForm(); -} - -// utils - -YAHOO.util.Event.onDOMReady(function() { - flagEl = Dom.get('flag'); - productEl = Dom.get('product'); - trackingEl = Dom.get('tracking_span'); - onFlagChange(); - deserialiseForm(default_query); -}); - -function getFlagByName(name) { - for(var i = 0, l = flags_data.length; i < l; i++) { - if (flags_data[i].name == name) - return flags_data[i]; - } -} - -function getProductById(id) { - for(var i = 0, l = products_data.length; i < l; i++) { - if (products_data[i].id == id) - return products_data[i]; - } -} - -function getFieldById(id) { - for(var i = 0, l = fields_data.length; i < l; i++) { - if (fields_data[i].id == id) - return fields_data[i]; - } -} - -function selectValue(el, value) { - for(var i = 0, l = el.options.length; i < l; i++) { - if (el.options[i].value == value) { - el.options[i].selected = true; - return; - } - } - el.options[0].selected = true; -} diff --git a/extensions/BMO/web/styles/reports.css b/extensions/BMO/web/styles/reports.css index f75f72b8b..260a95471 100644 --- a/extensions/BMO/web/styles/reports.css +++ b/extensions/BMO/web/styles/reports.css @@ -35,7 +35,3 @@ #report tr:hover { background-color: #ccccff; } - -.disabled { - color: #888888; -} |