[{"name":"FlowChart","comment":" This library aims to provide a flow chart builder in Elm.\n\n\n# Definition\n\n@docs Model, Msg, FCEvent, FCEventConfig\n\n\n# Subscriptions\n\n@docs init, initEventConfig, defaultPortConfig, defaultLinkConfig, subscriptions\n\n\n# Update\n\n@docs update, view\n\n\n# Functionalities\n\n@docs addNode\n\n","unions":[{"name":"Msg","comment":" flowchart message\n","args":[],"cases":[]}],"aliases":[{"name":"FCEvent","comment":" Event declaration for event config\n","args":["msg"],"type":"FlowChart.FCEventConfig msg -> FlowChart.FCEventConfig msg"},{"name":"FCEventConfig","comment":" Config for subscribing to events\n\n        onCanvasClick -> when canvas is clicked\n        onNodeClick FCNode -> when any node is clicked\n        onLinkClick FCLink -> when any link is clicked\n\n","args":["msg"],"type":"Internal.FCEventConfig msg"},{"name":"Model","comment":" flowchart model\n","args":["msg"],"type":"{ position : FlowChart.Types.Vector2, nodes : Dict.Dict String.String FlowChart.Types.FCNode, links : Dict.Dict String.String Link.Model, currentlyDragging : Internal.DraggableTypes, dragState : Utils.Draggable.DragState, targetMsg : FlowChart.Msg -> msg, portConfig : { portSize : FlowChart.Types.Vector2, portColor : String.String }, linkConfig : { linkSize : Basics.Int, linkColor : String.String } }"}],"values":[{"name":"addNode","comment":" call to add node to canvas\n","type":"FlowChart.Types.FCNode -> FlowChart.Model msg -> FlowChart.Model msg"},{"name":"defaultLinkConfig","comment":" get default link config\n\n    linkSize = stroke width of link (2px)\n    linkColor = Color of link (#6495ED)\n\n","type":"{ linkSize : Basics.Int, linkColor : String.String }"},{"name":"defaultPortConfig","comment":" get default port config\n\n    portSize = Size of port in Vector2 (20, 20)\n    portColor = Color of port (grey)\n\n","type":"{ portSize : FlowChart.Types.Vector2, portColor : String.String }"},{"name":"init","comment":" init flowchart\n\n    init fcCanvas nodeMap\n\n","type":"FlowChart.Types.FCCanvas -> (FlowChart.Msg -> msg) -> FlowChart.Model msg"},{"name":"initEventConfig","comment":" pass list of events to subscribe to.\n    Currently supported are :\n        onCanvasClick, onNodeClick, onLinkClick\n","type":"List.List (FlowChart.FCEvent msg) -> FlowChart.FCEventConfig msg"},{"name":"subscriptions","comment":" subscriptions\n","type":"FlowChart.Model msg -> Platform.Sub.Sub msg"},{"name":"update","comment":" call to update the canvas\n","type":"FlowChart.FCEventConfig msg -> FlowChart.Msg -> FlowChart.Model msg -> ( FlowChart.Model msg, Platform.Cmd.Cmd msg )"},{"name":"view","comment":" display the canvas\n","type":"FlowChart.Model msg -> (String.String -> Html.Html FlowChart.Msg) -> List.List (Html.Attribute FlowChart.Msg) -> Html.Html msg"}],"binops":[]},{"name":"FlowChart.Events","comment":" Listeners for the various flowchart events.\n\n@docs onCanvasClick, onNodeClick, onLinkClick\n\n","unions":[],"aliases":[],"values":[{"name":"onCanvasClick","comment":" Register a `CanvasClick` event listener. It will not trigger if canvas has moved\nafter mouse down.\n","type":"msg -> FlowChart.FCEventConfig msg -> FlowChart.FCEventConfig msg"},{"name":"onLinkClick","comment":" Register a `LinkClick` event listener.\n","type":"(FlowChart.Types.FCLink -> msg) -> FlowChart.FCEventConfig msg -> FlowChart.FCEventConfig msg"},{"name":"onNodeClick","comment":" Register a `NodeClick` event listener. It will not trigger if node has moved\nafter mouse down.\n","type":"(FlowChart.Types.FCNode -> msg) -> FlowChart.FCEventConfig msg -> FlowChart.FCEventConfig msg"}],"binops":[]},{"name":"FlowChart.Types","comment":"\n\n\n# Defination\n\n@docs Vector2, FCNode, FCPort, FCLink, FCCanvas\n\n","unions":[],"aliases":[{"name":"FCCanvas","comment":" Canvas data to initialize the flowchart\n","args":[],"type":"{ nodes : List.List FlowChart.Types.FCNode, position : FlowChart.Types.Vector2, links : List.List FlowChart.Types.FCLink, portConfig : { portSize : FlowChart.Types.Vector2, portColor : String.String }, linkConfig : { linkSize : Basics.Int, linkColor : String.String } }"},{"name":"FCLink","comment":" Link data to connect nodes through ports\n\nid -> Id of the link, should be unique\nfrom -> NodeId, portId of the start of link\nto -> NodeId, portId of the end of link\n\n","args":[],"type":"{ id : String.String, from : { nodeId : String.String, portId : String.String }, to : { nodeId : String.String, portId : String.String } }"},{"name":"FCNode","comment":" Represent the data of a single node in flowchart\n","args":[],"type":"{ id : String.String, position : FlowChart.Types.Vector2, dim : FlowChart.Types.Vector2, nodeType : String.String, ports : List.List FlowChart.Types.FCPort }"},{"name":"FCPort","comment":" Nodes are connected through links at Port position\n","args":[],"type":"{ id : String.String, position : FlowChart.Types.Vector2 }"},{"name":"Vector2","comment":" Vector2 which can represent position or dimension of node, canvas, etc.\n\n        pos = Vector2 10 10\n\n","args":[],"type":"{ x : Basics.Float, y : Basics.Float }"}],"values":[],"binops":[]}]