@rh-support/cases 2.6.235 → 2.7.10
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/NewCaseButton.js +1 -1
- package/lib/esm/components/case-list/CaseList.d.ts +0 -7
- package/lib/esm/components/case-list/CaseList.d.ts.map +1 -1
- package/lib/esm/components/case-list/CaseList.js +372 -137
- package/lib/esm/components/case-list/CaseListContext.d.ts.map +1 -1
- package/lib/esm/components/case-list/CaseListContext.js +5 -2
- package/lib/esm/components/case-list/CaseListFilterContext.d.ts.map +1 -1
- package/lib/esm/components/case-list/CaseListFilterContext.js +2 -1
- package/lib/esm/components/case-list/CaseListFilterHelpers.d.ts +3 -2
- package/lib/esm/components/case-list/CaseListFilterHelpers.d.ts.map +1 -1
- package/lib/esm/components/case-list/CaseListFilterHelpers.js +19 -6
- package/lib/esm/components/case-list/CaseListFilterReducer.d.ts +36 -4
- package/lib/esm/components/case-list/CaseListFilterReducer.d.ts.map +1 -1
- package/lib/esm/components/case-list/CaseListFilterReducer.js +6 -12
- package/lib/esm/components/case-list/CaseListReducer.d.ts +22 -10
- package/lib/esm/components/case-list/CaseListReducer.d.ts.map +1 -1
- package/lib/esm/components/case-list/CaseListReducer.js +25 -7
- package/lib/esm/components/case-list/case-list-filters/AccountsFilter.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/AccountsFilter.js +18 -11
- package/lib/esm/components/case-list/case-list-filters/AdditionalFilters.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/AdditionalFilters.js +20 -4
- package/lib/esm/components/case-list/case-list-filters/CaseLabelsFilter.d.ts +3 -0
- package/lib/esm/components/case-list/case-list-filters/CaseLabelsFilter.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-list-filters/CaseLabelsFilter.js +178 -0
- package/lib/esm/components/case-list/case-list-filters/CaseListFilterChips.d.ts +1 -7
- package/lib/esm/components/case-list/case-list-filters/CaseListFilterChips.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/CaseListFilterChips.js +12 -16
- package/lib/esm/components/case-list/case-list-filters/CaseListFilters.d.ts +2 -5
- package/lib/esm/components/case-list/case-list-filters/CaseListFilters.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/CaseListFilters.js +14 -13
- package/lib/esm/components/case-list/case-list-filters/CreatorSsoNameFilter.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/CreatorSsoNameFilter.js +21 -14
- package/lib/esm/components/case-list/case-list-filters/CreatorSsoNameFilterChip.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/CreatorSsoNameFilterChip.js +3 -0
- package/lib/esm/components/case-list/case-list-filters/GroupsFilter.d.ts +11 -1
- package/lib/esm/components/case-list/case-list-filters/GroupsFilter.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/GroupsFilter.js +90 -70
- package/lib/esm/components/case-list/case-list-filters/ProductFilterChip.d.ts +1 -3
- package/lib/esm/components/case-list/case-list-filters/ProductFilterChip.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/ProductFilterChip.js +2 -2
- package/lib/esm/components/case-list/case-list-filters/ProductsFilter.d.ts +5 -4
- package/lib/esm/components/case-list/case-list-filters/ProductsFilter.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/ProductsFilter.js +15 -54
- package/lib/esm/components/case-list/case-list-filters/SeverityFilter.d.ts +0 -3
- package/lib/esm/components/case-list/case-list-filters/SeverityFilter.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/SeverityFilter.js +18 -44
- package/lib/esm/components/case-list/case-list-filters/StatusFilter.d.ts +0 -3
- package/lib/esm/components/case-list/case-list-filters/StatusFilter.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/StatusFilter.js +23 -49
- package/lib/esm/components/case-list/case-list-filters/VersionsFilter.d.ts +1 -3
- package/lib/esm/components/case-list/case-list-filters/VersionsFilter.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/VersionsFilter.js +60 -59
- package/lib/esm/components/case-list/case-list-table/ArchivedCaseLabel.d.ts +3 -0
- package/lib/esm/components/case-list/case-list-table/ArchivedCaseLabel.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-list-table/ArchivedCaseLabel.js +8 -0
- package/lib/esm/components/case-list/case-list-table/CaseListLabelGroup.d.ts +9 -0
- package/lib/esm/components/case-list/case-list-table/CaseListLabelGroup.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-list-table/CaseListLabelGroup.js +105 -0
- package/lib/esm/components/case-list/case-list-table/CaseListTable.d.ts +10 -3
- 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 +98 -84
- package/lib/esm/components/case-list/case-list-table/CaseListTableRow.d.ts +33 -0
- package/lib/esm/components/case-list/case-list-table/CaseListTableRow.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-list-table/CaseListTableRow.js +51 -0
- package/lib/esm/components/case-list/case-list-table/CaseListTableSkeletonRow.d.ts +9 -0
- package/lib/esm/components/case-list/case-list-table/CaseListTableSkeletonRow.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-list-table/CaseListTableSkeletonRow.js +10 -0
- package/lib/esm/components/case-list/case-list-table/CloseCaseBtn.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-table/CloseCaseBtn.js +27 -28
- package/lib/esm/components/case-list/case-list-table/DownloadCSVFileModal.d.ts +0 -5
- package/lib/esm/components/case-list/case-list-table/DownloadCSVFileModal.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-table/DownloadCSVFileModal.js +51 -70
- 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 +5 -15
- package/lib/esm/components/case-list/case-list-table/SeverityLabel.js +1 -1
- package/lib/esm/components/case-list/case-list-table/TableActionsDropdown.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-table/TableActionsDropdown.js +4 -5
- package/lib/esm/components/case-list/case-list-table/table-column-selector/TableColumnSelector.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-table/table-column-selector/TableColumnSelector.js +1 -0
- package/lib/esm/components/case-list/case-search/AdvanceSearchToggleButton.d.ts +8 -0
- package/lib/esm/components/case-list/case-search/AdvanceSearchToggleButton.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-search/AdvanceSearchToggleButton.js +8 -0
- package/lib/esm/components/case-list/case-search/BookmarkedSearchesSelector.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-search/BookmarkedSearchesSelector.js +15 -2
- package/lib/esm/components/case-list/case-search/CaseSearch.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-search/CaseSearch.js +55 -24
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchAccountSection.d.ts +10 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchAccountSection.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchAccountSection.js +29 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchAuditsSection.d.ts +10 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchAuditsSection.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchAuditsSection.js +16 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchCaseSection.d.ts +9 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchCaseSection.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchCaseSection.js +21 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchDateRangeField.d.ts +12 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchDateRangeField.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchDateRangeField.js +31 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchFieldBlock.d.ts +10 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchFieldBlock.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchFieldBlock.js +10 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchModal.d.ts +10 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchModal.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchModal.js +92 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchOwnerSection.d.ts +9 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchOwnerSection.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchOwnerSection.js +20 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchProductSection.d.ts +9 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchProductSection.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/AdvanceSearchProductSection.js +28 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/ProductVersionDrilldownSelect.d.ts +9 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/ProductVersionDrilldownSelect.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/ProductVersionDrilldownSelect.js +241 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/SelectableLabelFilter.d.ts +11 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/SelectableLabelFilter.d.ts.map +1 -0
- package/lib/esm/components/case-list/case-search/advance-search-modal/SelectableLabelFilter.js +23 -0
- package/lib/esm/components/case-list/case-search/useAdvanceSearchParser.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-search/useAdvanceSearchParser.js +2 -1
- package/lib/esm/css/caseList.css +197 -28
- package/lib/esm/css/caseSearch.css +114 -0
- package/lib/esm/enums/case.d.ts +13 -5
- package/lib/esm/enums/case.d.ts.map +1 -1
- package/lib/esm/enums/case.js +23 -3
- package/lib/esm/enums/caseSearch.d.ts +3 -0
- package/lib/esm/enums/caseSearch.d.ts.map +1 -1
- package/lib/esm/enums/caseSearch.js +2 -1
- package/lib/esm/enums/filters.d.ts +5 -1
- package/lib/esm/enums/filters.d.ts.map +1 -1
- package/lib/esm/enums/filters.js +4 -0
- package/lib/esm/hooks/useCaseLabels.d.ts +14 -0
- package/lib/esm/hooks/useCaseLabels.d.ts.map +1 -0
- package/lib/esm/hooks/useCaseLabels.js +50 -0
- package/lib/esm/hooks/useCloseCase.d.ts +1 -1
- package/lib/esm/hooks/useCloseCase.d.ts.map +1 -1
- package/lib/esm/hooks/useCloseCase.js +54 -30
- package/lib/esm/hooks/useExportCaseListCSV.d.ts.map +1 -1
- package/lib/esm/hooks/useExportCaseListCSV.js +1 -9
- package/lib/esm/hooks/useFilterStateOnLoad.d.ts +1 -1
- package/lib/esm/hooks/useFilterStateOnLoad.d.ts.map +1 -1
- package/lib/esm/hooks/useFilterStateOnLoad.js +7 -5
- package/lib/esm/index.js +1 -0
- package/lib/esm/models/caseList.d.ts +1 -0
- package/lib/esm/models/caseList.d.ts.map +1 -1
- package/lib/esm/test-utils/mockData.d.ts +1 -0
- package/lib/esm/test-utils/mockData.d.ts.map +1 -1
- package/lib/esm/test-utils/mockData.js +2 -1
- package/lib/esm/utils/advanceSearchFormMapper.d.ts +11 -0
- package/lib/esm/utils/advanceSearchFormMapper.d.ts.map +1 -0
- package/lib/esm/utils/advanceSearchFormMapper.js +71 -0
- package/lib/esm/utils/advanceSearchUtils.d.ts +24 -0
- package/lib/esm/utils/advanceSearchUtils.d.ts.map +1 -0
- package/lib/esm/utils/advanceSearchUtils.js +150 -0
- package/lib/esm/utils/caseGroupDefaultFilterUtils.d.ts +12 -0
- package/lib/esm/utils/caseGroupDefaultFilterUtils.d.ts.map +1 -0
- package/lib/esm/utils/caseGroupDefaultFilterUtils.js +34 -0
- package/lib/esm/utils/caseGroupDefaultUtils.d.ts +10 -0
- package/lib/esm/utils/caseGroupDefaultUtils.d.ts.map +1 -0
- package/lib/esm/utils/caseGroupDefaultUtils.js +20 -0
- package/lib/esm/utils/caseListGraphQLUtils.d.ts +28 -0
- package/lib/esm/utils/caseListGraphQLUtils.d.ts.map +1 -0
- package/lib/esm/utils/caseListGraphQLUtils.js +304 -0
- package/lib/esm/utils/caseListMapper.d.ts +6 -0
- package/lib/esm/utils/caseListMapper.d.ts.map +1 -0
- package/lib/esm/utils/caseListMapper.js +47 -0
- package/lib/esm/utils/caseListVariablesBuilder.d.ts +17 -0
- package/lib/esm/utils/caseListVariablesBuilder.d.ts.map +1 -0
- package/lib/esm/utils/caseListVariablesBuilder.js +535 -0
- package/lib/esm/utils/caseSearchUtils.d.ts.map +1 -1
- package/lib/esm/utils/caseSearchUtils.js +39 -2
- package/lib/esm/utils/constants.d.ts +4 -1
- package/lib/esm/utils/constants.d.ts.map +1 -1
- package/lib/esm/utils/constants.js +9 -2
- package/lib/esm/utils/mockSolrResponse.js +1 -1
- package/package.json +8 -6
|
@@ -42,6 +42,102 @@
|
|
|
42
42
|
min-width: 30rem;
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
+
.case-search-form-group,
|
|
46
|
+
.case-search-input-container,
|
|
47
|
+
.cases-main .case-search-top .search-wrapper,
|
|
48
|
+
.cases-main .case-search-top .search-wrapper form,
|
|
49
|
+
.cases-main .case-search-top {
|
|
50
|
+
overflow: visible;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.advance-search-panel-container {
|
|
54
|
+
position: relative;
|
|
55
|
+
flex-shrink: 0;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.case-search-form-group .advance-search-toggle-btn.pf-v6-c-button {
|
|
59
|
+
border-radius: var(--pf-t--global--border--radius--pill);
|
|
60
|
+
flex-shrink: 0;
|
|
61
|
+
margin-left: 0;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.advance-search-panel-container:has(.advance-search-modal) {
|
|
65
|
+
z-index: var(--pf-t--global--z-index--xl);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.advance-search-modal-backdrop {
|
|
69
|
+
position: fixed;
|
|
70
|
+
inset: 0;
|
|
71
|
+
z-index: 0;
|
|
72
|
+
background-color: transparent;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.pf-v6-c-modal-box.advance-search-modal {
|
|
76
|
+
position: absolute;
|
|
77
|
+
top: calc(100% + var(--pf-t--global--spacer--sm, 8px));
|
|
78
|
+
right: 0;
|
|
79
|
+
z-index: 1;
|
|
80
|
+
margin: 0;
|
|
81
|
+
width: 360px;
|
|
82
|
+
max-width: min(400px, calc(100vw - var(--pf-t--global--spacer--lg, 24px)));
|
|
83
|
+
max-height: min(70vh, calc(100dvh - var(--pf-t--global--spacer--2xl, 48px)));
|
|
84
|
+
border-radius: 0;
|
|
85
|
+
--pf-v6-c-modal-box--BorderRadius: 0;
|
|
86
|
+
--pf-v6-c-modal-box--Width: 400px;
|
|
87
|
+
display: flex;
|
|
88
|
+
flex-direction: column;
|
|
89
|
+
overflow: hidden;
|
|
90
|
+
min-height: 0;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.pf-v6-c-modal-box.advance-search-modal > .pf-v6-c-modal-box__body {
|
|
94
|
+
flex: 1 1 auto;
|
|
95
|
+
min-height: 0;
|
|
96
|
+
overflow: auto;
|
|
97
|
+
-ms-overflow-style: none;
|
|
98
|
+
scrollbar-width: none;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.pf-v6-c-modal-box.advance-search-modal > .pf-v6-c-modal-box__body::-webkit-scrollbar {
|
|
102
|
+
display: none;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.pf-v6-c-modal-box.advance-search-modal > .pf-v6-c-modal-box__footer {
|
|
106
|
+
flex: 0 0 auto;
|
|
107
|
+
width: 100%;
|
|
108
|
+
background-color: var(--pf-v6-c-modal-box--BackgroundColor);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.advance-search-modal .pf-v6-c-expandable-section__toggle .pf-v6-c-button.pf-m-link {
|
|
112
|
+
--pf-v6-c-button--m-link--Color: var(--pf-t--global--text--color--regular, #151515);
|
|
113
|
+
--pf-v6-c-button--m-link--hover--Color: var(--pf-t--global--text--color--regular, #151515);
|
|
114
|
+
--pf-v6-c-button--m-link--visited--Color: var(--pf-t--global--text--color--regular, #151515);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.advance-search-modal .advance-search-expandable-section {
|
|
118
|
+
--pf-v6-c-expandable-section--Gap: 0;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.advance-search-modal .advance-search-expandable-section .pf-v6-c-expandable-section__toggle {
|
|
122
|
+
padding-inline: var(--pf-t--global--spacer--md);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.advance-search-modal .advance-search-expandable-section .pf-v6-c-expandable-section__content {
|
|
126
|
+
padding-inline: 0;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.advance-search-product-version-search .pf-v6-c-search-input {
|
|
130
|
+
width: 100%;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.advance-search-product-menu-item-badge.pf-v6-c-badge {
|
|
134
|
+
--pf-v6-c-badge--BorderRadius: var(--pf-t--global--border--radius--pill);
|
|
135
|
+
--pf-v6-c-badge--Color: var(--pf-t--global--text--color--on-brand--default);
|
|
136
|
+
--pf-v6-c-badge--BackgroundColor: var(--pf-t--global--color--brand--default);
|
|
137
|
+
font-size: var(--pf-t--global--font--size--body--sm);
|
|
138
|
+
min-width: 1.25rem;
|
|
139
|
+
}
|
|
140
|
+
|
|
45
141
|
.case-search-form-group .filter-save-success-msg {
|
|
46
142
|
color: var(--pf-v5-global--success-color--200);
|
|
47
143
|
padding: 6px 0px;
|
|
@@ -59,3 +155,21 @@
|
|
|
59
155
|
margin-left: 0.5rem;
|
|
60
156
|
}
|
|
61
157
|
}
|
|
158
|
+
|
|
159
|
+
.advance-search-modal .advance-search-dropdown-toggle-content {
|
|
160
|
+
gap: var(--pf-t--global--spacer--sm);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.advance-search-modal .advance-search-dropdown-toggle-badge-wrap {
|
|
164
|
+
flex-shrink: 0;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
.advance-search-modal .advance-search-dropdown-toggle-badge.pf-v6-c-badge,
|
|
168
|
+
.advance-search-modal .pf-v6-c-text-input-group .advance-search-dropdown-toggle-badge.pf-v6-c-badge {
|
|
169
|
+
--pf-v6-c-badge--BorderRadius: var(--pf-t--global--border--radius--pill);
|
|
170
|
+
--pf-v6-c-badge--Color: var(--pf-t--global--text--color--on-brand--default);
|
|
171
|
+
--pf-v6-c-badge--BackgroundColor: var(--pf-t--global--color--brand--default);
|
|
172
|
+
font-size: var(--pf-t--global--font--size--body--sm);
|
|
173
|
+
font-weight: var(--pf-t--global--font--weight--body--bold);
|
|
174
|
+
padding-inline: var(--pf-t--global--spacer--sm);
|
|
175
|
+
}
|
package/lib/esm/enums/case.d.ts
CHANGED
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import { SFDCKeys, SolrKeys } from './filters';
|
|
2
2
|
export declare enum CaseStatus {
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
WaitingOnCustomerActionRequired = "Waiting on Customer Action Required",
|
|
4
|
+
WaitingOnCustomerSolutionDelivered = "Waiting on Customer Solution Delivered",
|
|
5
|
+
InProgress = "In Progress",
|
|
5
6
|
Open = "All open cases",
|
|
6
7
|
Closed = "Closed",
|
|
7
|
-
All = "All cases"
|
|
8
|
+
All = "All cases",
|
|
9
|
+
/** @deprecated Legacy alias -- do not use for new writes */
|
|
10
|
+
WaitingOnCustomer = "Waiting on Customer",
|
|
11
|
+
/** @deprecated Legacy alias -- do not use for new writes */
|
|
12
|
+
WaitingOnRedHat = "Waiting on Red Hat"
|
|
8
13
|
}
|
|
9
14
|
export declare enum CaseSeverity {
|
|
10
15
|
Urgent = "1 - Urgent",
|
|
11
16
|
Important = "2 - Important",
|
|
12
|
-
|
|
17
|
+
Medium = "3 - Medium",
|
|
13
18
|
Low = "4 - Low"
|
|
14
19
|
}
|
|
15
20
|
export declare const caseListFields = "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_closedDate";
|
|
@@ -26,7 +31,8 @@ export declare enum CaseListColumnIds {
|
|
|
26
31
|
group = "folderName",
|
|
27
32
|
alternateCaseId = "alternateCaseId",
|
|
28
33
|
type = "type",
|
|
29
|
-
caseClosedDate = "closedDate"
|
|
34
|
+
caseClosedDate = "closedDate",
|
|
35
|
+
caseLabel = "caseLabel"
|
|
30
36
|
}
|
|
31
37
|
export declare const caseListSortColumnIdsToSolrMap: {
|
|
32
38
|
number: SolrKeys;
|
|
@@ -56,6 +62,7 @@ export declare const caseListSortColumnIdsToSFDCMap: {
|
|
|
56
62
|
type: SFDCKeys;
|
|
57
63
|
closedDate: SFDCKeys;
|
|
58
64
|
};
|
|
65
|
+
export declare const caseListSortColumnIdsToGraphQLMap: Record<string, string>;
|
|
59
66
|
export declare const caseTableColumSortNamesMap: {
|
|
60
67
|
number: string;
|
|
61
68
|
summary: string;
|
|
@@ -69,5 +76,6 @@ export declare const caseTableColumSortNamesMap: {
|
|
|
69
76
|
alternateCaseId: string;
|
|
70
77
|
type: string;
|
|
71
78
|
closedDate: string;
|
|
79
|
+
caseLabel: string;
|
|
72
80
|
};
|
|
73
81
|
//# sourceMappingURL=case.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"case.d.ts","sourceRoot":"","sources":["../../../src/enums/case.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE/C,oBAAY,UAAU;IAClB,
|
|
1
|
+
{"version":3,"file":"case.d.ts","sourceRoot":"","sources":["../../../src/enums/case.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE/C,oBAAY,UAAU;IAClB,+BAA+B,wCAAwC;IACvE,kCAAkC,2CAA2C;IAC7E,UAAU,gBAAgB;IAC1B,IAAI,mBAAmB;IACvB,MAAM,WAAW;IACjB,GAAG,cAAc;IACjB,4DAA4D;IAC5D,iBAAiB,wBAAwB;IACzC,4DAA4D;IAC5D,eAAe,uBAAuB;CACzC;AAED,oBAAY,YAAY;IACpB,MAAM,eAAe;IACrB,SAAS,kBAAkB;IAC3B,MAAM,eAAe;IACrB,GAAG,YAAY;CAClB;AAED,eAAO,MAAM,cAAc,0UACgT,CAAC;AAE5U,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;IACnC,IAAI,SAAS;IACb,cAAc,eAAe;IAC7B,SAAS,cAAc;CAC1B;AAED,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;CAa1C,CAAC;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;CAa1C,CAAC;AAGF,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAWpE,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;CActC,CAAC"}
|
package/lib/esm/enums/case.js
CHANGED
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
import { SFDCKeys, SolrKeys } from './filters';
|
|
2
2
|
export var CaseStatus;
|
|
3
3
|
(function (CaseStatus) {
|
|
4
|
-
CaseStatus["
|
|
5
|
-
CaseStatus["
|
|
4
|
+
CaseStatus["WaitingOnCustomerActionRequired"] = "Waiting on Customer Action Required";
|
|
5
|
+
CaseStatus["WaitingOnCustomerSolutionDelivered"] = "Waiting on Customer Solution Delivered";
|
|
6
|
+
CaseStatus["InProgress"] = "In Progress";
|
|
6
7
|
CaseStatus["Open"] = "All open cases";
|
|
7
8
|
CaseStatus["Closed"] = "Closed";
|
|
8
9
|
CaseStatus["All"] = "All cases";
|
|
10
|
+
/** @deprecated Legacy alias -- do not use for new writes */
|
|
11
|
+
CaseStatus["WaitingOnCustomer"] = "Waiting on Customer";
|
|
12
|
+
/** @deprecated Legacy alias -- do not use for new writes */
|
|
13
|
+
CaseStatus["WaitingOnRedHat"] = "Waiting on Red Hat";
|
|
9
14
|
})(CaseStatus || (CaseStatus = {}));
|
|
10
15
|
export var CaseSeverity;
|
|
11
16
|
(function (CaseSeverity) {
|
|
12
17
|
CaseSeverity["Urgent"] = "1 - Urgent";
|
|
13
18
|
CaseSeverity["Important"] = "2 - Important";
|
|
14
|
-
CaseSeverity["
|
|
19
|
+
CaseSeverity["Medium"] = "3 - Medium";
|
|
15
20
|
CaseSeverity["Low"] = "4 - Low";
|
|
16
21
|
})(CaseSeverity || (CaseSeverity = {}));
|
|
17
22
|
export const caseListFields = '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_closedDate';
|
|
@@ -30,6 +35,7 @@ export var CaseListColumnIds;
|
|
|
30
35
|
CaseListColumnIds["alternateCaseId"] = "alternateCaseId";
|
|
31
36
|
CaseListColumnIds["type"] = "type";
|
|
32
37
|
CaseListColumnIds["caseClosedDate"] = "closedDate";
|
|
38
|
+
CaseListColumnIds["caseLabel"] = "caseLabel";
|
|
33
39
|
})(CaseListColumnIds || (CaseListColumnIds = {}));
|
|
34
40
|
export const caseListSortColumnIdsToSolrMap = {
|
|
35
41
|
[CaseListColumnIds.caseId]: SolrKeys.caseNumber,
|
|
@@ -59,6 +65,19 @@ export const caseListSortColumnIdsToSFDCMap = {
|
|
|
59
65
|
[CaseListColumnIds.type]: SFDCKeys.caseType,
|
|
60
66
|
[CaseListColumnIds.caseClosedDate]: SFDCKeys.caseClosedDate,
|
|
61
67
|
};
|
|
68
|
+
// Maps CaseListColumnIds to GraphQL RedHatSupportCase_OrderBy field paths
|
|
69
|
+
export const caseListSortColumnIdsToGraphQLMap = {
|
|
70
|
+
[CaseListColumnIds.caseId]: 'CaseNumber__c',
|
|
71
|
+
[CaseListColumnIds.summary]: 'Subject',
|
|
72
|
+
[CaseListColumnIds.severity]: 'Priority',
|
|
73
|
+
[CaseListColumnIds.owner]: 'OwnerId',
|
|
74
|
+
[CaseListColumnIds.created]: 'CreatedDate',
|
|
75
|
+
[CaseListColumnIds.status]: 'Status',
|
|
76
|
+
[CaseListColumnIds.modified]: 'LastModifiedDate',
|
|
77
|
+
[CaseListColumnIds.accountNumber]: 'Account_Number__c',
|
|
78
|
+
[CaseListColumnIds.type]: 'Type',
|
|
79
|
+
[CaseListColumnIds.caseClosedDate]: 'ClosedDate',
|
|
80
|
+
};
|
|
62
81
|
export const caseTableColumSortNamesMap = {
|
|
63
82
|
[CaseListColumnIds.caseId]: 'Case ID',
|
|
64
83
|
[CaseListColumnIds.summary]: 'Title',
|
|
@@ -72,4 +91,5 @@ export const caseTableColumSortNamesMap = {
|
|
|
72
91
|
[CaseListColumnIds.alternateCaseId]: 'Personal reference number',
|
|
73
92
|
[CaseListColumnIds.type]: 'Support type',
|
|
74
93
|
[CaseListColumnIds.caseClosedDate]: 'Close date',
|
|
94
|
+
[CaseListColumnIds.caseLabel]: 'Case labels',
|
|
75
95
|
};
|
|
@@ -8,6 +8,7 @@ export declare const fieldNameToSolrFieldMapping: {
|
|
|
8
8
|
case_status: string;
|
|
9
9
|
case_accountNumber: string;
|
|
10
10
|
case_folderNumber: string;
|
|
11
|
+
case_label: string;
|
|
11
12
|
case_severity: string;
|
|
12
13
|
case_owner_sso_username: string;
|
|
13
14
|
case_customer_escalation: string;
|
|
@@ -33,11 +34,13 @@ export declare const advanceSearchFieldNameToSolrFieldMapping: {
|
|
|
33
34
|
case_description: string;
|
|
34
35
|
case_summary: string;
|
|
35
36
|
case_alternate_id: string;
|
|
37
|
+
case_openshift_cluster_id: string;
|
|
36
38
|
case_closedDate: string;
|
|
37
39
|
case_product: string;
|
|
38
40
|
case_status: string;
|
|
39
41
|
case_accountNumber: string;
|
|
40
42
|
case_folderNumber: string;
|
|
43
|
+
case_label: string;
|
|
41
44
|
case_severity: string;
|
|
42
45
|
case_customer_escalation: string;
|
|
43
46
|
case_version: 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
|
|
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;;;;;;;;;;;;;;CAcvC,CAAC;AAEF,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmBpD,CAAC"}
|
|
@@ -10,6 +10,7 @@ export const fieldNameToSolrFieldMapping = {
|
|
|
10
10
|
[SolrKeys.status]: 'status',
|
|
11
11
|
[SolrKeys.accountNumber]: 'accountNumber',
|
|
12
12
|
[SolrKeys.group]: 'group',
|
|
13
|
+
[SolrKeys.caseLabel]: 'caseLabel',
|
|
13
14
|
[SolrKeys.severity]: 'severity',
|
|
14
15
|
[SolrKeys.caseOwner]: 'owner',
|
|
15
16
|
[SolrKeys.escalation]: 'escalated',
|
|
@@ -19,4 +20,4 @@ export const fieldNameToSolrFieldMapping = {
|
|
|
19
20
|
[SolrKeys.type]: 'supportType',
|
|
20
21
|
[SolrKeys.isPrivate]: 'private',
|
|
21
22
|
};
|
|
22
|
-
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]: 'personalReferenceNumber', [SolrKeys.caseClosedDate]: 'closedDate' });
|
|
23
|
+
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]: 'personalReferenceNumber', [SolrKeys.openshiftClusterId]: 'openshiftClusterId', [SolrKeys.caseClosedDate]: 'closedDate' });
|
|
@@ -37,7 +37,8 @@ export declare enum SolrKeys {
|
|
|
37
37
|
alternateId = "case_alternate_id",
|
|
38
38
|
caseClosedDate = "case_closedDate",
|
|
39
39
|
openshiftClusterId = "case_openshift_cluster_id",
|
|
40
|
-
isPrivate = "case_private"
|
|
40
|
+
isPrivate = "case_private",
|
|
41
|
+
caseLabel = "case_label"
|
|
41
42
|
}
|
|
42
43
|
export declare const advancedSearchMap: {
|
|
43
44
|
case_number: string;
|
|
@@ -47,6 +48,7 @@ export declare const advancedSearchMap: {
|
|
|
47
48
|
case_accountNumber: string;
|
|
48
49
|
case_folderNumber: string;
|
|
49
50
|
case_folderName: string;
|
|
51
|
+
case_label: string;
|
|
50
52
|
case_severity: string;
|
|
51
53
|
case_owner_sso_username: string;
|
|
52
54
|
case_owner: string;
|
|
@@ -125,8 +127,10 @@ export declare const sfdcFieldToSolrMap: {
|
|
|
125
127
|
caseType: SolrKeys;
|
|
126
128
|
lastClosedAt: SolrKeys;
|
|
127
129
|
};
|
|
130
|
+
export declare const ARCHIVED_STATUS = "Archived";
|
|
128
131
|
export declare const AdditionalFilterLabels: {
|
|
129
132
|
case_customer_escalation: string;
|
|
130
133
|
case_private: string;
|
|
134
|
+
archived: string;
|
|
131
135
|
};
|
|
132
136
|
//# sourceMappingURL=filters.d.ts.map
|
|
@@ -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,sBAAsB;IACjC,WAAW,sBAAsB;IACjC,cAAc,oBAAoB;IAClC,kBAAkB,8BAA8B;IAChD,SAAS,iBAAiB;
|
|
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;IAChD,SAAS,iBAAiB;IAC1B,SAAS,eAAe;CAC3B;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC7B,CAAC;AAGF,oBAAY,aAAa;IACrB,eAAe,8BAA8B;CAChD;AAED,eAAO,MAAM,iBAAiB,8BAA4C,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,eAAe,aAAa,CAAC;AAE1C,eAAO,MAAM,sBAAsB;;;;CAIlC,CAAC"}
|
package/lib/esm/enums/filters.js
CHANGED
|
@@ -40,6 +40,7 @@ export var SolrKeys;
|
|
|
40
40
|
SolrKeys["caseClosedDate"] = "case_closedDate";
|
|
41
41
|
SolrKeys["openshiftClusterId"] = "case_openshift_cluster_id";
|
|
42
42
|
SolrKeys["isPrivate"] = "case_private";
|
|
43
|
+
SolrKeys["caseLabel"] = "case_label";
|
|
43
44
|
})(SolrKeys || (SolrKeys = {}));
|
|
44
45
|
export const advancedSearchMap = {
|
|
45
46
|
case_number: 'caseNumber',
|
|
@@ -49,6 +50,7 @@ export const advancedSearchMap = {
|
|
|
49
50
|
case_accountNumber: 'accountNumber',
|
|
50
51
|
case_folderNumber: 'group',
|
|
51
52
|
case_folderName: 'groupName',
|
|
53
|
+
case_label: 'caseLabel',
|
|
52
54
|
case_severity: 'severity',
|
|
53
55
|
case_owner_sso_username: 'caseOwner',
|
|
54
56
|
case_owner: 'ownerName',
|
|
@@ -130,7 +132,9 @@ export const sfdcFieldToSolrMap = {
|
|
|
130
132
|
[SFDCKeys.caseType]: SolrKeys.type,
|
|
131
133
|
[SFDCKeys.caseClosedDate]: SolrKeys.caseClosedDate,
|
|
132
134
|
};
|
|
135
|
+
export const ARCHIVED_STATUS = 'Archived';
|
|
133
136
|
export const AdditionalFilterLabels = {
|
|
134
137
|
[SolrKeys.escalation]: 'Escalated cases',
|
|
135
138
|
[SolrKeys.isPrivate]: 'Private cases',
|
|
139
|
+
archived: ARCHIVED_STATUS,
|
|
136
140
|
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface ICaseLabelOption {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
}
|
|
5
|
+
interface UseCaseLabelsResult {
|
|
6
|
+
labels: ICaseLabelOption[];
|
|
7
|
+
loading: boolean;
|
|
8
|
+
error: Error | undefined;
|
|
9
|
+
refetch: () => Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
/** Fetches account-scoped case labels for the Case List Case labels filter. */
|
|
12
|
+
export declare function useCaseLabels(accountId?: string): UseCaseLabelsResult;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=useCaseLabels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCaseLabels.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCaseLabels.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CAChB;AAOD,UAAU,mBAAmB;IACzB,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC;AAED,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,mBAAmB,CA8BrE"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { useApolloClient } from '@apollo/client/react';
|
|
11
|
+
import { fetchAllAccountCaseLabels } from '@rh-support/utils';
|
|
12
|
+
import unescape from 'lodash/unescape';
|
|
13
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
14
|
+
const mapCaseLabelNode = (node) => {
|
|
15
|
+
var _a, _b;
|
|
16
|
+
return ({
|
|
17
|
+
id: node.Id,
|
|
18
|
+
name: unescape((_b = (_a = node.Name) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : ''),
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
/** Fetches account-scoped case labels for the Case List Case labels filter. */
|
|
22
|
+
export function useCaseLabels(accountId) {
|
|
23
|
+
const client = useApolloClient();
|
|
24
|
+
const [labels, setLabels] = useState([]);
|
|
25
|
+
const [loading, setLoading] = useState(false);
|
|
26
|
+
const [error, setError] = useState(undefined);
|
|
27
|
+
const fetchLabels = useCallback(() => __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
if (!accountId) {
|
|
29
|
+
setLabels([]);
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
setLoading(true);
|
|
33
|
+
setError(undefined);
|
|
34
|
+
try {
|
|
35
|
+
const labelNodes = yield fetchAllAccountCaseLabels(client, accountId);
|
|
36
|
+
setLabels(labelNodes.map(mapCaseLabelNode).filter((label) => label.id && label.name));
|
|
37
|
+
}
|
|
38
|
+
catch (e) {
|
|
39
|
+
setError(e);
|
|
40
|
+
setLabels([]);
|
|
41
|
+
}
|
|
42
|
+
finally {
|
|
43
|
+
setLoading(false);
|
|
44
|
+
}
|
|
45
|
+
}), [accountId, client]);
|
|
46
|
+
useEffect(() => {
|
|
47
|
+
fetchLabels();
|
|
48
|
+
}, [fetchLabels]);
|
|
49
|
+
return { labels, loading, error, refetch: fetchLabels };
|
|
50
|
+
}
|
|
@@ -16,7 +16,7 @@ export declare function useCloseCase(props: IUseCloseCaseProps): {
|
|
|
16
16
|
showError: boolean;
|
|
17
17
|
getTooltipContent: () => any;
|
|
18
18
|
onCancel: () => void;
|
|
19
|
-
onConfirm: (commentBody: any) => Promise<
|
|
19
|
+
onConfirm: (commentBody: any) => Promise<boolean>;
|
|
20
20
|
onBtnClick: () => void;
|
|
21
21
|
};
|
|
22
22
|
//# sourceMappingURL=useCloseCase.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCloseCase.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCloseCase.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useCloseCase.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCloseCase.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;CACpC;AAQD,wBAAgB,YAAY,CAAC,KAAK,EAAE,kBAAkB;;;;;;;;;;;qCAoCX,OAAO,CAAC,OAAO,CAAC;;EAuF1D"}
|
|
@@ -7,10 +7,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
import {
|
|
11
|
-
import { ToastNotification
|
|
10
|
+
import { useApolloClient } from '@apollo/client/react';
|
|
11
|
+
import { ToastNotification } from '@rh-support/components';
|
|
12
12
|
import { useCanCreateCase } from '@rh-support/react-context';
|
|
13
|
-
import { dtmTrackEventCaseStepEncountered } from '@rh-support/utils';
|
|
13
|
+
import { CREATE_CASE_COMMENT, dtmTrackEventCaseStepEncountered, sanitizeForSalesforce, updateCaseDetailsByGraphQL, } from '@rh-support/utils';
|
|
14
14
|
import filter from 'lodash/filter';
|
|
15
15
|
import find from 'lodash/find';
|
|
16
16
|
import includes from 'lodash/includes';
|
|
@@ -21,8 +21,9 @@ const reflect = (p) => p.then((v) => ({ v, status: 'fulfilled' }), (e) => ({ e,
|
|
|
21
21
|
export function useCloseCase(props) {
|
|
22
22
|
const { caseList, selectedCases, onCasesCloseSuccess } = props;
|
|
23
23
|
const { t } = useTranslation();
|
|
24
|
+
const apolloClient = useApolloClient();
|
|
24
25
|
const maxCasesSelected = (selectedCases || []).length > MAX_ALLOWED_CASES;
|
|
25
|
-
const
|
|
26
|
+
const [isFetching, setIsFetching] = useState(false);
|
|
26
27
|
const closedCaseIds = filter(selectedCases, (selected) => {
|
|
27
28
|
const caseDetails = find(caseList, (caseObj) => caseObj['case_number'] === selected);
|
|
28
29
|
return caseDetails && caseDetails['case_status'] !== 'Closed' ? false : true;
|
|
@@ -38,10 +39,7 @@ export function useCloseCase(props) {
|
|
|
38
39
|
isFetching;
|
|
39
40
|
const [isModalOpen, setIsModalOpen] = useState(false);
|
|
40
41
|
const canCreateCase = useCanCreateCase();
|
|
41
|
-
const
|
|
42
|
-
propgateErrors: true,
|
|
43
|
-
});
|
|
44
|
-
// To handle button click
|
|
42
|
+
const [isPostingComment, setIsPostingComment] = useState(false);
|
|
45
43
|
const onBtnClick = () => {
|
|
46
44
|
if (canCreateCase.alert()) {
|
|
47
45
|
return;
|
|
@@ -52,31 +50,57 @@ export function useCloseCase(props) {
|
|
|
52
50
|
};
|
|
53
51
|
const onConfirm = (commentBody) => __awaiter(this, void 0, void 0, function* () {
|
|
54
52
|
const promiseArr = [];
|
|
55
|
-
|
|
53
|
+
setIsFetching(true);
|
|
56
54
|
const toastId = ToastNotification.addSuccessMessage(t(`Closing selected cases`));
|
|
57
|
-
filter(selectedCases, (selected) => !includes(closedCaseIds, selected))
|
|
58
|
-
|
|
59
|
-
const
|
|
60
|
-
|
|
55
|
+
const casesToClose = filter(selectedCases, (selected) => !includes(closedCaseIds, selected));
|
|
56
|
+
casesToClose.forEach((caseNumber) => {
|
|
57
|
+
const caseDetails = find(caseList, (caseObj) => caseObj.case_number === caseNumber);
|
|
58
|
+
if (!caseDetails)
|
|
59
|
+
return;
|
|
60
|
+
const salesforceCaseId = caseDetails.id;
|
|
61
|
+
const product = caseDetails.case_product[0];
|
|
62
|
+
const version = caseDetails.case_version;
|
|
63
|
+
const p = (() => __awaiter(this, void 0, void 0, function* () {
|
|
64
|
+
try {
|
|
65
|
+
if (commentBody) {
|
|
66
|
+
setIsPostingComment(true);
|
|
67
|
+
try {
|
|
68
|
+
yield apolloClient.mutate({
|
|
69
|
+
mutation: CREATE_CASE_COMMENT,
|
|
70
|
+
variables: {
|
|
71
|
+
commentInput: {
|
|
72
|
+
Case__c: salesforceCaseId,
|
|
73
|
+
Body__c: sanitizeForSalesforce(commentBody),
|
|
74
|
+
Visibility__c: 'Public',
|
|
75
|
+
IsAssociate__c: false,
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
finally {
|
|
81
|
+
setIsPostingComment(false);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
yield updateCaseDetailsByGraphQL(apolloClient, salesforceCaseId, { Status: 'Closed' });
|
|
85
|
+
ToastNotification.clearToast(toastId);
|
|
86
|
+
ToastNotification.addSuccessMessage(t('Case {{caseNumber}} successfully closed', { caseNumber }));
|
|
87
|
+
dtmTrackEventCaseStepEncountered('close', caseNumber, product, version);
|
|
88
|
+
}
|
|
89
|
+
catch (_a) {
|
|
90
|
+
ToastNotification.clearToast(toastId);
|
|
91
|
+
ToastNotification.addDangerMessage(t('Could not close case {{caseNumber}}', { caseNumber }));
|
|
92
|
+
throw new Error(`Could not close case ${caseNumber}`);
|
|
93
|
+
}
|
|
94
|
+
}))();
|
|
61
95
|
promiseArr.push(p);
|
|
62
|
-
p.then((res) => __awaiter(this, void 0, void 0, function* () {
|
|
63
|
-
yield postCommentRequest({
|
|
64
|
-
caseNumber,
|
|
65
|
-
commentBody,
|
|
66
|
-
contentType: `markdown`,
|
|
67
|
-
doNotChangeStatus: true,
|
|
68
|
-
});
|
|
69
|
-
ToastNotification.clearToast(toastId);
|
|
70
|
-
ToastNotification.addSuccessMessage(t('Case {{caseNumber}} successfully closed', { caseNumber }));
|
|
71
|
-
// Only call dtm track event only when the case has been closed successfully.
|
|
72
|
-
dtmTrackEventCaseStepEncountered('close', caseNumber, product, version);
|
|
73
|
-
}), (err) => {
|
|
74
|
-
ToastNotification.clearToast(toastId);
|
|
75
|
-
ToastNotification.addDangerMessage(t('Could not close case {{caseNumber}}', { caseNumber }));
|
|
76
|
-
});
|
|
77
96
|
});
|
|
78
|
-
yield Promise.all(promiseArr.map(reflect));
|
|
79
|
-
|
|
97
|
+
const results = yield Promise.all(promiseArr.map(reflect));
|
|
98
|
+
setIsFetching(false);
|
|
99
|
+
const allSucceeded = results.every((result) => result.status === 'fulfilled');
|
|
100
|
+
if (allSucceeded) {
|
|
101
|
+
onCasesCloseSuccess === null || onCasesCloseSuccess === void 0 ? void 0 : onCasesCloseSuccess();
|
|
102
|
+
}
|
|
103
|
+
return allSucceeded;
|
|
80
104
|
});
|
|
81
105
|
const onCancel = () => {
|
|
82
106
|
setIsModalOpen(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useExportCaseListCSV.d.ts","sourceRoot":"","sources":["../../../src/hooks/useExportCaseListCSV.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useExportCaseListCSV.d.ts","sourceRoot":"","sources":["../../../src/hooks/useExportCaseListCSV.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAIzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,eAAO,MAAM,SAAS,OAAO,CAAC;AAC9B,MAAM,WAAW,qBAAqB;IAClC,uBAAuB,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC1D,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,aAAa,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,qBAAqB;;;;;;EA+BhE"}
|
|
@@ -1,18 +1,12 @@
|
|
|
1
|
-
import { useFetch } from '@rh-support/components';
|
|
2
1
|
import { useState } from 'react';
|
|
3
2
|
import { useTranslation } from 'react-i18next';
|
|
4
|
-
import { getCaseListFromSolr } from '../utils/caseListUtils';
|
|
5
3
|
export const MAX_LIMIT = 1000;
|
|
6
4
|
export function useExportCaseListCSV(props) {
|
|
7
5
|
const { isExportCsvDisabled, selectedCases } = props;
|
|
8
6
|
const { t } = useTranslation();
|
|
9
|
-
// const currentFilteredCaseCount = currentFilteredCaseList?.numFound ?? 0;
|
|
10
|
-
const { isFetching } = useFetch(getCaseListFromSolr, { propgateErrors: true });
|
|
11
7
|
const [openUpdateSeverityModal, setOpenUpdateSeverityModal] = useState(false);
|
|
12
|
-
const isFetchingCSVData = isFetching;
|
|
13
8
|
let showError = selectedCases.length > MAX_LIMIT;
|
|
14
|
-
const isBtnDisabled =
|
|
15
|
-
// To show tooltip if export csv is disabled when SOLR is down
|
|
9
|
+
const isBtnDisabled = showError;
|
|
16
10
|
const getTooltipContent = () => {
|
|
17
11
|
let tooltipText = t('Your download will include the first 1000 cases in your list.');
|
|
18
12
|
if (showError) {
|
|
@@ -23,9 +17,7 @@ export function useExportCaseListCSV(props) {
|
|
|
23
17
|
}
|
|
24
18
|
return tooltipText;
|
|
25
19
|
};
|
|
26
|
-
// To check if export csv button is disabled
|
|
27
20
|
const isExportButtonDisabled = isBtnDisabled || isExportCsvDisabled;
|
|
28
|
-
// To toggle download csv modal
|
|
29
21
|
const toggleDownloadCSVModal = () => {
|
|
30
22
|
setOpenUpdateSeverityModal((openUpdateSeverityModal) => !openUpdateSeverityModal);
|
|
31
23
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CaseSearchQueryType } from '../enums/caseSearch';
|
|
2
2
|
export declare function useFilterStateOnLoad(): {
|
|
3
|
-
set: (queryFromUrl: string, pageSizeFromUrl: number, currentPageFromUrl: number, searchType: CaseSearchQueryType) => {
|
|
3
|
+
set: (queryFromUrl: string, pageSizeFromUrl: number | undefined, currentPageFromUrl: number, searchType: CaseSearchQueryType) => {
|
|
4
4
|
initFilterState: any;
|
|
5
5
|
defaultSearchName: string;
|
|
6
6
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFilterStateOnLoad.d.ts","sourceRoot":"","sources":["../../../src/hooks/useFilterStateOnLoad.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"useFilterStateOnLoad.d.ts","sourceRoot":"","sources":["../../../src/hooks/useFilterStateOnLoad.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAU1D,wBAAgB,oBAAoB;wBAkBd,MAAM,mBACH,MAAM,GAAG,SAAS,sBACf,MAAM,cACd,mBAAmB;;;;EAiEtC"}
|
|
@@ -4,6 +4,7 @@ import findKey from 'lodash/findKey';
|
|
|
4
4
|
import { useContext, useMemo } from 'react';
|
|
5
5
|
import { CaseListFilterStateContext, initialCaseFilterState } from '../components/case-list/CaseListFilterContext';
|
|
6
6
|
import { SolrKeys } from '../enums/filters';
|
|
7
|
+
import { decodeCaseListUrlFilterQuery, getDefaultGroupFilterSelection, shouldApplyDefaultGroupFilter, } from '../utils/caseGroupDefaultFilterUtils';
|
|
7
8
|
import { createFilterStateFromUrlQuery } from '../utils/caseSearchUtils';
|
|
8
9
|
// TODO Comment
|
|
9
10
|
export function useFilterStateOnLoad() {
|
|
@@ -12,14 +13,15 @@ export function useFilterStateOnLoad() {
|
|
|
12
13
|
const savesSearches = find(hydraUserPreferences.data, (pref) => pref.key === UserPreferencesKeys.caseSavedSearchFilters);
|
|
13
14
|
const savedSearchesObj = useMemo(() => ((savesSearches === null || savesSearches === void 0 ? void 0 : savesSearches.value) ? JSON.parse(savesSearches.value) : {}), [savesSearches]);
|
|
14
15
|
const set = (queryFromUrl, pageSizeFromUrl, currentPageFromUrl, searchType) => {
|
|
16
|
+
var _a;
|
|
15
17
|
let savedSearchFilterState = null;
|
|
16
18
|
const defaultSavedSearchKey = findKey(savedSearchesObj, { defaultChecked: true });
|
|
17
19
|
if (defaultSavedSearchKey) {
|
|
18
20
|
const { filterState: filterStateSaved, queryString, type, sortState, } = savedSearchesObj[defaultSavedSearchKey];
|
|
19
21
|
savedSearchFilterState = Object.assign(Object.assign({}, filterState), { sortInfo: sortState, filterQueryInfo: Object.assign(Object.assign({}, filterState.filterQueryInfo), { queryString, type }), filterInfo: Object.assign(Object.assign({}, initialCaseFilterState.filterInfo), filterStateSaved) });
|
|
20
22
|
}
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
+
const defaultGroupFilter = getDefaultGroupFilterSelection(caseGroups.data, (_a = globalMetadataState.loggedInUser) === null || _a === void 0 ? void 0 : _a.data);
|
|
24
|
+
const applyDefaultGroup = shouldApplyDefaultGroupFilter(queryFromUrl, hydraUserPreferences.data);
|
|
23
25
|
/**
|
|
24
26
|
When user lands on page for the first time:
|
|
25
27
|
If we have any query in url(for example redirect from dashboard), we apply the query, if not
|
|
@@ -27,12 +29,12 @@ export function useFilterStateOnLoad() {
|
|
|
27
29
|
check if user has default group the apply group filter,
|
|
28
30
|
non of the above, we apply default search values
|
|
29
31
|
*/
|
|
30
|
-
let defaultFilterState =
|
|
32
|
+
let defaultFilterState = decodeCaseListUrlFilterQuery(queryFromUrl)
|
|
31
33
|
? createFilterStateFromUrlQuery(queryFromUrl, globalMetadataState, pageSizeFromUrl, currentPageFromUrl, searchType)
|
|
32
34
|
: defaultSavedSearchKey
|
|
33
35
|
? savedSearchFilterState
|
|
34
|
-
:
|
|
35
|
-
? Object.assign(Object.assign({}, filterState), { filterInfo: Object.assign(Object.assign({}, filterState.filterInfo), { [SolrKeys.group]:
|
|
36
|
+
: applyDefaultGroup && defaultGroupFilter.length > 0
|
|
37
|
+
? Object.assign(Object.assign({}, filterState), { filterInfo: Object.assign(Object.assign({}, filterState.filterInfo), { [SolrKeys.group]: defaultGroupFilter }) }) : filterState;
|
|
36
38
|
return {
|
|
37
39
|
initFilterState: defaultFilterState,
|
|
38
40
|
defaultSearchName: defaultSavedSearchKey && !queryFromUrl ? defaultSavedSearchKey : '',
|