60 lines
2.0 KiB
JavaScript
60 lines
2.0 KiB
JavaScript
/*================================================================================================================\
|
|
+
|
|
+ Project : GODATA Eicher
|
|
+ Filename : OrganizationChart.js
|
|
+ Module Name : Inventory Module
|
|
+ Purpose : Organization Chart
|
|
+ Coded By : Gourav Jhangikhel
|
|
+
|
|
+================================================================================================================*/
|
|
|
|
/**
|
|
* This Module Organization Chart.
|
|
* @module Inventory
|
|
*/
|
|
|
|
/**
|
|
* This class contains functions related to Organization Chart.
|
|
* @class OrganizationChart
|
|
* @constructor
|
|
*/
|
|
|
|
google.load("visualization", "1", { packages: ["orgchart"] });
|
|
google.setOnLoadCallback(drawChart);
|
|
|
|
/**
|
|
* Load and Draw Google Chart based on value comes from server .
|
|
* @method drawChart
|
|
* @for OrganizationChart
|
|
*/
|
|
function drawChart() {
|
|
var vArr = new Array();
|
|
var data = new google.visualization.DataTable();
|
|
$.ajax({
|
|
type: "GET",
|
|
url: "/Inventory/GetListOrganizationChart/",
|
|
success: function (response) {
|
|
//Intialize Columns For DataTable
|
|
data.addColumn('string', 'OrganizationName');
|
|
data.addColumn('string', 'Parent');
|
|
|
|
for (var count = 0 ; count <= response.length - 1; count++) {
|
|
var vArrData = new Array();
|
|
vArrData.push(response[count].OrganizationName, response[count].Parent);
|
|
vArr.push(vArrData);
|
|
}
|
|
//Add Row According to Organization
|
|
data.addRows(vArr);
|
|
for (var dtRowCnt = 0; dtRowCnt <= response.length - 1 ; dtRowCnt++) {
|
|
data.setRowProperty(dtRowCnt, 'style', "background:" + response[dtRowCnt].Color);
|
|
}
|
|
//Draw Chart
|
|
var chart = new google.visualization.OrgChart(document.getElementById('chart_div'));
|
|
chart.draw(data, { allowHtml: true, size: 'large' });
|
|
},
|
|
error: function (data) {
|
|
console.log(data);
|
|
}
|
|
});
|
|
|
|
} |