Skip to content
On this page

Module: features/boards/board

Enumerations

ProgressDisplay

ProgressDisplay: Object

Ways to display progress of an action with a duration.

NameType
Fill"Fill"
Outline"Outline"

Defined in

profectus/src/features/boards/board.ts:41


Shape

Shape: Object

Node shapes.

NameType
Circle"Circle"
Diamond"Triangle"

Defined in

profectus/src/features/boards/board.ts:47

Interfaces

BaseBoard

BaseBoard: Object

The properties that are added onto a processed BoardOptions to create a Board.

NameTypeDescription
[Component]GenericComponentThe Vue component used to render this feature.
[GatherProps]() => Record<string, unknown>A function to gather the props the vue component requires for this feature.
draggingNodeRef<null | BoardNode>The currently being dragged node, if any.
idstringAn auto-generated ID for identifying features that appear in the DOM. Will not persist between refreshes or updates.
mousePositionRef<null | { x: number ; y: number }>The current mouse position, if over the board.
nodesRef<BoardNode[]>All the nodes currently on the board.
placeInAvailableSpace(node: BoardNode, radius?: number, direction?: Direction) => voidPlaces a node in the nearest empty space in the given direction with the specified space around it.
receivingNodeRef<null | BoardNode>If dragging a node, the node it's currently being hovered over, if any.
selectedActionRef<null | GenericBoardNodeAction>The currently selected action, if any.
selectedNodeRef<null | BoardNode>The currently selected node, if any.
typetypeof BoardTypeA symbol that helps identify features of the same type.

Defined in

profectus/src/features/boards/board.ts:254


BaseBoardNodeAction

BaseBoardNodeAction: Object

The properties that are added onto a processed BoardNodeActionOptions to create an BoardNodeAction.

NameType
links?Ref<BoardNodeLink[]>

Defined in

profectus/src/features/boards/board.ts:201


BaseNodeType

BaseNodeType: Object

The properties that are added onto a processed NodeTypeOptions to create a NodeType.

NameTypeDescription
nodesRef<BoardNode[]>The nodes currently on the board of this type.

Defined in

profectus/src/features/boards/board.ts:134


BoardNode

BoardNode: Object

An object representing a node on the board.

NameType
idnumber
pinned?boolean
position{ x: number ; y: number }
position.xnumber
position.ynumber
state?State
typestring

Defined in

profectus/src/features/boards/board.ts:53


BoardNodeActionOptions

BoardNodeActionOptions: Object

An object that configures a BoardNodeAction.

NameTypeDescription
confirmationLabel?NodeComputable<NodeLabel, []>The confirmation label that appears under the action.
fillColor?NodeComputable<string, []>The fill color of the action.
iconNodeComputable<string, []>The icon to display for the action.
idstringA unique identifier for the action.
links?NodeComputable<BoardNodeLink[], []>An array of board node links associated with the action. They appear when the action is focused.
onClick(node: BoardNode) => voidA function that is called when the action is clicked.
tooltipNodeComputable<NodeLabel, []>The tooltip text to display for the action.
visibility?NodeComputable<boolean | Visibility, []>Whether this action should be visible.

Defined in

profectus/src/features/boards/board.ts:179


BoardNodeLink: Object

An object representing a link between two nodes on the board.

NameTypeDescription
accent-height?Numberish-
accumulate?"none" | "sum"-
additive?"sum" | "replace"-
alignment-baseline?"alphabetic" | "hanging" | "ideographic" | "mathematical" | "auto" | "baseline" | "before-edge" | "text-before-edge" | "middle" | "central" | "after-edge" | "text-after-edge" | "inherit"-
allowReorder?"no" | "yes"-
alphabetic?Numberish-
amplitude?Numberish-
arabic-form?"initial" | "medial" | "terminal" | "isolated"-
aria-activedescendant?stringIdentifies the currently active element when DOM focus is on a composite widget, textbox, group, or application.
aria-atomic?BooleanishIndicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute.
aria-autocomplete?"none" | "inline" | "list" | "both"Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be presented if they are made.
aria-busy?BooleanishIndicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user.
aria-checked?Booleanish | "mixed"Indicates the current "checked" state of checkboxes, radio buttons, and other widgets. See - aria-pressed - aria-selected.
aria-colcount?NumberishDefines the total number of columns in a table, grid, or treegrid. See aria-colindex.
aria-colindex?NumberishDefines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid. See - aria-colcount - aria-colspan.
aria-colspan?NumberishDefines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid. See - aria-colindex - aria-rowspan.
aria-controls?stringIdentifies the element (or elements) whose contents or presence are controlled by the current element. See aria-owns.
aria-current?"time" | Booleanish | "page" | "step" | "location" | "date"Indicates the element that represents the current item within a container or set of related elements.
aria-describedby?stringIdentifies the element (or elements) that describes the object. See aria-labelledby
aria-details?stringIdentifies the element that provides a detailed, extended description for the object. See aria-describedby.
aria-disabled?BooleanishIndicates that the element is perceivable but disabled, so it is not editable or otherwise operable. See - aria-hidden - aria-readonly.
aria-dropeffect?"none" | "copy" | "execute" | "link" | "move" | "popup"Indicates what functions can be performed when a dragged object is released on the drop target. Deprecated in ARIA 1.1
aria-errormessage?stringIdentifies the element that provides an error message for the object. See - aria-invalid - aria-describedby.
aria-expanded?BooleanishIndicates whether the element, or another grouping element it controls, is currently expanded or collapsed.
aria-flowto?stringIdentifies the next element (or elements) in an alternate reading order of content which, at the user's discretion, allows assistive technology to override the general default of reading in document source order.
aria-grabbed?BooleanishIndicates an element's "grabbed" state in a drag-and-drop operation. Deprecated in ARIA 1.1
aria-haspopup?"tree" | Booleanish | "menu" | "listbox" | "grid" | "dialog"Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.
aria-hidden?BooleanishIndicates whether the element is exposed to an accessibility API. See aria-disabled.
aria-invalid?Booleanish | "grammar" | "spelling"Indicates the entered value does not conform to the format expected by the application. See aria-errormessage.
aria-keyshortcuts?stringIndicates keyboard shortcuts that an author has implemented to activate or give focus to an element.
aria-label?stringDefines a string value that labels the current element. See aria-labelledby.
aria-labelledby?stringIdentifies the element (or elements) that labels the current element. See aria-describedby.
aria-level?NumberishDefines the hierarchical level of an element within a structure.
aria-live?"off" | "assertive" | "polite"Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region.
aria-modal?BooleanishIndicates whether an element is modal when displayed.
aria-multiline?BooleanishIndicates whether a text box accepts multiple lines of input or only a single line.
aria-multiselectable?BooleanishIndicates that the user may select more than one item from the current selectable descendants.
aria-orientation?"horizontal" | "vertical"Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous.
aria-owns?stringIdentifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship between DOM elements where the DOM hierarchy cannot be used to represent the relationship. See aria-controls.
aria-placeholder?stringDefines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. A hint could be a sample value or a brief description of the expected format.
aria-posinset?NumberishDefines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. See aria-setsize.
aria-pressed?Booleanish | "mixed"Indicates the current "pressed" state of toggle buttons. See - aria-checked - aria-selected.
aria-readonly?BooleanishIndicates that the element is not editable, but is otherwise operable. See aria-disabled.
aria-relevant?"additions" | "additions text" | "all" | "removals" | "text"Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified. See aria-atomic.
aria-required?BooleanishIndicates that user input is required on the element before a form may be submitted.
aria-roledescription?stringDefines a human-readable, author-localized description for the role of an element.
aria-rowcount?NumberishDefines the total number of rows in a table, grid, or treegrid. See aria-rowindex.
aria-rowindex?NumberishDefines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid. See - aria-rowcount - aria-rowspan.
aria-rowspan?NumberishDefines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid. See - aria-rowindex - aria-colspan.
aria-selected?BooleanishIndicates the current "selected" state of various widgets. See - aria-checked - aria-pressed.
aria-setsize?NumberishDefines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. See aria-posinset.
aria-sort?"none" | "ascending" | "descending" | "other"Indicates if items in a table or grid are sorted in ascending or descending order.
aria-valuemax?NumberishDefines the maximum allowed value for a range widget.
aria-valuemin?NumberishDefines the minimum allowed value for a range widget.
aria-valuenow?NumberishDefines the current value for a range widget. See aria-valuetext.
aria-valuetext?stringDefines the human readable text alternative of aria-valuenow for a range widget.
ascent?Numberish-
attributeName?string-
attributeType?string-
autoReverse?Numberish-
azimuth?Numberish-
baseFrequency?Numberish-
baseProfile?Numberish-
baseline-shift?Numberish-
bbox?Numberish-
begin?Numberish-
bias?Numberish-
by?Numberish-
calcMode?Numberish-
cap-height?Numberish-
class?anySVG Styling Attributes See https://www.w3.org/TR/SVG/styling.html#ElementSpecificStyling
clip?Numberish-
clip-path?string-
clip-rule?Numberish-
clipPathUnits?Numberish-
color?string-
color-interpolation?Numberish-
color-interpolation-filters?"auto" | "inherit" | "sRGB" | "linearRGB"-
color-profile?Numberish-
color-rendering?Numberish-
contentScriptType?Numberish-
contentStyleType?Numberish-
cursor?Numberish-
cx?Numberish-
cy?Numberish-
d?string-
decelerate?Numberish-
descent?Numberish-
diffuseConstant?Numberish-
direction?Numberish-
display?Numberish-
divisor?Numberish-
dominant-baseline?Numberish-
dur?Numberish-
dx?Numberish-
dy?Numberish-
edgeMode?Numberish-
elevation?Numberish-
enable-background?Numberish-
end?Numberish-
endNodeBoardNode-
exponent?Numberish-
externalResourcesRequired?Numberish-
fill?string-
fill-opacity?Numberish-
fill-rule?"inherit" | "nonzero" | "evenodd"-
filter?string-
filterRes?Numberish-
filterUnits?Numberish-
flood-color?Numberish-
flood-opacity?Numberish-
focusable?Numberish-
font-family?string-
font-size?Numberish-
font-size-adjust?Numberish-
font-stretch?Numberish-
font-style?Numberish-
font-variant?Numberish-
font-weight?Numberish-
format?Numberish-
from?Numberish-
fx?Numberish-
fy?Numberish-
g1?Numberish-
g2?Numberish-
glyph-name?Numberish-
glyph-orientation-horizontal?Numberish-
glyph-orientation-vertical?Numberish-
glyphRef?Numberish-
gradientTransform?string-
gradientUnits?string-
hanging?Numberish-
height?Numberish-
horiz-adv-x?Numberish-
horiz-origin-x?Numberish-
href?string-
id?string-
ideographic?Numberish-
image-rendering?Numberish-
in?string-
in2?Numberish-
innerHTML?string-
intercept?Numberish-
k?Numberish-
k1?Numberish-
k2?Numberish-
k3?Numberish-
k4?Numberish-
kernelMatrix?Numberish-
kernelUnitLength?Numberish-
kerning?Numberish-
keyPoints?Numberish-
keySplines?Numberish-
keyTimes?Numberish-
lang?string-
lengthAdjust?Numberish-
letter-spacing?Numberish-
lighting-color?Numberish-
limitingConeAngle?Numberish-
local?Numberish-
marker-end?string-
marker-mid?string-
marker-start?string-
markerHeight?Numberish-
markerUnits?Numberish-
markerWidth?Numberish-
mask?string-
maskContentUnits?Numberish-
maskUnits?Numberish-
mathematical?Numberish-
max?Numberish-
media?string-
method?string-
min?Numberish-
mode?Numberish-
name?string-
numOctaves?Numberish-
offset?Numberish-
offsetEnd?Position-
offsetStart?Position-
onAbort?(payload: Event) => void-
onAnimationend?(payload: AnimationEvent) => void-
onAnimationiteration?(payload: AnimationEvent) => void-
onAnimationstart?(payload: AnimationEvent) => void-
onAuxclick?(payload: MouseEvent) => void-
onBeforeinput?(payload: Event) => void-
onBlur?(payload: FocusEvent) => void-
onCanplay?(payload: Event) => void-
onCanplaythrough?(payload: Event) => void-
onChange?(payload: Event) => void-
onClick?(payload: MouseEvent) => void-
onCompositionend?(payload: CompositionEvent) => void-
onCompositionstart?(payload: CompositionEvent) => void-
onCompositionupdate?(payload: CompositionEvent) => void-
onContextmenu?(payload: MouseEvent) => void-
onCopy?(payload: ClipboardEvent) => void-
onCut?(payload: ClipboardEvent) => void-
onDblclick?(payload: MouseEvent) => void-
onDrag?(payload: DragEvent) => void-
onDragend?(payload: DragEvent) => void-
onDragenter?(payload: DragEvent) => void-
onDragexit?(payload: DragEvent) => void-
onDragleave?(payload: DragEvent) => void-
onDragover?(payload: DragEvent) => void-
onDragstart?(payload: DragEvent) => void-
onDrop?(payload: DragEvent) => void-
onDurationchange?(payload: Event) => void-
onEmptied?(payload: Event) => void-
onEncrypted?(payload: Event) => void-
onEnded?(payload: Event) => void-
onError?(payload: Event) => void-
onFocus?(payload: FocusEvent) => void-
onFocusin?(payload: FocusEvent) => void-
onFocusout?(payload: FocusEvent) => void-
onInput?(payload: Event) => void-
onInvalid?(payload: Event) => void-
onKeydown?(payload: KeyboardEvent) => void-
onKeypress?(payload: KeyboardEvent) => void-
onKeyup?(payload: KeyboardEvent) => void-
onLoad?(payload: Event) => void-
onLoadeddata?(payload: Event) => void-
onLoadedmetadata?(payload: Event) => void-
onLoadstart?(payload: Event) => void-
onMousedown?(payload: MouseEvent) => void-
onMouseenter?(payload: MouseEvent) => void-
onMouseleave?(payload: MouseEvent) => void-
onMousemove?(payload: MouseEvent) => void-
onMouseout?(payload: MouseEvent) => void-
onMouseover?(payload: MouseEvent) => void-
onMouseup?(payload: MouseEvent) => void-
onPaste?(payload: ClipboardEvent) => void-
onPause?(payload: Event) => void-
onPlay?(payload: Event) => void-
onPlaying?(payload: Event) => void-
onPointercancel?(payload: PointerEvent) => void-
onPointerdown?(payload: PointerEvent) => void-
onPointerenter?(payload: PointerEvent) => void-
onPointerleave?(payload: PointerEvent) => void-
onPointermove?(payload: PointerEvent) => void-
onPointerout?(payload: PointerEvent) => void-
onPointerover?(payload: PointerEvent) => void-
onPointerup?(payload: PointerEvent) => void-
onProgress?(payload: Event) => void-
onRatechange?(payload: Event) => void-
onReset?(payload: Event) => void-
onScroll?(payload: UIEvent) => void-
onSeeked?(payload: Event) => void-
onSeeking?(payload: Event) => void-
onSelect?(payload: Event) => void-
onStalled?(payload: Event) => void-
onSubmit?(payload: Event) => void-
onSuspend?(payload: Event) => void-
onTimeupdate?(payload: Event) => void-
onTouchcancel?(payload: TouchEvent) => void-
onTouchend?(payload: TouchEvent) => void-
onTouchmove?(payload: TouchEvent) => void-
onTouchstart?(payload: TouchEvent) => void-
onTransitionend?(payload: TransitionEvent) => void-
onTransitionstart?(payload: TransitionEvent) => void-
onVolumechange?(payload: Event) => void-
onWaiting?(payload: Event) => void-
onWheel?(payload: WheelEvent) => void-
opacity?Numberish-
operator?Numberish-
order?Numberish-
orient?Numberish-
orientation?Numberish-
origin?Numberish-
overflow?Numberish-
overline-position?Numberish-
overline-thickness?Numberish-
paint-order?Numberish-
panose-1?Numberish-
pathLength?Numberish-
patternContentUnits?string-
patternTransform?Numberish-
patternUnits?string-
pointer-events?Numberish-
points?string-
pointsAtX?Numberish-
pointsAtY?Numberish-
pointsAtZ?Numberish-
preserveAlpha?Numberish-
preserveAspectRatio?string-
primitiveUnits?Numberish-
pulsing?boolean-
r?Numberish-
radius?Numberish-
refX?Numberish-
refY?Numberish-
renderingIntent?Numberish-
repeatCount?Numberish-
repeatDur?Numberish-
requiredExtensions?Numberish-
requiredFeatures?Numberish-
restart?Numberish-
result?string-
role?string-
rotate?Numberish-
rx?Numberish-
ry?Numberish-
scale?Numberish-
seed?Numberish-
shape-rendering?Numberish-
slope?Numberish-
spacing?Numberish-
specularConstant?Numberish-
specularExponent?Numberish-
speed?Numberish-
spreadMethod?string-
startNodeBoardNode-
startOffset?Numberish-
stdDeviation?Numberish-
stemh?Numberish-
stemv?Numberish-
stitchTiles?Numberish-
stop-color?string-
stop-opacity?Numberish-
strikethrough-position?Numberish-
strikethrough-thickness?Numberish-
string?Numberish-
strokestring-
stroke-dasharray?Numberish-
stroke-dashoffset?Numberish-
stroke-linecap?"inherit" | "butt" | "round" | "square"-
stroke-linejoin?"inherit" | "round" | "miter" | "bevel"-
stroke-miterlimit?Numberish-
stroke-opacity?Numberish-
stroke-width?Numberish-
strokeWidthnumber-
style?string | CSSProperties-
surfaceScale?Numberish-
systemLanguage?Numberish-
tabindex?Numberish-
tableValues?Numberish-
target?string-
targetX?Numberish-
targetY?Numberish-
text-anchor?string-
text-decoration?Numberish-
text-rendering?Numberish-
textLength?Numberish-
to?Numberish-
transform?string-
type?string-
u1?Numberish-
u2?Numberish-
underline-position?Numberish-
underline-thickness?Numberish-
unicode?Numberish-
unicode-bidi?Numberish-
unicode-range?Numberish-
unitsPer-em?Numberish-
v-alphabetic?Numberish-
v-hanging?Numberish-
v-ideographic?Numberish-
v-mathematical?Numberish-
values?string-
vector-effect?Numberish-
version?string-
vert-adv-y?Numberish-
vert-origin-x?Numberish-
vert-origin-y?Numberish-
viewBox?string-
viewTarget?Numberish-
visibility?Numberish-
width?Numberish-
widths?Numberish-
word-spacing?Numberish-
writing-mode?Numberish-
x?Numberish-
x-height?Numberish-
x1?Numberish-
x2?Numberish-
xChannelSelector?string-
xlinkActuate?string-
xlinkArcrole?string-
xlinkHref?string-
xlinkRole?string-
xlinkShow?string-
xlinkTitle?string-
xlinkType?string-
xmlns?string-
y?Numberish-
y1?Numberish-
y2?Numberish-
yChannelSelector?string-
z?Numberish-
zoomAndPan?string-

