- <!DOCTYPE html>
- <html class="zc-html">
-
- <head>
- <meta charset="utf-8">
- <title>ZingSoft Demo</title>
- <script nonce="undefined" src="https://cdn.zingchart.com/zingchart.min.js"></script>
- <!--
- Point ZingChart to modules folder so ZingChart
- can automatically grab the CSV module
- -->
- <script nonce="undefined">
- zingchart.MODULESDIR = "https://cdn.zingchart.com/modules/";
- </script>
- <!-- load image data -->
- <script nonce="undefined" src='https://s3-us-west-2.amazonaws.com/s.cdpn.io/374756/people.js'></script>
- <style>
- .zc-html,
- .zc-body {
- margin: 0;
- padding: 0;
- width: 100%;
- height: 100%;
- }
-
- .chart--container {
- height: 100%;
- width: 100%;
- min-height: 530px;
- }
-
- .zc-ref {
- display: none;
- }
- </style>
- </head>
-
- <body class="zc-body">
- <!-- CHART CONTAINER -->
- <div id="myChart" class="chart--container">
- <a class="zc-ref" href="https://www.zingchart.com/">Powered by ZingChart</a>
- </div>
- <script>
- ZC.LICENSE = ["569d52cefae586f634c54f86dc99e6a9", "b55b025e438fa8a98e32482b5f768ff5"]; // window:load event for Javascript to run after HTML
- // because this Javascript is injected into the document head
- let chartConfig = {
- type: 'tree',
- options: {
- weightedNodes: false,
- aspect: 'graph',
- maxIterations: 20,
- springLength: 275,
- attractionConstant: 0.8,
- repulsionConstant: 4000,
- repulsionDistanceFactor: 1,
- node: {
- size: 12,
- backgroundColor: '#45D6A4',
- label: {
- color: 'black',
- fontWeight: '500',
- offsetY: 0
- },
- tooltip: {
- text: '%data-full-name',
- visible: true
- }
- },
- link: {
- lineWidth: 3,
- lineColor: '#cccccc'
- },
- },
- series: [{
- type: 'node',
- id: 'Implemented',
- text: 'Implemented',
- dataFullName: 'Implemented'
- },
- {
- type: 'node',
- id: 'PartiallyImplemented',
- text: 'Partially Implemented',
- dataFullName: 'Partially Implemented'
- },
- {
- type: 'node',
- id: 'Planned',
- text: 'Planned',
- dataFullName: 'Planned'
- },
- {
- type: 'node',
- id: 'Assigned',
- text: 'Assigned',
- dataFullName: 'Assigned'
- },
- {
- type: 'node',
- id: 'ImplementedReview',
- text: 'Implemented Review',
- dataFullName: 'Implemented Review'
- },
- {
- type: 'node',
- id: 'NA',
- text: 'NA',
- dataFullName: 'NA'
- },
- {
- type: 'node',
- id: 'RBDHigh',
- text: 'RBD_High',
- dataFullName: 'RBD_High'
- },
- {
- type: 'node',
- id: 'RBDMedium',
- text: 'RBD_Medium',
- dataFullName: 'RBD_Medium'
- },
- {
- type: 'node',
- id: 'RBDLow',
- text: 'RBD_Low',
- dataFullName: 'RBD_Low'
- },
- {
- type: 'node',
- id: 'ImplementedQA',
- text: 'Implemented-QA',
- dataFullName: 'Implemented-QA'
- },
- {
- type: 'node',
- id: 'AlternativeImplementation',
- text: 'Alternative Implementation',
- dataFullName: 'Alternative Implementation'
- },
- {
- type: 'node',
- id: 'Cancelled',
- text: 'Cancelled',
- dataFullName: 'Cancelled'
- },
- {
- type: 'node',
- id: 'PartiallyImplemented',
- text: 'Partially Implemented',
- dataFullName: 'Partially Implemented'
- },
- {
- type: 'node',
- id: 'TestState',
- text: ' Test State',
- dataFullName: ' Test State'
- },
- {
- type: 'link',
- 'source': 'ImplementedQA',
- 'target': 'Cancelled'
- },
- {
- type: 'link',
- 'source': 'AlternativeImplementation',
- 'target': 'RBDMedium'
- },
- {
- type: 'link',
- 'source': 'PartiallyImplemented',
- 'target': 'RBDLow'
- },
- {
- type: 'link',
- 'source': 'ImplementedReview',
- 'target': 'Implemented'
- },
- {
- type: 'link',
- 'source': 'Assigned',
- 'target': 'PartiallyImplemented'
- },
- {
- type: 'link',
- 'source': 'NA',
- 'target': 'AlternativeImplementation'
- },
- {
- type: 'link',
- 'source': 'RBDLow',
- 'target': 'RBDHigh'
- },
- {
- type: 'link',
- 'source': 'Planned',
- 'target': 'RBDLow'
- },
- {
- type: 'link',
- 'source': 'Implemented',
- 'target': 'RBDHigh'
- },
- {
- type: 'link',
- 'source': 'AlternativeImplementation',
- 'target': 'NA'
- },
- {
- type: 'link',
- 'source': 'PartiallyImplemented',
- 'target': 'RBDHigh'
- },
- {
- type: 'link',
- 'source': 'ImplementedQA',
- 'target': 'Assigned'
- },
- {
- type: 'link',
- 'source': 'Implemented',
- 'target': 'PartiallyImplemented'
- },
- {
- type: 'link',
- 'source': 'RBDLow',
- 'target': 'Cancelled'
- },
- {
- type: 'link',
- 'source': 'Assigned',
- 'target': 'Cancelled'
- },
- {
- type: 'link',
- 'source': 'RBDLow',
- 'target': 'ImplementedReview'
- },
- {
- type: 'link',
- 'source': 'Planned',
- 'target': 'RBDHigh'
- },
- {
- type: 'link',
- 'source': 'Implemented',
- 'target': 'ImplementedReview'
- },
- {
- type: 'link',
- 'source': 'RBDMedium',
- 'target': 'Cancelled'
- },
- {
- type: 'link',
- 'source': 'AlternativeImplementation',
- 'target': 'Planned'
- },
- {
- type: 'link',
- 'source': 'PartiallyImplemented',
- 'target': 'ImplementedReview'
- },
- {
- type: 'link',
- 'source': 'PartiallyImplemented',
- 'target': 'Cancelled'
- },
- {
- type: 'link',
- 'source': 'RBDLow',
- 'target': 'Planned'
- },
- {
- type: 'link',
- 'source': 'Planned',
- 'target': 'ImplementedReview'
- },
- {
- type: 'link',
- 'source': 'Cancelled',
- 'target': 'ImplementedQA'
- },
- {
- type: 'link',
- 'source': 'Implemented',
- 'target': 'Planned'
- },
- {
- type: 'link',
- 'source': 'RBDHigh',
- 'target': 'Cancelled'
- },
- {
- type: 'link',
- 'source': 'RBDMedium',
- 'target': 'ImplementedQA'
- },
- {
- type: 'link',
- 'source': 'PartiallyImplemented',
- 'target': 'Planned'
- },
- {
- type: 'link',
- 'source': 'NA',
- 'target': 'Cancelled'
- },
- {
- type: 'link',
- 'source': 'RBDLow',
- 'target': 'Implemented'
- },
- {
- type: 'link',
- 'source': 'Planned',
- 'target': 'PartiallyImplemented'
- },
- {
- type: 'link',
- 'source': 'Cancelled',
- 'target': 'RBDMedium'
- },
- {
- type: 'link',
- 'source': 'ImplementedQA',
- 'target': 'RBDMedium'
- },
- {
- type: 'link',
- 'source': 'RBDHigh',
- 'target': 'ImplementedQA'
- },
- {
- type: 'link',
- 'source': 'RBDMedium',
- 'target': 'RBDHigh'
- },
- {
- type: 'link',
- 'source': 'NA',
- 'target': 'RBDLow'
- },
- {
- type: 'link',
- 'source': 'ImplementedReview',
- 'target': 'RBDLow'
- },
- {
- type: 'link',
- 'source': 'Assigned',
- 'target': 'ImplementedQA'
- },
- {
- type: 'link',
- 'source': 'Cancelled',
- 'target': 'NA'
- },
- {
- type: 'link',
- 'source': 'ImplementedQA',
- 'target': 'NA'
- },
- {
- type: 'link',
- 'source': 'RBDHigh',
- 'target': 'RBDMedium'
- },
- {
- type: 'link',
- 'source': 'RBDMedium',
- 'target': 'ImplementedReview'
- },
- {
- type: 'link',
- 'source': 'NA',
- 'target': 'RBDHigh'
- },
- {
- type: 'link',
- 'source': 'ImplementedReview',
- 'target': 'RBDHigh'
- },
- {
- type: 'link',
- 'source': 'Assigned',
- 'target': 'RBDMedium'
- },
- {
- type: 'link',
- 'source': 'Cancelled',
- 'target': 'Assigned'
- },
- {
- type: 'link',
- 'source': 'Planned',
- 'target': 'AlternativeImplementation'
- },
- {
- type: 'link',
- 'source': 'ImplementedQA',
- 'target': 'Assigned'
- },
- {
- type: 'link',
- 'source': 'RBDHigh',
- 'target': 'ImplementedReview'
- },
- {
- type: 'link',
- 'source': 'RBDMedium',
- 'target': 'Planned'
- },
- {
- type: 'link',
- 'source': 'NA',
- 'target': 'Assigned'
- },
- {
- type: 'link',
- 'source': 'ImplementedReview',
- 'target': 'Assigned'
- },
- {
- type: 'link',
- 'source': 'Assigned',
- 'target': 'NA'
- },
- {
- type: 'link',
- 'source': 'Cancelled',
- 'target': 'PartiallyImplemented'
- },
- {
- type: 'link',
- 'source': 'Assigned',
- 'target': 'AlternativeImplementation'
- },
- {
- type: 'link',
- 'source': 'ImplementedQA',
- 'target': 'PartiallyImplemented'
- },
- {
- type: 'link',
- 'source': 'RBDHigh',
- 'target': 'Planned'
- },
- {
- type: 'link',
- 'source': 'RBDMedium',
- 'target': 'Implemented'
- },
- {
- type: 'link',
- 'source': 'NA',
- 'target': 'PartiallyImplemented'
- },
- {
- type: 'link',
- 'source': 'PartiallyImplemented',
- 'target': 'Implemented'
- },
- {
- type: 'link',
- 'source': 'AlternativeImplementation',
- 'target': 'Cancelled'
- },
- {
- type: 'link',
- 'source': 'AlternativeImplementation',
- 'target': 'RBDLow'
- },
- {
- type: 'link',
- 'source': 'PartiallyImplemented',
- 'target': 'ImplementedQA'
- },
- {
- type: 'link',
- 'source': 'ImplementedReview',
- 'target': 'PartiallyImplemented'
- },
- {
- type: 'link',
- 'source': 'Assigned',
- 'target': 'Planned'
- },
- {
- type: 'link',
- 'source': 'RBDHigh',
- 'target': 'Implemented'
- },
- {
- type: 'link',
- 'source': 'RBDLow',
- 'target': 'RBDMedium'
- },
- {
- type: 'link',
- 'source': 'Planned',
- 'target': 'ImplementedQA'
- },
- {
- type: 'link',
- 'source': 'Implemented',
- 'target': 'RBDMedium'
- },
- {
- type: 'link',
- 'source': 'ImplementedQA',
- 'target': 'AlternativeImplementation'
- },
- {
- type: 'link',
- 'source': 'AlternativeImplementation',
- 'target': 'RBDHigh'
- },
- {
- type: 'link',
- 'source': 'PartiallyImplemented',
- 'target': 'RBDMedium'
- },
- {
- type: 'link',
- 'source': 'Implemented',
- 'target': 'ImplementedQA'
- },
- {
- type: 'link',
- 'source': 'Assigned',
- 'target': 'Implemented'
- },
- {
- type: 'link',
- 'source': 'ImplementedReview',
- 'target': 'Cancelled'
- },
- {
- type: 'link',
- 'source': 'RBDLow',
- 'target': 'NA'
- },
- {
- type: 'link',
- 'source': 'Planned',
- 'target': 'RBDMedium'
- },
- {
- type: 'link',
- 'source': 'Implemented',
- 'target': 'NA'
- },
- {
- type: 'link',
- 'source': 'AlternativeImplementation',
- 'target': 'Assigned'
- },
- {
- type: 'link',
- 'source': 'PartiallyImplemented',
- 'target': 'NA'
- },
- {
- type: 'link',
- 'source': 'RBDLow',
- 'target': 'AlternativeImplementation'
- },
- {
- type: 'link',
- 'source': 'Planned',
- 'target': 'Cancelled'
- },
- {
- type: 'link',
- 'source': 'RBDLow',
- 'target': 'Assigned'
- },
- {
- type: 'link',
- 'source': 'Planned',
- 'target': 'NA'
- },
- {
- type: 'link',
- 'source': 'Cancelled',
- 'target': 'AlternativeImplementation'
- },
- {
- type: 'link',
- 'source': 'Implemented',
- 'target': 'Assigned'
- },
- {
- type: 'link',
- 'source': 'RBDMedium',
- 'target': 'AlternativeImplementation'
- },
- {
- type: 'link',
- 'source': 'AlternativeImplementation',
- 'target': 'Implemented'
- },
- {
- type: 'link',
- 'source': 'PartiallyImplemented',
- 'target': 'Assigned'
- },
- {
- type: 'link',
- 'source': 'RBDLow',
- 'target': 'PartiallyImplemented'
- },
- {
- type: 'link',
- 'source': 'Planned',
- 'target': 'Assigned'
- },
- {
- type: 'link',
- 'source': 'Cancelled',
- 'target': 'RBDLow'
- },
- {
- type: 'link',
- 'source': 'ImplementedQA',
- 'target': 'RBDLow'
- },
- {
- type: 'link',
- 'source': 'RBDHigh',
- 'target': 'AlternativeImplementation'
- },
- {
- type: 'link',
- 'source': 'RBDMedium',
- 'target': 'RBDLow'
- },
- {
- type: 'link',
- 'source': 'NA',
- 'target': 'ImplementedQA'
- },
- {
- type: 'link',
- 'source': 'Implemented',
- 'target': 'Cancelled'
- },
- {
- type: 'link',
- 'source': 'ImplementedReview',
- 'target': 'ImplementedQA'
- },
- {
- type: 'link',
- 'source': 'Planned',
- 'target': 'Implemented'
- },
- {
- type: 'link',
- 'source': 'Cancelled',
- 'target': 'RBDHigh'
- },
- {
- type: 'link',
- 'source': 'ImplementedQA',
- 'target': 'RBDHigh'
- },
- {
- type: 'link',
- 'source': 'RBDHigh',
- 'target': 'RBDLow'
- },
- {
- type: 'link',
- 'source': 'RBDMedium',
- 'target': 'NA'
- },
- {
- type: 'link',
- 'source': 'NA',
- 'target': 'RBDMedium'
- },
- {
- type: 'link',
- 'source': 'ImplementedReview',
- 'target': 'RBDMedium'
- },
- {
- type: 'link',
- 'source': 'Assigned',
- 'target': 'RBDLow'
- },
- {
- type: 'link',
- 'source': 'Cancelled',
- 'target': 'ImplementedReview'
- },
- {
- type: 'link',
- 'source': 'ImplementedQA',
- 'target': 'ImplementedReview'
- },
- {
- type: 'link',
- 'source': 'RBDHigh',
- 'target': 'NA'
- },
- {
- type: 'link',
- 'source': 'RBDMedium',
- 'target': 'Assigned'
- },
- {
- type: 'link',
- 'source': 'NA',
- 'target': 'ImplementedReview'
- },
- {
- type: 'link',
- 'source': 'ImplementedReview',
- 'target': 'NA'
- },
- {
- type: 'link',
- 'source': 'Assigned',
- 'target': 'RBDHigh'
- },
- {
- type: 'link',
- 'source': 'Cancelled',
- 'target': 'Planned'
- },
- {
- type: 'link',
- 'source': 'Implemented',
- 'target': 'AlternativeImplementation'
- },
- {
- type: 'link',
- 'source': 'ImplementedQA',
- 'target': 'Planned'
- },
- {
- type: 'link',
- 'source': 'RBDHigh',
- 'target': 'Assigned'
- },
- {
- type: 'link',
- 'source': 'RBDMedium',
- 'target': 'PartiallyImplemented'
- },
- {
- type: 'link',
- 'source': 'NA',
- 'target': 'Planned'
- },
- {
- type: 'link',
- 'source': 'ImplementedReview',
- 'target': 'Planned'
- },
- {
- type: 'link',
- 'source': 'Assigned',
- 'target': 'ImplementedReview'
- },
- {
- type: 'link',
- 'source': 'Cancelled',
- 'target': 'Implemented'
- },
- {
- type: 'link',
- 'source': 'AlternativeImplementation',
- 'target': 'ImplementedQA'
- },
- {
- type: 'link',
- 'source': 'ImplementedQA',
- 'target': 'Implemented'
- },
- {
- type: 'link',
- 'source': 'RBDHigh',
- 'target': 'PartiallyImplemented'
- },
- {
- type: 'link',
- 'source': 'RBDLow',
- 'target': 'ImplementedQA'
- },
- {
- type: 'link',
- 'source': 'NA',
- 'target': 'Implemented'
- },
- {
- type: 'link',
- 'source': 'Implemented',
- 'target': 'RBDLow'
- }
- ]
- };
-
- zingchart.render({
- id: 'myChart',
- data: chartConfig,
- height: '650px',
- output: 'canvas'
- });
-
- let lastNodeId = '';
- zingchart.bind('myChart', 'mousemove', function(p) {
- if (p.target === 'shape') {
- if (p.targetid.indexOf('-gshape-area') !== -1 && p.targetid.indexOf('-shape-node_') !== -1) {
- let nodeId = p.targetid.replace(p.graphid + '-shape-node_', '').replace('-gshape-area', '');
- if (nodeId !== lastNodeId) {
- lastNodeId = nodeId;
- let ids = zingchart.exec(p.id, 'getobjectsbyclass', {
- graphid: 0,
- type: 'shape',
- cls: 'zctreeshape'
- });
- let data = [];
- for (let i = 0; i < ids.length; i++) {
- let tokens = ids[i].split('_');
- if (tokens[0] === 'link' && (tokens[1] === lastNodeId || tokens[2] === lastNodeId)) {
- data.push({
- id: ids[i],
- lineColor: '#ff0000'
- });
- }
- }
- zingchart.exec(p.id, 'updateobject', {
- type: 'shape',
- data: data
- });
- }
- }
- } else {
- if (lastNodeId !== '') {
- lastNodeId = '';
- let ids = zingchart.exec(p.id, 'getobjectsbyclass', {
- graphid: 0,
- type: 'shape',
- cls: 'zctreeshape'
- });
- let data = [];
- for (let i = 0; i < ids.length; i++) {
- let tokens = ids[i].split('_');
- if (tokens[0] === 'link') {
- data.push({
- id: ids[i],
- lineColor: '#cccccc'
- });
- }
- }
- zingchart.exec(p.id, 'updateobject', {
- type: 'shape',
- data: data
- });
- }
- }
- });
- </script>
- </body>
-
- </html>
- // window:load event for Javascript to run after HTML
- // because this Javascript is injected into the document head
- let chartConfig = {
- type: 'tree',
- options: {
- weightedNodes: false,
- aspect: 'graph',
- maxIterations: 20,
- springLength: 275,
- attractionConstant: 0.8,
- repulsionConstant: 4000,
- repulsionDistanceFactor: 1,
- node: {
- size: 12,
- backgroundColor: '#45D6A4',
- label: {
- color: 'black',
- fontWeight: '500',
- offsetY: 0
- },
- tooltip: {
- text: '%data-full-name',
- visible: true
- }
- },
- link: {
- lineWidth: 3,
- lineColor: '#cccccc'
- },
- },
- series: [{
- type: 'node',
- id: 'Implemented',
- text: 'Implemented',
- dataFullName: 'Implemented'
- },
- {
- type: 'node',
- id: 'PartiallyImplemented',
- text: 'Partially Implemented',
- dataFullName: 'Partially Implemented'
- },
- {
- type: 'node',
- id: 'Planned',
- text: 'Planned',
- dataFullName: 'Planned'
- },
- {
- type: 'node',
- id: 'Assigned',
- text: 'Assigned',
- dataFullName: 'Assigned'
- },
- {
- type: 'node',
- id: 'ImplementedReview',
- text: 'Implemented Review',
- dataFullName: 'Implemented Review'
- },
- {
- type: 'node',
- id: 'NA',
- text: 'NA',
- dataFullName: 'NA'
- },
- {
- type: 'node',
- id: 'RBDHigh',
- text: 'RBD_High',
- dataFullName: 'RBD_High'
- },
- {
- type: 'node',
- id: 'RBDMedium',
- text: 'RBD_Medium',
- dataFullName: 'RBD_Medium'
- },
- {
- type: 'node',
- id: 'RBDLow',
- text: 'RBD_Low',
- dataFullName: 'RBD_Low'
- },
- {
- type: 'node',
- id: 'ImplementedQA',
- text: 'Implemented-QA',
- dataFullName: 'Implemented-QA'
- },
- {
- type: 'node',
- id: 'AlternativeImplementation',
- text: 'Alternative Implementation',
- dataFullName: 'Alternative Implementation'
- },
- {
- type: 'node',
- id: 'Cancelled',
- text: 'Cancelled',
- dataFullName: 'Cancelled'
- },
- {
- type: 'node',
- id: 'PartiallyImplemented',
- text: 'Partially Implemented',
- dataFullName: 'Partially Implemented'
- },
- {
- type: 'node',
- id: 'TestState',
- text: ' Test State',
- dataFullName: ' Test State'
- },
- {
- type: 'link',
- 'source': 'ImplementedQA',
- 'target': 'Cancelled'
- },
- {
- type: 'link',
- 'source': 'AlternativeImplementation',
- 'target': 'RBDMedium'
- },
- {
- type: 'link',
- 'source': 'PartiallyImplemented',
- 'target': 'RBDLow'
- },
- {
- type: 'link',
- 'source': 'ImplementedReview',
- 'target': 'Implemented'
- },
- {
- type: 'link',
- 'source': 'Assigned',
- 'target': 'PartiallyImplemented'
- },
- {
- type: 'link',
- 'source': 'NA',
- 'target': 'AlternativeImplementation'
- },
- {
- type: 'link',
- 'source': 'RBDLow',
- 'target': 'RBDHigh'
- },
- {
- type: 'link',
- 'source': 'Planned',
- 'target': 'RBDLow'
- },
- {
- type: 'link',
- 'source': 'Implemented',
- 'target': 'RBDHigh'
- },
- {
- type: 'link',
- 'source': 'AlternativeImplementation',
- 'target': 'NA'
- },
- {
- type: 'link',
- 'source': 'PartiallyImplemented',
- 'target': 'RBDHigh'
- },
- {
- type: 'link',
- 'source': 'ImplementedQA',
- 'target': 'Assigned'
- },
- {
- type: 'link',
- 'source': 'Implemented',
- 'target': 'PartiallyImplemented'
- },
- {
- type: 'link',
- 'source': 'RBDLow',
- 'target': 'Cancelled'
- },
- {
- type: 'link',
- 'source': 'Assigned',
- 'target': 'Cancelled'
- },
- {
- type: 'link',
- 'source': 'RBDLow',
- 'target': 'ImplementedReview'
- },
- {
- type: 'link',
- 'source': 'Planned',
- 'target': 'RBDHigh'
- },
- {
- type: 'link',
- 'source': 'Implemented',
- 'target': 'ImplementedReview'
- },
- {
- type: 'link',
- 'source': 'RBDMedium',
- 'target': 'Cancelled'
- },
- {
- type: 'link',
- 'source': 'AlternativeImplementation',
- 'target': 'Planned'
- },
- {
- type: 'link',
- 'source': 'PartiallyImplemented',
- 'target': 'ImplementedReview'
- },
- {
- type: 'link',
- 'source': 'PartiallyImplemented',
- 'target': 'Cancelled'
- },
- {
- type: 'link',
- 'source': 'RBDLow',
- 'target': 'Planned'
- },
- {
- type: 'link',
- 'source': 'Planned',
- 'target': 'ImplementedReview'
- },
- {
- type: 'link',
- 'source': 'Cancelled',
- 'target': 'ImplementedQA'
- },
- {
- type: 'link',
- 'source': 'Implemented',
- 'target': 'Planned'
- },
- {
- type: 'link',
- 'source': 'RBDHigh',
- 'target': 'Cancelled'
- },
- {
- type: 'link',
- 'source': 'RBDMedium',
- 'target': 'ImplementedQA'
- },
- {
- type: 'link',
- 'source': 'PartiallyImplemented',
- 'target': 'Planned'
- },
- {
- type: 'link',
- 'source': 'NA',
- 'target': 'Cancelled'
- },
- {
- type: 'link',
- 'source': 'RBDLow',
- 'target': 'Implemented'
- },
- {
- type: 'link',
- 'source': 'Planned',
- 'target': 'PartiallyImplemented'
- },
- {
- type: 'link',
- 'source': 'Cancelled',
- 'target': 'RBDMedium'
- },
- {
- type: 'link',
- 'source': 'ImplementedQA',
- 'target': 'RBDMedium'
- },
- {
- type: 'link',
- 'source': 'RBDHigh',
- 'target': 'ImplementedQA'
- },
- {
- type: 'link',
- 'source': 'RBDMedium',
- 'target': 'RBDHigh'
- },
- {
- type: 'link',
- 'source': 'NA',
- 'target': 'RBDLow'
- },
- {
- type: 'link',
- 'source': 'ImplementedReview',
- 'target': 'RBDLow'
- },
- {
- type: 'link',
- 'source': 'Assigned',
- 'target': 'ImplementedQA'
- },
- {
- type: 'link',
- 'source': 'Cancelled',
- 'target': 'NA'
- },
- {
- type: 'link',
- 'source': 'ImplementedQA',
- 'target': 'NA'
- },
- {
- type: 'link',
- 'source': 'RBDHigh',
- 'target': 'RBDMedium'
- },
- {
- type: 'link',
- 'source': 'RBDMedium',
- 'target': 'ImplementedReview'
- },
- {
- type: 'link',
- 'source': 'NA',
- 'target': 'RBDHigh'
- },
- {
- type: 'link',
- 'source': 'ImplementedReview',
- 'target': 'RBDHigh'
- },
- {
- type: 'link',
- 'source': 'Assigned',
- 'target': 'RBDMedium'
- },
- {
- type: 'link',
- 'source': 'Cancelled',
- 'target': 'Assigned'
- },
- {
- type: 'link',
- 'source': 'Planned',
- 'target': 'AlternativeImplementation'
- },
- {
- type: 'link',
- 'source': 'ImplementedQA',
- 'target': 'Assigned'
- },
- {
- type: 'link',
- 'source': 'RBDHigh',
- 'target': 'ImplementedReview'
- },
- {
- type: 'link',
- 'source': 'RBDMedium',
- 'target': 'Planned'
- },
- {
- type: 'link',
- 'source': 'NA',
- 'target': 'Assigned'
- },
- {
- type: 'link',
- 'source': 'ImplementedReview',
- 'target': 'Assigned'
- },
- {
- type: 'link',
- 'source': 'Assigned',
- 'target': 'NA'
- },
- {
- type: 'link',
- 'source': 'Cancelled',
- 'target': 'PartiallyImplemented'
- },
- {
- type: 'link',
- 'source': 'Assigned',
- 'target': 'AlternativeImplementation'
- },
- {
- type: 'link',
- 'source': 'ImplementedQA',
- 'target': 'PartiallyImplemented'
- },
- {
- type: 'link',
- 'source': 'RBDHigh',
- 'target': 'Planned'
- },
- {
- type: 'link',
- 'source': 'RBDMedium',
- 'target': 'Implemented'
- },
- {
- type: 'link',
- 'source': 'NA',
- 'target': 'PartiallyImplemented'
- },
- {
- type: 'link',
- 'source': 'PartiallyImplemented',
- 'target': 'Implemented'
- },
- {
- type: 'link',
- 'source': 'AlternativeImplementation',
- 'target': 'Cancelled'
- },
- {
- type: 'link',
- 'source': 'AlternativeImplementation',
- 'target': 'RBDLow'
- },
- {
- type: 'link',
- 'source': 'PartiallyImplemented',
- 'target': 'ImplementedQA'
- },
- {
- type: 'link',
- 'source': 'ImplementedReview',
- 'target': 'PartiallyImplemented'
- },
- {
- type: 'link',
- 'source': 'Assigned',
- 'target': 'Planned'
- },
- {
- type: 'link',
- 'source': 'RBDHigh',
- 'target': 'Implemented'
- },
- {
- type: 'link',
- 'source': 'RBDLow',
- 'target': 'RBDMedium'
- },
- {
- type: 'link',
- 'source': 'Planned',
- 'target': 'ImplementedQA'
- },
- {
- type: 'link',
- 'source': 'Implemented',
- 'target': 'RBDMedium'
- },
- {
- type: 'link',
- 'source': 'ImplementedQA',
- 'target': 'AlternativeImplementation'
- },
- {
- type: 'link',
- 'source': 'AlternativeImplementation',
- 'target': 'RBDHigh'
- },
- {
- type: 'link',
- 'source': 'PartiallyImplemented',
- 'target': 'RBDMedium'
- },
- {
- type: 'link',
- 'source': 'Implemented',
- 'target': 'ImplementedQA'
- },
- {
- type: 'link',
- 'source': 'Assigned',
- 'target': 'Implemented'
- },
- {
- type: 'link',
- 'source': 'ImplementedReview',
- 'target': 'Cancelled'
- },
- {
- type: 'link',
- 'source': 'RBDLow',
- 'target': 'NA'
- },
- {
- type: 'link',
- 'source': 'Planned',
- 'target': 'RBDMedium'
- },
- {
- type: 'link',
- 'source': 'Implemented',
- 'target': 'NA'
- },
- {
- type: 'link',
- 'source': 'AlternativeImplementation',
- 'target': 'Assigned'
- },
- {
- type: 'link',
- 'source': 'PartiallyImplemented',
- 'target': 'NA'
- },
- {
- type: 'link',
- 'source': 'RBDLow',
- 'target': 'AlternativeImplementation'
- },
- {
- type: 'link',
- 'source': 'Planned',
- 'target': 'Cancelled'
- },
- {
- type: 'link',
- 'source': 'RBDLow',
- 'target': 'Assigned'
- },
- {
- type: 'link',
- 'source': 'Planned',
- 'target': 'NA'
- },
- {
- type: 'link',
- 'source': 'Cancelled',
- 'target': 'AlternativeImplementation'
- },
- {
- type: 'link',
- 'source': 'Implemented',
- 'target': 'Assigned'
- },
- {
- type: 'link',
- 'source': 'RBDMedium',
- 'target': 'AlternativeImplementation'
- },
- {
- type: 'link',
- 'source': 'AlternativeImplementation',
- 'target': 'Implemented'
- },
- {
- type: 'link',
- 'source': 'PartiallyImplemented',
- 'target': 'Assigned'
- },
- {
- type: 'link',
- 'source': 'RBDLow',
- 'target': 'PartiallyImplemented'
- },
- {
- type: 'link',
- 'source': 'Planned',
- 'target': 'Assigned'
- },
- {
- type: 'link',
- 'source': 'Cancelled',
- 'target': 'RBDLow'
- },
- {
- type: 'link',
- 'source': 'ImplementedQA',
- 'target': 'RBDLow'
- },
- {
- type: 'link',
- 'source': 'RBDHigh',
- 'target': 'AlternativeImplementation'
- },
- {
- type: 'link',
- 'source': 'RBDMedium',
- 'target': 'RBDLow'
- },
- {
- type: 'link',
- 'source': 'NA',
- 'target': 'ImplementedQA'
- },
- {
- type: 'link',
- 'source': 'Implemented',
- 'target': 'Cancelled'
- },
- {
- type: 'link',
- 'source': 'ImplementedReview',
- 'target': 'ImplementedQA'
- },
- {
- type: 'link',
- 'source': 'Planned',
- 'target': 'Implemented'
- },
- {
- type: 'link',
- 'source': 'Cancelled',
- 'target': 'RBDHigh'
- },
- {
- type: 'link',
- 'source': 'ImplementedQA',
- 'target': 'RBDHigh'
- },
- {
- type: 'link',
- 'source': 'RBDHigh',
- 'target': 'RBDLow'
- },
- {
- type: 'link',
- 'source': 'RBDMedium',
- 'target': 'NA'
- },
- {
- type: 'link',
- 'source': 'NA',
- 'target': 'RBDMedium'
- },
- {
- type: 'link',
- 'source': 'ImplementedReview',
- 'target': 'RBDMedium'
- },
- {
- type: 'link',
- 'source': 'Assigned',
- 'target': 'RBDLow'
- },
- {
- type: 'link',
- 'source': 'Cancelled',
- 'target': 'ImplementedReview'
- },
- {
- type: 'link',
- 'source': 'ImplementedQA',
- 'target': 'ImplementedReview'
- },
- {
- type: 'link',
- 'source': 'RBDHigh',
- 'target': 'NA'
- },
- {
- type: 'link',
- 'source': 'RBDMedium',
- 'target': 'Assigned'
- },
- {
- type: 'link',
- 'source': 'NA',
- 'target': 'ImplementedReview'
- },
- {
- type: 'link',
- 'source': 'ImplementedReview',
- 'target': 'NA'
- },
- {
- type: 'link',
- 'source': 'Assigned',
- 'target': 'RBDHigh'
- },
- {
- type: 'link',
- 'source': 'Cancelled',
- 'target': 'Planned'
- },
- {
- type: 'link',
- 'source': 'Implemented',
- 'target': 'AlternativeImplementation'
- },
- {
- type: 'link',
- 'source': 'ImplementedQA',
- 'target': 'Planned'
- },
- {
- type: 'link',
- 'source': 'RBDHigh',
- 'target': 'Assigned'
- },
- {
- type: 'link',
- 'source': 'RBDMedium',
- 'target': 'PartiallyImplemented'
- },
- {
- type: 'link',
- 'source': 'NA',
- 'target': 'Planned'
- },
- {
- type: 'link',
- 'source': 'ImplementedReview',
- 'target': 'Planned'
- },
- {
- type: 'link',
- 'source': 'Assigned',
- 'target': 'ImplementedReview'
- },
- {
- type: 'link',
- 'source': 'Cancelled',
- 'target': 'Implemented'
- },
- {
- type: 'link',
- 'source': 'AlternativeImplementation',
- 'target': 'ImplementedQA'
- },
- {
- type: 'link',
- 'source': 'ImplementedQA',
- 'target': 'Implemented'
- },
- {
- type: 'link',
- 'source': 'RBDHigh',
- 'target': 'PartiallyImplemented'
- },
- {
- type: 'link',
- 'source': 'RBDLow',
- 'target': 'ImplementedQA'
- },
- {
- type: 'link',
- 'source': 'NA',
- 'target': 'Implemented'
- },
- {
- type: 'link',
- 'source': 'Implemented',
- 'target': 'RBDLow'
- }
- ]
- };
-
- zingchart.render({
- id: 'myChart',
- data: chartConfig,
- height: '650px',
- output: 'canvas'
- });
-
- let lastNodeId = '';
- zingchart.bind('myChart', 'mousemove', function(p) {
- if (p.target === 'shape') {
- if (p.targetid.indexOf('-gshape-area') !== -1 && p.targetid.indexOf('-shape-node_') !== -1) {
- let nodeId = p.targetid.replace(p.graphid + '-shape-node_', '').replace('-gshape-area', '');
- if (nodeId !== lastNodeId) {
- lastNodeId = nodeId;
- let ids = zingchart.exec(p.id, 'getobjectsbyclass', {
- graphid: 0,
- type: 'shape',
- cls: 'zctreeshape'
- });
- let data = [];
- for (let i = 0; i < ids.length; i++) {
- let tokens = ids[i].split('_');
- if (tokens[0] === 'link' && (tokens[1] === lastNodeId || tokens[2] === lastNodeId)) {
- data.push({
- id: ids[i],
- lineColor: '#ff0000'
- });
- }
- }
- zingchart.exec(p.id, 'updateobject', {
- type: 'shape',
- data: data
- });
- }
- }
- } else {
- if (lastNodeId !== '') {
- lastNodeId = '';
- let ids = zingchart.exec(p.id, 'getobjectsbyclass', {
- graphid: 0,
- type: 'shape',
- cls: 'zctreeshape'
- });
- let data = [];
- for (let i = 0; i < ids.length; i++) {
- let tokens = ids[i].split('_');
- if (tokens[0] === 'link') {
- data.push({
- id: ids[i],
- lineColor: '#cccccc'
- });
- }
- }
- zingchart.exec(p.id, 'updateobject', {
- type: 'shape',
- data: data
- });
- }
- }
- });