Skip to content

Commit

Permalink
Merge branch 'fix/mediasearch-pca-link' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
rstrahan committed Mar 29, 2024
2 parents 4bfc35d + 40df3ba commit b9089b5
Show file tree
Hide file tree
Showing 4 changed files with 596 additions and 0 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]

### Added
## [0.7.8] - 2024-03-29
- Fix an issue with job status indicator (step function workflow) inserting duplicate entries into DynamoDB.
- Fix regression in the mediasearch finder to re-enable hyperlink to PCA call detail page

## [0.7.7] - 2024-03-06
### Added
Expand Down
97 changes: 97 additions & 0 deletions patches/mediasearch/ResultFooter.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
import React from "react";
import * as _ from "lodash";
import Kendra from "aws-sdk/clients/kendra";

import { isNullOrUndefined, truncateString } from "../../utils";
import "../../search.scss";

import Feedback from "./Feedback";
import { Relevance } from "../../constants";

const IgnoreFormats = ["PLAIN_TEXT"];
const MAX_URI_LENGTH = 30;

interface ResultFooterProps {
queryResultItem: Kendra.QueryResultItem;
attributes: any;
startTime: number;
submitFeedback: (
relevance: Relevance,
resultItem: Kendra.QueryResultItem
) => Promise<void>;
}

export default class ResultFooter extends React.Component<
ResultFooterProps,
{}
> {
private submitClickFeedback = () => {
this.props.submitFeedback(Relevance.Click, this.props.queryResultItem);
};

render() {
const { attributes, queryResultItem, submitFeedback, startTime } = this.props;

const fileFormatName = attributes.FileFormat
? attributes.FileFormat.StringValue
: undefined;

let fileFormat;
if (
!isNullOrUndefined(fileFormatName) &&
IgnoreFormats.indexOf(fileFormatName) === -1
) {
fileFormat = (
<div className="display-inline">
{fileFormatName.toUpperCase()}
<div className="file-format-divider-wrapper">
<div className="file-format-divider" />
</div>
</div>
);
}
let sourceLink;
let isYTVideo = 'ytauthor' in attributes;

// BobS: Modified to enable link to PCA Call Analysis, using Uri containied in document attribute
// const uri = queryResultItem.DocumentURI;
let uri;
let label;
const pcaCallAnalysisUri = _.get(attributes, "ANALYSIS_URI.StringValue");
if (pcaCallAnalysisUri) {
uri = pcaCallAnalysisUri;
label = "Open Call Analysis";
} else {
uri = queryResultItem.DocumentURI;
label = uri;
}

if (uri && !_.isEmpty(uri)) {
sourceLink = (
<div className="display-inline action-link">
<a
href={uri}
onClick={this.submitClickFeedback}
target="_blank"
rel="noopener noreferrer"
>
{truncateString(label!, MAX_URI_LENGTH)}
</a>
</div>
);
}

return (
<div className="result-footer">
<div className="footer-left-text">
{fileFormat}
{sourceLink}
</div>
<Feedback
queryResultItem={queryResultItem}
submitFeedback={submitFeedback}
/>
</div>
);
}
}
Loading

0 comments on commit b9089b5

Please sign in to comment.