@rh-support/cases 1.0.6 → 1.0.8

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":"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"}
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,eAoLvC"}
@@ -60,7 +60,7 @@ export function CaseSearch(props) {
60
60
  const onSearchTypeChange = (newType) => {
61
61
  var _a, _b;
62
62
  if (newType === CaseSearchQueryType.ADVANCED) {
63
- const parsedQuery = createUserFriendlyQueryFromFilterStateAdvancedSearch(filterState.filterInfo, (_a = filterState.filterQueryInfo) === null || _a === void 0 ? void 0 : _a.queryString, true);
63
+ const parsedQuery = createUserFriendlyQueryFromFilterStateAdvancedSearch(filterState.filterInfo, (_a = filterState.filterQueryInfo) === null || _a === void 0 ? void 0 : _a.queryString);
64
64
  updateFilterQuery(dispatch, {
65
65
  type: CaseSearchQueryType.ADVANCED,
66
66
  queryString: (_b = filterState.filterQueryInfo) === null || _b === void 0 ? void 0 : _b.queryString,
@@ -1 +1 @@
1
- {"version":3,"file":"SaveCaseSearchModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-search/SaveCaseSearchModal.tsx"],"names":[],"mappings":"AA4BA,UAAU,MAAM;IACZ,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,wBAAwB,EAAE,MAAM,CAAC;IACjC,uBAAuB,EAAE,MAAM,CAAC;IAChC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED,wBAAgB,mBAAmB,CAAC,EAChC,WAAW,EACX,WAAW,EACX,QAAQ,EACR,wBAAwB,EACxB,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,GAClB,EAAE,MAAM,eA0QR"}
1
+ {"version":3,"file":"SaveCaseSearchModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-search/SaveCaseSearchModal.tsx"],"names":[],"mappings":"AA4BA,UAAU,MAAM;IACZ,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,wBAAwB,EAAE,MAAM,CAAC;IACjC,uBAAuB,EAAE,MAAM,CAAC;IAChC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED,wBAAgB,mBAAmB,CAAC,EAChC,WAAW,EACX,WAAW,EACX,QAAQ,EACR,wBAAwB,EACxB,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,GAClB,EAAE,MAAM,eA4QR"}
@@ -135,7 +135,10 @@ export function SaveCaseSearchModal({ isModalOpen, modalToggle, isAdding, select
135
135
  : currentCaseSearchString;
136
136
  }
137
137
  else if (selectedSearchNameToEdit && previousBookmarkedSearchesObj[selectedSearchNameToEdit]) {
138
- queryStr = createUserFriendlyQueryFromFilterState(previousBookmarkedSearchesObj[selectedSearchNameToEdit].filterState, previousBookmarkedSearchesObj[selectedSearchNameToEdit].queryString);
138
+ queryStr =
139
+ currentSearchType === CaseSearchQueryType.BASIC
140
+ ? createUserFriendlyQueryFromFilterState(previousBookmarkedSearchesObj[selectedSearchNameToEdit].filterState, previousBookmarkedSearchesObj[selectedSearchNameToEdit].queryString)
141
+ : previousBookmarkedSearchesObj[selectedSearchNameToEdit].queryString;
139
142
  }
140
143
  else {
141
144
  queryStr = previousBookmarkedSearchesObj[localSavedSearchName] || '';
@@ -94,7 +94,7 @@ export default function useAdvanceSearchParser({ onInit }) {
94
94
  multipleValue = "(" val:(value)+ ")" { return joinByOr(val); }
95
95
  stringOrMulti = string / multipleValue
96
96
 
97
- basicFieldName = "contactName" {return "${SolrKeys.contactName}";}
97
+ basicFieldName = "assignedToName" {return "${SolrKeys.ownerName}";}
98
98
  / "createdByName" {return "${SolrKeys.createdBy}";}
99
99
  / "createdDate" {return "${SolrKeys.createdDate}";}
100
100
  / "closedDate" {return "${SolrKeys.caseClosedDate}";}
@@ -102,7 +102,7 @@ export default function useAdvanceSearchParser({ onInit }) {
102
102
  / "summary" {return "${SolrKeys.caseSummary}";}
103
103
  / "lastModifiedDate" {return "${SolrKeys.modifiedDate}";}
104
104
  / "lastModifiedByName" {return "${SolrKeys.modifiedBy}";}
105
- / "ownerName" {return "${SolrKeys.ownerName}";}
105
+ / "ownerName" {return "${SolrKeys.contactName}";}
106
106
  / "caseNumber" {return "${SolrKeys.caseNumber}";}
107
107
  / "openshiftClusterId" {return "${SolrKeys.openshiftClusterId}";}
108
108
  / "alternateCaseId" {return "${SolrKeys.alternateId}";}
@@ -110,8 +110,8 @@ export default function useAdvanceSearchParser({ onInit }) {
110
110
  cepFieldName = "CEP" {return "${SolrKeys.cep}";}
111
111
  ftsFieldName = "FTS" {return "${SolrKeys.fts}";}
112
112
  escalatedFieldName = "escalated" {return "${SolrKeys.escalation}";}
113
- contactSSOFieldName = "contactSSO" {return "${SolrKeys.caseContactSSO}";}
114
- ownerSSOFieldName = "ownerSSO" {return "${SolrKeys.caseOwner}";}
113
+ contactSSOFieldName = "ownerSSO" {return "${SolrKeys.caseContactSSO}";}
114
+ ownerSSOFieldName = "assignedToContactSSO" {return "${SolrKeys.caseOwner}";}
115
115
  createdBySSOFieldName = "createdBySSO" {return "${SolrKeys.createdBySsoUsername}";}
116
116
  textFieldName = "text" {return "";}
117
117
 
@@ -1 +1 @@
1
- {"version":3,"file":"caseListUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/caseListUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAIxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AACrF,OAAO,EAAuC,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAOlG,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACjC,CAAC,CAAC,EAAE,CAAC,CAAC;IACN,MAAM,EAAE,WAAW,GAAG,UAAU,CAAC;IACjC,CAAC,CAAC,EAAE,KAAK,CAAC;CACb;AAED,UAAU,iBAAiB;IACvB,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,sBAAsB,EAAE,OAAO,CAAC;IAChC,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAiBD,wBAAsB,WAAW,CAC7B,WAAW,EAAE,oBAAoB,EACjC,YAAY,EAAE,QAAQ,EACtB,mBAAmB,EAAE,OAAO,CAAC,QAAQ,CAAC,EACtC,WAAW,EAAE,WAAW,GACzB,OAAO,CAAC,iBAAiB,CAAC,CAmF5B;AAED,wBAAgB,mBAAmB,CAC/B,SAAS,EAAE,gBAAgB,EAC3B,aAAa,EAAE,OAAO,EACtB,WAAW,EAAE,WAAW,EACxB,eAAe,GAAE,OAAe,GACjC,OAAO,CAAC,uBAAuB,CAAC,CASlC"}
1
+ {"version":3,"file":"caseListUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/caseListUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAIxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AAErF,OAAO,EAAuC,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAOlG,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACjC,CAAC,CAAC,EAAE,CAAC,CAAC;IACN,MAAM,EAAE,WAAW,GAAG,UAAU,CAAC;IACjC,CAAC,CAAC,EAAE,KAAK,CAAC;CACb;AAED,UAAU,iBAAiB;IACvB,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,sBAAsB,EAAE,OAAO,CAAC;IAChC,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAiBD,wBAAsB,WAAW,CAC7B,WAAW,EAAE,oBAAoB,EACjC,YAAY,EAAE,QAAQ,EACtB,mBAAmB,EAAE,OAAO,CAAC,QAAQ,CAAC,EACtC,WAAW,EAAE,WAAW,GACzB,OAAO,CAAC,iBAAiB,CAAC,CAwF5B;AAED,wBAAgB,mBAAmB,CAC/B,SAAS,EAAE,gBAAgB,EAC3B,aAAa,EAAE,OAAO,EACtB,WAAW,EAAE,WAAW,EACxB,eAAe,GAAE,OAAe,GACjC,OAAO,CAAC,uBAAuB,CAAC,CASlC"}
@@ -20,7 +20,8 @@ var __rest = (this && this.__rest) || function (s, e) {
20
20
  };
21
21
  import { publicApi, search } from '@cee-eng/hydrajs';
22
22
  import { promiseReflection } from '@rh-support/utils';
23
- import { canDoSfdcSearch } from '../components/case-list/CaseListFilterHelpers';
23
+ import { isNoFilterApplied } from '../components/case-list/CaseListFilterHelpers';
24
+ import { CaseSearchQueryType } from '../enums/caseSearch';
24
25
  import { createSFDCQueryFromFilterState, createSolrQueryFromFilterState, mapSFDCCaseListToSolrCaseList, } from './caseSearchUtils';
25
26
  const throwErrorOnAbort = (message) => {
26
27
  const isAbortError = message && message.toLowerCase().includes('abort');
@@ -37,14 +38,18 @@ const throwErrorOnAbort = (message) => {
37
38
  // Even though SFDC support most of the filters but another problem with SFDC is it doesnot support multiple values for a praticular filter.
38
39
  // if user applies any filter apart from default filter we will always call solr and assume that(not safely) 10 sec scenario is not bound to happen.
39
40
  export function getCaseList(filterState, loggedInUser, loggedInUserAccount, abortSignal) {
40
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
41
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
41
42
  return __awaiter(this, void 0, void 0, function* () {
42
43
  let isSolrSearchDownSFDCUp = false;
43
44
  let showErrorMessage = false;
44
45
  let caseListResponse;
45
46
  const solrFilter = createSolrQueryFromFilterState(filterState, loggedInUser);
46
47
  const partnerSearch = loggedInUser.hasManagedAccounts();
47
- const isSfdcSearchRequired = canDoSfdcSearch(filterState) && !filterState.filterQueryInfo.queryString && !partnerSearch;
48
+ //sfdc returns wrong result, for now only call sfdc when we have no filter applied
49
+ const isSfdcSearchRequired = isNoFilterApplied(filterState) &&
50
+ !filterState.filterQueryInfo.queryString &&
51
+ !partnerSearch &&
52
+ ((_a = filterState.filterQueryInfo) === null || _a === void 0 ? void 0 : _a.type) !== CaseSearchQueryType.ADVANCED;
48
53
  let solrPromise = getCaseListFromSolr(solrFilter, partnerSearch, abortSignal, loggedInUserAccount === null || loggedInUserAccount === void 0 ? void 0 : loggedInUserAccount.secureSupport);
49
54
  const sfdcAPICall = () => publicApi.caseList.getCaseListFromSFDC(createSFDCQueryFromFilterState(filterState, loggedInUser, loggedInUserAccount), partnerSearch, loggedInUserAccount === null || loggedInUserAccount === void 0 ? void 0 : loggedInUserAccount.secureSupport, abortSignal);
50
55
  const sfdcPromise = isSfdcSearchRequired ? sfdcAPICall() : Promise.resolve(undefined);
@@ -54,8 +59,8 @@ export function getCaseList(filterState, loggedInUser, loggedInUserAccount, abor
54
59
  throwErrorOnAbort(solrResponse === null || solrResponse === void 0 ? void 0 : solrResponse.e.message);
55
60
  if (sfdcResponse.e)
56
61
  throwErrorOnAbort(sfdcResponse === null || sfdcResponse === void 0 ? void 0 : sfdcResponse.e.message);
57
- const solrFullfilled = !!(solrResponse.status === 'fulfilled' && ((_a = solrResponse.v) === null || _a === void 0 ? void 0 : _a.response));
58
- let sfdcFullfilled = !!(sfdcResponse.status === 'fulfilled' && ((_b = sfdcResponse.v) === null || _b === void 0 ? void 0 : _b.cases));
62
+ const solrFullfilled = !!(solrResponse.status === 'fulfilled' && ((_b = solrResponse.v) === null || _b === void 0 ? void 0 : _b.response));
63
+ let sfdcFullfilled = !!(sfdcResponse.status === 'fulfilled' && ((_c = sfdcResponse.v) === null || _c === void 0 ? void 0 : _c.cases));
59
64
  const sfdcCallIsMadeAndFailed = !sfdcFullfilled && isSfdcSearchRequired;
60
65
  const sfdcCallNotMade = !sfdcFullfilled && !isSfdcSearchRequired;
61
66
  if (!solrFullfilled && sfdcCallIsMadeAndFailed) {
@@ -65,10 +70,10 @@ export function getCaseList(filterState, loggedInUser, loggedInUserAccount, abor
65
70
  // SFDC call didn't make because we had filters that SFDC doesn't support
66
71
  try {
67
72
  const sfdcRes = yield promiseReflection(sfdcAPICall());
68
- sfdcFullfilled = !!(sfdcRes.status === 'fulfilled' && ((_c = sfdcRes.v) === null || _c === void 0 ? void 0 : _c.cases));
73
+ sfdcFullfilled = !!(sfdcRes.status === 'fulfilled' && ((_d = sfdcRes.v) === null || _d === void 0 ? void 0 : _d.cases));
69
74
  if (sfdcFullfilled) {
70
75
  isSolrSearchDownSFDCUp = true;
71
- const mappedSfdcRes = mapSFDCCaseListToSolrCaseList((_e = (_d = sfdcRes === null || sfdcRes === void 0 ? void 0 : sfdcRes.v) === null || _d === void 0 ? void 0 : _d.cases) !== null && _e !== void 0 ? _e : []);
76
+ const mappedSfdcRes = mapSFDCCaseListToSolrCaseList((_f = (_e = sfdcRes === null || sfdcRes === void 0 ? void 0 : sfdcRes.v) === null || _e === void 0 ? void 0 : _e.cases) !== null && _f !== void 0 ? _f : []);
72
77
  caseListResponse = {
73
78
  response: {
74
79
  docs: mappedSfdcRes,
@@ -85,7 +90,7 @@ export function getCaseList(filterState, loggedInUser, loggedInUserAccount, abor
85
90
  }
86
91
  else if (solrFullfilled && sfdcFullfilled) {
87
92
  caseListResponse = Object.assign(Object.assign({}, solrResponse.v), { response: {
88
- docs: mapSFDCCaseListToSolrCaseList((_g = (_f = sfdcResponse === null || sfdcResponse === void 0 ? void 0 : sfdcResponse.v) === null || _f === void 0 ? void 0 : _f.cases) !== null && _g !== void 0 ? _g : []),
93
+ docs: mapSFDCCaseListToSolrCaseList((_h = (_g = sfdcResponse === null || sfdcResponse === void 0 ? void 0 : sfdcResponse.v) === null || _g === void 0 ? void 0 : _g.cases) !== null && _h !== void 0 ? _h : []),
89
94
  numFound: sfdcResponse.v.totalCount,
90
95
  } });
91
96
  }
@@ -93,7 +98,7 @@ export function getCaseList(filterState, loggedInUser, loggedInUserAccount, abor
93
98
  isSolrSearchDownSFDCUp = true;
94
99
  caseListResponse = {
95
100
  response: {
96
- docs: mapSFDCCaseListToSolrCaseList((_j = (_h = sfdcResponse === null || sfdcResponse === void 0 ? void 0 : sfdcResponse.v) === null || _h === void 0 ? void 0 : _h.cases) !== null && _j !== void 0 ? _j : []),
101
+ docs: mapSFDCCaseListToSolrCaseList((_k = (_j = sfdcResponse === null || sfdcResponse === void 0 ? void 0 : sfdcResponse.v) === null || _j === void 0 ? void 0 : _j.cases) !== null && _k !== void 0 ? _k : []),
97
102
  numFound: sfdcResponse.v.totalCount,
98
103
  },
99
104
  };
@@ -11,7 +11,7 @@ export declare const FILTER_URL_PAGE_SIZE_SEARCH_PARAM = "size";
11
11
  export declare const FILTER_URL_QUERY_TYPE = "searchType";
12
12
  declare function createSolrQueryFromFilterState(filterState: ICaseListFilterState, loggedInUser: UserAuth): any;
13
13
  declare function createUserFriendlyQueryFromFilterState(filterInfo: Partial<IFilterInfo>, filterQuery: string, useKeyForKVPair?: boolean): string;
14
- declare function createUserFriendlyQueryFromFilterStateAdvancedSearch(filterInfo: Partial<IFilterInfo>, filterQuery: string, useKeyForKVPair?: boolean): string;
14
+ declare function createUserFriendlyQueryFromFilterStateAdvancedSearch(filterInfo: Partial<IFilterInfo>, filterQuery: string): string;
15
15
  declare function createAdvancedSearchQueryFromFilterState(filterInfo: Partial<IFilterInfo>, keyword: string, useKeyForKVPair?: any[]): string;
16
16
  declare function createQueryForCSVDownload(filterState: ICaseListFilterState, loggedInUserRights: UserAuth, loggedInUsersAccount: any, startValue?: number, limitValue?: number): any;
17
17
  declare function createSFDCQueryFromFilterState(filterState: ICaseListFilterState, loggedInUser: UserAuth, loggedInUserAccount: Partial<IAccount>): Partial<ISFDCCaseFilter>;
@@ -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,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"}
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,CAAC,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,MAAM,UA6ClH;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,wBA2DxD;AAuKD,OAAO,EACH,8BAA8B,EAC9B,sCAAsC,EACtC,oDAAoD,EACpD,yBAAyB,EACzB,8BAA8B,EAC9B,6BAA6B,EAC7B,6BAA6B,EAC7B,6BAA6B,EAC7B,wCAAwC,EACxC,kCAAkC,GACrC,CAAC"}
@@ -96,7 +96,7 @@ function createUserFriendlyQueryFromFilterState(filterInfo, filterQuery, useKeyF
96
96
  filtersQuery !== '*:*' && finalQueryArr.push(filtersQuery);
97
97
  return finalQueryArr.join(' AND ');
98
98
  }
99
- function createUserFriendlyQueryFromFilterStateAdvancedSearch(filterInfo, filterQuery, useKeyForKVPair = false) {
99
+ function createUserFriendlyQueryFromFilterStateAdvancedSearch(filterInfo, filterQuery) {
100
100
  // if query contains quotes then we need to escape it so that solr parser can parse it successfully
101
101
  //const searchTextQuery = filterQuery ? `keyword: "${filterQuery.replace(/"/g, '\\"')}"` : '';
102
102
  let solrQuery = new SolrQueryBuilder();
@@ -105,7 +105,7 @@ function createUserFriendlyQueryFromFilterStateAdvancedSearch(filterInfo, filter
105
105
  ? fieldNameToSolrFieldMapping[_filterKey]
106
106
  : _filterKey;
107
107
  const fieldValue = isKeyValuePair(filterInfo[_filterKey])
108
- ? filterInfo[_filterKey].map((item) => (useKeyForKVPair ? item.key : item.value))
108
+ ? filterInfo[_filterKey].map((item) => (SolrKeys.accountNumber ? item.key : item.value))
109
109
  : filterInfo[_filterKey];
110
110
  if (_filterKey !== ProductVersionKey) {
111
111
  Array.isArray(fieldValue) && fieldValue.length > 0 && solrQuery.where(fieldLabel).in(flatMap(fieldValue));
@@ -326,7 +326,7 @@ function createFilterStateFromUrlQuery(urlQuery, globalMetadataState, pageSize,
326
326
  }
327
327
  });
328
328
  const parsedQuery = filterQueryInfo.type === CaseSearchQueryType.ADVANCED
329
- ? createUserFriendlyQueryFromFilterStateAdvancedSearch(filterInfo, filterQueryInfo.queryString, true)
329
+ ? createUserFriendlyQueryFromFilterStateAdvancedSearch(filterInfo, filterQueryInfo.queryString)
330
330
  : '';
331
331
  const filterQuery = {
332
332
  sortInfo,
@@ -336,7 +336,7 @@ function createFilterStateFromUrlQuery(urlQuery, globalMetadataState, pageSize,
336
336
  };
337
337
  return filterQuery;
338
338
  }
339
- // when from advaced query we want to swith to basic query is called
339
+ // advanced query
340
340
  function createFilterStateFromAdvancedQuery(queryString, globalMetadataState, currentFilterState, parsedQuery = '', type = CaseSearchQueryType.BASIC) {
341
341
  const filterObj = parseSolrQuery(queryString);
342
342
  const newFilterInfo = {};
@@ -352,7 +352,7 @@ function createFilterStateFromAdvancedQuery(queryString, globalMetadataState, cu
352
352
  else {
353
353
  // if field is present in this map, it means field is supported in basic search mode too
354
354
  if (fieldNameToSolrFieldMapping[_key]) {
355
- newFilterInfo[_key] = generateFilterValue(_key, filterObj[_key], globalMetadataState);
355
+ newFilterInfo[_key] = generateFilterValue(_key, filterObj[_key], globalMetadataState, true);
356
356
  }
357
357
  else {
358
358
  // if it's supported in basic search mode then add it as a query string in the search input
@@ -363,13 +363,36 @@ function createFilterStateFromAdvancedQuery(queryString, globalMetadataState, cu
363
363
  }
364
364
  }
365
365
  });
366
+ // here is a hack to match product and vrsions. need to find better way...
367
+ // ( productName: ".NET Core" and ( productVersion: "2.0" ) ) => is processed corectly
368
+ // (productName: ".NET Core" and productVersion: "2.0") => needs to be matched manually
369
+ // productName: ".NET Core" and productVersion: "2.0" => needs to be matched manually
370
+ if (filterObj[SolrKeys.version] && filterObj[SolrKeys.version].length !== 0) {
371
+ if (newFilterInfo[SolrPivotKeys.product_version] && newFilterInfo[SolrPivotKeys.product_version].length !== 0) {
372
+ newFilterInfo[SolrPivotKeys.product_version].forEach((p) => {
373
+ if (p[SolrKeys.version].length === 0)
374
+ p[SolrKeys.version] = (filterObj[SolrKeys.version] || []).map((i) => ({
375
+ field: SolrKeys.version,
376
+ value: i,
377
+ }));
378
+ });
379
+ }
380
+ else {
381
+ filterObj[SolrKeys.version].forEach((i) => {
382
+ advanceToBasicQuery.push(`${SolrKeys.version}:"${i}"`);
383
+ });
384
+ }
385
+ delete newFilterInfo[SolrKeys.version];
386
+ }
366
387
  const filterState = Object.assign(Object.assign({}, currentFilterState), { filterQueryInfo: Object.assign(Object.assign({}, currentFilterState.filterQueryInfo), { queryString: advanceToBasicQuery.join(' AND '), parsedQuery,
367
388
  type }), filterInfo: Object.assign(Object.assign({}, initialCaseFilterState.filterInfo), newFilterInfo) });
368
389
  return filterState;
369
390
  }
370
- function generateFilterValue(solrFieldName, value, globalMetadataState) {
391
+ function generateFilterValue(solrFieldName, value, globalMetadataState, isAdvancedSearch = false) {
371
392
  const valueArr = Array.isArray(value) ? value : value ? [value] : [];
372
- return getValidValues(solrFieldName, valueArr, globalMetadataState);
393
+ return isAdvancedSearch
394
+ ? getValidValuesAdvancedSearch(solrFieldName, valueArr, globalMetadataState)
395
+ : getValidValues(solrFieldName, valueArr, globalMetadataState);
373
396
  }
374
397
  function getValidValues(solrFieldName, itemValues = [], globalMetadataState) {
375
398
  var _a, _b, _c, _d;
@@ -422,6 +445,56 @@ function getValidValues(solrFieldName, itemValues = [], globalMetadataState) {
422
445
  }
423
446
  return mappedValues;
424
447
  }
448
+ function getValidValuesAdvancedSearch(solrFieldName, itemValues = [], globalMetadataState) {
449
+ var _a, _b, _c, _d;
450
+ if (itemValues.length < 1)
451
+ return itemValues;
452
+ let mappedValues = [];
453
+ if (solrFieldName === SolrKeys.group) {
454
+ const caseGroupsMap = (((_a = globalMetadataState.caseGroups) === null || _a === void 0 ? void 0 : _a.data) || []).reduce((acc, { groupNum, name = 'Ungrouped' }) => {
455
+ acc[name] = groupNum;
456
+ return acc;
457
+ }, {});
458
+ itemValues.forEach((item) => {
459
+ caseGroupsMap[item] && mappedValues.push({ key: caseGroupsMap[item], value: item });
460
+ });
461
+ }
462
+ else if (solrFieldName === SolrKeys.accountNumber) {
463
+ let bookmarkedAccountsMap = (((_b = globalMetadataState.bookmarkedAccounts) === null || _b === void 0 ? void 0 : _b.data) || []).reduce((acc, { accountNumber, name }) => {
464
+ acc[accountNumber] = getLabel(accountNumber, name);
465
+ return acc;
466
+ }, {});
467
+ bookmarkedAccountsMap = (((_c = globalMetadataState.bookmarkedGroupAccounts) === null || _c === void 0 ? void 0 : _c.data) || []).reduce((acc, { accountNumber, name }) => {
468
+ acc[accountNumber] = getLabel(accountNumber, name);
469
+ return acc;
470
+ }, {});
471
+ const managedAccountsMap = (((_d = globalMetadataState.managedAccounts) === null || _d === void 0 ? void 0 : _d.data) || []).reduce((acc, { accountNum, name }) => {
472
+ acc[accountNum] = getLabel(accountNum, name);
473
+ return acc;
474
+ }, {});
475
+ itemValues.forEach((item) => {
476
+ if (bookmarkedAccountsMap[item]) {
477
+ mappedValues.push({ key: item, value: bookmarkedAccountsMap[item] });
478
+ }
479
+ else if (managedAccountsMap[item]) {
480
+ mappedValues.push({ key: item, value: managedAccountsMap[item] });
481
+ }
482
+ else if (isEmpty(managedAccountsMap)) {
483
+ mappedValues.push({ key: item, value: item });
484
+ }
485
+ });
486
+ }
487
+ else if (solrFieldName === SolrKeys.escalation) {
488
+ mappedValues = itemValues.map((item) => ({
489
+ key: item,
490
+ value: AdditionalFilterLabels[solrFieldName],
491
+ }));
492
+ }
493
+ else {
494
+ mappedValues = itemValues;
495
+ }
496
+ return mappedValues;
497
+ }
425
498
  function generateProductVersionPivotValue(values) {
426
499
  return (values || []).map((item) => {
427
500
  return typeof item === 'string'
@@ -433,9 +506,11 @@ function generateProductVersionPivotValue(values) {
433
506
  : {
434
507
  field: SolrKeys.product,
435
508
  value: item.value,
436
- [SolrKeys.version]: (item[fieldNameToSolrFieldMapping[SolrKeys.version]] || []).map((item) => ({
509
+ [SolrKeys.version]: (item[SolrKeys.version] ||
510
+ item[fieldNameToSolrFieldMapping[SolrKeys.version]] ||
511
+ []).map((version) => ({
437
512
  field: SolrKeys.version,
438
- value: item,
513
+ value: version,
439
514
  })),
440
515
  };
441
516
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rh-support/cases",
3
- "version": "1.0.6",
3
+ "version": "1.0.8",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org"
@@ -99,5 +99,5 @@
99
99
  "not ie <= 11",
100
100
  "not op_mini all"
101
101
  ],
102
- "gitHead": "9dc089d549b6b579879a705e049a0a4fb0cc061c"
102
+ "gitHead": "5150711347277f20bdf111df96f295dad6fbfa3c"
103
103
  }