eoAPI UI Interface Technical RFC (based off of eoAPI Issue #97) #20
sandrahoang686
started this conversation in
General
Replies: 1 comment
-
Posting @oliverroick thoughts from Slack for openness and feedback
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
The Ask
github-ref
Context
STAC is extremely flexible (and items essentially schema-less) which makes it difficult for users to determine how they can create queries to filter a large collection.
Ideal
An interface that would be self-configuring based on the results of an initial capabilities query to the queryables endpoint of the STAC API
A set of filter based components (range slider, time selector, dropdown selector, etc) that would be referenced based on the prop attribute of type.
For example:
A user could select an endpoint or collection which would advertise the properties and their datatype which can be used in a filter expression.
Let's say that the selected collection advertises eo:cloud_cover as one of its queryables.
Technical Solutions
Solution 1
as proposed by Oliver (github-ref)
Simplify filter generation based on queryables. I think there can be a middle ground by providing the configuration for components but not the components itself.
Image something along the lines of:
where sliderParams is an object that looks like this:
That way we abstract away the complexity of parsing queryables, generating component props, and handle value changes and query construction. And developers have full control of the rest of their component.
Solution 1 (maybe?) flushed out
written by Sandra
A controller container component the consumer would interact with and provide the queryable filter object as a prop. The controller component would conditionally render whichever forum component based on type attribute. These forum components (slider, date-picker, dropdown) could use Chakra under the hood.
Leverage TypeScript
Tradeoffs
Pros:
Risks:
Alternative Solutions
... TBD
Beta Was this translation helpful? Give feedback.
All reactions