Skip to content

Commit 2a929fd

Browse files
committed
feat(sui-widget-embedder): created Widgets components
1 parent e1d5ca1 commit 2a929fd

File tree

6 files changed

+50
-2
lines changed

6 files changed

+50
-2
lines changed
+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
react/
+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
src-react

packages/sui-widget-embedder/package.json

+7-2
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,20 @@
66
"sui-widget-embedder": "./bin/sui-widget-embedder.js"
77
},
88
"main": "index.js",
9-
"scripts": {},
9+
"scripts": {
10+
"prepublish": "babel --presets sui ./src-react --out-dir ./react"
11+
},
1012
"keywords": [],
1113
"author": "",
1214
"license": "ISC",
1315
"devDependencies": {
1416
"@s-ui/bundler": "2",
15-
"@s-ui/lint": "2"
17+
"@s-ui/lint": "2",
18+
"babel-cli": "6.26.0"
1619
},
1720
"dependencies": {
21+
"@s-ui/component-peer-dependencies": "1",
22+
"@s-ui/react-domain-connector": "1",
1823
"commander": "2.11.0",
1924
"express": "4.16.2",
2025
"http-proxy": "1.16.2",
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import React, {Component} from 'react'
2+
import PropTypes from 'prop-types'
3+
import ReactDOM from 'react-dom'
4+
5+
import {Provider} from '@s-ui/react-domain-connector'
6+
7+
export default class Widget extends Component {
8+
static propTypes = {
9+
children: PropTypes.element,
10+
node: PropTypes.string,
11+
i18n: PropTypes.object,
12+
domain: PropTypes.object
13+
}
14+
15+
componentDidMount () {
16+
const node = document.querySelector(this.props.node)
17+
const {children, i18n, domain} = this.props
18+
ReactDOM.render(
19+
<Provider i18n={i18n} domain={domain}>
20+
{children}
21+
</Provider>,
22+
node
23+
)
24+
}
25+
26+
render () { return null }
27+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import React from 'react'
2+
import PropTypes from 'prop-types'
3+
4+
export default function Widgets (props) {
5+
return <div key={Math.random()}>{props.children}</div>
6+
}
7+
Widgets.propTypes = { children: PropTypes.node }
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import React from 'react'
2+
import ReactDOM from 'react-dom'
3+
4+
document.body.innerHTML += '<div id="root"></div>'
5+
export default function render (root) {
6+
ReactDOM.render(<div>{root}</div>, document.querySelector('#root'))
7+
}

0 commit comments

Comments
 (0)