diff --git a/core/mappings.js b/core/mappings.js
index f994e608..4a93afc4 100644
--- a/core/mappings.js
+++ b/core/mappings.js
@@ -518,6 +518,7 @@ mappings.cdn = {
'jquery-validation@{version}/dist/jquery.validate.': resources.jqueryValidationPlugin,
'leaflet@{version}/dist/leaflet.js': resources.leafletJS,
'leaflet@{version}/dist/leaflet.css': resources.leafletCSS,
+ 'leaflet.featuregroup.subgroup@{version}/dist/leaflet.featuregroup.subgroup.': resources.leafletFeatureGroupSubGroup,
'lodash@{version}/lodash.min.js': resources.lodashJS,
'lozad': resources.lozad,
'npm-modernizr@{version}/modernizr.': resources.modernizr,
diff --git a/core/resources.js b/core/resources.js
index 841f3751..4f93a2ce 100644
--- a/core/resources.js
+++ b/core/resources.js
@@ -534,6 +534,10 @@ var resources = {
'leafletCSS': {
'path': 'resources/leaflet/{version}/leaflet.css'
},
+ // Leaflet.FeatureGroup.SubGroup
+ 'leafletFeatureGroupSubGroup': {
+ 'path': 'resources/leaflet.featuregroup.subgroup/{version}/leaflet.featuregroup.subgroup.jsm'
+ },
// leaflet.markercluster
'leafletMarkercluster': {
'path': 'resources/leaflet.markercluster/{version}/leaflet.markercluster.jsm'
diff --git a/modules/internal/targets.js b/modules/internal/targets.js
index abe83842..03106ee2 100644
--- a/modules/internal/targets.js
+++ b/modules/internal/targets.js
@@ -391,6 +391,8 @@ targets.setLastVersion = function (type, version) {
return '0.7.7';
} else if (type.startsWith('/leaflet/1.')) {
return '1.7.1';
+ } else if (type.startsWith('/leaflet.featuregroup.subgroup/1.')) {
+ return '1.0.2';
} else if (type.startsWith('/leaflet.markercluster/1.')) {
return '1.5.0';
} else if (type.startsWith('/libphonenumber-js/1.')) {
@@ -598,6 +600,7 @@ targets.determineResourceName = function (filename) {
};
const ListOfFiles = {
+ 'leaflet.featuregroup.subgroup.jsm': 'Leaflet.FeatureGroup.SubGroup',
'leaflet.markercluster.jsm': 'leaflet.markercluster',
'embedly-player.min.jsm': 'embedly player',
'bs-datepicker.css': 'Datepicker (ngx-bootstrap)',
diff --git a/pages/updates/updates.html b/pages/updates/updates.html
index 91eec620..e4e57d01 100644
--- a/pages/updates/updates.html
+++ b/pages/updates/updates.html
@@ -43,6 +43,7 @@
Added: noUiSlider v15.0.0 (#437)
Added: leaflet.markercluster v1.5.0 (#438)
Improved: HTML filter inside frames (#439)
+ Added: leaflet.featuregroup.subgroup v1.0.2 (#440)
diff --git a/resources/leaflet.featuregroup.subgroup/1.0.2/leaflet.featuregroup.subgroup.jsm b/resources/leaflet.featuregroup.subgroup/1.0.2/leaflet.featuregroup.subgroup.jsm
new file mode 100644
index 00000000..f139c4d4
--- /dev/null
+++ b/resources/leaflet.featuregroup.subgroup/1.0.2/leaflet.featuregroup.subgroup.jsm
@@ -0,0 +1,6 @@
+/*!
+ Leaflet.FeatureGroup.SubGroup 1.0.2+00bb0d4
+ (c) 2015-2017 Boris Seang
+ License BSD-2-Clause
+ */
+!function(e,r){"function"==typeof define&&define.amd?define(["leaflet"],r):r("object"==typeof module&&module.exports?require("leaflet"):e.L)}(this,function(e){e.FeatureGroup.SubGroup=e.FeatureGroup.extend({initialize:function(r,t){e.FeatureGroup.prototype.initialize.call(this,t),this.setParentGroup(r)},setParentGroup:function(r){var t=r instanceof e.LayerGroup;return this._parentGroup=r,this.onAdd=t?"function"==typeof r.addLayers?this._onAddToGroupBatch:this._onAddToGroup:this._onAddToMap,this.onRemove=t?"function"==typeof r.removeLayers?this._onRemoveFromGroupBatch:this._onRemoveFromGroup:this._onRemoveFromMap,this.addLayer=t?this._addLayerToGroup:this._addLayerToMap,this.removeLayer=t?this._removeLayerFromGroup:this._removeLayerFromMap,this},setParentGroupSafe:function(e){var r=this._map;return r&&r.removeLayer(this),this.setParentGroup(e),r&&r.addLayer(this),this},getParentGroup:function(){return this._parentGroup},_onAddToGroupBatch:function(e){var r=this.getLayers();this._map=e,this._parentGroup.addLayers(r)},_onRemoveFromGroupBatch:function(){var e=this.getLayers();this._parentGroup.removeLayers(e),this._map=null},_onAddToGroup:function(e){var r=this._parentGroup;this._map=e,this.eachLayer(r.addLayer,r)},_onRemoveFromGroup:function(){var e=this._parentGroup;this.eachLayer(e.removeLayer,e),this._map=null},_onAddToMap:e.FeatureGroup.prototype.onAdd,_onRemoveFromMap:e.FeatureGroup.prototype.onRemove,_addLayerToGroup:function(e){if(this.hasLayer(e))return this;e.addEventParent(this);var r=this.getLayerId(e);return this._layers[r]=e,this._map&&this._parentGroup.addLayer(e),this.fire("layeradd",{layer:e})},_removeLayerFromGroup:function(e){if(!this.hasLayer(e))return this;var r=e in this._layers?e:this.getLayerId(e);return e=this._layers[r],e.removeEventParent(this),this._map&&e&&this._parentGroup.removeLayer(e),delete this._layers[r],this.fire("layerremove",{layer:e})},_addLayerToMap:e.FeatureGroup.prototype.addLayer,_removeLayerFromMap:e.FeatureGroup.prototype.removeLayer}),e.featureGroup.subGroup=function(r,t){return new e.FeatureGroup.SubGroup(r,t)}});
\ No newline at end of file