feat: add tabs, product type column, and discovered field#3417
Draft
ShradhaGupta31 wants to merge 1 commit into
Draft
feat: add tabs, product type column, and discovered field#3417ShradhaGupta31 wants to merge 1 commit into
ShradhaGupta31 wants to merge 1 commit into
Conversation
ShradhaGupta31
force-pushed
the
device-discovery-UI-changes
branch
6 times, most recently
from
July 13, 2026 14:57
2daa143 to
a98454e
Compare
ShradhaGupta31
force-pushed
the
device-discovery-UI-changes
branch
from
July 14, 2026 06:33
a98454e to
e1fdf15
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
Adds UI affordances on the Devices page to segment devices by status and expose additional device metadata, extending the device model to support a “discovered” flag and deriving a “Product Type” column from fwSku.
Changes:
- Adds
discovered?: booleantoDeviceInfo. - Introduces a
mat-tab-groupwith All / Activated / Discovered tabs and client-side tab filtering with per-tab counts. - Adds a “Product Type” table column computed from the firmware SKU bitmask.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 6 comments.
| File | Description |
|---|---|
| src/models/models.ts | Extends DeviceInfo with an optional discovered flag used by the new UI filtering. |
| src/app/devices/devices.component.ts | Adds tab state + filtering, stores server total count, and introduces getProductType() for the new column. |
| src/app/devices/devices.component.html | Adds the tabs UI and renders the new Product Type column in the device table. |
Comments suppressed due to low confidence (1)
src/app/devices/devices.component.ts:193
- The Product Type column is marked sortable (mat-sort-header), but MatTableDataSource will sort by a 'productType' property that doesn't exist on Device. As a result, sorting by this column will not work unless a sortingDataAccessor is provided.
constructor() {
this.selectedDevices = new SelectionModel<Device>(true, [])
this.powerStates = this.devicesService.PowerStates
if (!this.isCloudMode) {
this.displayedColumns = [
'select',
'hostname',
'productType',
'tags',
'actions',
'notification'
]
}
}
ShradhaGupta31
force-pushed
the
device-discovery-UI-changes
branch
3 times, most recently
from
July 20, 2026 12:11
c6bc8b9 to
c922b08
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 16 out of 17 changed files in this pull request and generated 1 comment.
Comments suppressed due to low confidence (1)
src/app/devices/devices.component.ts:168
- applyTabFilter() currently sets totalCount to the locally filtered page size for tabs 1/2, while the data itself is still coming from a server-paginated request ($top/$skip). This makes the paginator length inconsistent and (combined with the template gating) prevents users from navigating to other pages while on Activated/Discovered tabs. Also, the new Product Type column is marked sortable in the template, but MatTableDataSource sorting will not work for a computed value unless a sortingDataAccessor is provided.
private applyTabFilter(): void {
let filtered: Device[]
switch (this.activeTab()) {
case 1:
filtered = this.allDevicesData.filter(
(d) => d.deviceInfo?.currentMode != null && d.deviceInfo.currentMode !== 'not activated'
)
this.totalCount.set(filtered.length)
break
case 2:
filtered = this.allDevicesData.filter((d) => d.deviceInfo?.discovered === true)
this.totalCount.set(filtered.length)
break
default:
filtered = this.allDevicesData
this.totalCount.set(this.serverTotalCount)
break
}
this.devices.data = filtered
}
ShradhaGupta31
force-pushed
the
device-discovery-UI-changes
branch
from
July 21, 2026 07:36
c922b08 to
4158eee
Compare
ShradhaGupta31
added a commit
that referenced
this pull request
Jul 21, 2026
- Add All/Activated/Discovered tab group to devices list - Add Product Type column derived from fwSku bitmask (ISM/vPro) - Add discovered field to DeviceInfo model - Show paginator on all tabs using server total count - Add i18n keys for tab labels and Product Type header in all 12 locales - Add unit tests for getProductType and tab filter logic - Fix cdk-overlay-backdrop leak in device.spec.ts cypress test Resolves: #3417
ShradhaGupta31
force-pushed
the
device-discovery-UI-changes
branch
2 times, most recently
from
July 22, 2026 06:11
b68d35c to
0681000
Compare
ShradhaGupta31
added a commit
that referenced
this pull request
Jul 22, 2026
- Add All/Activated/Discovered tab group to devices list - Add Product Type column derived from fwSku bitmask (ISM/vPro) - Add discovered field to DeviceInfo model - Show paginator on all tabs using server total count - Add i18n keys for tab labels and Product Type header in all 12 locales - Add unit tests for getProductType and tab filter logic - Fix cdk-overlay-backdrop leak in device.spec.ts cypress test Resolves: #3417
ShradhaGupta31
force-pushed
the
device-discovery-UI-changes
branch
2 times, most recently
from
July 22, 2026 11:26
90be1cd to
3dba353
Compare
- Add All/Activated/Discovered tab group to devices list - Add Product Type column derived from fwSku bitmask (ISM/vPro) - Add discovered field to DeviceInfo model - Show paginator on all tabs using server total count - Add i18n keys for tab labels and Product Type header in all 12 locales - Add unit tests for getProductType and tab filter logic - Fix cdk-overlay-backdrop leak in device.spec.ts cypress test Resolves: #3417
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.
Addresses: #3432
UI after this change:
