Skip to content

Commit c9a0b07

Browse files
MV88Tobia Di Pisa
authored andcommitted
Fix WidgetLegend preview (#3994)
* Fix WidgetLegend preview * Update web/client/components/widgets/enhancers/legendWidget.js
1 parent d28f792 commit c9a0b07

2 files changed

Lines changed: 40 additions & 2 deletions

File tree

web/client/components/widgets/enhancers/legendWidget.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ const {getScales} = require('../../../utils/MapUtils');
1818
* Add also base tools and menu to the widget
1919
*/
2020
module.exports = compose(
21-
withProps(({ dependencies = {} }) => ({
22-
layers: dependencies.layers || [],
21+
withProps(({ dependencies = {}, dependenciesMap = {} }) => ({
22+
layers: dependencies[dependenciesMap.layers] || dependencies.layers || [],
2323
scales: getScales(
2424
// TODO: this is a fallback that checks the viewport if projection is not defined. We should use only projection
2525
dependencies.projection || dependencies.viewport && dependencies.viewport.crs || 'EPSG:3857',

web/client/components/widgets/widget/__tests__/LegendWidget-test.jsx

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ const LegendWidget = compose(
1717
defaultProps({canEdit: true}),
1818
legendWidget
1919
)(require('../LegendWidget'));
20+
2021
describe('LegendWidget component', () => {
2122
beforeEach((done) => {
2223
document.body.innerHTML = '<div id="container"></div>';
@@ -73,4 +74,41 @@ describe('LegendWidget component', () => {
7374
expect(el).toExist();
7475
expect(container.querySelector('.compact-legend-grid')).toExist();
7576
});
77+
it('LegendWidget rendering with layers specified in dependenciesMap', () => {
78+
const layers = [
79+
{
80+
type: 'wms',
81+
url: 'https://gs-stable.geo-solutions.it/geoserver/wms',
82+
visibility: true,
83+
dimensions: [],
84+
name: 'gs:us_states',
85+
title: 'States of US',
86+
description: '',
87+
bbox: {
88+
crs: 'EPSG:4326',
89+
bounds: {
90+
minx: -124.73142200000001,
91+
miny: 24.955967,
92+
maxx: -66.969849,
93+
maxy: 49.371735
94+
}
95+
},
96+
links: [],
97+
params: {},
98+
allowedSRS: {},
99+
search: {
100+
type: 'wfs',
101+
url: 'https://gs-stable.geo-solutions.it/geoserver/wfs'
102+
},
103+
id: 'gs:us_states__qxhbmc4jmko'
104+
}
105+
];
106+
ReactDOM.render(<LegendWidget
107+
dependencies={{"widgets[3fe79110-ac81-11e9-9a66-39723a13a30f].map.layers": layers}}
108+
dependenciesMap={{layers: "widgets[3fe79110-ac81-11e9-9a66-39723a13a30f].map.layers" }} />, document.getElementById("container"));
109+
const container = document.getElementById('container');
110+
const el = container.querySelector('.mapstore-widget-card');
111+
expect(el).toExist();
112+
expect(container.querySelector('.compact-legend-grid')).toExist();
113+
});
76114
});

0 commit comments

Comments
 (0)