client/js/renderer/noderemovebutton.js
author cavaliet
Mon, 05 May 2014 17:43:37 +0200
changeset 284 fa8035885814
child 293 fba23fde14ba
permissions -rw-r--r--
build renderer with require js
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
284
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
     1
"use strict";
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
     2
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
     3
define(['jquery', 'underscore', 'requtils', 'renderer/nodebutton'], function ($, _, requtils, NodeButton) {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
     4
    
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
     5
    var Utils = requtils.getUtils();
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
     6
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
     7
    /* NodeRemoveButton Begin */
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
     8
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
     9
    //var NodeRemoveButton = Renderer.NodeRemoveButton = Utils.inherit(Renderer._NodeButton);
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    10
    var NodeRemoveButton = Utils.inherit(NodeButton);
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    11
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    12
    _(NodeRemoveButton.prototype).extend({
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    13
        _init: function() {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    14
            this.type = "Node-remove-button";
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    15
            this.lastSectorInner = 0;
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    16
            this.startAngle = 0;
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    17
            this.endAngle = 90;
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    18
            this.imageName = "remove";
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    19
            this.text = "Remove";
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    20
        },
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    21
        mouseup: function() {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    22
            this.renderer.click_target = null;
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    23
            this.renderer.is_dragging = false;
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    24
            this.renderer.removeRepresentationsOfType("editor");
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    25
            if (this.renderer.isEditable()) {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    26
                if (this.options.element_delete_delay) {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    27
                    var delid = Utils.getUID("delete");
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    28
                    this.renderer.delete_list.push({
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    29
                        id: delid,
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    30
                        time: new Date().valueOf() + this.options.element_delete_delay
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    31
                    });
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    32
                    this.source_representation.model.set("delete_scheduled", delid);
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    33
                } else {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    34
                    if (confirm(this.renkan.translate('Do you really wish to remove node ') + '"' + this.source_representation.model.get("title") + '"?')) {
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    35
                        this.project.removeNode(this.source_representation.model);
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    36
                    }
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    37
                }
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    38
            }
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    39
        }
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    40
    });
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    41
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    42
    /* NodeRemoveButton End */
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    43
    
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    44
    return NodeRemoveButton;
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    45
fa8035885814 build renderer with require js
cavaliet
parents:
diff changeset
    46
});