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

geosolutions-it / MapStore2 / 19710972030

26 Nov 2025 03:38PM UTC coverage: 76.665% (-0.3%) from 76.929%
19710972030

Pull #11119

github

web-flow
Fix maven publish (#11739)
Pull Request #11119: Layer Selection Plugin on ArcGIS, WFS & WMS layers

32272 of 50209 branches covered (64.28%)

3 of 3 new or added lines in 2 files covered. (100.0%)

3018 existing lines in 249 files now uncovered.

40157 of 52380 relevant lines covered (76.66%)

37.9 hits per line

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

8.33
/web/client/plugins/widgetbuilder/CatalogServiceEditor.jsx
1
import React, { useState } from 'react';
2
import { isEmpty } from 'lodash';
3

4
import uuid from 'uuid';
5
import CatalogServiceEditorComponent from '../../components/catalog/CatalogServiceEditor';
6
import { DEFAULT_ALLOWED_PROVIDERS } from '../MetadataExplorer';
7

8
const emptyService = {
1✔
9
    url: "",
10
    type: "wms",
11
    title: "",
12
    isNew: true,
13
    showAdvancedSettings: false,
14
    showTemplate: false,
15
    hideThumbnail: false,
16
    metadataTemplate: "<p>${description}</p>",
17
    excludeShowTemplate: true
18
};
19

20
const CatalogServiceEditor = ({
1✔
21
    protectedId,
22
    service: defaultService,
23
    catalogServices,
24
    error = () => {},
×
25
    onAddService = () => {},
×
26
    isNew,
27
    dashboardServices,
28
    defaultServices,
29
    defaultSelectedService,
30
    dashboardSelectedService,
31
    ...props
32
}) => {
UNCOV
33
    const [service, setService] = useState(() => {
×
34
        // [dashboardHasEmptyServices] if true => show the default services, else show the dashboard services with its stored configurations
35
        // adding (!dashboardServices) in the condition shows the expected behaviour
36
        const dashboardHasEmptyServices = isEmpty(dashboardSelectedService) && !dashboardServices;
×
37
        return isNew ? emptyService :
×
38
            dashboardHasEmptyServices ?
×
39
                {...defaultServices[defaultSelectedService], old: defaultServices[defaultSelectedService], key: defaultSelectedService, excludeShowTemplate: true} :
40
                {...dashboardServices[dashboardSelectedService || defaultSelectedService], old: dashboardServices[dashboardSelectedService || defaultSelectedService],
×
41
                    key: dashboardSelectedService || defaultSelectedService, excludeShowTemplate: true};
×
42
    });
43

UNCOV
44
    const existingServices = isEmpty(dashboardServices) ? defaultServices : dashboardServices;
×
45

UNCOV
46
    const addNewService = () => {
×
UNCOV
47
        if (service.type !== 'tms' && (!service.title || !service.url)) {
×
48
            error({ title: 'catalog.notification.errorTitle', message: 'catalog.notification.warningAddCatalogService'});
×
49
            return;
×
50
        }
51
        const key = !isNew ? service.key : service.title + uuid();
×
UNCOV
52
        const newService = {
×
53
            ...service, key, protectedId
54
        };
55
        onAddService(newService, existingServices, isNew);
×
56
    };
57

58
    const handleChangeServiceProperty = (property, value) => {
×
UNCOV
59
        setService({ ...service, [property]: value });
×
60
    };
61
    return (<div style={{padding: '1rem', height: '100%'}}>
×
62
        <CatalogServiceEditorComponent
UNCOV
63
            onChangeUrl={(url) => setService({...service, url})}
×
UNCOV
64
            onChangeType={(type) => setService({...service, type})}
×
65
            onChangeTitle={(title) => setService({...service, title})}
×
66
            service={{
67
                ...service,
68
                protectedId
69
            }}
UNCOV
70
            onChangeServiceFormat={(format) => setService({...service, format})}
×
UNCOV
71
            onToggleAdvancedSettings={() => setService({...service, showAdvancedSettings: !service.showAdvancedSettings})}
×
72
            onAddService={addNewService}
73
            onChangeServiceProperty={handleChangeServiceProperty}
UNCOV
74
            onToggleTemplate={() => setService({...service, showTemplate: !service.showTemplate})}
×
UNCOV
75
            onToggleThumbnail={() => setService({...service, hideThumbnail: !service.hideThumbnail})}
×
76
            serviceTypes={[{ name: "csw", label: "CSW" }, { name: "wms", label: "WMS" },
77
                { name: "wmts", label: "WMTS" }, { name: "tms", label: "TMS", allowedProviders: DEFAULT_ALLOWED_PROVIDERS }, {name: "wfs", label: "WFS"}]}
UNCOV
78
            onChangeMetadataTemplate={(metadataTemplate) => setService({...service, metadataTemplate})}
×
79
            services={existingServices}
80
            {...props}
81
        />
82
    </div>);
83
};
84

85
export default CatalogServiceEditor;
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

© 2025 Coveralls, Inc