• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

jumpinjackie / mapguide-react-layout / 15160437878

21 May 2025 11:00AM UTC coverage: 21.631% (-42.6%) from 64.24%
15160437878

Pull #1552

github

web-flow
Merge 8b7153d9e into 236e2ea07
Pull Request #1552: Feature/package updates 2505

839 of 1165 branches covered (72.02%)

11 of 151 new or added lines in 25 files covered. (7.28%)

1332 existing lines in 50 files now uncovered.

4794 of 22163 relevant lines covered (21.63%)

6.89 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

88.57
/src/components/base-layer-switcher.tsx
1
import * as React from "react";
1✔
2
import { IExternalBaseLayer, isVisualBaseLayer } from "../api/common";
1✔
3
import { STR_EMPTY, strIsNullOrEmpty } from "../utils/string";
1✔
4
import { tr } from "../api/i18n";
1✔
5

6
/**
7
 * BaseLayersSwitcher component props
8
 *
9
 * @export
10
 * @interface IBaseLayerSwitcherProps
11
 */
12
export interface IBaseLayerSwitcherProps {
13
    locale: string | undefined;
14
    externalBaseLayers: IExternalBaseLayer[];
15
    onBaseLayerChanged?: (name: string) => void;
16
}
17

18
/**
19
 * The BaseLayerSwitcher component provides a user interface for switching the active external
20
 * base layer of the current map
21
 * @param props 
22
 */
23
export const BaseLayerSwitcher = (props: IBaseLayerSwitcherProps) => {
1✔
24
    const { locale, externalBaseLayers } = props;
3✔
25
    const visLayers = externalBaseLayers.filter(layer => layer.visible === true);
3✔
26
    const [selected, setSelected] = React.useState(visLayers.length == 1 ? visLayers[0].name : STR_EMPTY);
3✔
27
    const onBaseLayerChanged = (e: any) => {
3✔
28
        const value = e.currentTarget.value;
×
29
        setSelected(value);
×
30
        props.onBaseLayerChanged?.(value);
×
UNCOV
31
    }
×
32
    React.useEffect(() => {
3✔
33
        setSelected(visLayers.length == 1 ? visLayers[0].name : STR_EMPTY);
3✔
34
    }, [visLayers]);
3✔
35
    return <div>
3✔
36
        <div className="base-layer-switcher-item-container">
3✔
37
            <label className="bp3-control bp3-radio">
3✔
38
                <input className="base-layer-switcher-option" type="radio" value={STR_EMPTY} checked={strIsNullOrEmpty(selected)} onChange={onBaseLayerChanged} />
3✔
39
                <span className="bp3-control-indicator" />
3✔
40
                {tr("NONE", locale)}
3✔
41
            </label>
3✔
42
        </div>
3✔
43
        {externalBaseLayers.filter(ebl => isVisualBaseLayer(ebl)).map(layer => {
3✔
44
            return <div className="base-layer-switcher-item-container" key={`base-layer-${layer.name}`}>
4✔
45
                <label className="bp3-control bp3-radio">
4✔
46
                    <input className="base-layer-switcher-option" type="radio" value={layer.name} checked={layer.name === selected} onChange={onBaseLayerChanged} />
4✔
47
                    <span className="bp3-control-indicator" />
4✔
48
                    {layer.name}
4✔
49
                </label>
4✔
50
            </div>;
4✔
51
        })}
3✔
52
    </div>;
3✔
53
}
3✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc