diff --git a/cypress/integration/layergroup.spec.js b/cypress/integration/layergroup.spec.js index 8b464881..de704579 100644 --- a/cypress/integration/layergroup.spec.js +++ b/cypress/integration/layergroup.spec.js @@ -1,10 +1,37 @@ describe('Edit LayerGroup', () => { - const mapSelector = '#map'; + // const mapSelector = '#map'; it('correctly enables geojson featureCollection', () => { cy.drawShape('FeatureCollectionWithCircles'); cy.toolbarButton('edit').click(); cy.hasVertexMarkers(21); + cy.toolbarButton('edit').click(); + cy.hasVertexMarkers(0); + }); + + it('enables all layers of layerGroup', () => { + cy.drawShape('FeatureCollectionWithCircles'); + + cy.get('@featurecol').then(feature => { + feature.pm.enable(); + }); + + cy.hasVertexMarkers(21); + + cy.get('@featurecol').then(feature => { + feature.pm.disable(); + }); + cy.hasVertexMarkers(0); + + cy.get('@featurecol').then(feature => { + feature.pm.toggleEdit(); + }); + cy.hasVertexMarkers(21); + + cy.get('@featurecol').then(feature => { + feature.pm.toggleEdit(); + }); + cy.hasVertexMarkers(0); }); }); diff --git a/cypress/support/commands.js b/cypress/support/commands.js index 9c105f3f..8a6c1406 100644 --- a/cypress/support/commands.js +++ b/cypress/support/commands.js @@ -59,7 +59,6 @@ Cypress.Commands.add('drawShape', (shape) => { if (shape === 'FeatureCollectionWithCircles') { cy.fixture(shape) - .as('poly') .then((json) => { const layer = L.geoJson(json, { pointToLayer: (feature, latlng) => { @@ -77,7 +76,10 @@ Cypress.Commands.add('drawShape', (shape) => { const bounds = layer.getBounds(); map.fitBounds(bounds); - }); + + return layer; + }) + .as('featurecol'); } }); }); diff --git a/src/js/Edit/L.PM.Edit.Circle.js b/src/js/Edit/L.PM.Edit.Circle.js index 6741abae..651fea80 100644 --- a/src/js/Edit/L.PM.Edit.Circle.js +++ b/src/js/Edit/L.PM.Edit.Circle.js @@ -48,7 +48,7 @@ Edit.Circle = Edit.extend({ return false; } layer.pm._enabled = false; - layer.pm._layerGroup.clearLayers(); + layer.pm._helperLayers.clearLayers(); // clean up draggable layer.off('mousedown'); diff --git a/src/js/Edit/L.PM.Edit.LayerGroup.js b/src/js/Edit/L.PM.Edit.LayerGroup.js index 7beb289f..8273730a 100644 --- a/src/js/Edit/L.PM.Edit.LayerGroup.js +++ b/src/js/Edit/L.PM.Edit.LayerGroup.js @@ -82,16 +82,13 @@ Edit.LayerGroup = L.Class.extend({ toggleEdit(options) { this._options = options; this._layers.forEach((layer) => { - console.log('TOGGLE EDIT'); - // layer.pm.toggleEdit(options); + layer.pm.toggleEdit(options); }); }, enable(options) { - console.log('ENABLE'); this._options = options; this._layers.forEach((layer) => { - console.log(layer); - // layer.pm.enable(options); + layer.pm.enable(options); }); }, disable() {