mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-13 21:13:26 +00:00
277 lines
7.7 KiB
HTML
277 lines
7.7 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>Color Picker Button</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/slider/assets/skins/sam/slider.css" />
|
|
<link rel="stylesheet" type="text/css" href="../../build/fonts/fonts-min.css" />
|
|
<link rel="stylesheet" type="text/css" href="../../build/colorpicker/assets/skins/sam/colorpicker.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/dragdrop/dragdrop-min.js"></script>
|
|
<script type="text/javascript" src="../../build/slider/slider-min.js"></script>
|
|
<script type="text/javascript" src="../../build/element/element-min.js"></script>
|
|
<script type="text/javascript" src="../../build/colorpicker/colorpicker-min.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/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-container {
|
|
|
|
padding: .5em;
|
|
|
|
}
|
|
|
|
#color-picker-button {
|
|
|
|
vertical-align: baseline;
|
|
|
|
}
|
|
|
|
#color-picker-button button {
|
|
|
|
outline: none; /* Safari */
|
|
line-height: 1.5;
|
|
|
|
}
|
|
|
|
|
|
/*
|
|
Style the Button instance's label as a square whose background color
|
|
represents the current value of the ColorPicker instance.
|
|
*/
|
|
|
|
#current-color {
|
|
|
|
display: block;
|
|
display: inline-block;
|
|
*display: block; /* For IE */
|
|
margin-top: .5em;
|
|
*margin: .25em 0; /* For IE */
|
|
width: 1em;
|
|
height: 1em;
|
|
overflow: hidden;
|
|
text-indent: 1em;
|
|
background-color: #fff;
|
|
white-space: nowrap;
|
|
border: solid 1px #000;
|
|
|
|
}
|
|
|
|
|
|
/* Hide default colors for the ColorPicker instance. */
|
|
|
|
#color-picker-container .yui-picker-controls,
|
|
#color-picker-container .yui-picker-swatch,
|
|
#color-picker-container .yui-picker-websafe-swatch {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
|
|
/*
|
|
Size the body element of the Menu instance to match the dimensions of
|
|
the ColorPicker instance.
|
|
*/
|
|
|
|
#color-picker-menu .bd {
|
|
|
|
width: 220px;
|
|
height: 190px;
|
|
|
|
}
|
|
|
|
#photo {
|
|
|
|
background: #fff url(../button/assets/ggbridge.png) top left no-repeat;
|
|
|
|
/*
|
|
Hide the alpha PNG from IE 6 and make the background image transparent via the use of
|
|
the AlphaImageLoader that is applied by the filter property.
|
|
*/
|
|
|
|
_background-image: none;
|
|
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../button/assets/ggbridge.png', sizingMethod='image');;
|
|
|
|
border: solid 1px #000;
|
|
width: 400px;
|
|
height: 300px;
|
|
|
|
_width: 398px; /* For IE 6 */
|
|
_height: 298px; /* For IE 6 */
|
|
|
|
}
|
|
|
|
#button-container {
|
|
|
|
border-top: solid 1px #000;
|
|
padding: .5em .25em;
|
|
margin-top: .5em;
|
|
|
|
}
|
|
|
|
</style>
|
|
<!--end custom header content for this example-->
|
|
|
|
</head>
|
|
|
|
<body class="yui-skin-sam">
|
|
|
|
|
|
<h1>Color Picker Button</h1>
|
|
|
|
<div class="exampleIntro">
|
|
<p>
|
|
This example demonstrates how to render a Color Picker into the Menu of a Split Button.
|
|
Use the Color Picker Button below to create a duotone by selecting the background color
|
|
that should be applied to the image.
|
|
</p>
|
|
</div>
|
|
|
|
<!--BEGIN SOURCE CODE FOR EXAMPLE =============================== -->
|
|
|
|
<script type="text/javascript">
|
|
|
|
YAHOO.util.Event.onContentReady("button-container", function () {
|
|
|
|
function onButtonOption() {
|
|
|
|
/*
|
|
Create a new ColorPicker instance, placing it inside the body
|
|
element of the Menu instance.
|
|
*/
|
|
|
|
var oColorPicker = new YAHOO.widget.ColorPicker(oColorPickerMenu.body.id, {
|
|
showcontrols: false,
|
|
images: {
|
|
PICKER_THUMB: "../../build/colorpicker/assets/picker_thumb.png",
|
|
HUE_THUMB: "../../build/colorpicker/assets/hue_thumb.png"
|
|
}
|
|
});
|
|
|
|
|
|
/*
|
|
Add a listener for the ColorPicker instance's "rgbChange" event
|
|
to update the background color and text of the Button's
|
|
label to reflect the change in the value of the ColorPicker.
|
|
*/
|
|
|
|
oColorPicker.on("rgbChange", function (p_oEvent) {
|
|
|
|
var sColor = "#" + this.get("hex");
|
|
|
|
oButton.set("value", sColor);
|
|
|
|
YAHOO.util.Dom.setStyle("current-color", "backgroundColor", sColor);
|
|
YAHOO.util.Dom.get("current-color").innerHTML = "Current color is " + sColor;
|
|
|
|
});
|
|
|
|
|
|
// Remove this event listener so that this code runs only once
|
|
|
|
this.unsubscribe("option", onButtonOption);
|
|
|
|
}
|
|
|
|
|
|
// Create a Menu instance to house the ColorPicker instance
|
|
|
|
var oColorPickerMenu = new YAHOO.widget.Menu("color-picker-menu");
|
|
|
|
|
|
// Create a Button instance of type "split"
|
|
|
|
var oButton = new YAHOO.widget.Button({
|
|
type: "split",
|
|
id: "color-picker-button",
|
|
label: "<em id=\"current-color\">Current color is #FFFFFF.</em>",
|
|
menu: oColorPickerMenu,
|
|
container: "button-container" });
|
|
|
|
|
|
oButton.on("appendTo", function () {
|
|
|
|
/*
|
|
Create an empty body element for the Menu instance in order to
|
|
reserve space to render the ColorPicker instance into.
|
|
*/
|
|
|
|
oColorPickerMenu.setBody(" ");
|
|
|
|
oColorPickerMenu.body.id = "color-picker-container";
|
|
|
|
|
|
|
|
// Render the Menu into the Button instance's parent element
|
|
|
|
oColorPickerMenu.render(this.get("container"));
|
|
|
|
});
|
|
|
|
|
|
/*
|
|
Add a listener for the "option" event. This listener will be
|
|
used to defer the creation the ColorPicker instance until the
|
|
first time the Button's Menu instance is requested to be displayed
|
|
by the user.
|
|
*/
|
|
|
|
oButton.on("option", onButtonOption);
|
|
|
|
|
|
/*
|
|
Add a listener for the "click" event. This listener will be used to apply the
|
|
the background color to the photo.
|
|
*/
|
|
|
|
oButton.on("click", function () {
|
|
|
|
YAHOO.util.Dom.setStyle("photo", "backgroundColor", this.get("value"));
|
|
|
|
});
|
|
|
|
});
|
|
|
|
</script>
|
|
|
|
<div id="photo"></div>
|
|
<div id="button-container"><label for="color-picker-button">Background Color: </label></div>
|
|
<!--END SOURCE CODE FOR EXAMPLE =============================== -->
|
|
|
|
</body>
|
|
</html>
|