feat: Ensure features ids match the requested format
This commit is contained in:
parent
702713e768
commit
b0334a027d
2 changed files with 12 additions and 4 deletions
|
@ -11,3 +11,14 @@
|
||||||
export function generateId() {
|
export function generateId() {
|
||||||
return btoa(Math.random().toString()).substring(10, 15)
|
return btoa(Math.random().toString()).substring(10, 15)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ensure the ID matches the expected format.
|
||||||
|
*
|
||||||
|
* @param {string} string
|
||||||
|
* @returns {boolean}
|
||||||
|
*/
|
||||||
|
export function checkId(string) {
|
||||||
|
if (typeof string !== 'string') return false
|
||||||
|
return /^[A-Za-z0-9]{5}$/.test(string)
|
||||||
|
}
|
||||||
|
|
|
@ -16,7 +16,7 @@ U.FeatureMixin = {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Each feature needs an unique identifier
|
// Each feature needs an unique identifier
|
||||||
if (this._checkId(geojson_id)) {
|
if (U.Utils.checkId(geojson_id)) {
|
||||||
this.id = geojson_id
|
this.id = geojson_id
|
||||||
} else {
|
} else {
|
||||||
this.id = U.Utils.generateId()
|
this.id = U.Utils.generateId()
|
||||||
|
@ -45,9 +45,6 @@ U.FeatureMixin = {
|
||||||
this.addInteractions()
|
this.addInteractions()
|
||||||
this.parentClass.prototype.initialize.call(this, latlng, options)
|
this.parentClass.prototype.initialize.call(this, latlng, options)
|
||||||
},
|
},
|
||||||
_checkId: function (string) {
|
|
||||||
return typeof string !== 'undefined'
|
|
||||||
},
|
|
||||||
|
|
||||||
preInit: function () {},
|
preInit: function () {},
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue