Commit 1a6e3b5d authored by Karen Konou's avatar Karen Konou

[Sigma] Update settings record based on the js lib

parent 8c6dd923
Pipeline #6852 passed with stages
in 14 minutes and 25 seconds
......@@ -235,159 +235,103 @@ drawGraphCpt = here.component "drawGraph" cpt where
--pure $ RH.div { ref: elRef, style: {height: "95%"} } []
-- based on https://github.com/jacomyal/sigma.js/blob/v2.4.0/src/settings.ts
-- TODO: check some of the types
type SigmaSettings =
( --animationsTime :: Number
--, autoRescale :: Boolean
--, autoResize :: Boolean
--, batchEdgesDrawing :: Boolean
--, borderSize :: Number
-- , canvasEdgesBatchSize :: Number
-- , clone :: Boolean
-- , defaultEdgeColor :: String
--, defaultEdgeHoverColor :: String
defaultEdgeType :: String
--, defaultHoverLabelBGColor :: String
--, defaultHoverLabelColor :: String
--, defaultLabelColor :: String
-- , defaultLabelHoverColor :: String
, defaultLabelSize :: Number
--, defaultNodeBorderColor :: String
, defaultNodeColor :: String
-- , defaultNodeHoverColor :: String
-- , defaultNodeType :: String
--, doubleClickEnabled :: Boolean
-- , doubleClickTimeout :: Number
-- , doubleClickZoomDuration :: Number
-- , doubleClickZoomingRatio :: Number
-- , doubleTapTimeout :: Number
-- , dragTimeout :: Number
-- , drawEdgeLabels :: Boolean
-- , drawEdges :: Boolean
-- , drawLabels :: Boolean
-- , drawNodes :: Boolean
-- , edgeColor :: String
-- , edgeHoverColor :: String
-- , edgeHoverExtremities :: Boolean
-- , edgeHoverPrecision :: Number
-- , edgeHoverSizeRatio :: Number
-- , edgesPowRatio :: Number
-- , enableCamera :: Boolean
( -- Performance
-- hideEdgesOnMove :: Boolean
--, hideLablesOnMove :: Boolean
renderLabels :: Boolean
--, renderEdgeLabels :: Boolean
--, enableEdgeClickEvents :: Boolean
--, enableEdgeWheelEvents :: Boolean
, enableEdgeHoverEvents :: Boolean
-- , enableHovering :: Boolean
-- , eventsEnabled :: Boolean
-- , font :: String
-- , fontStyle :: String
, hideEdgesOnMove :: Boolean
-- , hoverFont :: String
-- , hoverFontStyle :: String
-- , immutable :: Boolean
-- , labelColor :: String
-- , labelHoverBGColor :: String
-- , labelHoverColor :: String
-- , labelHoverShadow :: String
-- , labelHoverShadowColor :: String
-- , labelSize :: String
-- , labelSizeRatio :: Number
-- Component rendering
, defaultNodeColor :: String
--, defaultNodeType :: String
--, defaultEdgeColor :: String
, defaultEdgeType :: String
--, labelFont :: String
, labelSize :: Number
--, labelWeight :: String
--, labelColor :: { color :: String}
--, edgeLabelFont :: String
--, edgeLabelSize :: Number
--, edgeLabelWeight :: String
--, edgeLabelColor :: { color :: String }
--, stagePadding :: Number
-- Labels
--, labelDensity :: Number
--, labelGridCellSize :: Number
, labelRenderedSizeThreshold :: Number
--, labelThreshold :: Number
-- , maxEdgeSize :: Number
-- , maxNodeSize :: Number
-- , minArrowSize :: Number
-- , minEdgeSize :: Number
-- , minNodeSize :: Number
-- , mouseEnabled :: Boolean
-- , mouseInertiaDuration :: Number
-- , mouseInertiaRatio :: Number
-- , mouseSelectorSize :: Number
-- , mouseWheelEnabled :: Boolean
-- , mouseZoomDuration :: Number
-- , nodeBorderColor :: String
-- , nodeHoverColor :: String
--, nodesPowRatio :: Number
, renderLabels :: Boolean
-- , rescaleIgnoreSize :: Boolean
-- , scalingMode :: String
-- , sideMargin :: Number
-- , singleHover :: Boolean
-- , skipErrors :: Boolean
-- , touchEnabled :: Boolean
-- , touchInertiaDuration :: Number
-- , touchInertiaRatio :: Number
-- , twBorderGreyColor :: String
-- , twEdgeDefaultOpacity :: Number
-- , twEdgeGreyColor :: String
-- , twNodeRendBorderColor :: String
-- , twNodeRendBorderSize :: Number
-- , twNodesGreyOpacity :: Number
-- , twSelectedColor :: String
-- , verbose :: Boolean
-- , webglEdgesBatchSize :: Number
-- , webglOversamplingRatio :: Number
-- , zoomMax :: Number
-- , zoomMin :: Number
-- , zoomingRatio :: Number
-- Reducers
--, nodeReducer :: String
--, edgeReducer :: String
-- Features
--, zIndex :: Boolean
--, minCameraRatio :: Number
--, maxCameraRatio :: Number
-- Renderers
--, labelRenderer :: DrawLabel
--, hoverRenderer :: DrawHover
--, edgeLabelRenderer :: DrawEdgeLabel
-- Lifecycle
--, allowInvalidContainer :: Boolean
-- Program classes
--, nodeProgramClasses :: String
--, nodeHoverProgramClasses :: String
--, edgeProgramClasses :: String
)
-- not selected <=> (1-greyness)
-- selected nodes <=> special label
sigmaSettings :: Themes.Theme -> {|SigmaSettings}
sigmaSettings _theme =
{ -- animationsTime : 30000.0
-- , autoRescale : true
--, autoResize : true
--, batchEdgesDrawing : true
--, borderSize : 1.0 -- for ex, bigger border when hover
--, defaultEdgeHoverColor : "#f00"
defaultEdgeType : "line" -- 'curve' or 'line' (curve iff ourRendering)
-- , defaultHoverLabelBGColor : "#fff"
-- , defaultHoverLabelColor : "#000"
-- , defaultLabelColor : "#000" -- labels text color
, defaultLabelSize : 15.0 -- (old tina: showLabelsIfZoom)
--, defaultNodeBorderColor : "#000" -- <- if nodeBorderColor = 'default'
, defaultNodeColor : "#FFF"
--, doubleClickEnabled : false -- indicates whether or not the graph can be zoomed on double-click
-- , drawEdgeLabels : true
-- , drawEdges : true
--, drawLabels : true
--, drawNodes : true
-- , edgeHoverExtremities : true
-- , edgeHoverColor : "edge"
-- , edgeHoverPrecision : 2.0
-- , edgeHoverSizeRatio : 2.0
{ -- Performance
-- hideEdgesOnMove : false
--, hideLablesOnMove : false
renderLabels : false -- initially false, because of forceatlas
--, renderEdgeLabels : true
--, enableEdgeClickEvents : false
--, enableEdgeWheelEvents : false
, enableEdgeHoverEvents : false
-- , enableHovering : true
-- , font : "arial"
-- , fontStyle : ""
, hideEdgesOnMove : true
-- , labelSize : "proportional" -- alt : proportional, fixed
-- , labelSize : "fixed"
-- , labelSizeRatio : 2.0 -- label size in ratio of node size
, labelRenderedSizeThreshold: 2.0
--, labelThreshold : 5.0 -- 5.0 for more labels -- min node cam size to start showing label
-- , maxEdgeSize : 1.0
-- , maxNodeSize : 10.0
-- , minEdgeSize : 0.5 -- in fact used in tina as edge size
-- , minNodeSize : 1.0
-- , mouseEnabled : true
-- , mouseSelectorSize : 15.0
-- , mouseZoomDuration : 150.0
-- , nodeBorderColor : "default" -- choices: "default" color vs. "node" color
--, nodesPowRatio : 10.8
, renderLabels: false -- initially false, because of forceatlas
-- , rescaleIgnoreSize : false
-- , singleHover : true
-- , touchEnabled : true
-- , twBorderGreyColor : "rgba(100, 100, 100, 0.9)"
-- , twEdgeDefaultOpacity : 0.4 -- initial opacity added to src/tgt colors
-- , twEdgeGreyColor : "rgba(100, 100, 100, 0.25)"
-- , twNodeRendBorderColor : "#FFF"
-- , twNodeRendBorderSize : 2.5 -- node borders (only iff ourRendering)
-- , twNodesGreyOpacity : 5.5 -- smaller value: more grey
-- , twSelectedColor : "node" -- "node" for a label bg like the node color, "default" for white background
-- , verbose : true
-- , zoomMax : 1.7
-- , zoomMin : 0.0
-- , zoomingRatio : 1.4
-- Component rendering
, defaultNodeColor : "#FFF"
--, defaultNodeType : "circle"
--, defaultEdgeColor : "#ccc"
, defaultEdgeType : "line" -- 'curve' or 'line' (curve iff ourRendering)
--, labelFont : "Arial"
, labelSize : 15.0
--, labelWeight : "normal"
--, labelColor : { color : "#000" }
--, edgeLabelFont : "Arial"
--, edgeLabelSize : 14
--, edgeLabelWeight : "normal"
--, edgeLabelColor : { color : "#ccc" }
--, stagePadding : 30
-- Labels
--, labelDensity : 1
--, labelGridCellSize : 100
, labelRenderedSizeThreshold : 2.0
-- Reducers
--, nodeReducer : Nothing
--, edgeReducer : Nothing
-- Features
--, zIndex : false
--, minCameraRatio : Nothing
--, maxCameraRatio : Nothing
-- Renderers
--, labelRenderer : drawLabel
--, hoverRenderer : drawHover
--, edgeLabelRenderer : drawEdgeLabel
-- Lifecycle
--, allowInvalidContainer : false
-- Program classes
--, nodeProgramClasses : {}
--, nodeHoverProgramClasses : {}
--, edgeProgramClasses : {}
}
-- `merge` themeSettings theme
-- where
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment