/* global $, hljs, NumericInput, React */
export default class Demo extends React.Component
{
constructor(...args) {
super(...args)
// var that = this;
this.state = {
inputProps : {
name : { value: "whatever" , on: false },
className : { value: "form-control", on: true },
value : { value: 50, on: true },
min : { value: 0, on: true },
max : { value: 100, on: true },
step : { value: 1, on: true },
precision : { value: 0, on: true },
size : { value: 5, on: true },
maxLength : { value: 2, on: false },
disabled : { value: true, on: false },
readOnly : { value: true, on: false },
mobile : { value: true, on: false },
required : { value: true, on: false },
noValidate: { value: true, on: false },
pattern : { value: "[0-9].[0-9][0-9]", on: false },
title : { value: "The title attr", on: false },
snap : { value: true, on: false },
inputmode : { value: "numeric", on: false },
strict : { value: true, on: false },
noStyle : { value: true, on: false }
// library
}
}
}
componentDidUpdate() {
hljs.highlightBlock(this.refs.code)
}
toggleProp(propName) {
this.state.inputProps[propName].on = !this.state.inputProps[propName].on
this.setState(this.state)
}
setProp(propName, event) {
let val = event.target ? event.target.value : event
this.state.inputProps[propName].value = val
this.setState(this.state)
}
onChange(x) {
this.state.inputProps.value.value = x === null ? "" : x
if (this.state.inputProps.value.on) {
this.setState(this.state);
}
}
onInvalid(message) {
// console.log("Invalid", message)
$(this.refs.errorMessage).text(message || "Unknown error")
}
onValid() {
// console.log("Valid")
$(this.refs.errorMessage).empty()
}
renderCode() {
let out = '
| name | value |
|---|