| 
									
										
										
										
											2021-06-18 01:25:13 +02:00
										 |  |  | import Combine from "../Base/Combine" | 
					
						
							|  |  |  | import Attribution from "./Attribution" | 
					
						
							|  |  |  | import Img from "../Base/Img" | 
					
						
							| 
									
										
										
										
											2022-06-13 00:51:53 +02:00
										 |  |  | import ImageProvider from "../../Logic/ImageProviders/ImageProvider" | 
					
						
							| 
									
										
										
										
											2021-09-15 01:33:52 +02:00
										 |  |  | import BaseUIElement from "../BaseUIElement" | 
					
						
							| 
									
										
										
										
											2021-10-01 02:57:41 +02:00
										 |  |  | import { Mapillary } from "../../Logic/ImageProviders/Mapillary" | 
					
						
							| 
									
										
										
										
											2022-06-13 00:51:53 +02:00
										 |  |  | import { UIEventSource } from "../../Logic/UIEventSource" | 
					
						
							| 
									
										
										
										
											2021-06-18 01:25:13 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | export class AttributedImage extends Combine { | 
					
						
							| 
									
										
										
										
											2022-05-06 12:41:24 +02:00
										 |  |  |     constructor(imageInfo: { url: string; provider?: ImageProvider; date?: Date }) { | 
					
						
							| 
									
										
										
										
											2021-09-15 01:33:52 +02:00
										 |  |  |         let img: BaseUIElement | 
					
						
							| 
									
										
										
										
											2021-10-01 02:57:41 +02:00
										 |  |  |         img = new Img(imageInfo.url, false, { | 
					
						
							| 
									
										
										
										
											2021-11-07 16:34:51 +01:00
										 |  |  |             fallbackImage: | 
					
						
							|  |  |  |                 imageInfo.provider === Mapillary.singleton ? "./assets/svg/blocked.svg" : undefined, | 
					
						
							| 
									
										
										
										
											2021-10-01 02:57:41 +02:00
										 |  |  |         }) | 
					
						
							| 
									
										
										
										
											2022-09-08 21:40:48 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-05-06 12:41:24 +02:00
										 |  |  |         let attr: BaseUIElement = undefined | 
					
						
							|  |  |  |         if (imageInfo.provider !== undefined) { | 
					
						
							| 
									
										
										
										
											2022-06-13 00:51:53 +02:00
										 |  |  |             attr = new Attribution( | 
					
						
							|  |  |  |                 UIEventSource.FromPromise(imageInfo.provider?.DownloadAttribution(imageInfo.url)), | 
					
						
							| 
									
										
										
										
											2022-05-06 12:41:24 +02:00
										 |  |  |                 imageInfo.provider?.SourceIcon(), | 
					
						
							|  |  |  |                 imageInfo.date | 
					
						
							|  |  |  |             ) | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2021-09-15 01:33:52 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |         super([img, attr]) | 
					
						
							| 
									
										
										
										
											2021-06-18 01:25:13 +02:00
										 |  |  |         this.SetClass("block relative h-full") | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } |