()
| 396 | }); |
| 397 | } |
| 398 | _setUpEvents() { |
| 399 | ['click', 'focus', 'blur', 'keyup', 'keydown'].forEach((name) => { |
| 400 | // when <g> is clicked / focused / blurred |
| 401 | // should dispatch the click / focus / blur event listener on **linked HTMLFeatureElements** |
| 402 | this._groupEl.addEventListener(name, (e) => { |
| 403 | if (name === 'click') { |
| 404 | // dispatch a cloned mouseevent to trigger the click event handlers set on HTMLFeatureElement |
| 405 | let clickEv = new PointerEvent(name, { cancelable: true }); |
| 406 | clickEv.originalEvent = e; |
| 407 | this.dispatchEvent(clickEv); |
| 408 | } else if (name === 'keyup' || name === 'keydown') { |
| 409 | let keyEv = new KeyboardEvent(name, { cancelable: true }); |
| 410 | keyEv.originalEvent = e; |
| 411 | this.dispatchEvent(keyEv); |
| 412 | } else { |
| 413 | // dispatch a cloned focusevent to trigger the focus/blue event handlers set on HTMLFeatureElement |
| 414 | let focusEv = new FocusEvent(name, { cancelable: true }); |
| 415 | focusEv.originalEvent = e; |
| 416 | this.dispatchEvent(focusEv); |
| 417 | } |
| 418 | }); |
| 419 | }); |
| 420 | } |
| 421 | |
| 422 | // native cs: used by FeatureLayer._geometryToLayer(...), |
| 423 | // the fallback cs for map-geometry if its cs attribute is not specified |
no test coverage detected