import React from 'react' import ReactDom from 'react-dom' import CodeInsert from './CodeInsert' class ConfigurationSuperpositionWidget extends React.Component { constructor(props) { super(props) this.state={ hidden: true, swidth: '', sheight: '', urlServeur: '', token: '' } } componentDidMount() { const button = ReactDom.findDOMNode(this.refs.btn) button.onclick = () => { this.getCode() } } getCode() { const inputUrlServeur = ReactDom.findDOMNode(this.refs.urlServeur) const urlServeur = inputUrlServeur.value const inputToken = ReactDom.findDOMNode(this.refs.token) const token = inputToken.value if (urlServeur && token) { document.querySelectorAll('input.fieldRequired').forEach(input => input.classList.remove('fieldRequired')) document.querySelectorAll('p.errorMessage').forEach(p => { p.hidden = true return p }) const urlServeurCorrect = urlServeur.match(/https?:\/\/[A-Za-z0-9/.!=]+.[a-z]+/) const tokenCorrect = token.match(/^(?=.*[A-Za-z])(?=.*[0-9])[A-Za-z0-9.-]*$/) if (urlServeurCorrect && tokenCorrect) { const inputWidth = ReactDom.findDOMNode(this.refs.width) const inputHeight = ReactDom.findDOMNode(this.refs.height) const swidth = this.sizeValidation(inputWidth, '1000px') const sheight = this.sizeValidation(inputHeight, '600px') this.setState({ hidden: false, swidth: swidth, sheight: sheight, urlServeur: urlServeur, token: token }) } else { if (!urlServeurCorrect) { inputUrlServeur.classList.add('fieldRequired') const p = ReactDom.findDOMNode(this.refs.errorUrlServeur) p.hidden = false } if (!tokenCorrect) { const p = ReactDom.findDOMNode(this.refs.errorToken) p.hidden = false inputToken.classList.add('fieldRequired') } } } else { if (!urlServeur) { inputUrlServeur.classList.add('fieldRequired') } if (!token) { inputToken.classList.add('fieldRequired') } } } sizeValidation(input, defaultValue) { const value = input.value if (value >= 600) { return value + 'px' } input.classList.add('fieldRequired') return defaultValue } render() { return (
La taille du widget doit être au minimum de 600 pixels.
Dans le cas contraire, les valeurs par défaut seront utilisées.
* Pour connaitre le token renseignez-vous directement auprès d'Aquasys, ou à l'adresse mail suivante : contact@aquasys.fr.