diff --git a/ui-v2/app/components/consul-service-instance-list/index.hbs b/ui-v2/app/components/consul-service-instance-list/index.hbs index c99875dab4..92270519c4 100644 --- a/ui-v2/app/components/consul-service-instance-list/index.hbs +++ b/ui-v2/app/components/consul-service-instance-list/index.hbs @@ -10,16 +10,56 @@ - {{#with (reject-by 'ServiceID' '' item.Checks) as |checks|}} -
  • - {{checks.length}} service checks +{{#let (reject-by 'ServiceID' '' item.Checks) as |checks|}} + {{#let (service/instance-checks checks) as |serviceCheck| }} + {{#if (eq serviceCheck.status 'empty') }} +
  • + No service checks
  • - {{/with}} - {{#with (filter-by 'ServiceID' '' item.Checks) as |checks|}} -
  • - {{checks.length}} node checks + {{else}} + {{#if (eq serviceCheck.count checks.length)}} + {{#if (eq serviceCheck.status 'warning') }} +
  • + All service checks with {{serviceCheck.status}} +
  • + {{else}} +
  • + All service checks {{serviceCheck.status}} +
  • + {{/if}} + {{else}} +
  • + {{serviceCheck.count}}/{{checks.length}} service checks {{serviceCheck.status}} +
  • + {{/if}} + {{/if}} + {{/let}} +{{/let}} +{{#let (filter-by 'ServiceID' '' item.Checks) as |checks|}} + {{#let (service/instance-checks checks) as |nodeCheck| }} + {{#if (eq nodeCheck.status 'empty') }} +
  • + No node checks
  • - {{/with}} + {{else}} + {{#if (eq nodeCheck.count checks.length)}} + {{#if (eq nodeCheck.status 'warning') }} +
  • + All node checks with {{nodeCheck.status}} +
  • + {{else}} +
  • + All node checks {{nodeCheck.status}} +
  • + {{/if}} + {{else}} +
  • + {{nodeCheck.count}}/{{checks.length}} node checks {{nodeCheck.status}} +
  • + {{/if}} + {{/if}} + {{/let}} +{{/let}} {{#if (get proxies item.Service.ID)}}
  • connected with proxy diff --git a/ui-v2/app/helpers/service/instance-checks.js b/ui-v2/app/helpers/service/instance-checks.js index a6ea5218b2..3935b9d569 100644 --- a/ui-v2/app/helpers/service/instance-checks.js +++ b/ui-v2/app/helpers/service/instance-checks.js @@ -23,13 +23,24 @@ export function healthChecks([items], hash) { switch (true) { case ChecksCritical !== 0: - return 'critical'; + return { + status: 'failing', + count: ChecksCritical, + }; case ChecksWarning !== 0: - return 'warning'; + return { + status: 'warning', + count: ChecksWarning, + }; case ChecksPassing !== 0: - return 'passing'; + return { + status: 'passing', + count: ChecksPassing, + }; default: - return 'empty'; + return { + status: 'empty', + }; } } diff --git a/ui-v2/app/styles/components/composite-row/skin.scss b/ui-v2/app/styles/components/composite-row/skin.scss index 32e2bde835..5772c1088a 100644 --- a/ui-v2/app/styles/components/composite-row/skin.scss +++ b/ui-v2/app/styles/components/composite-row/skin.scss @@ -27,7 +27,8 @@ @extend %with-alert-triangle-color-mask, %as-pseudo; background-color: $orange-500; } -%composite-row .critical::before { +%composite-row .critical::before, +%composite-row .failing::before { @extend %with-cancel-square-fill-color-mask, %as-pseudo; background-color: $red-500; }