Skip to content

Angular 14+ support Β #1084

@rubenheymans

Description

@rubenheymans

Is your feature request related to a problem? Please describe πŸ™

It does not work in Angular 14+

Describe the solution you'd like πŸ€”

Please make it work in Angular 14+

Describe alternatives you've considered ✨

I tried using just the Autocomplete, but when I click on an item I want to go to the item URL without reloading.
Now it refreshes the page which is not what I want in a SPA.

  autocomplete({
      container: '#autocomplete',
      placeholder: 'Search for products',
      debug: true,
      getSources({ query }) {
        return [
          {
            sourceId: 'courses',
            getItems() {
              return getAlgoliaResults({
                searchClient,
                queries: [
                  {
                    indexName: 'vetfysio courses',
                    query,
                    params: {
                      hitsPerPage: 5,
                      attributesToSnippet: ['text:10'],
                      snippetEllipsisText: '…',
                    },
                  },
                ],
              });
            },
            templates: {
              item({ item, components, html }) {
                return html`<div class="aa-ItemWrapper">
                  <div routerLink="${item['url']}" class="aa-ItemContent">
                    <div class="aa-ItemContentBody">
                      <div class="aa-ItemContentTitle">
                        ${components.Highlight({
                          hit: item,
                          attribute: 'title',
                        })}
                      </div>
                      <div class="aa-ItemContentDescription">
                        ${components.Snippet({
                          hit: item,
                          attribute: 'text',
                        })}
                      </div>
                    </div>
                  </div>
                </div>`;
              },
            },
            onSelect({ itemUrl }) {
              console.log('itemurl', itemUrl);
            },
            getItemUrl({ item }) {
              return item['url'] as string;
            },
            noResults() {
              return 'No matching items.';
            },
            // ...
          },
        ];
      },
      navigator: {
        navigate({ itemUrl }) {
          console.log('itemurl navigate', itemUrl);
          window.location.assign(itemUrl);
         // Here I should be able to use the Angular routing
        },
      },
      // ...
    });```


Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions