mirror of
				https://github.com/BookStackApp/BookStack.git
				synced 2025-10-29 16:09:29 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			30 lines
		
	
	
		
			883 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			883 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /**
 | |
|  * Webhook Events
 | |
|  * Manages dynamic selection control in the webhook form interface.
 | |
|  */
 | |
| import {Component} from "./component";
 | |
| 
 | |
| export class WebhookEvents extends Component {
 | |
| 
 | |
|     setup() {
 | |
|         this.checkboxes = this.$el.querySelectorAll('input[type="checkbox"]');
 | |
|         this.allCheckbox = this.$el.querySelector('input[type="checkbox"][value="all"]');
 | |
| 
 | |
|         this.$el.addEventListener('change', event => {
 | |
|             if (event.target.checked && event.target === this.allCheckbox) {
 | |
|                 this.deselectIndividualEvents();
 | |
|             } else if (event.target.checked) {
 | |
|                 this.allCheckbox.checked = false;
 | |
|             }
 | |
|         });
 | |
|     }
 | |
| 
 | |
|     deselectIndividualEvents() {
 | |
|         for (const checkbox of this.checkboxes) {
 | |
|             if (checkbox !== this.allCheckbox) {
 | |
|                 checkbox.checked = false;
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| 
 | |
| } |