mirror of
				https://github.com/BookStackApp/BookStack.git
				synced 2025-10-31 03:50:27 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			23 lines
		
	
	
		
			630 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			630 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
 | |
| class ToggleSwitch {
 | |
| 
 | |
|     constructor(elem) {
 | |
|         this.elem = elem;
 | |
|         this.input = elem.querySelector('input[type=hidden]');
 | |
|         this.checkbox = elem.querySelector('input[type=checkbox]');
 | |
| 
 | |
|         this.checkbox.addEventListener('change', this.stateChange.bind(this));
 | |
|     }
 | |
| 
 | |
|     stateChange() {
 | |
|         this.input.value = (this.checkbox.checked ? 'true' : 'false');
 | |
| 
 | |
|         // Dispatch change event from hidden input so they can be listened to
 | |
|         // like a normal checkbox.
 | |
|         const changeEvent = new Event('change');
 | |
|         this.input.dispatchEvent(changeEvent);
 | |
|     }
 | |
| 
 | |
| }
 | |
| 
 | |
| export default ToggleSwitch; |