opensupports/client/src/app/demo/components-demo-page.js

90 lines
2.1 KiB
JavaScript
Raw Normal View History

2015-08-22 03:34:12 +02:00
'use strict';
import React from 'react';
2015-08-22 03:34:12 +02:00
import {Link} from 'react-router';
import DocumentTitle from 'react-document-title';
2015-10-15 01:05:21 +02:00
import Button from 'core-components/button';
import Input from 'core-components/input';
import Checkbox from 'core-components/checkbox';
2015-10-15 01:05:21 +02:00
import Widget from 'core-components/widget';
2015-10-18 00:13:18 +02:00
import DropDown from 'core-components/drop-down';
let dropDownItems = [{content: 'English'}, {content: 'Spanish'}, {content: 'German'}, {content: 'Portuguese'}, {content: 'Japanese'}];
2015-08-22 03:34:12 +02:00
let DemoPage = React.createClass({
2015-08-22 03:34:12 +02:00
propTypes: {
currentUser: React.PropTypes.object.isRequired
},
elements: [
{
title: 'Primary Button',
render: (
<Button type="primary">Sign up</Button>
)
},
2015-09-24 02:33:25 +02:00
{
title: 'Input',
render: (
<Input placeholder="placeholder"/>
)
2015-10-15 01:05:21 +02:00
},
{
title: 'Input wrapped in a label',
render: (
<Input placeholder="placeholder" label="This is a label" />
)
},
{
title: 'Checkbox',
render: (
<Checkbox label="Remember me" />
)
},
2015-10-15 01:05:21 +02:00
{
title: 'Widget',
render: (
2015-10-18 00:13:18 +02:00
<Widget style={{ width: 324 }}>
2015-10-15 01:05:21 +02:00
<h2>Register here!</h2>
<Button type="primary">SIGN UP</Button>
</Widget>
)
2015-10-18 00:13:18 +02:00
},
{
title: 'DropDown',
render: (
<DropDown items={dropDownItems} onChange={function (index) { console.log('changed to ' + index); }} />
2015-10-18 00:13:18 +02:00
)
2015-09-24 02:33:25 +02:00
}
2015-08-22 03:34:12 +02:00
],
render() {
return (
<DocumentTitle title="Demo Page">
<section className="home-page">
{this.renderElements()}
</section>
</DocumentTitle>
);
},
renderElements: function () {
return this.elements.map((element) => {
return (
<div className="demo-element">
<h4>
{element.title}
</h4>
<div class="demo-element--example">
{element.render}
</div>
</div>
);
});
}
});
export default DemoPage;