Defined in

profectus/src/features/boards/board.ts:65


BoardOptions

BoardOptions: Object

An object that configures a Board.

NameTypeDescription
classes?Computable<Record<string, boolean>>Dictionary of CSS classes to apply to this feature.
height?Computable<string>The height of the board. Defaults to 100%
links?Computable<null | BoardNodeLink[]>An array of board node links to display.
startNodes() => Omit<BoardNode, "id">[]A function that returns an array of initial board nodes, without IDs.
state?Computable<BoardData>The persistent state of the board.
style?Computable<StyleValue>CSS to apply to this feature.
typesRecord<string, NodeTypeOptions>A dictionary of node types that can appear on the board.
visibility?Computable<boolean | Visibility>Whether this board should be visible.
width?Computable<string>The width of the board. Defaults to 100%

Defined in

profectus/src/features/boards/board.ts:230


NodeLabel

NodeLabel: Object

An object representing a label for a node.

NameType
color?string
pulsing?boolean
textstring

Defined in

profectus/src/features/boards/board.ts:74


NodeTypeOptions

NodeTypeOptions: Object

An object that configures a NodeType.

NameTypeDescription
actionDistance?NodeComputable<number, []>The arc between each action, in radians.
actions?BoardNodeActionOptions[]The list of action options for the node.
canAccept?NodeComputable<boolean, [BoardNode]>Whether the node can accept another node being dropped upon it.
classes?NodeComputable<Record<string, boolean>, []>Dictionary of CSS classes to apply to this node.
draggable?NodeComputable<boolean, []>Whether the node is draggable or not.
fillColor?NodeComputable<string, []>The fill color of the node.
label?NodeComputable<null | NodeLabel, []>An optional label for the node.
onClick?(node: BoardNode) => voidA function that is called when the node is clicked.
onDrop?(node: BoardNode, otherNode: BoardNode) => voidA function that is called when a node is dropped onto this node.
outlineColor?NodeComputable<string, []>The outline color of the node.
progress?NodeComputable<number, []>The progress value of the node.
progressColor?NodeComputable<string, []>The color of the progress indicator.
progressDisplay?NodeComputable<ProgressDisplay, []>How the progress should be displayed on the node.
shapeNodeComputable<Shape, []>The shape of the node.
sizeNodeComputable<number, []>The size of the node - diameter for circles, width and height for squares.
style?NodeComputable<StyleValue, []>CSS to apply to this node.
titleNodeComputable<string, []>The title to display for the node.
titleColor?NodeComputable<string, []>The color of the title text.
update?(node: BoardNode, diff: number) => voidA function that is called for each node of this type every tick.

