neyric/wireit

View on GitHub
sandbox/dd_and_animation.html

Summary

Maintainability
Test Coverage
<?xml version="1.0" encoding="UTF-8"?>
<html>
 <head>
  <title>WireIt Example, Move and Animate elements containing terminals</title>
  
<!-- Libs -->
<link rel="stylesheet" href="https://yui-s.yahooapis.com/combo?3.6.0/build/cssreset/reset-min.css&3.6.0/build/cssfonts/fonts-min.css">
<script src="https://yui-s.yahooapis.com/3.6.0/build/yui/yui.js"></script>

<script type="text/javascript" src="../lib/excanvas.js"></script>

<!-- WireIt -->
<link rel="stylesheet" type="text/css" href="../assets/WireIt.css" />
<script src="../src/loader.js"  type='text/javascript'></script>

<style>

div.blockBox {
    /* WireIt */
    position: relative;
    z-index: 5;
    opacity: 0.8;
    
    /* Others */
    width: 100px;
    height: 100px;
    background-color: rgb(255,200,200);
    cursor: move;
}

</style>

<script>
YUI_config.groups.wireit.base = '../src/';
YUI({filter: 'raw', combine: false}).use('anim', 'bezier-wire', 'terminal', function(Y) {
    
    // Create 2 terminals into Block1
    var block1 = Y.one('#block1');
    var terminals1 = [
        new Y.Terminal({direction: [-1,0], offsetPosition: [-14,35], render: '#block1'}),
        new Y.Terminal({direction: [1,0], offsetPosition: [85,35], render: '#block1'})
    ];
    
    // Make the block1 draggable
    var drag = new Y.DD.Drag({ 
        node: block1
    });
    var that = this;
    drag.on('drag:drag', function(ev) {
        Y.Array.each(terminals1, function(t) {
          t.redrawAllWires();
        });
    });
    
    
    
    // Create 2 terminals into Block2
    var block2 = Y.one('#block2');
    var terminals2 = [
        new Y.Terminal({direction: [-1,0], offsetPosition: [-14,35], render: '#block2'}), 
        new Y.Terminal({direction: [1,0], offsetPosition: [85,35], render: '#block2'})
    ];
    
    // Make the block2 draggable
    var drag = new Y.DD.Drag({ 
        node: block2
    });
    var that = this;
    drag.on('drag:drag', function(ev) {
        Y.Array.each(terminals2, function(t) {
          t.redrawAllWires();
        });
    });
    
    // Create a wire between some terminals
    var w1 = new Y.BezierWire({
        render: document.body,
        src: terminals1[0], 
        tgt: terminals2[0]
    });
    //w1.redraw();
    
    var w2 = new Y.BezierWire({
        render: document.body,
        src: terminals1[1],
        tgt: terminals2[1]
    });
    //w2.redraw();
    
});


</script>

 </head>
 <body>
    
    <p style="margin: 15px;"><a href="../index.html">&lt; Back</a></p>
    <p style="margin: 15px;">Show how to make terminal containers draggable</p>
    
    <div id='block1' class="blockBox" style="left: 300px; top: 100px;">Move Me !</div>
    
    <div id='block2' class="blockBox" style="left: 500px; top: 200px;">Move Me !</div>
    
 </body>
</html>