client/js/renderer/nodelinkbutton.js
author rougeronj
Wed, 20 May 2015 10:39:35 +0200
changeset 450 88e8673aaeeb
parent 449 aae670254c49
child 453 04b7d46e9d67
permissions -rw-r--r--
add the hidden/ghost behaviour: - The view hide or show the nodes calling their functions hide() or show(ghost). - The node and the edges have the attributes 'hidden' and 'ghost' to properly redraw them selves.


define(['jquery', 'underscore', 'requtils', 'renderer/nodebutton'], function ($, _, requtils, NodeButton) {
    'use strict';

    var Utils = requtils.getUtils();

    /* NodeLinkButton Begin */

    //var NodeLinkButton = Renderer.NodeLinkButton = Utils.inherit(Renderer._NodeButton);
    var NodeLinkButton = Utils.inherit(NodeButton);

    _(NodeLinkButton.prototype).extend({
        _init: function() {
            this.type = "Node-link-button";
            this.lastSectorInner = 0;
            this.startAngle = 120;
            this.endAngle = 180;
            this.imageName = "link";
            this.text = "Link to another node";
        },
        mousedown: function(_event, _isTouch) {
            if (this.renderer.isEditable()) {
                var _off = this.renderer.canvas_$.offset(),
                _point = new paper.Point([
                                          _event.pageX - _off.left,
                                          _event.pageY - _off.top
                                          ]);
                this.renderer.click_target = null;
                this.renderer.removeRepresentationsOfType("editor");
                this.renderer.addTempEdge(this.source_representation, _point);
            }
        }
    }).value();

    /* NodeLinkButton End */

    return NodeLinkButton;

});