You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and dots ('.'), can be up to 35 characters long. Letters must be lowercase.
		
		
		
		
		
			
		
			
				
					
					
						
							43 lines
						
					
					
						
							1001 B
						
					
					
				
			
		
		
	
	
							43 lines
						
					
					
						
							1001 B
						
					
					
				| // Copyright © 2023 Entreprise SkamKraft | |
| 'use strict'; | |
| export class TemplateEngine { | |
|   constructor(path) { | |
|     this.templatePath = path; | |
|   } | |
|    | |
|   render(template) { | |
|     this.get_template((reponse) => { | |
|       $('body').html(reponse); | |
|       this.get_template((reponse) => { | |
|         $("#block-content").html(reponse); | |
|         if (this.after_render_callback) this.after_render_callback(this); | |
|       }, template) | |
|     }); | |
|   } | |
| 
 | |
|   frag_load(tag, template) { | |
|     this.get_template((reponse) => { | |
|       $(tag).html(reponse); | |
|     }, template); | |
|   } | |
| 
 | |
|   get_template(callback, template = "") { | |
|     let url = template === "" ? `${this.templatePath}/template.html`: `${this.templatePath}/${template}`; | |
|     $.ajax(url,{ | |
|       async: false, | |
|       method: "GET", | |
|       success: callback, | |
|       error: (err) => { | |
|         console.log(err); | |
|       } | |
|     }); | |
|   } | |
| 
 | |
|   add_event(tag, action, callback) { | |
|     $("body").on(action, tag, callback); | |
|   } | |
| 
 | |
|   after_render(callback) { | |
|     this.after_render_callback  = callback; | |
|   } | |
| }
 | |
| 
 |