Advertisement
Guest User

Untitled

a guest
May 29th, 2016
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.78 KB | None | 0 0
  1. const controller = Controller(Model({}));
  2.  
  3. function setFoo({ input, state }) {
  4. state.set('example.foo', input.value);
  5. }
  6. const changeInput = [setFoo];
  7. const Module = (options = {}) => {
  8. return (module, controller) => {
  9. module.addState({
  10. foo: "original value"
  11. });
  12. module.addSignals({
  13. changeInput
  14. });
  15. };
  16. };
  17. controller.addModules({
  18. example: Module()
  19. })
  20.  
  21. @Cerebral({
  22. display: ['example', 'foo']
  23. })
  24. class InputControl extends React.Component {
  25. render() {
  26. return (
  27. <div>
  28. <input type="text" value={ this.props.display }
  29. onChange={ (e) => { this.props.signals.example.changeInput.sync({ value: e.target.value }); } }
  30. />
  31. </div>
  32. );
  33. }
  34. };
  35.  
  36. ReactDOM.render(
  37. (
  38. <Container controller={controller}>
  39. <InputControl/>
  40. </Container>
  41. ),
  42. document.getElementById('root')
  43. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement