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

color range slider revert correction #1278

Closed
wants to merge 112 commits into from

Conversation

snmln
Copy link
Contributor

@snmln snmln commented Nov 27, 2024

Related Ticket: {link related ticket here}

Description of Changes

{Update with description of changes made in this pull request}

Notes & Questions About Changes

{Add additonal notes and outstanding questions here related to changes in this pull request}

Validation / Testing

{Update with info on what can be manually validated in the Deploy Preview link for example "Validate style updates to selection modal do NOT affect cards"}

j08lue and others added 30 commits March 15, 2024 14:05
make steps appear in report, use better locators and validators, add expectations verbose, ...
This reverts commit 233a31c, reversing
changes made to 46e1c5d.
…mpty (#1218)

**Related Ticket:** #1028 

### Description of Changes
- It turns out that there are datasets (such as globalscope bluetarp)
that should not have any titiler parameters.
Bluetarp data from stac backend:
https://staging.openveda.cloud/api/stac/collections/blue-tarp-planetscope

### Notes & Questions About Changes
This makes me wonder about if we can validate anything about render
parameters - ex. When there is no render parameter at all from stac
back-end points, is there any way to be sure that this dataset is meant
to be without render parameters ? - Tagging @smohiudd for this question.

### Testing
Test this branch with veda-config's globalscope bluetarp dataset.
You can find VEDA Dashboard preview link to test these changes:
NASA-IMPACT/veda-config#470

## 🎉 Features
- Cookie consent component:
#1163,
#1165,
#1127,
#1177
- Stories Hub export in #1162
- Expose As Is - PageHeader, LinkElement Prop & Logo in
#1184
## 🚀 Improvements

- Add docs for registry dev in
#1169
- Timeline date selection centering functionality in
#1181
- Deprecate old explore page, Mapbox component
#1176
- Update doc with new diagrams about general architecture in
#1195
-  Add playwright in #1139
- Pre-select AOIs that have the "selected" prop set to true in
#1215
- 
## 🐛 Fixes
- Check dastaset analysis exclude attribute before running analysis in
#1175
- Restrict dynamic colormaps to applicable layer types in
#1183
- Fix external link badge display for tools hosted under the same domain
in #1192
- Escape special characters in regex expression when searching datasets
in #1204


### New Contributors
* @snmln made their first contribution in
#1127
* @AliceR made their first contribution in
#1204
**Related Ticket:** _{link related ticket here}_

### Description of Changes
We want to run the github playwright step only on branches whose name
start with `release`.

### Notes & Questions About Changes
_{Add additonal notes and outstanding questions here related to changes
in this pull request}_

### Validation / Testing
_{Update with info on what can be manually validated in the Deploy
Preview link for example "Validate style updates to selection modal do
NOT affect cards"}_
in .prettierrc. Also, added the typescript parser as override for .ts/.tsx files, which finally enabled me to correctly lint the typescript files.
just a one line change to the style guide docs
Enable prettier for .ts/.tsx files, but only warn. Also, keep prettier rules in a single location in .prettierrc, and add the typescript parser as override for .ts/.tsx files, which finally enabled me to correctly lint the typescript files.
**Related Ticket:** #1207

### Description of Changes
So far, added a first test for the scenario "User selects a pre-defined
AOI". I'm adding some `data-testid` properties to relevant dom elements
in order to select them in the test.

Also, added some documentation on how to run the tests. @hanbyul-here if
you want to try that on your machine, and let me know if it works?

### Notes & Questions About Changes
more tests to be added

### Validation / Testing
Follow the instructions added to the SETUP.md guide to run the tests
locally. See if they pass!
sandrahoang686 and others added 27 commits November 11, 2024 15:45
## 🎉 Features
* Card image/description independent of hero image/description by
@dzole0311 in #1244

## 🚀 Improvements
* Cookie consent code cleanup by @snmln in
#1199 , and @hanbyul-here in
#1240 , and @hanbyul-here in
#1241
* Add ADR about design system change by @j08lue in
#890
* Update condition to run playwright tests on release branches by
@dzole0311 in #1228
* Update STYLE_GUIDE.md by @AliceR in
#1227
* Fix lint configuration by @AliceR in
#1219
* Add tests for the AOI feature specification by @AliceR in
#1216
* Set data catalog filters to be closed by default by @vgeorge in
#1243
* Update tsconfig and make nav interfaces exposable for consumption by
@sandrahoang686 in #1223

## 🐛 Fixes
* Hotfix to hide the external link badge from cards by @dzole0311 in
#1231

## New Contributors
* @vgeorge made their first contribution in
#1243

**Full Changelog**:
v5.9.0...v5.10.0
**Related Ticket:** #1154

### Description of Changes
* Fixed to have changes from
https://github.com/NASA-IMPACT/veda-ui/pull/1231/files# which I
accidentally removed when resolving conflicts in main feature branch
* Remove `onClick` from `LinkProperties`
* When something is a link, it doesn't need an onClick event... The
onClick event should be placed on the `Card` Component instead of link
props
* LinkProperties should not be required for the card component. Only
when the card re-routes would it need the linkProperties. For example,
cards on the dataset selector modal dont re-route and we shouldn't have
to pass in linkProps
* Remove try/catch around aoi area/point selection logic and into local
state with useEffect

### Note
Built `v5.9.1-ea.0` off of these changes
Update: Bulit `v5.9.1-ea.1` has been built

### Validation / Testing
* Please make sure Dataset Layer Selection modal and E&A works as
expected
* Please make sure all cards in the dashboard are working as expected
* Make sure external cards link externally and have the external badge
   * Make sure internal cards link internally correctly
   * Make sure Dataset Layer Selection modal selects cards as expected

**NextJs Preview with updated version:**
developmentseed/next-veda-ui#4
**Related Ticket:** #902

### Description of Changes
**Related NextJs PR/Branch:**
developmentseed/next-veda-ui#4

**GHG Preview** with this branch pulled in generated here =>
US-GHG-Center/veda-config-ghg#659

**Iteration 1** - Issue
#902, changes by
@sandrahoang686
* Exposed `ExplorationAndAnalysis` component
* Exposed `timelineDatasetsAtom` to be used NextJs side
* Exposed & Moved/decoupled `DatasetSelectorModal` out of
`ExplorationAndAnalysis`. ExplorationAndAnalysis only needs to know the
dataset layers to be displayed. DatasetSelectorModal or whatever layer
selection method should be controlled at the parent level above
`ExplorationAndAnalysis`.
* Commented out certain controls that were breaking
`ExplorationAndAnalysis` in NextJs instance
   * `AnalysisMessageControl`
   * `CustomAoIControl`

### Notes & Questions About Changes
_{Add additonal notes and outstanding questions here related to changes
in this pull request}_

### Validation / Testing
* Validate that Datalayer Selection Modal works as expected
* Validate that E&A features work as expected - aois, analyzation,
adding/removing cards
* Validate that all card linking works as expected
…#1253)

**Related Ticket:** #1166

### Problem

We need a way for future Next.js instances using veda-ui components to
pass their environment variables to the library

[The previous PR](#1252)
tried to pass env variables as props to our components. However, this
might be difficult to maintain and to scale as new environment variables
will be added.

This PR introduces a centralized config place through a new
`VedauiConfigProvider` context to allow devs to configure all
environment variables in one place via a config object.

### Description of Changes

**Veda-UI changes**

- Created `VedauiConfigProvider` context provider
- Currently supports these configuration options:
  - `mapboxToken` ( `MAPBOX_TOKEN`)
  - `apiRasterEndpoint` (`API_RASTER_ENDPOINT`)
  - `apiStacEndpoint` (from `API_STAC_ENDPOINT`)
- Refactored internal components to consume the environment variables
from this context

**Next.js ([PR
here](developmentseed/next-veda-ui#13

- Imported and used the new provider
- ℹ️ In Next.js, environment variables should be named according to the
Next.js naming standards so that they can be applied e.g `MAPBOX_TOKEN`
should be `NEXT_PUBLIC_MAPBOX_TOKEN` etc.

### Notes & Questions About Changes
_{Add additonal notes and outstanding questions here related to changes
in this pull request}_

### Validation / Testing

Test that the correct env variables are applied when using the library
in Next.js
**Related Ticket:** #1264

### Description of Changes
Removed minHeight prop to avoid undesired card behavior. The css prop
was introduced here: #1244

### Notes & Questions About Changes
_{Add additonal notes and outstanding questions here related to changes
in this pull request}_

### Validation / Testing
1. Open the stories page where there are card components
2. Verify that the images in the cards no longer have a minHeight
property
4. Verify that the card layout appears consistent and the image heights
are reduced compared to the previous behavior on v10.0.0

Or see the Air Quality card here:

- Before: https://deploy-preview-1250--veda-ui.netlify.app/stories
- After: https://deploy-preview-1265--veda-ui.netlify.app/stories
**Related Ticket:** Contributes to #1108

This aims to ensure catalog filters work correctly in Next.js.

### Description of Changes

Removes the usage of React Router's `useNavigate` hook in the library to
make it more agnostic of routing frameworks, allowing it to work better
with Next.js instances.

Changes included:

- Added a custom `commit` function to `useQsStateCreator`. It appears
this was the only place where the `useNavigate` function was effectively
in use. I tried using the default `commit` function from the
[qs-state-hook](https://github.com/danielfdsilva/qs-state-hook) library,
but it doesn't work with Next.js
- Formatted the touched files

### Validation / Testing

Using `veda-config`:

1. Visit the data catalog page
2. Click on filters, and URL params are updated as usual
3. Reload the page with filters selected; the filter panel is populated
as expected
4. Repeat the steps on the Exploration and Stories pages

Using `next-veda-ui` instance:

1. Link the source of this PR to the Next.js instance using the
instructions in `veda-ui/docs/development/REGISTRY.md`
2. Replace the file `app/(datasets)/data-catalog/catalog.tsx` (this
avoids build errors caused by type issues)

```js
'use client';
import React from 'react';
import { CatalogView, useFiltersWithQS } from '@lib';
import { usePathname } from 'next/navigation';
import Link from 'next/link';

export default function Catalog({ datasets }: { datasets: any }) {
  const pathname = usePathname();
  const controlVars = useFiltersWithQS();

  return (
    <CatalogView
      datasets={datasets}
      onFilterChanges={() => controlVars}
      pathname={pathname}
      linkProperties={{
        LinkElement: Link,
        pathAttributeKeyName: 'href',
      }}
    />
  );
}
```

3. Access `http://localhost:3000/data-catalog`. Filter changes are
reflected in the URL, and reloading populates the filter panel as
expected

This is ready for review.
**Related Ticket:** #1238
**Related Next.js PR:**
developmentseed/next-veda-ui#17

### Description of Changes
- Removed dependency on static datasets (veda_faux_module_datasets) when
reconciling datasets from URL params in E&A
- Created `externalDatasetsAtom` to store datasets from host
applications (eg Next.js)
- Modified `datasetLayersAtom` to use external datasets instead of the
bundled static datasets from VEDA UI

### Notes & Questions About Changes
_{Add additonal notes and outstanding questions here related to changes
in this pull request}_

### Validation / Testing
VEDA UI
1. Open E&A and select a few datasets
2. Once they are loaded, refresh the page
3. Verify that the datasets still load without issues, no errors are
thrown

Next.js
1. Same as for the VEDA UI above
### 🚀 Improvements
* Exploration & Analysis core VEDA feature breakout
#1251
#1154
* Introduce `EnvConfigProvider` to simplify the injection of environment
variables from host applications like Next.js
#1253
* Remove React Router's `useNavigate` dependency for simplifying the
routing #1270

### 🐛 Fixes
* Fix an issue where card images fail to maintain the correct aspect
ratio #1265
Copy link

netlify bot commented Nov 27, 2024

Deploy Preview for veda-ui ready!

Name Link
🔨 Latest commit 9132e6d
🔍 Latest deploy log https://app.netlify.com/sites/veda-ui/deploys/674744d089db2c00088f9111
😎 Deploy Preview https://deploy-preview-1278--veda-ui.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@snmln snmln closed this Nov 27, 2024
@snmln snmln deleted the color-range-slider branch November 27, 2024 16:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants