diff --git a/addons/api/addon/handlers/cache-daemon-handler.js b/addons/api/addon/handlers/cache-daemon-handler.js
index 21f543359..d712df086 100644
--- a/addons/api/addon/handlers/cache-daemon-handler.js
+++ b/addons/api/addon/handlers/cache-daemon-handler.js
@@ -173,7 +173,8 @@ export default class CacheDaemonHandler {
totalItems: results?.length ?? 0,
isLoadIncomplete: cacheDaemonResults.incomplete ?? false,
// Sometimes the refresh status returns an error status if it takes too long but it's still refreshing
- isRefreshing: cacheDaemonResults.refresh_status !== 'not-refreshing',
+ isCacheRefreshing:
+ cacheDaemonResults.refresh_status !== 'not-refreshing',
};
return records;
diff --git a/addons/core/addon/components/loading-button/index.hbs b/addons/core/addon/components/loading-button/index.hbs
index efa691339..48f2ecda8 100644
--- a/addons/core/addon/components/loading-button/index.hbs
+++ b/addons/core/addon/components/loading-button/index.hbs
@@ -3,17 +3,10 @@
SPDX-License-Identifier: BUSL-1.1
}}
-
- {{yield}}
-
\ No newline at end of file
+/>
\ No newline at end of file
diff --git a/addons/core/addon/components/toolbar-refresher/index.hbs b/addons/core/addon/components/toolbar-refresher/index.hbs
index 41c7cf4b5..b81831782 100644
--- a/addons/core/addon/components/toolbar-refresher/index.hbs
+++ b/addons/core/addon/components/toolbar-refresher/index.hbs
@@ -3,12 +3,17 @@
SPDX-License-Identifier: BUSL-1.1
}}
-{{#if this.lastRefreshed}}
-
- {{relative-datetime-live this.lastRefreshed}}
-
-{{/if}}
-
-
- {{t 'actions.refresh'}}
-
\ No newline at end of file
+
+ {{#if (has-block)}}
+ {{yield}}
+ {{else}}
+ {{#if this.lastRefreshed}}
+
+ {{relative-datetime-live this.lastRefreshed}}
+
+ {{/if}}
+ {{/if}}
+
+ {{t 'actions.refresh'}}
+
+
\ No newline at end of file
diff --git a/addons/core/addon/components/toolbar-refresher/index.js b/addons/core/addon/components/toolbar-refresher/index.js
index 697835097..528b4483c 100644
--- a/addons/core/addon/components/toolbar-refresher/index.js
+++ b/addons/core/addon/components/toolbar-refresher/index.js
@@ -15,7 +15,7 @@ export default class ToolbarRefresherComponent extends Component {
// =methods
/**
- * Executes the click handler argument and trackes the time it completed.
+ * Executes the click handler argument and tracks the time it completed.
*/
@action
async onClick() {
diff --git a/addons/core/addon/styles/addon.scss b/addons/core/addon/styles/addon.scss
index 544912585..8f9841175 100644
--- a/addons/core/addon/styles/addon.scss
+++ b/addons/core/addon/styles/addon.scss
@@ -39,18 +39,6 @@
.search-filtering-toolbar {
display: flex;
- // TODO: Remove these copied styles by migrating to HDS for the toolbar refresher component.
- // The original styles assumed we were using the old toolbar component under a "rose-toolbar" class.
- .rose-button-inline-link-action {
- font-size: 0.8125rem;
- line-height: 1.8461538462;
- font-weight: 600;
- color: var(--stark);
- display: inline-block;
- vertical-align: middle;
- padding: 0.375rem 1rem;
- }
-
> :last-child {
margin-left: auto;
}
@@ -64,3 +52,15 @@
color: var(--token-color-foreground-primary);
}
}
+
+.toolbar-refresher {
+ display: flex;
+ align-items: center;
+ padding-left: 1rem;
+ gap: 1rem;
+
+ > .hds-text {
+ white-space: nowrap;
+ overflow: hidden;
+ }
+}
diff --git a/addons/core/tests/integration/components/loading-button-test.js b/addons/core/tests/integration/components/loading-button-test.js
index 737abc8f7..d45c5856f 100644
--- a/addons/core/tests/integration/components/loading-button-test.js
+++ b/addons/core/tests/integration/components/loading-button-test.js
@@ -7,19 +7,22 @@ import { module, test } from 'qunit';
import { setupRenderingTest } from 'ember-qunit';
import { render, find, click } from '@ember/test-helpers';
import { hbs } from 'ember-cli-htmlbars';
+import { setupIntl } from 'ember-intl/test-support';
module('Integration | Component | loading-button', function (hooks) {
setupRenderingTest(hooks);
+ setupIntl(hooks, 'en-us');
+
test('it renders', async function (assert) {
await render(hbs``);
- assert.ok(find('.loading-button'));
+ assert.ok(find('.hds-button'));
});
test('it executes a function on refresh button click', async function (assert) {
assert.expect(2);
this.onClick = () => assert.ok(true, 'refresh was clicked');
await render(hbs``);
- assert.ok(find('.loading-button'));
+ assert.ok(find('.hds-button'));
await click('button');
});
});
diff --git a/addons/core/translations/states/en-us.yaml b/addons/core/translations/states/en-us.yaml
index 13eabdb4d..fcfa96f4a 100644
--- a/addons/core/translations/states/en-us.yaml
+++ b/addons/core/translations/states/en-us.yaml
@@ -25,5 +25,7 @@ loading:
description: All of your {resource} are still loading. Please wait while we finish loading everything on screen.
generic-description: All of your resources are still loading. Please wait while we finish loading everything on screen.
incomplete-loading:
- limit: We've reached the result limit. Please narrow down your search or filters if the result you're looking for is not shown.
- refreshing: We're still currently loading the results. Please wait a moment before refreshing again.
+ limit: Loaded the first {resultCount} results. Please narrow down your search or filters if the result you're looking for is not shown.
+ refreshing:
+ description: Updating cache...
+ tooltip: Some items may not appear until the cache is finished updating
diff --git a/ui/admin/app/templates/scopes/scope/sessions/index.hbs b/ui/admin/app/templates/scopes/scope/sessions/index.hbs
index 9fc7ba399..bf4c92d1f 100644
--- a/ui/admin/app/templates/scopes/scope/sessions/index.hbs
+++ b/ui/admin/app/templates/scopes/scope/sessions/index.hbs
@@ -73,9 +73,7 @@
/>
-
-
-
+
diff --git a/ui/desktop/app/routes/scopes/scope/projects/targets/index.js b/ui/desktop/app/routes/scopes/scope/projects/targets/index.js
index a3d3642c0..24011ddd0 100644
--- a/ui/desktop/app/routes/scopes/scope/projects/targets/index.js
+++ b/ui/desktop/app/routes/scopes/scope/projects/targets/index.js
@@ -78,7 +78,7 @@ export default class ScopesScopeProjectsTargetsIndexRoute extends Route {
*
* @returns {Promise<{totalItems: number, targets: [TargetModel], projects: [ScopeModel], allTargets: [TargetModel] }> }
* @return {Promise<{totalItems: number, targets: [TargetModel], projects: [ScopeModel],
- * isCacheDaemonRunning: boolean, isLoadIncomplete: boolean, isRefreshing: boolean}>}
+ * isCacheDaemonRunning: boolean, isLoadIncomplete: boolean, isCacheRefreshing: boolean}>}
*/
async model({ search, scopes, availableSessions, types, page, pageSize }) {
const isCacheRunningPromise = this.ipc.invoke('isCacheDaemonRunning');
@@ -113,7 +113,7 @@ export default class ScopesScopeProjectsTargetsIndexRoute extends Route {
query.filter = orgFilter;
}
let targets = await this.store.query('target', query);
- const { totalItems, isLoadIncomplete, isRefreshing } = targets.meta;
+ const { totalItems, isLoadIncomplete, isCacheRefreshing } = targets.meta;
// Filter out targets to which users do not have the connect ability
targets = targets.filter((target) =>
this.can.can('connect target', target),
@@ -148,7 +148,7 @@ export default class ScopesScopeProjectsTargetsIndexRoute extends Route {
projects,
totalItems,
isLoadIncomplete,
- isRefreshing,
+ isCacheRefreshing,
isCacheDaemonRunning: await isCacheRunningPromise,
};
}
diff --git a/ui/desktop/app/templates/scopes/scope/projects/sessions/index.hbs b/ui/desktop/app/templates/scopes/scope/projects/sessions/index.hbs
index 6775b115c..ce5ada9e2 100644
--- a/ui/desktop/app/templates/scopes/scope/projects/sessions/index.hbs
+++ b/ui/desktop/app/templates/scopes/scope/projects/sessions/index.hbs
@@ -56,9 +56,7 @@
-
-
-
+
diff --git a/ui/desktop/app/templates/scopes/scope/projects/targets/index.hbs b/ui/desktop/app/templates/scopes/scope/projects/targets/index.hbs
index 829284296..b1cc502e1 100644
--- a/ui/desktop/app/templates/scopes/scope/projects/targets/index.hbs
+++ b/ui/desktop/app/templates/scopes/scope/projects/targets/index.hbs
@@ -62,23 +62,21 @@
-
+ {{#if @model.isCacheRefreshing}}
+
+
+
+ {{t 'states.incomplete-loading.refreshing.description'}}
+
+
+
+ {{else}}
-
+ {{/if}}
- {{#if @model.isLoadIncomplete}}
-
- {{t 'states.incomplete-loading.limit'}}
-
- {{/if}}
- {{#if @model.isRefreshing}}
-
- {{t
- 'states.incomplete-loading.refreshing'
- }}
-
- {{/if}}
{{/if}}
{{#if @model.targets}}
@@ -174,6 +172,14 @@
+ {{#if @model.isLoadIncomplete}}
+
+ {{t
+ 'states.incomplete-loading.limit'
+ resultCount=@model.totalItems
+ }}
+
+ {{/if}}