Defined in

profectus/src/features/boards/board.ts:90

Type Aliases

Board

Ƭ Board<T>: Replace<T & BaseBoard, { classes: GetComputableType<T["classes"]> ; height: GetComputableType<T["height"]> ; links: GetComputableTypeWithDefault<T["links"], Ref<BoardNodeLink[] | null>> ; state: GetComputableTypeWithDefault<T["state"], Persistent<BoardData>> ; style: GetComputableType<T["style"]> ; types: Record<string, GenericNodeType> ; visibility: GetComputableTypeWithDefault<T["visibility"], Visible> ; width: GetComputableType<T["width"]> }>

An object that represents a feature that is a zoomable, pannable board with various nodes upon it.

Type parameters

NameType
Textends BoardOptions

Defined in

profectus/src/features/boards/board.ts:280


BoardData

Ƭ BoardData: Object

The persistent data for a board.

Type declaration

NameType
nodesBoardNode[]
selectedActionstring | null
selectedNodenumber | null

Defined in

profectus/src/features/boards/board.ts:81


BoardNodeAction

Ƭ BoardNodeAction<T>: Replace<T & BaseBoardNodeAction, { confirmationLabel: GetComputableTypeWithDefault<T["confirmationLabel"], NodeLabel> ; fillColor: GetComputableType<T["fillColor"]> ; icon: GetComputableType<T["icon"]> ; links: GetComputableType<T["links"]> ; tooltip: GetComputableType<T["tooltip"]> ; visibility: GetComputableTypeWithDefault<T["visibility"], Visible> }>

