Skip to content
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

Implement ACCESS resource catalog #14

Merged
merged 118 commits into from
Dec 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
118 commits
Select commit Hold shift + click to select a range
c0a354b
feat(resource-catalog): add catalog and carousel components
yomatters Jun 7, 2024
f47a3ba
feat(resource-catalog): add resource groups and tags
yomatters Jun 11, 2024
3a9965e
feat(resource-catalog): add tags and filtering
yomatters Jun 14, 2024
a490306
feat(resource-catalog): add filtering by tag
yomatters Jun 18, 2024
db73d79
feat(resource-catalog): add filter reset button
yomatters Jun 20, 2024
a006f4e
feat(resource-catalog): add resource group description component
yomatters Jun 20, 2024
2cbfe38
fix(resource-catalog): allow body to be longer than browser height
yomatters Jun 20, 2024
fe44c53
refactor(resource-catalog): load icons from Bootstrap Icons CSS
yomatters Jun 20, 2024
b1963ae
feat(resource-catalog): add filter icon
yomatters Jun 20, 2024
3c6615c
refactor(api): remove unused resources data
yomatters Jun 26, 2024
c3d5257
build(vite): disable library mode for prototype builds
yomatters Jun 26, 2024
4309bb8
feat(index): add warning banner with link to production catalog
yomatters Jun 26, 2024
628b5fc
ci(build-deploy-pages): add workflow to build and deploy to GitHub Pages
yomatters Jun 26, 2024
e12d79e
feat(resource-catalog): add support for custom base URI
yomatters Jun 26, 2024
c1f4533
ci(build-deploy-pages): copy index to 404 page
yomatters Jun 26, 2024
664bce5
refactor(api): update mock API structure
yomatters Jun 28, 2024
8665dd5
feat(resource-catalog): add node details
yomatters Jun 28, 2024
3c639cf
feat(resource-catalog): add software list to resource group detail page
yomatters Jul 11, 2024
2e8f0e6
feat(search): add clear button
yomatters Jul 12, 2024
6f4da60
feat(resource-catalog): add queue metrics component
yomatters Jul 12, 2024
b3a4b5f
feat(resource-group-queue-metrics): support multiple time periods
yomatters Jul 17, 2024
c1a32b4
feat(resource-group-events): add events and announcements
yomatters Aug 20, 2024
af0cefa
refactor(section): use section component in resource group children
yomatters Aug 20, 2024
1c1be21
fix(grid): remove buggy auto-scroll feature
yomatters Aug 21, 2024
43204c5
feat(section-navigation): add section navigation component
yomatters Aug 21, 2024
91570a4
feat(resource-group-affinity-group): add affinity group component
yomatters Aug 21, 2024
28ba672
feat(resource-group-projects): add charts for project statistics
yomatters Aug 21, 2024
c3069b9
feat(resource-group-documentation): add list of documentation links
yomatters Aug 21, 2024
4c12099
feat(resource-group-discussion): add discussion topics component
yomatters Aug 21, 2024
5c7ef8a
fix(section-navigation): set font size and line height
yomatters Aug 21, 2024
70ec29d
fix(donut-chart): reset the active index when the items change
yomatters Aug 21, 2024
8cc5bce
Initial CiDeR Resource Group design and sample information
jpnavarro Aug 29, 2024
ad3e9a7
Improve the README
jpnavarro Aug 29, 2024
da9e685
Fix type
jpnavarro Aug 29, 2024
8948de8
Improve README
jpnavarro Aug 30, 2024
35274e5
Improvements
jpnavarro Aug 30, 2024
9469516
refactor(resource-catalog): replace resource group ID with info group ID
yomatters Sep 19, 2024
fec69cd
build: update Vite to fix dev server reload
yomatters Sep 20, 2024
e69937d
feat(resource-group-projects): use real project statistics
yomatters Sep 20, 2024
c618fcd
feat(mini-bar): add mini bar chart component
yomatters Sep 20, 2024
d1b5dd3
feat(resource-group-projects): use grid with mini bar for displaying …
yomatters Sep 20, 2024
32d7574
Merge pull request #1 from access-ci-org/resource-catalog-data-integr…
yomatters Sep 20, 2024
69ca731
refactor(resource-group-description): use affinity group API data for…
yomatters Oct 9, 2024
bd84903
feat(resource-group-affinity-group): make links active
yomatters Oct 9, 2024
dd0c8ab
feat(utils): improve error handling while parsing JSON
yomatters Oct 9, 2024
8227e26
feat(resource-group-documentation): get data from Support knowledge b…
yomatters Oct 9, 2024
a1052ca
chore: remove debug logging
yomatters Oct 9, 2024
82e86ce
feat(resource-group-events): get data from affinity group events API
yomatters Oct 9, 2024
1413241
feat(resource-group-discussion): use data from the Ask.CI API
yomatters Oct 15, 2024
46fc4f5
feat(resource-group-software): load software data from SDS API
yomatters Oct 21, 2024
9c83113
feat(resource-group-description): link Get Started button to Allocati…
yomatters Oct 23, 2024
3c34ce1
feat(resource-group-events): filter events to include only future events
yomatters Oct 23, 2024
60f9dd0
feat(resource-home): use resource group data exported from CIDeR
yomatters Oct 23, 2024
aac7aa6
fix(resource-filters): fix vertical alignment of dropdown menu
yomatters Oct 23, 2024
35f4b17
feat(resource-pathways): add pathways buttons
yomatters Oct 23, 2024
a41234c
perf(resource-group-events): use events API version 1.1
yomatters Oct 28, 2024
ef6c765
perf(utils): optionally cache JSON responses
yomatters Oct 28, 2024
a351040
feat(resource-group-events): use announcement data from the Operation…
yomatters Oct 28, 2024
f12d16f
feat(utils): allow useJSON to accept multiple URIs
yomatters Oct 30, 2024
3bc9079
feat(resource-catalog): use group data from the Operations API
yomatters Oct 30, 2024
1ec9973
refactor(utils): consolidate logic for getting resource group data
yomatters Oct 30, 2024
a66ed72
refactor(resource-home): move helper functions to utils
yomatters Oct 31, 2024
ee422fc
refactor(utils): include linked data in resource group hooks
yomatters Oct 31, 2024
4bac6f0
feat(resource-group-description): use CIDeR resource group data
yomatters Oct 31, 2024
096778b
feat(resource-group-detail): use resource data from CIDeR
yomatters Nov 1, 2024
67711a0
fix(section-navigation): hide for fewer than two sections
yomatters Nov 1, 2024
199e605
feat(resource-group-hardware): add OS and batch system to specs table
yomatters Nov 1, 2024
2403248
fix: update resource providers link
yomatters Nov 1, 2024
ea84e5e
feat(resource-group-queue-metrics): use overview data from XDMoD
yomatters Nov 4, 2024
1da49d8
chore(resource-catalog): use developent version of Support API
yomatters Nov 4, 2024
d04b882
feat(resource-news): add resource headlines to catalog
yomatters Nov 5, 2024
66dc1e0
fix(style): fix mobile style bugs
yomatters Nov 5, 2024
b51aeac
feat(utils): use organization and feature data from CIDeR
yomatters Nov 5, 2024
e25b2bd
fix(tags): sort tags by name
yomatters Nov 5, 2024
308c265
feat(tags): prevent long tags from wrapping
yomatters Nov 5, 2024
a442135
feat(tags): sort tag categories by name
yomatters Nov 5, 2024
6c2b2ac
Merge branch 'resource-catalog' into resource-catalog-updated-branding
yomatters Nov 5, 2024
8e34ed6
fix(resource-group-software): fix usage example link and version spacing
yomatters Nov 11, 2024
114912b
feat(resource-group-queue-metrics): remove CORS proxy
yomatters Nov 14, 2024
294bb73
Revert "feat(resource-group-queue-metrics): remove CORS proxy"
yomatters Nov 14, 2024
99a4f6f
feat(resource-group-queue-metrics): remove CORS proxy
yomatters Nov 14, 2024
f3c8e4c
fix: use production URLs for Support APIs
yomatters Nov 15, 2024
8fed68f
refactor(resource-catalog): remove unused base URI props
yomatters Nov 18, 2024
37620ce
fix(resource-group-discussion): remove CORS proxy for Ask.CI API
yomatters Nov 18, 2024
9295650
feat(resource-group-queue-metrics): add detail charts
yomatters Nov 19, 2024
ee0986b
feat(resource-group-queue-metrics): improve formatting of overview me…
yomatters Nov 19, 2024
f861191
feat(resource-group-detail): move documentation up in order
yomatters Nov 19, 2024
f82685b
fix(utils): use favicon URL field from CIDeR
yomatters Nov 21, 2024
2f4cfc6
feat(resource-group-projects): replace statistics with recent project…
yomatters Dec 2, 2024
a49d33e
feat(resource-catalog): render using shadow DOM
yomatters Dec 2, 2024
ff3de37
fix(resource-catalog): include icon CSS in parent DOM
yomatters Dec 2, 2024
aba2256
feat(resource-catalog): remove resources path element
yomatters Dec 2, 2024
0e53090
chore(vite): re-enable production builds
yomatters Dec 2, 2024
25dd080
ci(create-release): allow releases from the resource catalog branch
yomatters Dec 2, 2024
bef34ca
ci(build-deploy-pages): disable library config for staging builds
yomatters Dec 2, 2024
2386caf
ci(create-release): set target branch for Release Please action
yomatters Dec 2, 2024
2df5c15
chore: release 0.5.0-beta1
yomatters Dec 2, 2024
2e5ddcb
fix(section-navigation): fix navigation in shadow DOM
yomatters Dec 3, 2024
30ae827
fix(resource-group-affinity-group): use affinity group URL from API
yomatters Dec 4, 2024
4934a14
fix(resource-group-discussion): get category ID from affinity group API
yomatters Dec 4, 2024
0804316
chore(resource-catalog): release 0.5.0-beta1
github-actions[bot] Dec 4, 2024
4d15016
Merge pull request #11 from access-ci-org/release-please--branches--r…
yomatters Dec 4, 2024
1cc6df0
fix(resource-catalog): allow base component props to be overriden
yomatters Dec 4, 2024
34640ab
chore: release 0.5.0-beta2
yomatters Dec 6, 2024
dadf3e9
chore(resource-catalog): release 0.5.0-beta2
github-actions[bot] Dec 6, 2024
7e0fbcf
Merge pull request #12 from access-ci-org/release-please--branches--r…
yomatters Dec 6, 2024
a734add
feat(resource-group): place learn more link on a new line
yomatters Dec 6, 2024
4150578
feat(resource-pathways): temporarily replace headlines with news link
yomatters Dec 9, 2024
4bbb215
feat(resource-catalog): add support for other-type resources
yomatters Dec 12, 2024
c8428d5
feat(resource-group-description): link RP name to RP website on resou…
yomatters Dec 12, 2024
5d072a6
feat(resource-group-description): show user guide button if available
yomatters Dec 12, 2024
1cc7289
fix(info-tip): fix style in shadow DOM
yomatters Dec 12, 2024
8a56d0c
feat(breadcrumbs): add breadcrumbs component
yomatters Dec 13, 2024
0e2b050
perf(utils): avoid fetching the same URL multiple times
yomatters Dec 13, 2024
a4b36d2
chore: release 0.5.0-beta3
yomatters Dec 13, 2024
f377b7d
chore(resource-catalog): release 0.5.0-beta3
github-actions[bot] Dec 13, 2024
2dab147
Merge pull request #13 from access-ci-org/release-please--branches--r…
yomatters Dec 13, 2024
530c256
docs: list breadcrumbs and resource catalog
yomatters Dec 16, 2024
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 .env
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
VITE_SDS_API_KEY=z0CiQbts8t4pnv6fJQD4g9nskbCOl6UD-67akYK68wk
50 changes: 50 additions & 0 deletions .github/workflows/build-deploy-pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Build and Deploy to Pages

