-
Notifications
You must be signed in to change notification settings - Fork 11
Top level api nav #516
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
Top level api nav #516
Conversation
Codecov Report
@@ Coverage Diff @@
## main #516 +/- ##
==========================================
- Coverage 85.59% 85.55% -0.04%
==========================================
Files 754 755 +1
Lines 15504 15510 +6
Branches 1839 1839
==========================================
- Hits 13270 13269 -1
- Misses 2203 2210 +7
Partials 31 31
Continue to review full report at Codecov.
|
This comment has been minimized.
This comment has been minimized.
public view!: string; | ||
|
||
@ModelProperty({ | ||
key: 'json', |
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.
can we call this template
(for consistency with other similar properties)
src/app/entity-metadata.ts
Outdated
icon: ObservabilityIconType.Api, | ||
detailPath: (id: string, sourceRoute?: string) => [sourceRoute ?? '', 'endpoint', id], | ||
sourceRoutes: ['services'] | ||
sourceRoutes: ['apis'] |
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.
I saw your comment, but unless I'm missing another spot, the only place endpoints
is used is nested like service/endpoints
. Rather than being confusing, I'd actually expect them to be consistent since they're showing the same list of entities in different scopes.
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 fine. I can go either way. I'll change apis
to endpoints
.
super.ngOnInit(); | ||
|
||
this.onModeChange(this.model.mode); | ||
// This.onModeChange(this.model.mode); |
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.
no longer needed? how does the initial view get set? if no longer needed, remove comment
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.
For this iteration, I don't have the different views in the URL, so not deep linkable. We just show the first view option on page load.
We need to decide how/if we want the different view toggles to be deep linkable (I think we do) and we need to decide if we want them as a route or a url param. I'm leaning towards param, but am open.
displayName: 'Select Filter' | ||
}) | ||
export class TableWidgetSelectFilterModel { | ||
export class TableWidgetSelectFilterModel extends GraphQlDataSourceModel<PrimitiveValue[]> { |
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 isn't a data source itself - it's calling its api to get data.
This comment has been minimized.
This comment has been minimized.
export * from './pages/api-trace-detail/api-trace-detail.page.component'; | ||
|
||
export * from './pages/apis/services/service-list.module'; | ||
export * from './pages/apis/endpoints-list.module'; |
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.
I'm shocked you didn't put this with the component and dashboard in the same dir 😉
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.
Hah, fail. It was actually because it started out as the services file and the IDE updated it when I renamed. I just moved it to its proper home though. Thanks!
detailPath: (id: string) => ['apis', 'service', id], | ||
listPath: ['apis'], | ||
apisListPath: (id: string) => ['apis', 'service', id, 'endpoints'], | ||
listPath: ['endpoints'], |
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.
What are the desired breadcrumbs? Urls? I think things are a little off here (in terms of the entity metadata, the urls and the breadcrumb resolvers).
I think I'd expect:
Endpoint List => '/endpoints'
Endpoint => '/endpoint/' (should it be a different url if reached from service endpoint list vs endpoint list? different breadcrumb? If yes, then also '/service/endpoint/' and matching source path)
Service => '/service/' ; no list path, updated detail + api list path
Service Endpoint List => '/service//endpoints
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.
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.
I think the one that is still a bit of a question is endpoint.
My feelings are (assuming we want to show the service breadcrumb):
- When navigated from a service:
/service/endpoint/<endpoint-id>
. This would correspond to breadcrumbs of:<Service Name> > Endpoints > <Endpoint name>
- When navigated from elsewhere, such as EP list:
/endpoint/<endpoint-id>
This would correspond to breadcrumbs of:Endpoints > <Endpoint name>
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.
- Are we getting rid of the service listing screen?
- How are we navigating to a service, when there is no service listing page? Via the service column in API endpoints list?
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.
Why did we get rid of service screen? This was major thing in a customer perspective and they are using service dashboards for insights.
Is there an issue or discussion around? Can we add RATIONALE about this change? I came to know about this because of latest UI release I cut yesterday and was surprised with the change.
I am happy with moving APIs in first class navigation but that shouldn't result in removal of service nav completely.
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 conversation has happened in a few spots now, but duplicating here:
So in the weeds of the discussions around the endpoint list, it was overlooked that it should be a sibling of the service list, which will now be flat. We'll get that cleaned up today.
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.
I put up #521 to fix the most pressing issues. It has significant, but not complete overlap with this PR (Sorry!)
@aaron-steinfeld did part of this work in another PR (thank you!). Going to close out this one. |
Description