����JFIF��H�H����Exif��MM�*���� ��3����V�����3������3�(��������������������3�����
Server IP : 74.208.127.88 / Your IP : 3.144.143.110 Web Server : Apache/2.4.41 (Ubuntu) System : Linux ubuntu 5.4.0-163-generic #180-Ubuntu SMP Tue Sep 5 13:21:23 UTC 2023 x86_64 User : www-data ( 33) PHP Version : 7.4.3-4ubuntu2.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/html/admin/assets/plugins/dynatree/doc/ |
Upload File : |
<!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 - Example</title> <script src="../jquery/jquery.js" type="text/javascript"></script> <script src="../jquery/jquery-ui.custom.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"> <script src="../src/jquery.dynatree.js" type="text/javascript"></script> <!-- jquery.contextmenu, A Beautiful Site (http://abeautifulsite.net/) --> <script src="contextmenu/jquery.contextMenu-custom.js" type="text/javascript"></script> <link href="contextmenu/jquery.contextMenu.css" rel="stylesheet" type="text/css" > <!-- 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"> // --- Implement Cut/Copy/Paste -------------------------------------------- var clipboardNode = null; var pasteMode = null; function copyPaste(action, node) { switch( action ) { case "cut": case "copy": clipboardNode = node; pasteMode = action; break; case "paste": if( !clipboardNode ) { alert("Clipoard is empty."); break; } if( pasteMode == "cut" ) { // Cut mode: check for recursion and remove source var isRecursive = false; var cb = clipboardNode.toDict(true, function(dict){ // If one of the source nodes is the target, we must not move if( dict.key == node.data.key ) isRecursive = true; }); if( isRecursive ) { alert("Cannot move a node to a sub node."); return; } node.addChild(cb); clipboardNode.remove(); } else { // Copy mode: prevent duplicate keys: var cb = clipboardNode.toDict(true, function(dict){ dict.title = "Copy of " + dict.title; delete dict.key; // Remove key, so a new one will be created }); node.addChild(cb); } clipboardNode = pasteMode = null; break; default: alert("Unhandled clipboard action '" + action + "'"); } }; // --- Contextmenu helper -------------------------------------------------- function bindContextMenu(span) { // Add context menu to this node: $(span).contextMenu({menu: "myMenu"}, function(action, el, pos) { // The event was bound to the <span> tag, but the node object // is stored in the parent <li> tag var node = $.ui.dynatree.getNode(el); switch( action ) { case "cut": case "copy": case "paste": copyPaste(action, node); break; default: alert("Todo: appply action '" + action + "' to node " + node); } }); }; // --- Init dynatree during startup ---------------------------------------- $(function(){ $("#tree").dynatree({ persist: true, onActivate: function(node) { $("#echoActivated").text(node.data.title + ", key=" + node.data.key); }, onClick: function(node, event) { // Close menu on click if( $(".contextMenu:visible").length > 0 ){ $(".contextMenu").hide(); // return false; } }, onKeydown: function(node, event) { // Eat keyboard events, when a menu is open if( $(".contextMenu:visible").length > 0 ) return false; switch( event.which ) { // Open context menu on [Space] key (simulate right click) case 32: // [Space] $(node.span).trigger("mousedown", { preventDefault: true, button: 2 }) .trigger("mouseup", { preventDefault: true, pageX: node.span.offsetLeft, pageY: node.span.offsetTop, button: 2 }); return false; // Handle Ctrl-C, -X and -V case 67: if( event.ctrlKey ) { // Ctrl-C copyPaste("copy", node); return false; } break; case 86: if( event.ctrlKey ) { // Ctrl-V copyPaste("paste", node); return false; } break; case 88: if( event.ctrlKey ) { // Ctrl-X copyPaste("cut", node); return false; } break; } }, /*Bind context menu for every node when it's DOM element is created. We do it here, so we can also bind to lazy nodes, which do not exist at load-time. (abeautifulsite.net menu control does not support event delegation)*/ onCreate: function(node, span){ bindContextMenu(span); }, /*Load lazy content (to show that context menu will work for new items too)*/ onLazyRead: function(node){ node.appendAjax({ url: "sample-data2.json" }); }, /* D'n'd, just to show it's compatible with a context menu. See http://code.google.com/p/dynatree/issues/detail?id=174 */ dnd: { preventVoidMoves: true, // Prevent dropping nodes 'before self', etc. onDragStart: function(node) { return true; }, onDragEnter: function(node, sourceNode) { if(node.parent !== sourceNode.parent) return false; return ["before", "after"]; }, onDrop: function(node, sourceNode, hitMode, ui, draggable) { sourceNode.move(node, hitMode); } } }); }); </script> </head> <body class="example"> <h1>Example: Context Menu</h1> <p class="description"> Implementation of a context menu. Right-click a node and see what happens.<br> Also [space] key is supported to open the menu.<br> <br> This example also demonstrates, how to copy or move branches and how to implement clipboard functionality. <br> A keyboard handler implements Cut, Copy, and Paste with <code>Ctrl-X</code>, <code>Ctrl-C</code>, <code>Ctrl-V</code>. </p> <p class="description"> This sample uses the jQuery Context Menu Plugin by Cory S.N. LaViska. Visit <a href="http://abeautifulsite.net/">A Beautiful Site</a> for usage and more information. <br> <b>NOTE:</b></br> I had to <a href="http://code.google.com/p/dynatree/issues/detail?id=174">patch Cory's code</a> in order to make it work. Please understand, that I am not able to support this plugin. There are many other context menus out there :-) </p> <!-- Definition of context menu --> <ul id="myMenu" class="contextMenu"> <li class="edit"><a href="#edit">Edit</a></li> <li class="cut separator"><a href="#cut">Cut</a></li> <li class="copy"><a href="#copy">Copy</a></li> <li class="paste"><a href="#paste">Paste</a></li> <li class="delete"><a href="#delete">Delete</a></li> <li class="quit separator"><a href="#quit">Quit</a></li> </ul> <!-- Definition tree structure --> <div id="tree"> <ul> <li id="id1" title="Look, a tool tip!">item1 with key and tooltip <li id="id2" class="activate">item2: activated on init <li id="id3" class="folder">Folder with some children <ul> <li id="id3.1">Sub-item 3.1 <li id="id3.2">Sub-item 3.2 </ul> <li id="id4" class="expanded">Document with some children (expanded on init) <ul> <li id="id4.1">Sub-item 4.1 <li id="id4.2">Sub-item 4.2 </ul> <li id="id5" class="lazy folder">Lazy folder </ul> </div> <div>Selected node: <span id="echoActivated">-</span></div> <!-- 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>