@rh-support/cases 1.0.4 → 1.0.6

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 +1 @@
1
- {"version":3,"file":"CaseList.d.ts","sourceRoot":"","sources":["../../../../src/components/case-list/CaseList.tsx"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,CAAC;AAChC,OAAO,0BAA0B,CAAC;AA4BlC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAKH,0BAA0B,EAI7B,MAAM,mBAAmB,CAAC;AAO3B,OAAO,EAAE,mBAAmB,EAAe,MAAM,cAAc,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,IAAI,CAAC;AAK1C,OAAO,EAAgB,WAAW,EAA2B,MAAM,uBAAuB,CAAC;AAmC3F,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,uBAAwB,SAAQ,cAAc;IAC3D,YAAY,EAAE,cAAc,EAAE,CAAC;CAClC;AAED,oBAAY,YAAY,GAAG,0BAA0B,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;AAM5F,MAAM,WAAW,gBAAgB;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,eAkfrC"}
1
+ {"version":3,"file":"CaseList.d.ts","sourceRoot":"","sources":["../../../../src/components/case-list/CaseList.tsx"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,CAAC;AAChC,OAAO,0BAA0B,CAAC;AA4BlC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAKH,0BAA0B,EAI7B,MAAM,mBAAmB,CAAC;AAO3B,OAAO,EAAE,mBAAmB,EAAe,MAAM,cAAc,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,IAAI,CAAC;AAK1C,OAAO,EAAgB,WAAW,EAA2B,MAAM,uBAAuB,CAAC;AAmC3F,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,uBAAwB,SAAQ,cAAc;IAC3D,YAAY,EAAE,cAAc,EAAE,CAAC;CAClC;AAED,oBAAY,YAAY,GAAG,0BAA0B,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;AAM5F,MAAM,WAAW,gBAAgB;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,eAsfrC"}
@@ -114,11 +114,14 @@ export function CaseList(props) {
114
114
  function saveFilterQueryInUserPreferences() {
115
115
  if (isNoFilterApplied(filterState))
116
116
  return;
117
+ const type = filterState.filterQueryInfo.type;
117
118
  const recentSerach = {
118
- filterState: filterState.filterInfo,
119
+ filterState: type === CaseSearchQueryType.BASIC ? filterState.filterInfo : {},
119
120
  sortState: filterState.sortInfo,
120
- queryString: filterState.filterQueryInfo.queryString,
121
- type: filterState.filterQueryInfo.type,
121
+ queryString: type === CaseSearchQueryType.BASIC
122
+ ? filterState.filterQueryInfo.queryString
123
+ : filterState.filterQueryInfo.parsedQuery,
124
+ type,
122
125
  };
123
126
  try {
124
127
  updateUserPreferences(dispatchToGlobalMetadataReducer, loggedInUserRights.data.getSSOUsername(), [{ key: UserPreferencesKeys.mostRecentSearch, value: JSON.stringify(recentSerach) }], 'add');
@@ -1 +1 @@
1
- {"version":3,"file":"AdvanceSearch.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-search/AdvanceSearch.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAKhE,UAAU,MAAM;IACZ,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC5D,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,EAAE,CAAC,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACzE,0BAA0B,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,eAgT1C"}
1
+ {"version":3,"file":"AdvanceSearch.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-search/AdvanceSearch.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAIhE,UAAU,MAAM;IACZ,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC5D,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,EAAE,CAAC,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACzE,0BAA0B,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,eAwS1C"}
@@ -5,15 +5,13 @@ import isEmpty from 'lodash/isEmpty';
5
5
  import React, { useContext, useEffect, useRef, useState } from 'react';
6
6
  import { Trans, useTranslation } from 'react-i18next';
7
7
  import { CaseSearchQueryType } from '../../../enums/caseSearch';
8
- import { CaseListFilterDispatchContext, CaseListFilterStateContext } from '../CaseListFilterContext';
9
- import { updateFilterQuery } from '../CaseListFilterReducer';
8
+ import { CaseListFilterStateContext } from '../CaseListFilterContext';
10
9
  import useAdvanceSearchParser from './useAdvanceSearchParser';
11
10
  export function AdvanceSearch(props) {
12
11
  const { t } = useTranslation();
13
12
  const filterState = useContext(CaseListFilterStateContext);
14
13
  const { filterQueryInfo } = filterState;
15
14
  const isFirstMountRef = useRef(true);
16
- const dispatch = useContext(CaseListFilterDispatchContext);
17
15
  const [inputString, setInputString] = useState('');
18
16
  const [autoCompleteList, setAutoCompleteList] = useState([]);
19
17
  const dropdownWrapperRef = useRef(null);
@@ -35,7 +33,12 @@ export function AdvanceSearch(props) {
35
33
  setIsParsingSuccessful(false);
36
34
  props.onAdvancedSearchValidation(false);
37
35
  parserErrorRef.current = e;
38
- autoCompleteSetup(e.expected, inputString.substring(e.location.start.offset, inputString.length));
36
+ // sometimes a race condition happens. Before parse js runs successfully we
37
+ // reach to this line because of that wrapped this line in try/catch
38
+ try {
39
+ autoCompleteSetup(e.expected, inputString.substring(e.location.start.offset, inputString.length));
40
+ }
41
+ catch (_a) { }
39
42
  }
40
43
  };
41
44
  const { parse, parseSafe, parserRef } = useAdvanceSearchParser({ onInit: parseQuery });
@@ -200,20 +203,6 @@ export function AdvanceSearch(props) {
200
203
  props.onSearchSubmit && props.onSearchSubmit(CaseSearchQueryType.ADVANCED, parsedQuery);
201
204
  };
202
205
  const onBasicClick = () => {
203
- var _a, _b;
204
- if (inputString) {
205
- if (((_a = filterState.filterQueryInfo) === null || _a === void 0 ? void 0 : _a.queryString) === '') {
206
- props.onSearchValChange && props.onSearchValChange('');
207
- }
208
- updateFilterQuery(dispatch, {
209
- type: CaseSearchQueryType.BASIC,
210
- queryString: ((_b = filterState.filterQueryInfo) === null || _b === void 0 ? void 0 : _b.queryString) || '',
211
- parsedQuery: '',
212
- });
213
- }
214
- else {
215
- updateFilterQuery(dispatch, Object.assign(Object.assign({}, filterState.filterQueryInfo), { type: CaseSearchQueryType.BASIC }));
216
- }
217
206
  props.onSearchTypeChange && props.onSearchTypeChange(CaseSearchQueryType.BASIC);
218
207
  };
219
208
  const isQueryInValid = inputString && !isParsingSuccessful;
@@ -1 +1 @@
1
- {"version":3,"file":"BookmarkedSearchesSelector.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-search/BookmarkedSearchesSelector.tsx"],"names":[],"mappings":"AAwBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAWhE,UAAU,MAAM;IACZ,uBAAuB,EAAE,MAAM,CAAC;IAChC,iBAAiB,EAAE,mBAAmB,CAAC;IACvC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,sBAAsB,EAAE,MAAM,CAAC;CAClC;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,eAiRvD"}
1
+ {"version":3,"file":"BookmarkedSearchesSelector.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-search/BookmarkedSearchesSelector.tsx"],"names":[],"mappings":"AAwBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAahE,UAAU,MAAM;IACZ,uBAAuB,EAAE,MAAM,CAAC;IAChC,iBAAiB,EAAE,mBAAmB,CAAC;IACvC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,sBAAsB,EAAE,MAAM,CAAC;CAClC;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,eAoSvD"}
@@ -20,13 +20,15 @@ import isEqual from 'lodash/isEqual';
20
20
  import React, { useContext, useEffect, useRef, useState } from 'react';
21
21
  import { Trans, useTranslation } from 'react-i18next';
22
22
  import { CaseSearchQueryType } from '../../../enums/caseSearch';
23
+ import { createFilterStateFromAdvancedQuery } from '../../../utils/caseSearchUtils';
23
24
  import { CaseListFilterDispatchContext, CaseListFilterStateContext, initialCaseFilterState, } from '../CaseListFilterContext';
24
25
  import { isNoFilterApplied, isOnlyDefaultFilterApplied } from '../CaseListFilterHelpers';
25
- import { clearFilters, updateFilterQuery, updateFilterState, updateSort } from '../CaseListFilterReducer';
26
+ import { clearFilters, updateFilterState, updateSort } from '../CaseListFilterReducer';
26
27
  import { SaveCaseSearchModal } from './SaveCaseSearchModal';
28
+ import useAdvanceSearchParser from './useAdvanceSearchParser';
27
29
  export function BookmarkedSearchesSelector(props) {
28
30
  const { t } = useTranslation();
29
- const { globalMetadataState: { hydraUserPreferences }, } = useContext(GlobalMetadataStateContext);
31
+ const { globalMetadataState, globalMetadataState: { hydraUserPreferences }, } = useContext(GlobalMetadataStateContext);
30
32
  const dispatch = useContext(CaseListFilterDispatchContext);
31
33
  const [bookmarkedSearches, setBookmarkedSearches] = useState({});
32
34
  const [mostRecentSearch, setMostRecentSearch] = useState({});
@@ -37,6 +39,7 @@ export function BookmarkedSearchesSelector(props) {
37
39
  const [isMenuOpen, toggleMenu] = useState(false);
38
40
  const isUpdatingFilters = useRef(false);
39
41
  const [isAddingBookmarkSearch, setIsAddingBookmarkSearch] = useState(false);
42
+ const { parse } = useAdvanceSearchParser({ onInit: () => { } });
40
43
  const [selectedSearchNameToEdit, setSelectedSearchNameToEdit] = useState('');
41
44
  const [userPreferredSearch, setUserPreferredSearch] = useState('');
42
45
  useEffect(() => {
@@ -119,9 +122,18 @@ export function BookmarkedSearchesSelector(props) {
119
122
  clearFilters(dispatch, true);
120
123
  setSelectedSearch(selectedItem);
121
124
  const { filterState: filterStateSaved, queryString, type, sortState } = searchQuery;
125
+ if (type === CaseSearchQueryType.ADVANCED) {
126
+ const newFilterState = createFilterStateFromAdvancedQuery(parse(queryString).replace(/ and /g, ' AND ').replace(/ or /g, ' OR '), globalMetadataState, initialCaseFilterState, queryString, type);
127
+ updateFilterState(dispatch, newFilterState);
128
+ }
129
+ else {
130
+ updateFilterState(dispatch, Object.assign(Object.assign({}, initialCaseFilterState), { filterQueryInfo: {
131
+ queryString: queryString || '',
132
+ type: type || CaseSearchQueryType.BASIC,
133
+ parsedQuery: '',
134
+ }, filterInfo: Object.assign(Object.assign({}, initialCaseFilterState.filterInfo), filterStateSaved) }));
135
+ }
122
136
  // update filters with new value
123
- updateFilterQuery(dispatch, { queryString: queryString || '', type: type || CaseSearchQueryType.BASIC });
124
- updateFilterState(dispatch, { filterInfo: Object.assign(Object.assign({}, initialCaseFilterState.filterInfo), filterStateSaved) });
125
137
  sortState && updateSort(dispatch, sortState);
126
138
  doToggle && toggleMenu(!isMenuOpen);
127
139
  isUpdatingFilters.current = false;
@@ -1 +1 @@
1
- {"version":3,"file":"CaseSearch.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-search/CaseSearch.tsx"],"names":[],"mappings":"AAkBA,UAAU,MAAM;IACZ,sBAAsB,EAAE,MAAM,CAAC;CAClC;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,eAuKvC"}
1
+ {"version":3,"file":"CaseSearch.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-search/CaseSearch.tsx"],"names":[],"mappings":"AAsBA,UAAU,MAAM;IACZ,sBAAsB,EAAE,MAAM,CAAC;CAClC;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,eAqLvC"}
@@ -2,13 +2,13 @@ import { Button, SearchInput } from '@patternfly/react-core';
2
2
  import { GlobalMetadataStateContext } from '@rh-support/react-context';
3
3
  import { AbilityContext, CaseListFields, resourceActions, resources } from '@rh-support/user-permissions';
4
4
  import isEmpty from 'lodash/isEmpty';
5
- import React, { useContext, useEffect, useState } from 'react';
5
+ import React, { useCallback, useContext, useEffect, useState } from 'react';
6
6
  import { Trans, useTranslation } from 'react-i18next';
7
7
  import { CaseSearchQueryType } from '../../../enums/caseSearch';
8
8
  import { createFilterStateFromAdvancedQuery, createUserFriendlyQueryFromFilterStateAdvancedSearch, } from '../../../utils/caseSearchUtils';
9
9
  import { useCaseListStateContext } from '../CaseListContext';
10
- import { CaseListFilterDispatchContext, CaseListFilterStateContext } from '../CaseListFilterContext';
11
- import { updateFilterQuery, updateFilterState } from '../CaseListFilterReducer';
10
+ import { CaseListFilterDispatchContext, CaseListFilterStateContext, initialPaginationInfo, } from '../CaseListFilterContext';
11
+ import { initialFilterInfo, updateFilterQuery, updateFilterState } from '../CaseListFilterReducer';
12
12
  import { AdvanceSearch } from './AdvanceSearch';
13
13
  import { BookmarkedSearchesSelector } from './BookmarkedSearchesSelector';
14
14
  export function CaseSearch(props) {
@@ -19,35 +19,38 @@ export function CaseSearch(props) {
19
19
  const filterState = useContext(CaseListFilterStateContext);
20
20
  const { filterQueryInfo } = filterState;
21
21
  const [searchVal, setSearchVal] = useState(filterQueryInfo.queryString);
22
- const [searchType, setSearchType] = useState(CaseSearchQueryType.BASIC);
23
22
  const [isAdvancedSearchValid, setIsAdvancedSearchValid] = useState(true);
24
23
  const dispatch = useContext(CaseListFilterDispatchContext);
25
24
  const { isFetching } = useCaseListStateContext();
25
+ const getType = useCallback(() => (filterQueryInfo === null || filterQueryInfo === void 0 ? void 0 : filterQueryInfo.type) || CaseSearchQueryType.BASIC, [filterQueryInfo === null || filterQueryInfo === void 0 ? void 0 : filterQueryInfo.type]);
26
26
  // on queryString and parsedQuery change need to update search
27
27
  useEffect(() => {
28
- setSearchVal(filterQueryInfo.queryString);
29
- }, [filterQueryInfo]);
30
- useEffect(() => {
31
- if (searchType === filterQueryInfo.type)
32
- return;
33
- setSearchType(filterQueryInfo.type);
34
- // eslint-disable-next-line react-hooks/exhaustive-deps
35
- }, [filterQueryInfo.type]);
36
- const onSearchValChange = (value) => {
37
- if (isEmpty(value.trim())) {
38
- clearSearchVal();
28
+ if (getType() === CaseSearchQueryType.ADVANCED) {
29
+ setSearchVal(filterQueryInfo === null || filterQueryInfo === void 0 ? void 0 : filterQueryInfo.parsedQuery);
39
30
  }
40
31
  else {
41
- setSearchVal(value.trim());
32
+ setSearchVal(filterQueryInfo.queryString);
42
33
  }
34
+ }, [filterQueryInfo, getType]);
35
+ const onSearchValChange = (value) => {
36
+ setSearchVal(value === null || value === void 0 ? void 0 : value.trim());
43
37
  };
44
38
  const clearSearchVal = () => {
45
39
  setSearchVal('');
46
40
  (filterQueryInfo === null || filterQueryInfo === void 0 ? void 0 : filterQueryInfo.queryString) &&
47
- updateFilterQuery(dispatch, { type: searchType, queryString: '', parsedQuery: '' });
41
+ updateFilterQuery(dispatch, { type: getType(), queryString: '', parsedQuery: '' });
42
+ };
43
+ const clearAdvancedSearchVal = () => {
44
+ setSearchVal('');
45
+ // clear search but keep type and sort info
46
+ updateFilterState(dispatch, Object.assign(Object.assign({}, filterState), { filterInfo: initialFilterInfo, filterQueryInfo: {
47
+ queryString: '',
48
+ parsedQuery: '',
49
+ type: CaseSearchQueryType.ADVANCED,
50
+ }, paginationInfo: initialPaginationInfo }));
48
51
  };
49
52
  const onCaseSearch = (parsedQuery = '', queryString = searchVal) => {
50
- updateFilterQuery(dispatch, { type: searchType, queryString, parsedQuery });
53
+ updateFilterQuery(dispatch, { type: getType(), queryString, parsedQuery });
51
54
  };
52
55
  const onCaseSearchAdvanced = (type, parsedQuery = '', queryStringInputBox = searchVal) => {
53
56
  const newFilterState = createFilterStateFromAdvancedQuery(parsedQuery.replace(/ and /g, ' AND ').replace(/ or /g, ' OR '), globalMetadataState, filterState, queryStringInputBox, type);
@@ -64,7 +67,9 @@ export function CaseSearch(props) {
64
67
  parsedQuery,
65
68
  });
66
69
  }
67
- setSearchType(newType);
70
+ else {
71
+ updateFilterQuery(dispatch, Object.assign(Object.assign({}, filterState.filterQueryInfo), { type: CaseSearchQueryType.BASIC }));
72
+ }
68
73
  };
69
74
  // To check is Search Button is disabled or not
70
75
  const isSearchButtonDisabled = isEmpty(filterQueryInfo.queryString) && isEmpty(searchVal === null || searchVal === void 0 ? void 0 : searchVal.trim());
@@ -79,7 +84,7 @@ export function CaseSearch(props) {
79
84
  const handleSubmit = (ev) => {
80
85
  ev.preventDefault();
81
86
  // for advance search submit should only happen on btn click or ctrl+enter which will be handled manually
82
- searchType === CaseSearchQueryType.BASIC && onCaseSearch();
87
+ getType() === CaseSearchQueryType.BASIC && onCaseSearch();
83
88
  };
84
89
  const renderBasicSearch = () => {
85
90
  return (React.createElement(React.Fragment, null,
@@ -92,10 +97,10 @@ export function CaseSearch(props) {
92
97
  };
93
98
  const renderAdvanceSearch = () => {
94
99
  return canUseAdvancedSearch ? (React.createElement(React.Fragment, null,
95
- React.createElement(AdvanceSearch, { onSearchValChange: onSearchValChange, onSearchClear: clearSearchVal, onSearchSubmit: onCaseSearchAdvanced, onSearchTypeChange: onSearchTypeChange, onAdvancedSearchValidation: (isValid) => setIsAdvancedSearchValid(isValid) }))) : (React.createElement(React.Fragment, null));
100
+ React.createElement(AdvanceSearch, { onSearchValChange: onSearchValChange, onSearchClear: clearAdvancedSearchVal, onSearchSubmit: onCaseSearchAdvanced, onSearchTypeChange: onSearchTypeChange, onAdvancedSearchValidation: (isValid) => setIsAdvancedSearchValid(isValid) }))) : (React.createElement(React.Fragment, null));
96
101
  };
97
102
  return (React.createElement(React.Fragment, null,
98
103
  React.createElement("form", { onSubmit: handleSubmit, onKeyDown: handleSearchInputKeyDown },
99
- React.createElement("div", { className: "form-group case-search-form-group" }, CaseSearchQueryType.BASIC === searchType ? renderBasicSearch() : renderAdvanceSearch())),
100
- React.createElement(BookmarkedSearchesSelector, { currentCaseSearchString: searchVal === null || searchVal === void 0 ? void 0 : searchVal.trim(), currentSearchType: searchType, isAdvancedSearchValid: isAdvancedSearchValid, defaultSavedSearchName: props.defaultSavedSearchName })));
104
+ React.createElement("div", { className: "form-group case-search-form-group" }, CaseSearchQueryType.BASIC === getType() ? renderBasicSearch() : renderAdvanceSearch())),
105
+ React.createElement(BookmarkedSearchesSelector, { currentCaseSearchString: searchVal === null || searchVal === void 0 ? void 0 : searchVal.trim(), currentSearchType: getType(), isAdvancedSearchValid: isAdvancedSearchValid, defaultSavedSearchName: props.defaultSavedSearchName })));
101
106
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useAdvanceSearchParser.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-search/useAdvanceSearchParser.tsx"],"names":[],"mappings":"AAQA,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAAE,MAAM,EAAE;;CAAA;yBASzB,MAAM;6BAIF,MAAM;;EAwLzC"}
1
+ {"version":3,"file":"useAdvanceSearchParser.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-search/useAdvanceSearchParser.tsx"],"names":[],"mappings":"AAQA,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAAE,MAAM,EAAE;;CAAA;yBASzB,MAAM;6BAIF,MAAM;;EA0LzC"}
@@ -50,7 +50,7 @@ export default function useAdvanceSearchParser({ onInit }) {
50
50
 
51
51
  andSequence = parts:(" and " sequencePart)+ { return [].concat.apply([], parts).join(""); }
52
52
  orSequence = parts:(" or " sequencePart)+ { return [].concat.apply([], parts).join(""); }
53
- sequencePart = criteria / "(" sq:sequence ")" { return '(' + sq + ')' }
53
+ sequencePart = criteria / "("__ sq:sequence __")" { return '(' + sq + ')' }
54
54
 
55
55
  criteria = basicCriteria / notCriteria
56
56
  notCriteria = "-"criteria:basicCriteria {return '-' + criteria; }
@@ -169,6 +169,8 @@ export default function useAdvanceSearchParser({ onInit }) {
169
169
  / accountNameMultipleValue / _
170
170
  accountNameMultipleValue = "(" val:(accountNameValue)+ ")" { return joinByOr(val); }
171
171
 
172
+ __ = [ ]*
173
+
172
174
  _ "whitespace"
173
175
  = [ \\t\\r\\n\\f]+
174
176
 
@@ -19,7 +19,7 @@ export declare const fieldNameToSolrFieldMapping: {
19
19
  export declare const advanceSearchFieldNameToSolrFieldMapping: {
20
20
  case_24_7: string;
21
21
  case_is_cep: string;
22
- case_accountNumber: string;
22
+ case_account_name: string;
23
23
  case_number: string;
24
24
  case_owner_sso_username: string;
25
25
  case_lastModifiedByName: string;
@@ -35,6 +35,7 @@ export declare const advanceSearchFieldNameToSolrFieldMapping: {
35
35
  case_closedDate: string;
36
36
  case_product: string;
37
37
  case_status: string;
38
+ case_accountNumber: string;
38
39
  case_folderNumber: string;
39
40
  case_severity: string;
40
41
  case_customer_escalation: string;
@@ -1 +1 @@
1
- {"version":3,"file":"caseSearch.d.ts","sourceRoot":"","sources":["../../../src/enums/caseSearch.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C,oBAAY,mBAAmB;IAC3B,KAAK,UAAU;IACf,QAAQ,aAAa;CACxB;AAED,eAAO,MAAM,2BAA2B;;;;;;;;;;;;CAYvC,CAAC;AAEF,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;CAkBpD,CAAC"}
1
+ {"version":3,"file":"caseSearch.d.ts","sourceRoot":"","sources":["../../../src/enums/caseSearch.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C,oBAAY,mBAAmB;IAC3B,KAAK,UAAU;IACf,QAAQ,aAAa;CACxB;AAED,eAAO,MAAM,2BAA2B;;;;;;;;;;;;CAYvC,CAAC;AAEF,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;CAkBpD,CAAC"}
@@ -8,7 +8,7 @@ export var CaseSearchQueryType;
8
8
  export const fieldNameToSolrFieldMapping = {
9
9
  [SolrKeys.product]: 'productName',
10
10
  [SolrKeys.status]: 'status',
11
- [SolrKeys.accountNumber]: 'accountName',
11
+ [SolrKeys.accountNumber]: 'accountNumber',
12
12
  [SolrKeys.group]: 'group',
13
13
  [SolrKeys.severity]: 'severity',
14
14
  [SolrKeys.caseOwner]: 'owner',
@@ -18,4 +18,4 @@ export const fieldNameToSolrFieldMapping = {
18
18
  [SolrKeys.createdBySsoUsername]: 'createdBySsoUsername',
19
19
  [SolrKeys.type]: 'caseType',
20
20
  };
21
- export const advanceSearchFieldNameToSolrFieldMapping = Object.assign(Object.assign({}, fieldNameToSolrFieldMapping), { [SolrKeys.fts]: 'FTS', [SolrKeys.cep]: 'CEP', [SolrKeys.accountNumber]: 'accountNumber', [SolrKeys.caseNumber]: 'caseNumber', [SolrKeys.caseOwner]: 'ownerSSO', [SolrKeys.modifiedBy]: 'lastModifiedByName', [SolrKeys.createdBySsoUsername]: 'createdBySSO', [SolrKeys.createdBy]: 'createdByName', [SolrKeys.contactName]: 'contactName', [SolrKeys.caseContactSSO]: 'contactSSO', [SolrKeys.modifiedDate]: 'lastModifiedDate', [SolrKeys.createdDate]: 'createdDate', [SolrKeys.description]: 'description', [SolrKeys.caseSummary]: 'summary', [SolrKeys.alternateId]: 'alternateId', [SolrKeys.caseClosedDate]: 'closedDate' });
21
+ export const advanceSearchFieldNameToSolrFieldMapping = Object.assign(Object.assign({}, fieldNameToSolrFieldMapping), { [SolrKeys.fts]: 'FTS', [SolrKeys.cep]: 'CEP', [SolrKeys.accountName]: 'accountName', [SolrKeys.caseNumber]: 'caseNumber', [SolrKeys.caseOwner]: 'ownerSSO', [SolrKeys.modifiedBy]: 'lastModifiedByName', [SolrKeys.createdBySsoUsername]: 'createdBySSO', [SolrKeys.createdBy]: 'createdByName', [SolrKeys.contactName]: 'contactName', [SolrKeys.caseContactSSO]: 'contactSSO', [SolrKeys.modifiedDate]: 'lastModifiedDate', [SolrKeys.createdDate]: 'createdDate', [SolrKeys.description]: 'description', [SolrKeys.caseSummary]: 'summary', [SolrKeys.alternateId]: 'alternateId', [SolrKeys.caseClosedDate]: 'closedDate' });
@@ -33,7 +33,7 @@ export declare enum SolrKeys {
33
33
  fts = "case_24_7",
34
34
  type = "case_type",
35
35
  cep = "case_is_cep",
36
- accountName = "case_accountName",
36
+ accountName = "case_account_name",
37
37
  alternateId = "case_alternate_id",
38
38
  caseClosedDate = "case_closedDate",
39
39
  openshiftClusterId = "case_openshift_cluster_id"
@@ -65,7 +65,6 @@ export declare const advancedSearchMap: {
65
65
  case_24_7: string;
66
66
  case_type: string;
67
67
  case_is_cep: string;
68
- case_accountName: string;
69
68
  case_alternate_id: string;
70
69
  case_closedDate: string;
71
70
  case_openshift_cluster_id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../src/enums/filters.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAChB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,MAAM,WAAW;CACpB;AAED,oBAAY,QAAQ;IAChB,UAAU,gBAAgB;IAC1B,WAAW,iBAAiB;IAC5B,OAAO,iBAAiB;IACxB,MAAM,gBAAgB;IACtB,aAAa,uBAAuB;IACpC,KAAK,sBAAsB;IAC3B,SAAS,oBAAoB;IAC7B,QAAQ,kBAAkB;IAC1B,SAAS,4BAA4B;IACrC,SAAS,eAAe;IACxB,WAAW,qBAAqB;IAChC,cAAc,8BAA8B;IAC5C,UAAU,6BAA6B;IACvC,OAAO,iBAAiB;IACxB,SAAS,uBAAuB;IAChC,oBAAoB,gCAAgC;IACpD,WAAW,qBAAqB;IAChC,UAAU,4BAA4B;IACtC,YAAY,0BAA0B;IACtC,oBAAoB,iCAAiC;IACrD,sBAAsB,+BAA+B;IACrD,WAAW,qBAAqB;IAChC,GAAG,QAAQ;IACX,GAAG,cAAc;IACjB,IAAI,cAAc;IAClB,GAAG,gBAAgB;IACnB,WAAW,qBAAqB;IAChC,WAAW,sBAAsB;IACjC,cAAc,oBAAoB;IAClC,kBAAkB,8BAA8B;CACnD;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC7B,CAAC;AAGF,oBAAY,aAAa;IACrB,eAAe,8BAA8B;CAChD;AAED,eAAO,MAAM,iBAAiB,QAA4C,CAAC;AAC3E,oBAAY,QAAQ;IAChB,UAAU,eAAe;IACzB,WAAW,YAAY;IACvB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,aAAa,qBAAqB;IAClC,QAAQ,aAAa;IACrB,SAAS,YAAY;IACrB,WAAW,gBAAgB;IAC3B,SAAS,mBAAmB;IAC5B,UAAU,uBAAuB;IACjC,OAAO,YAAY;IACnB,SAAS,gBAAgB;IACzB,oBAAoB,gCAAgC;IACpD,WAAW,gBAAgB;IAC3B,UAAU,qBAAqB;IAC/B,YAAY,qBAAqB;IACjC,oBAAoB,qBAAqB;IACzC,sBAAsB,qBAAqB;IAC3C,WAAW,gBAAgB;IAC3B,GAAG,QAAQ;IACX,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,cAAc,iBAAiB;CAClC;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;CAsB9B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;CAElC,CAAC"}
1
+ {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../src/enums/filters.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAChB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,MAAM,WAAW;CACpB;AAED,oBAAY,QAAQ;IAChB,UAAU,gBAAgB;IAC1B,WAAW,iBAAiB;IAC5B,OAAO,iBAAiB;IACxB,MAAM,gBAAgB;IACtB,aAAa,uBAAuB;IACpC,KAAK,sBAAsB;IAC3B,SAAS,oBAAoB;IAC7B,QAAQ,kBAAkB;IAC1B,SAAS,4BAA4B;IACrC,SAAS,eAAe;IACxB,WAAW,qBAAqB;IAChC,cAAc,8BAA8B;IAC5C,UAAU,6BAA6B;IACvC,OAAO,iBAAiB;IACxB,SAAS,uBAAuB;IAChC,oBAAoB,gCAAgC;IACpD,WAAW,qBAAqB;IAChC,UAAU,4BAA4B;IACtC,YAAY,0BAA0B;IACtC,oBAAoB,iCAAiC;IACrD,sBAAsB,+BAA+B;IACrD,WAAW,qBAAqB;IAChC,GAAG,QAAQ;IACX,GAAG,cAAc;IACjB,IAAI,cAAc;IAClB,GAAG,gBAAgB;IACnB,WAAW,sBAAsB;IACjC,WAAW,sBAAsB;IACjC,cAAc,oBAAoB;IAClC,kBAAkB,8BAA8B;CACnD;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B7B,CAAC;AAGF,oBAAY,aAAa;IACrB,eAAe,8BAA8B;CAChD;AAED,eAAO,MAAM,iBAAiB,QAA4C,CAAC;AAC3E,oBAAY,QAAQ;IAChB,UAAU,eAAe;IACzB,WAAW,YAAY;IACvB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,aAAa,qBAAqB;IAClC,QAAQ,aAAa;IACrB,SAAS,YAAY;IACrB,WAAW,gBAAgB;IAC3B,SAAS,mBAAmB;IAC5B,UAAU,uBAAuB;IACjC,OAAO,YAAY;IACnB,SAAS,gBAAgB;IACzB,oBAAoB,gCAAgC;IACpD,WAAW,gBAAgB;IAC3B,UAAU,qBAAqB;IAC/B,YAAY,qBAAqB;IACjC,oBAAoB,qBAAqB;IACzC,sBAAsB,qBAAqB;IAC3C,WAAW,gBAAgB;IAC3B,GAAG,QAAQ;IACX,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,cAAc,iBAAiB;CAClC;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;CAsB9B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;CAElC,CAAC"}
@@ -35,7 +35,7 @@ export var SolrKeys;
35
35
  SolrKeys["fts"] = "case_24_7";
36
36
  SolrKeys["type"] = "case_type";
37
37
  SolrKeys["cep"] = "case_is_cep";
38
- SolrKeys["accountName"] = "case_accountName";
38
+ SolrKeys["accountName"] = "case_account_name";
39
39
  SolrKeys["alternateId"] = "case_alternate_id";
40
40
  SolrKeys["caseClosedDate"] = "case_closedDate";
41
41
  SolrKeys["openshiftClusterId"] = "case_openshift_cluster_id";
@@ -67,7 +67,6 @@ export const advancedSearchMap = {
67
67
  case_24_7: 'FTS',
68
68
  case_type: 'caseType',
69
69
  case_is_cep: 'CEP',
70
- case_accountName: 'accountName',
71
70
  case_alternate_id: 'alternateCaseId',
72
71
  case_closedDate: 'closedDate',
73
72
  case_openshift_cluster_id: 'openshiftClusterId',
@@ -1 +1 @@
1
- {"version":3,"file":"caseSearchUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/caseSearchUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AACrG,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAUxD,OAAO,EACH,oBAAoB,EACpB,WAAW,EAId,MAAM,+CAA+C,CAAC;AAOvD,OAAO,EAEH,mBAAmB,EAEtB,MAAM,qBAAqB,CAAC;AAU7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,eAAO,MAAM,6BAA6B,UAAU,CAAC;AACrD,eAAO,MAAM,oCAAoC,MAAM,CAAC;AACxD,eAAO,MAAM,iCAAiC,SAAS,CAAC;AACxD,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAElD,iBAAS,8BAA8B,CAAC,WAAW,EAAE,oBAAoB,EAAE,YAAY,EAAE,QAAQ,OA4DhG;AAED,iBAAS,sCAAsC,CAC3C,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,EAChC,WAAW,EAAE,MAAM,EACnB,eAAe,GAAE,OAAe,UAwBnC;AAED,iBAAS,oDAAoD,CACzD,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,EAChC,WAAW,EAAE,MAAM,EACnB,eAAe,GAAE,OAAe,UAgDnC;AAeD,iBAAS,wCAAwC,CAC7C,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,EAChC,OAAO,EAAE,MAAM,EACf,eAAe,QAAK,UAoCvB;AASD,iBAAS,yBAAyB,CAC9B,WAAW,EAAE,oBAAoB,EACjC,kBAAkB,EAAE,QAAQ,EAC5B,oBAAoB,KAAA,EACpB,UAAU,SAAI,EACd,UAAU,SAAO,OAcpB;AAkBD,iBAAS,8BAA8B,CACnC,WAAW,EAAE,oBAAoB,EACjC,YAAY,EAAE,QAAQ,EACtB,mBAAmB,EAAE,OAAO,CAAC,QAAQ,CAAC,GACvC,OAAO,CAAC,eAAe,CAAC,CAgE1B;AAED,iBAAS,6BAA6B,CAAC,QAAQ,GAAE,qBAAqB,EAAO,GAAG,qBAAqB,EAAE,CAEtG;AAcD,iBAAS,6BAA6B,CAAC,WAAW,EAAE,oBAAoB,UAUvE;AAED,iBAAS,6BAA6B,CAClC,QAAQ,EAAE,MAAM,EAChB,mBAAmB,EAAE,oBAAoB,EACzC,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,GAAE,mBAA+C,wBAsD9D;AAGD,iBAAS,kCAAkC,CACvC,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,oBAAoB,EACzC,kBAAkB,EAAE,oBAAoB,EACxC,WAAW,GAAE,MAAW,EACxB,IAAI,GAAE,mBAA+C,wBAqCxD;AAgGD,OAAO,EACH,8BAA8B,EAC9B,sCAAsC,EACtC,oDAAoD,EACpD,yBAAyB,EACzB,8BAA8B,EAC9B,6BAA6B,EAC7B,6BAA6B,EAC7B,6BAA6B,EAC7B,wCAAwC,EACxC,kCAAkC,GACrC,CAAC"}
1
+ {"version":3,"file":"caseSearchUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/caseSearchUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AACrG,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAUxD,OAAO,EACH,oBAAoB,EACpB,WAAW,EAId,MAAM,+CAA+C,CAAC;AAOvD,OAAO,EAEH,mBAAmB,EAEtB,MAAM,qBAAqB,CAAC;AAU7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,eAAO,MAAM,6BAA6B,UAAU,CAAC;AACrD,eAAO,MAAM,oCAAoC,MAAM,CAAC;AACxD,eAAO,MAAM,iCAAiC,SAAS,CAAC;AACxD,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAElD,iBAAS,8BAA8B,CAAC,WAAW,EAAE,oBAAoB,EAAE,YAAY,EAAE,QAAQ,OA4DhG;AAED,iBAAS,sCAAsC,CAC3C,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,EAChC,WAAW,EAAE,MAAM,EACnB,eAAe,GAAE,OAAe,UAwBnC;AAED,iBAAS,oDAAoD,CACzD,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,EAChC,WAAW,EAAE,MAAM,EACnB,eAAe,GAAE,OAAe,UA6CnC;AAkBD,iBAAS,wCAAwC,CAC7C,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,EAChC,OAAO,EAAE,MAAM,EACf,eAAe,QAAK,UA6BvB;AASD,iBAAS,yBAAyB,CAC9B,WAAW,EAAE,oBAAoB,EACjC,kBAAkB,EAAE,QAAQ,EAC5B,oBAAoB,KAAA,EACpB,UAAU,SAAI,EACd,UAAU,SAAO,OAcpB;AAkBD,iBAAS,8BAA8B,CACnC,WAAW,EAAE,oBAAoB,EACjC,YAAY,EAAE,QAAQ,EACtB,mBAAmB,EAAE,OAAO,CAAC,QAAQ,CAAC,GACvC,OAAO,CAAC,eAAe,CAAC,CAgE1B;AAED,iBAAS,6BAA6B,CAAC,QAAQ,GAAE,qBAAqB,EAAO,GAAG,qBAAqB,EAAE,CAEtG;AAcD,iBAAS,6BAA6B,CAAC,WAAW,EAAE,oBAAoB,UAUvE;AAED,iBAAS,6BAA6B,CAClC,QAAQ,EAAE,MAAM,EAChB,mBAAmB,EAAE,oBAAoB,EACzC,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,GAAE,mBAA+C,wBAsD9D;AAGD,iBAAS,kCAAkC,CACvC,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,oBAAoB,EACzC,kBAAkB,EAAE,oBAAoB,EACxC,WAAW,GAAE,MAAW,EACxB,IAAI,GAAE,mBAA+C,wBAqCxD;AAgGD,OAAO,EACH,8BAA8B,EAC9B,sCAAsC,EACtC,oDAAoD,EACpD,yBAAyB,EACzB,8BAA8B,EAC9B,6BAA6B,EAC7B,6BAA6B,EAC7B,6BAA6B,EAC7B,wCAAwC,EACxC,kCAAkC,GACrC,CAAC"}
@@ -115,18 +115,13 @@ function createUserFriendlyQueryFromFilterStateAdvancedSearch(filterInfo, filter
115
115
  const productVersionQuery = createProductVersionQueryStringFromFilterState(filterInfo);
116
116
  // add text: to string search and create and with the rest
117
117
  const q = parseSolrQuery(filterQuery);
118
- const newFilterInfo = {};
119
118
  let advanceToBasicQuery = [];
119
+ let freeTextQuery = [];
120
120
  Object.keys(q || {}).forEach((_key) => {
121
- if (_key === SolrKeys.product) {
122
- newFilterInfo[SolrPivotKeys.product_version] = generateProductVersionPivotValue(q[_key]);
123
- }
124
- // if it's an unnamed field we should add it to free text querystring
125
- else if (_key === '<implicit>' || _key === 'undefined') {
126
- advanceToBasicQuery.push(q[_key]);
121
+ if (_key === '<implicit>' || _key === 'undefined') {
122
+ freeTextQuery.push(q[_key]);
127
123
  }
128
124
  else {
129
- // it means field is not supported as a filter
130
125
  if (!fieldNameToSolrFieldMapping[_key]) {
131
126
  // if it's supported in basic search mode then add it as a query string in the search input
132
127
  if (advanceSearchFieldNameToSolrFieldMapping[_key] || SolrKeys[_key]) {
@@ -135,15 +130,17 @@ function createUserFriendlyQueryFromFilterStateAdvancedSearch(filterInfo, filter
135
130
  }
136
131
  }
137
132
  });
138
- const textSearch = advanceToBasicQuery.length !== 0 ? [`text:"${advanceToBasicQuery.join(' ')}"`] : [];
133
+ freeTextQuery = freeTextQuery.length !== 0 ? [`text:"${flatMap(freeTextQuery).join(' ')}"`] : [];
139
134
  const parsedQueryString = []
140
- .concat(textSearch)
135
+ .concat(freeTextQuery)
136
+ .concat(advanceToBasicQuery)
141
137
  .concat(productVersionQuery ? productVersionQuery : [])
142
138
  .concat(filtersQuery !== '*:*' ? filtersQuery : []);
143
139
  return parsedQueryString.join(' and ').replace(/ AND /g, ' and ').replace(/ OR /g, ' or ');
144
140
  }
145
141
  function createProductVersionQueryStringFromFilterState(filterInfo) {
146
- const queryStringForProductFilter = buildSolrQuery({ [ProductVersionKey]: filterInfo[ProductVersionKey] });
142
+ var _a;
143
+ const queryStringForProductFilter = buildSolrQuery({ [ProductVersionKey]: filterInfo[ProductVersionKey] }, ((_a = filterInfo[ProductVersionKey]) === null || _a === void 0 ? void 0 : _a.length) > 1);
147
144
  let productVersionQuery = '';
148
145
  if (queryStringForProductFilter !== '*:*') {
149
146
  const regexForProductReplace = new RegExp(SolrKeys.product, 'g');
@@ -152,7 +149,7 @@ function createProductVersionQueryStringFromFilterState(filterInfo) {
152
149
  .replace(regexForProductReplace, fieldNameToSolrFieldMapping[SolrKeys.product])
153
150
  .replace(regexForVersionReplace, fieldNameToSolrFieldMapping[SolrKeys.version]);
154
151
  }
155
- return productVersionQuery.replace(/\(\s+/g, '(').replace(/\s\)+/g, ')');
152
+ return productVersionQuery;
156
153
  }
157
154
  function createAdvancedSearchQueryFromFilterState(filterInfo, keyword, useKeyForKVPair = []) {
158
155
  const finalQueryArr = [];
@@ -177,12 +174,7 @@ function createAdvancedSearchQueryFromFilterState(filterInfo, keyword, useKeyFor
177
174
  }
178
175
  const filtersQuery = advanceQuery.build().replace(/ AND /g, ' and ');
179
176
  const productVersionQuery = createProductVersionQueryStringFromFilterState(filterInfo);
180
- productVersionQuery &&
181
- finalQueryArr.push(productVersionQuery
182
- .replace(/\s?\(\s/g, '(')
183
- .replace(/\s?\)\s?/g, ')')
184
- .replace(/ OR /g, ' or ')
185
- .replace(/ AND /g, ' and '));
177
+ productVersionQuery && finalQueryArr.push(productVersionQuery.replace(/ OR /g, ' or ').replace(/ AND /g, ' and '));
186
178
  filtersQuery !== '*:*' && finalQueryArr.push(filtersQuery);
187
179
  return finalQueryArr.join(' and ');
188
180
  }
@@ -441,7 +433,7 @@ function generateProductVersionPivotValue(values) {
441
433
  : {
442
434
  field: SolrKeys.product,
443
435
  value: item.value,
444
- [SolrKeys.version]: item[fieldNameToSolrFieldMapping[SolrKeys.version]].map((item) => ({
436
+ [SolrKeys.version]: (item[fieldNameToSolrFieldMapping[SolrKeys.version]] || []).map((item) => ({
445
437
  field: SolrKeys.version,
446
438
  value: item,
447
439
  })),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rh-support/cases",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org"
@@ -51,11 +51,11 @@
51
51
  "@patternfly/pfe-collapse": "1.12.3",
52
52
  "@patternfly/react-core": "4.202.16",
53
53
  "@patternfly/react-table": "4.71.16",
54
- "@rh-support/components": "1.2.0",
55
- "@rh-support/react-context": "1.0.1",
54
+ "@rh-support/components": "1.2.1",
55
+ "@rh-support/react-context": "1.0.2",
56
56
  "@rh-support/types": "0.2.0",
57
- "@rh-support/user-permissions": "1.0.0",
58
- "@rh-support/utils": "1.0.0",
57
+ "@rh-support/user-permissions": "1.0.1",
58
+ "@rh-support/utils": "1.0.1",
59
59
  "i18next": "^19.0.1",
60
60
  "localforage": "^1.7.3",
61
61
  "lodash": "^4.17.21",
@@ -99,5 +99,5 @@
99
99
  "not ie <= 11",
100
100
  "not op_mini all"
101
101
  ],
102
- "gitHead": "08110e83fe460e529f74fa3429ca9f99342dc76d"
102
+ "gitHead": "9dc089d549b6b579879a705e049a0a4fb0cc061c"
103
103
  }