@@ -59,7 +59,7 @@ define([
59
59
'text!map/templates/legend/mex_forest_conserv.handlebars' ,
60
60
'text!map/templates/legend/mex_forest_prod.handlebars' ,
61
61
'text!map/templates/legend/mex_forest_rest.handlebars' ,
62
-
62
+
63
63
] , function ( _ , Handlebars , Presenter , tpl , tplMore , lossTpl , imazonTpl , firesTpl ,
64
64
forest2000Tpl , pantropicalTpl , idnPrimaryTpl , intact2013Tpl , grumpTpl , storiesTpl , terra_iTpl , concesionesTpl ,
65
65
concesionesTypeTpl , hondurasForestTPL , colombiaForestChangeTPL , tigersTPL , dam_hotspotsTPL , us_land_coverTPL ,
@@ -156,7 +156,7 @@ define([
156
156
mexican_pa :Handlebars . compile ( mexPATpl ) ,
157
157
per_protected_areas :Handlebars . compile ( perPATpl ) ,
158
158
mex_land_cover :Handlebars . compile ( mex_land_coverTpl )
159
-
159
+
160
160
} ,
161
161
162
162
events : {
@@ -248,9 +248,8 @@ define([
248
248
249
249
} , this ) ;
250
250
251
- categoriesGlobal = this . statusCategories ( _ . groupBy ( layersGlobal , function ( layer ) { return layer . category_slug } ) ) ;
252
- categoriesIso = this . statusCategories ( _ . groupBy ( layersIso , function ( layer ) { return layer . category_slug } ) ) ;
253
-
251
+ categoriesGlobal = this . statusCategories ( this . getLayersByCategory ( layersGlobal ) ) ;
252
+ categoriesIso = this . statusCategories ( this . getLayersByCategory ( layersIso ) ) ;
254
253
// Render
255
254
this . render ( this . template ( {
256
255
categories : ( _ . isEmpty ( categoriesGlobal ) ) ? false : categoriesGlobal ,
@@ -263,13 +262,21 @@ define([
263
262
this . presenter . toggleLayerOptions ( ) ;
264
263
} ,
265
264
265
+ getLayersByCategory : function ( layers ) {
266
+ return _ . groupBy ( layers , function ( layer ) {
267
+ // Hack to keep the forest_clearing slug in layers which have to be analyzed but not grouped by the said slug in the legend
268
+ if ( layer . category_slug === 'forest_clearing' && ! layer . is_forest_clearing ) return 'forest_clearing_2' ;
269
+ return layer . category_slug ;
270
+ } )
271
+ } ,
272
+
266
273
statusCategories : function ( array ) {
267
274
// Search for layer 'nothing'
268
275
var categories_status = this . model . get ( 'categories_status' ) ;
269
276
_ . each ( array , function ( category ) {
270
277
for ( var i = 0 ; i < category . length ; i ++ ) {
271
278
// Mantain categories closed in rendering
272
- ( categories_status . indexOf ( category [ i ] [ 'category_status' ] ) != - 1 ) ? category [ 'closed' ] = true : category [ 'closed' ] = false ;
279
+ category [ 'closed' ] = categories_status . indexOf ( category [ i ] [ 'category_status' ] ) != - 1 ;
273
280
// Get layer's length of each category
274
281
category [ 'layers_length' ] = i + 1 ;
275
282
}
0 commit comments