diff options
Diffstat (limited to '')
-rw-r--r-- | third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/architecture-examples/inferno/src/base.js | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/architecture-examples/inferno/src/base.js b/third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/architecture-examples/inferno/src/base.js new file mode 100644 index 0000000000..89a2ca30c8 --- /dev/null +++ b/third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/architecture-examples/inferno/src/base.js @@ -0,0 +1,49 @@ +import Inferno from 'inferno'; +import { states } from './share'; + +/** + * Stateless Header component + */ +export function Head({onEnter}) { + return ( + <header className="header"> + <h1>todos</h1> + <input className="new-todo" autofocus onkeydown={ onEnter } + autocomplete="off" placeholder="What needs to be done?" + /> + </header> + ); +} + +export const links = [ + {hash: '#/', name: 'All'}, + {hash: '#/active', name: 'Active'}, + {hash: '#/completed', name: 'Completed'} +]; + +/** + * Stateless Footer component + */ +export function Foot({left, done, route, onClear}) { + return ( + <footer className="footer"> + <span className="todo-count"> + <strong>{ left }</strong> { left > 1 ? 'items' : 'item' } left + </span> + <ul className="filters"> + { + links.map(({hash, name}) => ( + <li> + <a href={ hash } className={ name.toLowerCase() === route ? 'selected' : '' }> + { name } + </a> + </li> + )) + } + </ul> + { done > 0 ? ( + <button className="clear-completed" onClick={ onClear }>Clear completed</button> + ) : null } + </footer> + ); +} |