summaryrefslogtreecommitdiffstats
path: root/extensions/TrackingFlags/web/js/tracking_flags.js
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/TrackingFlags/web/js/tracking_flags.js')
-rw-r--r--extensions/TrackingFlags/web/js/tracking_flags.js85
1 files changed, 50 insertions, 35 deletions
diff --git a/extensions/TrackingFlags/web/js/tracking_flags.js b/extensions/TrackingFlags/web/js/tracking_flags.js
index 135b93dba..17513ffe4 100644
--- a/extensions/TrackingFlags/web/js/tracking_flags.js
+++ b/extensions/TrackingFlags/web/js/tracking_flags.js
@@ -8,49 +8,64 @@
var Dom = YAHOO.util.Dom;
-var TrackingFlags = {
- flags: {},
- types: []
-};
-
function hide_tracking_flags() {
- for (var i = 0, l = TrackingFlags.types.length; i < l; i++) {
- var flag_type = TrackingFlags.types[i];
- for (var field in TrackingFlags.flags[flag_type]) {
- var el = Dom.get(field);
- var value = el ? el.value : TrackingFlags.flags[flag_type][field];
- if (el && (value != TrackingFlags.flags[flag_type][field])) {
- show_tracking_flags(flag_type);
- return;
- }
- if (value == '---') {
- Dom.addClass('row_' + field, 'bz_default_hidden');
- } else {
- Dom.addClass(field, 'bz_default_hidden');
- Dom.removeClass('ro_' + field, 'bz_default_hidden');
- }
+ for (var i = 0, l = TrackingFlags.types.length; i < l; i++) {
+ var flag_type = TrackingFlags.types[i];
+ for (var field in TrackingFlags.flags[flag_type]) {
+ var el = Dom.get(field);
+ var value = el ? el.value : TrackingFlags.flags[flag_type][field];
+ if (el && (value != TrackingFlags.flags[flag_type][field])) {
+ show_tracking_flags(flag_type);
+ return;
+ }
+ if (value == '---') {
+ Dom.addClass('row_' + field, 'bz_default_hidden');
+ } else {
+ Dom.addClass(field, 'bz_default_hidden');
+ Dom.removeClass('ro_' + field, 'bz_default_hidden');
+ }
+ }
}
- }
}
function show_tracking_flags(flag_type) {
- Dom.addClass('edit_' + flag_type + '_flags_action', 'bz_default_hidden');
- for (var field in TrackingFlags.flags[flag_type]) {
- if (Dom.get(field).value == '---') {
- Dom.removeClass('row_' + field, 'bz_default_hidden');
+ Dom.addClass('edit_' + flag_type + '_flags_action', 'bz_default_hidden');
+ for (var field in TrackingFlags.flags[flag_type]) {
+ if (Dom.get(field).value == '---') {
+ Dom.removeClass('row_' + field, 'bz_default_hidden');
+ } else {
+ Dom.removeClass(field, 'bz_default_hidden');
+ Dom.addClass('ro_' + field, 'bz_default_hidden');
+ }
+ }
+}
+
+function tracking_flag_change(e) {
+ var value = e.value;
+ if (!TrackingFlags.comments[e.name])
+ return;
+ var prefill = TrackingFlags.comments[e.name][e.value];
+ if (!prefill)
+ return;
+ var commentEl = document.getElementById('comment');
+ if (!commentEl)
+ return;
+ var value = commentEl.value;
+ if (value == prefill)
+ return;
+ if (value == '') {
+ commentEl.value = prefill;
} else {
- Dom.removeClass(field, 'bz_default_hidden');
- Dom.addClass('ro_' + field, 'bz_default_hidden');
+ commentEl.value = prefill + "\n\n" + value;
}
- }
}
YAHOO.util.Event.onDOMReady(function() {
- var edit_tracking_links = Dom.getElementsByClassName('edit_tracking_flags_link');
- for (var i = 0, l = edit_tracking_links.length; i < l; i++) {
- YAHOO.util.Event.addListener(edit_tracking_links[i], 'click', function(e) {
- e.preventDefault();
- show_tracking_flags(this.name);
- });
- }
+ var edit_tracking_links = Dom.getElementsByClassName('edit_tracking_flags_link');
+ for (var i = 0, l = edit_tracking_links.length; i < l; i++) {
+ YAHOO.util.Event.addListener(edit_tracking_links[i], 'click', function(e) {
+ e.preventDefault();
+ show_tracking_flags(this.name);
+ });
+ }
});