Skip to content

Support for specs version 1.0-draft #96

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 41 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
336ab5c
Changed the reconciliation service request method to post,added the r…
AbhishekPAnil Apr 24, 2024
6a11dc3
Merge pull request #2 from culturecreates/1-reconciliation-test-bench…
saumier Apr 24, 2024
bb44e7d
Node engine version added to package json
AbhishekPAnil Apr 25, 2024
1386b6f
Merge pull request #3 from culturecreates/1-reconciliation-test-bench…
saumier Apr 25, 2024
ca69b9b
set node to v20 for engines and test matrix
saumier Apr 25, 2024
64414a9
bumped to v0.2.0
saumier Apr 25, 2024
c3edc00
added multilingual display support for name and description
AbhishekPAnil Jul 5, 2024
2aba495
added styling for title and literal tags
AbhishekPAnil Jul 5, 2024
edd32cb
modified formulateQuery function to support latest manifest version also
AbhishekPAnil Jul 5, 2024
a32f305
created a constant to store manifest versions
AbhishekPAnil Jul 5, 2024
d1a33ec
modified post function to add payload and content type depending on t…
AbhishekPAnil Jul 5, 2024
7086465
manifest version variable changed
AbhishekPAnil Jul 5, 2024
7fb4041
manifest version variable removed
AbhishekPAnil Jul 5, 2024
d7dd540
Merge remote-tracking branch 'upstream/master' into enhancement/issue-13
AbhishekPAnil Jul 5, 2024
9678e65
updated the package lock
AbhishekPAnil Jul 5, 2024
cdcb931
Merge pull request #5 from culturecreates/enhancement/issue-13
AbhishekPAnil Jul 9, 2024
a3434e0
chore: added draft 1.0
AbhishekPAnil Sep 26, 2024
eb8673d
Merge pull request #7 from culturecreates/task/issue-6
saumier Sep 30, 2024
679a583
Merge branch 'master' of github.com:reconciliation-api/testbench
AbhishekPAnil Oct 10, 2024
9f0e66f
updated the package lock json
AbhishekPAnil Oct 10, 2024
803b5a0
fix: added version change
AbhishekPAnil Nov 5, 2024
7163d17
Merge pull request #9 from culturecreates/bugfix/issue-13
saumier Nov 7, 2024
d046f82
chore: schemas updates
AbhishekPAnil Nov 12, 2024
ccd0c1d
chore: closes #10
AbhishekPAnil Nov 12, 2024
e22b719
Merge pull request #11 from culturecreates/task/issue-10
saumier Nov 12, 2024
142a3dc
chore: updated json schema from latest spec repo
AbhishekPAnil May 15, 2025
9c3306e
feat: undone the literal changes for name and description
AbhishekPAnil May 15, 2025
c61aae4
feat: added content language for match service
AbhishekPAnil May 15, 2025
e1b7fee
Merge pull request #12 from culturecreates/task/issue-26
saumier May 22, 2025
7bc6850
feat: added support for user input intended language
AbhishekPAnil May 26, 2025
91a669d
feat: changed the label
AbhishekPAnil May 26, 2025
9ba2884
refactor: removed unused css
AbhishekPAnil May 26, 2025
17b3eb2
fix: limit changed to number
AbhishekPAnil May 27, 2025
6624842
Merge pull request #14 from culturecreates/feature/issue-13
saumier May 29, 2025
91d4d5e
chore: added version conditional rendering
AbhishekPAnil Jun 5, 2025
81a01f2
refactor: object naming
AbhishekPAnil Jun 5, 2025
e286af7
chore: added conditional rendering
AbhishekPAnil Jun 5, 2025
eae7a17
chore: maintained get url
AbhishekPAnil Jun 5, 2025
df82912
chore: remove the conditional rendering for latest version
AbhishekPAnil Jun 9, 2025
e36352d
chore: romved the latest heading design change
AbhishekPAnil Jun 9, 2025
49e4eae
Merge pull request #21 from culturecreates/task/issue-16
AbhishekPAnil Jun 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -4,6 +4,7 @@
/node_modules
/.pnp
.pnp.js
/.vscode

