wip: add quick help for overpass importer expressions syntax

This commit is contained in:
Yohan Boniface 2024-06-10 11:22:19 +02:00
parent c599082eca
commit c1ab57d952
2 changed files with 19 additions and 1 deletions

View file

@ -144,6 +144,22 @@ const ENTRIES = {
</ul> </ul>
</div> </div>
`, `,
overpassImporter: `
<div>
<h4>${translate('Overpass supported expressions')}</h4>
<ul>
<li>${translate('key (eg. building)')}</li>
<li>${translate('!key (eg. !name)')}</li>
<li>${translate('key=value (eg. building=yes')}</li>
<li>${translate('key!=value (eg. building!=yes')}</li>
<li>${translate('key~value (eg. name~Grisy')}</li>
<li>${translate('key="value|value2" (eg. name="Paris|Berlin")')}</li>
</ul>
<div>${translate('More info about Overpass syntax')}: <a href="https://wiki.openstreetmap.org/wiki/Overpass_API/Language_Guide">https://wiki.openstreetmap.org/wiki/Overpass_API/Language_Guide</a></div>
<div>${translate('For more complex needs, see')} <a href="https://overpass-turbo.eu/">https://overpass-turbo.eu/</a></div>
</div>
`,
} }
export default class Help { export default class Help {

View file

@ -5,7 +5,7 @@ import { translate } from '../i18n.js'
const TEMPLATE = ` const TEMPLATE = `
<h3>Overpass</h3> <h3>Overpass</h3>
<label> <label>
${translate('Selector')} <span data-help="overpassImporter">${translate('Expression')}</span>
<input type="text" placeholder="amenity=drinking_water" name="tags" /> <input type="text" placeholder="amenity=drinking_water" name="tags" />
</label> </label>
<label> <label>
@ -34,6 +34,7 @@ class Autocomplete extends SingleMixin(BaseAjax) {
export class Importer { export class Importer {
constructor(map, options) { constructor(map, options) {
this.map = map
this.name = 'Overpass' this.name = 'Overpass'
this.baseUrl = options?.url || 'https://overpass-api.de/api/interpreter' this.baseUrl = options?.url || 'https://overpass-api.de/api/interpreter'
} }
@ -53,6 +54,7 @@ export class Importer {
boundaryName = choice.item.label boundaryName = choice.item.label
}, },
}) })
this.map.help.parse(container)
const confirm = () => { const confirm = () => {
const outMode = container.querySelector('[name=out-mode]').value const outMode = container.querySelector('[name=out-mode]').value