// Big example var React = require("react"); var Alert = require("./components/Alert.jsx"); var AlertGroup = require("./components/AlertGroup.jsx"); var Button = require("./components/Button.jsx"); var ButtonGroup = require("./components/ButtonGroup.jsx"); var ColorPicker = require("./components/ColorPicker.jsx"); var Dropdown = require("./components/Dropdown.jsx"); var TextArea = require("./components/TextArea.jsx"); var TextInput = require("./components/TextInput.jsx"); var LabelledTangle = require("./components/LabelledTangle.jsx"); var Toggle = require("./components/Toggle.jsx"); var exampleData = { buttons: [ { title: "button1", content: "button1", value: "1" }, { title: "button2", content: "button2", value: "2" }, { title: "button3", content: "button3", value: "3" }, { title: "button4", content: "button4", value: "4" }, { title: "button5", content: "button5", value: "5" } ], dropdowns: [ { content: "option1", value: "1" }, { content: "option2", value: "2" }, { content: "option3", value: "3" }, { content: "option4", value: "4" }, { content: "option5", value: "5" } ], inputAlerts: { "empty": { text: "Enter some text above.", type: "default" }, "too_short": { text: "Your input is too short.", type: "error" }, "too_short_warn": { text: "Your input is long enough, but still unsafe.", type: "warning" } }, numColors: 11, alertGroupError: [{ text: "Some error.", type: "error" }], alertGroupWarning: [{ text: "Some warning.", type: "warning" }], alertGroupBunch: [{ text: "Some warning.", type: "warning" }, { text: "Some error.", type: "error" }, { text: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc ullamcorper sed odio a lacinia. Praesent at convallis dui. Vestibulum sagittis nulla ligula, a fermentum nisl auctor sit amet. Duis odio dui, dictum at nisi vitae, molestie maximus leo. Nulla facilisi. Cras eu urna nisl. Sed tristique pretium rutrum.", type: "error" }], alertGroupEmpty: [] }; var ExampleParent = React.createClass({ getInitialState: function() { return { buttonGroup: "1", buttonActive: true, tangleVal: 0, colorIndex: 0, shareButton: 0, textInput: "", textArea: "", textAreaNotRequired: "", disabled: true, isTextAreaValid: true, isTextAreaNotRequiredValid: true }; }, _handleEvent: function(k, v) { console.log(k, v); var state = this.state; state[k] = v; this.setState(state); }, _validateInput: function() { var input = typeof this.state.textInputNotRequired === 'string' ? this.state.textInputNotRequired : ''; if ( input.length === 0 ) { return exampleData.inputAlerts.empty; } else if ( input.length < 5 ) { return exampleData.inputAlerts.too_short; } else if ( input.length >=5 ) { return exampleData.inputAlerts.too_short_warn; } }, _validateInputGroup: function() { var input = this.state.textInputRequired; var alertGroup; switch(input) { case '': alertGroup = exampleData.alertGroupEmpty; break; case 'error': alertGroup = exampleData.alertGroupError; break; case 'warning': alertGroup = exampleData.alertGroupWarning; break; case 'bunch': alertGroup = exampleData.alertGroupBunch; break; default: alertGroup = exampleData.alertGroupEmpty; break; } return alertGroup; }, _toggleButton: function() { newButtonState = !this.state.buttonActive; this._handleEvent("buttonActive", newButtonState); }, _isValidInputText: function(text) { if (typeof text === 'string' && text.length > 0) { return /pass/i.test(text); } else { return true; } }, render: function() { var self = this; var currentState = JSON.stringify(this.state, null, 2); var inputAlert = this._validateInput(); var buttonOn = (this.state.buttonActive) ? "on" : "off"; var inputAlertGroup = this._validateInputGroup(); var isTextAreaNotRequiredValid = this._isValidInputText(this.state.textAreaNotRequired); var isTextAreaValid = this._isValidInputText(this.state.textArea); var isTextInputRequiredValid = this._isValidInputText(this.state.textInputRequired); var isTextInputNotRequiredValid = this._isValidInputText(this.state.textInputNotRequired); return (

Colorpicker

Text area