forked from MapComplete/MapComplete
		
	Fix attribution style of wikimedia images
This commit is contained in:
		
							parent
							
								
									6a03410f56
								
							
						
					
					
						commit
						6d355cd90c
					
				
					 2 changed files with 25 additions and 24 deletions
				
			
		|  | @ -11,7 +11,7 @@ import Attribution from "./Attribution"; | |||
| export class MapillaryImage extends UIElement { | ||||
| 
 | ||||
|     /*** | ||||
|      * Dictionary from url to alreayd known license info | ||||
|      * Dictionary from url to already known license info | ||||
|      */ | ||||
|     private static allLicenseInfos: any = {}; | ||||
|     private readonly _imageMeta: UIEventSource<LicenseInfo>; | ||||
|  | @ -44,13 +44,11 @@ export class MapillaryImage extends UIElement { | |||
|         const url = `https://images.mapillary.com/${this._imageLocation}/thumb-640.jpg?client_id=TXhLaWthQ1d4RUg0czVxaTVoRjFJZzowNDczNjUzNmIyNTQyYzI2`; | ||||
|         const image = new SimpleImageElement(new UIEventSource<string>(url)) | ||||
|          | ||||
|         if (!this._imageMeta?.data ) { | ||||
|         const meta = this._imageMeta?.data; | ||||
|         if (!meta) { | ||||
|             return image.Render(); | ||||
|         } | ||||
| 
 | ||||
|         const meta = this._imageMeta.data; | ||||
| 
 | ||||
|    | ||||
|         return new Combine([ | ||||
|             image, | ||||
|             new Attribution(meta.artist, meta.license, Svg.mapillary_svg()) | ||||
|  |  | |||
|  | @ -3,8 +3,9 @@ import {LicenseInfo, Wikimedia} from "../../Logic/Web/Wikimedia"; | |||
| import {UIEventSource} from "../../Logic/UIEventSource"; | ||||
| import Svg from "../../Svg"; | ||||
| import Link from "../Base/Link"; | ||||
| import {FixedUiElement} from "../Base/FixedUiElement"; | ||||
| import Combine from "../Base/Combine"; | ||||
| import {SimpleImageElement} from "./SimpleImageElement"; | ||||
| import Attribution from "./Attribution"; | ||||
| 
 | ||||
| 
 | ||||
| export class WikimediaImage extends UIElement { | ||||
|  | @ -34,21 +35,23 @@ export class WikimediaImage extends UIElement { | |||
|     } | ||||
| 
 | ||||
|     InnerRender(): string { | ||||
|         let url = Wikimedia.ImageNameToUrl(this._imageLocation, 500, 400); | ||||
|         url = url.replace(/'/g, '%27'); | ||||
|         const url = Wikimedia.ImageNameToUrl(this._imageLocation, 500, 400) | ||||
|             .replace(/'/g, '%27'); | ||||
|         const image = new SimpleImageElement(new UIEventSource<string>(url)) | ||||
|         const meta = this._imageMeta?.data; | ||||
| 
 | ||||
|         const wikimediaLink = new Link(Svg.wikimedia_commons_white_img, | ||||
|         if (!meta) { | ||||
|             return image.Render(); | ||||
|         } | ||||
|         new Link(Svg.wikimedia_commons_white_img, | ||||
|             `https://commons.wikimedia.org/wiki/${this._imageLocation}`, true) | ||||
|             .SetStyle("width:2em;height: 2em"); | ||||
|          | ||||
|         const attribution = new FixedUiElement(this._imageMeta.data.artist ?? "").SetClass("attribution-author"); | ||||
|         const license = new FixedUiElement(this._imageMeta.data.licenseShortName ?? "").SetClass("license"); | ||||
|         const image = "<img src='" + url + "' " + "alt='" + this._imageMeta.data.description + "' >"; | ||||
|         return new Combine([ | ||||
|             image, | ||||
|             new Attribution(meta.artist, meta.license, Svg.wikimedia_commons_white_svg()) | ||||
|         ]).SetClass("relative block").Render() | ||||
| 
 | ||||
|         return "<div class='imgWithAttr'>" + | ||||
|             image + | ||||
|             new Combine([wikimediaLink, attribution]).SetClass("attribution").Render() + | ||||
|             "</div>"; | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue