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]; };