1.Manager to Employee Relation is working fine
Main issue is Level based like
I am using these files orgchart.js and orgchart.css file.
I want to level based chart.
first level-1 to Level-7 th level like
https://github.com/dabeng/OrgChart.js[
^]
Above link only Manager to Employee Relation
and i want to Level based manager to employee and levels.
Please provide level based org chart asap.
What I have tried:
https://github.com/dabeng/OrgChart.js
============================================
function GetChildrens(data, name, level) {
var aaa = [];
$.each(data, function (i, j) {
if (name == j['ReportingManager']) {
var datascource = {
'name': j['Name'],
'ReportingManager': j['ReportingManager'],
'title': j['Designation'],
'fname': j['EmployeeId'],
'imgpath': j['IMGAEPATH'],
'Level': j['Level'],
'children': GetChildrens(data, j['EmployeeId']),
}
aaa.push(datascource);
}
});
return aaa;
}
var _Org = [];
$(document).ready(function () {
$.ajax({
url: localStorage.API + "/api/Login/PostGetorgchart",
method: 'POST',
dataType: 'json',
data: {
USER_ID: 0
},
success: function (Jdata) {
var obj = ''; _Org = []; _Org = Jdata[0];
$.each(Jdata[0], function (i, j) {
if (j['ReportingManager'] == '' || j['ReportingManager'] == '0') {
obj = j;
}
});
var datascource = {
'fname': obj['EmployeeId'],
'name': obj['Name'],
'title': obj['Designation'],
'imgpath': obj['IMGAEPATH'],
'Level': obj['Level'],
'ReportingManager': obj['ReportingManager'],
'children': GetChildrens(Jdata[0], obj['EmployeeId'], obj['Level']),
}
$(function () {
$('#chart-container').html('');
var oc = $('#chart-container').orgchart({
'data': datascource,
'depth': 2,
'nodeContent': 'title',
'exportButton': true,
'exportFilename': 'MyOrgChart',
'nodeID': 'id',
'createNode': function ($node, data) {
var secondMenuIcon = $('<i style="display:none;">', {
'class': 'fa fa-info-circle second-menu-icon',
click: function () {
$(this).siblings('.second-menu').toggle();
}
});
var imgpath1 = window.origin + window.location.pathname.substring(0, window.location.pathname.lastIndexOf('/') - 5) + "/img/employee/" + data.imgpath + "";
var imgdefault1 = window.origin + window.location.pathname.substring(0, window.location.pathname.lastIndexOf('/') - 5) + "/img/employee/DEFAULT.jpg";
$.ajax({
url: imgpath1,
crossDomain: true,
success: function () {
var secondMenu = '<div class="second-menu" style="background-image:url(' + imgpath1 + ')"></div>';
$node.append(secondMenuIcon).append(secondMenu);
},
error: function () {
var secondMenu1 = '<div class="second-menu"style="background-image:url(' + imgdefault1 + ')"></div>'
$node.append(secondMenuIcon).append(secondMenu1);
},
});
}
});
$('#chart-container').css('overflow', 'auto!important');
$('.orgchart').css('overflow', 'auto!important');
});
}
});
});