-
Notifications
You must be signed in to change notification settings - Fork 180
First version #1019
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
First version #1019
Conversation
a6dd0ca to
b0c1df1
Compare
| }); | ||
| } | ||
|
|
||
| static newQuery(essence: Essence, { clientTimeout: timeout, oauth }: ClientAppSettings): Promise<Dataset> { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably we could partially apply this function at the start of client application (we would eliminate passing appSettings every time) and distribute it with context. DataProvider would consume it from there.
| static newQuery(essence: Essence, { clientTimeout: timeout, oauth }: ClientAppSettings): Promise<Dataset> { | ||
| const { dataCube: { name } } = essence; | ||
| const viewDefinitionVersion = DEFAULT_VIEW_DEFINITION_VERSION; | ||
| const viewDefinition = definitionConverters[viewDefinitionVersion].toViewDefinition(essence); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the future we could consider keeping ViewDefinition somewhere in state. But that would require to enforce synchronisation between view definition and essence objects (and hash?) - sounds non trivial.
| timekeeper: Timekeeper; // TODO: check if needed | ||
| stage: Stage; | ||
| queryFactory: QueryFactory; | ||
| queryFactory: QueryFactory; // TODO: remove later |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's not needed, we pick query factory function on backend, based on visualisation name.
| essence: Essence; | ||
| timekeeper: Timekeeper; | ||
| appSettings: ClientAppSettings; | ||
| timekeeper: Timekeeper; // TODO: check if needed |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is used to calculate "effective time filter". We need it to decide if we should refetch. For example, if data cube publishes new data and we have filter "Last 15 minutes", we should refetch.
|
In files without comments, we have very basic props drilling. Nothing interesting. |
|
⏱️ Lighthouse report |
size-limit report 📦
|
|
✅ Deployed successfully to: https://turnilo-feature-query-endpoint-gmbbyye42a-ew.a.run.app |
edf3670 to
0effeb5
Compare
0effeb5 to
c85475b
Compare
|
Broke down into #1022 and few more ... |
No description provided.