miso-lynx
Copyright(C) 2016-2025 David M. Johnson
LicenseBSD3-style (see the file LICENSE)
MaintainerDavid M. Johnson <code@dmj.io>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Miso.Lynx.Element.Text.Method

Description

 
Synopsis

Methods

setTextSelection :: MisoString -> SetTextSelection -> action -> (MisoString -> action) -> Effect parent model action Source #

https://lynxjs.org/api/elements/built-in/text.html#setTextSelection

This method sets the selected text based on start and end positions and controls the visibility of selection handles. The response res contains:

data Action = SetText | TextSet | SetTextError MisoString

update :: Action -> Effect model Action
update SetText = setTextSelection "someImageId" SetText SetTextError
update TextSet = io_ (consoleLog "text was set")
update (SetTextError e) = io_ (consoleLog e)

getTextBoundingRect :: MisoString -> GetTextBoundingRect -> (JSVal -> action) -> (MisoString -> action) -> Effect parent model action Source #

https://lynxjs.org/api/elements/built-in/text.html#gettextboundingrect

This method retrieves the bounding box of a specific range of text.

data Action = RectReceived Rect | GetRect | GotError MisoString

update :: Action -> Effect model Action
update GetRect = getTextBoundingRect "#box" defaultGetTextBoundingRect RectReceived GotError
update (RectReceived rect) = io_ $ consoleLog ("got rect")
update (GotError errMsg) = io_ (consoleLog errMsg)

getSelectedText :: MisoString -> (MisoString -> action) -> (MisoString -> action) -> Effect parent model action Source #

https://lynxjs.org/api/elements/built-in/text.html#getselectedtext

This method retrieves the string content of the currently selected text.

data Action = TextReceived MisoString | GetText | GotError MisoString

update :: Action -> Effect model Action
update GetText = getSelectedText "#box" TextReceived GotError
update (TextReceived txt) = io_ (consoleLog ("got text: " <> txt))
update (GotError errMsg) = io_ (consoleLog errMsg)

Types

data SetTextSelection Source #

Constructors

SetTextSelection 

Fields

  • startX :: Double

    X/Y-coordinate of the selection start relative to the element

  • startY :: Double

    X/Y-coordinate of the selection start relative to the element

  • endX :: Double

    X/Y-coordinate of the selection end relative to the element

  • endY :: Double

    X/Y-coordinate of the selection end relative to the element

  • showStartHandle :: Bool

    Whether to show or hide the start/end handle

  • showEndHandle :: Bool

    Whether to show or hide the start/end handle

Smart constructors

defaultGetTextBoundingRect :: GetTextBoundingRect Source #