Commit Graph

44 Commits

Author SHA1 Message Date
Fabio Manganiello 91daec579d
Reverted to the previous style for entities on mobile.
Better to use screen width wisely and avoid unnecessary padding.
2023-05-17 01:13:09 +02:00
Fabio Manganiello d4f8e51caf
A less blocking implementation of the entities loading UI logic. 2023-05-12 03:49:20 +02:00
Fabio Manganiello 6cd9cb6e76
Better entities caching on the frontend. 2023-05-12 03:18:22 +02:00
Fabio Manganiello 78c12212c6
[#260] A simple entities caching mechanism using the browser storage. 2023-05-10 02:26:06 +02:00
Fabio Manganiello 4f78d61223
Improved UI on mobile. 2023-05-06 12:34:27 +02:00
Fabio Manganiello 8af3ae17b8
A more efficient way of detecting the entity groups to display.
Instead of iterating over each of the entities in a grouping to find out
which groups should be displayed based on the selector's policy, the
selector can directly keep its `selectedGroups` attribute in sync with
the index.
2023-05-05 02:33:34 +02:00
Fabio Manganiello a06d0ef6a1
Merged all the items in the entities panel's header in the Selector component. 2023-05-03 03:14:46 +02:00
Fabio Manganiello 9922305ac5
Fixed grouping for `entityGroups.id`.
Unlike the other entity groupings, which are 4-layered (`grouping ->
group -> entity_id -> entity`), the grouping by ID only needs 3 layers
(`grouping -> entity_id -> entity`).
2023-05-03 02:09:51 +02:00
Fabio Manganiello 68359b88a9
More performance improvements for the entities page.
- Don't recalculate entity groups every time. Instead, keep them in sync
  every time an entity is added or removed.

- Removed `computedChildren` from the entity component - no null nodes
  are guaranteed to be passed now, so there's no need for another
  iteration on the list of children.

- `childrenByParentId` now only looks in the scope of the entity's
  children instead of searching all the entities.
2023-05-02 10:14:03 +02:00
Fabio Manganiello 835ad9f2dc
Use plugin as a default entity grouping instead of category 2023-05-01 10:06:11 +02:00
Fabio Manganiello a3839e637d
Set a max-width: 600px for group containers. 2023-05-01 01:22:02 +02:00
Fabio Manganiello cbf0ea8a19
Style fixes for mobile screens. 2023-04-29 22:45:10 +02:00
Fabio Manganiello 6d9c34f06f
Added VariableModal to set variables from the dashboard. 2023-04-29 18:20:41 +02:00
Fabio Manganiello 4842c1911b
Frontend entities should have a reference to `allEntities`.
There are probably more optimal ways of achieving this other than
passing a reference to the full list of entities to each of the
entities, such as running a BFS to recursively expand all the entities
within the child hierarchy of an entity.

This is needed because the entity needs to know which entities aren't
direct children, but are two or more layers down in the hierarchy, so
they should be passed to their own child entities.
2023-04-17 02:25:03 +02:00
Fabio Manganiello 5dd95362a1
Include links both to the parent and children entities in EntityModal. 2023-03-22 16:20:29 +01:00
Fabio Manganiello e9abb5cb9a
Implemented support for child entities in entity modals. 2023-03-21 16:02:02 +01:00
Fabio Manganiello 241670c9d0
Handle parent/child update events through broadcast bus events 2023-01-21 16:58:28 +01:00
Fabio Manganiello afd9a1d6bf
Don't load entities that only have non-queriable children 2023-01-14 22:33:53 +01:00
Fabio Manganiello c215c693f5
Only pass children that aren't configuration values to the entities 2023-01-03 23:25:43 +01:00
Fabio Manganiello 7868d6fe37
Support for nested configuration objects on entity modals 2023-01-03 23:16:14 +01:00
Fabio Manganiello 80c2c77272
Support for entities with children on the frontend 2023-01-01 23:06:40 +01:00
Fabio Manganiello ecba72935f
Check for table metadata existance in `Base.metadata` instead of having a separate entity registry 2022-12-04 16:28:46 +01:00
Fabio Manganiello b1a7a7d915
Fixed little overlap between the entities' header and the navigator 2022-11-27 12:56:39 +01:00
Fabio Manganiello 37254cad1a
Mobile UI improvements 2022-11-26 01:16:07 +01:00
Fabio Manganiello f90d84a3d4
Don't wait for UI updates for entities that are not queriable 2022-11-13 00:54:37 +01:00
Fabio Manganiello 7db84acd34
Notify of entity scan timeouts on the console instead of creating tons of notifications 2022-11-02 22:24:06 +01:00
Fabio Manganiello 3d1a08f7af
Changed default entity grouping on the frontend.
Changed from `type` to `category`, which is basically the `name_plural`
attribute of the associated entity type metadata.

This allows us to define distinct entity metadata entries that we still
want to share the same grouping - for instance, `temperature_sensor`,
`humidity_sensor` and `battery` should all be grouped under `Sensors` on
the frontend.
2022-11-02 16:33:12 +01:00
Fabio Manganiello 5aa3750807
Re-sync the list of entities when the entities component is mounted 2022-05-01 15:34:45 +02:00
Fabio Manganiello d261b9bb9b
Frontend support for entities deletion 2022-04-24 21:40:10 +02:00
Fabio Manganiello 321a61d06d
Align .section.right content to the right 2022-04-24 11:30:52 +02:00
Fabio Manganiello 8e2154f2b5
Do not overwrite an entity's state from an event if the state was not sampled 2022-04-24 01:41:45 +02:00
Fabio Manganiello 135965176d
Support for entity icon color change 2022-04-23 17:52:21 +02:00
Fabio Manganiello ef6b57df31
Added entity info modal and (partial) support for renaming entities 2022-04-23 01:01:14 +02:00
Fabio Manganiello 7d4bd20df0
Support for individual entity group refresh 2022-04-19 23:56:49 +02:00
Fabio Manganiello e6bfa1c50f
Better dynamic entities discovery 2022-04-13 11:25:14 +02:00
Fabio Manganiello b35c761a43
Fixed entities panel mobile layout 2022-04-12 22:24:19 +02:00
Fabio Manganiello 08c0779347
<style> on entity components should be scoped 2022-04-12 16:00:31 +02:00
Fabio Manganiello 595ebe49ca
Support for entity scan timeout errors and visual error handling 2022-04-12 15:58:19 +02:00
Fabio Manganiello 20530c2b6d
Loading events are now synchronized both ways upon entity action/refresh 2022-04-12 01:10:09 +02:00
Fabio Manganiello 9ddcf5eaeb
Implemented entities refresh on the UI 2022-04-12 00:43:22 +02:00
Fabio Manganiello 72617b4b75
Handle EntityUpdateEvents on the UI 2022-04-11 23:16:29 +02:00
Fabio Manganiello 532217be12
Support for filtering entities by search string 2022-04-10 17:57:51 +02:00
Fabio Manganiello f301fd7e69
Added standard NoItems component to handle visualization of no-results divs 2022-04-10 14:27:32 +02:00
Fabio Manganiello 58861afb1c
Added entities panel 2022-04-10 13:07:36 +02:00