| 
									
										
										
										
											2021-10-01 03:14:36 +02:00
										 |  |  | import BaseUIElement from "../BaseUIElement"; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-11-07 16:34:51 +01:00
										 |  |  | export default class Lazy extends BaseUIElement { | 
					
						
							| 
									
										
										
										
											2021-10-01 03:14:36 +02:00
										 |  |  |     private readonly _f: () => BaseUIElement; | 
					
						
							| 
									
										
										
										
											2021-11-07 16:34:51 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-01 03:14:36 +02:00
										 |  |  |     constructor(f: () => BaseUIElement) { | 
					
						
							|  |  |  |         super(); | 
					
						
							|  |  |  |         this._f = f; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2021-11-07 16:34:51 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-01 03:14:36 +02:00
										 |  |  |     protected InnerConstructElement(): HTMLElement { | 
					
						
							|  |  |  |         // The caching of the BaseUIElement will guarantee that _f will only be called once
 | 
					
						
							|  |  |  |         return this._f().ConstructElement(); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2021-11-07 16:34:51 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-01 03:14:36 +02:00
										 |  |  | } |