An object that represents an action that can be taken upon a node.

Type parameters

NameType
Textends BoardNodeActionOptions

Defined in

profectus/src/features/boards/board.ts:206


GenericBoard

Ƭ GenericBoard: Replace<Board<BoardOptions>, { links: ProcessedComputable<BoardNodeLink[] | null> ; state: ProcessedComputable<BoardData> ; visibility: ProcessedComputable<Visibility | boolean> }>

A type that matches any valid Board object.

Defined in

profectus/src/features/boards/board.ts:295


GenericBoardNodeAction

Ƭ GenericBoardNodeAction: Replace<BoardNodeAction<BoardNodeActionOptions>, { confirmationLabel: NodeComputable<NodeLabel> ; visibility: NodeComputable<Visibility | boolean> }>

A type that matches any valid BoardNodeAction object.

Defined in

profectus/src/features/boards/board.ts:219


GenericNodeType

Ƭ GenericNodeType: Replace<NodeType<NodeTypeOptions>, { actionDistance: NodeComputable<number> ; canAccept: NodeComputable<boolean, [BoardNode]> ; draggable: NodeComputable<boolean> ; progressColor: NodeComputable<string> ; progressDisplay: NodeComputable<ProgressDisplay> ; shape: NodeComputable<Shape> ; size: NodeComputable<number> }>

