File tree Expand file tree Collapse file tree
web/client/components/widgets Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -18,8 +18,8 @@ const {getScales} = require('../../../utils/MapUtils');
1818 * Add also base tools and menu to the widget
1919 */
2020module . 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' ,
Original file line number Diff line number Diff line change @@ -17,6 +17,7 @@ const LegendWidget = compose(
1717 defaultProps ( { canEdit : true } ) ,
1818 legendWidget
1919) ( require ( '../LegendWidget' ) ) ;
20+
2021describe ( '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} ) ;
You can’t perform that action at this time.
0 commit comments