/*================================================================================================================\ + + 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); } }); }