| 
									
										
										
										
											2020-09-12 23:15:17 +02:00
										 |  |  | import {FixedUiElement} from "./FixedUiElement"; | 
					
						
							|  |  |  | import {Utils} from "../../Utils"; | 
					
						
							| 
									
										
										
										
											2021-06-10 01:36:20 +02:00
										 |  |  | import BaseUIElement from "../BaseUIElement"; | 
					
						
							| 
									
										
										
										
											2020-07-21 01:37:48 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-10 01:36:20 +02:00
										 |  |  | export default class Combine extends BaseUIElement { | 
					
						
							|  |  |  |     private readonly uiElements: BaseUIElement[]; | 
					
						
							| 
									
										
										
										
											2020-07-21 01:37:48 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-10 01:36:20 +02:00
										 |  |  |     constructor(uiElements: (string | BaseUIElement)[]) { | 
					
						
							| 
									
										
										
										
											2020-09-12 23:15:17 +02:00
										 |  |  |         super(); | 
					
						
							|  |  |  |         this.uiElements = Utils.NoNull(uiElements) | 
					
						
							|  |  |  |             .map(el => { | 
					
						
							|  |  |  |                 if (typeof el === "string") { | 
					
						
							|  |  |  |                     return new FixedUiElement(el); | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |                 return el; | 
					
						
							|  |  |  |             }); | 
					
						
							| 
									
										
										
										
											2020-07-21 01:37:48 +02:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2021-06-10 01:36:20 +02:00
										 |  |  |      | 
					
						
							|  |  |  |     protected InnerConstructElement(): HTMLElement { | 
					
						
							|  |  |  |         const el = document.createElement("span") | 
					
						
							| 
									
										
										
										
											2020-07-21 01:37:48 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-10 01:36:20 +02:00
										 |  |  |         for (const subEl of this.uiElements) { | 
					
						
							|  |  |  |             if(subEl === undefined || subEl === null){ | 
					
						
							|  |  |  |                 continue; | 
					
						
							| 
									
										
										
										
											2020-09-27 20:51:37 +02:00
										 |  |  |             } | 
					
						
							| 
									
										
										
										
											2021-06-10 01:36:20 +02:00
										 |  |  |             const subHtml = subEl.ConstructElement() | 
					
						
							|  |  |  |             if(subHtml !== undefined){ | 
					
						
							|  |  |  |                 el.appendChild(subHtml) | 
					
						
							| 
									
										
										
										
											2020-09-27 20:51:37 +02:00
										 |  |  |             } | 
					
						
							| 
									
										
										
										
											2021-06-10 01:36:20 +02:00
										 |  |  |         } | 
					
						
							|  |  |  |          | 
					
						
							|  |  |  |         return el; | 
					
						
							| 
									
										
										
										
											2020-07-21 01:37:48 +02:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2021-06-10 01:36:20 +02:00
										 |  |  |      | 
					
						
							| 
									
										
										
										
											2020-07-21 01:37:48 +02:00
										 |  |  | } |