sigma
Version:
A JavaScript library dedicated to graph drawing.
70 lines (69 loc) • 2.25 kB
JavaScript
;
/**
* Sigma.js Settings
* =================================
*
* The list of settings and some handy functions.
* @module
*/
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DEFAULT_SETTINGS = exports.validateSettings = void 0;
var label_1 = __importDefault(require("./rendering/canvas/label"));
var hover_1 = __importDefault(require("./rendering/canvas/hover"));
var edge_label_1 = __importDefault(require("./rendering/canvas/edge-label"));
var node_fast_1 = __importDefault(require("./rendering/webgl/programs/node.fast"));
var edge_1 = __importDefault(require("./rendering/webgl/programs/edge"));
var edge_arrow_1 = __importDefault(require("./rendering/webgl/programs/edge.arrow"));
function validateSettings(settings) {
// Label grid cell
if (settings.labelGrid &&
settings.labelGrid.cell &&
typeof settings.labelGrid.cell === "object" &&
(!settings.labelGrid.cell.width || !settings.labelGrid.cell.height)) {
throw new Error("Settings: invalid `labelGrid.cell`. Expecting {width, height}.");
}
}
exports.validateSettings = validateSettings;
exports.DEFAULT_SETTINGS = {
// Performance
hideEdgesOnMove: false,
hideLabelsOnMove: false,
renderLabels: true,
renderEdgeLabels: false,
// Component rendering
defaultNodeColor: "#999",
defaultNodeType: "circle",
defaultEdgeColor: "#ccc",
defaultEdgeType: "line",
labelFont: "Arial",
labelSize: 14,
labelWeight: "normal",
edgeLabelFont: "Arial",
edgeLabelSize: 14,
edgeLabelWeight: "normal",
// Labels
labelGrid: {
cell: null,
renderedSizeThreshold: -Infinity,
},
// Reducers
nodeReducer: null,
edgeReducer: null,
// Features
zIndex: false,
// Renderers
labelRenderer: label_1.default,
hoverRenderer: hover_1.default,
edgeLabelRenderer: edge_label_1.default,
// Program classes
nodeProgramClasses: {
circle: node_fast_1.default,
},
edgeProgramClasses: {
arrow: edge_arrow_1.default,
line: edge_1.default,
},
};