mirror of
				https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
				synced 2025-10-31 18:42:45 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			19 lines
		
	
	
		
			784 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			19 lines
		
	
	
		
			784 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| var Forms = {};
 | |
| 
 | |
| Forms.autoInit = () => {
 | |
|   for (let propertyName in Forms) {
 | |
|     let property = Forms[propertyName];
 | |
|     // Call autoInit of all properties that are subclasses of Forms.BaseForm.
 | |
|     // This does not include Forms.BaseForm itself.
 | |
|     if (property.prototype instanceof Forms.BaseForm) {
 | |
|       // Check if the static htmlClass property is defined.
 | |
|       if (property.htmlClass === undefined) {return;}
 | |
|       // Gather all HTML elements that have the `this.htmlClass` class
 | |
|       // and do not have the no-autoinit class.
 | |
|       let formElements = document.querySelectorAll(`.${property.htmlClass}:not(.no-autoinit)`);
 | |
|       // Create an instance of this class for each form element.
 | |
|       for (let formElement of formElements) {new property(formElement);}
 | |
|     }
 | |
|   }
 | |
| };
 |