Merge pull request #3148 from qinfchen/master

more typings for sigmajs
This commit is contained in:
Masahiro Wakame
2014-11-17 11:40:21 +09:00
2 changed files with 45 additions and 0 deletions
+21
View File
@@ -14,6 +14,10 @@ module SigmaJsTests {
container: container
});
s.bind('clickNode', (e) => {
s.refresh();
});
var N = 100;
var E = 500;
// Generate a random graph:
@@ -41,4 +45,21 @@ module SigmaJsTests {
sigma.plugins.dragNodes(s, s.renderers[0]);
s.renderers[0].resize();
s.refresh();
sigma.parsers.json('myGraph.json', s, () => {
s.refresh();
});
sigma.parsers.gexf('myGraph.gexf', s, () => {
s.refresh();
});
s.configForceAtlas2({
worker: true
});
s.isForceAtlas2Running();
s.killForceAtlas2();
s.startForceAtlas2();
s.stopForceAtlas2();
}
+24
View File
@@ -28,9 +28,18 @@ declare module SigmaJs{
target: string;
}
interface JsonParser {
(target: string, sigma: Sigma, callback: (graph: Sigma) => void): void;
}
interface GexfParser {
(target: string, sigma: Sigma, callback: (graph: Sigma) => void): void;
}
interface Graph {
addEdge(edge: Edge): Graph;
addNode(node: Node): Graph;
addMethod(name: string, method: (input: any) => any): void;
clear(): Graph;
degree(id: string): number;
degree(id: string, type: string): number;
@@ -56,6 +65,11 @@ declare module SigmaJs{
y?: number;
}
interface Parsers {
json: JsonParser;
gexf: GexfParser;
}
interface Plugins {
dragNodes: DragNodes;
}
@@ -75,12 +89,21 @@ declare module SigmaJs{
interface Sigma {
addRenderer(): Renderer;
addRenderer(configs: RendererConfigs): Renderer;
bind(event: string, callback: (e: any) => void): void;
graph: Graph;
killRenderer(renderer: string): Sigma;
killRenderer(renderer: Renderer): Sigma;
kill(): void;
refresh(): void;
renderers: Renderer[];
// forceAtlas2 layout
configForceAtlas2(configs: { [key: string]: any }): void;
isForceAtlas2Running(): boolean;
killForceAtlas2(): void;
startForceAtlas2(): void;
startForceAtlas2(configs: { [key: string]: any }): void;
stopForceAtlas2(): void;
}
interface SigmaConfigs {
@@ -98,6 +121,7 @@ declare module SigmaJs{
new(container: Element): Sigma;
new(configuration: SigmaConfigs): Sigma;
classes:Classes;
parsers: Parsers;
plugins: Plugins;
}