X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fheader%2Fsearch-typeahead.component.ts;h=d2549315cd4f9db83cea26c84d9bca20c7844043;hb=8fd05f55dc56164b94adf8e58485a2e8bc9637ab;hp=6c8b8efee30f549898792919574178f988662d9f;hpb=5fb2e2888ce032c638e4b75d07458642f0833e52;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/header/search-typeahead.component.ts b/client/src/app/header/search-typeahead.component.ts index 6c8b8efee..d2549315c 100644 --- a/client/src/app/header/search-typeahead.component.ts +++ b/client/src/app/header/search-typeahead.component.ts @@ -1,11 +1,11 @@ import { of } from 'rxjs' -import { first, tap, delay } from 'rxjs/operators' +import { first, tap } from 'rxjs/operators' import { ListKeyManager } from '@angular/cdk/a11y' -import { AfterViewInit, Component, ElementRef, OnDestroy, OnInit, QueryList, ViewChild, ViewChildren, AfterViewChecked } from '@angular/core' +import { AfterViewChecked, Component, OnDestroy, OnInit, QueryList, ViewChildren } from '@angular/core' import { ActivatedRoute, Params, Router } from '@angular/router' import { AuthService, ServerService } from '@app/core' -import { ServerConfig } from '@shared/models' -import { SearchTargetType } from '@shared/models/search/search-target-query.model' +import { logger } from '@root-helpers/logger' +import { HTMLServerConfig, SearchTargetType } from '@shared/models' import { SuggestionComponent, SuggestionPayload, SuggestionPayloadType } from './suggestion.component' @Component({ @@ -13,7 +13,7 @@ import { SuggestionComponent, SuggestionPayload, SuggestionPayloadType } from '. templateUrl: './search-typeahead.component.html', styleUrls: [ './search-typeahead.component.scss' ] }) -export class SearchTypeaheadComponent implements OnInit, AfterViewInit, AfterViewChecked, OnDestroy { +export class SearchTypeaheadComponent implements OnInit, AfterViewChecked, OnDestroy { @ViewChildren(SuggestionComponent) suggestionItems: QueryList hasChannel = false @@ -21,7 +21,7 @@ export class SearchTypeaheadComponent implements OnInit, AfterViewInit, AfterVie areSuggestionsOpened = true search = '' - serverConfig: ServerConfig + serverConfig: HTMLServerConfig inThisChannelText: string @@ -43,20 +43,14 @@ export class SearchTypeaheadComponent implements OnInit, AfterViewInit, AfterVie this.route.queryParams .pipe(first(params => this.isOnSearch() && params.search !== undefined && params.search !== null)) .subscribe(params => this.search = params.search) - } - ngAfterViewInit () { - this.serverService.getConfig() + this.serverConfig = this.serverService.getHTMLConfig() + this.computeTypeahead() + + this.serverService.configReloaded .subscribe(config => { this.serverConfig = config - this.computeTypeahead() - - this.serverService.configReloaded - .subscribe(config => { - this.serverConfig = config - this.computeTypeahead() - }) }) } @@ -98,7 +92,7 @@ export class SearchTypeaheadComponent implements OnInit, AfterViewInit, AfterVie const activeIndex = this.suggestionItems.toArray().findIndex(i => i.result.default === true) if (activeIndex === -1) { - console.error('Cannot find active index.', { suggestionItems: this.suggestionItems }) + logger.error('Cannot find active index.', { suggestionItems: this.suggestionItems }) } this.updateItemsState(activeIndex) @@ -112,10 +106,10 @@ export class SearchTypeaheadComponent implements OnInit, AfterViewInit, AfterVie const searchIndexConfig = this.serverConfig.search.searchIndex if (!this.activeSearch) { - if (searchIndexConfig.enabled && searchIndexConfig.isDefaultSearch) { - this.activeSearch = 'search-instance' - } else { + if (searchIndexConfig.enabled && (searchIndexConfig.isDefaultSearch || searchIndexConfig.disableLocalSearch)) { this.activeSearch = 'search-index' + } else { + this.activeSearch = 'search-instance' } } @@ -159,7 +153,7 @@ export class SearchTypeaheadComponent implements OnInit, AfterViewInit, AfterVie } } - onSuggestionlicked (payload: SuggestionPayload) { + onSuggestionClicked (payload: SuggestionPayload) { this.doSearch(this.buildSearchTarget(payload)) } @@ -177,6 +171,11 @@ export class SearchTypeaheadComponent implements OnInit, AfterViewInit, AfterVie this.keyboardEventsManager.onKeydown(event) break + + case 'Enter': + event.stopPropagation() + this.doSearch() + break } } @@ -206,7 +205,7 @@ export class SearchTypeaheadComponent implements OnInit, AfterViewInit, AfterVie } private loadUserLanguagesIfNeeded (queryParams: any) { - if (queryParams && queryParams.languageOneOf) return of(queryParams) + if (queryParams?.languageOneOf) return of(queryParams) return this.authService.userInformationLoaded .pipe(