[MediaWiki-commits] [Gerrit] mediawiki...Kartographer[master]: Implement third phase of event logging (Wikivoyage specific)
jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/324843 ) Change subject: Implement third phase of event logging (Wikivoyage specific) .. Implement third phase of event logging (Wikivoyage specific) * Data layers now have a convenient reference to their corresponding data group Bug: T151929 Change-Id: I2545a2258dfc3772acf56a5c0589002e18be1b30 --- M modules/box/Map.js M modules/wikivoyage/ControlLayers.js M modules/wikivoyage/ControlNearby.js M modules/wikivoyage/WVMapLayers.js M modules/wikivoyage/wikivoyage.js 5 files changed, 77 insertions(+), 10 deletions(-) Approvals: Yurik: Looks good to me, approved jenkins-bot: Verified diff --git a/modules/box/Map.js b/modules/box/Map.js index 9de5370..7309392 100644 --- a/modules/box/Map.js +++ b/modules/box/Map.js @@ -296,7 +296,8 @@ if ( this.parentMap ) { $.each( this.parentMap.dataLayers, function ( groupId, layer ) { - map.addGeoJSONLayer( groupId, layer.getGeoJSON(), layer.options ); + var newLayer = map.addGeoJSONLayer( groupId, layer.getGeoJSON(), layer.options ); + newLayer.dataGroup = layer.group; } ); ready(); return; @@ -387,13 +388,15 @@ $.each( dataGroups, function ( key, group ) { var layerOptions = { - attribution: group.attribution - }; + attribution: group.attribution + }, + layer; if ( group.isExternal ) { layerOptions.name = group.attribution; } if ( !$.isEmptyObject( group.getGeoJSON() ) ) { - map.addGeoJSONLayer( group.id, group.getGeoJSON(), layerOptions ); + layer = map.addGeoJSONLayer( group.id, group.getGeoJSON(), layerOptions ); + layer.dataGroup = group; } else { mw.log.warn( 'Layer not found or contains no data: "' + group.id + '"' ); } @@ -423,12 +426,14 @@ var groupId = inlineDataLayerKey + inlineDataLayerId++, layerOptions = { attribution: group.attribution || options.attribution - }; + }, + layer; if ( group.isExternal ) { layerOptions.name = group.attribution; } if ( !$.isEmptyObject( group.getGeoJSON() ) ) { - map.addGeoJSONLayer( groupId, group.getGeoJSON(), layerOptions ); + layer = map.addGeoJSONLayer( groupId, group.getGeoJSON(), layerOptions ); + layer.dataGroup = layer; } else { mw.log.warn( 'Layer not found or contains no data: "' + groupId + '"' ); } diff --git a/modules/wikivoyage/ControlLayers.js b/modules/wikivoyage/ControlLayers.js index de20388..351d3ca 100644 --- a/modules/wikivoyage/ControlLayers.js +++ b/modules/wikivoyage/ControlLayers.js @@ -33,6 +33,9 @@ if ( !obj.overlay && label.childNodes[ 0 ].checked ) { this._previousSelected = label.childNodes[ 0 ]; } + if ( obj.layer.dataGroup ) { + label.childNodes[ 0 ].className += ' leaflet-control-layers-data-layer'; + } }, /** @@ -41,6 +44,7 @@ */ _onInputClick: function ( event ) { var self = this, + map = this._map, proto = L.Control.Layers.prototype._onInputClick, input = event && event.target,
[MediaWiki-commits] [Gerrit] mediawiki...Kartographer[master]: Implement third phase of event logging (Wikivoyage specific)
JGirault has uploaded a new change for review. https://gerrit.wikimedia.org/r/324843 Change subject: Implement third phase of event logging (Wikivoyage specific) .. Implement third phase of event logging (Wikivoyage specific) * Data layers now have a convenient reference to their corresponding data group Bug: T151929 Change-Id: I2545a2258dfc3772acf56a5c0589002e18be1b30 --- M modules/box/Map.js M modules/wikivoyage/ControlLayers.js M modules/wikivoyage/ControlNearby.js M modules/wikivoyage/WVMapLayers.js M modules/wikivoyage/wikivoyage.js 5 files changed, 77 insertions(+), 10 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Kartographer refs/changes/43/324843/1 diff --git a/modules/box/Map.js b/modules/box/Map.js index 9de5370..7309392 100644 --- a/modules/box/Map.js +++ b/modules/box/Map.js @@ -296,7 +296,8 @@ if ( this.parentMap ) { $.each( this.parentMap.dataLayers, function ( groupId, layer ) { - map.addGeoJSONLayer( groupId, layer.getGeoJSON(), layer.options ); + var newLayer = map.addGeoJSONLayer( groupId, layer.getGeoJSON(), layer.options ); + newLayer.dataGroup = layer.group; } ); ready(); return; @@ -387,13 +388,15 @@ $.each( dataGroups, function ( key, group ) { var layerOptions = { - attribution: group.attribution - }; + attribution: group.attribution + }, + layer; if ( group.isExternal ) { layerOptions.name = group.attribution; } if ( !$.isEmptyObject( group.getGeoJSON() ) ) { - map.addGeoJSONLayer( group.id, group.getGeoJSON(), layerOptions ); + layer = map.addGeoJSONLayer( group.id, group.getGeoJSON(), layerOptions ); + layer.dataGroup = group; } else { mw.log.warn( 'Layer not found or contains no data: "' + group.id + '"' ); } @@ -423,12 +426,14 @@ var groupId = inlineDataLayerKey + inlineDataLayerId++, layerOptions = { attribution: group.attribution || options.attribution - }; + }, + layer; if ( group.isExternal ) { layerOptions.name = group.attribution; } if ( !$.isEmptyObject( group.getGeoJSON() ) ) { - map.addGeoJSONLayer( groupId, group.getGeoJSON(), layerOptions ); + layer = map.addGeoJSONLayer( groupId, group.getGeoJSON(), layerOptions ); + layer.dataGroup = layer; } else { mw.log.warn( 'Layer not found or contains no data: "' + groupId + '"' ); } diff --git a/modules/wikivoyage/ControlLayers.js b/modules/wikivoyage/ControlLayers.js index de20388..351d3ca 100644 --- a/modules/wikivoyage/ControlLayers.js +++ b/modules/wikivoyage/ControlLayers.js @@ -33,6 +33,9 @@ if ( !obj.overlay && label.childNodes[ 0 ].checked ) { this._previousSelected = label.childNodes[ 0 ]; } + if ( obj.layer.dataGroup ) { + label.childNodes[ 0 ].className += ' leaflet-control-layers-data-layer'; + } }, /** @@ -41,6 +44,7 @@ */ _onInputClick: function ( event ) { var self = this, + map = this._map, proto = L.Control.Layers.prototype._onInputClick, input = event &&