Skip to content

Commit 4430c12

Browse files
author
Michael Trotter
committed
Doc updates
1 parent d31f586 commit 4430c12

4 files changed

Lines changed: 58 additions & 40 deletions

File tree

generated-docs/React/Basic/DOM.md

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
This module defines helper functions for creating virtual DOM elements
44
safely.
55

6-
Note: DOM element props are provided as records, and checked using `Union`
7-
constraints. This means that we don't need to provide all props, but any we
8-
do provide must have the correct types.
6+
__*Note:* DOM element props are provided as records, and checked using `Union`
7+
constraints. This means that we don't need to provide all props, but any we
8+
do provide must have the correct types.__
99

1010
#### `render`
1111

@@ -16,7 +16,7 @@ render :: JSX -> Element -> Effect Unit
1616
Render or update/re-render a component tree into
1717
a DOM element.
1818

19-
Note: Relies on `ReactDOM.render`
19+
__*Note:* Relies on `ReactDOM.render`__
2020

2121
#### `render'`
2222

@@ -28,7 +28,7 @@ Render or update/re-render a component tree into
2828
a DOM element. The given Effect is run once the
2929
DOM update is complete.
3030

31-
Note: Relies on `ReactDOM.render`
31+
__*Note:* Relies on `ReactDOM.render`__
3232

3333
#### `hydrate`
3434

@@ -40,9 +40,9 @@ Render or update/re-render a component tree into
4040
a DOM element, attempting to reuse the existing
4141
DOM tree.
4242

43-
Note: Relies on `ReactDOM.hydrate`, generally only
43+
__*Note:* Relies on `ReactDOM.hydrate`, generally only
4444
used with `ReactDOMServer.renderToNodeStream` or
45-
`ReactDOMServer.renderToString`
45+
`ReactDOMServer.renderToString`__
4646

4747
#### `hydrate'`
4848

@@ -55,9 +55,9 @@ a DOM element, attempting to reuse the existing
5555
DOM tree. The given Effect is run once the
5656
DOM update is complete.
5757

58-
Note: Relies on `ReactDOM.hydrate`, generally only
58+
__*Note:* Relies on `ReactDOM.hydrate`, generally only
5959
used with `ReactDOMServer.renderToNodeStream` or
60-
`ReactDOMServer.renderToString`
60+
`ReactDOMServer.renderToString`__
6161

6262
#### `unmount`
6363

@@ -69,7 +69,7 @@ Attempt to unmount and clean up the React app
6969
rendered into the given element. Returns `true`
7070
if an app existed and was unmounted successfully.
7171

72-
Note: Relies on `ReactDOM.unmountComponentAtNode`
72+
__*Note:* Relies on `ReactDOM.unmountComponentAtNode`__
7373

7474
#### `findDOMNode`
7575

@@ -81,7 +81,10 @@ Returns the current DOM node associated with the given
8181
instance, or an Error if no node was found or the given
8282
instance was not mounted.
8383

84-
Note: Relies on `ReactDOM.findDOMNode`
84+
__*Note:* This function can be *very* slow -- prefer
85+
`React.Basic.DOM.Components.Ref` where possible__
86+
87+
__*Note:* Relies on `ReactDOM.findDOMNode`__
8588

8689
#### `createPortal`
8790

@@ -110,7 +113,7 @@ css :: forall css. { | css } -> CSS
110113
Create a value of type `CSS` (which can be provided to the `style` property)
111114
from a plain record of CSS attributes.
112115

113-
E.g.
116+
For example:
114117

115118
```
116119
div { style: css { padding: "5px" } } [ text "This text is padded." ]
@@ -124,7 +127,7 @@ mergeStyles :: Array CSS -> CSS
124127

125128
Merge styles from right to left. Uses `Object.assign`.
126129

127-
E.g.
130+
For example:
128131

129132
```
130133
style: mergeCSS [ (css { padding: "5px" }), props.style ]

generated-docs/React/Basic/DOM/Components/Ref.md

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,14 @@ This module provides an efficient (no `ReactDOM.findDOMNode`) and
44
declarative way to aquire a `Node` for an element in your render
55
tree.
66

7-
For both type safety and performance reasons, `ref` will always
8-
provide a reference to its own `<react-basic-ref>` `Node`, but you
9-
can use this `Node` with `querySelector` to find more specific local
10-
elements.
11-
127
For example:
138

149
```purs
1510
render self =
1611
ref \myRef ->
1712
case myRef of
18-
Nothing -> R.text "DOM render in progress..."
19-
Just _ -> R.text "DOM render complete."
13+
Nothing -> R.text "First DOM render in progress..."
14+
Just _ -> R.text "First DOM render complete."
2015
```
2116

