react-page-wysiwyg
Version:
Enable developers to use D&D and configuration to build React page
84 lines (77 loc) • 2.14 kB
Markdown
Enable developers to use D&D and configuration to build React page. wysiwyg.
<img src="https://raw.githubusercontent.com/linb/react-page-wysiwyg/master/snapshot.png" >
```javascript
npm install react-page-wysiwyg
```
```javascript
import ReactBuilder from "react-page-wysiwyg";
```
```javascript
...
export default function App() {
const codeSavedRef = React.useRef();
const builderRef = React.useRef();
const getBulder = () => builderRef.current;
// ready event
const onReady = () => {
console.log("Builder is ready!");
};
// changed event
const onChanged = () => {
console.log("Design Changed!");
};
// get design code ( it can be set into designer via 'setDesignCode')
const getDesignCode = () => {
const builder = getBulder();
builder.executeCommand("getDesignCode", {}, function (data) {
codeSavedRef.current = data.data;
alert(data.data);
});
};
// set code to design
const setDesignCode = () => {
const builder = getBulder();
if(codeSavedRef.current){
builder.executeCommand(
"setDesignCode",
codeSavedRef.current,
function (data) {
console.log(data);
}
);
}
};
// get React code
const getReactCode = () => {
const builder = getBulder();
builder.executeCommand("getReactCode", {}, function (data) {
alert(data.data);
});
};
// export to CodeSandbox
const exportToCodeSandbox = () => {
const builder = getBulder();
builder.executeCommand("exportToCodeSandbox");
};
return (
<div>
<div style={{ width: "100%", height: "680px" }}>
<ReactBuilder
license="put your license code here"
builderRef={builderRef}
events={{ onChanged, onReady }}
></ReactBuilder>
</div>
</div>
);
};
```
[](https://codesandbox.io/s/summer-wave-4vvl0 "react-page-wysiwyg demo")
[](https://www.npmjs.com/package/react-page-wysiwyg "react-page-wysiwyg NPM")