# testing
/coverage
11 changes: 4 additions & 7 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

143 changes: 87 additions & 56 deletions src/Candidate.js
Original file line number Diff line number Diff line change
@@ -1,60 +1,91 @@

import React from 'react';
import Badge from 'react-bootstrap/lib/Badge';
import ListGroupItem from 'react-bootstrap/lib/ListGroupItem';
import React from "react";
import Badge from "react-bootstrap/lib/Badge";
import ListGroupItem from "react-bootstrap/lib/ListGroupItem";

export default class Candidate extends React.Component {
get url() {
let view = null;
let manifest = this.props.manifest;
if (
"view" in manifest &&
"url" in this.props.manifest.view &&
"id" in this.props.candidate
) {
view = this.props.manifest.view.url.replace(
"{{id}}",
this.props.candidate.id
);
}
return view;
}

renderDescription() {
const { candidate } = this.props;
const description = candidate?.description;

if (!description) return null;

return (
<div>
<div className="candidateField">Description</div>
<div className="candidateValue">{description}</div>
</div>
);
}

renderTypes() {
const types = this.props.candidate?.type;
if (!types) return null;

return (
<div>
<div className="candidateField">Types</div>
<div className="candidateValue">
{types.map((type, idx) => [
idx > 0 && ", ",
`${type.name} (${type.id})`,
])}
</div>
</div>
);
}

renderFeatures() {
const features = this.props.candidate?.features;
if (!features) return null;

return (
<div>
{features.map((feature, idx) => (
<div key={idx}>
<div className="candidateField">Feature {feature.id}</div>
<div className="candidateValue">{feature.value}</div>
</div>
))}
</div>
);
}

render() {
const { candidate } = this.props;

get url() {
let view = null;
let manifest = this.props.manifest;
if ('view' in manifest && 'url' in this.props.manifest.view && 'id' in this.props.candidate) {
view = this.props.manifest.view.url.replace('{{id}}', this.props.candidate.id);
}
return view;
}

renderDescription() {
let description = this.props.candidate.description;
if (description !== undefined) {
return (<div><div className="candidateField">Description</div><div className="candidateValue">{description}</div></div>);
}
}

renderTypes() {
let types = this.props.candidate.type;
if (types !== undefined) {
return (<div><div className="candidateField">Types</div><div className="candidateValue">
{types.map((type, idx) => [
idx > 0 && ", ",
type.name + ' (' + type.id + ')'
])}
</div></div>);
}
}

renderFeatures() {
let features = this.props.candidate.features;
if (features !== undefined) {
return (<div>
{features.map((feature, idx) =>
(<div key={idx}><div className="candidateField">Feature {feature.id}</div><div className="candidateValue">{feature.value}</div></div>)
)}
</div>);
}
}

render() {
let candidate = this.props.candidate;
return (<ListGroupItem key={candidate.id} header={candidate.name} active={candidate.match}>
<Badge style={{float: 'right'}}>{this.props.candidate.score}</Badge>
<div>
<div><div className="candidateField">ID</div><div className="candidateValue">
<a href={this.url}>{candidate.id}</a></div></div>
{this.renderDescription()}
{this.renderTypes()}
{this.renderFeatures()}
</div>
</ListGroupItem>);
}
return (
<ListGroupItem
key={candidate.id}
header={candidate.name}
active={candidate.match}
>
<Badge style={{ float: "right" }}>{candidate.score}</Badge>
<div>
<div className="candidateField">ID</div>
<div className="candidateValue">
<a href={this.url}>{candidate.id}</a>
</div>
{this.renderDescription()}
{this.renderTypes()}
{this.renderFeatures()}
</div>
</ListGroupItem>
);
}
}
Loading