Skip to content

Commit

Permalink
ui: Adds {{Datacenter}} keyword for URL template interpolation (#5768)
Browse files Browse the repository at this point in the history
1. Includes Datacenter variable for intperolation
2. Amends text on the Settings page to reflect new keyword
3. Adds further acceptance testing around the new dashboard buttons
  • Loading branch information
johncowen authored and John Cowen committed May 2, 2019
1 parent 71c0db4 commit 9994267
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 4 deletions.
4 changes: 3 additions & 1 deletion ui-v2/app/routes/dc/services/show.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,11 @@ export default Route.extend({
model: function(params) {
const repo = get(this, 'repo');
const settings = get(this, 'settings');
const dc = this.modelFor('dc').dc.Name;
return hash({
item: repo.findBySlug(params.name, this.modelFor('dc').dc.Name),
item: repo.findBySlug(params.name, dc),
urls: settings.findBySlug('urls'),
dc: dc,
});
},
setupController: function(controller, model) {
Expand Down
2 changes: 1 addition & 1 deletion ui-v2/app/templates/dc/services/show.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
{{/block-slot}}
{{#block-slot 'actions'}}
{{#if urls.service}}
{{#templated-anchor href=urls.service vars=(hash Service=(hash Name=item.Service.Service)) rel="external"}}Open Dashboard{{/templated-anchor}}
{{#templated-anchor data-test-dashboard-anchor href=urls.service vars=(hash Datacenter=dc Service=(hash Name=item.Service.Service)) rel="external"}}Open Dashboard{{/templated-anchor}}
{{/if}}
{{/block-slot}}
{{#block-slot 'content'}}
Expand Down
4 changes: 2 additions & 2 deletions ui-v2/app/templates/settings.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@
<fieldset>
<h2>Dashboard Links</h2>
<p>
Add a link to the service detail page in the UI to get quick access to a service-wide metrics dashboard. Enter the dashboard URL into the field below. You can use the placeholder {{Service.Name}} which will be replaced with the name of the service currently being viewed.
Add a link to the service detail page in the UI to get quick access to a service-wide metrics dashboard. Enter the dashboard URL into the field below. You can use the placeholders <code>{{'{{Datacenter}}'}}</code> and <code>{{'{{Service.Name}}'}}</code> which will be replaced with the name of the datacenter/service currently being viewed.
</p>
<label class="type-text">
<span>Link template for services</span>
<input type="text" name="urls[service]" value={{item.urls.service}} onchange={{action 'change'}} onkeypress={{action 'key'}} onkeydown={{action 'key'}} />
<em>e.g. https://grafana.example.com/d/1/consul-service-mesh&amp;orgid=1&amp;service-name={{ '{{Service.Name}}' }}</em>
<em>e.g. https://grafana.example.com/d/1/consul-service-mesh&amp;orgid=1&amp;datacenter={{ '{{Datacenter}}' }}&amp;service-name={{ '{{Service.Name}}' }}</em>
</label>
</fieldset>
<fieldset>
Expand Down
13 changes: 13 additions & 0 deletions ui-v2/tests/acceptance/dc/services/show.feature
Original file line number Diff line number Diff line change
Expand Up @@ -89,3 +89,16 @@ Feature: dc / services / show: Show Service
- "2.2.2.2:8000"
- "3.3.3.3:8888"
---
Scenario: Given a dashboard template has been set
Given 1 datacenter model with the value "dc1"
And settings from yaml
---
consul:urls:
service: https://consul.io?service-name={{Service.Name}}&dc={{Datacenter}}
---
When I visit the service page for yaml
---
dc: dc1
service: service-0
---
And I see href on the dashboardAnchor like "https://consul.io?service-name=service-0&dc=dc1"
3 changes: 3 additions & 0 deletions ui-v2/tests/pages/dc/services/show.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ export default function(visitable, attribute, collection, text, filter) {
instances: collection('#instances [data-test-tabular-row]', {
address: text('[data-test-address]'),
}),
dashboardAnchor: {
href: attribute('href', '[data-test-dashboard-anchor]'),
},
filter: filter,
};
}

0 comments on commit 9994267

Please sign in to comment.