debug.js 741 B

1234567891011121314151617181920212223242526272829303132333435
  1. import _ from 'lodash'
  2. import { Graph } from 'graphlibrary'
  3. import util from './util'
  4. /* istanbul ignore next */
  5. function debugOrdering (g) {
  6. const layerMatrix = util.buildLayerMatrix(g)
  7. const h = new Graph({ compound: true, multigraph: true }).setGraph({})
  8. _.forEach(g.nodes(), function (v) {
  9. h.setNode(v, { label: v })
  10. h.setParent(v, 'layer' + g.node(v).rank)
  11. })
  12. _.forEach(g.edges(), function (e) {
  13. h.setEdge(e.v, e.w, {}, e.name)
  14. })
  15. _.forEach(layerMatrix, function (layer, i) {
  16. const layerV = 'layer' + i
  17. h.setNode(layerV, { rank: 'same' })
  18. _.reduce(layer, function (u, v) {
  19. h.setEdge(u, v, { style: 'invis' })
  20. return v
  21. })
  22. })
  23. return h
  24. }
  25. export default {
  26. debugOrdering
  27. }