on:
push:
branches:
- "resource-catalog"

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: "pages"
cancel-in-progress: false

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install dependencies
run: npm ci
- name: Build project
run: npm run build -- --mode=staging
env:
VITE_SDS_API_KEY: ${{ secrets.VITE_SDS_API_KEY }}
- name: Copy index to 404 page
run: cp dist/index.html dist/404.html
- name: Setup Pages
uses: actions/configure-pages@v5
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: "dist"
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
2 changes: 2 additions & 0 deletions .github/workflows/create-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
push:
branches:
- main
- resource-catalog

jobs:
release:
Expand All @@ -22,6 +23,7 @@ jobs:
uses: googleapis/release-please-action@v4
with:
release-type: node
target-branch: ${{ github.ref_name }}

build-publish:
name: Build and publish module
Expand Down
265 changes: 265 additions & 0 deletions CHANGELOG.md

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,11 @@ The library includes functions for rendering common ACCESS user interface compon
- `universalMenus`: Universal navigation menus
- `header`: Logo header
- `siteMenus`: Site-specific navigation menus
- `breadcrumbs`: Breadcrumb navigation
- `tableOfContents`: Page table of contents
- `footerMenus`: Site-specific navigation menus above the footer
- `footer`: Universal footer
- `resourceCatalog`: ACCESS resource catalog

