Module

FPO.Components.Splitview

It has 3 split views: a sidebar, an editor, and a preview area. Between each of the views, there are resizers that allow the user to adjust the width of each section. The sidebar contains a table of contents (TOC) with clickable entries that jump to specific sections in the editor. The editor allows users to edit content, and the preview area displays the output based on the editor's content.

#DragTarget

#Output

type Output = Unit

#Input

type Input = { docID :: DocumentID, params :: EditorParams }

#Query

data Query a

Constructors

#State

type State = FPOState (dirtyVersion :: Boolean, docID :: DocumentID, inLatest :: Boolean, mDragTarget :: Maybe DragTarget, mListener :: Maybe (Listener Action), mResizeObserver :: Maybe ResizeObserver, mResizeSubscriptionId :: Maybe SubscriptionId, mSelectedTocEntry :: Maybe SelectedEntity, mStartResizeState :: Maybe ResizeState, mTimeFormatter :: Maybe Formatter, modalData :: Maybe { elementID :: Int, versionID :: Maybe Int }, pendingUpdateElementID :: Maybe Int, renderedHtml :: Maybe (LoadState String), resizeState :: ResizeState, showResolveButton :: Boolean, showResolvePopover :: Boolean, testDownload :: String, tocEntries :: TOCTree, upToDateVersion :: Maybe Version, versionMapping :: RootTree ElemVersion)

#ElemVersion

type ElemVersion = { comparisonData :: ElementData, elementID :: Int, versionID :: Maybe Int }

#Slots

type Slots :: Row Typetype Slots = (comment :: Slot Query Output Unit, commentOverview :: Slot Query Output Unit, editor :: Slot Query Output Int, preview :: Slot Query Output Unit, toc :: Slot Query Output Unit)

#_comment

_comment :: Proxy @Symbol "comment"

#_commentOverview

_commentOverview :: Proxy @Symbol "commentOverview"

#_editor

_editor :: Proxy @Symbol "editor"

#_preview

_preview :: Proxy @Symbol "preview"

#_toc

_toc :: Proxy @Symbol "toc"

#splitview

splitview :: forall query m. MonadAff m => Navigate m => MonadStore Action Store m => Component query Input Output m

#addRootNode

#deleteRootNode

#reorderTocEntries

#adjustPathAfterDeletion

#adjustPathRecursive

#extractNodeAtPath

#extractNodeFromTree

#insertNodeAtPosition

#insertNodeIntoEdgeAtPosition

#changeNodeHeading

#changeNodeHeading'

#stripHtmlTags

Modules