       # Add relation
       @visualizationGraphCanvas.addRelation relation.attributes
       @visualizationGraphCanvas.updateLayout()
+
+  onRelationsChangeAttribute: (relation) ->
+    @visualizationGraphCanvas.updateRelations()
 
   onRelationsRemove: (relation) ->
     @visualizationGraphCanvas.removeRelation relation.attributes

    if @visualizationGraphInfo.isVisible() and @visualizationGraphInfo.node.id == node.id
      @visualizationGraphInfo.hide()

  onRelationsChange: (relation) ->
    console.log 'onRelationsChange', relation
    # check if we have both source_id and target_id
    if relation.attributes.source_id and relation.attributes.target_id


  onNodeChangeName: (node) ->
    console.log 'onNodeChangeName', node.attributes.name
    # Update nodes labels
    @visualizationGraphCanvas.updateLabels()
    # Update Panel Info name
    @updateGraphInfoNode node

  onNodeChangeDescription: (node) ->
    console.log 'onNodeChangeDescription', node.attributes.description
    # Update Panel Info description
    @updateGraphInfoNode node

  onNodeChangeVisible: (node) ->
