Merged PR 2255: refactor(representations): extract deterministic data-resolution helpers for...
refactor(representations): extract deterministic data-resolution helpers for representation flow (Slice R6, behaviour-preserving) Related work items: #22441
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||
|
||||
export const resolveInitialCaseDataSources = ({
|
||||
hasState,
|
||||
isEditState,
|
||||
currentType,
|
||||
myRepresentations,
|
||||
searchDetailsObj,
|
||||
searchResultsObj,
|
||||
watchedCasesDetails
|
||||
}) => {
|
||||
if (hasState) {
|
||||
return {
|
||||
"caseDetailsSource": isEditState
|
||||
? myRepresentations
|
||||
: searchDetailsObj,
|
||||
"caseResultsSource": isEditState
|
||||
? myRepresentations
|
||||
: searchResultsObj
|
||||
};
|
||||
}
|
||||
|
||||
return {
|
||||
"caseDetailsSource":
|
||||
currentType === "watchedCases"
|
||||
? watchedCasesDetails
|
||||
: searchDetailsObj,
|
||||
"caseResultsSource":
|
||||
currentType === "watchedCases"
|
||||
? watchedCasesDetails
|
||||
: searchResultsObj
|
||||
};
|
||||
};
|
||||
|
||||
export const findResultsObjForCurrentReference = ({
|
||||
currentReference,
|
||||
caseResultsSource
|
||||
}) => {
|
||||
return jsonpath({
|
||||
path: `$..[?(@ && @.ticketnumber=="${currentReference}")]`,
|
||||
"json": caseResultsSource,
|
||||
"eval": true
|
||||
})[0];
|
||||
};
|
||||
|
||||
export const findDetailsObjForView = ({
|
||||
hasState,
|
||||
isEditState,
|
||||
queryCreated,
|
||||
ticketnumber,
|
||||
caseDetailsSource
|
||||
}) => {
|
||||
if (hasState && isEditState) {
|
||||
return jsonpath({
|
||||
path: `$..[?(@ && @.repfile_name=="${queryCreated}")]`,
|
||||
"json": caseDetailsSource,
|
||||
"eval": true
|
||||
})[0];
|
||||
}
|
||||
|
||||
return jsonpath({
|
||||
path: `$..[?(@ && @.ticketnumber=="${ticketnumber}")]`,
|
||||
"json": caseDetailsSource,
|
||||
"eval": true
|
||||
})[0];
|
||||
};
|
||||
|
||||
export const resolveSubmitCaseDetailsSource = ({
|
||||
isEditState,
|
||||
currentType,
|
||||
myRepresentations,
|
||||
watchedCasesDetails,
|
||||
searchDetailsObj
|
||||
}) => {
|
||||
if (isEditState) {
|
||||
return myRepresentations;
|
||||
}
|
||||
|
||||
return currentType === "watchedCases"
|
||||
? watchedCasesDetails
|
||||
: searchDetailsObj;
|
||||
};
|
||||
|
||||
export const findDetailsObjForSubmit = ({
|
||||
ticketnumber,
|
||||
caseDetailsSource
|
||||
}) => {
|
||||
return jsonpath({
|
||||
path: `$..[?(@ && @.ticketnumber=="${ticketnumber}")]`,
|
||||
"json": caseDetailsSource,
|
||||
"eval": true
|
||||
})[0];
|
||||
};
|
||||
Reference in New Issue
Block a user