mirror of
				https://github.com/gpxstudio/gpx.studio.git
				synced 2025-11-04 05:21:09 +00:00 
			
		
		
		
	fix tab color when all tracks have a different one
This commit is contained in:
		@@ -185,18 +185,18 @@ export class GPXFile extends GPXTreeNode<Track> {
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    getStyle(): MergedLineStyles {
 | 
			
		||||
    getStyle(defaultColor?: string): MergedLineStyles {
 | 
			
		||||
        return this.trk.map((track) => track.getStyle()).reduce((acc, style) => {
 | 
			
		||||
            if (style) {
 | 
			
		||||
                if (style["gpx_style:color"] && !acc.color.includes(style["gpx_style:color"])) {
 | 
			
		||||
                    acc.color.push(style["gpx_style:color"]);
 | 
			
		||||
                }
 | 
			
		||||
                if (style["gpx_style:opacity"] && !acc.opacity.includes(style["gpx_style:opacity"])) {
 | 
			
		||||
                    acc.opacity.push(style["gpx_style:opacity"]);
 | 
			
		||||
                }
 | 
			
		||||
                if (style["gpx_style:width"] && !acc.width.includes(style["gpx_style:width"])) {
 | 
			
		||||
                    acc.width.push(style["gpx_style:width"]);
 | 
			
		||||
                }
 | 
			
		||||
            if (style && style["gpx_style:color"] && !acc.color.includes(style["gpx_style:color"])) {
 | 
			
		||||
                acc.color.push(style["gpx_style:color"]);
 | 
			
		||||
            } else if (defaultColor && !acc.color.includes(defaultColor)) {
 | 
			
		||||
                acc.color.push(defaultColor);
 | 
			
		||||
            }
 | 
			
		||||
            if (style && style["gpx_style:opacity"] && !acc.opacity.includes(style["gpx_style:opacity"])) {
 | 
			
		||||
                acc.opacity.push(style["gpx_style:opacity"]);
 | 
			
		||||
            }
 | 
			
		||||
            if (style && style["gpx_style:width"] && !acc.width.includes(style["gpx_style:width"])) {
 | 
			
		||||
                acc.width.push(style["gpx_style:width"]);
 | 
			
		||||
            }
 | 
			
		||||
            return acc;
 | 
			
		||||
        }, {
 | 
			
		||||
 
 | 
			
		||||
@@ -69,13 +69,14 @@
 | 
			
		||||
		nodeColors = [];
 | 
			
		||||
 | 
			
		||||
		if (node instanceof GPXFile) {
 | 
			
		||||
			let style = node.getStyle();
 | 
			
		||||
			let defaultColor = undefined;
 | 
			
		||||
 | 
			
		||||
			let layer = gpxLayers.get(item.getFileId());
 | 
			
		||||
			if (layer) {
 | 
			
		||||
				style.color.push(layer.layerColor);
 | 
			
		||||
				defaultColor = layer.layerColor;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			let style = node.getStyle(defaultColor);
 | 
			
		||||
			style.color.forEach((c) => {
 | 
			
		||||
				if (!nodeColors.includes(c)) {
 | 
			
		||||
					nodeColors.push(c);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user