@fluid-topics/ft-search-context 1.3.14 → 1.3.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -27,7 +27,7 @@ export class FtSearchStateManager {
27
27
  this.buildSearchRequest = (state) => {
28
28
  return {
29
29
  ...state.request,
30
- facets: this.facetIds.map(id => ({ id })),
30
+ facets: this.facetIds.map((id) => ({ id })),
31
31
  };
32
32
  };
33
33
  this.suggestDebouncer = new Debouncer(300);
@@ -63,11 +63,11 @@ export class FtSearchStateManager {
63
63
  }
64
64
  setContentLocale(contentLocale) {
65
65
  var _a;
66
- let locales = (_a = this.store.getState().locales) !== null && _a !== void 0 ? _a : [];
67
- let previousContentLocale = this.store.getState().request.contentLocale;
66
+ const locales = (_a = this.store.getState().locales) !== null && _a !== void 0 ? _a : [];
67
+ const previousContentLocale = this.store.getState().request.contentLocale;
68
68
  if (contentLocale != previousContentLocale) {
69
69
  if (locales.length > 0) {
70
- const isKnown = (locale) => locales.some(l => l.lang == locale);
70
+ const isKnown = (locale) => locales.some((l) => l.lang == locale);
71
71
  if (!isKnown(contentLocale)) {
72
72
  contentLocale = isKnown(previousContentLocale) ? previousContentLocale : locales[0].lang;
73
73
  }
@@ -92,7 +92,7 @@ export class FtSearchStateManager {
92
92
  this.store.actions.setPageNumber(1);
93
93
  }
94
94
  setFilters(filters) {
95
- const cleanFilters = filters.filter(f => !f.valueFilter || f.valueFilter.values.length > 0);
95
+ const cleanFilters = filters.filter((f) => !f.valueFilter || f.valueFilter.values.length > 0);
96
96
  this.store.actions.setRequestFilters(cleanFilters);
97
97
  this.store.actions.setPageNumber(1);
98
98
  }
@@ -124,7 +124,7 @@ export class FtSearchStateManager {
124
124
  this.facetIds = [...this.facetIds, id];
125
125
  }
126
126
  replaceFacet(oldId, newId) {
127
- let facetIds = this.facetIds.filter(id => id != oldId);
127
+ const facetIds = this.facetIds.filter((id) => id != oldId);
128
128
  if (newId) {
129
129
  facetIds.push(newId);
130
130
  }
@@ -135,14 +135,14 @@ export class FtSearchStateManager {
135
135
  const request = this.store.getState().request;
136
136
  return [
137
137
  ...new Set([
138
- ...request.facets.map(f => f.id),
139
- ...((_a = request.metadataFilters) !== null && _a !== void 0 ? _a : []).map(f => f.key),
140
- ])
138
+ ...request.facets.map((f) => f.id),
139
+ ...((_a = request.metadataFilters) !== null && _a !== void 0 ? _a : []).map((f) => f.key),
140
+ ]),
141
141
  ];
142
142
  }
143
143
  set facetIds(ids) {
144
- let uniqIds = [...new Set(ids)];
145
- let facetsConf = uniqIds.map(id => ({ id: id }));
144
+ const uniqIds = [...new Set(ids)];
145
+ const facetsConf = uniqIds.map((id) => ({ id: id }));
146
146
  this.store.actions.setRequestFacets(facetsConf);
147
147
  }
148
148
  /** @deprecated */
@@ -150,65 +150,65 @@ export class FtSearchStateManager {
150
150
  this.setValueFilter(key, values);
151
151
  }
152
152
  setValueFilter(key, values) {
153
- let existingFilters = this.store.getState().request.metadataFilters;
154
- let newFilter = {
153
+ const existingFilters = this.store.getState().request.metadataFilters;
154
+ const newFilter = {
155
155
  key: key,
156
156
  valueFilter: {
157
157
  values: values,
158
158
  negative: false,
159
159
  },
160
160
  };
161
- let filters = [
162
- ...existingFilters.filter(f => !f.valueFilter),
163
- ...existingFilters.filter(f => f.valueFilter && f.key !== newFilter.key),
164
- newFilter
161
+ const filters = [
162
+ ...existingFilters.filter((f) => !f.valueFilter),
163
+ ...existingFilters.filter((f) => f.valueFilter && f.key !== newFilter.key),
164
+ newFilter,
165
165
  ];
166
166
  this.setFilters(filters);
167
167
  }
168
168
  setDateFilter(key, dateType) {
169
- let existingFilters = this.store.getState().request.metadataFilters;
170
- let newFilter = {
169
+ const existingFilters = this.store.getState().request.metadataFilters;
170
+ const newFilter = {
171
171
  key: key,
172
172
  dateFilter: {
173
- type: dateType
173
+ type: dateType,
174
174
  },
175
175
  };
176
- let filters = [
177
- ...existingFilters.filter(f => !f.dateFilter),
178
- ...existingFilters.filter(f => f.dateFilter && f.key !== newFilter.key),
179
- newFilter
176
+ const filters = [
177
+ ...existingFilters.filter((f) => !f.dateFilter),
178
+ ...existingFilters.filter((f) => f.dateFilter && f.key !== newFilter.key),
179
+ newFilter,
180
180
  ];
181
181
  this.setFilters(filters);
182
182
  }
183
183
  removeDateFilter(key) {
184
- let existingFilters = this.store.getState().request.metadataFilters;
184
+ const existingFilters = this.store.getState().request.metadataFilters;
185
185
  const filters = [
186
- ...existingFilters.filter(f => !f.dateFilter),
187
- ...existingFilters.filter(f => f.dateFilter && f.key !== key),
186
+ ...existingFilters.filter((f) => !f.dateFilter),
187
+ ...existingFilters.filter((f) => f.dateFilter && f.key !== key),
188
188
  ];
189
189
  this.setFilters(filters);
190
190
  }
191
191
  setRangeFilter(key, from, to) {
192
- let existingFilters = this.store.getState().request.metadataFilters;
193
- let newFilter = {
192
+ const existingFilters = this.store.getState().request.metadataFilters;
193
+ const newFilter = {
194
194
  key: key,
195
195
  rangeFilter: {
196
196
  from: from,
197
- to: to
197
+ to: to,
198
198
  },
199
199
  };
200
- let filters = [
201
- ...existingFilters.filter(f => !f.rangeFilter),
202
- ...existingFilters.filter(f => f.rangeFilter && f.key !== newFilter.key),
203
- newFilter
200
+ const filters = [
201
+ ...existingFilters.filter((f) => !f.rangeFilter),
202
+ ...existingFilters.filter((f) => f.rangeFilter && f.key !== newFilter.key),
203
+ newFilter,
204
204
  ];
205
205
  this.setFilters(filters);
206
206
  }
207
207
  removeRangeFilter(key) {
208
- let existingFilters = this.store.getState().request.metadataFilters;
208
+ const existingFilters = this.store.getState().request.metadataFilters;
209
209
  const filters = [
210
- ...existingFilters.filter(f => !f.rangeFilter),
211
- ...existingFilters.filter(f => f.rangeFilter && f.key !== key),
210
+ ...existingFilters.filter((f) => !f.rangeFilter),
211
+ ...existingFilters.filter((f) => f.rangeFilter && f.key !== key),
212
212
  ];
213
213
  this.setFilters(filters);
214
214
  }
@@ -218,7 +218,7 @@ export class FtSearchStateManager {
218
218
  setRequest(request) {
219
219
  this.store.actions.setRequest({
220
220
  ...request,
221
- facets: this.store.getState().request.facets
221
+ facets: this.store.getState().request.facets,
222
222
  });
223
223
  this.store.actions.liveQuery(request.query);
224
224
  this.store.actions.setPageNumber(1);
@@ -245,19 +245,21 @@ export class FtSearchStateManager {
245
245
  this.store.actions.paging(undefined);
246
246
  if (this.ignoreEmptyQuery && request.query.length == 0) {
247
247
  this.store.actions.results(undefined);
248
+ this.store.actions.announcements(undefined);
248
249
  this.store.actions.facets(undefined);
249
250
  this.store.actions.spellcheck(undefined);
250
251
  }
251
252
  else {
252
253
  this.cancelableSearch = cancelable(this.service.launchSearch(request));
253
254
  const results = await this.cancelableSearch;
255
+ this.store.actions.announcements(results.announcements);
254
256
  if (results.paging.currentPage <= 1) {
255
257
  this.store.actions.results(results.results);
256
258
  this.store.actions.facets(results.facets);
257
259
  this.store.actions.spellcheck(results.spellcheck);
258
260
  }
259
261
  else {
260
- let newResults = ((_b = this.store.getState().results) !== null && _b !== void 0 ? _b : []).concat(results.results);
262
+ const newResults = ((_b = this.store.getState().results) !== null && _b !== void 0 ? _b : []).concat(results.results);
261
263
  this.store.actions.results(newResults);
262
264
  // Focus on first new result
263
265
  this.store.commands.clear(/^focus-result-/);
@@ -278,7 +280,7 @@ export class FtSearchStateManager {
278
280
  try {
279
281
  (_a = this.cancelableSuggest) === null || _a === void 0 ? void 0 : _a.cancel();
280
282
  this.cancelableSuggest = cancelable(this.service.launchSuggest(request));
281
- let results = await this.cancelableSuggest;
283
+ const results = await this.cancelableSuggest;
282
284
  this.store.actions.suggestResults(results.suggestions);
283
285
  }
284
286
  catch (e) {
@@ -293,6 +295,7 @@ export class FtSearchStateManager {
293
295
  clearResults() {
294
296
  this.store.actions.paging(undefined);
295
297
  this.store.actions.results(undefined);
298
+ this.store.actions.announcements(undefined);
296
299
  this.store.actions.facets(undefined);
297
300
  this.store.actions.spellcheck(undefined);
298
301
  }
@@ -1,9 +1,10 @@
1
- import { FtSearchFacet, FtSearchLocale, FtSearchResultCluster, FtSearchResultsPageInfo, FtSpellcheck, FtSuggestResult } from "@fluid-topics/public-api";
1
+ import { FtSearchFacet, FtSearchLocale, FtSearchResultAnnouncement, FtSearchResultCluster, FtSearchResultsPageInfo, FtSpellcheck, FtSuggestResult } from "@fluid-topics/public-api";
2
2
  import { EnrichedFtSearchRequest } from "@fluid-topics/ft-wc-utils";
3
3
  export interface FtSearchPageState {
4
4
  locales: Array<FtSearchLocale> | undefined;
5
5
  request: EnrichedFtSearchRequest;
6
6
  results: Array<FtSearchResultCluster> | undefined;
7
+ announcements: Array<FtSearchResultAnnouncement> | undefined;
7
8
  facets: Array<FtSearchFacet> | undefined;
8
9
  paging: FtSearchResultsPageInfo | undefined;
9
10
  spellcheck: FtSpellcheck | undefined;
@@ -60,7 +60,8 @@ export const createSearchPageStore = (id) => FtReduxStore.get({
60
60
  spellcheck: undefined,
61
61
  locales: [],
62
62
  results: undefined,
63
- suggestResults: undefined
63
+ announcements: undefined,
64
+ suggestResults: undefined,
64
65
  },
65
- reducers: searchPageStateReducers
66
+ reducers: searchPageStateReducers,
66
67
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluid-topics/ft-search-context",
3
- "version": "1.3.14",
3
+ "version": "1.3.16",
4
4
  "description": "Context block for integrated search components",
5
5
  "keywords": [
6
6
  "Lit"
@@ -19,12 +19,12 @@
19
19
  "url": "ssh://git@scm.mrs.antidot.net:2222/fluidtopics/ft-web-components.git"
20
20
  },
21
21
  "dependencies": {
22
- "@fluid-topics/ft-app-context": "1.3.14",
23
- "@fluid-topics/ft-wc-utils": "1.3.14",
22
+ "@fluid-topics/ft-app-context": "1.3.16",
23
+ "@fluid-topics/ft-wc-utils": "1.3.16",
24
24
  "lit": "3.1.0"
25
25
  },
26
26
  "devDependencies": {
27
- "@fluid-topics/public-api": "1.0.100"
27
+ "@fluid-topics/public-api": "1.0.101"
28
28
  },
29
- "gitHead": "18f0f8e7a68ec235ee6838c4f86002821393322e"
29
+ "gitHead": "092d409b397263ffef1f860386137eea8e5f7c2c"
30
30
  }