293 lines
8.5 KiB
HTML
293 lines
8.5 KiB
HTML
<!doctype html public "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
|
<html>
|
|
<head>
|
|
<title>Yahoo! UI Library - Drag and Drop</title>
|
|
<link rel="stylesheet" type="text/css" href="./css/screen.css">
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<script type="text/javascript" src="../../build/yahoo/yahoo-min.js" ></script>
|
|
<script type="text/javascript" src="../../build/event/event-min.js" ></script>
|
|
<script type="text/javascript" src="../../build/dom/dom-min.js"></script>
|
|
<script type="text/javascript" src="../../build/logger/logger-min.js"></script>
|
|
|
|
<script type="text/javascript" src="../../build/dragdrop/dragdrop-debug.js" ></script>
|
|
|
|
<script type="text/javascript" src="js/DDSwap.js" ></script>
|
|
|
|
<script type="text/javascript" language="JavaScript">
|
|
|
|
YAHOO.example.DDApp = function() {
|
|
var dd, dd2, dd3;
|
|
|
|
function handleKeypress(e) {
|
|
alert("asdf");
|
|
YAHOO.log("keypress");
|
|
YAHOO.util.Event.stopEvent(e);
|
|
e.cancel = true;
|
|
return false;
|
|
}
|
|
|
|
function initPointMode() {
|
|
|
|
YAHOO.log("point mode");
|
|
|
|
unreg();
|
|
|
|
YAHOO.util.DDM.mode = YAHOO.util.DDM.POINT;
|
|
|
|
dd = new YAHOO.example.DDSwap("dragDiv1", "proxytest");
|
|
// dd.setPadding(10);
|
|
//dd.setXConstraint(0,0);
|
|
|
|
dd2 = new YAHOO.example.DDSwap("dragDiv2", "proxytest");
|
|
dd2.addInvalidHandleType("input");
|
|
// dd2.setPadding(10, 20, 30, 40);
|
|
// dd2.setXConstraint(0,0);
|
|
|
|
// the third DD instance uses its own proxy element
|
|
dd3 = new YAHOO.example.DDSwap("dragDiv3", "proxytest",
|
|
{ dragElId: "dragDiv4",
|
|
centerFrame: true, resizeFrame: false });
|
|
//{ dragElId: "dragDiv4" });
|
|
// dd3.setPadding(10, 40);
|
|
// dd3.setPadding(10, 0, 20, 40);
|
|
|
|
|
|
}
|
|
|
|
function initIntersectMode(strict) {
|
|
|
|
YAHOO.log("intersect mode");
|
|
|
|
unreg();
|
|
|
|
if (strict) {
|
|
YAHOO.util.DDM.mode = YAHOO.util.DDM.STRICT_INTERSECT;
|
|
} else {
|
|
YAHOO.util.DDM.mode = YAHOO.util.DDM.INTERSECT;
|
|
}
|
|
|
|
dd = new YAHOO.example.DDSwap_i("dragDiv1");
|
|
//dd.setPadding(10);
|
|
|
|
dd2 = new YAHOO.example.DDSwap_i("dragDiv2");
|
|
dd2.addInvalidHandleType("input");
|
|
//dd2.setPadding(10, 20, 30, 40);
|
|
// dd2.setXConstraint(0,0);
|
|
|
|
dd3 = new YAHOO.example.DDSwap_i("dragDiv3");
|
|
// dd3.setPadding(10, 40);
|
|
//dd3.setPadding(10, 0, 20, 40);
|
|
}
|
|
|
|
function unreg() {
|
|
if (dd) dd.unreg();
|
|
if (dd2) dd2.unreg();
|
|
if (dd3) dd3.unreg();
|
|
}
|
|
|
|
return {
|
|
init: function() {
|
|
|
|
// YAHOO.util.Event.on("testtext", "keydown", handleKeypress);
|
|
initPointMode();
|
|
},
|
|
|
|
lock: function() {
|
|
dd.lock();
|
|
dd2.setXConstraint(100, 100);
|
|
dd2.setYConstraint(100, 100);
|
|
},
|
|
|
|
unlock: function() {
|
|
dd.unlock();
|
|
},
|
|
|
|
changeMode: function(val) {
|
|
if (val ==1) {
|
|
initIntersectMode(false);
|
|
} else if (val == 2) {
|
|
initIntersectMode(true);
|
|
} else {
|
|
initPointMode();
|
|
}
|
|
},
|
|
|
|
unreg: function() {
|
|
dd.unreg();
|
|
}
|
|
|
|
};
|
|
}();
|
|
|
|
|
|
YAHOO.util.Event.addListener(window, "load", YAHOO.example.DDApp.init);
|
|
|
|
</script>
|
|
|
|
<div id="pageTitle">
|
|
<h3>Drag and Drop - DDProxy</h3>
|
|
</div>
|
|
|
|
|
|
<style type="text/css">
|
|
|
|
/* logger default styles */
|
|
/* font size is controlled here: default 77% */
|
|
#yui-log {position:absolute;top:1em;right:1em;font-size:77%;text-align:left;}
|
|
/* width is controlled here: default 31em */
|
|
.yui-log {background-color:#AAA;border:1px solid black;font-family:monospace;z-index:9000;}
|
|
.yui-log p {margin:1px;padding:.1em;}
|
|
.yui-log button {font-family:monospace;}
|
|
.yui-log .yui-log-hd {padding:.5em;background-color:#575757;color:#FFF;}
|
|
/* height is controlled here: default 20em*/
|
|
.yui-log .yui-log-bd {width:100%;height:20em;background-color:#FFF;border:1px solid gray;overflow:auto;}
|
|
.yui-log .yui-log-ft {margin-top:.5em;margin-bottom:1em;}
|
|
.yui-log .yui-log-ft .yui-log-categoryfilters {}
|
|
.yui-log .yui-log-ft .yui-log-sourcefilters {width:100%;border-top:1px solid #575757;margin-top:.75em;padding-top:.75em;}
|
|
.yui-log .yui-log-btns {position:relative;float:right;bottom:.25em;}
|
|
.yui-log .yui-log-filtergrp {margin-right:.5em;}
|
|
.yui-log .info {background-color:#A7CC25;} /* A7CC25 green */
|
|
.yui-log .warn {background-color:#F58516;} /* F58516 orange */
|
|
.yui-log .error {background-color:#E32F0B;} /* E32F0B red */
|
|
.yui-log .time {background-color:#A6C9D7;} /* A6C9D7 blue */
|
|
.yui-log .window {background-color:#F2E886;} /* F2E886 tan */
|
|
|
|
|
|
</style>
|
|
|
|
|
|
<img id="ylogo" src="img/logo.gif" />
|
|
|
|
<div id="container">
|
|
<div id="containerTop">
|
|
<div id="header">
|
|
<h4> </h4>
|
|
</div>
|
|
<div id="main">
|
|
|
|
<div id="rightbar">
|
|
|
|
<div id="rightBarPad">
|
|
<h3>Examples</h3>
|
|
|
|
<div id="linkage">
|
|
<ul>
|
|
<li><a href="drag.html?mode=dist">Drag test</a></li>
|
|
<li><a href="ontop.html?mode=dist">Always on top</a></li>
|
|
<li><a href="proxy.html?mode=dist">Proxy drag</a> </li>
|
|
<li><a href="list.html?mode=dist">Sortable list</a> </li>
|
|
<!--
|
|
<li><a href="slider.html?mode=dist">Slider</a></li>
|
|
-->
|
|
<li><a href="multihandle.html?mode=dist">Multiple handles</a></li>
|
|
<li><a href="targetable.html?mode=dist">Targetable affordance</a></li>
|
|
<li><a href="grid.html?mode=dist">Grid</a></li>
|
|
<li><a href="resize.html?mode=dist">Resize pane</a></li>
|
|
<li><a href="circle.html?mode=dist">Custom click validator</a></li>
|
|
|
|
</ul>
|
|
</div>
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
//<![CDATA[
|
|
YAHOO.example.logApp = {
|
|
|
|
reader: null,
|
|
|
|
init: function() {
|
|
if (YAHOO.widget.Logger) {
|
|
this.reader = new YAHOO.widget.LogReader( "logDiv",
|
|
{ newestOnTop: true, height: "400px" } );
|
|
|
|
this.reader._onClickPauseBtn(null, this.reader);
|
|
}
|
|
}
|
|
};
|
|
|
|
YAHOO.util.Event.on(window, "load", YAHOO.example.logApp.init);
|
|
|
|
//]]>
|
|
</script>
|
|
|
|
</h4>
|
|
<div id="logDiv"></div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
<div id="content">
|
|
<form name="dragDropForm" action="javscript:;">
|
|
<div class="newsItem">
|
|
<h3>Proxy</h3>
|
|
|
|
<!--
|
|
<a href="javascript:YAHOO.util.DDM._onUnload()">Unload test</a>
|
|
<a href="javascript:YAHOO.example.DDApp.lock()">lock</a>
|
|
<a href="javascript:YAHOO.example.DDApp.unlock()">unlock</a>
|
|
<a href="javascript:YAHOO.example.DDApp.unreg()">Unreg test</a>
|
|
-->
|
|
<p>
|
|
This example builds on
|
|
<a href="../test/test_draggable.php?mode=
|
|
Notice: Undefined index: mode in /Library/WebServer/Documents/DragDrop.dev/examples/proxy.php on line 142
|
|
">YAHOO.util.DD</a>.
|
|
Instead of moving the actual html element that was clicked, we have a hidden
|
|
layer, empty aside from a border, absolutely positioned, that we place in the same
|
|
location of the clicked object. The onDrag event handler was implemented so
|
|
that the style of the DragDrop elements change when they interact. The onDragDrop
|
|
event handler was implemented so that the elements swap positions if one is dropped
|
|
on another.
|
|
Mode:
|
|
<select onchange="YAHOO.example.DDApp.changeMode(this.selectedIndex)">
|
|
<option value="0" selected>Point</option>
|
|
<option value="1">Intersect</option>
|
|
<option value="2">Strict Intersect</option>
|
|
</select>
|
|
<!--
|
|
<input name="testtext" id="testtext" type="text" />
|
|
-->
|
|
|
|
</p>
|
|
|
|
<strong>The logger is paused for performance reasons. Click "Resume" to re-enable it.</strong>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
|
|
<div id="footerContainer">
|
|
<div id="footer">
|
|
<p> </p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<!--
|
|
<div id="wrapperDiv" style="position:relative;width:400px;top:200px;height:200px;overflow:auto">
|
|
-->
|
|
|
|
<div id="dragDiv1" class="testSquare" style="background:url(img/sq1.png) 0 0 no-repeat;background-color:#6D739A;top:270px; left:105px ">DDSwap</div>
|
|
<div id="dragDiv2" class="testSquare" style="background:url(img/sq2.png) 0 0 no-repeat;background-color:#566F4E;top:350px; left:215px">
|
|
DDSwap
|
|
<!--
|
|
<input type="text" name="testinput" />
|
|
-->
|
|
</div>
|
|
<div id="wrapperDiv">
|
|
<div id="dragDiv3" class="testSquare" style="background:url(img/sq3.png) 0 0 no-repeat;background-color:#7E5B60;top:430px; left:325px">DDSwap</div>
|
|
</div>
|
|
|
|
<div id="dragDiv4" class="testSquare" style="visibility:hidden;border:0px solid black;height: 141px;width:160px;background-color:#7E5B60;top:630px; left:525px;height:50px;width:50px">a custom proxy element</div>
|
|
<!--
|
|
</div>
|
|
-->
|
|
</body>
|
|
</html>
|