27 lines
No EOL
846 B
TypeScript
27 lines
No EOL
846 B
TypeScript
import Combine from "../Base/Combine";
|
|
import Attribution from "./Attribution";
|
|
import Img from "../Base/Img";
|
|
import {ProvidedImage} from "../../Logic/ImageProviders/ImageProvider";
|
|
import BaseUIElement from "../BaseUIElement";
|
|
import {Mapillary} from "../../Logic/ImageProviders/Mapillary";
|
|
|
|
|
|
export class AttributedImage extends Combine {
|
|
|
|
constructor(imageInfo: ProvidedImage) {
|
|
let img: BaseUIElement;
|
|
let attr: BaseUIElement
|
|
img = new Img(imageInfo.url, false, {
|
|
fallbackImage: imageInfo.provider === Mapillary.singleton ? "./assets/svg/blocked.svg" : undefined
|
|
});
|
|
attr = new Attribution(imageInfo.provider.GetAttributionFor(imageInfo.url),
|
|
imageInfo.provider.SourceIcon(),
|
|
)
|
|
|
|
|
|
super([img, attr]);
|
|
this.SetClass('block relative h-full');
|
|
}
|
|
|
|
|
|
} |