aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--client/src/app/+search/search-filters.component.ts8
-rw-r--r--client/src/app/shared/shared-search/advanced-search.model.ts31
2 files changed, 18 insertions, 21 deletions
diff --git a/client/src/app/+search/search-filters.component.ts b/client/src/app/+search/search-filters.component.ts
index aaa4ecc5a..f9de04706 100644
--- a/client/src/app/+search/search-filters.component.ts
+++ b/client/src/app/+search/search-filters.component.ts
@@ -138,11 +138,11 @@ export class SearchFiltersComponent implements OnInit {
138 private loadOriginallyPublishedAtYears () { 138 private loadOriginallyPublishedAtYears () {
139 this.originallyPublishedStartYear = this.advancedSearch.originallyPublishedStartDate 139 this.originallyPublishedStartYear = this.advancedSearch.originallyPublishedStartDate
140 ? new Date(this.advancedSearch.originallyPublishedStartDate).getFullYear().toString() 140 ? new Date(this.advancedSearch.originallyPublishedStartDate).getFullYear().toString()
141 : null 141 : undefined
142 142
143 this.originallyPublishedEndYear = this.advancedSearch.originallyPublishedEndDate 143 this.originallyPublishedEndYear = this.advancedSearch.originallyPublishedEndDate
144 ? new Date(this.advancedSearch.originallyPublishedEndDate).getFullYear().toString() 144 ? new Date(this.advancedSearch.originallyPublishedEndDate).getFullYear().toString()
145 : null 145 : undefined
146 } 146 }
147 147
148 private loadFromDurationRange () { 148 private loadFromDurationRange () {
@@ -189,7 +189,7 @@ export class SearchFiltersComponent implements OnInit {
189 189
190 this.advancedSearch.originallyPublishedStartDate = start.toISOString() 190 this.advancedSearch.originallyPublishedStartDate = start.toISOString()
191 } else { 191 } else {
192 this.advancedSearch.originallyPublishedStartDate = null 192 this.advancedSearch.originallyPublishedStartDate = undefined
193 } 193 }
194 194
195 if (this.originallyPublishedEndYear) { 195 if (this.originallyPublishedEndYear) {
@@ -199,7 +199,7 @@ export class SearchFiltersComponent implements OnInit {
199 199
200 this.advancedSearch.originallyPublishedEndDate = end.toISOString() 200 this.advancedSearch.originallyPublishedEndDate = end.toISOString()
201 } else { 201 } else {
202 this.advancedSearch.originallyPublishedEndDate = null 202 this.advancedSearch.originallyPublishedEndDate = undefined
203 } 203 }
204 } 204 }
205 205
diff --git a/client/src/app/shared/shared-search/advanced-search.model.ts b/client/src/app/shared/shared-search/advanced-search.model.ts
index e40fd2e66..1375820da 100644
--- a/client/src/app/shared/shared-search/advanced-search.model.ts
+++ b/client/src/app/shared/shared-search/advanced-search.model.ts
@@ -40,9 +40,6 @@ export class AdvancedSearch {
40 searchTarget: SearchTargetType 40 searchTarget: SearchTargetType
41 resultType: AdvancedSearchResultType 41 resultType: AdvancedSearchResultType
42 42
43 // Filters we don't want to count, because they are mandatory
44 private silentFilters = new Set([ 'sort', 'searchTarget' ])
45
46 constructor (options?: { 43 constructor (options?: {
47 startDate?: string 44 startDate?: string
48 endDate?: string 45 endDate?: string
@@ -101,14 +98,7 @@ export class AdvancedSearch {
101 } 98 }
102 99
103 containsValues () { 100 containsValues () {
104 const obj = this.toUrlObject() 101 return this.size() !== 0
105 for (const k of Object.keys(obj)) {
106 if (this.silentFilters.has(k)) continue
107
108 if (this.isValidValue(obj[k])) return true
109 }
110
111 return false
112 } 102 }
113 103
114 reset () { 104 reset () {
@@ -193,12 +183,19 @@ export class AdvancedSearch {
193 size () { 183 size () {
194 let acc = 0 184 let acc = 0
195 185
196 const obj = this.toUrlObject() 186 if (this.isValidValue(this.startDate) || this.isValidValue(this.endDate)) acc++
197 for (const k of Object.keys(obj)) { 187 if (this.isValidValue(this.originallyPublishedStartDate) || this.isValidValue(this.originallyPublishedEndDate)) acc++
198 if (this.silentFilters.has(k)) continue 188
199 189 if (this.isValidValue(this.nsfw)) acc++
200 if (this.isValidValue(obj[k])) acc++ 190 if (this.isValidValue(this.categoryOneOf)) acc++
201 } 191 if (this.isValidValue(this.licenceOneOf)) acc++
192 if (this.isValidValue(this.languageOneOf)) acc++
193 if (this.isValidValue(this.tagsOneOf)) acc++
194 if (this.isValidValue(this.tagsAllOf)) acc++
195 if (this.isValidValue(this.durationMin) || this.isValidValue(this.durationMax)) acc++
196 if (this.isValidValue(this.isLive)) acc++
197 if (this.isValidValue(this.host)) acc++
198 if (this.isValidValue(this.resultType)) acc++
202 199
203 return acc 200 return acc
204 } 201 }