2217
#### `ref`
@@ -25,4 +20,26 @@ render self =
2520
ref :: (Maybe Node -> JSX) -> JSX
2621
```
2722

23+
#### `selectorRef`
24+
25+
``` purescript
26+
selectorRef :: QuerySelector -> (Maybe Node -> JSX) -> JSX
27+
```
28+
29+
30+
### Re-exported from Web.DOM.ParentNode:
31+
32+
#### `QuerySelector`
33+
34+
``` purescript
35+
newtype QuerySelector
36+
= QuerySelector String
37+
```
38+
39+
##### Instances
40+
``` purescript
41+
Eq QuerySelector
42+
Ord QuerySelector
43+
Newtype QuerySelector _
44+
```
2845

src/React/Basic/DOM.purs

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
-- | This module defines helper functions for creating virtual DOM elements
22
-- | safely.
33
-- |
4-
-- | Note: DOM element props are provided as records, and checked using `Union`
5-
-- | constraints. This means that we don't need to provide all props, but any we
6-
-- | do provide must have the correct types.
4+
-- | __*Note:* DOM element props are provided as records, and checked using `Union`
5+
-- | constraints. This means that we don't need to provide all props, but any we
6+
-- | do provide must have the correct types.__
77

88
module React.Basic.DOM
99
( module Internal
@@ -38,15 +38,15 @@ import Web.DOM (Element, Node)
3838
-- | Render or update/re-render a component tree into
3939
-- | a DOM element.
4040
-- |
41-
-- | Note: Relies on `ReactDOM.render`
41+
-- | __*Note:* Relies on `ReactDOM.render`__
4242
render :: JSX -> Element -> Effect Unit
4343
render jsx node = render' jsx node (pure unit)
4444

4545
-- | Render or update/re-render a component tree into
4646
-- | a DOM element. The given Effect is run once the
4747
-- | DOM update is complete.
4848
-- |
49-
-- | Note: Relies on `ReactDOM.render`
49+
-- | __*Note:* Relies on `ReactDOM.render`__
5050
render' :: JSX -> Element -> Effect Unit -> Effect Unit
5151
render' = runEffectFn3 render_
5252

@@ -56,9 +56,9 @@ foreign import render_ :: EffectFn3 JSX Element (Effect Unit) Unit
5656
-- | a DOM element, attempting to reuse the existing
5757
-- | DOM tree.
5858
-- |
59-
-- | Note: Relies on `ReactDOM.hydrate`, generally only
59+
-- | __*Note:* Relies on `ReactDOM.hydrate`, generally only
6060
-- | used with `ReactDOMServer.renderToNodeStream` or
61-
-- | `ReactDOMServer.renderToString`
61+
-- | `ReactDOMServer.renderToString`__
6262
hydrate :: JSX -> Element -> Effect Unit
6363
hydrate jsx node = hydrate' jsx node (pure unit)
6464

@@ -67,9 +67,9 @@ hydrate jsx node = hydrate' jsx node (pure unit)
6767
-- | DOM tree. The given Effect is run once the
6868
-- | DOM update is complete.
6969
-- |
70-
-- | Note: Relies on `ReactDOM.hydrate`, generally only
70+
-- | __*Note:* Relies on `ReactDOM.hydrate`, generally only
7171
-- | used with `ReactDOMServer.renderToNodeStream` or
72-
-- | `ReactDOMServer.renderToString`
72+
-- | `ReactDOMServer.renderToString`__
7373
hydrate' :: JSX -> Element -> Effect Unit -> Effect Unit
7474
hydrate' = runEffectFn3 hydrate_
7575

@@ -79,7 +79,7 @@ foreign import hydrate_ :: EffectFn3 JSX Element (Effect Unit) Unit
7979
-- | rendered into the given element. Returns `true`
8080
-- | if an app existed and was unmounted successfully.
8181
-- |
82-
-- | Note: Relies on `ReactDOM.unmountComponentAtNode`
82+
-- | __*Note:* Relies on `ReactDOM.unmountComponentAtNode`__
8383
unmount :: Element -> Effect Boolean
8484
unmount = runEffectFn1 unmountComponentAtNode_
8585

@@ -89,7 +89,10 @@ foreign import unmountComponentAtNode_ :: EffectFn1 Element Boolean
8989
-- | instance, or an Error if no node was found or the given
9090
-- | instance was not mounted.
9191
-- |
92-
-- | Note: Relies on `ReactDOM.findDOMNode`
92+
-- | __*Note:* This function can be *very* slow -- prefer
93+
-- | `React.Basic.DOM.Components.Ref` where possible__
94+
-- |
95+
-- | __*Note:* Relies on `ReactDOM.findDOMNode`__
9396
findDOMNode :: ReactComponentInstance -> Effect (Either Error Node)
9497
findDOMNode instance_ = try do
9598
node <- runEffectFn1 findDOMNode_ instance_
@@ -115,7 +118,7 @@ text = unsafeCoerce
115118
-- | Create a value of type `CSS` (which can be provided to the `style` property)
116119
-- | from a plain record of CSS attributes.
117120
-- |
118-
-- | E.g.
121+
-- | For example:
119122
-- |
120123
-- | ```
121124
-- | div { style: css { padding: "5px" } } [ text "This text is padded." ]
@@ -125,7 +128,7 @@ css = unsafeCoerce
125128

126129
-- | Merge styles from right to left. Uses `Object.assign`.
127130
-- |
128-
-- | E.g.
131+
-- | For example:
129132
-- |
130133
-- | ```
131134
-- | style: mergeCSS [ (css { padding: "5px" }), props.style ]

src/React/Basic/DOM/Components/Ref.purs

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,14 @@
22
-- | declarative way to aquire a `Node` for an element in your render
33
-- | tree.
44
-- |
5-
-- | For both type safety and performance reasons, `ref` will always
6-
-- | provide a reference to its own `<react-basic-ref>` `Node`, but you
7-
-- | can use this `Node` with `querySelector` to find more specific local
8-
-- | elements.
9-
-- |
105
-- | For example:
116
-- |
127
-- | ```purs
138
-- | render self =
149
-- | ref \myRef ->
1510
-- | case myRef of
16-
-- | Nothing -> R.text "DOM render in progress..."
17-
-- | Just _ -> R.text "DOM render complete."
11+
-- | Nothing -> R.text "First DOM render in progress..."
12+
-- | Just _ -> R.text "First DOM render complete."
1813
-- | ```
1914
module React.Basic.DOM.Components.Ref
2015
( ref

0 commit comments

Comments
 (0)