//CHARGEMENT DE LA PAGE
function init_plugin_organizational(){
// var datasource = JSON.parse($('#chart-container').attr('data-source'));
$.action({
action : 'organizational_employee_search'
},function(response){
$('#chart-container-number').raiseNumber(0, parseInt(response.count));
var oc = $('#chart-container').orgchart({
data : response.json,
nodeContent: 'title',
pan: true,
zoom: true,
toggleSiblingsResp : false,
// verticalLevel : 10,
nodeTemplate : function(data){
var sstHtml = data.sst? '': '' ;
return '
'+data.name +'
'+
''+ '
' +
'
'+
sstHtml + '
' +
'
'+data.title+'
'+
'
';
},
createNode : function(element,data){
var managerColors = [
'#ff9800',
'#9c27b0',
'#009688',
'#0078d7',
'#192a56',
'#e84118',
'#44bd32',
'#353b48',
'#8c7ae6',
'#718093'
];
if(data.children && data.children.length > 0){
var color = managerColors[data.level];
$('.title',element).css('background-color',color);
}
$(element).attr('data-service',data.service);
},
initCompleted : function(){
init_tooltips();
$('.orgchart').addClass('noncollapsable');
var panel = $('.organizational-detail-panel');
var tpl = panel.find('.organizational-detail-template').html();
$(document).click(function(){
panel.removeClass('show');
});
panel.click(function(event){
event.stopPropagation();
});
//Ouvertur des détails lors du click sur un employé
$('#chart-container .node').click(function(event){
var data = $(this).data();
data = $.extend(data,data.nodeData);
delete data.nodeData;
panel.find('.organizational-detail').html(Mustache.render(tpl,data));
panel.addClass('show');
event.stopPropagation();
});
//attribution des services sur les tables
$('#chart-container table:eq(0) table').each(function(i,table){
table = $(table);
table.attr('data-service',table.find('.node').eq(0).attr('data-service'));
});
//On groupe toutes les lignes ayant le même service en une seule table
$('#chart-container table:eq(0) table[data-service]').each(function(i,table){
table = $(table);
$('table[data-service="'+table.attr('data-service')+'"]:not(:eq(0)) tr').each(function(i,tr){
if($(tr).parent()==table) return;
$(tr).detach().appendTo(table);
});
});
//Si un service est vide on supprime sa colonne
$('#chart-container table:eq(0) table[data-service]').each(function(i,table){
if($('tr',table).length==0){
var column = $(this).parent();
column.remove();
}
});
//Pour chaque table de service, on ajoute une en-tête avec le libellé du service
$('#chart-container table:eq(0) table').each(function(i,table){
table = $(table);
var service = table.attr('data-service');
if(service == table.parents('table').attr('data-service')) return;
table.addClass('organizational-service');
table.prepend(''+service+'');
});
$('#chart-preloader').remove();
$('.topLine').each(function(){
if($(this).width()<10) $(this).remove();
});
$('.lines').each(function(i, container){
$("td.leftLine:last", container).prev('.leftLine.topLine').remove();
})
}
});
oc.$chartContainer.on('touchmove', function(event) {
event.preventDefault();
});
});
}
//Enregistrement des configurations
function organizational_setting_save(){
$.action({
action: 'organizational_setting_save',
fields: $('#organizational-setting-form').toJson()
},function(r){
$.message('success',r.message);
});
}