mirror of
https://github.com/wassname/DefinitelyTyped.git
synced 2026-09-09 11:13:57 +08:00
Merge pull request #3139 from qinfchen/master
Add typings for sigmajs v1.0.3
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
/// <reference path="sigmajs.d.ts"/>
|
||||
module SigmaJsTests {
|
||||
var container = document.createElement("sigma");
|
||||
var settings = new sigma.classes.configurable({
|
||||
autoResize: true,
|
||||
autoRescale: true
|
||||
})
|
||||
var s = new sigma({
|
||||
settings: settings
|
||||
});
|
||||
|
||||
s.addRenderer({
|
||||
type: 'canvas',
|
||||
container: container
|
||||
});
|
||||
|
||||
var N = 100;
|
||||
var E = 500;
|
||||
// Generate a random graph:
|
||||
for (var i = 0; i < N; i++) {
|
||||
s.graph.addNode({
|
||||
id: 'n' + i,
|
||||
label: 'Node ' + i,
|
||||
x: Math.random(),
|
||||
y: Math.random(),
|
||||
size: Math.random(),
|
||||
color: '#666'
|
||||
});
|
||||
}
|
||||
|
||||
for (var j = 0; j < E; j++) {
|
||||
s.graph.addEdge({
|
||||
id: 'e' + j,
|
||||
source: 'n' + Math.floor(Math.random() * N),
|
||||
target: 'n' + Math.floor(Math.random() * N),
|
||||
size: Math.random(),
|
||||
color: '#ccc'
|
||||
});
|
||||
}
|
||||
|
||||
sigma.plugins.dragNodes(s, s.renderers[0]);
|
||||
s.renderers[0].resize();
|
||||
s.refresh();
|
||||
}
|
||||
Vendored
+208
@@ -0,0 +1,208 @@
|
||||
// Type definitions for sigma.js v1.0.3
|
||||
// Project: https://github.com/jacomyal/sigma.js
|
||||
// Definitions by: Qinfeng Chen <https://github.com/qinfchen>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
/// <reference path="../jquery/jquery.d.ts" />
|
||||
declare module SigmaJs{
|
||||
interface Classes {
|
||||
configurable: Configurable;
|
||||
graph: Graph;
|
||||
}
|
||||
|
||||
interface Configurable {
|
||||
new(setting: Settings): Configurable;
|
||||
new(settings: Settings[]): Configurable;
|
||||
(key: string): string;
|
||||
}
|
||||
|
||||
interface DragNodes {
|
||||
(sigma: Sigma, renderer: Renderer): DragNodes;
|
||||
}
|
||||
|
||||
interface Edge {
|
||||
color?: string;
|
||||
id: string;
|
||||
size?: number;
|
||||
source: string;
|
||||
target: string;
|
||||
}
|
||||
|
||||
interface Graph {
|
||||
addEdge(edge: Edge): Graph;
|
||||
addNode(node: Node): Graph;
|
||||
clear(): Graph;
|
||||
degree(id: string): number;
|
||||
degree(id: string, type: string): number;
|
||||
degree(ids: string[]): number[];
|
||||
degree(ids: string[], type: string): number[];
|
||||
dropEdge(id: string): Graph;
|
||||
dropNode(id: string): Graph;
|
||||
edges(): Edge[];
|
||||
edges(id: string): Edge;
|
||||
edges(ids: string[]): Edge[];
|
||||
kill(): Graph;
|
||||
nodes(): Node[];
|
||||
nodes(id: string): Node;
|
||||
nodes(ids: string[]): Node[];
|
||||
}
|
||||
|
||||
interface Node {
|
||||
color?: string;
|
||||
id: string;
|
||||
label?: string;
|
||||
size?: number;
|
||||
x?: number;
|
||||
y?: number;
|
||||
}
|
||||
|
||||
interface Plugins {
|
||||
dragNodes: DragNodes;
|
||||
}
|
||||
|
||||
interface Renderer {
|
||||
refresh(): Sigma;
|
||||
render(): Sigma;
|
||||
resize(): Sigma;
|
||||
}
|
||||
|
||||
interface RendererConfigs{
|
||||
container?: Element;
|
||||
id?: string;
|
||||
type?: string;
|
||||
}
|
||||
|
||||
interface Sigma {
|
||||
addRenderer(): Renderer;
|
||||
addRenderer(configs: RendererConfigs): Renderer;
|
||||
graph: Graph;
|
||||
killRenderer(renderer: string): Sigma;
|
||||
killRenderer(renderer: Renderer): Sigma;
|
||||
kill(): void;
|
||||
refresh(): void;
|
||||
renderers: Renderer[];
|
||||
}
|
||||
|
||||
interface SigmaConfigs {
|
||||
container?: Element;
|
||||
graph?: Graph;
|
||||
id?: string;
|
||||
renderers?: Renderer[];
|
||||
settings?: Configurable;
|
||||
|
||||
}
|
||||
|
||||
interface SigmaFactory {
|
||||
new(): Sigma;
|
||||
new(container: string): Sigma;
|
||||
new(container: Element): Sigma;
|
||||
new(configuration: SigmaConfigs): Sigma;
|
||||
classes:Classes;
|
||||
plugins: Plugins;
|
||||
}
|
||||
|
||||
interface Settings {
|
||||
// Graph settings
|
||||
clone?: boolean;
|
||||
immutable?: boolean;
|
||||
verbose?: boolean;
|
||||
|
||||
// Renderers settings
|
||||
defaultNodeType?: string;
|
||||
defaultEdgeType?: string;
|
||||
defaultLabelColor?: string;
|
||||
defaultEdgeColor?: string;
|
||||
defaultNodeColor?: string;
|
||||
defaultLabelSize?: string;
|
||||
edgeColor?: string;
|
||||
minArrowSize?: number;
|
||||
font?: string;
|
||||
fontStyle?: string;
|
||||
labelColor?: string;
|
||||
labelSize?: string;
|
||||
labelSizeRatio?: string;
|
||||
labelThreshold?: string;
|
||||
webglOversamplingRatio?: number;
|
||||
|
||||
// hovered node customizations
|
||||
borderSize?: number;
|
||||
defaultNodeBorderColor?: string;
|
||||
hoverFont?: number;
|
||||
hoverFontStyle?: string;
|
||||
labelHoverShadow?: string;
|
||||
labelHoverShadowColor?: string;
|
||||
nodeHoverColor?: string;
|
||||
defaultNodeHoverColor?: string;
|
||||
labelHoverBGColor?: string;
|
||||
defaultHoverLabelBGColor?: string;
|
||||
labelHoverColor?: string;
|
||||
defaultLabelHoverColor?: string;
|
||||
singleHover?: boolean;
|
||||
|
||||
// hovered edge customizations
|
||||
edgeHoverColor?: string;
|
||||
edgeHoverSizeRatio?: number;
|
||||
defaultEdgeHoverColor?: string;
|
||||
edgeHoverExtremities?: boolean;
|
||||
|
||||
// Draw settings for labels, edges, and nodes
|
||||
drawLabels?: boolean;
|
||||
drawEdges?: boolean;
|
||||
drawNodes?: boolean;
|
||||
|
||||
// Batch edge drawing
|
||||
batchEdgesDrawing?: boolean;
|
||||
hideEdgesOnMove?: boolean;
|
||||
canvasEdgesBatchSize?: number;
|
||||
webglEdgesBatchSize?: number;
|
||||
|
||||
// Rescale settings
|
||||
scalingMode?: string;
|
||||
sideMargin?: number;
|
||||
|
||||
// max/min node and edge size
|
||||
minEdgeSize?: number;
|
||||
maxEdgeSize?: number;
|
||||
minNodeSize?: number;
|
||||
maxNodeSize?: number;
|
||||
|
||||
// Captor settings
|
||||
touchEnabled?: boolean;
|
||||
mouseEnabled?: boolean;
|
||||
mouseWheelEnabled?: boolean;
|
||||
doubleClickEnabled?: boolean;
|
||||
eventsEnabled?: boolean;
|
||||
zoomingRatio?: number;
|
||||
doubleClickZoomingRatio?: number;
|
||||
zoomMin?: number;
|
||||
zoomMax?: number;
|
||||
mouseZoomDuration?: number;
|
||||
doubleClickZoomDuration?: number;
|
||||
mouseInertiaDuration?: number;
|
||||
mouseInertiaRatio?: number;
|
||||
touchInertiaDuration?: number;
|
||||
touchInertiaRatio?: number;
|
||||
doubleClickTimeout?: number;
|
||||
doubleTapTimeout?: number;
|
||||
dragTimeout?: number;
|
||||
|
||||
// Global settings
|
||||
autoResize?: boolean;
|
||||
autoRescale?: boolean;
|
||||
enableCamera?: boolean;
|
||||
enableHovering?: boolean;
|
||||
enableEdgeHovering?: boolean;
|
||||
edgeHoverPrecision?: number;
|
||||
rescaleIgnoreSize?: boolean;
|
||||
skipErrors?: boolean;
|
||||
|
||||
// Camera settings
|
||||
nodesPowRatio?: number;
|
||||
edgesPowRatio?: number;
|
||||
|
||||
// Animation settings
|
||||
animationsTime?: number;
|
||||
}
|
||||
}
|
||||
|
||||
declare var sigma: SigmaJs.SigmaFactory;
|
||||
Reference in New Issue
Block a user