mirror of
https://github.com/umap-project/umap.git
synced 2025-04-29 11:52:38 +02:00
wip: remove AutoComplete.URL (can't set class properties yet)
This commit is contained in:
parent
1cefd4c9a7
commit
8dd1c4bc7f
3 changed files with 12 additions and 7 deletions
|
@ -222,12 +222,16 @@ export class BaseAutocomplete {
|
||||||
}
|
}
|
||||||
|
|
||||||
export class BaseAjax extends BaseAutocomplete {
|
export class BaseAjax extends BaseAutocomplete {
|
||||||
URL = '/foobar/?q={q}'
|
|
||||||
constructor(el, options) {
|
constructor(el, options) {
|
||||||
super(el, options)
|
super(el, options)
|
||||||
|
this.setUrl()
|
||||||
this.initRequest()
|
this.initRequest()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setUrl() {
|
||||||
|
this.url = this.options?.url
|
||||||
|
}
|
||||||
|
|
||||||
initRequest() {
|
initRequest() {
|
||||||
this.request = new Request()
|
this.request = new Request()
|
||||||
}
|
}
|
||||||
|
@ -248,7 +252,7 @@ export class BaseAjax extends BaseAutocomplete {
|
||||||
if (val === this.cache) return
|
if (val === this.cache) return
|
||||||
else this.cache = val
|
else this.cache = val
|
||||||
val = val.toLowerCase()
|
val = val.toLowerCase()
|
||||||
const url = Util.template(this.URL, { q: encodeURIComponent(val) })
|
const url = Util.template(this.url, { q: encodeURIComponent(val) })
|
||||||
this.handleResults(await this._search(url))
|
this.handleResults(await this._search(url))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -261,7 +265,10 @@ export class BaseAjax extends BaseAutocomplete {
|
||||||
}
|
}
|
||||||
|
|
||||||
class BaseServerAjax extends BaseAjax {
|
class BaseServerAjax extends BaseAjax {
|
||||||
URL = '/agnocomplete/AutocompleteUser/?q={q}'
|
setUrl() {
|
||||||
|
this.url = '/agnocomplete/AutocompleteUser/?q={q}'
|
||||||
|
}
|
||||||
|
|
||||||
initRequest() {
|
initRequest() {
|
||||||
this.server = new ServerRequest()
|
this.server = new ServerRequest()
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,8 +2,6 @@ import { DomUtil } from '../../../vendors/leaflet/leaflet-src.esm.js'
|
||||||
import { BaseAjax, SingleMixin } from '../autocomplete.js'
|
import { BaseAjax, SingleMixin } from '../autocomplete.js'
|
||||||
|
|
||||||
class Autocomplete extends SingleMixin(BaseAjax) {
|
class Autocomplete extends SingleMixin(BaseAjax) {
|
||||||
URL = 'https://geo.api.gouv.fr/communes?nom={q}&limit=5'
|
|
||||||
|
|
||||||
createResult(item) {
|
createResult(item) {
|
||||||
return super.createResult({
|
return super.createResult({
|
||||||
value: item.code,
|
value: item.code,
|
||||||
|
@ -26,6 +24,7 @@ export class Importer {
|
||||||
textContent: "Importer les contours d'une commune française.",
|
textContent: "Importer les contours d'une commune française.",
|
||||||
})
|
})
|
||||||
const options = {
|
const options = {
|
||||||
|
url: 'https://geo.api.gouv.fr/communes?nom={q}&limit=5',
|
||||||
on_select: (choice) => {
|
on_select: (choice) => {
|
||||||
importer.url = `https://geo.api.gouv.fr/communes?code=${choice.item.value}&format=geojson&geometry=contour`
|
importer.url = `https://geo.api.gouv.fr/communes?code=${choice.item.value}&format=geojson&geometry=contour`
|
||||||
importer.format = 'geojson'
|
importer.format = 'geojson'
|
||||||
|
|
|
@ -21,8 +21,6 @@ const TEMPLATE = `
|
||||||
`
|
`
|
||||||
|
|
||||||
class Autocomplete extends SingleMixin(BaseAjax) {
|
class Autocomplete extends SingleMixin(BaseAjax) {
|
||||||
URL = 'https://geodatamine.fr/boundaries/search?text={q}'
|
|
||||||
|
|
||||||
createResult(item) {
|
createResult(item) {
|
||||||
return super.createResult({
|
return super.createResult({
|
||||||
value: item.id,
|
value: item.id,
|
||||||
|
@ -58,6 +56,7 @@ export class Importer {
|
||||||
}
|
}
|
||||||
const asPoint = container.querySelector('[name=aspoint]')
|
const asPoint = container.querySelector('[name=aspoint]')
|
||||||
this.autocomplete = new Autocomplete(container, {
|
this.autocomplete = new Autocomplete(container, {
|
||||||
|
url: `${this.baseUrl}/boundaries/search?text={q}`,
|
||||||
on_select: (choice) => {
|
on_select: (choice) => {
|
||||||
boundary = choice.item.value
|
boundary = choice.item.value
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in a new issue