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 ...@@ -235,159 +235,103 @@ drawGraphCpt = here.component "drawGraph" cpt where
--pure $ RH.div { ref: elRef, style: {height: "95%"} } [] --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 = type SigmaSettings =
( --animationsTime :: Number ( -- Performance
--, autoRescale :: Boolean -- hideEdgesOnMove :: Boolean
--, autoResize :: Boolean --, hideLablesOnMove :: Boolean
--, batchEdgesDrawing :: Boolean renderLabels :: Boolean
--, borderSize :: Number --, renderEdgeLabels :: Boolean
-- , canvasEdgesBatchSize :: Number --, enableEdgeClickEvents :: Boolean
-- , clone :: Boolean --, enableEdgeWheelEvents :: 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
, enableEdgeHoverEvents :: Boolean , enableEdgeHoverEvents :: Boolean
-- , enableHovering :: Boolean -- Component rendering
-- , eventsEnabled :: Boolean , defaultNodeColor :: String
-- , font :: String --, defaultNodeType :: String
-- , fontStyle :: String --, defaultEdgeColor :: String
, hideEdgesOnMove :: Boolean , defaultEdgeType :: String
-- , hoverFont :: String --, labelFont :: String
-- , hoverFontStyle :: String , labelSize :: Number
-- , immutable :: Boolean --, labelWeight :: String
-- , labelColor :: String --, labelColor :: { color :: String}
-- , labelHoverBGColor :: String --, edgeLabelFont :: String
-- , labelHoverColor :: String --, edgeLabelSize :: Number
-- , labelHoverShadow :: String --, edgeLabelWeight :: String
-- , labelHoverShadowColor :: String --, edgeLabelColor :: { color :: String }
-- , labelSize :: String --, stagePadding :: Number
-- , labelSizeRatio :: Number -- Labels
--, labelDensity :: Number
--, labelGridCellSize :: Number
, labelRenderedSizeThreshold :: Number , labelRenderedSizeThreshold :: Number
--, labelThreshold :: Number -- Reducers
-- , maxEdgeSize :: Number --, nodeReducer :: String
-- , maxNodeSize :: Number --, edgeReducer :: String
-- , minArrowSize :: Number -- Features
-- , minEdgeSize :: Number --, zIndex :: Boolean
-- , minNodeSize :: Number --, minCameraRatio :: Number
-- , mouseEnabled :: Boolean --, maxCameraRatio :: Number
-- , mouseInertiaDuration :: Number -- Renderers
-- , mouseInertiaRatio :: Number --, labelRenderer :: DrawLabel
-- , mouseSelectorSize :: Number --, hoverRenderer :: DrawHover
-- , mouseWheelEnabled :: Boolean --, edgeLabelRenderer :: DrawEdgeLabel
-- , mouseZoomDuration :: Number -- Lifecycle
-- , nodeBorderColor :: String --, allowInvalidContainer :: Boolean
-- , nodeHoverColor :: String
--, nodesPowRatio :: Number -- Program classes
, renderLabels :: Boolean --, nodeProgramClasses :: String
-- , rescaleIgnoreSize :: Boolean --, nodeHoverProgramClasses :: String
-- , scalingMode :: String --, edgeProgramClasses :: 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
) )
-- not selected <=> (1-greyness) -- not selected <=> (1-greyness)
-- selected nodes <=> special label -- selected nodes <=> special label
sigmaSettings :: Themes.Theme -> {|SigmaSettings} sigmaSettings :: Themes.Theme -> {|SigmaSettings}
sigmaSettings _theme = sigmaSettings _theme =
{ -- animationsTime : 30000.0 { -- Performance
-- , autoRescale : true -- hideEdgesOnMove : false
--, autoResize : true --, hideLablesOnMove : false
--, batchEdgesDrawing : true renderLabels : false -- initially false, because of forceatlas
--, borderSize : 1.0 -- for ex, bigger border when hover --, renderEdgeLabels : true
--, defaultEdgeHoverColor : "#f00" --, enableEdgeClickEvents : false
defaultEdgeType : "line" -- 'curve' or 'line' (curve iff ourRendering) --, enableEdgeWheelEvents : false
-- , 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
, enableEdgeHoverEvents : false , enableEdgeHoverEvents : false
-- , enableHovering : true -- Component rendering
-- , font : "arial" , defaultNodeColor : "#FFF"
-- , fontStyle : "" --, defaultNodeType : "circle"
, hideEdgesOnMove : true --, defaultEdgeColor : "#ccc"
-- , labelSize : "proportional" -- alt : proportional, fixed , defaultEdgeType : "line" -- 'curve' or 'line' (curve iff ourRendering)
-- , labelSize : "fixed" --, labelFont : "Arial"
-- , labelSizeRatio : 2.0 -- label size in ratio of node size , labelSize : 15.0
, labelRenderedSizeThreshold: 2.0 --, labelWeight : "normal"
--, labelThreshold : 5.0 -- 5.0 for more labels -- min node cam size to start showing label --, labelColor : { color : "#000" }
-- , maxEdgeSize : 1.0 --, edgeLabelFont : "Arial"
-- , maxNodeSize : 10.0 --, edgeLabelSize : 14
-- , minEdgeSize : 0.5 -- in fact used in tina as edge size --, edgeLabelWeight : "normal"
-- , minNodeSize : 1.0 --, edgeLabelColor : { color : "#ccc" }
-- , mouseEnabled : true --, stagePadding : 30
-- , mouseSelectorSize : 15.0 -- Labels
-- , mouseZoomDuration : 150.0 --, labelDensity : 1
-- , nodeBorderColor : "default" -- choices: "default" color vs. "node" color --, labelGridCellSize : 100
--, nodesPowRatio : 10.8 , labelRenderedSizeThreshold : 2.0
, renderLabels: false -- initially false, because of forceatlas -- Reducers
-- , rescaleIgnoreSize : false --, nodeReducer : Nothing
-- , singleHover : true --, edgeReducer : Nothing
-- , touchEnabled : true -- Features
-- , twBorderGreyColor : "rgba(100, 100, 100, 0.9)" --, zIndex : false
-- , twEdgeDefaultOpacity : 0.4 -- initial opacity added to src/tgt colors --, minCameraRatio : Nothing
-- , twEdgeGreyColor : "rgba(100, 100, 100, 0.25)" --, maxCameraRatio : Nothing
-- , twNodeRendBorderColor : "#FFF" -- Renderers
-- , twNodeRendBorderSize : 2.5 -- node borders (only iff ourRendering) --, labelRenderer : drawLabel
-- , twNodesGreyOpacity : 5.5 -- smaller value: more grey --, hoverRenderer : drawHover
-- , twSelectedColor : "node" -- "node" for a label bg like the node color, "default" for white background --, edgeLabelRenderer : drawEdgeLabel
-- , verbose : true -- Lifecycle
-- , zoomMax : 1.7 --, allowInvalidContainer : false
-- , zoomMin : 0.0
-- , zoomingRatio : 1.4 -- Program classes
--, nodeProgramClasses : {}
--, nodeHoverProgramClasses : {}
--, edgeProgramClasses : {}
} }
-- `merge` themeSettings theme -- `merge` themeSettings theme
-- where -- 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