Commit graph

3994 commits

Author SHA1 Message Date
Fabio Manganiello 250858fe99
[Alarm UI] Added snooze/dismiss modal when alarm is running. 2023-12-18 01:36:58 +01:00
Fabio Manganiello aff02e0732
[alarm] Include type='alarm' in Alarm.to_dict().
This is for compatibility with other backend/frontend components who
expect valid entities on events or responses, and hence may break if
`type` is not specified.
2023-12-18 01:13:46 +01:00
Fabio Manganiello 29f65371d8
[Alarm UI] Support for adding/removing alarms. 2023-12-18 00:12:16 +01:00
Fabio Manganiello e617a9fe82
[alarm] Added alarm.delete. 2023-12-18 00:05:34 +01:00
Fabio Manganiello b7423e1c34
Added AlarmEditor component. 2023-12-17 17:53:38 +01:00
Fabio Manganiello 430a111303
[alarm] Better default actions inference in alarm.edit. 2023-12-17 17:53:08 +01:00
Fabio Manganiello b0feb8ed8f
[UI] Fixed regex match for initSelectedPanel. 2023-12-17 17:52:43 +01:00
Fabio Manganiello 9d456281a6
[Entities UI] Removed unrequired z-index on header. 2023-12-17 17:52:15 +01:00
Fabio Manganiello 5972c728a4
[Chore] Upgraded hljs.highlight API.
The old API, (lang, code, ...args), is now deprecated.
2023-12-16 23:49:25 +01:00
Fabio Manganiello b916c98b70
[ProcedureEditor] Emit input upon action changes. 2023-12-16 23:29:57 +01:00
Fabio Manganiello 1bd2361a3d
[TimeInterval] Refresh value on mounted. 2023-12-16 23:27:22 +01:00
Fabio Manganiello d4543c2fb7
Added ProcedureEditor component. 2023-12-16 19:03:46 +01:00
Fabio Manganiello 07a144aadc
[ActionTile] Support for drag and drop. 2023-12-16 19:00:04 +01:00
Fabio Manganiello 837007132d
[FloatingButton] Better default colors. 2023-12-16 18:59:30 +01:00
Fabio Manganiello 3bc27a505f
[UI] setUrlArgs should remove args when value == null. 2023-12-16 18:58:31 +01:00
Fabio Manganiello 065f7d74a5
[ActionTile] Better hover style. 2023-12-16 14:23:46 +01:00
Fabio Manganiello 63767cb87c
[UI] Added ActionTile component. 2023-12-16 14:14:34 +01:00
Fabio Manganiello 7fcffe899e
[ActionEditor] Support for action save/input events. 2023-12-16 14:13:11 +01:00
Fabio Manganiello f9ba4564e7
[Tabs UI] Force height to $tab-height. 2023-12-16 14:12:30 +01:00
Fabio Manganiello 028f48ed49
[Autocomplete UI] Better handling of blur events. 2023-12-16 14:09:04 +01:00
Fabio Manganiello 1dfbe0c12d
Ability to specify a custom initial action for the ActionEditor. 2023-12-14 22:22:10 +01:00
Fabio Manganiello 8bbafd2f7d
Better logic on the UI to parse the current URL fragment arguments. 2023-12-13 21:56:34 +01:00
Fabio Manganiello 9beb10c373
Extracted ActionEditor from the Execute plugin.
So it can be reused in other components that need to handle actions.
2023-12-12 23:33:16 +01:00
Fabio Manganiello 4e85087c0f
Added AlarmEditor component to Alarm. 2023-12-12 22:52:11 +01:00
Fabio Manganiello d4f6d174c8
Added FileSelector UI component. 2023-12-12 21:13:55 +01:00
Fabio Manganiello bac06e9e7b
Added TimeInterval component. 2023-12-12 00:05:46 +01:00
Fabio Manganiello 6edb8c8318
[#340] s/datetime.fromisoformat/dateutil.parser.isoparse/
We may receive JavaScript timestamps with non-standard `Z` suffix too.
2023-12-11 22:24:55 +01:00
Fabio Manganiello 6e7c5def2f
CronEditor should contain the raw cron expression and a copy button. 2023-12-11 22:18:57 +01:00
Fabio Manganiello 00694f4e10
CopyButton events should have a .prevent clause. 2023-12-11 22:18:17 +01:00
Fabio Manganiello 61ef48119f
Apply default input rules to time and datetime-local elements. 2023-12-11 22:17:47 +01:00
Fabio Manganiello 627bb66957
Added CronEditor component. 2023-12-11 00:25:24 +01:00
Fabio Manganiello 894faaad1e
[#340] Force a refresh via alarm.status when Alarm view loads. 2023-12-10 21:53:19 +01:00
Fabio Manganiello b4be56ec2c
[#340] Added condition_type field to alarm objects. 2023-12-10 21:52:50 +01:00
Fabio Manganiello e6e4396e49
Enhanced get_default_media_plugin to filter by video/audio plugins. 2023-12-10 21:50:53 +01:00
Fabio Manganiello 03c167d6b7
[#340] Added Alarm.is_cron property. 2023-12-10 20:58:13 +01:00
Fabio Manganiello 2d8f6102c1
[#340] Added alarm.edit action. 2023-12-10 20:39:06 +01:00
Fabio Manganiello 8ddd9879f2
[#340] Alarm model enhancements.
- Allow initialization of alarm actions from `Procedure` objects too.

- Force `state=WAITING` when an alarm is disabled.
2023-12-10 17:56:47 +01:00
Fabio Manganiello 686085750f
[#340] Added configuration snippet for the new alarm integration. 2023-12-10 15:45:36 +01:00
Fabio Manganiello dfa0727289
[#340] Added alarm UI panel. 2023-12-10 15:33:19 +01:00
Fabio Manganiello 62054e83cc
Remaining entity modal style rules moved from Entities to EntityModal. 2023-12-10 15:32:42 +01:00
Fabio Manganiello 42574d054a
[#340] Ironed out some bugs in the alarm integration.
- The alarm ID should be randomly generated - auto-increment IDs are
  subject to race conditions when alarms are created in separate
  processes.

- Clean up alarms that are not static and have been removed from the db.

- Better alarm shut down detection logic.
2023-12-10 15:30:19 +01:00
Fabio Manganiello ca57d3d7b3
[#340] Initial implementation of the alarm entities UI. 2023-12-09 20:33:11 +01:00
Fabio Manganiello f27e7bb7e2
[#340] Better state management for alarms.
- Added `AlarmEnabledEvent` and `AlarmDisabledEvent`.
- Added `snooze_interval` configurable both at plugin level and alarm
  level.
2023-12-09 17:12:20 +01:00
Fabio Manganiello 34e2a59285
Added optional id attribute to ToggleSwitch. 2023-12-09 16:12:08 +01:00
Fabio Manganiello 4b578c38c8
[#340] Better state management for alarms. 2023-12-09 14:25:18 +01:00
Fabio Manganiello 9d5c755188
[#340] Alarm integration improvements.
- Emit `EntityDeleteEvent` when an alarm is expired and removed so
  clients can properly synchronize their state.

- `croniter.get_next()` should be timezone-aware.
2023-12-09 13:33:42 +01:00
Fabio Manganiello fcb6b621ab
[#340] Added persistence of alarm entities. 2023-12-09 01:25:12 +01:00
Fabio Manganiello 3ffaaa0eb9
Added Procedure.to_dict method.
Also, LINT+black for the `procedure` module.
2023-12-09 01:23:36 +01:00
Fabio Manganiello a6d6fd4067
Message objects enhancements.
- Support smart JSON serialization of `Message` objects.
- Added `Message.to_dict` method.
2023-12-09 01:20:20 +01:00
Fabio Manganiello 5ad1a62293
[#340] Merged alarm backend into the alarm plugin.
Closes: #340
2023-12-06 19:23:19 +01:00