@fluid-topics/ft-search-context 1.3.44 → 1.3.46

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.
@@ -1,9 +1,10 @@
1
1
  import { FtSearchPageState } from "./model";
2
2
  import { FtReduxStore, ReduxWatcher } from "@fluid-topics/ft-wc-utils";
3
3
  import { FtSearchPageStateReducers } from "./redux";
4
- import { FtDateFilterTypeKeys, FtMetadataFilter, FtPublicClusterSortCriterion, FtSearchRequest, FtSearchScope, FtSearchSortCriterion, FtSuggestRequest, FtVirtualField } from "@fluid-topics/public-api";
4
+ import { FtDateFilterTypeKeys, FtMetadataFilter, FtPublicClusterSortCriterion, FtSearchKeywordMatch, FtSearchRequest, FtSearchScope, FtSearchSortCriterion, FtSuggestRequest, FtVirtualField } from "@fluid-topics/public-api";
5
5
  import { FtSearchService } from "./utils/FtSearchService";
6
6
  export declare const searchInDocumentTitlesOnlySelector: (s: FtSearchPageState) => boolean;
7
+ export declare const keywordMatchSelector: (s: FtSearchPageState) => boolean;
7
8
  export declare class ClearAllFiltersEvent extends Event {
8
9
  static eventName: string;
9
10
  constructor();
@@ -30,8 +31,10 @@ export declare class FtSearchStateManager {
30
31
  setFilters(filters: FtMetadataFilter[]): void;
31
32
  setClusterSortCriterion(criterions: FtPublicClusterSortCriterion[]): void;
32
33
  setSearchInDocumentTitlesOnly(searchInDocumentTitleOnly: boolean): void;
34
+ setKeywordMatch(matchAllKeywords?: FtSearchKeywordMatch): void;
33
35
  setVirtualField(virtualField: FtVirtualField): void;
34
36
  get searchInDocumentTitlesOnly(): boolean;
37
+ get keywordMatch(): boolean;
35
38
  clearAllFilters(): void;
36
39
  addFacet(id: string): void;
37
40
  replaceFacet(oldId: string, newId?: string): void;
@@ -1,9 +1,10 @@
1
1
  import { cancelable, CanceledPromiseError, Debouncer, watch } from "@fluid-topics/ft-wc-utils";
2
2
  import { createSearchPageStore } from "./redux";
3
- import { FtSearchScope, FtVirtualField } from "@fluid-topics/public-api";
3
+ import { FtSearchKeywordMatch, FtSearchScope, FtVirtualField } from "@fluid-topics/public-api";
4
4
  import { FtSearchService } from "./utils/FtSearchService";
5
5
  export const searchInDocumentTitlesOnlySelector = (s) => s.request.virtualField === FtVirtualField.TITLE_ONLY
6
6
  && s.request.scope === FtSearchScope.DOCUMENTS;
7
+ export const keywordMatchSelector = (s) => s.request.keywordMatch == FtSearchKeywordMatch.MANDATORY;
7
8
  class ClearAllFiltersEvent extends Event {
8
9
  constructor() {
9
10
  super(ClearAllFiltersEvent.eventName);
@@ -43,6 +44,7 @@ export class FtSearchStateManager {
43
44
  sortId: state.request.sortId,
44
45
  contentLocale: state.request.contentLocale,
45
46
  scope: state.request.scope,
47
+ keywordMatch: state.request.keywordMatch,
46
48
  };
47
49
  };
48
50
  this.service = service !== null && service !== void 0 ? service : new FtSearchService();
@@ -130,12 +132,18 @@ export class FtSearchStateManager {
130
132
  this.store.actions.setRequestScope(FtSearchScope.DEFAULT);
131
133
  }
132
134
  }
135
+ setKeywordMatch(matchAllKeywords) {
136
+ this.store.actions.setKeywordMatch(matchAllKeywords);
137
+ }
133
138
  setVirtualField(virtualField) {
134
139
  this.store.actions.setRequestVirtualField(virtualField);
135
140
  }
136
141
  get searchInDocumentTitlesOnly() {
137
142
  return searchInDocumentTitlesOnlySelector(this.store.getState());
138
143
  }
144
+ get keywordMatch() {
145
+ return keywordMatchSelector(this.store.getState());
146
+ }
139
147
  // Used in GWT
140
148
  clearAllFilters() {
141
149
  this.setFilters([]);
@@ -15,6 +15,7 @@ declare const searchPageStateReducers: {
15
15
  setRequestScope: (state: FtSearchPageState, action: PayloadAction<FtSearchPageState["request"]["scope"]>) => void;
16
16
  setOtherQueryParams: (state: FtSearchPageState, action: PayloadAction<FtSearchPageState["request"]["otherQueryParams"]>) => void;
17
17
  setRequestClusterSortCriterion: (state: FtSearchPageState, action: PayloadAction<FtSearchPageState["request"]["clusterSortCriterions"]>) => void;
18
+ setKeywordMatch: (state: FtSearchPageState, action: PayloadAction<FtSearchPageState["request"]["keywordMatch"]>) => void;
18
19
  };
19
20
  export type FtSearchPageStateReducers = typeof searchPageStateReducers;
20
21
  export declare const createSearchPageStore: (id: string) => FtReduxStore<FtSearchPageState, {
@@ -31,5 +32,6 @@ export declare const createSearchPageStore: (id: string) => FtReduxStore<FtSearc
31
32
  setRequestScope: (state: FtSearchPageState, action: PayloadAction<FtSearchPageState["request"]["scope"]>) => void;
32
33
  setOtherQueryParams: (state: FtSearchPageState, action: PayloadAction<FtSearchPageState["request"]["otherQueryParams"]>) => void;
33
34
  setRequestClusterSortCriterion: (state: FtSearchPageState, action: PayloadAction<FtSearchPageState["request"]["clusterSortCriterions"]>) => void;
35
+ setKeywordMatch: (state: FtSearchPageState, action: PayloadAction<FtSearchPageState["request"]["keywordMatch"]>) => void;
34
36
  }, import("redux").AnyAction>;
35
37
  export {};
@@ -42,6 +42,9 @@ const searchPageStateReducers = {
42
42
  var _a;
43
43
  state.request.clusterSortCriterions = (_a = action.payload) !== null && _a !== void 0 ? _a : [];
44
44
  },
45
+ setKeywordMatch: (state, action) => {
46
+ state.request.keywordMatch = action.payload;
47
+ },
45
48
  };
46
49
  export const createSearchPageStore = (id) => FtReduxStore.get({
47
50
  name: "ft-search-" + id,
@@ -57,6 +60,7 @@ export const createSearchPageStore = (id) => FtReduxStore.get({
57
60
  page: 1,
58
61
  perPage: 20,
59
62
  },
63
+ keywordMatch: undefined,
60
64
  },
61
65
  liveQuery: "",
62
66
  paging: undefined,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluid-topics/ft-search-context",
3
- "version": "1.3.44",
3
+ "version": "1.3.46",
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.44",
23
- "@fluid-topics/ft-wc-utils": "1.3.44",
22
+ "@fluid-topics/ft-app-context": "1.3.46",
23
+ "@fluid-topics/ft-wc-utils": "1.3.46",
24
24
  "lit": "3.1.0"
25
25
  },
26
26
  "devDependencies": {
27
- "@fluid-topics/public-api": "1.0.109"
27
+ "@fluid-topics/public-api": "1.0.110"
28
28
  },
29
- "gitHead": "a65783a64db6d2d22420bbcb424cf5d51e0483c6"
29
+ "gitHead": "d6cf25d6ed0dead8c7aff4f94a493c35d12f1392"
30
30
  }