• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

IGNF / geoportail-environnement.beta.gouv.fr / 13840397932

13 Mar 2025 05:03PM UTC coverage: 44.374% (-0.6%) from 44.962%
13840397932

push

github

web-flow
Merge pull request #60 from IGNF/issue_51

feat(shared-map) : ajout de la sélection de parcelles

81 of 272 branches covered (29.78%)

Branch coverage included in aggregate %.

32 of 67 new or added lines in 4 files covered. (47.76%)

479 of 990 relevant lines covered (48.38%)

8.87 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

45.16
/src/app/shared-map/controls/parcelSelectControl.ts
1
import Control from 'ol/control/Control.js';
2
import { unByKey } from 'ol/Observable';
3

4
export class parcelSelectControl extends Control {
5
  
6
    constructor(opt_options:any) {
7
      const options = opt_options || {};
25!
8

9
      let eventKey:any = null;
25✔
10
  
11
      const button = document.createElement('button');
25✔
12
      button.innerHTML = 'P';
25✔
13
      button.type = "button";
25✔
14
      button.name = "parcelSelect";
25✔
15
      button.title = "Sélectionner des parcelles";
25✔
16
  
17
      const element = document.createElement('div');
25✔
18
      element.className = 'parcel-select ol-button ol-toggle ol-unselectable ol-control';
25✔
19
      element.appendChild(button);
25✔
20

21
      const handleParcelSelect = function() {
25✔
NEW
22
        if(element.classList.contains('ol-active')) {
×
NEW
23
          eventKey = options.map.on('click', (e:any) => options.parcelSelectService.getParcel(e.coordinate));
×
NEW
24
          let ctrl = options.editBar.getControls();
×
NEW
25
          ctrl[0].setActive(false);
×
NEW
26
          ctrl[2].setActive(false);
×
NEW
27
          ctrl[3].setActive(false);
×
28
        } else {
NEW
29
          unByKey(eventKey);
×
30
        }
31
      }
32
      
33
      super({
25✔
34
        element: element
35
      });
36
  
37
      button.addEventListener('click', function() {element.classList.toggle("ol-active"); handleParcelSelect()}, false);
25✔
38
    };
39

40
    setActive(active:boolean) {
NEW
41
      if( (!active && this.element.classList.contains('ol-active')) || (active && !this.element.classList.contains('ol-active'))) {
×
42
        //@ts-ignore
NEW
43
        this.element.children[0].click();
×
44
      } 
45
    };
46
  };
47

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc