Commit c24a113a authored by Guy Pyrzak's avatar Guy Pyrzak Committed by Frédéric Buclin

Bug 591535: "Give me some help" link's iframe behavior is no longer necessary

r=LpSolit r=mkanat a=mkanat
parent dc739537
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is the Bugzilla Bug Tracking System.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1998
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Gervase Markham <gerv@gerv.net>
*
* ***** END LICENSE BLOCK ***** */
var g_helpTexts = new Object();
var g_helpIframe;
var g_helpDiv;
/**
* Generate help controls during page construction.
*
* @return Boolean; true if controls were created and false if not.
*/
function generateHelp()
{
// Only enable help if controls can be hidden
if (!document.body.style)
return false;
// Create help controls (a div to hold help text and an iframe
// to mask any and all controls under the popup)
document.write('<div id="helpDiv" style="display: none;"><\/div>');
document.write('<iframe id="helpIframe" src="about:blank"');
document.write(' frameborder="0" scrolling="no"><\/iframe>');
return true;
}
/**
* Enable help popups for all form elements after the page has finished loading.
*
* @return Boolean; true if help was enabled and false if not.
*/
function enableHelp()
{
g_helpIframe = document.getElementById('helpIframe');
g_helpDiv = document.getElementById('helpDiv');
if (!g_helpIframe || !g_helpDiv) // Disabled if no controls found
return false;
// MS decided to add fieldsets to the elements array; and
// Mozilla decided to copy this brokenness. Grr.
for (var i = 0; i < document.forms.length; i++) {
for (var j = 0; j < document.forms[i].elements.length; j++) {
if (document.forms[i].elements[j].tagName != 'FIELDSET') {
document.forms[i].elements[j].onmouseover = showHelp;
}
}
}
document.body.onclick = hideHelp;
return true;
}
/**
* Show the help popup for a form element.
*/
function showHelp() {
if (!g_helpIframe || !g_helpDiv || !g_helpTexts[this.name])
return;
// Get the position and size of the form element in the document
var elemY = bz_findPosY(this);
var elemX = bz_findPosX(this);
var elemH = this.offsetHeight;
// Update help text displayed in the div
g_helpDiv.innerHTML = ''; // Helps IE 5 Mac
g_helpDiv.innerHTML = g_helpTexts[this.name];
// Position and display the help popup
g_helpIframe.style.top = g_helpDiv.style.top = elemY + elemH + 5 + "px";
g_helpIframe.style.left = g_helpDiv.style.left = elemX + "px";
g_helpIframe.style.display = g_helpDiv.style.display = '';
g_helpIframe.style.width = g_helpDiv.offsetWidth + "px";
g_helpIframe.style.height = g_helpDiv.offsetHeight + "px";
}
/**
* Hide the help popup.
*/
function hideHelp() {
if (!g_helpIframe || !g_helpDiv)
return;
g_helpIframe.style.display = g_helpDiv.style.display = 'none';
}
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is the Bugzilla Bug Tracking System.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1998
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Gervase Markham <gerv@gerv.net>
*
* ***** END LICENSE BLOCK ***** */
/* Help system */
#helpDiv {
border-style: solid;
border-color: #F0A000;
background-color: white;
padding: 5px;
position: absolute;
z-index: 2;
}
#helpIframe {
overflow: hidden;
position: absolute;
z-index: 1;
display: none;
}
......@@ -36,12 +36,11 @@ var queryform = "queryform"
[% PROCESS global/header.html.tmpl
title = "Search for $terms.bugs"
onload = "doOnSelectProduct(0); enableHelp();"
onload = "doOnSelectProduct(0);"
javascript = js_data
yui = [ 'autocomplete', 'calendar' ]
javascript_urls = [ "js/productform.js", "js/util.js",
"js/help.js" , "js/TUI.js", "js/field.js"]
style_urls = [ "skins/standard/help.css" , "skins/standard/search_form.css" ]
javascript_urls = [ "js/productform.js", "js/util.js", "js/TUI.js", "js/field.js"]
style_urls = [ "skins/standard/search_form.css" ]
doc_section = "query.html"
style = "dl.bug_changes dt {
margin-top: 15px;
......@@ -52,19 +51,7 @@ var queryform = "queryform"
[% button_name = "Search" %]
[%# The decent help requires Javascript %]
<script type="text/javascript"> <!--
[% IF NOT cgi.param("help") %]
document.write("<p><a href='query.cgi?help=1&amp;format=advanced'>Give me some help<\/a> (reloads page).<\/p>");
[% ELSE %]
[% PROCESS "bug/field-help.none.tmpl" %]
if (generateHelp())
document.write("<p>For help, mouse over the page elements.<\/p>");
else
document.write("<p>Help initialization failed, no help available.<\/p>");
[% END %]
// -->
</script>
<p id="search_help">Hover your mouse over each field label to get help for that field.</p>
<form method="post" action="buglist.cgi" name="queryform" id="queryform">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment