Skip to content

Commit c3a55bd

Browse files
committed
Modified logic so that map-change is only called when layer/extent is checked/unchecked on the layer menu
1 parent a39cba4 commit c3a55bd

File tree

5 files changed

+12
-10
lines changed

5 files changed

+12
-10
lines changed

src/layer.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,6 @@ export class BaseLayerElement extends HTMLElement {
9090
this.parentElement._map.removeLayer(this._layer);
9191
}
9292
this._layerControlCheckbox.checked = this.checked;
93-
this.dispatchEvent(new CustomEvent('map-change'));
9493
break;
9594
case 'hidden':
9695
if (typeof newValue === 'string') {

src/map-extent.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,6 @@ export class HTMLExtentElement extends HTMLElement {
158158
this._handleChange();
159159
this._calculateBounds();
160160
this._layerControlCheckbox.checked = newValue !== null;
161-
this.dispatchEvent(new CustomEvent('map-change'));
162161
})
163162
.catch((error) => {
164163
console.log(

src/mapml/elementSupport/extents/createLayerControlForExtent.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@ export var createLayerControlExtentHTML = function () {
132132
extentItemNameSpan.innerHTML = this.label;
133133
const changeCheck = function () {
134134
this.checked = !this.checked;
135+
this.dispatchEvent(new CustomEvent('map-change'));
135136
};
136137
// save for later access by API
137138
this._layerControlCheckbox = input;

src/mapml/elementSupport/layers/createLayerControlForLayer.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ export var createLayerControlHTML = async function () {
136136
layerItemName.layer = this._layer;
137137
const changeCheck = function () {
138138
this.checked = !this.checked;
139+
this.dispatchEvent(new CustomEvent('map-change'));
139140
};
140141
input.addEventListener('change', changeCheck.bind(this));
141142
if (this._layer._legendUrl) {

test/e2e/api/events/map-change-event.test.js

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { test, expect, chromium } from '@playwright/test';
22

3-
test.describe('Map change event are fired when layers/extents are checked or unchecked ', () => {
3+
test.describe('Map change event are only fired when layers/extents are checked or unchecked in the layer menu ', () => {
44
let page;
55
let context;
66
test.beforeAll(async () => {
@@ -34,7 +34,7 @@ test.describe('Map change event are fired when layers/extents are checked or unc
3434
layer.checked = true;
3535
});
3636
await page.waitForTimeout(500);
37-
expect(layerClicked).toBe(2);
37+
expect(layerClicked).toBe(0);
3838

3939
// check and uncheck layers using removeAttribute and setAttribute
4040
await page.evaluate(() => {
@@ -43,7 +43,7 @@ test.describe('Map change event are fired when layers/extents are checked or unc
4343
layer.setAttribute('checked', '');
4444
});
4545
await page.waitForTimeout(500);
46-
expect(layerClicked).toBe(4);
46+
expect(layerClicked).toBe(0);
4747

4848
// check and uncheck layers in the layer menu
4949
await page.hover('.leaflet-top.leaflet-right');
@@ -52,7 +52,7 @@ test.describe('Map change event are fired when layers/extents are checked or unc
5252
await button.click();
5353

5454
await page.waitForTimeout(500);
55-
expect(layerClicked).toBe(6);
55+
expect(layerClicked).toBe(2);
5656
});
5757

5858
test('Map change event for sub-layers work', async () => {
@@ -73,7 +73,7 @@ test.describe('Map change event are fired when layers/extents are checked or unc
7373
extent.checked = true;
7474
});
7575
await page.waitForTimeout(500);
76-
expect(extentClicked).toBe(2);
76+
expect(extentClicked).toBe(0);
7777

7878
// check and uncheck extents using removeAttribute and setAttribute
7979
await page.evaluate(() => {
@@ -82,10 +82,12 @@ test.describe('Map change event are fired when layers/extents are checked or unc
8282
extent.setAttribute('checked', '');
8383
});
8484
await page.waitForTimeout(500);
85-
expect(extentClicked).toBe(4);
85+
expect(extentClicked).toBe(0);
8686

8787
// check and uncheck extents in the layer menu
88-
const layerSettings = await page.locator('.mapml-layer-item-settings-control');
88+
const layerSettings = await page.locator(
89+
'.mapml-layer-item-settings-control'
90+
);
8991
await page.hover('.leaflet-top.leaflet-right');
9092
await layerSettings.first().click();
9193
const extentControls = await page.locator('.mapml-layer-extent');
@@ -94,6 +96,6 @@ test.describe('Map change event are fired when layers/extents are checked or unc
9496
await button.click();
9597

9698
await page.waitForTimeout(500);
97-
expect(extentClicked).toBe(6);
99+
expect(extentClicked).toBe(2);
98100
});
99101
});

0 commit comments

Comments
 (0)