UNPKG

sigma

Version:

A JavaScript library dedicated to graph drawing.

70 lines (69 loc) 2.25 kB
"use strict"; /** * 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, }, };