Skip to content
Snippets Groups Projects
Commit b77c554c authored by Olivier Goulet's avatar Olivier Goulet
Browse files

refactor: use independent widget from eclipsefdn-projects

parent 41fa3410
No related tags found
No related merge requests found
...@@ -47,7 +47,7 @@ container: "container-fluid" ...@@ -47,7 +47,7 @@ container: "container-fluid"
{{< grid/section-container id="projects" class="row-gray padding-top-40 padding-bottom-40" isMarkdown="false" >}} {{< grid/section-container id="projects" class="row-gray padding-top-40 padding-bottom-40" isMarkdown="false" >}}
<h2 class="text-center margin-bottom-40">The Eclipse Foundation is a Partner in these Projects</h2> <h2 class="text-center margin-bottom-40">The Eclipse Foundation is a Partner in these Projects</h2>
{{< eclipsefdn_projects is_static_source="true" types="projects" url="/research/projects/index.json" templateId="tpl-projects-item-research" display_view_more="false" >}} <ul class="eclipsefdn-research-projects list-inline"></ul>
{{</ grid/section-container >}} {{</ grid/section-container >}}
{{< pages/research/collaboration-section >}} {{< pages/research/collaboration-section >}}
......
...@@ -15,10 +15,13 @@ ...@@ -15,10 +15,13 @@
import 'eclipsefdn-solstice-assets/js/astro'; import 'eclipsefdn-solstice-assets/js/astro';
import './src/blogs-and-videos'; import './src/blogs-and-videos';
import eclipsefdnFeaturedProjectCommitter from './src/featured-projects-committer';
import './src/collaborations/eclipsefdn.rollover-link'; import './src/collaborations/eclipsefdn.rollover-link';
import './src/collaborations/eclipsefdn.weighted-working-groups'; import './src/collaborations/eclipsefdn.weighted-working-groups';
import './src/eclipsefdn-promo-content' import './src/eclipsefdn-promo-content'
import './src/research/projects-section'; import './src/research/projects-section';
import eclipsefdnFeaturedProjectCommitter from './src/featured-projects-committer';
import eclipsefdnResearchProjects from './src/research/research-projects';
eclipsefdnFeaturedProjectCommitter.render(); eclipsefdnFeaturedProjectCommitter.render();
eclipsefdnResearchProjects.render();
import renderTemplate from 'eclipsefdn-solstice-assets/js/solstice/templates/render-template';
import defaultTemplate from '../templates/research/tpl-projects-item-research.mustache';
import { transformSnakeToCamel } from 'eclipsefdn-solstice-assets/js/api/utils';
/** Fetches research projects */
const getResearchProjects = async () => {
try {
const response = await fetch('/research/projects/index.json');
const data = await response.json();
const researchProjects = data.map(transformSnakeToCamel);
return [researchProjects, null];
} catch (error) {
return [null, error];
}
};
/** Renders the research projects widget */
const render = async () => {
const element = document.querySelector('.eclipsefdn-research-projects');
if (!element) return;
const [researchProjects, error] = await getResearchProjects();
if (error) {
element.innerHTML = `<div class="alert alert-danger">Research projects could not be loaded.</div>`
}
await renderTemplate({
element,
templates: { default: defaultTemplate },
templateId: 'default',
data: {
items: researchProjects,
},
});
};
export default { render };
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div class="featured-projects-item tpl-projects-research match-height-item-by-row" data-mh="m-header"> <div class="featured-projects-item tpl-projects-research match-height-item-by-row" data-mh="m-header">
<div class="featured-projects-item-category category labels">{{ name }}</div> <div class="featured-projects-item-category category labels">{{ name }}</div>
<div class="featured-projects-item-content"> <div class="featured-projects-item-content">
<a href="{{ website_url }}" class="link"> <a href="{{ websiteUrl }}" class="link">
<img class="featured-projects-item-img img-responsive logo logo_alt" alt="{{ name }}" src="{{ logo }}" height="40"> <img class="featured-projects-item-img img-responsive logo logo_alt" alt="{{ name }}" src="{{ logo }}" height="40">
</a> </a>
<div class="featured-projects-item-text"> <div class="featured-projects-item-text">
...@@ -12,12 +12,12 @@ ...@@ -12,12 +12,12 @@
</div> </div>
<div class="details"> <div class="details">
<div class="featured-projects-website-url"> <div class="featured-projects-website-url">
<a href="{{ website_url }}">Read More</a> <a href="{{ websiteUrl }}">Read More</a>
<span class="featured-projects-website-url-bar"></span> <span class="featured-projects-website-url-bar"></span>
</div> </div>
{{#project_topic}} {{#projectTopic}}
<p>Main topic: <strong>{{ project_topic }}</strong></p> <p>Main topic: <strong>{{ projectTopic }}</strong></p>
{{/project_topic}} {{/projectTopic}}
</div> </div>
</div> </div>
</li> </li>
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
"dependencies": { "dependencies": {
"datatables.net-dt": "^1.13.1", "datatables.net-dt": "^1.13.1",
"eclipsefdn-hugo-solstice-theme": "0.0.210", "eclipsefdn-hugo-solstice-theme": "0.0.210",
"eclipsefdn-solstice-assets": "^0.0.260",
"js-yaml": "^3.13.1", "js-yaml": "^3.13.1",
"json-minify": "^1.0.0" "json-minify": "^1.0.0"
}, },
......
...@@ -2673,7 +2673,7 @@ eclipsefdn-hugo-solstice-theme@0.0.210: ...@@ -2673,7 +2673,7 @@ eclipsefdn-hugo-solstice-theme@0.0.210:
json2yaml "^1.1.0" json2yaml "^1.1.0"
toml "^3.0.0" toml "^3.0.0"
eclipsefdn-solstice-assets@0.0.260: eclipsefdn-solstice-assets@0.0.260, eclipsefdn-solstice-assets@^0.0.260:
version "0.0.260" version "0.0.260"
resolved "https://registry.yarnpkg.com/eclipsefdn-solstice-assets/-/eclipsefdn-solstice-assets-0.0.260.tgz#4916fd7e812584cbe1ec8080c3fc4d3949f4fa71" resolved "https://registry.yarnpkg.com/eclipsefdn-solstice-assets/-/eclipsefdn-solstice-assets-0.0.260.tgz#4916fd7e812584cbe1ec8080c3fc4d3949f4fa71"
integrity sha512-eI5G8gUVa7Uz7ajCkjcfhAEa1yQwWGp6mWi8lMEiTONu1fIsZ5NLdN1aK+UQb5rbOfX3zESx2NOa/PgheCyZRw== integrity sha512-eI5G8gUVa7Uz7ajCkjcfhAEa1yQwWGp6mWi8lMEiTONu1fIsZ5NLdN1aK+UQb5rbOfX3zESx2NOa/PgheCyZRw==
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment