Skip to content

Commit

Permalink
Merge pull request #5533 from 3liz/backport-5531-to-release_3_9
Browse files Browse the repository at this point in the history
[Backport release_3_9] [Bugfix] LocatByLayer - Error after automatic ESlint
  • Loading branch information
rldhont authored Mar 7, 2025
2 parents 108ec9f + a73efad commit 2ca0898
Showing 1 changed file with 29 additions and 16 deletions.
45 changes: 29 additions & 16 deletions assets/src/modules/LocateByLayer.js
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ export default class LocateByLayer {
if ( 'vectorjoins' in locate ) {
var vectorjoins = locate.vectorjoins;
for ( var k=0, vectorjoinsLen=vectorjoins.length; k<vectorjoinsLen; k++) {
var vectorjoin = vectorjoins[i];
var vectorjoin = vectorjoins[k];
fields.push( vectorjoin.targetFieldName );
}
}
Expand Down Expand Up @@ -222,17 +222,22 @@ export default class LocateByLayer {
}

// add filter values list
$('#locate-layer-'+layerName).parent().before('<div class="locate-layer"><select id="locate-layer-'+layerName+'-'+locate.filterFieldName+'">'+fOptions+'</select></div><br/>');
$('#locate-layer-'+layerName).parent().before(
`<div class="locate-layer">
<select id="locate-layer-`+layerName+'-'+locate.filterFieldName+'">'+fOptions+`</select>
</div><br/>`
);
// listen to filter select changes
document.getElementById('locate-layer-'+layerName+'-'+locate.filterFieldName).addEventListener("change", () => {
var filterValue = $(this).children(':selected').val();
this.updateLocateFeatureList( aName );
if (filterValue == '-1')
$('#locate-layer-'+layerName+'-'+locate.filterFieldName+' ~ span > input').val('');
$('#locate-layer-'+layerName+' ~ span > input').val('');
$('#locate-layer-'+layerName).val('-1');
this.zoomToLocateFeature(aName);
});
document.getElementById('locate-layer-'+layerName+'-'+locate.filterFieldName)
.addEventListener("change", () => {
var filterValue = $(this).children(':selected').val();
this.updateLocateFeatureList( aName );
if (filterValue == '-1')
$('#locate-layer-'+layerName+'-'+locate.filterFieldName+' ~ span > input').val('');
$('#locate-layer-'+layerName+' ~ span > input').val('');
$('#locate-layer-'+layerName).val('-1');
this.zoomToLocateFeature(aName);
});
// add combobox to the filter select
$('#locate-layer-'+layerName+'-'+locate.filterFieldName).combobox({
position: { my : "right top", at: "right bottom" },
Expand All @@ -249,8 +254,10 @@ export default class LocateByLayer {
});

// add place holder to the filter combobox input
$('#locate-layer-'+layerName+'-'+locate.filterFieldName+' ~ span > input').attr('placeholder', filterPlaceHolder).val('');
$('#locate-layer-'+layerName+'-'+locate.filterFieldName+' ~ span > input').autocomplete('close');
$('#locate-layer-'+layerName+'-'+locate.filterFieldName+' ~ span > input')
.attr('placeholder', filterPlaceHolder).val('');
$('#locate-layer-'+layerName+'-'+locate.filterFieldName+' ~ span > input')
.autocomplete('close');
}

// create combobox for the layer
Expand Down Expand Up @@ -286,7 +293,9 @@ export default class LocateByLayer {
var featElement = features[j];
locate.features[featElement.id.toString()] = featElement;
if ( !('filterFieldName' in locate) )
options += '<option value="' + featElement.id + '">' + DOMPurify.sanitize(featElement.properties[locate.fieldName]) + '</option>';
options += '<option value="' + featElement.id + '">'
+ DOMPurify.sanitize(featElement.properties[locate.fieldName])
+ '</option>';
}
document.getElementById('locate-layer-'+layerName).innerHTML = options;
// listen to select changes
Expand Down Expand Up @@ -457,7 +466,9 @@ export default class LocateByLayer {
var jFeat = jLocate.features[jVal];
for (var featId in features) {
var feature = features[featId];
if ( feature.properties[vectorjoin.targetFieldName] != jFeat.properties[vectorjoin.joinFieldName] )
var targetProperty = feature.properties[vectorjoin.targetFieldName];
var joinProperty = jFeat.properties[vectorjoin.joinFieldName];
if ( targetProperty != joinProperty )
delete features[featId];
}
}
Expand All @@ -468,7 +479,9 @@ export default class LocateByLayer {
var options = '<option value="-1" label="'+placeHolder+'"></option>';
for (var featureElementId in features) {
var featureElement = features[featureElementId];
options += '<option value="' + featureElement.id + '">' + DOMPurify.sanitize(featureElement.properties[locate.fieldName]) + '</option>';
options += '<option value="' + featureElement.id + '">'
+ DOMPurify.sanitize(featureElement.properties[locate.fieldName])
+ '</option>';
}
// add option list
$('#locate-layer-'+ this._lizmap3.cleanName(aName)).html(options);
Expand Down

0 comments on commit 2ca0898

Please sign in to comment.