@@ -127,20 +111,13 @@ function renderSingleQuestionGroup(
function initMediaObservations(observations) {
const mediaObservations = [
- ...observations.filter(obs =>
- includes(
- [Concept.dataType.Image, Concept.dataType.Video, Concept.dataType.File],
- obs.concept.datatype
- )
- )
+ ...observations.filter(obs => includes([Concept.dataType.Image, Concept.dataType.Video, Concept.dataType.File], obs.concept.datatype))
];
//TODO handle Repeatable Question Group media observations
observations
.filter(obs => obs.concept.isQuestionGroup())
.map(
- qgObservation =>
- qgObservation.valueJSON.groupObservations &&
- mediaObservations.push(...qgObservation.valueJSON.groupObservations)
+ qgObservation => qgObservation.valueJSON.groupObservations && mediaObservations.push(...qgObservation.valueJSON.groupObservations)
);
return mediaObservations;
}
@@ -205,25 +182,23 @@ const Observations = ({ observations, additionalRows, form, customKey, highlight
const renderSubject = (subject, addLineBreak) => {
return (
-
- {Individual.getFullName(subject.entityObject)}
-
+ {Individual.getFullName(subject.entityObject)}
{addLineBreak &&
}
);
};
- const mediaPreviewMap = unsignedMediaUrl => ({
+ const mediaPreviewMap = (signedMediaUrl, unsignedMediaUrl) => ({
[Concept.dataType.Image]: (
{
event.preventDefault();
- showMediaOverlay(unsignedMediaUrl);
+ showMediaOverlay(signedMediaUrl);
}}
/>
),
@@ -279,30 +254,18 @@ const Observations = ({ observations, additionalRows, form, customKey, highlight
- updateOpen(observationValue)}
- >
+ updateOpen(observationValue)}>
{mediaUrls.map((unsignedMediaUrl, index) => {
const mediaData = _.find(mediaDataList, x => x.unsignedUrl === unsignedMediaUrl);
- const couldntSignMessage =
- MediaData.MissingSignedMediaMessage + ". Value: " + unsignedMediaUrl;
+ const couldntSignMessage = MediaData.MissingSignedMediaMessage + unsignedMediaUrl;
const signedMediaUrl = _.get(mediaData, "url");
return (
{_.isNil(signedMediaUrl) ? (
couldntSignMessage
) : (
-
- {mediaPreviewMap(signedMediaUrl)[concept.datatype]}
+
+ {mediaPreviewMap(signedMediaUrl, unsignedMediaUrl)[concept.datatype]}
)}
@@ -362,14 +325,8 @@ const Observations = ({ observations, additionalRows, form, customKey, highlight
const mediaUrls = isMultiSelect ? observationValue : [observationValue];
return mediaUrls.map(async unsignedMediaUrl => {
const signedUrl = await getSignedUrl(unsignedMediaUrl);
- const type =
- obs.concept.datatype === "Image" ? "photo" : lowerCase(obs.concept.datatype);
- return new MediaData(
- _.get(signedUrl, "data"),
- type,
- obs.concept.name,
- unsignedMediaUrl
- );
+ const type = obs.concept.datatype === "Image" ? "photo" : lowerCase(obs.concept.datatype);
+ return new MediaData(_.get(signedUrl, "data"), type, obs.concept.name, unsignedMediaUrl);
});
})
);
@@ -392,9 +349,7 @@ const Observations = ({ observations, additionalRows, form, customKey, highlight
}));
const isNotAssociatedWithForm = isNil(form);
- const orderedObs = isNotAssociatedWithForm
- ? observations
- : form.orderObservationsPerFEG(observations);
+ const orderedObs = isNotAssociatedWithForm ? observations : form.orderObservationsPerFEG(observations);
const mediaObservations = initMediaObservations(observations);
React.useEffect(() => {
@@ -414,29 +369,19 @@ const Observations = ({ observations, additionalRows, form, customKey, highlight
let questionGroupRows = null;
if ("repeatableObservations" in valueWrapper) {
- questionGroupRows = _.map(
- valueWrapper.repeatableObservations,
- (questionGroupValueWrapper, rqgIndex) =>
- renderSingleQuestionGroup(
- questionGroupValueWrapper,
- index + "rqg" + rqgIndex,
- customKey,
- t,
- observation,
- StyledTableRow,
- renderValue
- )
+ questionGroupRows = _.map(valueWrapper.repeatableObservations, (questionGroupValueWrapper, rqgIndex) =>
+ renderSingleQuestionGroup(
+ questionGroupValueWrapper,
+ index + "rqg" + rqgIndex,
+ customKey,
+ t,
+ observation,
+ StyledTableRow,
+ renderValue
+ )
);
} else {
- questionGroupRows = renderSingleQuestionGroup(
- valueWrapper,
- index + "qg-0",
- customKey,
- t,
- observation,
- StyledTableRow,
- renderValue
- );
+ questionGroupRows = renderSingleQuestionGroup(valueWrapper, index + "qg-0", customKey, t, observation, StyledTableRow, renderValue);
}
return (
@@ -444,13 +389,7 @@ const Observations = ({ observations, additionalRows, form, customKey, highlight
-
+
{t(observation.concept["name"])}
@@ -496,9 +435,7 @@ const Observations = ({ observations, additionalRows, form, customKey, highlight
const renderObservationValue = (observation, index, isNotAssociatedWithForm) => {
if (isNotAssociatedWithForm) {
- return observation.concept.isQuestionGroup()
- ? renderGroupQuestionView(observation, index)
- : renderNormalView(observation, index);
+ return observation.concept.isQuestionGroup() ? renderGroupQuestionView(observation, index) : renderNormalView(observation, index);
} else {
const fegRows = _.map(observation.sortedObservationsArray, (obs, feIndex) =>
renderObservationValue(obs, "feg-" + index + "fe-" + feIndex, true)
@@ -507,33 +444,19 @@ const Observations = ({ observations, additionalRows, form, customKey, highlight
}
};
- const rows = _.filter(
- orderedObs,
- obs => isNotAssociatedWithForm || !_.isEmpty(obs.sortedObservationsArray)
- ).map((obs, fegIndex) => renderObservationValue(obs, fegIndex, isNotAssociatedWithForm));
+ const rows = _.filter(orderedObs, obs => isNotAssociatedWithForm || !_.isEmpty(obs.sortedObservationsArray)).map((obs, fegIndex) =>
+ renderObservationValue(obs, fegIndex, isNotAssociatedWithForm)
+ );
additionalRows &&
!_.isEmpty(additionalRows) &&
- rows.push(
- includeAdditionalRows(
- additionalRows,
- rows.length,
- t,
- renderText,
- renderFEGView,
- StyledTableRow
- )
- );
+ rows.push(includeAdditionalRows(additionalRows, rows.length, t, renderText, renderFEGView, StyledTableRow));
return isEmpty(rows) ? (
) : (