diff --git a/ui/app/models/node-driver.js b/ui/app/models/node-driver.js
index d412867e7e99..371c5cc49574 100644
--- a/ui/app/models/node-driver.js
+++ b/ui/app/models/node-driver.js
@@ -1,5 +1,5 @@
import Fragment from 'ember-data-model-fragments/fragment';
-import { computed } from '@ember/object';
+import { computed, get } from '@ember/object';
import attr from 'ember-data/attr';
import { fragmentOwner } from 'ember-data-model-fragments/attributes';
import { fragment } from 'ember-data-model-fragments/attributes';
@@ -8,6 +8,12 @@ export default Fragment.extend({
node: fragmentOwner(),
attributes: fragment('node-attributes'),
+
+ attributesShort: computed('name', 'attributes.attributesStructured', function() {
+ const attributes = this.get('attributes.attributesStructured');
+ return get(attributes, `driver.${this.get('name')}`);
+ }),
+
name: attr('string'),
detected: attr('boolean', { defaultValue: false }),
healthy: attr('boolean', { defaultValue: false }),
diff --git a/ui/app/templates/clients/client.hbs b/ui/app/templates/clients/client.hbs
index 00da3de680ef..421dd6447bb5 100644
--- a/ui/app/templates/clients/client.hbs
+++ b/ui/app/templates/clients/client.hbs
@@ -163,7 +163,7 @@
{{#if a.item.attributes.attributesStructured}}
{{attributes-table
- attributes=a.item.attributes.attributesStructured
+ attributes=a.item.attributesShort
class="attributes-table"}}
{{else}}
diff --git a/ui/mirage/factories/node.js b/ui/mirage/factories/node.js
index 3097ac19f366..3950f36928f1 100644
--- a/ui/mirage/factories/node.js
+++ b/ui/mirage/factories/node.js
@@ -87,14 +87,14 @@ export default Factory.extend({
});
function makeDrivers() {
- const generate = () => {
+ const generate = name => {
const detected = Math.random() > 0.3;
const healthy = detected && Math.random() > 0.3;
const attributes = {
- 'driver.name.version': '1.0.0',
- 'driver.name.status': 'awesome',
- 'driver.name.more.details': 'yeah',
- 'driver.name.more.again': 'we got that',
+ [`driver.${name}.version`]: '1.0.0',
+ [`driver.${name}.status`]: 'awesome',
+ [`driver.${name}.more.details`]: 'yeah',
+ [`driver.${name}.more.again`]: 'we got that',
};
return {
Detected: detected,
@@ -106,11 +106,11 @@ function makeDrivers() {
};
return {
- docker: generate(),
- rkt: generate(),
- qemu: generate(),
- exec: generate(),
- raw_exec: generate(),
- java: generate(),
+ docker: generate('docker'),
+ rkt: generate('rkt'),
+ qemu: generate('qemu'),
+ exec: generate('exec'),
+ raw_exec: generate('raw_exec'),
+ java: generate('java'),
};
}