|
|
|
@ -42,12 +42,15 @@ $url = api_get_path(WEB_AJAX_PATH).'skill.ajax.php?1=1'; |
|
|
|
|
<script> |
|
|
|
|
|
|
|
|
|
var url = '<?php echo $url; ?>';
|
|
|
|
|
var skills = []; |
|
|
|
|
var parents = []; |
|
|
|
|
var skills = []; //current window divs |
|
|
|
|
var parents = []; //list of parents normally there should be only 2 |
|
|
|
|
|
|
|
|
|
var hidden_parent = ''; |
|
|
|
|
|
|
|
|
|
var parents = ['block_1']; |
|
|
|
|
|
|
|
|
|
jsPlumb.bind("ready", function() { |
|
|
|
|
|
|
|
|
|
$("#dialog-form").dialog({ |
|
|
|
|
autoOpen: false, |
|
|
|
|
modal : true, |
|
|
|
@ -77,37 +80,99 @@ jsPlumb.bind("ready", function() { |
|
|
|
|
|
|
|
|
|
//On click box |
|
|
|
|
$(".open_block").live('click', function() { |
|
|
|
|
var original_id = $(this).attr('id'); |
|
|
|
|
var id = $(this).attr('id'); |
|
|
|
|
|
|
|
|
|
if (jQuery.inArray(id, parents) == -1) { |
|
|
|
|
parents.push(id); |
|
|
|
|
} |
|
|
|
|
console.log(parents); |
|
|
|
|
open_block(original_id, id); |
|
|
|
|
|
|
|
|
|
var id = $(this).attr('id'); |
|
|
|
|
//console.log(skills); |
|
|
|
|
//console.log('parents : '+parents[1] + ' id: '+id); |
|
|
|
|
|
|
|
|
|
//if is root |
|
|
|
|
if (parents[0] == id) { |
|
|
|
|
parents = [id]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (parents[1] != id) { |
|
|
|
|
//means that we have 2 parents |
|
|
|
|
if (parents.length == 2) { |
|
|
|
|
//removing father |
|
|
|
|
for (var i = 0; i < skills.length; i++) { |
|
|
|
|
if ( skills[i].element == parents[0] ) { |
|
|
|
|
jsPlumb.deleteEndpoint(skills[i].endp); |
|
|
|
|
$("#"+skills[i].element).remove(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
hidden_parent = parents[0]; |
|
|
|
|
|
|
|
|
|
parents.splice(0,1); |
|
|
|
|
parents.push(id); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (parents.length == 1 && hidden_parent != ''){ |
|
|
|
|
//show the hidden_parent |
|
|
|
|
|
|
|
|
|
parents = [hidden_parent, id]; |
|
|
|
|
// console.log(parents); |
|
|
|
|
open_parent(hidden_parent, id); |
|
|
|
|
hidden_parent = ''; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (jQuery.inArray(id, parents) == -1) { |
|
|
|
|
parents.push(id); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
console.log(parents); |
|
|
|
|
open_block(id); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
console.log('hidden_parent : ' + hidden_parent); |
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
function open_parent(parent_id, id) { |
|
|
|
|
var numeric_parent_id = parent_id.split('_')[1]; |
|
|
|
|
var numeric_id = id.split('_')[1]; |
|
|
|
|
load_parent(numeric_parent_id, numeric_id); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//open block function |
|
|
|
|
function open_block(original_id, id) { |
|
|
|
|
my_id = original_id.split('_')[1]; |
|
|
|
|
for (var i = 0; i < skills.length; i++) { |
|
|
|
|
window_id = id.split('_')[1]; |
|
|
|
|
function open_block(id) { |
|
|
|
|
var numeric_id = id.split('_')[1]; |
|
|
|
|
for (var i = 0; i < skills.length; i++) { |
|
|
|
|
//Remove everything except parents |
|
|
|
|
if (jQuery.inArray(skills[i].element, parents) == -1) { |
|
|
|
|
jsPlumb.deleteEndpoint(skills[i].endp); |
|
|
|
|
$("#"+skills[i].element).remove(); |
|
|
|
|
//console.log('Removing '+skills[i].element); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
jsPlumb.animate(original_id, {left: 900}, { duration:1000 }); |
|
|
|
|
|
|
|
|
|
pos = $('#'+original_id).position(); |
|
|
|
|
/*if ($('#'+id).length == 0) { |
|
|
|
|
$('body').append('<div id="'+id+'" class="open_block window " >'+id+'</div>'); |
|
|
|
|
}*/ |
|
|
|
|
jsPlumb.animate(id, {left: 900}, { duration:1000 }); |
|
|
|
|
pos = $('#'+id).position(); |
|
|
|
|
top_value = pos.top + 200 ; |
|
|
|
|
load_children(my_id, top_value); |
|
|
|
|
load_children(numeric_id, top_value); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function load_children(my_id, top_value) { |
|
|
|
|
function load_parent(parent_id, id) { |
|
|
|
|
var ix = 1; |
|
|
|
|
$.getJSON(url+'&a=load_direct_parents&id='+id, {}, |
|
|
|
|
function(json) { |
|
|
|
|
$.each(json,function(i,item) { |
|
|
|
|
//top_value = 300; |
|
|
|
|
$('body').append('<div id="block_'+item.id+ '" class="open_block window " >'+item.name+'</div>'); |
|
|
|
|
var es = prepare("block_" + item.id, jsPlumbDemo.editEndpoint); |
|
|
|
|
jsPlumb.connect({source: es, target:"block_"+id}); |
|
|
|
|
jsPlumb.animate("block_" + item.id, {left: 900, top : 0}, { duration:1000 }); |
|
|
|
|
hidden_parent = "block_" + item.parent_id; |
|
|
|
|
ix++; |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
// var a = '<div style="top:300px; left:100px;" class="window edit_window ui-draggable" id="block_15">aaaa</div>'; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function load_children(my_id, top_value) { |
|
|
|
|
//Loading children |
|
|
|
|
var ix = 1; |
|
|
|
|
$.getJSON(url+'&a=load_children&id='+my_id, {}, |
|
|
|
@ -115,13 +180,12 @@ jsPlumb.bind("ready", function() { |
|
|
|
|
$.each(json,function(i,item) { |
|
|
|
|
left_value = 130*ix+500; |
|
|
|
|
//top_value = 300; |
|
|
|
|
$('body').append('<div id="block_'+item.id+ '" class="open_block window " >'+item.name+i+'</div>') |
|
|
|
|
|
|
|
|
|
$('body').append('<div id="block_'+item.id+ '" class="open_block window " >'+item.name+i+'</div>'); |
|
|
|
|
|
|
|
|
|
var es = prepare("block_" + item.id, jsPlumbDemo.editEndpoint); |
|
|
|
|
jsPlumb.connect({source: es, target:"block_"+my_id}); |
|
|
|
|
|
|
|
|
|
jsPlumb.animate("block_" + item.id, {left: left_value, top : top_value}, { duration:1000 }); |
|
|
|
|
jsPlumb.connect({source: es, target:"block_"+my_id}); |
|
|
|
|
jsPlumb.animate("block_" + item.id, {left: left_value, top : top_value}, { duration:1000 }); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ix++; |
|
|
|
|
}); |
|
|
|
@ -213,24 +277,16 @@ jsPlumb.bind("ready", function() { |
|
|
|
|
//jsPlumbDemo.initAnimation(elId); |
|
|
|
|
var e = jsPlumb.addEndpoint(elId, endpoint); |
|
|
|
|
jsPlumbDemo.initjulio(e); |
|
|
|
|
skills.push({element:elId, endp:e}); |
|
|
|
|
skills.push({element:elId, endp:e}); |
|
|
|
|
return e; |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
window.jsPlumbDemo = { |
|
|
|
|
initjulio :function(e) { |
|
|
|
|
}, |
|
|
|
|
initHover :function(elId) { |
|
|
|
|
|
|
|
|
|
$("#" + elId).click(function() { |
|
|
|
|
var all = jsPlumb.getConnections({source:elId}); |
|
|
|
|
|
|
|
|
|
//var all = jsPlumb.getConnections({scope:"DEFAULT", source:elId}); |
|
|
|
|
|
|
|
|
|
//console.log(all); |
|
|
|
|
|
|
|
|
|
//alert(elId); |
|
|
|
|
// jsPlumb.hide(elId); |
|
|
|
|
var all = jsPlumb.getConnections({source:elId}); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
/*$("#" + elId).hover( |
|
|
|
|