| Server IP : 93.86.61.54 / Your IP : 216.73.216.60 Web Server : Apache/2.4.62 (Ubuntu) System : Linux rasin.ddns.net 6.8.0-124-generic #124~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 21:05:19 UTC x86_64 User : www-data ( 33) PHP Version : 8.4.22 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/html/projects/nextcloud/apps/logreader/js/Components/ |
Upload File : |
import {Component} from 'react';
import style from './ToggleEntry.css';
export class ToggleEntry extends Component {
static idCounter = 0;
_id = null;
state = {
active: false
};
constructor (props) {
super();
this.state.active = props.active || false;
}
getCheckBoxId = ()=> {
if (!this._id) {
this._id = this.props.id || '__checkbox_' + (++ToggleEntry.idCounter);
}
return this._id;
};
onClick = (e) => {
e.preventDefault();
let active = !this.state.active;
this.setState({active});
if (this.props.onChange) {
this.props.onChange(active);
}
};
componentWillReceiveProps = (props) => {
if(props.active != this.state.active) {
this.setState({active: props.active});
}
};
render () {
return (
<li className={style.toggleEntry}>
<a className={style['checkbox-holder']} onClick={this.onClick}>
<input id={this.getCheckBoxId()} type="checkbox"
checked={this.state.active}
className="checkbox"
readOnly/>
<label
htmlFor={this.getCheckBoxId()}>{this.props.children}</label>
</a>
</li>
);
}
}