]> git.openstreetmap.org Git - nominatim-ui.git/commitdiff
Helper check for details keywords (#160)
authormtmail <mtmail@gmx.net>
Mon, 31 May 2021 12:09:31 +0000 (14:09 +0200)
committerGitHub <noreply@github.com>
Mon, 31 May 2021 12:09:31 +0000 (14:09 +0200)
* Details page helper to check if place has 1 or more keywords

* add documentation hint how to run only one test file

CONTRIBUTE.md
src/pages/DetailsPage.svelte

index 9c184e462d7c2e7b73f2676d29a5ac97de95b364..c9103379afcef2456ae26ca98632507fe56301e1 100644 (file)
@@ -47,6 +47,12 @@ The `test/` setup uses [Mocha](https://mochajs.org/) to run tests. Tests use [Pu
    port. That's a rare setup but something https://nominatim.openstreetmap.org/ does
    so worth testing.
 
    port. That's a rare setup but something https://nominatim.openstreetmap.org/ does
    so worth testing.
 
+   To run a single test file only
+
+   ```
+   yarn run rollup -c && yarn run mocha test/details.js
+   ```
+
 * Run syntax linter (configuration in `.eslint.js`)
 
    ```
 * Run syntax linter (configuration in `.eslint.js`)
 
    ```
index baac1809e9c0eceba10507bdb0180309596a25d6..2c7f8ba6d16534fab44270af6fecdecdbf326cd5 100644 (file)
     }
   }
 
     }
   }
 
+  function place_has_keywords(aThisPlace) {
+    // Return false if Nominatim API sends 'keywords: { name: [], address: [] }'
+    return (
+      aThisPlace.keywords && aThisPlace.keywords.name && aThisPlace.keywords.address
+      && (aThisPlace.keywords.name.length > 0 || aThisPlace.keywords.address.length > 0)
+    );
+  }
+
   $: {
     let pageinfo = $page;
     if (pageinfo.tab === 'details') {
   $: {
     let pageinfo = $page;
     if (pageinfo.tab === 'details') {
             <tr class="all-columns"><td colspan="6"><h2>Keywords</h2></td></tr>
             {#if api_request_params.keywords}
 
             <tr class="all-columns"><td colspan="6"><h2>Keywords</h2></td></tr>
             {#if api_request_params.keywords}
 
-              {#if aPlace.keywords && (aPlace.keywords.name || aPlace.keywords.address) }
+              {#if place_has_keywords(aPlace)}
                 <tr class="all-columns"><td colspan="6"><h3>Name Keywords</h3></td></tr>
                 {#each aPlace.keywords.name as keyword}
                   <tr>
                 <tr class="all-columns"><td colspan="6"><h3>Name Keywords</h3></td></tr>
                 {#each aPlace.keywords.name as keyword}
                   <tr>