@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.
- package/lib/esm/components/case-list/CaseList.d.ts.map +1 -1
- package/lib/esm/components/case-list/CaseList.js +6 -3
- package/lib/esm/components/case-list/case-search/AdvanceSearch.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-search/AdvanceSearch.js +7 -18
- package/lib/esm/components/case-list/case-search/BookmarkedSearchesSelector.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-search/BookmarkedSearchesSelector.js +16 -4
- package/lib/esm/components/case-list/case-search/CaseSearch.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-search/CaseSearch.js +28 -23
- package/lib/esm/components/case-list/case-search/useAdvanceSearchParser.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-search/useAdvanceSearchParser.js +3 -1
- package/lib/esm/enums/caseSearch.d.ts +2 -1
- package/lib/esm/enums/caseSearch.d.ts.map +1 -1
- package/lib/esm/enums/caseSearch.js +2 -2
- package/lib/esm/enums/filters.d.ts +1 -2
- package/lib/esm/enums/filters.d.ts.map +1 -1
- package/lib/esm/enums/filters.js +1 -2
- package/lib/esm/utils/caseSearchUtils.d.ts.map +1 -1
- package/lib/esm/utils/caseSearchUtils.js +11 -19
- package/package.json +6 -6
|
@@ -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,
|
|
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:
|
|
121
|
-
|
|
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;
|
|
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 {
|
|
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
|
-
|
|
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;
|
|
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,
|
|
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":"
|
|
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
|
-
|
|
29
|
-
|
|
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(
|
|
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:
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
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 ===
|
|
100
|
-
React.createElement(BookmarkedSearchesSelector, { currentCaseSearchString: searchVal === null || searchVal === void 0 ? void 0 : searchVal.trim(), currentSearchType:
|
|
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;;
|
|
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
|
-
|
|
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
|
|
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]: '
|
|
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.
|
|
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 = "
|
|
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,
|
|
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"}
|
package/lib/esm/enums/filters.js
CHANGED
|
@@ -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"] = "
|
|
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,
|
|
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 ===
|
|
122
|
-
|
|
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
|
-
|
|
133
|
+
freeTextQuery = freeTextQuery.length !== 0 ? [`text:"${flatMap(freeTextQuery).join(' ')}"`] : [];
|
|
139
134
|
const parsedQueryString = []
|
|
140
|
-
.concat(
|
|
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
|
-
|
|
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
|
|
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.
|
|
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.
|
|
55
|
-
"@rh-support/react-context": "1.0.
|
|
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.
|
|
58
|
-
"@rh-support/utils": "1.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": "
|
|
102
|
+
"gitHead": "9dc089d549b6b579879a705e049a0a4fb0cc061c"
|
|
103
103
|
}
|