Merge pull request #12007 from ahocevar/modifystart-features
Report all features being modified
This commit is contained in:
@@ -427,9 +427,12 @@ class Modify extends PointerInteraction {
|
||||
this.featuresBeingModified_ = new Collection();
|
||||
const features = this.featuresBeingModified_.getArray();
|
||||
for (let i = 0, ii = segments.length; i < ii; ++i) {
|
||||
const feature = segments[i][0].feature;
|
||||
if (features.indexOf(feature) === -1) {
|
||||
this.featuresBeingModified_.push(feature);
|
||||
const segment = segments[i];
|
||||
for (let s = 0, ss = segment.length; s < ss; ++s) {
|
||||
const feature = segment[s].feature;
|
||||
if (feature && features.indexOf(feature) === -1) {
|
||||
this.featuresBeingModified_.push(feature);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -142,7 +142,7 @@ describe('ol.interaction.Modify', function () {
|
||||
const startevent = events[0];
|
||||
const endevent = events[events.length - 1];
|
||||
|
||||
// first event should be modifystary
|
||||
// first event should be modifystart
|
||||
expect(startevent).to.be.a(ModifyEvent);
|
||||
expect(startevent.type).to.eql('modifystart');
|
||||
|
||||
@@ -463,15 +463,23 @@ describe('ol.interaction.Modify', function () {
|
||||
const modify = new Modify({
|
||||
features: new Collection(features),
|
||||
});
|
||||
let modifiedFeatures;
|
||||
|
||||
const onModifyStart = function (evt) {
|
||||
modifiedFeatures = evt.features;
|
||||
};
|
||||
map.addInteraction(modify);
|
||||
|
||||
modify.on('modifystart', onModifyStart);
|
||||
// Click on line
|
||||
simulateEvent('pointermove', 0, 0, null, 0);
|
||||
simulateEvent('pointerdown', 0, 0, null, 0);
|
||||
simulateEvent('pointerup', 0, 0, null, 0);
|
||||
modify.un('modifystart', onModifyStart);
|
||||
|
||||
expect(lineFeature1.getGeometry().getCoordinates().length).to.be(4);
|
||||
expect(lineFeature2.getGeometry().getCoordinates().length).to.be(4);
|
||||
expect(modifiedFeatures.getArray()).to.eql([lineFeature1, lineFeature2]);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user