Skip to content

[WIP] Add stacindex.org catalog browsing interface#1062

Merged
mfisher87 merged 36 commits intogeojupyter:geojupyter-dse-internsfrom
gaolinai8888:stac-browser-updated
Jan 23, 2026
Merged

[WIP] Add stacindex.org catalog browsing interface#1062
mfisher87 merged 36 commits intogeojupyter:geojupyter-dse-internsfrom
gaolinai8888:stac-browser-updated

Conversation

@gaolinai8888
Copy link
Contributor

@gaolinai8888 gaolinai8888 commented Jan 10, 2026

Description

Important

This PR is part of an intern project, and will not be merged in to main -- there's still some work to do that didn't fit in the time bounds of the internship before we can merge a generic stac catalog interface into the main branch. We'll merge it in to geojupyter-dse-interns branch for now!

This PR implements the catalog browsing and collection selection workflow for the STAC catalog. It enables users to recursively browse collections and subcollections, view selected collections, and display items within the Results tab using the existing results interface.

What this PR adds:

  • Retains support for selecting and browsing the Stac catalog using the current UI

  • Adds recursive collection browsing, allowing deeply nested subcollections

  • Enables selecting a collection, displaying the selected collection and subcollections, and displaying items from the selected collection in the Results tab

Checklist

  • PR has a descriptive title and content.
  • PR description contains references to any issues the PR resolves, e.g. Resolves #XXX.
  • PR has one of the labels: documentation, bug, enhancement, feature, maintenance
  • Checks are passing.
    Failing lint checks can be resolved with:
    • pre-commit run --all-files
    • jlpm run lint
  • If you wish to be cited for your contribution, CITATION.cff contains an author entry for yourself

📚 Documentation preview: https://jupytergis--1062.org.readthedocs.build/en/1062/
💡 JupyterLite preview: https://jupytergis--1062.org.readthedocs.build/en/1062/lite

@github-actions
Copy link
Contributor

Binder 👈 Launch a Binder on branch gaolinai8888/jupytergis/stac-browser-updated

@github-actions
Copy link
Contributor

github-actions bot commented Jan 10, 2026

Integration tests report: appsharing.space

@nakul-py nakul-py added the enhancement New feature or request label Jan 10, 2026
@mfisher87 mfisher87 changed the title Updated Stac Browser Tab Add stacindex.org catalog browsing interface Jan 10, 2026
@mfisher87 mfisher87 changed the base branch from main to geojupyter-dse-interns January 10, 2026 17:01
Copy link
Member

@mfisher87 mfisher87 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's really cool to see this in action and play with the new functionality! Thanks for your work.

I posted in our intern slack channel about how these comments are organized and guidance for addressing them!

"lib": ["ES2019", "WebWorker", "DOM"]
},
"esModuleInterop": true,
"resolveJsonModule": true
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Question: Why was this configuration removed? Is removing it necessary for this PR to work?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't recall removing it, and we don't think removing it is necessary for this PR to work.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't recall removing it, and removing it is not necessary for this PR to work.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK! In that case, please revert this change :)

Comment on lines 110 to 121
<TabsList className="w-full grid grid-cols-2 mb-2 px-2 mt-2">
<TabsTrigger value="filters" className="text-xs">
{isGenericMode ? 'Browser' : 'Filters'}
</TabsTrigger>
<TabsTrigger value="results" className="text-xs">
Results ({activeTotalResults})
</TabsTrigger>
</TabsList>
<TabsContent
value="filters"
className="flex-1 overflow-hidden flex flex-col h-full px-2"
>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Quality: I think we can restore the original styles, classes, and other attributes like defaultValue on these components. I think the removal of the original classes is why the selected tab doesn't have an underline like it does in the currently-released version of JupyterGIS!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! I want to look on my end to see if the underlining of the selected tab is fixed before marking this resolved.

@gaolinai8888
Copy link
Contributor Author

@mfisher87 Hey Matt, we are done addressing each comment.

@nakul-py nakul-py requested a review from mfisher87 January 15, 2026 10:08
Copy link
Collaborator

@nakul-py nakul-py left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here are some Ready to commit changes to fix linting issues.

@mfisher87
Copy link
Member

mfisher87 commented Jan 16, 2026

Great job with the comments so far. I've left responses for some, and marked the rest resolved. After addressing the responses above, we still need to get all the checks to green ✔️ !

As @nakul-py noted the only failing job is the lint job. Linting ensures that our codebase uses consistent patterns and formatting, and the process is mostly automatic. Please either use the GitHub interface to accept and commit the suggestions from Nakul's review, and/or use the jlpm run lint command to run linting locally. It will update some files automatically, so you'll need to commit those changes and push them to the PR branch!

gaolinai8888 and others added 10 commits January 17, 2026 20:45
Co-authored-by: Nakul Verma <nakulverma.py@gmail.com>
Co-authored-by: Nakul Verma <nakulverma.py@gmail.com>
Co-authored-by: Nakul Verma <nakulverma.py@gmail.com>
Co-authored-by: Nakul Verma <nakulverma.py@gmail.com>
Co-authored-by: Nakul Verma <nakulverma.py@gmail.com>
Co-authored-by: Nakul Verma <nakulverma.py@gmail.com>
Co-authored-by: Nakul Verma <nakulverma.py@gmail.com>
Co-authored-by: Nakul Verma <nakulverma.py@gmail.com>
Co-authored-by: Nakul Verma <nakulverma.py@gmail.com>
Co-authored-by: Nakul Verma <nakulverma.py@gmail.com>
@nakul-py
Copy link
Collaborator

Triggering CI to run Checks again.

@nakul-py
Copy link
Collaborator

nakul-py commented Jan 18, 2026

@gaolinai8888 As Matt suggests earlier you can also fix the import order lint issues by using the jlpm run lint command to run linting locally. After this i think all checks should be green 🤔.

"lib": ["ES2019", "WebWorker", "DOM"]
},
"esModuleInterop": true,
"resolveJsonModule": true
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't recall removing it, and we don't think removing it is necessary for this PR to work.

@gaolinai8888
Copy link
Contributor Author

@mfisher87 Hey Matt, we successfully completed the lint check and addressed the other comments too.

@mfisher87 mfisher87 changed the title Add stacindex.org catalog browsing interface [WIP] Add stacindex.org catalog browsing interface Jan 22, 2026
@mfisher87
Copy link
Member

Thanks! There's still one outstanding comment: https://github.com/geojupyter/jupytergis/pull/1062/files#r2696801641

@mfisher87 mfisher87 merged commit 5e14ad7 into geojupyter:geojupyter-dse-interns Jan 23, 2026
13 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants