Add the legacy frontend themes, scripts, and plugin assets required by the main SPOTA interfaces.
263 lines
7.4 KiB
HTML
263 lines
7.4 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=ISO-8859-1">
|
|
<title>Dynatree - Test wit latest jQuery</title>
|
|
|
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js" type="text/javascript"></script>
|
|
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js" type="text/javascript"></script>
|
|
<script src="../jquery/jquery.cookie.js" type="text/javascript"></script>
|
|
|
|
<link href="../src/skin/ui.dynatree.css" rel="stylesheet" type="text/css" id="skinSheet">
|
|
<script src="../src/jquery.dynatree.js" type="text/javascript"></script>
|
|
|
|
<style type="text/css">
|
|
#draggableSample, #droppableSample {
|
|
height:100px;
|
|
padding:0.5em;
|
|
width:150px;
|
|
border:1px solid #AAAAAA;
|
|
}
|
|
#draggableSample {
|
|
background-color: silver;
|
|
color:#222222;
|
|
}
|
|
#droppableSample {
|
|
background-color: maroon;
|
|
color: white;
|
|
}
|
|
#droppableSample.drophover {
|
|
border: 1px solid green;
|
|
}
|
|
</style>
|
|
|
|
<!-- Start_Exclude: This block is not part of the sample code -->
|
|
<link href="prettify.css" rel="stylesheet">
|
|
<script src="prettify.js" type="text/javascript"></script>
|
|
<link href="sample.css" rel="stylesheet" type="text/css">
|
|
<script src="sample.js" type="text/javascript"></script>
|
|
<!-- End_Exclude -->
|
|
|
|
<script type="text/javascript"><!--
|
|
$(function(){
|
|
// --- Initialize first Dynatree -------------------------------------------
|
|
$("#tree").dynatree({
|
|
initAjax: {
|
|
url: "sample-data3.json"
|
|
},
|
|
onLazyRead: function(node){
|
|
// Mockup a slow reqeuest ...
|
|
node.appendAjax({
|
|
url: "sample-data2.json",
|
|
debugLazyDelay: 750 // don't do thi in production code
|
|
});
|
|
},
|
|
onActivate: function(node) {
|
|
$("#echoActive").text(node.data.title + "(" + node.data.key + ")");
|
|
},
|
|
onDeactivate: function(node) {
|
|
$("#echoActive").text("-");
|
|
},
|
|
dnd: {
|
|
onDragStart: function(node) {
|
|
/** This function MUST be defined to enable dragging for the tree.
|
|
* Return false to cancel dragging of node.
|
|
*/
|
|
logMsg("tree.onDragStart(%o)", node);
|
|
if(node.data.isFolder)
|
|
return false;
|
|
return true;
|
|
},
|
|
onDragStop: function(node) {
|
|
logMsg("tree.onDragStop(%o)", node);
|
|
}
|
|
}
|
|
});
|
|
// --- Initialize second Dynatree ------------------------------------------
|
|
$("#tree2").dynatree({
|
|
initAjax: {
|
|
url: "sample-data3.json"
|
|
},
|
|
onLazyRead: function(node){
|
|
// Mockup a slow reqeuest ...
|
|
node.appendAjax({
|
|
url: "sample-data2.json",
|
|
debugLazyDelay: 750 // don't do thi in production code
|
|
});
|
|
},
|
|
onActivate: function(node) {
|
|
$("#echoActive2").text(node.data.title + "(" + node.data.key + ")");
|
|
},
|
|
onDeactivate: function(node) {
|
|
$("#echoActive2").text("-");
|
|
},
|
|
onLazyRead: function(node){
|
|
node.appendAjax({
|
|
url: "sample-data2.json"
|
|
});
|
|
},
|
|
dnd: {
|
|
autoExpandMS: 1000,
|
|
preventVoidMoves: true, // Prevent dropping nodes 'before self', etc.
|
|
onDragEnter: function(node, sourceNode) {
|
|
/** sourceNode may be null for non-dynatree droppables.
|
|
* Return false to disallow dropping on node. In this case
|
|
* onDragOver and onDragLeave are not called.
|
|
* Return 'over', 'before, or 'after' to force a hitMode.
|
|
* Any other return value will calc the hitMode from the cursor position.
|
|
*/
|
|
logMsg("tree.onDragEnter(%o, %o)", node, sourceNode);
|
|
// if(node.data.isFolder)
|
|
// return false;
|
|
return true;
|
|
// return "over";
|
|
},
|
|
onDragOver: function(node, sourceNode, hitMode) {
|
|
/** Return false to disallow dropping this node.
|
|
*
|
|
*/
|
|
// if(node.data.isFolder){
|
|
// var dd = $.ui.ddmanager.current;
|
|
// dd.cancel();
|
|
// alert("folder");
|
|
// }
|
|
logMsg("tree.onDragOver(%o, %o, %o)", node, sourceNode, hitMode);
|
|
},
|
|
onDrop: function(node, sourceNode, hitMode, ui, draggable) {
|
|
/**This function MUST be defined to enable dropping of items on the tree.
|
|
* sourceNode may be null, if it is a non-Dynatree droppable.
|
|
*/
|
|
logMsg("tree.onDrop(%o, %o)", node, sourceNode);
|
|
var copynode;
|
|
if(sourceNode) {
|
|
copynode = sourceNode.toDict(true, function(dict){
|
|
dict.title = "Copy of " + dict.title;
|
|
delete dict.key; // Remove key, so a new one will be created
|
|
});
|
|
}else{
|
|
copynode = {title: "This node was dropped here (" + ui.helper + ")."};
|
|
}
|
|
if(hitMode == "over"){
|
|
// Append as child node
|
|
node.addChild(copynode);
|
|
// expand the drop target
|
|
node.expand(true);
|
|
}else if(hitMode == "before"){
|
|
// Add before this, i.e. as child of current parent
|
|
node.parent.addChild(copynode, node);
|
|
}else if(hitMode == "after"){
|
|
// Add after this, i.e. as child of current parent
|
|
node.parent.addChild(copynode, node.getNextSibling());
|
|
}
|
|
},
|
|
onDragLeave: function(node, sourceNode) {
|
|
/** Always called if onDragEnter was called.
|
|
*/
|
|
logMsg("tree.onDragLeave(%o, %o)", node, sourceNode);
|
|
}
|
|
}
|
|
});
|
|
// --- Initialize simple draggable sample ----------------------------------
|
|
$("#draggableSample").draggable({
|
|
revert: true,
|
|
connectToDynatree: true,
|
|
cursorAt: { top: -5, left:-5 },
|
|
helper: "clone"
|
|
});
|
|
// --- Initialize simple droppable sample ----------------------------------
|
|
$("#droppableSample").droppable({
|
|
hoverClass: "drophover",
|
|
addClasses: true,
|
|
over: function(event, ui) {
|
|
logMsg("droppable.over, %o, %o", event, ui);
|
|
},
|
|
drop: function(event, ui) {
|
|
var source = ui.helper.data("dtSourceNode") || ui.draggable;
|
|
$(this).addClass("ui-state-highlight").find("p").html("Dropped " + source);
|
|
// alert("dropped");
|
|
}
|
|
});
|
|
<!-- Start_Exclude: This block is not part of the sample code -->
|
|
$("#skinCombo")
|
|
.val(0) // set state to prevent caching
|
|
.change(function(){
|
|
var href = "../src/"
|
|
+ $(this).val()
|
|
+ "/ui.dynatree.css"
|
|
+ "?reload=" + new Date().getTime();
|
|
$("#skinSheet").attr("href", href);
|
|
});
|
|
<!-- End_Exclude -->
|
|
});
|
|
--></script>
|
|
</head>
|
|
|
|
<body class="example">
|
|
<h1>Example: Standard jQuery drag-and-drop</h1>
|
|
<p class="description">
|
|
This sample uses the standard jQuery draggable and droppable.
|
|
</p>
|
|
<div>
|
|
Skin:
|
|
<select id="skinCombo" size="1">
|
|
<option value="skin">Standard ('/skin/')</option>
|
|
<option value="skin-vista">Vista ('/skin-vista/')</option>
|
|
</select>
|
|
</div>
|
|
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>
|
|
<p>This tree allows dragging.</p>
|
|
</th>
|
|
<th>
|
|
<p>This tree allows dropping.</p>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr valign="top">
|
|
<td>
|
|
<div id="tree"> </div>
|
|
</td>
|
|
<td>
|
|
<div id="tree2"></div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<div>Active node: <span id="echoActive">-</span></div>
|
|
</td>
|
|
<td>
|
|
<div>Active node: <span id="echoActive2">-</span></div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<div id="draggableSample" class="ui-widget-content">
|
|
<p>Drag me around</p>
|
|
</div>
|
|
</td>
|
|
<td>
|
|
<div id="droppableSample" class="ui-widget-content">
|
|
<p>Drop something here</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<!-- Start_Exclude: This block is not part of the sample code -->
|
|
<hr>
|
|
<p class="sample-links no_code">
|
|
<a class="hideInsideFS" href="http://dynatree.googlecode.com">jquery.dynatree.js project home</a>
|
|
<a class="hideOutsideFS" href="#">Link to this page</a>
|
|
<a class="hideInsideFS" href="samples.html">Example Browser</a>
|
|
<a href="#" id="codeExample">View source code</a>
|
|
</p>
|
|
<pre id="sourceCode" class="prettyprint" style="display:none"></pre>
|
|
<!-- End_Exclude -->
|
|
</body>
|
|
</html>
|