Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Export renderers for renderhtml #32

Merged
merged 4 commits into from
Feb 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@observation.org/react-native-components",
"version": "1.25.0",
"version": "1.26.0",
anoukdriessen marked this conversation as resolved.
Show resolved Hide resolved
"main": "src/index.ts",
"repository": "[email protected]:observation/react-native-components.git",
"author": "Observation.org",
Expand Down
6 changes: 3 additions & 3 deletions src/components/RenderHtmlWrapper.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import htmlStyle from '../styles/html'
import textStyle from '../styles/text'
import theme from '../styles/theme'

const imgRenderer = ({ tnode }: { tnode: TBlock }) => {
export const imgRenderer = ({ tnode }: { tnode: TBlock }) => {
const { src, alt } = tnode.attributes
Log.debug('RenderHtmlWrapper:imgRenderer', src, alt)
if (!src) {
Expand All @@ -19,7 +19,7 @@ const imgRenderer = ({ tnode }: { tnode: TBlock }) => {
return <ContentImage key={src} alt={alt} src={src} />
}

const olRenderer = ({ InternalRenderer, ...props }: CustomRendererProps<TBlock>) => (
export const olRenderer = ({ InternalRenderer, ...props }: CustomRendererProps<TBlock>) => (
<InternalRenderer
{...props}
style={{
Expand All @@ -29,7 +29,7 @@ const olRenderer = ({ InternalRenderer, ...props }: CustomRendererProps<TBlock>)
/>
)

const ulRenderer = ({ TNodeChildrenRenderer, ...props }: CustomRendererProps<TBlock>) => (
export const ulRenderer = ({ TNodeChildrenRenderer, ...props }: CustomRendererProps<TBlock>) => (
<>
{props.tnode.children.map((item, i) => (
<View key={i} style={{ flexDirection: 'row' }}>
Expand Down
5 changes: 4 additions & 1 deletion src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import Panel from './components/Panel'
import PhotoStrip from './components/PhotoStrip'
import Popup from './components/Popup'
import ProgressBarList from './components/ProgressBarList'
import RenderHtmlWrapper from './components/RenderHtmlWrapper'
import RenderHtmlWrapper, { imgRenderer, olRenderer, ulRenderer } from './components/RenderHtmlWrapper'
import TextLink from './components/TextLink'
import Tooltip, { TooltipProps } from './components/Tooltip'
import WebLink from './components/WebLink'
Expand Down Expand Up @@ -66,6 +66,9 @@ export {
ProgressBar,
ProgressBarList,
RenderHtmlWrapper,
imgRenderer,
olRenderer,
ulRenderer,
Comment on lines +69 to +71
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Waarom is opnieuw exporteren op een andere plek nodig? Kun je in de app niet

import RenderHtmlWrapper, { imgRenderer, olRenderer, ulRenderer } from '@observation.org/react-native-components'

doen?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dan krijg ik: "Module '"@observation.org/react-native-components"' has no exported member 'imgRenderer'." Bij alle renderers waaraan ik export heb toegeveoegd, toen ik ze daarna toevoegde aan de index kreeg ik de melding niet meer, of los ik dat op een andere manier op?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ja, je hebt gelijk. Deze import werkt vermoedelijk wel:

import RenderHtml, { imgRenderer, olRenderer, ulRenderer } from '@observation.org/react-native-components/src/components/RenderHtmlWrapper'

Nadeel is dat we de interne structuur van de component-library gebruiken (src/components). In de huidige setup exporteren we alle componenten als named exports vanaf de root. We verliezen de namespaces die we eerst wel hadden. Alle exports komen in 1 lange lijst van named exports terecht. Wellicht is er een betere oplossing mogelijk. Maar dat doen we niet in deze PR, dus voor nu is het toevoegen van exports in de root van de library wel goed.

TextLink,
Tooltip,
WebLink,
Expand Down
Loading