Files
Phraseanet/www/include/jslibs/yui2.8/examples/button/btn_example07_clean.html
2011-02-16 16:09:48 +01:00

327 lines
8.3 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Menu Buttons</title>
<style type="text/css">
/*margin and padding on body element
can introduce errors in determining
element position and are not recommended;
we turn them off as a foundation for YUI
CSS treatments. */
body {
margin:0;
padding:0;
}
</style>
<link rel="stylesheet" type="text/css" href="../../build/fonts/fonts-min.css" />
<link rel="stylesheet" type="text/css" href="../../build/menu/assets/skins/sam/menu.css" />
<link rel="stylesheet" type="text/css" href="../../build/button/assets/skins/sam/button.css" />
<script type="text/javascript" src="../../build/yahoo-dom-event/yahoo-dom-event.js"></script>
<script type="text/javascript" src="../../build/container/container_core-min.js"></script>
<script type="text/javascript" src="../../build/menu/menu-min.js"></script>
<script type="text/javascript" src="../../build/element/element-min.js"></script>
<script type="text/javascript" src="../../build/button/button-min.js"></script>
<!--begin custom header content for this example-->
<style type="text/css">
/*
Set the "zoom" property to "normal" since it is set to "1" by the
".example-container .bd" rule in yui.css and this causes a Menu
instance's width to expand to 100% of the browser viewport.
*/
div.yuimenu .bd {
zoom: normal;
}
#button-example-form fieldset {
border: 2px groove #ccc;
margin: .5em;
padding: .5em;
}
#menubutton3menu,
#menubutton4menu {
position: absolute;
visibility: hidden;
border: solid 1px #000;
padding: .5em;
background-color: #ccc;
}
#button-example-form-postdata {
border: dashed 1px #666;
background-color: #ccc;
padding: 1em;
}
#button-example-form-postdata h2 {
margin: 0 0 .5em 0;
padding: 0;
border: none;
}
</style>
<!--end custom header content for this example-->
</head>
<body class="yui-skin-sam">
<h1>Menu Buttons</h1>
<div class="exampleIntro">
<p>This example demonstrates different ways to create and use a Menu Button.</p>
</div>
<!--BEGIN SOURCE CODE FOR EXAMPLE =============================== -->
<script type="text/javascript">
// "contentready" event handler for the "menubuttonsfrommarkup" <fieldset>
YAHOO.util.Event.onContentReady("menubuttonsfrommarkup", function () {
// Create a Button using an existing <input> and <select> element.
// Because the "type" attribute of the <input> element was set to
// "submit" - clicking on any MenuItem in the Button's Menu will
// automatically submit the Button's parent <form>.
var oMenuButton1 = new YAHOO.widget.Button("menubutton1",
{ type: "menu", menu: "menubutton1select" });
// "render" event handler for the Button's Menu
var onMenuRender = function (p_sType, p_aArgs) {
this.addItems([
{ text: "Four", value: 4 },
{ text: "Five", value: 5 }
]);
};
// Add some additional MenuItems to the Button's Menu once it has
// been rendered
oMenuButton1.getMenu().subscribe("render", onMenuRender);
// "submit" event handler for the <form>
var onExampleSubmit = function(p_oEvent) {
var bSubmit =
window.confirm("Are you sure you want to submit the form?");
if(!bSubmit) {
YAHOO.util.Event.preventDefault(p_oEvent);
}
};
// Add a "submit" event handler to the <form> to confirm that
// clicking on one of the MenuItems in the Button's Menu
// submits the <form>.
YAHOO.util.Event.on("button-example-form", "submit", onExampleSubmit);
// Create a Button using an existing <input> and <select> element
var oMenuButton2 = new YAHOO.widget.Button("menubutton2",
{ type: "menu", menu: "menubutton2select" });
// "click" event listener for the second Button's Menu instance
var onMenuClick = function (p_sType, p_aArgs) {
var oEvent = p_aArgs[0], // DOM event
oMenuItem = p_aArgs[1]; // MenuItem instance that was the
// target of the event
if (oMenuItem) {
YAHOO.log("[MenuItem Properties] text: " +
oMenuItem.cfg.getProperty("text") + ", value: " +
oMenuItem.value);
}
};
// Add a "click" event listener for the Button's Menu
oMenuButton2.getMenu().subscribe("click", onMenuClick);
// Create a Button using an existing <input> element and a
// YAHOO.widget.Overlay instance as its menu
var oMenuButton3 = new YAHOO.widget.Button("menubutton3",
{ type: "menu", menu: "menubutton3menu" });
// "click" event listener for the third Button's
// menu (Overlay instance)
var onOverlayClick = function (p_oEvent) {
YAHOO.log("You clicked the Button's menu.");
};
// Add a "click" event listener to the Button's menu (Overlay instance)
YAHOO.util.Event.on(oMenuButton3.getMenu().element,
"click", onOverlayClick);
// "show" event listener for the third Button's menu (Overlay instance)
var onOverlayShow = function (p_sType, p_aArgs) {
YAHOO.log("The Button's menu is now visible.");
};
// Add a listener for the Button's "show" event
oMenuButton3.getMenu().subscribe("show", onOverlayShow);
});
// Search for an element to place the Menu Button into via the
// Event utility's "onContentReady" method
YAHOO.util.Event.onContentReady("menubuttonsfromjavascript", function () {
// Create two Buttons without using existing markup
// Instantiate an Overlay instance
var oOverlay = new YAHOO.widget.Overlay("menubutton4menu",
{ visible: false });
oOverlay.setBody("Menu Button 4 Menu");
// Instantiate a Menu Button
var oMenuButton4 = new YAHOO.widget.Button({ type: "menu",
label: "Menu Button 4",
menu: oOverlay,
container: this });
// "click" event handler for each item in the Button's menu
var onMenuItemClick = function (p_sType, p_aArgs, p_oItem) {
var sText = p_oItem.cfg.getProperty("text");
YAHOO.log("[MenuItem Properties] text: " + sText + ", value: " +
p_oItem.value);
oMenuButton5.set("label", sText);
};
// Create an array of YAHOO.widget.MenuItem configuration properties
var aMenuButton5Menu = [
{ text: "One", value: 1, onclick: { fn: onMenuItemClick } },
{ text: "Two", value: 2, onclick: { fn: onMenuItemClick } },
{ text: "Three", value: 3, onclick: { fn: onMenuItemClick } }
];
// Instantiate a Menu Button using the array of YAHOO.widget.MenuItem
// configuration properties as the value for the "menu"
// configuration attribute.
var oMenuButton5 = new YAHOO.widget.Button({ type: "menu",
label: "One",
name: "mymenubutton",
menu: aMenuButton5Menu,
container: this });
});
</script>
<form id="button-example-form" name="button-example-form" method="post">
<fieldset id="menubuttons">
<legend>Menu Buttons</legend>
<fieldset id="menubuttonsfrommarkup">
<legend>From Markup</legend>
<input type="submit" id="menubutton1" name="menubutton1_button" value="Menu Button 1">
<select id="menubutton1select" name="menubutton1select">
<option value="0">One</option>
<option value="1">Two</option>
<option value="2">Three</option>
</select>
<input type="button" id="menubutton2" name="menubutton2_button" value="Menu Button 2">
<select id="menubutton2select" name="menubutton2select">
<option value="0">One</option>
<option value="1">Two</option>
<option value="2">Three</option>
</select>
<input type="button" id="menubutton3" name="menubutton3_button" value="Menu Button 3">
<div id="menubutton3menu" class="yui-overlay">
<div class="bd">Menu Button 3 Menu</div>
</div>
</fieldset>
<fieldset id="menubuttonsfromjavascript">
<legend>From JavaScript</legend>
</fieldset>
</fieldset>
</form>
<!--END SOURCE CODE FOR EXAMPLE =============================== -->
</body>
</html>