Reputation: 85
I am trying to add a class to the node, to have all my css in a stylesheet file, not inside javascrpt declaration.
var values = {
nodes: [
{ data: { id: 'explore'},
classes: 'ClassName1'
},
{ data: { id: 'discover' } }
],
edges: [
{ data: { source: 'explore', target: 'discover' } }
]
};
As you can see I am adding classes and the class name, but nothing happens.
Upvotes: 7
Views: 5011
Reputation: 1
The answer provided by DaNeSh is good. But let me provide a detailed explanation.
Step 1 : Create a HTML div (call it 'cy').
Step 2 : Inside the JS
var cy = cytoscape({
container: document.getElementById('cy')
style: [
{
selector: 'node',
style: {
'label': 'data(id)'
}
},
{
selector: '.ClassName1',
style: {
'width': 8,
'height': 8,
'label': ''
}
}
],
elements: {
nodes: [
{ data: { id: 'explore'}, classes: 'ClassName1'},
{ data: { id: 'discover' } }
],
edges: [
{ data: { source: 'explore', target: 'discover' } }
]
},
});
Upvotes: 0
Reputation: 1062
You should use selectors, Here is the solution:
var cy = cytoscape({
container: this.div[0],
style: cytoscape.stylesheet()
.selector(".ClassName1")
.css({
'background-color': 'red',
}) ,
elements: values ,
layout: 'MyLayout'
});
cy.layout();
Upvotes: 2