From c4975b6395df29d2472359f4364f04ebbc108008 Mon Sep 17 00:00:00 2001 From: David Lawrence Date: Thu, 16 Apr 2015 23:39:27 +0100 Subject: Bug 1113375: Make changes to MDN's feature request form --- .../en/default/bug/create/create-mdn.html.tmpl | 159 ++++++++++++++++----- 1 file changed, 120 insertions(+), 39 deletions(-) (limited to 'extensions/BMO/template/en/default/bug/create/create-mdn.html.tmpl') diff --git a/extensions/BMO/template/en/default/bug/create/create-mdn.html.tmpl b/extensions/BMO/template/en/default/bug/create/create-mdn.html.tmpl index f79363c99..9f2d480a0 100644 --- a/extensions/BMO/template/en/default/bug/create/create-mdn.html.tmpl +++ b/extensions/BMO/template/en/default/bug/create/create-mdn.html.tmpl @@ -38,20 +38,20 @@ strong.required:before { var mdn = { _initial_state: 'initial', _current_state: 'initial', - _current_type: 'Bug', + _current_type: 'bug', _required_fields: { - 'Bug': { + 'bug': { 'bug_actions': 'Please enter some text for "What did you do?"', 'bug_actual_results': 'Please enter some text for "What happened?"', 'bug_expected_results': 'Please enter some text for "What should have happened?"', }, - 'Feature': { - 'feature_problem_solving': 'Please enter some text for "What problems would this solve?"', - 'feature_audience': 'Please enter some text for "Who would use this?"', - 'feature_interface': 'Please enter some text for "What would users see?"', - 'feature_process': 'Please enter some text for "What would users do? What would happen as a result?"', + 'feature': { + 'feature_problem': 'Please enter some text for "What problem would this solve?"', + 'feature_identification': 'Please enter some text for "How do you know that the users identified above have this problem?"', + 'feature_solution': 'Please enter some text for "How are the users identified above solving this problem now?"', + 'feature_suggestions': 'Please enter some text for "Do you have any suggestions for solving the problem?"' }, - 'Change': { + 'change': { 'change_feature': 'Please enter some text for "What feature should be changed? Please provide the URL of the feature if possible"', 'change_problem_solving': 'Please enter some text for "What problems would this solve?"', 'change_audience': 'Please enter some text for "Who would use this?"', @@ -62,14 +62,14 @@ strong.required:before { setState: function(state, request_type, no_set_history) { if (state == 'detail') { request_type = request_type || this._getRadioValueByClass('request_type'); - request_type = request_type.toLowerCase(); - if (request_type == 'bug') { + if (request_type == 'bug') { Dom.get('detail_header').innerHTML = '

[% terms.Bug %] Report

'; Dom.get('secure_type').innerHTML = 'report'; } if (request_type == 'feature') { Dom.get('detail_header').innerHTML = '

Feature Request

'; Dom.get('secure_type').innerHTML = 'request'; + Dom.removeClass('detail_feature_other_forms', 'bz_default_hidden'); } if (request_type == 'change') { Dom.get('detail_header').innerHTML = '

Change Request

'; @@ -77,42 +77,69 @@ strong.required:before { } Dom.addClass('detail_' + this._current_type, 'bz_default_hidden'); Dom.removeClass('detail_' + request_type, 'bz_default_hidden'); + if (request_type != 'feature') { + Dom.addClass('detail_feature_other_forms', 'bz_default_hidden'); + } this._current_type = request_type; + } Dom.addClass(this._current_state + '_form', 'bz_default_hidden'); Dom.removeClass(state + '_form', 'bz_default_hidden'); this._current_state = state; if (History && !no_set_history) { - History.navigate('h', state + + History.navigate('h', state + (request_type ? '|' + request_type : '')); } return true; - }, + }, validateAndSubmit: function() { - var request_type = this._getRadioValueByClass('request_type'); var alert_text = ''; + var request_type = this._current_type; if (!isFilledOut('short_desc')) alert_text += 'Please enter a "Summary".\n'; for (require_type in this._required_fields) { if (require_type == request_type) { for (field in this._required_fields[require_type]) { - if (!isFilledOut(field)) + if (!isFilledOut(field)) alert_text += this._required_fields[require_type][field] + "\n"; } } } + + // Feature audience radio input + if (request_type == 'feature') { + var audience = document.getElementsByName('feature_audience'); + var found = 0; + for(var i = 0, l = audience.length; i < l; i++) { + if (audience[i].checked) { + found = 1; + if (audience[i].id == 'feature_audience_other' + && document.getElementById('feature_audience_other_text').value == '') + { + alert_text += 'Please enter a value for "Other" in "Who has this problem?"'; + } + } + } + if (!found) { + alert_text += 'Please select a value for "Who has this problem?"'; + } + } + if (alert_text != '') { alert(alert_text); return false; } var whiteboard = Dom.get('status_whiteboard'); whiteboard.value = "[specification][type:" + request_type.toLowerCase() + "]"; + if (request_type == 'feature') { + Dom.get('bug_severity').value = 'enhancement'; + } return true; - }, + }, _getRadioValueByClass: function(class_name) { var elements = Dom.getElementsByClassName(class_name); for (var i = 0, l = elements.length; i < l; i++) { - if (elements[i].checked) return elements[i].value; - } + if (elements[i].checked) return elements[i].value; + } }, init: function() { var bookmarked_state = History.getBookmarkedState('h'); @@ -134,6 +161,7 @@ strong.required:before { mdn.setState(state_data[0], state_data[1], no_set_history); } }; + Event.onDOMReady(mdn.init); Event.on('show_detail', 'click', function() { mdn.setState('detail'); }); [% END %] @@ -164,14 +192,14 @@ strong.required:before {

- +
- +
- +

@@ -181,9 +209,30 @@ strong.required:before {

-

- Summary
- +

+

+ This form lets you to request new features on MDN. Please use the + different specific [% terms.bug %] forms for…
+

+

+
+ +

+ Summary
+

@@ -206,20 +255,56 @@ strong.required:before {

- What problems would this solve?
- + + What problem would this solve? +
+

- Who would use this?
- + Who has this problem?
+ +
+ +
+ +
+ +
+ +
+ +
+

- What would users see?
- + + How do you know that the users identified above have this problem?
+ What experiment did you run? What data are you considering?
+ (If you did not run an experiment or do not have any data yet, that’s OK; + please say so.) +

+ +

+ + How are the users identified above solving this problem now? +
+

- What would users do? What would happen as a result?
- + + Do you have any suggestions for solving the problem? Please explain + in detail. +
+

@@ -245,7 +330,7 @@ strong.required:before {

- +

Is there anything else we should know?
@@ -272,8 +357,4 @@ strong.required:before { Switch to the standard [% terms.bug %] entry form

- - [% PROCESS global/footer.html.tmpl %] -- cgit v1.2.3-24-g4f1b