mirror of https://github.com/hashicorp/consul
ui: Make only existing services in Upstreams linkabled with hover effect (#7943)
* Create service/exist helper to be used in ListCollection list items * Make only existing services in Upstreams linkabled with hover effectpull/8013/head
parent
7e1e6e44c3
commit
8077a41f42
@ -1,6 +1,15 @@
|
|||||||
<EmberNativeScrollable @tagName="ul" @content-size={{_contentSize}} @scroll-left={{_scrollLeft}} @scroll-top={{_scrollTop}} @scrollChange={{action "scrollChange"}} @clientSizeChange={{action "clientSizeChange"}}>
|
<EmberNativeScrollable
|
||||||
|
@tagName="ul"
|
||||||
|
@content-size={{_contentSize}}
|
||||||
|
@scroll-left={{_scrollLeft}}
|
||||||
|
@scroll-top={{_scrollTop}}
|
||||||
|
@scrollChange={{action "scrollChange"}}
|
||||||
|
@clientSizeChange={{action "clientSizeChange"}}
|
||||||
|
>
|
||||||
<li></li>
|
<li></li>
|
||||||
{{~#each _cells as |cell|~}}
|
{{~#each _cells as |cell|~}}
|
||||||
<li onclick={{action 'click'}} style={{{cell.style}}}>{{yield cell.item cell.index }}</li>
|
<li onclick={{action 'click'}} style={{{cell.style}}} class={{if (service/exists cell.item) 'linkable' }}>
|
||||||
|
{{yield cell.item cell.index }}
|
||||||
|
</li>
|
||||||
{{~/each~}}
|
{{~/each~}}
|
||||||
</EmberNativeScrollable>
|
</EmberNativeScrollable>
|
@ -0,0 +1,11 @@
|
|||||||
|
import { helper } from '@ember/component/helper';
|
||||||
|
|
||||||
|
export function serviceExists([item], hash) {
|
||||||
|
if (typeof item.InstanceCount === 'undefined') {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return item.InstanceCount > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
export default helper(serviceExists);
|
@ -0,0 +1,17 @@
|
|||||||
|
import { module, test } from 'qunit';
|
||||||
|
import { setupRenderingTest } from 'ember-qunit';
|
||||||
|
import { render } from '@ember/test-helpers';
|
||||||
|
import { hbs } from 'ember-cli-htmlbars';
|
||||||
|
|
||||||
|
module('Integration | Helper | service/exists', function(hooks) {
|
||||||
|
setupRenderingTest(hooks);
|
||||||
|
|
||||||
|
// Replace this with your real tests.
|
||||||
|
test('it renders', async function(assert) {
|
||||||
|
this.set('inputValue', { InstanceCount: 3 });
|
||||||
|
|
||||||
|
await render(hbs`{{service/exists inputValue}}`);
|
||||||
|
|
||||||
|
assert.equal(this.element.textContent.trim(), 'true');
|
||||||
|
});
|
||||||
|
});
|
Loading…
Reference in new issue