mirror of
https://github.com/maputnik/editor.git
synced 2026-08-24 14:07:33 +00:00
Migration of jsx files to tsx 3 (#851)
This is in continue to: - #850 - #848 The last files should be converted as part of this PR, there are only a handful left.
This commit is contained in:
+22
-20
@@ -2,40 +2,42 @@
|
||||
import stylegen from 'mapbox-gl-inspect/lib/stylegen'
|
||||
// @ts-ignore
|
||||
import colors from 'mapbox-gl-inspect/lib/colors'
|
||||
import {FilterSpecification,LayerSpecification } from '@maplibre/maplibre-gl-style-spec'
|
||||
import type {FilterSpecification,LayerSpecification } from 'maplibre-gl'
|
||||
|
||||
export function colorHighlightedLayer(layer: LayerSpecification) {
|
||||
if(!layer || layer.type === 'background' || layer.type === 'raster') return null
|
||||
export type HighlightedLayer = LayerSpecification & {filter?: FilterSpecification};
|
||||
|
||||
function changeLayer(l: LayerSpecification & {filter?: FilterSpecification}) {
|
||||
if(l.type === 'circle') {
|
||||
l.paint!['circle-radius'] = 3
|
||||
} else if(l.type === 'line') {
|
||||
l.paint!['line-width'] = 2
|
||||
}
|
||||
|
||||
if("filter" in layer) {
|
||||
l.filter = layer.filter
|
||||
} else {
|
||||
delete l['filter']
|
||||
}
|
||||
l.id = l.id + '_highlight'
|
||||
return l
|
||||
function changeLayer(l: HighlightedLayer, layer: LayerSpecification) {
|
||||
if(l.type === 'circle') {
|
||||
l.paint!['circle-radius'] = 3
|
||||
} else if(l.type === 'line') {
|
||||
l.paint!['line-width'] = 2
|
||||
}
|
||||
|
||||
if("filter" in layer) {
|
||||
l.filter = layer.filter
|
||||
} else {
|
||||
delete l['filter']
|
||||
}
|
||||
l.id = l.id + '_highlight'
|
||||
return l
|
||||
}
|
||||
|
||||
export function colorHighlightedLayer(layer?: LayerSpecification): HighlightedLayer | null {
|
||||
if(!layer || layer.type === 'background' || layer.type === 'raster') return null
|
||||
|
||||
const sourceLayerId = layer['source-layer'] || ''
|
||||
const color = colors.brightColor(sourceLayerId, 1);
|
||||
|
||||
if(layer.type === "fill" || layer.type === 'fill-extrusion') {
|
||||
return changeLayer(stylegen.polygonLayer(color, color, layer.source, layer['source-layer']))
|
||||
return changeLayer(stylegen.polygonLayer(color, color, layer.source, layer['source-layer']), layer)
|
||||
}
|
||||
|
||||
if(layer.type === "symbol" || layer.type === 'circle') {
|
||||
return changeLayer(stylegen.circleLayer(color, layer.source, layer['source-layer']))
|
||||
return changeLayer(stylegen.circleLayer(color, layer.source, layer['source-layer']), layer)
|
||||
}
|
||||
|
||||
if(layer.type === 'line') {
|
||||
return changeLayer(stylegen.lineLayer(color, layer.source, layer['source-layer']))
|
||||
return changeLayer(stylegen.lineLayer(color, layer.source, layer['source-layer']), layer)
|
||||
}
|
||||
|
||||
return null
|
||||
|
||||
Reference in New Issue
Block a user