forked from MapComplete/MapComplete
Reformat all files with prettier
This commit is contained in:
parent
e22d189376
commit
b541d3eab4
382 changed files with 50893 additions and 35566 deletions
|
@ -1,64 +1,75 @@
|
|||
import {UIEventSource} from "../../Logic/UIEventSource";
|
||||
import Combine from "../Base/Combine";
|
||||
import Translations from "../i18n/Translations";
|
||||
import {VariableUiElement} from "../Base/VariableUIElement";
|
||||
import FilteredLayer from "../../Models/FilteredLayer";
|
||||
import {TagUtils} from "../../Logic/Tags/TagUtils";
|
||||
import Svg from "../../Svg";
|
||||
import { UIEventSource } from "../../Logic/UIEventSource"
|
||||
import Combine from "../Base/Combine"
|
||||
import Translations from "../i18n/Translations"
|
||||
import { VariableUiElement } from "../Base/VariableUIElement"
|
||||
import FilteredLayer from "../../Models/FilteredLayer"
|
||||
import { TagUtils } from "../../Logic/Tags/TagUtils"
|
||||
import Svg from "../../Svg"
|
||||
|
||||
/**
|
||||
* The icon with the 'plus'-sign and the preset icons spinning
|
||||
*
|
||||
*
|
||||
*/
|
||||
export default class AddNewMarker extends Combine {
|
||||
|
||||
constructor(filteredLayers: UIEventSource<FilteredLayer[]>) {
|
||||
const icons = new VariableUiElement(filteredLayers.map(filteredLayers => {
|
||||
const icons = []
|
||||
let last = undefined;
|
||||
for (const filteredLayer of filteredLayers) {
|
||||
const layer = filteredLayer.layerDef;
|
||||
if(layer.name === undefined && !filteredLayer.isDisplayed.data){
|
||||
continue
|
||||
}
|
||||
for (const preset of filteredLayer.layerDef.presets) {
|
||||
const tags = TagUtils.KVtoProperties(preset.tags)
|
||||
const icon = layer.mapRendering[0].GenerateLeafletStyle(new UIEventSource<any>(tags), false).html
|
||||
.SetClass("block relative")
|
||||
.SetStyle("width: 42px; height: 42px;");
|
||||
icons.push(icon)
|
||||
if (last === undefined) {
|
||||
last = layer.mapRendering[0].GenerateLeafletStyle(new UIEventSource<any>(tags), false).html
|
||||
.SetClass("block relative")
|
||||
.SetStyle("width: 42px; height: 42px;");
|
||||
const icons = new VariableUiElement(
|
||||
filteredLayers.map((filteredLayers) => {
|
||||
const icons = []
|
||||
let last = undefined
|
||||
for (const filteredLayer of filteredLayers) {
|
||||
const layer = filteredLayer.layerDef
|
||||
if (layer.name === undefined && !filteredLayer.isDisplayed.data) {
|
||||
continue
|
||||
}
|
||||
for (const preset of filteredLayer.layerDef.presets) {
|
||||
const tags = TagUtils.KVtoProperties(preset.tags)
|
||||
const icon = layer.mapRendering[0]
|
||||
.GenerateLeafletStyle(new UIEventSource<any>(tags), false)
|
||||
.html.SetClass("block relative")
|
||||
.SetStyle("width: 42px; height: 42px;")
|
||||
icons.push(icon)
|
||||
if (last === undefined) {
|
||||
last = layer.mapRendering[0]
|
||||
.GenerateLeafletStyle(new UIEventSource<any>(tags), false)
|
||||
.html.SetClass("block relative")
|
||||
.SetStyle("width: 42px; height: 42px;")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (icons.length === 0) {
|
||||
return undefined
|
||||
}
|
||||
if (icons.length === 1) {
|
||||
return icons[0]
|
||||
}
|
||||
icons.push(last)
|
||||
const elem = new Combine(icons).SetClass("flex")
|
||||
elem.SetClass("slide min-w-min").SetStyle("animation: slide " + icons.length + "s linear infinite;")
|
||||
return elem;
|
||||
}))
|
||||
const label = Translations.t.general.add.addNewMapLabel.Clone()
|
||||
.SetClass("block center absolute text-sm min-w-min pl-1 pr-1 bg-gray-400 rounded-3xl text-white opacity-65 whitespace-nowrap")
|
||||
if (icons.length === 0) {
|
||||
return undefined
|
||||
}
|
||||
if (icons.length === 1) {
|
||||
return icons[0]
|
||||
}
|
||||
icons.push(last)
|
||||
const elem = new Combine(icons).SetClass("flex")
|
||||
elem.SetClass("slide min-w-min").SetStyle(
|
||||
"animation: slide " + icons.length + "s linear infinite;"
|
||||
)
|
||||
return elem
|
||||
})
|
||||
)
|
||||
const label = Translations.t.general.add.addNewMapLabel
|
||||
.Clone()
|
||||
.SetClass(
|
||||
"block center absolute text-sm min-w-min pl-1 pr-1 bg-gray-400 rounded-3xl text-white opacity-65 whitespace-nowrap"
|
||||
)
|
||||
.SetStyle("top: 65px; transform: translateX(-50%)")
|
||||
super([
|
||||
new Combine([
|
||||
Svg.add_pin_svg().SetClass("absolute").SetStyle("width: 50px; filter: drop-shadow(grey 0 0 10px"),
|
||||
Svg.add_pin_svg()
|
||||
.SetClass("absolute")
|
||||
.SetStyle("width: 50px; filter: drop-shadow(grey 0 0 10px"),
|
||||
new Combine([icons])
|
||||
.SetStyle("width: 50px")
|
||||
.SetClass("absolute p-1 rounded-full overflow-hidden"),
|
||||
Svg.addSmall_svg().SetClass("absolute animate-pulse").SetStyle("width: 30px; left: 30px; top: 35px;")
|
||||
Svg.addSmall_svg()
|
||||
.SetClass("absolute animate-pulse")
|
||||
.SetStyle("width: 30px; left: 30px; top: 35px;"),
|
||||
]).SetClass("absolute"),
|
||||
new Combine([label]).SetStyle("position: absolute; left: 50%")
|
||||
new Combine([label]).SetStyle("position: absolute; left: 50%"),
|
||||
])
|
||||
this.SetClass("block relative");
|
||||
this.SetClass("block relative")
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue