Repository navigation
feat: add call-to-action empty states to the list pages - #3634
Merged
Merged
Conversation
This was referenced Oct 12, 2026
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
The shared component is consistently integrated, localized, and covered by focused unit tests.
0 open findings
What changed in this PR
Adds reusable, localized call-to-action empty states across configuration and device list pages.
Changes:
- Introduces a shared Material-based empty-state component.
- Updates seven list pages with contextual descriptions and Add New actions.
- Adds focused unit tests and translations for all supported languages.
| File | Description |
|---|---|
src/app/shared/empty-state/empty-state.component.ts |
Defines the shared empty-state component. |
src/app/shared/empty-state/empty-state.component.html |
Renders optional description and action. |
src/app/shared/empty-state/empty-state.component.scss |
Styles the empty-state layout. |
src/app/shared/empty-state/empty-state.component.spec.ts |
Tests rendering and action emission. |
src/app/devices/devices.component.ts |
Registers the empty-state component. |
src/app/devices/devices.component.html |
Adds flavor-, filter-, and tab-aware empty states. |
src/app/devices/devices.component.spec.ts |
Tests device empty-state variants. |
src/app/profiles/profiles.component.ts |
Registers the empty-state component. |
src/app/profiles/profiles.component.html |
Adds the profiles call to action. |
src/app/profiles/profiles.component.spec.ts |
Tests the profiles empty state. |
src/app/configs/configs.component.ts |
Registers the empty-state component. |
src/app/configs/configs.component.html |
Adds the CIRA configuration call to action. |
src/app/configs/configs.component.spec.ts |
Tests the CIRA empty state. |
src/app/domains/domains.component.ts |
Registers the empty-state component. |
src/app/domains/domains.component.html |
Adds the domains call to action. |
src/app/domains/domains.component.spec.ts |
Tests the domains empty state. |
src/app/wireless/wireless.component.ts |
Registers the empty-state component. |
src/app/wireless/wireless.component.html |
Adds the wireless configuration call to action. |
src/app/wireless/wireless.component.spec.ts |
Tests the wireless empty state. |
src/app/ieee8021x/ieee8021x.component.ts |
Registers the empty-state component. |
src/app/ieee8021x/ieee8021x.component.html |
Adds the 802.1x configuration call to action. |
src/app/ieee8021x/ieee8021x.component.spec.ts |
Tests the 802.1x empty state. |
src/app/proxy-configs/proxy-configs.component.ts |
Registers the empty-state component. |
src/app/proxy-configs/proxy-configs.component.html |
Adds the proxy configuration call to action. |
src/app/proxy-configs/proxy-configs.component.spec.ts |
Tests the proxy empty state. |
src/assets/i18n/en.json |
Adds English empty-state copy. |
src/assets/i18n/ar.json |
Adds Arabic empty-state copy. |
src/assets/i18n/de.json |
Adds German empty-state copy. |
src/assets/i18n/es.json |
Adds Spanish empty-state copy. |
src/assets/i18n/fi.json |
Adds Finnish empty-state copy. |
src/assets/i18n/fr.json |
Adds French empty-state copy. |
src/assets/i18n/he.json |
Adds Hebrew empty-state copy. |
src/assets/i18n/it.json |
Adds Italian empty-state copy. |
src/assets/i18n/ja.json |
Adds Japanese empty-state copy. |
src/assets/i18n/nl.json |
Adds Dutch empty-state copy. |
src/assets/i18n/ru.json |
Adds Russian empty-state copy. |
src/assets/i18n/sv.json |
Adds Swedish empty-state copy. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
madhavilosetty-intel
previously approved these changes
Oct 13, 2026
rsdmike
force-pushed
the
feat/list-empty-states
branch
4 times, most recently
from
October 13, 2026 17:28
9686773 to
338141c
Compare
rsdmike
force-pushed
the
feat/list-empty-states
branch
from
October 13, 2026 17:35
338141c to
a808bd5
Compare
graikhel-intel
approved these changes
Oct 13, 2026
Replace the bare "No X" heading on the Devices, Profiles, Domains, Wireless, IEEE 802.1x, CIRA and Proxy pages with a shared app-empty-state component: the page's icon, the existing title, a short description of what the items are for and where they get used, and an Add New button that runs the same action as the toolbar button. On Devices the description differs between cloud and Console because the two add dialogs do different things. A tag filter with no matches and the Discovered tab show the title only. The Proxy page gets its own "No Proxy Configs" title, which leaves common.noData unused, so it is removed. Includes i18n strings for all languages.
rsdmike
force-pushed
the
feat/list-empty-states
branch
from
October 13, 2026 17:41
a808bd5 to
4f478ed
Compare
RosieAMT
pushed a commit
that referenced
this pull request
Oct 13, 2026
# [3.71.0](v3.70.0...v3.71.0) (2026-10-13) ### Features * add call-to-action empty states to the list pages ([#3634](#3634)) ([bb1549a](bb1549a))
|
🎉 This PR is included in version 3.71.0 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
RosieAMT
pushed a commit
that referenced
this pull request
Oct 13, 2026
|
🎉 This PR is included in version 3.70.0 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
5 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replaces the bare "No X" heading on the Devices, Profiles, Domains, Wireless, IEEE 802.1x, CIRA and Proxy pages with a shared
app-empty-statecomponent: the page's icon, the existing title, a short description of what the items are for and where they get used, and an Add New button that runs the same action as the toolbar button.On Devices the description differs between cloud and Console because the two add dialogs do different things. A tag filter with no matches and the Discovered tab show the title only.
The Proxy page gets its own "No Proxy Configs" title, which leaves
common.noDataunused, so it is removed. Includes i18n strings for all languages.PR Checklist
What are you changing?
Anything the reviewer should know when reviewing this PR?
If the there are associated PRs in other repositories, please link them here (i.e. device-management-toolkit/repo#365 )