X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2F%2Bsearch%2Fsearch-filters.component.ts;h=f9de04706218d7106440e81a0d9d78e308fe56e9;hb=4e4c23c5b8d55ab0aa48a7be8c53ec71d1d7e796;hp=13ad61647412d449e64a54450fdd07b474c14060;hpb=02c01341f4dae30ec6b81fcb644952393d73c4a8;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/+search/search-filters.component.ts b/client/src/app/+search/search-filters.component.ts index 13ad61647..f9de04706 100644 --- a/client/src/app/+search/search-filters.component.ts +++ b/client/src/app/+search/search-filters.component.ts @@ -1,9 +1,9 @@ import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core' import { ServerService } from '@app/core' -import { VideoValidatorsService } from '@app/shared/shared-forms' import { AdvancedSearch } from '@app/shared/shared-search' -import { I18n } from '@ngx-translate/i18n-polyfill' -import { ServerConfig, VideoConstant } from '@shared/models' +import { HTMLServerConfig, VideoConstant } from '@shared/models' + +type FormOption = { id: string, label: string } @Component({ selector: 'my-search-filters', @@ -19,9 +19,9 @@ export class SearchFiltersComponent implements OnInit { videoLicences: VideoConstant[] = [] videoLanguages: VideoConstant[] = [] - publishedDateRanges: { id: string, label: string }[] = [] - sorts: { id: string, label: string }[] = [] - durationRanges: { id: string, label: string }[] = [] + publishedDateRanges: FormOption[] = [] + sorts: FormOption[] = [] + durationRanges: FormOption[] = [] publishedDateRange: string durationRange: string @@ -29,75 +29,63 @@ export class SearchFiltersComponent implements OnInit { originallyPublishedStartYear: string originallyPublishedEndYear: string - private serverConfig: ServerConfig + private serverConfig: HTMLServerConfig constructor ( - private i18n: I18n, - private videoValidatorsService: VideoValidatorsService, private serverService: ServerService ) { this.publishedDateRanges = [ - { - id: 'any_published_date', - label: this.i18n('Any') - }, { id: 'today', - label: this.i18n('Today') + label: $localize`Today` }, { id: 'last_7days', - label: this.i18n('Last 7 days') + label: $localize`Last 7 days` }, { id: 'last_30days', - label: this.i18n('Last 30 days') + label: $localize`Last 30 days` }, { id: 'last_365days', - label: this.i18n('Last 365 days') + label: $localize`Last 365 days` } ] this.durationRanges = [ - { - id: 'any_duration', - label: this.i18n('Any') - }, { id: 'short', - label: this.i18n('Short (< 4 min)') + label: $localize`Short (< 4 min)` }, { id: 'medium', - label: this.i18n('Medium (4-10 min)') + label: $localize`Medium (4-10 min)` }, { id: 'long', - label: this.i18n('Long (> 10 min)') + label: $localize`Long (> 10 min)` } ] this.sorts = [ { id: '-match', - label: this.i18n('Relevance') + label: $localize`Relevance` }, { id: '-publishedAt', - label: this.i18n('Publish date') + label: $localize`Publish date` }, { id: '-views', - label: this.i18n('Views') + label: $localize`Views` } ] } ngOnInit () { - this.serverConfig = this.serverService.getTmpConfig() - this.serverService.getConfig() - .subscribe(config => this.serverConfig = config) + this.serverConfig = this.serverService.getHTMLConfig() this.serverService.getVideoCategories().subscribe(categories => this.videoCategories = categories) this.serverService.getVideoLicences().subscribe(licences => this.videoLicences = licences) @@ -108,24 +96,26 @@ export class SearchFiltersComponent implements OnInit { this.loadOriginallyPublishedAtYears() } - inputUpdated () { + onDurationOrPublishedUpdated () { this.updateModelFromDurationRange() this.updateModelFromPublishedRange() this.updateModelFromOriginallyPublishedAtYears() } formUpdated () { - this.inputUpdated() + this.onDurationOrPublishedUpdated() this.filtered.emit(this.advancedSearch) } reset () { this.advancedSearch.reset() + + this.resetOriginalPublicationYears() + this.durationRange = undefined this.publishedDateRange = undefined - this.originallyPublishedStartYear = undefined - this.originallyPublishedEndYear = undefined - this.inputUpdated() + + this.onDurationOrPublishedUpdated() } resetField (fieldName: string, value?: any) { @@ -134,7 +124,7 @@ export class SearchFiltersComponent implements OnInit { resetLocalField (fieldName: string, value?: any) { this[fieldName] = value - this.inputUpdated() + this.onDurationOrPublishedUpdated() } resetOriginalPublicationYears () { @@ -148,11 +138,11 @@ export class SearchFiltersComponent implements OnInit { private loadOriginallyPublishedAtYears () { this.originallyPublishedStartYear = this.advancedSearch.originallyPublishedStartDate ? new Date(this.advancedSearch.originallyPublishedStartDate).getFullYear().toString() - : null + : undefined this.originallyPublishedEndYear = this.advancedSearch.originallyPublishedEndDate ? new Date(this.advancedSearch.originallyPublishedEndDate).getFullYear().toString() - : null + : undefined } private loadFromDurationRange () { @@ -199,7 +189,7 @@ export class SearchFiltersComponent implements OnInit { this.advancedSearch.originallyPublishedStartDate = start.toISOString() } else { - this.advancedSearch.originallyPublishedStartDate = null + this.advancedSearch.originallyPublishedStartDate = undefined } if (this.originallyPublishedEndYear) { @@ -209,7 +199,7 @@ export class SearchFiltersComponent implements OnInit { this.advancedSearch.originallyPublishedEndDate = end.toISOString() } else { - this.advancedSearch.originallyPublishedEndDate = null + this.advancedSearch.originallyPublishedEndDate = undefined } }