A type that matches any valid NodeType object.

Defined in

profectus/src/features/boards/board.ts:163


NodeComputable

Ƭ NodeComputable<T, S>: Computable<T> | (node: BoardNode, ...args: S) => T

A type representing a computable value for a node on the board. Used for node types to return different values based on the given node and the state of the board.

Type parameters

NameType
TT
Sextends unknown[] = []

Defined in

profectus/src/features/boards/board.ts:36


NodeType

Ƭ NodeType<T>: Replace<T & BaseNodeType, { actionDistance: GetComputableTypeWithDefault<T["actionDistance"], number> ; actions?: GenericBoardNodeAction[] ; canAccept: GetComputableTypeWithDefault<T["canAccept"], false> ; classes: GetComputableType<T["classes"]> ; draggable: GetComputableTypeWithDefault<T["draggable"], false> ; fillColor: GetComputableType<T["fillColor"]> ; label: GetComputableType<T["label"]> ; outlineColor: GetComputableType<T["outlineColor"]> ; progress: GetComputableType<T["progress"]> ; progressColor: GetComputableTypeWithDefault<T["progressColor"], "none"> ; progressDisplay: GetComputableTypeWithDefault<T["progressDisplay"], Fill> ; shape: GetComputableTypeWithDefault<T["shape"], Circle> ; size: GetComputableTypeWithDefault<T["size"], 50> ; style: GetComputableType<T["style"]> ; title: GetComputableType<T["title"]> ; titleColor: GetComputableType<T["titleColor"]> }>

An object that represents a type of node that can appear on a board. It will handle getting properties and callbacks for every node of that type.

Type parameters

NameType
Textends NodeTypeOptions

Defined in

profectus/src/features/boards/board.ts:140

Variables

BoardType

Const BoardType: typeof BoardType

A symbol used to identify Board features.

Defined in

profectus/src/features/boards/board.ts:31

Functions

createBoard

createBoard<T>(optionsFunc): Board<T>

Lazily creates a board with the given options.

Type parameters
NameType
Textends BoardOptions
Parameters
NameTypeDescription
optionsFuncOptionsFunc<T, BaseBoard, GenericBoard>Board options.
Returns

Board<T>

Defined in

profectus/src/features/boards/board.ts:308


getNodeProperty

getNodeProperty<T, S>(property, node, ...args): T

Gets the value of a property for a specified node.

Type parameters
NameType
TT
Sextends unknown[]
Parameters
NameTypeDescription
propertyNodeComputable<T, S>The property to find the value of
nodeBoardNodeThe node to get the property of
...argsS-
Returns

T

Defined in

profectus/src/features/boards/board.ts:592


getUniqueNodeID

getUniqueNodeID(board): number

Utility to get an ID for a node that is guaranteed unique.

Parameters
NameTypeDescription
boardGenericBoardThe board feature to generate an ID for
Returns

number

Defined in

profectus/src/features/boards/board.ts:606

Components

Board Component

Props

NameType
nodes*Ref
types*Record
state*Ref
visibility*ProcessedComputable
widthProcessedComputable
heightProcessedComputable
styleProcessedComputable
classesProcessedComputable
links*Ref
selectedAction*Ref
selectedNode*Ref
draggingNode*Ref
receivingNode*Ref
mousePosition*Ref
setReceivingNode*TSFunctionType
setDraggingNode*TSFunctionType

Props

NameType
link*BoardNodeLink
dragging*BoardNode | null
dragged{
x: number;
y: number;
}

BoardNodeAction Component

Props

NameType
node*BoardNode
nodeType*GenericNodeType
actionsGenericBoardNodeAction[]
isSelected*boolean
selectedAction*GenericBoardNodeAction | null

Events

Name
clickAction

BoardNode Component

Props

NameType
node*BoardNode
nodeType*GenericNodeType
dragging*BoardNode | null
dragged{
x: number;
y: number;
}
hasDraggedboolean
receivingNodeboolean
isSelected*boolean
selectedAction*GenericBoardNodeAction | null

Events

Name
mouseDown
endDragging
clickAction