From 9bd969c1f6a70e409ddd3e63d57b88968d3a8728 Mon Sep 17 00:00:00 2001 From: Cameron Perera Date: Mon, 5 Jun 2023 16:27:54 -0500 Subject: [PATCH] =?UTF-8?q?refactor:=20=F0=9F=92=A1=20update=20indexed-dis?= =?UTF-8?q?play-name=20helper=20(#322)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- addons/core/addon/helpers/indexed-display-name.js | 6 ++++-- .../tests/integration/helpers/indexed-display-name-test.js | 6 +++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/addons/core/addon/helpers/indexed-display-name.js b/addons/core/addon/helpers/indexed-display-name.js index 71eafbcfc..973d15947 100644 --- a/addons/core/addon/helpers/indexed-display-name.js +++ b/addons/core/addon/helpers/indexed-display-name.js @@ -2,8 +2,10 @@ import Helper from '@ember/component/helper'; import { inject as service } from '@ember/service'; export function indexedDisplayName(intl, translation, array, item) { - let index = array.indexOf(item) + 1; - if (index === 0) index = null; + const length = array.length; + + let index = length - array.indexOf(item); + if (index > length) index = null; return intl.t(translation, { index }); } diff --git a/addons/core/tests/integration/helpers/indexed-display-name-test.js b/addons/core/tests/integration/helpers/indexed-display-name-test.js index 9e8c12950..3c9dccffb 100644 --- a/addons/core/tests/integration/helpers/indexed-display-name-test.js +++ b/addons/core/tests/integration/helpers/indexed-display-name-test.js @@ -8,7 +8,7 @@ module('Integration | Helper | indexed-display-name', function (hooks) { setupRenderingTest(hooks); setupIntl(hooks); - test('it renders the resource name with its position in parent array', async function (assert) { + test('it renders the resource name with its position in parent array reversed', async function (assert) { this.set('array', ['Boundary', 'is', 'cool!']); await render(hbs`{{indexed-display-name @@ -17,7 +17,7 @@ module('Integration | Helper | indexed-display-name', function (hooks) { 'Boundary' }}`); - assert.dom(this.element).hasText('Connection 1'); + assert.dom(this.element).hasText('Connection 3'); await render(hbs`{{indexed-display-name 'resources.session-recording.connection.title_index' @@ -33,7 +33,7 @@ module('Integration | Helper | indexed-display-name', function (hooks) { 'cool!' }}`); - assert.dom(this.element).hasText('Connection 3'); + assert.dom(this.element).hasText('Connection 1'); }); test('it does not render the position if the index cannot be found', async function (assert) {