@rh-support/cases 1.0.2 → 1.0.4
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/case-list-filters/ProductsFilter.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/ProductsFilter.js +21 -17
- 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 +19 -20
- 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 +18 -20
- package/lib/esm/components/case-list/case-list-filters/TypeFilter.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-list-filters/TypeFilter.js +19 -13
- 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 +17 -19
- package/lib/esm/components/case-list/case-list-table/ExportCaseListCSV.js +1 -1
- package/lib/esm/components/case-list/case-search/AdvanceSearch.d.ts +1 -1
- package/lib/esm/components/case-list/case-search/AdvanceSearch.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-search/AdvanceSearch.js +29 -49
- package/lib/esm/components/case-list/case-search/BookmarkedSearchesSelector.js +1 -1
- package/lib/esm/components/case-list/case-search/CaseSearch.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-search/CaseSearch.js +16 -15
- package/lib/esm/components/case-list/case-search/useAdvanceSearchParser.d.ts.map +1 -1
- package/lib/esm/components/case-list/case-search/useAdvanceSearchParser.js +161 -64
- package/lib/esm/css/caseList.css +7 -2
- package/lib/esm/css/caseSearch.css +0 -4
- package/lib/esm/enums/case.d.ts +15 -1
- package/lib/esm/enums/case.d.ts.map +1 -1
- package/lib/esm/enums/case.js +16 -2
- package/lib/esm/enums/filters.d.ts +35 -1
- package/lib/esm/enums/filters.d.ts.map +1 -1
- package/lib/esm/enums/filters.js +34 -0
- package/lib/esm/utils/caseSearchUtils.d.ts +3 -2
- package/lib/esm/utils/caseSearchUtils.d.ts.map +1 -1
- package/lib/esm/utils/caseSearchUtils.js +68 -15
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAdvanceSearchParser.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-search/useAdvanceSearchParser.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useAdvanceSearchParser.d.ts","sourceRoot":"","sources":["../../../../../src/components/case-list/case-search/useAdvanceSearchParser.tsx"],"names":[],"mappings":"AAQA,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAAE,MAAM,EAAE;;CAAA;yBASzB,MAAM;6BAIF,MAAM;;EAwLzC"}
|
|
@@ -3,20 +3,12 @@ import PEG from 'pegjs';
|
|
|
3
3
|
import { useEffect, useRef } from 'react';
|
|
4
4
|
import { SolrKeys } from '../../../enums/filters';
|
|
5
5
|
import { useCaseListStateContext } from '../CaseListContext';
|
|
6
|
-
// escaped from solrGrammar.txt
|
|
7
|
-
const grammarStringInternal = '{\r\n function joinByOr(val) {\r\n return "(" + [].concat.apply([], val).filter(function(item) {return item !== \' \'}).join(" or ")+")";\r\n }\r\n}\r\n\r\nquery = sequence\r\n\r\nsequence = first:sequencePart cont:sequenceCont { return first + cont; }\r\nsequenceCont = orSequence / andSequence / ""\r\n\r\nandSequence = parts:(" and " sequencePart)+ { return [].concat.apply([], parts).join(""); }\r\norSequence = parts:(" or " sequencePart)+ { return [].concat.apply([], parts).join(""); }\r\nsequencePart = criteria / "(" sq:sequence ")" { return \'(\' + sq + \')\' }\r\n\r\n\r\ncriteria = basicCriteria / notCriteria\r\nnotCriteria = "-"criteria:basicCriteria {return \'-\' + criteria; }\r\nbasicCriteria = field:basicFieldName ":"" "* value:value { return field + ":" + value; }\r\n/ field:severityFieldName ":"" "* value:severityValue { return field + ":" + value; }\r\n/ field:statusFieldName ":"" "* value:statusValue { return field + ":" + value; }\r\n/ field:groupFieldName ":"" "* value:groupValue { return field + ":" + value; }\r\n/ field:caseTypeFieldName ":"" "* value:caseTypeValue { return field + ":" + value; }\r\n/ field:productFieldName ":"" "* value:productValue { return field + ":" + value; }\r\n/ field:ftsFieldName ":"" "* value:booleanValue { return field + ":" + value; }\r\n/ field:accountNumberFieldName ":"" "* value:accountNumberValue { return field + ":" + value; }\r\n/ field:accountNameFieldName ":"" "* value:accountNameValue { return field + ":" + value; }\r\n/ field:escalatedFieldName ":"" "* value:booleanValue { return field + ":" + value; }\r\n/ field:cepFieldName ":"" "* value:booleanValue { return field + ":" + value; }\r\n/ field:contactSSOFieldName ":"" "* value:stringOrMulti { return field + ":" + value; }\r\n/ field:ownerSSOFieldName ":"" "* value:stringOrMulti { return field + ":" + value; }\r\n/ field:createdBySSOFieldName ":"" "* value:stringOrMulti { return field + ":" + value; }\r\n/ field:textFieldName ":"" "* value:value { return value; }\r\n\r\nvalue = range / string\r\nrange = "[" from:([^" "]+) " TO " to:([^\\]]+) "]" {return "[" + from.join("") + " TO " + to.join("") + "]"; }\r\nstring = quoted_term / unquoted_term / _\r\n\r\nunquoted_term\r\n = term:term_char+\r\n { \r\n return term.join(\'\');\r\n }\r\n\r\nterm_char\r\n = [^: \\t\\r\\n\\f\\{\\}()"+-/^~\\[\\]]\r\n\r\n \r\nquoted_term\r\n = \'"\' term:[^"]+ \'"\'\r\n {\r\n return \'"\' + term.join(\'\') + \'"\';\r\n }\r\nbooleanValue = "true" / "false"\r\nnumber = digits:[0-9]+ { return digits.join(\'\'); }\r\nmultipleValue = "(" val:(value)+ ")" { return joinByOr(val); }\r\nstringOrMulti = string / multipleValue\r\n\r\nbasicFieldName = "contactName" {return "case_contactName";}\r\n/ "createdByName" {return "case_createdByName";}\r\n/ "createdDate" {return "case_createdDate";}\r\n/ "closedDate" {return "case_closedDate";}\r\n/ "description" {return "case_description";}\r\n/ "summary" {return "case_summary";}\r\n/ "productVersion" {return "case_version";}\r\n/ "lastModifiedDate" {return "case_lastModifiedDate";}\r\n/ "lastModifiedByName" {return "case_lastModifiedByName";}\r\n/ "ownerName" {return "case_owner";}\r\n/ "caseNumber" {return "case_number";}\r\n/ "openshiftClusterId" {return "case_openshift_cluster_id";}\r\n/ "alternateCaseId" {return "case_alternate_id";}\r\n\r\ncepFieldName = "CEP" {return "case_is_cep";}\r\nftsFieldName = "FTS" {return "case_24_7";}\r\nescalatedFieldName = "escalated" {return "case_customer_escalation";}\r\ncontactSSOFieldName = "contactSSO" {return "case_contact_sso_username";}\r\nownerSSOFieldName = "ownerSSO" {return "case_owner_sso_username";}\r\ncreatedBySSOFieldName = "createdBySSO" {return "case_createdby_sso_username";}\r\ntextFieldName = "text" {return "";}\r\n\r\nseverityFieldName = "severity" {return "case_severity";}\r\nseverityValue = string / severityMultipleValue / _ \r\nseverityMultipleValue = "(" val:(severityValue)+ ")" { return joinByOr(val); }\r\n\r\nstatusFieldName = "status" {return "case_status";}\r\nstatusValue = string / statusMultipleValue / _ \r\nstatusMultipleValue = "(" val:(statusValue)+ ")" { return joinByOr(val); }\r\n\r\ngroupFieldName = "group" {return "case_folderNumber";}\r\ngroupValue = string / groupMultipleValue / _ \r\ngroupMultipleValue = "(" val:(groupValue)+ ")" { return joinByOr(val); }\r\n\r\ncaseTypeFieldName = "caseType" {return "case_type";}\r\ncaseTypeValue = string / caseTypeMultipleValue / _ \r\ncaseTypeMultipleValue = "(" val:(caseTypeValue)+ ")" { return joinByOr(val); }\r\n\r\nproductFieldName = "productName" { return "case_product"; }\r\nproductValue = string / productMultipleValue / _ \r\nproductMultipleValue = "(" val:(productValue)+ ")" { return joinByOr(val); }\r\n\r\naccountNumberFieldName = "accountNumber" {return "case_accountNumber";}\r\naccountNumberValue = number / string / accountNumberMultipleValue / _ \r\naccountNumberMultipleValue = "(" val:(accountNumberValue)+ ")" { return joinByOr(val); }\r\n\r\naccountNameFieldName = "accountName" { return "case_account_name";}\r\naccountNameValue = string / accountNameMultipleValue / _ \r\naccountNameMultipleValue = "(" val:(accountNameValue)+ ")" { return joinByOr(val); }\r\n\r\n_ "whitespace"\r\n = [ \\t\\r\\n\\f]+';
|
|
8
6
|
export default function useAdvanceSearchParser({ onInit }) {
|
|
9
7
|
const { filterValuesFromFacetResponse } = useCaseListStateContext();
|
|
10
8
|
const { globalMetadataState: { caseGroups, loggedInUsersAccount, bookmarkedGroupAccounts, allCaseTypes }, } = useGlobalStateContext();
|
|
11
|
-
const grammerStringRef = useRef(grammarStringInternal);
|
|
12
9
|
const parserRef = useRef(null);
|
|
13
10
|
const parse = (stringQuery) => {
|
|
14
|
-
|
|
15
|
-
// so we just intialise the parser with basic grammar without values
|
|
16
|
-
if (!parserRef.current) {
|
|
17
|
-
initParser();
|
|
18
|
-
}
|
|
19
|
-
return parserRef.current.parse(stringQuery);
|
|
11
|
+
return parserRef.current.parse(stringQuery.replace(/ +/g, ' '));
|
|
20
12
|
};
|
|
21
13
|
const parseSafe = (stringQuery) => {
|
|
22
14
|
try {
|
|
@@ -25,69 +17,174 @@ export default function useAdvanceSearchParser({ onInit }) {
|
|
|
25
17
|
catch (e) { }
|
|
26
18
|
return '';
|
|
27
19
|
};
|
|
28
|
-
const initParser = () => {
|
|
20
|
+
const initParser = (grammer) => {
|
|
29
21
|
try {
|
|
30
|
-
parserRef.current = PEG.generate(
|
|
22
|
+
parserRef.current = PEG.generate(grammer);
|
|
31
23
|
}
|
|
32
|
-
catch (
|
|
24
|
+
catch (e) {
|
|
33
25
|
parserRef.current = null;
|
|
34
26
|
}
|
|
35
27
|
};
|
|
36
|
-
//
|
|
28
|
+
// init grammar parser once we have the values from facets
|
|
37
29
|
useEffect(() => {
|
|
38
|
-
if (!filterValuesFromFacetResponse
|
|
30
|
+
if (!filterValuesFromFacetResponse ||
|
|
31
|
+
caseGroups.isFetching ||
|
|
32
|
+
allCaseTypes.isFetching ||
|
|
33
|
+
bookmarkedGroupAccounts.isFetching ||
|
|
34
|
+
loggedInUsersAccount.isFetching)
|
|
39
35
|
return;
|
|
40
|
-
const statusValues = filterValuesFromFacetResponse[SolrKeys.status]
|
|
41
|
-
.map((status) => `"\\"${status.value}\\"" { return '"${status.value}"'; }`)
|
|
42
|
-
.join(' / ');
|
|
43
|
-
const severityValues = filterValuesFromFacetResponse[SolrKeys.severity]
|
|
44
|
-
.map((severity) => `"\\"${severity.value}\\"" { return '"${severity.value}"'; }`)
|
|
45
|
-
.join(' / ');
|
|
46
|
-
const productValues = filterValuesFromFacetResponse[SolrKeys.product]
|
|
47
|
-
.map((product) => `"\\"${product.value}\\"" { return '"${product.value}"'; }`)
|
|
48
|
-
.join(' / ');
|
|
49
|
-
writeValuesToGrammarString('status', statusValues);
|
|
50
|
-
writeValuesToGrammarString('severity', severityValues);
|
|
51
|
-
writeValuesToGrammarString('product', productValues);
|
|
52
|
-
initParser();
|
|
53
|
-
// // parse on page load so that we have the autocomplete setup on first load
|
|
54
|
-
onInit && onInit();
|
|
55
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
56
|
-
}, [filterValuesFromFacetResponse, caseGroups.data]);
|
|
57
|
-
// write case groups to solr grammar string
|
|
58
|
-
useEffect(() => {
|
|
59
|
-
const groupValues = (caseGroups.data || [])
|
|
60
|
-
.map((group) => `"\\"${group.name}\\"" { return '${group.groupNum}'; }`)
|
|
61
|
-
.join(' / ');
|
|
62
|
-
writeValuesToGrammarString('group', groupValues);
|
|
63
|
-
initParser();
|
|
64
|
-
}, [caseGroups.data]);
|
|
65
|
-
// write case types to solr grammar string
|
|
66
|
-
useEffect(() => {
|
|
67
|
-
const caseTypeValues = (allCaseTypes.data || [])
|
|
68
|
-
.map((caseType) => `"\\"${caseType}\\"" { return '"${caseType}"'; }`)
|
|
69
|
-
.join(' / ');
|
|
70
|
-
writeValuesToGrammarString('caseType', caseTypeValues);
|
|
71
|
-
initParser();
|
|
72
|
-
}, [allCaseTypes.data]);
|
|
73
|
-
// write account numbers and account name to solr grammar string
|
|
74
|
-
useEffect(() => {
|
|
75
36
|
const accounts = (bookmarkedGroupAccounts.data || []);
|
|
76
37
|
const allAccounts = [...accounts, loggedInUsersAccount.data];
|
|
77
|
-
const
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}
|
|
38
|
+
const grammarStringInternal = `
|
|
39
|
+
{
|
|
40
|
+
function joinByOr(val) {
|
|
41
|
+
return "(" + [].concat.apply([], val).filter(function(item) {return item !== ' '}).join(" OR ")+")";
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
query = sequence
|
|
46
|
+
|
|
47
|
+
sequence = first:sequencePart cont:sequenceCont { return first + cont; }
|
|
48
|
+
|
|
49
|
+
sequenceCont = orSequence / andSequence / ""
|
|
50
|
+
|
|
51
|
+
andSequence = parts:(" and " sequencePart)+ { return [].concat.apply([], parts).join(""); }
|
|
52
|
+
orSequence = parts:(" or " sequencePart)+ { return [].concat.apply([], parts).join(""); }
|
|
53
|
+
sequencePart = criteria / "(" sq:sequence ")" { return '(' + sq + ')' }
|
|
54
|
+
|
|
55
|
+
criteria = basicCriteria / notCriteria
|
|
56
|
+
notCriteria = "-"criteria:basicCriteria {return '-' + criteria; }
|
|
57
|
+
basicCriteria = field:basicFieldName ":"" "* value:value { return field + ":" + value; }
|
|
58
|
+
/ field:severityFieldName ":"" "* value:severityValue { return field + ":" + value; }
|
|
59
|
+
/ field:statusFieldName ":"" "* value:statusValue { return field + ":" + value; }
|
|
60
|
+
/ field:groupFieldName ":"" "* value:groupValue { return field + ":" + value; }
|
|
61
|
+
/ field:caseTypeFieldName ":"" "* value:caseTypeValue { return field + ":" + value; }
|
|
62
|
+
/ field:productFieldName ":"" "* value:productValue { return field + ":" + value; }
|
|
63
|
+
/ field:versionFieldName ":"" "* value:versionValue { return field + ":" + value; }
|
|
64
|
+
/ field:ftsFieldName ":"" "* value:booleanValue { return field + ":" + value; }
|
|
65
|
+
/ field:accountNumberFieldName ":"" "* value:accountNumberValue { return field + ":" + value; }
|
|
66
|
+
/ field:accountNameFieldName ":"" "* value:accountNameValue { return field + ":" + value; }
|
|
67
|
+
/ field:escalatedFieldName ":"" "* value:booleanValue { return field + ":" + value; }
|
|
68
|
+
/ field:cepFieldName ":"" "* value:booleanValue { return field + ":" + value; }
|
|
69
|
+
/ field:contactSSOFieldName ":"" "* value:stringOrMulti { return field + ":" + value; }
|
|
70
|
+
/ field:ownerSSOFieldName ":"" "* value:stringOrMulti { return field + ":" + value; }
|
|
71
|
+
/ field:createdBySSOFieldName ":"" "* value:stringOrMulti { return field + ":" + value; }
|
|
72
|
+
/ field:textFieldName ":"" "* value:value { return value; }
|
|
73
|
+
|
|
74
|
+
value = range / string
|
|
75
|
+
range = "[" from:([^" "]+) " TO " to:([^\\]]+) "]" {return "[" + from.join("") + " TO " + to.join("") + "]"; }
|
|
76
|
+
string = quoted_term / unquoted_term / _
|
|
77
|
+
|
|
78
|
+
unquoted_term
|
|
79
|
+
= term:term_char+
|
|
80
|
+
{
|
|
81
|
+
return term.join('');
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
term_char
|
|
85
|
+
= [^: \\t\\r\\n\\f\\{\\}()"+-/^~\\[\\]]
|
|
86
|
+
|
|
87
|
+
quoted_term
|
|
88
|
+
= '"' term:[^"]+ '"'
|
|
89
|
+
{
|
|
90
|
+
return '"' + term.join('') + '"';
|
|
91
|
+
}
|
|
92
|
+
booleanValue = "true" / "false"
|
|
93
|
+
number = digits:[0-9]+ { return digits.join(''); }
|
|
94
|
+
multipleValue = "(" val:(value)+ ")" { return joinByOr(val); }
|
|
95
|
+
stringOrMulti = string / multipleValue
|
|
96
|
+
|
|
97
|
+
basicFieldName = "contactName" {return "${SolrKeys.contactName}";}
|
|
98
|
+
/ "createdByName" {return "${SolrKeys.createdBy}";}
|
|
99
|
+
/ "createdDate" {return "${SolrKeys.createdDate}";}
|
|
100
|
+
/ "closedDate" {return "${SolrKeys.caseClosedDate}";}
|
|
101
|
+
/ "description" {return "${SolrKeys.description}";}
|
|
102
|
+
/ "summary" {return "${SolrKeys.caseSummary}";}
|
|
103
|
+
/ "lastModifiedDate" {return "${SolrKeys.modifiedDate}";}
|
|
104
|
+
/ "lastModifiedByName" {return "${SolrKeys.modifiedBy}";}
|
|
105
|
+
/ "ownerName" {return "${SolrKeys.ownerName}";}
|
|
106
|
+
/ "caseNumber" {return "${SolrKeys.caseNumber}";}
|
|
107
|
+
/ "openshiftClusterId" {return "${SolrKeys.openshiftClusterId}";}
|
|
108
|
+
/ "alternateCaseId" {return "${SolrKeys.alternateId}";}
|
|
109
|
+
|
|
110
|
+
cepFieldName = "CEP" {return "${SolrKeys.cep}";}
|
|
111
|
+
ftsFieldName = "FTS" {return "${SolrKeys.fts}";}
|
|
112
|
+
escalatedFieldName = "escalated" {return "${SolrKeys.escalation}";}
|
|
113
|
+
contactSSOFieldName = "contactSSO" {return "${SolrKeys.caseContactSSO}";}
|
|
114
|
+
ownerSSOFieldName = "ownerSSO" {return "${SolrKeys.caseOwner}";}
|
|
115
|
+
createdBySSOFieldName = "createdBySSO" {return "${SolrKeys.createdBySsoUsername}";}
|
|
116
|
+
textFieldName = "text" {return "";}
|
|
117
|
+
|
|
118
|
+
severityFieldName = "severity" {return "${SolrKeys.severity}";}
|
|
119
|
+
severityValue = string
|
|
120
|
+
/${(filterValuesFromFacetResponse[SolrKeys.severity] || [])
|
|
121
|
+
.map((severity) => `'"${severity.value}"' { return '"${severity.value}"'; } `)
|
|
122
|
+
.join(' / ')}
|
|
123
|
+
/ severityMultipleValue / _
|
|
124
|
+
severityMultipleValue = "(" val:(severityValue)+ ")" { return joinByOr(val); }
|
|
125
|
+
|
|
126
|
+
statusFieldName = "status" {return "${SolrKeys.status}";}
|
|
127
|
+
statusValue = string
|
|
128
|
+
/${(filterValuesFromFacetResponse[SolrKeys.status] || [])
|
|
129
|
+
.map((status) => `'"${status.value}"' { return '"${status.value}"'; } `)
|
|
130
|
+
.join(' / ')}
|
|
131
|
+
/ statusMultipleValue / _
|
|
132
|
+
statusMultipleValue = "(" val:(statusValue)+ ")" { return joinByOr(val); }
|
|
133
|
+
|
|
134
|
+
groupFieldName = "group" {return "${SolrKeys.group}";}
|
|
135
|
+
groupValue = string
|
|
136
|
+
/ ${(caseGroups.data || []).map((group) => `'"${group.name}"' { return '${group.groupNum}'; }`).join(' / ')}
|
|
137
|
+
/ groupMultipleValue / _
|
|
138
|
+
groupMultipleValue = "(" val:(groupValue)+ ")" { return joinByOr(val); }
|
|
139
|
+
|
|
140
|
+
caseTypeFieldName = "caseType" {return "${SolrKeys.type}";}
|
|
141
|
+
caseTypeValue = string
|
|
142
|
+
/ ${(allCaseTypes.data || []).map((caseType) => `'"${caseType}"' { return '"${caseType}"'; }`).join(' / ')}
|
|
143
|
+
/ caseTypeMultipleValue / _
|
|
144
|
+
caseTypeMultipleValue = "(" val:(caseTypeValue)+ ")" { return joinByOr(val); }
|
|
145
|
+
|
|
146
|
+
productFieldName = "productName" { return "${SolrKeys.product}"; }
|
|
147
|
+
productValue = string
|
|
148
|
+
/ ${(filterValuesFromFacetResponse[SolrKeys.product] || [])
|
|
149
|
+
.map((product) => `'"${product.value}"' { return '"${product.value}"'; } `)
|
|
150
|
+
.join(' / ')}
|
|
151
|
+
/ productMultipleValue / _
|
|
152
|
+
productMultipleValue = "(" val:(productValue)+ ")" { return joinByOr(val); }
|
|
153
|
+
|
|
154
|
+
versionFieldName = "productVersion" { return "${SolrKeys.version}"; }
|
|
155
|
+
versionValue = string
|
|
156
|
+
/ versionMultipleValue / _
|
|
157
|
+
versionMultipleValue = "(" val:(versionValue)+ ")" { return joinByOr(val); }
|
|
158
|
+
|
|
159
|
+
accountNumberFieldName = "accountNumber" {return "${SolrKeys.accountNumber}";}
|
|
160
|
+
accountNumberValue = number
|
|
161
|
+
/ string
|
|
162
|
+
/ ${allAccounts.map((account) => `"${account.accountNumber}" { return "${account.accountNumber}"; }`).join(' / ')}
|
|
163
|
+
/ accountNumberMultipleValue / _
|
|
164
|
+
accountNumberMultipleValue = "(" val:(accountNumberValue)+ ")" { return joinByOr(val); }
|
|
165
|
+
|
|
166
|
+
accountNameFieldName = "accountName" { return "case_account_name";}
|
|
167
|
+
accountNameValue = string
|
|
168
|
+
/ ${allAccounts.map((account) => `'"${account.name}"' { return "${account.name}"; }`).join(' / ')}
|
|
169
|
+
/ accountNameMultipleValue / _
|
|
170
|
+
accountNameMultipleValue = "(" val:(accountNameValue)+ ")" { return joinByOr(val); }
|
|
171
|
+
|
|
172
|
+
_ "whitespace"
|
|
173
|
+
= [ \\t\\r\\n\\f]+
|
|
174
|
+
|
|
175
|
+
EOF
|
|
176
|
+
= !.
|
|
177
|
+
`;
|
|
178
|
+
initParser(grammarStringInternal);
|
|
179
|
+
// parse on page load so that we have the autocomplete setup on first load
|
|
180
|
+
onInit && onInit();
|
|
181
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
182
|
+
}, [
|
|
183
|
+
filterValuesFromFacetResponse,
|
|
184
|
+
caseGroups.isFetching,
|
|
185
|
+
allCaseTypes.isFetching,
|
|
186
|
+
bookmarkedGroupAccounts.isFetching,
|
|
187
|
+
loggedInUsersAccount.isFetching,
|
|
188
|
+
]);
|
|
92
189
|
return { parse, parseSafe, parserRef };
|
|
93
190
|
}
|
package/lib/esm/css/caseList.css
CHANGED
|
@@ -155,11 +155,12 @@
|
|
|
155
155
|
font-size: 14px;
|
|
156
156
|
}
|
|
157
157
|
|
|
158
|
-
.cases-main .case-search-top .filter-chip-wrapper .
|
|
158
|
+
.cases-main .case-search-top .filter-chip-wrapper button.pf-c-select__toggle {
|
|
159
159
|
font-size: 13px;
|
|
160
|
+
--pf-c-select__toggle-text--Color: var(--pf-c-select__toggle--m-placeholder__toggle-text--Color) !important;
|
|
160
161
|
}
|
|
161
162
|
|
|
162
|
-
.cases-main .case-search-top .filter-chip-wrapper .
|
|
163
|
+
.cases-main .case-search-top .filter-chip-wrapper button.pf-c-select__toggle svg {
|
|
163
164
|
margin-left: 4px;
|
|
164
165
|
}
|
|
165
166
|
|
|
@@ -469,3 +470,7 @@
|
|
|
469
470
|
min-width: 10%;
|
|
470
471
|
max-width: 10%;
|
|
471
472
|
}
|
|
473
|
+
|
|
474
|
+
.filter-group .pf-c-select__toggle {
|
|
475
|
+
--pf-c-select__toggle-text--Color: var(--pf-c-select__toggle--m-placeholder__toggle-text--Color) !important;
|
|
476
|
+
}
|
package/lib/esm/enums/case.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SolrKeys } from './filters';
|
|
1
|
+
import { SFDCKeys, SolrKeys } from './filters';
|
|
2
2
|
export declare enum CaseStatus {
|
|
3
3
|
WaitingOnCustomer = "Waiting on Customer",
|
|
4
4
|
WaitingOnRedHat = "Waiting on Red Hat",
|
|
@@ -42,4 +42,18 @@ export declare const caseListSortColumnIdsToSolrMap: {
|
|
|
42
42
|
type: SolrKeys;
|
|
43
43
|
closedDate: SolrKeys;
|
|
44
44
|
};
|
|
45
|
+
export declare const caseListSortColumnIdsToSFDCMap: {
|
|
46
|
+
number: SFDCKeys;
|
|
47
|
+
summary: SFDCKeys;
|
|
48
|
+
severity: SFDCKeys;
|
|
49
|
+
contactName: SFDCKeys;
|
|
50
|
+
createdDate: SFDCKeys;
|
|
51
|
+
status: SFDCKeys;
|
|
52
|
+
lastModifiedDate: SFDCKeys;
|
|
53
|
+
accountNumber: SFDCKeys;
|
|
54
|
+
folderName: SFDCKeys;
|
|
55
|
+
alternateCaseId: SFDCKeys;
|
|
56
|
+
type: SFDCKeys;
|
|
57
|
+
closedDate: SFDCKeys;
|
|
58
|
+
};
|
|
45
59
|
//# 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,MAAM,WAAW,CAAC;
|
|
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,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,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;CAChC;AAED,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;CAa1C,CAAC;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;CAa1C,CAAC"}
|
package/lib/esm/enums/case.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SolrKeys } from './filters';
|
|
1
|
+
import { SFDCKeys, SolrKeys } from './filters';
|
|
2
2
|
export var CaseStatus;
|
|
3
3
|
(function (CaseStatus) {
|
|
4
4
|
CaseStatus["WaitingOnCustomer"] = "Waiting on Customer";
|
|
@@ -35,7 +35,7 @@ export const caseListSortColumnIdsToSolrMap = {
|
|
|
35
35
|
[CaseListColumnIds.caseId]: SolrKeys.caseNumber,
|
|
36
36
|
[CaseListColumnIds.summary]: SolrKeys.caseSummary,
|
|
37
37
|
[CaseListColumnIds.severity]: SolrKeys.severity,
|
|
38
|
-
[CaseListColumnIds.owner]: SolrKeys.
|
|
38
|
+
[CaseListColumnIds.owner]: SolrKeys.contactName,
|
|
39
39
|
[CaseListColumnIds.created]: SolrKeys.createdDate,
|
|
40
40
|
[CaseListColumnIds.status]: SolrKeys.status,
|
|
41
41
|
[CaseListColumnIds.modified]: SolrKeys.modifiedDate,
|
|
@@ -45,3 +45,17 @@ export const caseListSortColumnIdsToSolrMap = {
|
|
|
45
45
|
[CaseListColumnIds.type]: SolrKeys.type,
|
|
46
46
|
[CaseListColumnIds.caseClosedDate]: SolrKeys.caseClosedDate,
|
|
47
47
|
};
|
|
48
|
+
export const caseListSortColumnIdsToSFDCMap = {
|
|
49
|
+
[CaseListColumnIds.caseId]: SFDCKeys.caseNumber,
|
|
50
|
+
[CaseListColumnIds.summary]: SFDCKeys.caseSummary,
|
|
51
|
+
[CaseListColumnIds.severity]: SFDCKeys.severity,
|
|
52
|
+
[CaseListColumnIds.owner]: SFDCKeys.contactName,
|
|
53
|
+
[CaseListColumnIds.created]: SFDCKeys.createdDate,
|
|
54
|
+
[CaseListColumnIds.status]: SFDCKeys.status,
|
|
55
|
+
[CaseListColumnIds.modified]: SFDCKeys.modifiedDate,
|
|
56
|
+
[CaseListColumnIds.accountNumber]: SFDCKeys.accountNumber,
|
|
57
|
+
[CaseListColumnIds.group]: SFDCKeys.groupName,
|
|
58
|
+
[CaseListColumnIds.alternateCaseId]: SFDCKeys.alternateId,
|
|
59
|
+
[CaseListColumnIds.type]: SFDCKeys.caseType,
|
|
60
|
+
[CaseListColumnIds.caseClosedDate]: SFDCKeys.caseClosedDate,
|
|
61
|
+
};
|
|
@@ -35,8 +35,42 @@ export declare enum SolrKeys {
|
|
|
35
35
|
cep = "case_is_cep",
|
|
36
36
|
accountName = "case_accountName",
|
|
37
37
|
alternateId = "case_alternate_id",
|
|
38
|
-
caseClosedDate = "case_closedDate"
|
|
38
|
+
caseClosedDate = "case_closedDate",
|
|
39
|
+
openshiftClusterId = "case_openshift_cluster_id"
|
|
39
40
|
}
|
|
41
|
+
export declare const advancedSearchMap: {
|
|
42
|
+
case_number: string;
|
|
43
|
+
case_summary: string;
|
|
44
|
+
case_product: string;
|
|
45
|
+
case_status: string;
|
|
46
|
+
case_accountNumber: string;
|
|
47
|
+
case_folderNumber: string;
|
|
48
|
+
case_folderName: string;
|
|
49
|
+
case_severity: string;
|
|
50
|
+
case_owner_sso_username: string;
|
|
51
|
+
case_owner: string;
|
|
52
|
+
case_contactName: string;
|
|
53
|
+
case_contact_sso_username: string;
|
|
54
|
+
case_customer_escalation: string;
|
|
55
|
+
case_version: string;
|
|
56
|
+
case_createdByName: string;
|
|
57
|
+
case_createdby_sso_username: string;
|
|
58
|
+
case_createdDate: string;
|
|
59
|
+
case_lastModifiedByName: string;
|
|
60
|
+
case_lastModifiedDate: string;
|
|
61
|
+
case_last_public_update_date: string;
|
|
62
|
+
case_last_public_update_by: string;
|
|
63
|
+
case_description: string;
|
|
64
|
+
uri: string;
|
|
65
|
+
case_24_7: string;
|
|
66
|
+
case_type: string;
|
|
67
|
+
case_is_cep: string;
|
|
68
|
+
case_accountName: string;
|
|
69
|
+
case_alternate_id: string;
|
|
70
|
+
case_closedDate: string;
|
|
71
|
+
case_openshift_cluster_id: string;
|
|
72
|
+
case_account_name: string;
|
|
73
|
+
};
|
|
40
74
|
export declare enum SolrPivotKeys {
|
|
41
75
|
product_version = "case_product,case_version"
|
|
42
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../src/enums/filters.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAChB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,MAAM,WAAW;CACpB;AAED,oBAAY,QAAQ;IAChB,UAAU,gBAAgB;IAC1B,WAAW,iBAAiB;IAC5B,OAAO,iBAAiB;IACxB,MAAM,gBAAgB;IACtB,aAAa,uBAAuB;IACpC,KAAK,sBAAsB;IAC3B,SAAS,oBAAoB;IAC7B,QAAQ,kBAAkB;IAC1B,SAAS,4BAA4B;IACrC,SAAS,eAAe;IACxB,WAAW,qBAAqB;IAChC,cAAc,8BAA8B;IAC5C,UAAU,6BAA6B;IACvC,OAAO,iBAAiB;IACxB,SAAS,uBAAuB;IAChC,oBAAoB,gCAAgC;IACpD,WAAW,qBAAqB;IAChC,UAAU,4BAA4B;IACtC,YAAY,0BAA0B;IACtC,oBAAoB,iCAAiC;IACrD,sBAAsB,+BAA+B;IACrD,WAAW,qBAAqB;IAChC,GAAG,QAAQ;IACX,GAAG,cAAc;IACjB,IAAI,cAAc;IAClB,GAAG,gBAAgB;IACnB,WAAW,qBAAqB;IAChC,WAAW,sBAAsB;IACjC,cAAc,oBAAoB;
|
|
1
|
+
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../src/enums/filters.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAChB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,MAAM,WAAW;CACpB;AAED,oBAAY,QAAQ;IAChB,UAAU,gBAAgB;IAC1B,WAAW,iBAAiB;IAC5B,OAAO,iBAAiB;IACxB,MAAM,gBAAgB;IACtB,aAAa,uBAAuB;IACpC,KAAK,sBAAsB;IAC3B,SAAS,oBAAoB;IAC7B,QAAQ,kBAAkB;IAC1B,SAAS,4BAA4B;IACrC,SAAS,eAAe;IACxB,WAAW,qBAAqB;IAChC,cAAc,8BAA8B;IAC5C,UAAU,6BAA6B;IACvC,OAAO,iBAAiB;IACxB,SAAS,uBAAuB;IAChC,oBAAoB,gCAAgC;IACpD,WAAW,qBAAqB;IAChC,UAAU,4BAA4B;IACtC,YAAY,0BAA0B;IACtC,oBAAoB,iCAAiC;IACrD,sBAAsB,+BAA+B;IACrD,WAAW,qBAAqB;IAChC,GAAG,QAAQ;IACX,GAAG,cAAc;IACjB,IAAI,cAAc;IAClB,GAAG,gBAAgB;IACnB,WAAW,qBAAqB;IAChC,WAAW,sBAAsB;IACjC,cAAc,oBAAoB;IAClC,kBAAkB,8BAA8B;CACnD;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC7B,CAAC;AAGF,oBAAY,aAAa;IACrB,eAAe,8BAA8B;CAChD;AAED,eAAO,MAAM,iBAAiB,QAA4C,CAAC;AAC3E,oBAAY,QAAQ;IAChB,UAAU,eAAe;IACzB,WAAW,YAAY;IACvB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,aAAa,qBAAqB;IAClC,QAAQ,aAAa;IACrB,SAAS,YAAY;IACrB,WAAW,gBAAgB;IAC3B,SAAS,mBAAmB;IAC5B,UAAU,uBAAuB;IACjC,OAAO,YAAY;IACnB,SAAS,gBAAgB;IACzB,oBAAoB,gCAAgC;IACpD,WAAW,gBAAgB;IAC3B,UAAU,qBAAqB;IAC/B,YAAY,qBAAqB;IACjC,oBAAoB,qBAAqB;IACzC,sBAAsB,qBAAqB;IAC3C,WAAW,gBAAgB;IAC3B,GAAG,QAAQ;IACX,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,cAAc,iBAAiB;CAClC;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;CAsB9B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;CAElC,CAAC"}
|
package/lib/esm/enums/filters.js
CHANGED
|
@@ -38,7 +38,41 @@ export var SolrKeys;
|
|
|
38
38
|
SolrKeys["accountName"] = "case_accountName";
|
|
39
39
|
SolrKeys["alternateId"] = "case_alternate_id";
|
|
40
40
|
SolrKeys["caseClosedDate"] = "case_closedDate";
|
|
41
|
+
SolrKeys["openshiftClusterId"] = "case_openshift_cluster_id";
|
|
41
42
|
})(SolrKeys || (SolrKeys = {}));
|
|
43
|
+
export const advancedSearchMap = {
|
|
44
|
+
case_number: 'caseNumber',
|
|
45
|
+
case_summary: 'summary',
|
|
46
|
+
case_product: 'productName',
|
|
47
|
+
case_status: 'status',
|
|
48
|
+
case_accountNumber: 'accountNumber',
|
|
49
|
+
case_folderNumber: 'group',
|
|
50
|
+
case_folderName: 'groupName',
|
|
51
|
+
case_severity: 'severity',
|
|
52
|
+
case_owner_sso_username: 'caseOwner',
|
|
53
|
+
case_owner: 'ownerName',
|
|
54
|
+
case_contactName: 'contactName',
|
|
55
|
+
case_contact_sso_username: 'contactSSO',
|
|
56
|
+
case_customer_escalation: 'escalated',
|
|
57
|
+
case_version: 'productVersion',
|
|
58
|
+
case_createdByName: 'createdByName',
|
|
59
|
+
case_createdby_sso_username: 'createdBySSO',
|
|
60
|
+
case_createdDate: 'createdDate',
|
|
61
|
+
case_lastModifiedByName: 'lastModifiedByName',
|
|
62
|
+
case_lastModifiedDate: 'lastModifiedDate',
|
|
63
|
+
case_last_public_update_date: 'lastPublicUpdateDate',
|
|
64
|
+
case_last_public_update_by: 'lastPublicUpdateDateBy',
|
|
65
|
+
case_description: 'description',
|
|
66
|
+
uri: 'uri',
|
|
67
|
+
case_24_7: 'FTS',
|
|
68
|
+
case_type: 'caseType',
|
|
69
|
+
case_is_cep: 'CEP',
|
|
70
|
+
case_accountName: 'accountName',
|
|
71
|
+
case_alternate_id: 'alternateCaseId',
|
|
72
|
+
case_closedDate: 'closedDate',
|
|
73
|
+
case_openshift_cluster_id: 'openshiftClusterId',
|
|
74
|
+
case_account_name: 'accountName',
|
|
75
|
+
};
|
|
42
76
|
// just to keep ts happy since the below const does not work
|
|
43
77
|
export var SolrPivotKeys;
|
|
44
78
|
(function (SolrPivotKeys) {
|
|
@@ -11,12 +11,13 @@ 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
15
|
declare function createAdvancedSearchQueryFromFilterState(filterInfo: Partial<IFilterInfo>, keyword: string, useKeyForKVPair?: any[]): string;
|
|
15
16
|
declare function createQueryForCSVDownload(filterState: ICaseListFilterState, loggedInUserRights: UserAuth, loggedInUsersAccount: any, startValue?: number, limitValue?: number): any;
|
|
16
17
|
declare function createSFDCQueryFromFilterState(filterState: ICaseListFilterState, loggedInUser: UserAuth, loggedInUserAccount: Partial<IAccount>): Partial<ISFDCCaseFilter>;
|
|
17
18
|
declare function mapSFDCCaseListToSolrCaseList(response?: ISFDCCaseListResponse[]): ISolrCaseListResponse[];
|
|
18
19
|
declare function createURLQueryFromFilterState(filterState: ICaseListFilterState): string;
|
|
19
20
|
declare function createFilterStateFromUrlQuery(urlQuery: string, globalMetadataState: IGlobalMetadataState, pageSize?: number, currentPage?: number, searchType?: CaseSearchQueryType): ICaseListFilterState;
|
|
20
|
-
declare function createFilterStateFromAdvancedQuery(queryString: string, globalMetadataState: IGlobalMetadataState, currentFilterState: ICaseListFilterState): ICaseListFilterState;
|
|
21
|
-
export { createSolrQueryFromFilterState, createUserFriendlyQueryFromFilterState, createQueryForCSVDownload, createSFDCQueryFromFilterState, mapSFDCCaseListToSolrCaseList, createURLQueryFromFilterState, createFilterStateFromUrlQuery, createAdvancedSearchQueryFromFilterState, createFilterStateFromAdvancedQuery, };
|
|
21
|
+
declare function createFilterStateFromAdvancedQuery(queryString: string, globalMetadataState: IGlobalMetadataState, currentFilterState: ICaseListFilterState, parsedQuery?: string, type?: CaseSearchQueryType): ICaseListFilterState;
|
|
22
|
+
export { createSolrQueryFromFilterState, createUserFriendlyQueryFromFilterState, createUserFriendlyQueryFromFilterStateAdvancedSearch, createQueryForCSVDownload, createSFDCQueryFromFilterState, mapSFDCCaseListToSolrCaseList, createURLQueryFromFilterState, createFilterStateFromUrlQuery, createAdvancedSearchQueryFromFilterState, createFilterStateFromAdvancedQuery, };
|
|
22
23
|
//# sourceMappingURL=caseSearchUtils.d.ts.map
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"caseSearchUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/caseSearchUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AACrG,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAUxD,OAAO,EACH,oBAAoB,EACpB,WAAW,EAId,MAAM,+CAA+C,CAAC;AAOvD,OAAO,EAEH,mBAAmB,EAEtB,MAAM,qBAAqB,CAAC;AAU7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,eAAO,MAAM,6BAA6B,UAAU,CAAC;AACrD,eAAO,MAAM,oCAAoC,MAAM,CAAC;AACxD,eAAO,MAAM,iCAAiC,SAAS,CAAC;AACxD,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAElD,iBAAS,8BAA8B,CAAC,WAAW,EAAE,oBAAoB,EAAE,YAAY,EAAE,QAAQ,OA4DhG;AAED,iBAAS,sCAAsC,CAC3C,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,EAChC,WAAW,EAAE,MAAM,EACnB,eAAe,GAAE,OAAe,UAwBnC;AAED,iBAAS,oDAAoD,CACzD,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,EAChC,WAAW,EAAE,MAAM,EACnB,eAAe,GAAE,OAAe,UAgDnC;AAeD,iBAAS,wCAAwC,CAC7C,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,EAChC,OAAO,EAAE,MAAM,EACf,eAAe,QAAK,UAoCvB;AASD,iBAAS,yBAAyB,CAC9B,WAAW,EAAE,oBAAoB,EACjC,kBAAkB,EAAE,QAAQ,EAC5B,oBAAoB,KAAA,EACpB,UAAU,SAAI,EACd,UAAU,SAAO,OAcpB;AAkBD,iBAAS,8BAA8B,CACnC,WAAW,EAAE,oBAAoB,EACjC,YAAY,EAAE,QAAQ,EACtB,mBAAmB,EAAE,OAAO,CAAC,QAAQ,CAAC,GACvC,OAAO,CAAC,eAAe,CAAC,CAgE1B;AAED,iBAAS,6BAA6B,CAAC,QAAQ,GAAE,qBAAqB,EAAO,GAAG,qBAAqB,EAAE,CAEtG;AAcD,iBAAS,6BAA6B,CAAC,WAAW,EAAE,oBAAoB,UAUvE;AAED,iBAAS,6BAA6B,CAClC,QAAQ,EAAE,MAAM,EAChB,mBAAmB,EAAE,oBAAoB,EACzC,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,GAAE,mBAA+C,wBAsD9D;AAGD,iBAAS,kCAAkC,CACvC,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,oBAAoB,EACzC,kBAAkB,EAAE,oBAAoB,EACxC,WAAW,GAAE,MAAW,EACxB,IAAI,GAAE,mBAA+C,wBAqCxD;AAgGD,OAAO,EACH,8BAA8B,EAC9B,sCAAsC,EACtC,oDAAoD,EACpD,yBAAyB,EACzB,8BAA8B,EAC9B,6BAA6B,EAC7B,6BAA6B,EAC7B,6BAA6B,EAC7B,wCAAwC,EACxC,kCAAkC,GACrC,CAAC"}
|