%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/tjamichg/cursos.tjamich.gob.mx/plugin/mindmap/edit-mindmap/vendor/js/
Upload File :
Create Path :
Current File : /home/tjamichg/cursos.tjamich.gob.mx/plugin/mindmap/edit-mindmap/vendor/js/node.js

/*global kampfer console*/
kampfer.require('events');
kampfer.require('dom');
kampfer.require('Component');
kampfer.require('mindMap.Branch');
kampfer.require('mindMap.Caption');

kampfer.provide('mindMap.Node');

kampfer.mindMap.Node = kampfer.Component.extend({
    
    initializer : function(data) {
        kampfer.mindMap.Node.superClass.initializer.apply(this, arguments);

        this._id = data.id;
        
        this.addCaption(data);
        this.addBranch(data);
        this.addChildren(data.children);

        this.createDom();
        this.setPosition(data.offset.x, data.offset.y);
    },
    
    addCaption : function(data) {
        var caption = new kampfer.mindMap.Caption(data);
        this.addChild(caption);
    },
    
    addBranch : function(data) {
        if(data.parent) {
            var branch = new kampfer.mindMap.Branch(data);
            this.addChild(branch);
        }
    },

    addChildren : function(children) {
        if(children) {
            for(var i = 0, l = children.length; i < l; i++) {
                var child = children[i];
                this.addChild( new kampfer.mindMap.Node(child) );
            }
        }
    },
    
    getBranch : function() {
        return this.getChild('branch-' + this._id);
    },
    
    getCaption : function() {
        return this.getChild('caption-' + this._id);
    },
    
    /* 拓展此方法 */
    decorate : function() {
        kampfer.mindMap.Node.superClass.decorate.apply(this, arguments);
        
        this._element.id = this._id;
        kampfer.dom.addClass(this._element, 'node');
        this._element.setAttribute('role', 'node');
    },
    
    move : function(x, y) {
        var oriPosition = this.getPosition();
        
        x += oriPosition.left;
        y += oriPosition.top;
        
        this.moveTo(x, y);
    },
    
    moveTo : function(x, y) {
        this.setPosition(x, y);
        //如果是node就同步更新branch视图
        if(this._parent._id !== 'map') {
            this.getBranch().decorate();
        }
    },

    isEditing : function() {
        return this.getCaption().isEditing;
    },

    dispose : function() {}
    
});

Zerion Mini Shell 1.0