Advertisement
Guest User

Untitled

a guest
Feb 10th, 2016
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.32 KB | None | 0 0
  1. <div class="col-sm-12" style="height:100%;width:100%;margin-top:5px;">
  2.  
  3. <div ng-show="cyLoaded" ng-model="cyLoaded" id="cy" ng-init="ShowProjectRelationGraph(1)" ></div>
  4.  
  5. <div ng-show="!cyLoaded" ng-model="cyLoaded" class="row" style="align-items:center;margin-top:100px;">
  6. <div class="col-sm-5">
  7.  
  8. </div>
  9. <div class="col-sm-2" style="padding-left:6%">
  10. <div class="spinner-lg">
  11. <div class="double-bounce1"></div>
  12. <div class="double-bounce2"></div>
  13. </div>
  14. </div>
  15. </div>
  16. </div>
  17.  
  18. angular.module("VPMWeb")
  19. .factory('nodesGraph', ['$q', function ($q) {
  20. var cy;
  21. var nodesGraph = function (elements, signal) {
  22. var deferred = $q.defer();
  23.  
  24. // put people model in cy.js
  25. var eles = [];
  26. for (var i = 0; i < elements.nodes.length; i++) {
  27. eles.push({
  28. group: 'nodes',
  29. data: {
  30. id: elements.nodes[i].data.id,
  31. parent: elements.nodes[i].data.parent,
  32. s_id: elements.nodes[i].data.s_id
  33. }
  34. });
  35. }
  36.  
  37. for (var i = 0; i < elements.edges.length; i++) {
  38. eles.push({
  39. group: 'edges',
  40. data: {
  41. id: elements.edges[i].data.id,
  42. source: elements.edges[i].data.source,
  43. target: elements.edges[i].data.target,
  44. }
  45. });
  46. }
  47.  
  48. $(function () { // on dom ready
  49. cy = cytoscape({
  50.  
  51. container: $("#cy")[0],
  52. //zoomingEnabled: false,
  53. userZoomingEnabled: false,
  54.  
  55. style: cytoscape.stylesheet()
  56. .selector('node')
  57. .css({
  58. 'content': 'data(s_id)',
  59. 'text-valign': 'center',
  60. 'text-halign': 'center',
  61. 'padding-top': '10px',
  62. 'padding-left': '10px',
  63. 'padding-bottom': '10px',
  64. 'padding-right': '10px',
  65. 'text-valign': 'top',
  66. 'text-halign': 'center',
  67. })
  68. .selector('edge')
  69. .css({
  70. 'target-arrow-shape': 'triangle'
  71. })
  72. .selector(':selected')
  73. .css({
  74. 'background-color': 'black',
  75. 'line-color': 'black',
  76. 'target-arrow-color': 'black',
  77. 'source-arrow-color': 'black'
  78. }),
  79.  
  80. layout: {
  81. name: 'cose',
  82. padding: 10,
  83. fit: true,
  84. randomize: true
  85. },
  86.  
  87. elements: eles,
  88.  
  89. ready: function () {
  90. deferred.resolve(this);
  91. }
  92. });
  93.  
  94. cy.center();
  95. }); // on dom ready
  96.  
  97. return deferred.promise;
  98. };
  99.  
  100. nodesGraph.listeners = {};
  101.  
  102. function fire(e, args) {
  103. var listeners = nodesGraph.listeners[e];
  104.  
  105. for (var i = 0; listeners && i < listeners.length; i++) {
  106. var fn = listeners[i];
  107.  
  108. fn.apply(fn, args);
  109. }
  110. }
  111.  
  112. function listen(e, fn) {
  113. var listeners = nodesGraph.listeners[e] = nodesGraph.listeners[e] || [];
  114.  
  115. listeners.push(fn);
  116. }
  117.  
  118. return nodesGraph;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement