Commit d4286ec7 authored by S Anand's avatar S Anand

BUG: always check if link.source is a node or node index

Sometimes, links resolve partially to node objects. That is, some links
become node objects, some do not. Hence, check every link independently.
parent d31fbf88
This diff is collapsed.
......@@ -328,19 +328,16 @@ _G_network.force = function() {
var filtered_links = [],
i = 0,
links = data.links,
source,
target,
link
if (links.length) {
// If we've already called .draw(), the links are resolved into objects.
// In that case, .source is an object whose .id is the node id
if (typeof links[0].source == 'object') {
for (; link=links[i]; i++)
if (link.source.id in node_ids && link.target.id in node_ids)
filtered_links.push(link)
} else {
// If we haven't called .draw() yet, the links are node IDs themselves
for (; link=links[i]; i++)
if (nodes[link.source].id in node_ids && nodes[link.target].id in node_ids)
filtered_links.push(link)
for (; link=links[i]; i++) {
// link.source & link.target are resolved into node objects only after .draw()
source = typeof link.source == 'object' ? link.source : nodes[link.source]
target = typeof link.target == 'object' ? link.target : nodes[link.target]
if (source.id in node_ids && target.id in node_ids)
filtered_links.push(link)
}
for (var ns in link_filter)
filtered_links = filtered_links.filter(link_filter[ns])
......
......@@ -1336,12 +1336,12 @@
return self;
};
function filter_links() {
var filtered_links = [], i = 0, links = data.links, link;
var filtered_links = [], i = 0, links = data.links, source, target, link;
if (links.length) {
if (typeof links[0].source == "object") {
for (;link = links[i]; i++) if (link.source.id in node_ids && link.target.id in node_ids) filtered_links.push(link);
} else {
for (;link = links[i]; i++) if (nodes[link.source].id in node_ids && nodes[link.target].id in node_ids) filtered_links.push(link);
for (;link = links[i]; i++) {
source = typeof link.source == "object" ? link.source : nodes[link.source];
target = typeof link.target == "object" ? link.target : nodes[link.target];
if (source.id in node_ids && target.id in node_ids) filtered_links.push(link);
}
for (var ns in link_filter) filtered_links = filtered_links.filter(link_filter[ns]);
}
......
Source libraries
----------------
When you `npm install -g mocha` the following files are installed at
`C:\Users\...\AppData\Roaming\npm\...`. Copy these files from there:
- `mocha.js`
- `mocha.css`
- `chai.js`
Also copy [jQuery](http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js) (1.8.2 or above)
- `jquery.min.js`
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
@charset "utf-8";
body {
margin:0;
}
#mocha {
font: 20px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif;
margin: 60px 50px;
}
#mocha ul, #mocha li {
margin: 0;
padding: 0;
}
#mocha ul {
list-style: none;
}
#mocha h1, #mocha h2 {
margin: 0;
}
#mocha h1 {
margin-top: 15px;
font-size: 1em;
font-weight: 200;
}
#mocha h1 a {
text-decoration: none;
color: inherit;
}
#mocha h1 a:hover {
text-decoration: underline;
}
#mocha .suite .suite h1 {
margin-top: 0;
font-size: .8em;
}
#mocha .hidden {
display: none;
}
#mocha h2 {
font-size: 12px;
font-weight: normal;
cursor: pointer;
}
#mocha .suite {
margin-left: 15px;
}
#mocha .test {
margin-left: 15px;
overflow: hidden;
}
#mocha .test.pending:hover h2::after {
content: '(pending)';
font-family: arial, sans-serif;
}
#mocha .test.pass.medium .duration {
background: #C09853;
}
#mocha .test.pass.slow .duration {
background: #B94A48;
}
#mocha .test.pass::before {
content: '✓';
font-size: 12px;
display: block;
float: left;
margin-right: 5px;
color: #00d6b2;
}
#mocha .test.pass .duration {
font-size: 9px;
margin-left: 5px;
padding: 2px 5px;
color: white;
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.2);
-moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.2);
box-shadow: inset 0 1px 1px rgba(0,0,0,.2);
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
-ms-border-radius: 5px;
-o-border-radius: 5px;
border-radius: 5px;
}
#mocha .test.pass.fast .duration {
display: none;
}
#mocha .test.pending {
color: #0b97c4;
}
#mocha .test.pending::before {
content: '◦';
color: #0b97c4;
}
#mocha .test.fail {
color: #c00;
}
#mocha .test.fail pre {
color: black;
}
#mocha .test.fail::before {
content: '✖';
font-size: 12px;
display: block;
float: left;
margin-right: 5px;
color: #c00;
}
#mocha .test pre.error {
color: #c00;
max-height: 300px;
overflow: auto;
}
#mocha .test pre {
display: block;
float: left;
clear: left;
font: 12px/1.5 monaco, monospace;
margin: 5px;
padding: 15px;
border: 1px solid #eee;
border-bottom-color: #ddd;
-webkit-border-radius: 3px;
-webkit-box-shadow: 0 1px 3px #eee;
-moz-border-radius: 3px;
-moz-box-shadow: 0 1px 3px #eee;
border-radius: 3px;
}
#mocha .test h2 {
position: relative;
}
#mocha .test a.replay {
position: absolute;
top: 3px;
right: 0;
text-decoration: none;
vertical-align: middle;
display: block;
width: 15px;
height: 15px;
line-height: 15px;
text-align: center;
background: #eee;
font-size: 15px;
-moz-border-radius: 15px;
border-radius: 15px;
-webkit-transition: opacity 200ms;
-moz-transition: opacity 200ms;
transition: opacity 200ms;
opacity: 0.3;
color: #888;
}
#mocha .test:hover a.replay {
opacity: 1;
}
#mocha-report.pass .test.fail {
display: none;
}
#mocha-report.fail .test.pass {
display: none;
}
#mocha-report.pending .test.pass,
#mocha-report.pending .test.fail {
display: none;
}
#mocha-report.pending .test.pass.pending {
display: block;
}
#mocha-error {
color: #c00;
font-size: 1.5em;
font-weight: 100;
letter-spacing: 1px;
}
#mocha-stats {
position: fixed;
top: 15px;
right: 10px;
font-size: 12px;
margin: 0;
color: #888;
z-index: 1;
}
#mocha-stats .progress {
float: right;
padding-top: 0;
}
#mocha-stats em {
color: black;
}
#mocha-stats a {
text-decoration: none;
color: inherit;
}
#mocha-stats a:hover {
border-bottom: 1px solid #eee;
}
#mocha-stats li {
display: inline-block;
margin: 0 5px;
list-style: none;
padding-top: 11px;
}
#mocha-stats canvas {
width: 40px;
height: 40px;
}
#mocha code .comment { color: #ddd }
#mocha code .init { color: #2F6FAD }
#mocha code .string { color: #5890AD }
#mocha code .keyword { color: #8A6343 }
#mocha code .number { color: #2F6FAD }
@media screen and (max-device-width: 480px) {
#mocha {
margin: 60px 0px;
}
#mocha #stats {
position: absolute;
}
}
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment