Commit Graph

75 Commits

Author SHA1 Message Date
John Cowen 6f9e6a1326 ui: New search/sort/filtering bar for Node > ServiceInstances (#9326)
* Model layer changes to turn Node:ServiceInstances into hasMany

We tried to make something that feels a little like ember-data yet
not leave our approach of re-shaping the JSON directly from the
response.

1. We added transformHasManyResponse for re-shaping JSON for hasMany
relationships. we avoided the normalize word as ember-data serialize
methods usually return something JSON:API shaped and we distinctly don't
want to do that. Transform was the best word we could think of.

2. The integration tests across all of our models here feel very much
like those types of tests that aren't really testing much, or assert
too much to an extent that they get in the way rather than be of any
use. I'd very much like to move a lot of this to unit tests. Currently
most of the fingerprinting functionality is unit tested and these
integration tests were originally to give confidence that IDs and
related properties were being added correctly.

3. We've added a hasMany relationship, but not the corresponding
belongsTo - yet at least. We don't require the belongsTo right now, and
if we do  we can add it later.

* Integrate ServiceInstance search bar for Node:ServiceInstances

* Hide Node.Meta when on the Node:ServiceINstance page

We use a little string replace hack here for a human-like label, this is
soon to be replaced with proper i10n replacement

* Always ensure that a Namespace is set, and add comment explaining
2020-12-09 13:09:33 +00:00
John Cowen c3218f1bee ui: Change URI helper to a template based approach (#9344)
This moves our uri helper to use a the template renderer we already have for rendering URLs.
2020-12-09 09:23:36 +00:00
John Cowen 4f3a0836ea ui: document-attrs helper (#9336)
This commit adds a {{document-attrs}} helper, specifically for adding attributes to the root documentElement, which in our case is always <html>
2020-12-09 09:22:38 +00:00
Kenia 5865c48c98 ui: Refactor topology components (#9339)
* Refactor Stats and Series components

* Refactor metrics error message for ingress-gateway

* Fix upLines icon positioning

* Remove unused variable from being passed down to Stats
2020-12-09 09:10:18 +00:00
John Cowen a66973a274 ui: Native-ize class based helpers (#9337)
* Install ember-decorators/observes

* Remove filter-predicate

* Nativize `env` and inject env service

* Nativize all other class based helpers
2020-12-08 09:27:59 +00:00
John Cowen 106b63b9e6 ui: Don't pluralize words when there is only 1 of the item (#9321) 2020-12-07 09:19:55 +00:00
John Cowen db978af6f3 ui: HealthCheck Search/Sort/Filtering (#9314)
* Adds model layer changes around HealthChecks

1. Makes a HealthCheck model fragment and uses it in ServiceInstances and
Nodes
2. Manually adds a relationship between a ServiceInstance and its
potential ServiceInstanceProxy
3. Misc changes related to the above such as an Exposed property on
MeshChecks, MeshChecks itself

* Add a potential temporary endpoint to distinguish ProxyServiceInstance

* Fix up Node search bar class

* Add search/sort/filter logic

* Fixup Service default sort key

* Add Healthcheck search/sort/filtering

* Tweak CSS add a default Type of 'Serf' when type is blank

* Fix up tests and new test support

* Add ability to search on Service/Node name depending on where you are

* Fixup CheckID search predicate

* Use computed for DataCollection to use caching

* Alpha sort the Type menu

* Temporary fix for new non-changing style Ember Proxys

* Only special case EventSource proxies
2020-12-07 09:15:53 +00:00
John Cowen 291567198d ui: ServiceInstance.Name should be the Service.Name, never the Service.ID (#9316)
* ui: ServiceInstance.Name should be the Service.Name, never the ID

The ServiceInstance.ID should try Service.ID and fallback to
Service.Name, not ServiceInstance.Name. ServiceInstance.Name is just an
alias to Service.Name which is always set.
2020-12-03 09:16:33 +00:00
John Cowen 01b55eab5c ui: Reorganize Tabs CSS (#9313) 2020-12-02 15:48:34 +00:00
John Cowen 9d9e77f417 ui: Asyncify Service Model Hooks (#9312)
* ui: Add Kind grouping computed properties

* Use new computed properties and move model hooks to async methods
2020-12-02 15:43:26 +00:00
John Cowen 4fbbfdcfa2 ui: New overlays (#9305)
Replaces ember-popover with tippy.js based overlay modifier.
2020-12-02 09:44:06 +00:00
John Cowen 4419e0d0dd
ui: Add 'Search Across' for finer grained searching (#9282) 2020-12-02 09:16:55 +00:00
John Cowen 37140b3ff1 ui: Move identity components (#9298) 2020-11-30 18:43:38 +00:00
John Cowen af5e6e6d12 ui: Add copyable IDs to the Role and Policy views (#9296) 2020-11-30 17:29:06 +00:00
John Cowen f91fb648f9 ui: Moves healthcheck list to Glimmer template-only consul component (#9293) 2020-11-30 17:23:37 +00:00
John Cowen 72d9d0a5ec ui: Remove unused helpers or swap for helpers in ember-string-fns (#9294)
* ui: Remove unused helpers or swap for helpers in ember-string-fns

* starts-with > string-starts-with
2020-11-30 17:20:19 +00:00
John Cowen d98fa02a85 ui: Round Trip Time Tooltips (#9290) 2020-11-30 17:03:24 +00:00
John Cowen 41ded7eef7 ui: Modifier based tooltips (#9288) 2020-11-30 16:52:45 +00:00
John Cowen de19fa5f59 ui: Nestable DataSources (plus glimmer upgrade) (#9275) 2020-11-30 15:06:31 +00:00
John Cowen c441d98475 ui: Change metrics link documentation link (#9281)
* ui: Change metrics link documentation link

* Update ui/packages/consul-ui/app/components/topology-metrics/index.hbs

Co-authored-by: Blake Covarrubias <blake@covarrubi.as>
2020-11-27 15:44:20 +00:00
John Cowen 3668431e4e ui: Ensure the per item logout button logs you out (#9269) 2020-11-24 17:48:47 +00:00
John Cowen 5a754ae4da ui: Include nspace in up/downstream link when nspaces are enabled (#9257) 2020-11-24 14:34:58 +00:00
Kenia 36307f1b0c ui: Card component nspace refactor (#9228)
* Refactoring conditional for showing nspaces

* Styling empty state for Stats component
2020-11-19 18:42:19 +00:00
John Cowen 1557ee9b1b ui: Alter background color of filter bars (#9238) 2020-11-19 16:08:29 +00:00
John Cowen 1ea9592707 ui: Surface 'detail' of API errors in the error page (#9237)
* ui: Surface 'detail' of API errors in the error page

* Make UI generated 404s look less bare
2020-11-19 16:08:03 +00:00
John Cowen 023618e018 ui: ACL Tokens > Roles and Policy search and sort (#9236)
* ui: Ensure search is enabled for child items in the ACLs area

* Refactor comparators to reuse some utility functions

* Add search and sorting to the ACLs child selector

* Add tests for searching within child selectors

* Allow sorting by CreateIndex
2020-11-19 16:07:13 +00:00
John Cowen f362f166b0 ui: Sort lists with health by unhealthy/healthy by default (#9234)
* ui: Update lists with Health to sort by unhealthy/healthy by default

* Fix up tests for new sorting

* Make specific services page-navigation test
2020-11-19 16:06:20 +00:00
John Cowen 24782b4444 ui: All metrics cards should default to the default nspace if not set (#9223)
* ui: All metrics cards should default to the default nspace if not set

* Use the up/downstream as the data/nspace for up/downstreams not the service
2020-11-19 16:04:31 +00:00
John Cowen 8a5670d7d5 ui: Remove ghost healthcheck from the service instance healthcheck list (#9220)
* ui: Fixup service instance healthcheck list not to show ghost check

If the proxy is undefined, then an undefined vaule is appended to the
list of checks

* There are only 6 checks in the mocks so only expect 6
2020-11-19 16:02:18 +00:00
Kenia cafbfec376 ui: Fix empty state conditional for Series Graph (#9221) 2020-11-18 19:02:44 +00:00
John Cowen a8024825fc ui: Remove ember-computed-style to avoid deprecation error (#9218) 2020-11-18 18:57:57 +00:00
John Cowen ff907311c2 ui: Refactor tomography graph component to glimmer and remove deprecation (#9219)
* ui: Refactor tomograph graph component to glimmer and remove deprecation

* Avoid ember-data deprecation error
2020-11-18 18:56:30 +00:00
John Cowen 3a25d048c6 ui: Change title helper to page-title (#9211) 2020-11-18 11:16:48 +00:00
John Cowen 63e96d70ff ui: Add triple curlies and reformat style attribute (#9210) 2020-11-18 11:11:58 +00:00
Freddy 4d39305442 Add DC and NS support for Envoy metrics (#9207)
This PR updates the tags that we generate for Envoy stats.

Several of these come with breaking changes, since we can't keep two stats prefixes for a filter.
2020-11-16 23:37:50 +00:00
John Cowen 5521be526b ui: Replace NaN and undefined metrics values with `-` (#9200)
* ui: Add functionality to metrics mocks:

1. More randomness during blocking queries
2. NaN and undefined values that come from prometheus
3. General trivial amends to bring things closer to the style of the
project

* Provider should always provide data as a string or undefined

* Use a placeholder `-` if the metrics endpoint responds with undefined data
2020-11-16 15:23:29 +00:00
John Cowen 8067b229e7 ui: Search/sort improvements (#9183) 2020-11-13 15:56:20 +00:00
Kenia a2e0246805 ui: Pass down nspace and dc from Service model down to prometheus request (#9175)
* Pass down nspace and dc from Service model down to prometheus request

* Reviewing notes fix-ups

* Fix on dc/nspace to send from upstream/downstream card
2020-11-13 15:39:36 +00:00
Kenia 34b31dab50 ui: Update to not return metrics for ingress gateways (#9081) 2020-11-13 10:16:01 -05:00
Kenia f340762cca ui: Fix up typo for the UI config template url (#9109) 2020-11-13 13:01:58 +00:00
John Cowen 4743ab045e ui: Upstream Instance Search and Sort (#9172)
* ui: Add predicate, comparator and necessary files for the search/sort

* Implement search and sort for upstream instance list

* ui: Tweak CSS so its all part of the component

* Remove the old proxy test attribute
2020-11-13 10:27:19 +00:00
Kenia 676a520ce3 ui: Topology Intentions Popovers (#9137)
* Refactor grid styling for Topology page

* Crate TopologyMetrics Button component and move styling

* Create intention ID

* fixup button styling

* Return a link to the create intention page

* Rename Button to Popover component

* Fixup serializer test

* ui: Inline Topology Intention Actions  (#9153)

* Add arrow and dot to/from metrics back in

* Add addional space to have metrics wrap and show in smaller screens

* Move logic for finding positioning

* Use color variables

Co-authored-by: John Cowen <johncowen@users.noreply.github.com>
2020-11-13 10:24:34 +00:00
Kenia bc77d91587 ui: Delete Proxy Info tab (#9141)
* Remove Proxy Info and create Upstreams and Exposed Paths tabs

* Update routes formatting

* Update typo for Expose.Checks

* Remove, update, and add tests

* Make consul-upstream-instance-list into a glimmer component

* Create styling for upstream-instance-list component
2020-11-13 10:02:18 +00:00
John Cowen 3135f0628a ui: Add vendor directory as a target for JS linting and lint (#9157)
* ui: Add vendor for js linting

* Lint all the things
2020-11-11 17:00:29 +00:00
John Cowen c52f03156c ui: Move discovery chain component (#9154) 2020-11-11 14:52:51 +00:00
John Cowen 2c8cee3aa9 ui: Remove unnecessay reopens from sort and form services (#9146) 2020-11-10 14:37:34 +00:00
John Cowen e8b7c44087 ui: Move ember-data classes to use native JS classes/decorators (#9136)
* ui: Upgrade ember-data models to use native classes/decorators

* ui: Update remaining ember-data imports

* ui: Move ember-data Adapters to use native classes

* ui: Upgrade serializers to native classes/decorators

* ui: remove meta from roles, they never had it to start with
2020-11-09 17:30:11 +00:00
John Cowen 97b645a745 ui: Run Ember native class code mod (#9093)
* ui: Apply native class codemod to all services

* ui: Apply native class codemod to routes

* ui: Apply native class codemod to controllers

* Fix up ember proxy `content` issue

* Add a CreateTime on policy creation

* Minor formatting

* Convert child based saving to use ec instead of custom approach

* Remove custom event source repo wrapping initializer

* Repos here are no longer proxy objects revert to using them normally

* Remove areas of code that were used to set up source backed repos
2020-11-09 09:26:20 +00:00
John Cowen 9c17ed1931 ui: Move notice storybook to use controls addon (#9126) 2020-11-09 09:15:54 +00:00
John Cowen 49c80aab32 ui: Intention "Action change" warning modal (#9108)
* ui: Add a warning dialog if you go to remove permissions from an intention

* ui: Move modal styles next to component, add warning style

* ui: Move back to using the input name for a selector

* ui: Fixup negative "isn't" step so its optional

* Add warning modal to pageobject

* Fixup test for whether to show the warning modal or not

* Intention change action warning acceptence test

* Add a null/undefined Action
2020-11-06 14:57:53 +00:00