@rh-support/cases 0.2.18 → 0.2.19-alpha.1
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 +20 -6
- package/lib/esm/components/case-list/case-list-table/CaseListTable.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-table/CaseListTable.js +0 -8
- package/lib/esm/components/case-list/case-list-table/ExportCaseListCSV.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-table/ExportCaseListCSV.js +0 -2
- package/lib/esm/enums/case.d.ts +1 -2
- package/lib/esm/enums/case.d.ts.map +1 -1
- package/lib/esm/enums/case.js +0 -1
- package/lib/esm/enums/caseSearch.js +1 -1
- package/lib/esm/enums/filters.d.ts +2 -3
- package/lib/esm/enums/filters.d.ts.map +1 -1
- package/lib/esm/enums/filters.js +1 -2
- package/lib/esm/utils/caseListUtils.d.ts +1 -1
- package/lib/esm/utils/caseListUtils.d.ts.map +1 -1
- package/lib/esm/utils/caseListUtils.js +16 -7
- package/lib/esm/utils/caseSearchUtils.d.ts.map +1 -1
- package/lib/esm/utils/caseSearchUtils.js +1 -1
- package/lib/esm/utils/mockSolrResponse.d.ts +42 -0
- package/lib/esm/utils/mockSolrResponse.d.ts.map +1 -0
- package/lib/esm/utils/mockSolrResponse.js +2685 -0
- package/package.json +2 -2
|
@@ -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;AAyBlC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,
|
|
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;AAyBlC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAKH,0BAA0B,EAK7B,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EAAE,mBAAmB,EAAe,MAAM,cAAc,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,IAAI,CAAC;AAK1C,OAAO,EAAgB,WAAW,EAA2B,MAAM,uBAAuB,CAAC;AA4B3F,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,eAmcrC"}
|
|
@@ -9,14 +9,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
};
|
|
10
10
|
import '../../css/caseList.css';
|
|
11
11
|
import '../../css/caseSearch.css';
|
|
12
|
-
import { Button } from '@patternfly/react-core';
|
|
12
|
+
import { Alert, AlertVariant, Button } from '@patternfly/react-core';
|
|
13
13
|
import AngleDoubleDownIcon from '@patternfly/react-icons/dist/js/icons/angle-double-down-icon';
|
|
14
14
|
import AngleDoubleLeftIcon from '@patternfly/react-icons/dist/js/icons/angle-double-left-icon';
|
|
15
15
|
import AngleDoubleRightIcon from '@patternfly/react-icons/dist/js/icons/angle-double-right-icon';
|
|
16
16
|
import AngleDoubleUpIcon from '@patternfly/react-icons/dist/js/icons/angle-double-up-icon';
|
|
17
17
|
import { ErrorBoundary, ToastNotification, useBreakpoint, useDocumentTitle, useForceUpdate, usePrevious, } from '@rh-support/components';
|
|
18
18
|
import { fetchCaseGroupsForSSO, fetchCaseTypes, GlobalMetadataDispatchContext, GlobalMetadataStateContext, setUserPreferences, updateUserPreferences, UserPreferencesKeys, } from '@rh-support/react-context';
|
|
19
|
-
import { getStringifiedParams, getUrlParsedParams, haventLoadedMetadata, pendoTrackEvent, solrResponseToFacetFields, solrResponseToPivotFields, } from '@rh-support/utils';
|
|
19
|
+
import { getConfigField, getStringifiedParams, getUrlParsedParams, haventLoadedMetadata, PCM_CONFIG_FIELD_TYPE, pendoTrackEvent, solrResponseToFacetFields, solrResponseToPivotFields, } from '@rh-support/utils';
|
|
20
20
|
import every from 'lodash/every';
|
|
21
21
|
import get from 'lodash/get';
|
|
22
22
|
import some from 'lodash/some';
|
|
@@ -45,10 +45,10 @@ export function CaseList(props) {
|
|
|
45
45
|
const { t } = useTranslation();
|
|
46
46
|
useDocumentTitle(PageTitle.CASE_LIST);
|
|
47
47
|
const dispatchToGlobalMetadataReducer = useContext(GlobalMetadataDispatchContext);
|
|
48
|
-
const { caseList, pivotValues, isFetching, filterValuesFromFacetResponse, currentQuery
|
|
48
|
+
const { caseList, pivotValues, isFetching, filterValuesFromFacetResponse, currentQuery } = useCaseListStateContext();
|
|
49
49
|
const CaseListDispatch = useCaseListDispatchContext();
|
|
50
50
|
const breakPoint = useBreakpoint();
|
|
51
|
-
const { globalMetadataState, globalMetadataState: { caseGroups, loggedInUserJwtToken, loggedInUserRights, loggedInUsersAccount, userPreferences, managedAccounts, bookmarkedAccounts, bookmarkedGroupAccounts, allCaseTypes, }, } = useContext(GlobalMetadataStateContext);
|
|
51
|
+
const { globalMetadataState, globalMetadataState: { caseGroups, loggedInUserJwtToken, loggedInUserRights, loggedInUsersAccount, userPreferences, managedAccounts, bookmarkedAccounts, bookmarkedGroupAccounts, allCaseTypes, pcmConfig, }, } = useContext(GlobalMetadataStateContext);
|
|
52
52
|
const location = useLocation();
|
|
53
53
|
const searchParams = getUrlParsedParams(location.search);
|
|
54
54
|
const queryFromUrl = searchParams[FILTER_URL_QUERY_SEARCH_PARAM];
|
|
@@ -68,6 +68,9 @@ export function CaseList(props) {
|
|
|
68
68
|
const prevSearchType = usePrevious(filterState.filterQueryInfo.type);
|
|
69
69
|
let isSearchTypeChanged = filterState.filterQueryInfo.type !== prevSearchType;
|
|
70
70
|
const [hasError, setHasError] = useState(null);
|
|
71
|
+
const alwaysUseSFDC = getConfigField(pcmConfig.data, 'alwaysUseSFDC', PCM_CONFIG_FIELD_TYPE.FEATURE_FLAG);
|
|
72
|
+
const showSecureSupportOutage = getConfigField(pcmConfig.data, 'showSecureSupportOutage', PCM_CONFIG_FIELD_TYPE.FEATURE_FLAG) &&
|
|
73
|
+
loggedInUsersAccount.data.secureSupport;
|
|
71
74
|
// sfdc call should be called only when we don't have any filter applied
|
|
72
75
|
const forceSfdcSearch = () => every(filterState.filterInfo, (filter) => filter.length === 0);
|
|
73
76
|
function getCases(currentFilterState) {
|
|
@@ -82,7 +85,7 @@ export function CaseList(props) {
|
|
|
82
85
|
// recreate a new AbortController for each call
|
|
83
86
|
let controller = new AbortController();
|
|
84
87
|
abortControllerRef.current = controller;
|
|
85
|
-
const res = yield getCaseList(currentFilterState, loggedInUserRights.data, loggedInUsersAccount.data, controller.signal, forceSfdcSearch());
|
|
88
|
+
const res = yield getCaseList(currentFilterState, loggedInUserRights.data, loggedInUsersAccount.data, controller.signal, forceSfdcSearch(), alwaysUseSFDC);
|
|
86
89
|
setFilterValuesFromFacetResponse(CaseListDispatch, solrResponseToFacetFields(res));
|
|
87
90
|
setPivotValues(CaseListDispatch, solrResponseToPivotFields(res));
|
|
88
91
|
setCaseList(CaseListDispatch, res.response);
|
|
@@ -129,7 +132,7 @@ export function CaseList(props) {
|
|
|
129
132
|
};
|
|
130
133
|
const checkNewCases = () => __awaiter(this, void 0, void 0, function* () {
|
|
131
134
|
try {
|
|
132
|
-
const res = yield getCaseList(filterState, loggedInUserRights.data, loggedInUsersAccount.data, null, forceSfdcSearch());
|
|
135
|
+
const res = yield getCaseList(filterState, loggedInUserRights.data, loggedInUsersAccount.data, null, forceSfdcSearch(), alwaysUseSFDC);
|
|
133
136
|
let changed = false;
|
|
134
137
|
if (res.response.numFound <= filterState.paginationInfo.pageSize &&
|
|
135
138
|
res.response.numFound !== caseList.numFound) {
|
|
@@ -279,6 +282,17 @@ export function CaseList(props) {
|
|
|
279
282
|
}, [breakPoint]);
|
|
280
283
|
return (React.createElement("article", { id: "rh-support-cases", className: "cases-main" },
|
|
281
284
|
React.createElement("section", { className: "case-search-top" },
|
|
285
|
+
alwaysUseSFDC && (React.createElement("div", null,
|
|
286
|
+
React.createElement(Alert, { className: "pf-u-mb-md", isInline: true, variant: AlertVariant.warning, title: React.createElement(Trans, null,
|
|
287
|
+
"Case search is working with limited functionality. Please check",
|
|
288
|
+
' ',
|
|
289
|
+
React.createElement("a", { href: "https://status.redhat.com", target: "_blank", rel: "noreferrer" }, "status page"),
|
|
290
|
+
' ',
|
|
291
|
+
"for details.") }))),
|
|
292
|
+
showSecureSupportOutage && (React.createElement("div", null,
|
|
293
|
+
React.createElement(Alert, { className: "pf-u-mb-md", isInline: true, variant: AlertVariant.warning, title: React.createElement(Trans, null, "Secure Support case management will be undergoing maintenance on Wednesday, December 22 from 5:00 am EST until 5:30 am EST.") },
|
|
294
|
+
React.createElement("p", null,
|
|
295
|
+
React.createElement(Trans, null, "During this time support cases can not be opened, viewed, or updated. Phone support will be available should support be required during this window."))))),
|
|
282
296
|
React.createElement("div", { className: "search-wrapper" },
|
|
283
297
|
React.createElement("div", { className: "open-case" },
|
|
284
298
|
React.createElement(NewCaseButton, { routeProps: props.routeProps })),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseListTable.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-table/CaseListTable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AA6B3E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAWxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAEH,eAAe,EACf,SAAS,EAIZ,MAAM,0BAA0B,CAAC;AA2BlC,UAAU,MAAM;IACZ,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC3C,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,kBAAkB,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"CaseListTable.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-table/CaseListTable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AA6B3E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAWxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAEH,eAAe,EACf,SAAS,EAIZ,MAAM,0BAA0B,CAAC;AA2BlC,UAAU,MAAM;IACZ,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC3C,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,kBAAkB,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,eA8V1C"}
|
|
@@ -152,14 +152,6 @@ export function CaseListTable(props) {
|
|
|
152
152
|
accessor: (data) => data.case_alternate_id,
|
|
153
153
|
show: isColumnVisible(CaseListColumnIds.alternateCaseId),
|
|
154
154
|
},
|
|
155
|
-
{
|
|
156
|
-
id: CaseListColumnIds.type,
|
|
157
|
-
cellWidth: 10,
|
|
158
|
-
title: t('Type'),
|
|
159
|
-
sortable: true,
|
|
160
|
-
accessor: (data) => data.case_type,
|
|
161
|
-
show: isColumnVisible(CaseListColumnIds.type),
|
|
162
|
-
},
|
|
163
155
|
...(props.loggedInUserRights && props.loggedInUserRights.isOrgAdmin()
|
|
164
156
|
? [
|
|
165
157
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExportCaseListCSV.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-table/ExportCaseListCSV.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"ExportCaseListCSV.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-list-table/ExportCaseListCSV.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AA4C7D,UAAU,MAAM;IACZ,uBAAuB,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;CAC7D;AAID,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,eAyE9C"}
|
|
@@ -34,7 +34,6 @@ const csvHeadersSolr = [
|
|
|
34
34
|
{ label: 'Modified date', key: SolrKeys.modifiedDate, transform: formatDateTime },
|
|
35
35
|
{ label: 'Uri', key: SolrKeys.uri },
|
|
36
36
|
{ label: 'Alternate case ID', key: SolrKeys.alternateId },
|
|
37
|
-
{ label: 'Type', key: SolrKeys.type },
|
|
38
37
|
];
|
|
39
38
|
const csvHeadersSFDC = [
|
|
40
39
|
{ label: 'Account number', key: SFDCKeys.accountNumber },
|
|
@@ -52,7 +51,6 @@ const csvHeadersSFDC = [
|
|
|
52
51
|
{ label: 'Modified date', key: SFDCKeys.lastPublicUpdateDate, transform: formatDateTime },
|
|
53
52
|
{ label: 'Uri', key: SFDCKeys.uri },
|
|
54
53
|
{ label: 'Alternate case ID', key: SFDCKeys.alternateId },
|
|
55
|
-
{ label: 'Type', key: SFDCKeys.caseType },
|
|
56
54
|
];
|
|
57
55
|
const groupHeaderSOLR = { label: 'Group', key: SolrKeys.groupName };
|
|
58
56
|
const groupHeaderSFDC = { label: 'Group', key: SFDCKeys.groupName };
|
package/lib/esm/enums/case.d.ts
CHANGED
|
@@ -23,7 +23,6 @@ export declare enum CaseListColumnIds {
|
|
|
23
23
|
productAndVersion = "product",
|
|
24
24
|
accountNumber = "accountNumber",
|
|
25
25
|
group = "folderName",
|
|
26
|
-
alternateCaseId = "alternateCaseId"
|
|
27
|
-
type = "type"
|
|
26
|
+
alternateCaseId = "alternateCaseId"
|
|
28
27
|
}
|
|
29
28
|
//# sourceMappingURL=case.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"case.d.ts","sourceRoot":"","sources":["../../../src/enums/case.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IAClB,iBAAiB,wBAAwB;IACzC,eAAe,uBAAuB;IACtC,IAAI,mBAAmB;IACvB,MAAM,WAAW;IACjB,GAAG,cAAc;CACpB;AAED,oBAAY,YAAY;IACpB,MAAM,eAAe;IACrB,SAAS,kBAAkB;IAC3B,MAAM,eAAe;IACrB,GAAG,YAAY;CAClB;AAED,eAAO,MAAM,cAAc,0TACgS,CAAC;AAE5T,oBAAY,iBAAiB;IACzB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,KAAK,gBAAgB;IACrB,OAAO,gBAAgB;IACvB,MAAM,WAAW;IACjB,QAAQ,qBAAqB;IAC7B,iBAAiB,YAAY;IAC7B,aAAa,kBAAkB;IAC/B,KAAK,eAAe;IACpB,eAAe,oBAAoB;
|
|
1
|
+
{"version":3,"file":"case.d.ts","sourceRoot":"","sources":["../../../src/enums/case.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IAClB,iBAAiB,wBAAwB;IACzC,eAAe,uBAAuB;IACtC,IAAI,mBAAmB;IACvB,MAAM,WAAW;IACjB,GAAG,cAAc;CACpB;AAED,oBAAY,YAAY;IACpB,MAAM,eAAe;IACrB,SAAS,kBAAkB;IAC3B,MAAM,eAAe;IACrB,GAAG,YAAY;CAClB;AAED,eAAO,MAAM,cAAc,0TACgS,CAAC;AAE5T,oBAAY,iBAAiB;IACzB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,KAAK,gBAAgB;IACrB,OAAO,gBAAgB;IACvB,MAAM,WAAW;IACjB,QAAQ,qBAAqB;IAC7B,iBAAiB,YAAY;IAC7B,aAAa,kBAAkB;IAC/B,KAAK,eAAe;IACpB,eAAe,oBAAoB;CACtC"}
|
package/lib/esm/enums/case.js
CHANGED
|
@@ -27,5 +27,4 @@ export var CaseListColumnIds;
|
|
|
27
27
|
CaseListColumnIds["accountNumber"] = "accountNumber";
|
|
28
28
|
CaseListColumnIds["group"] = "folderName";
|
|
29
29
|
CaseListColumnIds["alternateCaseId"] = "alternateCaseId";
|
|
30
|
-
CaseListColumnIds["type"] = "type";
|
|
31
30
|
})(CaseListColumnIds || (CaseListColumnIds = {}));
|
|
@@ -17,4 +17,4 @@ export const fieldNameToSolrFieldMapping = {
|
|
|
17
17
|
[SolrKeys.caseContactSSO]: 'ownedByMe',
|
|
18
18
|
[SolrKeys.createdBySsoUsername]: 'createdBySsoUsername',
|
|
19
19
|
};
|
|
20
|
-
export const advanceSearchFieldNameToSolrFieldMapping = Object.assign(Object.assign({}, fieldNameToSolrFieldMapping), { [SolrKeys.fts]: 'FTS', [SolrKeys.cep]: 'CEP', [SolrKeys.accountNumber]: 'accountNumber', [SolrKeys.
|
|
20
|
+
export const advanceSearchFieldNameToSolrFieldMapping = Object.assign(Object.assign({}, fieldNameToSolrFieldMapping), { [SolrKeys.fts]: 'FTS', [SolrKeys.cep]: 'CEP', [SolrKeys.accountNumber]: 'accountNumber', [SolrKeys.caseType]: 'caseType', [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' });
|
|
@@ -30,7 +30,7 @@ export declare enum SolrKeys {
|
|
|
30
30
|
description = "case_description",
|
|
31
31
|
uri = "uri",
|
|
32
32
|
fts = "case_24_7",
|
|
33
|
-
|
|
33
|
+
caseType = "case_type",
|
|
34
34
|
cep = "case_is_cep",
|
|
35
35
|
accountName = "case_accountName",
|
|
36
36
|
alternateId = "case_alternate_id"
|
|
@@ -62,8 +62,7 @@ export declare enum SFDCKeys {
|
|
|
62
62
|
uri = "uri",
|
|
63
63
|
groupNumber = "groupNumber",
|
|
64
64
|
groupName = "groupName",
|
|
65
|
-
alternateId = "alternateId"
|
|
66
|
-
caseType = "caseType"
|
|
65
|
+
alternateId = "alternateId"
|
|
67
66
|
}
|
|
68
67
|
export declare const sfdcFieldToSolrMap: {
|
|
69
68
|
caseNumber: SolrKeys;
|
|
@@ -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;CAC5B;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,
|
|
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;CAC5B;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,QAAQ,cAAc;IACtB,GAAG,gBAAgB;IACnB,WAAW,qBAAqB;IAChC,WAAW,sBAAsB;CACpC;AAGD,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;CAC9B;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;CAoB9B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;CAElC,CAAC"}
|
package/lib/esm/enums/filters.js
CHANGED
|
@@ -32,7 +32,7 @@ export var SolrKeys;
|
|
|
32
32
|
SolrKeys["description"] = "case_description";
|
|
33
33
|
SolrKeys["uri"] = "uri";
|
|
34
34
|
SolrKeys["fts"] = "case_24_7";
|
|
35
|
-
SolrKeys["
|
|
35
|
+
SolrKeys["caseType"] = "case_type";
|
|
36
36
|
SolrKeys["cep"] = "case_is_cep";
|
|
37
37
|
SolrKeys["accountName"] = "case_accountName";
|
|
38
38
|
SolrKeys["alternateId"] = "case_alternate_id";
|
|
@@ -68,7 +68,6 @@ export var SFDCKeys;
|
|
|
68
68
|
SFDCKeys["groupNumber"] = "groupNumber";
|
|
69
69
|
SFDCKeys["groupName"] = "groupName";
|
|
70
70
|
SFDCKeys["alternateId"] = "alternateId";
|
|
71
|
-
SFDCKeys["caseType"] = "caseType";
|
|
72
71
|
})(SFDCKeys || (SFDCKeys = {}));
|
|
73
72
|
export const sfdcFieldToSolrMap = {
|
|
74
73
|
[SFDCKeys.caseNumber]: SolrKeys.caseNumber,
|
|
@@ -8,6 +8,6 @@ export interface IPromiseReflection<T> {
|
|
|
8
8
|
status: 'fulfilled' | 'rejected';
|
|
9
9
|
e?: Error;
|
|
10
10
|
}
|
|
11
|
-
export declare function getCaseList(filterState: ICaseListFilterState, loggedInUser: UserAuth, loggedInUserAccount: Partial<IAccount>, abortSignal: AbortSignal, forceSfdcSearch?: boolean): Promise<ISolrCaseSearchResponse>;
|
|
11
|
+
export declare function getCaseList(filterState: ICaseListFilterState, loggedInUser: UserAuth, loggedInUserAccount: Partial<IAccount>, abortSignal: AbortSignal, forceSfdcSearch?: boolean, alwaysUseSFDC?: boolean): Promise<ISolrCaseSearchResponse>;
|
|
12
12
|
export declare function getCaseListFromSolr(solrQuery: ISearchSolrQuery, partnerSearch: boolean, abortSignal: AbortSignal, isSecureSupport?: boolean): Promise<ISolrCaseSearchResponse>;
|
|
13
13
|
//# sourceMappingURL=caseListUtils.d.ts.map
|
|
@@ -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;
|
|
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;AAQlG,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;AAoBD,wBAAsB,WAAW,CAC7B,WAAW,EAAE,oBAAoB,EACjC,YAAY,EAAE,QAAQ,EACtB,mBAAmB,EAAE,OAAO,CAAC,QAAQ,CAAC,EACtC,WAAW,EAAE,WAAW,EACxB,eAAe,CAAC,EAAE,OAAO,EACzB,aAAa,UAAQ,GACtB,OAAO,CAAC,uBAAuB,CAAC,CA4ClC;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"}
|
|
@@ -19,8 +19,10 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
19
19
|
return t;
|
|
20
20
|
};
|
|
21
21
|
import { publicApi, search } from '@cee-eng/hydrajs';
|
|
22
|
+
import isEmpty from 'lodash/isEmpty';
|
|
22
23
|
import { isNoFilterApplied, isSearchSupportedBySFDC } from '../components/case-list/CaseListFilterHelpers';
|
|
23
24
|
import { createSFDCQueryFromFilterState, createSolrQueryFromFilterState, mapSFDCCaseListToSolrCaseList, } from './caseSearchUtils';
|
|
25
|
+
import { mockSolrResponse } from './mockSolrResponse';
|
|
24
26
|
const reflect = (p) => __awaiter(void 0, void 0, void 0, function* () {
|
|
25
27
|
try {
|
|
26
28
|
const v = yield p;
|
|
@@ -39,26 +41,33 @@ const reflect = (p) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
39
41
|
// and override the solr result with sfdc.
|
|
40
42
|
// Even though SFDC support most of the filters but another problem with SFDC is it doesnot support multiple values for a praticular filter.
|
|
41
43
|
// 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.
|
|
42
|
-
export function getCaseList(filterState, loggedInUser, loggedInUserAccount, abortSignal, forceSfdcSearch) {
|
|
44
|
+
export function getCaseList(filterState, loggedInUser, loggedInUserAccount, abortSignal, forceSfdcSearch, alwaysUseSFDC = false) {
|
|
43
45
|
var _a, _b, _c, _d;
|
|
44
46
|
return __awaiter(this, void 0, void 0, function* () {
|
|
45
47
|
const solrFilter = createSolrQueryFromFilterState(filterState, loggedInUser);
|
|
46
48
|
const isSfdcSearchRequired = ((forceSfdcSearch || isSearchSupportedBySFDC(filterState)) && !filterState.filterQueryInfo.queryString) ||
|
|
47
49
|
loggedInUserAccount.secureSupport;
|
|
48
50
|
const partnerSearch = loggedInUser.hasManagedAccounts() && ((_b = (_a = filterState.filterInfo) === null || _a === void 0 ? void 0 : _a.case_accountNumber) !== null && _b !== void 0 ? _b : []).length > 0;
|
|
49
|
-
|
|
51
|
+
let solrPromise = Promise.resolve(undefined);
|
|
52
|
+
if (!alwaysUseSFDC) {
|
|
53
|
+
solrPromise = getCaseListFromSolr(solrFilter, partnerSearch, abortSignal, loggedInUserAccount === null || loggedInUserAccount === void 0 ? void 0 : loggedInUserAccount.secureSupport);
|
|
54
|
+
}
|
|
50
55
|
let sfdcPromise;
|
|
51
|
-
|
|
56
|
+
const needToUseSFDC = isSfdcSearchRequired || alwaysUseSFDC;
|
|
57
|
+
if (needToUseSFDC) {
|
|
52
58
|
const sfdcFilter = createSFDCQueryFromFilterState(filterState, loggedInUser, loggedInUserAccount, isNoFilterApplied(filterState));
|
|
53
59
|
sfdcPromise = publicApi.caseList.getCaseListFromSFDC(sfdcFilter, partnerSearch, loggedInUserAccount === null || loggedInUserAccount === void 0 ? void 0 : loggedInUserAccount.secureSupport, abortSignal);
|
|
54
60
|
}
|
|
55
61
|
const res = yield Promise.all([solrPromise, sfdcPromise].filter((item) => !!item).map(reflect));
|
|
56
|
-
|
|
62
|
+
let solrResponse = res[0];
|
|
63
|
+
if (isEmpty(solrResponse === null || solrResponse === void 0 ? void 0 : solrResponse.v) && alwaysUseSFDC) {
|
|
64
|
+
solrResponse.v = mockSolrResponse;
|
|
65
|
+
}
|
|
57
66
|
const sfdcResponse = res[1];
|
|
58
|
-
if (solrResponse.status === 'rejected') {
|
|
59
|
-
throw new Error(solrResponse.e.message);
|
|
67
|
+
if ((solrResponse === null || solrResponse === void 0 ? void 0 : solrResponse.status) === 'rejected') {
|
|
68
|
+
throw new Error(solrResponse === null || solrResponse === void 0 ? void 0 : solrResponse.e.message);
|
|
60
69
|
}
|
|
61
|
-
if (
|
|
70
|
+
if (needToUseSFDC && sfdcResponse) {
|
|
62
71
|
if (sfdcResponse.status === 'fulfilled') {
|
|
63
72
|
const mappedSfdcRes = sfdcResponse && mapSFDCCaseListToSolrCaseList((_d = (_c = sfdcResponse === null || sfdcResponse === void 0 ? void 0 : sfdcResponse.v) === null || _c === void 0 ? void 0 : _c.cases) !== null && _d !== void 0 ? _d : []);
|
|
64
73
|
solrResponse.v.response.docs = mappedSfdcRes;
|
|
@@ -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;AAWxD,OAAO,EACH,oBAAoB,EACpB,WAAW,EAId,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EAEH,mBAAmB,EAEtB,MAAM,qBAAqB,CAAC;AAS7B,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,
|
|
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;AAWxD,OAAO,EACH,oBAAoB,EACpB,WAAW,EAId,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EAEH,mBAAmB,EAEtB,MAAM,qBAAqB,CAAC;AAS7B,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,OAuEhG;AAED,iBAAS,sCAAsC,CAC3C,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,EAChC,WAAW,EAAE,MAAM,EACnB,eAAe,GAAE,OAAe,UAwBnC;AAeD,iBAAS,wCAAwC,CAC7C,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,EAChC,OAAO,EAAE,MAAM,EACf,eAAe,QAAK,UAoCvB;AAMD,iBAAS,yBAAyB,CAC9B,WAAW,EAAE,oBAAoB,EACjC,kBAAkB,EAAE,QAAQ,EAC5B,oBAAoB,KAAA,EACpB,UAAU,SAAI,EACd,UAAU,SAAO,OAmBpB;AAkBD,iBAAS,8BAA8B,CACnC,WAAW,EAAE,oBAAoB,EACjC,YAAY,EAAE,QAAQ,EACtB,mBAAmB,EAAE,OAAO,CAAC,QAAQ,CAAC,EACtC,kBAAkB,EAAE,OAAO,GAC5B,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,wBA4C9D;AAED,iBAAS,kCAAkC,CACvC,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,oBAAoB,EACzC,kBAAkB,EAAE,oBAAoB,wBAmC3C;AAgGD,OAAO,EACH,8BAA8B,EAC9B,sCAAsC,EACtC,yBAAyB,EACzB,8BAA8B,EAC9B,6BAA6B,EAC7B,6BAA6B,EAC7B,6BAA6B,EAC7B,wCAAwC,EACxC,kCAAkC,GACrC,CAAC"}
|
|
@@ -61,7 +61,7 @@ function createSolrQueryFromFilterState(filterState, loggedInUser) {
|
|
|
61
61
|
'f.case_product.facet.limit': -1,
|
|
62
62
|
'f.case_version.facet.pivot.limit': -1,
|
|
63
63
|
'f.case_version.facet.pivot.mincount': 1,
|
|
64
|
-
fl: 'case_createdByName,case_createdDate,case_lastModifiedDate,case_lastModifiedByName,id,uri,case_summary,case_status,case_product,case_version,case_accountNumber,case_number,case_contactName,case_owner,case_severity,case_last_public_update_date,case_last_public_update_by,case_customer_escalation,case_folderName,case_alternate_id
|
|
64
|
+
fl: 'case_createdByName,case_createdDate,case_lastModifiedDate,case_lastModifiedByName,id,uri,case_summary,case_status,case_product,case_version,case_accountNumber,case_number,case_contactName,case_owner,case_severity,case_last_public_update_date,case_last_public_update_by,case_customer_escalation,case_folderName,case_alternate_id',
|
|
65
65
|
})
|
|
66
66
|
.facetField(SolrKeys.product, [SolrTags.c_product])
|
|
67
67
|
.facetField(SolrKeys.severity, [SolrTags.c_severity])
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export declare const mockSolrResponse: {
|
|
2
|
+
response: {
|
|
3
|
+
numFound: number;
|
|
4
|
+
start: number;
|
|
5
|
+
docs: any[];
|
|
6
|
+
};
|
|
7
|
+
responseHeader: {
|
|
8
|
+
zkConnected: boolean;
|
|
9
|
+
status: number;
|
|
10
|
+
QTime: number;
|
|
11
|
+
params: {};
|
|
12
|
+
};
|
|
13
|
+
facet_counts: {
|
|
14
|
+
facet_queries: {};
|
|
15
|
+
facet_fields: {
|
|
16
|
+
case_product: (string | number)[];
|
|
17
|
+
case_severity: (string | number)[];
|
|
18
|
+
case_status: (string | number)[];
|
|
19
|
+
};
|
|
20
|
+
facet_ranges: {};
|
|
21
|
+
facet_intervals: {};
|
|
22
|
+
facet_heatmaps: {};
|
|
23
|
+
facet_pivot: {
|
|
24
|
+
'case_product,case_version': ({
|
|
25
|
+
field: string;
|
|
26
|
+
value: string;
|
|
27
|
+
count: number;
|
|
28
|
+
pivot: {
|
|
29
|
+
field: string;
|
|
30
|
+
value: string;
|
|
31
|
+
count: number;
|
|
32
|
+
}[];
|
|
33
|
+
} | {
|
|
34
|
+
field: string;
|
|
35
|
+
value: string;
|
|
36
|
+
count: number;
|
|
37
|
+
pivot?: undefined;
|
|
38
|
+
})[];
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=mockSolrResponse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mockSolrResponse.d.ts","sourceRoot":"","sources":["../../../src/utils/mockSolrResponse.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4nF5B,CAAC"}
|