Spaces:
Build error
Build error
| import * as _ from 'lodash-es'; | |
| // Public utility functions | |
| export { isSubgraph, edgeToId, applyStyle, applyClass, applyTransition }; | |
| /* | |
| * Returns true if the specified node in the graph is a subgraph node. A | |
| * subgraph node is one that contains other nodes. | |
| */ | |
| function isSubgraph(g, v) { | |
| return !!g.children(v).length; | |
| } | |
| function edgeToId(e) { | |
| return escapeId(e.v) + ':' + escapeId(e.w) + ':' + escapeId(e.name); | |
| } | |
| var ID_DELIM = /:/g; | |
| function escapeId(str) { | |
| return str ? String(str).replace(ID_DELIM, '\\:') : ''; | |
| } | |
| function applyStyle(dom, styleFn) { | |
| if (styleFn) { | |
| dom.attr('style', styleFn); | |
| } | |
| } | |
| function applyClass(dom, classFn, otherClasses) { | |
| if (classFn) { | |
| dom.attr('class', classFn).attr('class', otherClasses + ' ' + dom.attr('class')); | |
| } | |
| } | |
| function applyTransition(selection, g) { | |
| var graph = g.graph(); | |
| if (_.isPlainObject(graph)) { | |
| var transition = graph.transition; | |
| if (_.isFunction(transition)) { | |
| return transition(selection); | |
| } | |
| } | |
| return selection; | |
| } | |