emqx / MQTTX

A Powerful and All-in-One MQTT 5.0 client toolbox for Desktop, CLI and WebSocket.
https://mqttx.app
Apache License 2.0
3.93k stars 450 forks source link

Topics Tree #1771

Closed ysfscream closed 1 month ago

ysfscream commented 2 months ago

PR Checklist

If you have any questions, you can refer to the Contributing Guide

What is the current behavior?

Please describe the current behavior and link to a relevant issue.

Issue Number

Example: #1244

What is the new behavior?

  1. Event Bus: A global event bus has been implemented to support listening to MQTT packets across all components.

  2. Topic Tree View Component: A new component for visualizing MQTT topics in a tree structure has been added.

  3. Tree Node Information: A new component to display detailed information about selected nodes has been introduced.

  4. Real-time Topic Updates: The topic tree is updated in real-time as new MQTT packets are received.

  5. Topic Filtering: Users can filter topics in the tree view using keywords.

  6. Viewer Page: A new "Viewer" page has been added to the application, currently featuring the Topics Tree tab.

  7. Multilingual Support: New translations for the viewer and related components have been added.

  8. Tree Node Metadata: The tree view now displays additional metadata for each node, such as sub-topic and message counts.

  9. Message Payload Display: The latest payload is displayed along with metadata like QoS and retains a flag for topics with messages.

  10. Responsive Layout: The viewer page uses a responsive layout with separate columns for the tree view and node information.

  11. Theme Support: The new components are designed to work with the application's existing theme system.

  12. Connection-based Grouping: Topics are grouped under their respective connection hosts in the tree view.

image

Please describe the new behavior or provide screenshots.

Does this PR introduce a breaking change?

Specific Instructions

Are there any specific instructions or things that should be known prior to review?

Other information