## Example

Expand Down
90 changes: 13 additions & 77 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,37 +4,23 @@
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="color-scheme" content="light" />
<title>ACCESS CI User Interface Components</title>
<title>ACCESS Resource Catalog Development Prototype</title>
<link
rel="stylesheet"
id="google-font-archivo-css"
href="https://fonts.googleapis.com/css2?family=Archivo:ital,wdth,wght@0,70,400;0,100,400;0,100,500;0,100,600;0,100,700;0,100,800;1,100,400&amp;display=swap"
media="all"
/>
<link rel="stylesheet" href="/src/base.css" />
<link rel="stylesheet" href="/src/icon.css" />
<style>
body {
color: #232323;
font-family: "Archivo", sans-serif;
height: 100vh;
margin: 0;
min-height: 100vh;
padding: 0;
}
h1 {
font-size: 36px;
font-stretch: 70%;
font-weight: 500;
margin-top: 60px;
}
h2 {
font-size: 24px;
font-weight: 700;
margin: 36px 0 150px;
}
#table-of-contents {
margin-bottom: 50px;
margin-top: 60px;
}
@media (min-width: 768px) {
#main {
display: flex;
Expand All @@ -45,6 +31,11 @@
margin-left: 20px;
width: calc((var(--width) - 140px) / 4 + 20px);
}
#banner {
background-color: #fff3cd;
color: #856404;
padding: 12px calc((100% - var(--width)) / 2);
}
}
</style>
</head>
Expand All @@ -54,89 +45,34 @@
<div id="site-menus"></div>
<div id="main" class="container">
<div id="body">
<h1>Page Title</h1>
<h2>First Section</h2>
<h2>Second Section</h2>
<h2>Third Section</h2>
<div id="resource-catalog"></div>
</div>
<div id="table-of-contents"></div>
</div>
<div id="footer-menus"></div>
<div id="footer"></div>
<script type="module">
import {
footer,
footerMenus,
header,
siteMenus,
resourceCatalog,
tableOfContents,
universalMenuItems,
universalMenus,
} from "/src/index.jsx";

const siteItems = [
{
name: "One",
items: [
{
name: "Item A",
href: "/one/a",
},
{
name: "Item B",
href: "/one/b",
},
{
name: "Item C",
href: "/one/c",
},
],
},
{
name: "Two",
items: [
{
name: "Item A",
href: "/two/a",
},
{
name: "Item B",
href: "/two/b",
},
],
},
{
name: "Three",
href: "/three",
},
];

universalMenus({
loginUrl: "/login",
logoutUrl: "/logout",
siteName: "Allocations",
target: document.getElementById("universal-menus"),
});

header({
siteName: "Allocations",
target: document.getElementById("header"),
});

siteMenus({
items: siteItems,
siteName: "Allocations",
target: document.getElementById("site-menus"),
});

tableOfContents({
headings: document.querySelectorAll("#body h1, #body h2"),
target: document.getElementById("table-of-contents"),
});

footerMenus({
items: siteItems,
target: document.getElementById("footer-menus"),
resourceCatalog({
baseUri: "/access-ci-ui",
target: document.getElementById("resource-catalog"),
});

footer({ target: document.getElementById("footer") });
Expand Down
Loading
Loading