Commit Graph

1905 Commits (main)

Author SHA1 Message Date
Jimmy Tanagra 86f452217c Rule Edit: Collapse list of templates in an accordion
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
Signed-off-by: Florian Hotze <dev@florianhotze.com>
2025-11-03 18:06:13 +01:00
Jimmy Tanagra 2a780dbe49 Rule Edit: sort template list alphabetically
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2025-11-03 18:06:13 +01:00
Jimmy Tanagra e30b877f41 Rule Edit: use computed var for page title
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2025-11-03 18:06:13 +01:00
jimtng bd2a9b0054
Rules, Items, Things Lists: Allow filtering by editability, item type, thing status (#3308)
Resolves #3303.

This PR adds various filters to:
- Things List:
  - Filter by Kind: editable, non-editable
  - Filter by Thing Status
- Items List:
  - Filter by Kind: editable, non-editable
  - Filter by Item Type
- Rules List:
  - Filter by Kind: editable, non-editable, marketplace, template-based
  - Filter by Tag (existing filter)

A common component `list-filter` is added to display and perform the
bookkeeping of the filter selections.

The internal structure of the lists is defined with this general idea,
which is uniform across the three lists involved in this PR:
- Raw items (things, rules, items) 
   - filteredItems (with the filters applied)
      - listedItems (what is being displayed by the list)

---------

Also-by: Florian Hotze <dev@florianhotze.com>
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2025-11-03 14:51:18 +01:00
Jeff James dcfefb5cee
oh-input: Select a default input type based on Item type (#3417)
Fixes https://github.com/openhab/openhab-webui/discussions/3381#discussioncomment-14839964.

A default HTML input type will be used based on the openHAB item type.
The user can still override by typing in a different type.

Further changes:

- placeholder of field in the item-metadata-widget will be the default
type value (based on item type) to make clear default value is being
used

---------

Signed-off-by: Jeff James <jeff@james-online.com>
2025-11-03 14:50:01 +01:00
jimtng 317d55b3ed
Developer Sidebar: Add "Saved Pins" to save and reload a set of pinned objects (#3318)
Resolve #3224.

---------

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2025-11-03 11:45:34 +01:00
stefan-hoehn f9c1b23b20
[blockly] Add logic block to AND/OR multiple conditions (#3359)
New Block that allows to AND or OR multiple conditions based on an idea posted in the community:
https://community.openhab.org/t/blockly-and-and-or-blocks-with-multiple-inputs-mutuator/166107

---------

Signed-off-by: Stefan Höhn <mail@stefanhoehn.com>
2025-11-03 11:09:32 +01:00
Jeff James da95c8fe61
Refactor variable-mixin to be imported module vs. mixin (#3420)
For composition API usage in the future, mixins need to be converted to
composables or other module imports.
This refactors the variable-mixin to be function imports from a module.
As the mixin only included methods, this was straightforward, requiring
no code changes to the functions.

---------

Signed-off-by: Jeff James <jeff@james-online.com>
2025-11-03 11:00:38 +01:00
Florian Hotze 0758b07bff
Add-ons store: Fix "Show 0 More" button is shown (#3424)
Fixes #3383.

Signed-off-by: Florian Hotze <dev@florianhotze.com>
2025-11-02 20:34:45 +01:00
Florian Hotze 2ac944bda5
Add-ons store: Fix back button invisible with filled theme (#3423)
Regression from #3350.

Signed-off-by: Florian Hotze <dev@florianhotze.com>
2025-11-02 20:31:01 +01:00
Florian Hotze 51f175056c
Fix missing nav title in about page & add-ons store (#3422)
Regression from #3350.

Signed-off-by: Florian Hotze <dev@florianhotze.com>
2025-11-02 20:26:37 +01:00
Jeff James b65d0656fc
Developer bar: Fix modal control not showing when clicking on pinned item (#3418)
Regression from #3350.

Signed-off-by: Jeff James <jeff@james-online.com>
2025-11-02 20:00:24 +01:00
Jeff James 94f73d5c23
Fix disable card animations setting (#3421)
Regression from #3350.

Signed-off-by: Jeff James <jeff@james-online.com>
2025-11-02 19:44:17 +01:00
Jeff James 9c86c9f9c8
Fix back-link url in health-overview (#3419)
Regression from #3350.

Signed-off-by: Jeff James <jeff@james-online.com>
2025-11-02 19:43:15 +01:00
Дилян Палаузов 4eb0779d00
[basicUI] ColorpickerRenderer.java: remove comment about jquery.miniColors (#3400)
The deleted text was just copied from
bundles/org.openhab.ui.classic/src/main/java/org/openhab/ui/classic/internal/render/ColorpickerRenderer.java

At commit 30dfe0d9ee
bundles/org.openhab.ui.classic/src/main/resources/snippets/colorpicker.html
has required jquery.minicolors, and
bundles/org.openhab.ui.basic/src/main/resources/snippets/colorpicker.html
has not required it.

So the deleted text was never correct.
2025-11-01 07:05:31 +01:00
Dan Cunningham f9e9555320
Video widget enhancements (#3368)
This adds a few enhancements to the video widget:

- 2-way audio support for WebRTC streams
- Option to start video muted
- Support for Image and String items for the poster image 

---------

Signed-off-by: Dan Cunningham <dan@digitaldan.com>
2025-10-31 17:59:49 +01:00
jimtng 3fa12cea08
Semantic Tags Editor: Require tag names to be capitalized (#3415)
In addition to https://github.com/openhab/openhab-webui/pull/3410.

Matches the core validation:
b1670ec2fa/bundles/org.openhab.core.semantics/src/main/java/org/openhab/core/semantics/internal/SemanticTagRegistryImpl.java (L130)

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2025-10-31 17:53:13 +01:00
Florian Hotze 980cbed04c
Main UI CI: Run Type-Checking tool (#3416)
Signed-off-by: Florian Hotze <dev@florianhotze.com>
2025-10-31 17:46:01 +01:00
Florian Hotze 295963e99b
Refactor `$oh` WS and SSE utils to TypeScript (#3414)
Signed-off-by: Florian Hotze <dev@florianhotze.com>
2025-10-31 17:43:28 +01:00
Florian Hotze 5b2ad7ee5c
Developer Tools: Fix reactivity issues for SSE/WS test where entries stayed (#3413)
This was due to duplicate keys.

Signed-off-by: Florian Hotze <dev@florianhotze.com>
2025-10-31 17:30:33 +01:00
Florian Hotze 9f3f399a59
app.styl: Address TODO-V3.1 comments (#3412)
Follow-up PR for #3350.

Signed-off-by: Florian Hotze <dev@florianhotze.com>
2025-10-31 14:59:33 +01:00
Jeff James b95415d961
oh-state-series: Fix issues with fixed time duration charts (#3409)
Fixes #3408.

oh-state-series for fixed duration periods (State series not working in
non-dynamic modes (i.e. day, month, ...) did not work. To calculate the
min / max values for the time axis, a callback function is used where
echarts provides the min/max values of the dataset. Since echarts does
not kow about the x value in custom series dataset, the provided min/max
values are NaN. To correct, we now check for isNaN and return the bounds
for the chart itself.

Also, some minor adjustments in the dataset parameters and clipping is
now done by echarts by setting series.clip=true.

Signed-off-by: Jeff James <jeff@james-online.com>
2025-10-31 14:59:20 +01:00
Florian Hotze 737b40dbd7
Fix oh-input not rendering a HTML input (#3411)
Fixes
https://github.com/openhab/openhab-webui/discussions/3381#discussioncomment-14832656.
Tested on Chrome Linux and Safari iOS 26.

Regression from the big upgrade PR.

Signed-off-by: Florian Hotze <dev@florianhotze.com>
2025-10-31 14:36:22 +01:00
dependabot[bot] 864ca32ad7
Bump tar from 7.5.1 to 7.5.2 in /bundles/org.openhab.ui/web (#3406)
Bumps [tar](https://github.com/isaacs/node-tar) from 7.5.1 to 7.5.2.

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-31 13:53:53 +01:00
Jeff James c058c1989f
Transformations list: Persist & restore last search query (#3404)
Persistence was never implemented for the search box for
transformations. This was part of the TODO-V3.1 updates required.

Signed-off-by: Jeff James <jeff@james-online.com>
2025-10-31 13:50:51 +01:00
Jeff James 58b8a71f85
Better clarity for rule-edit alert dialog when missing label or id (issue #3379) (#3407)
Fixes #3379.

Signed-off-by: Jeff James <jeff@james-online.com>
2025-10-31 13:36:09 +01:00
jimtng fa8a9bd736
Semantic Tags Editor: Don't allow dashes in tag names (#3410)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2025-10-31 11:59:01 +01:00
Jeff James f9a1629637
Fixed import issues/their workarounds for production build (#3399)
Moved import in troublesome locations to <script setup> vs. importing asynchronously

Signed-off-by: Jeff James <jeff@james-online.com>
2025-10-30 22:07:19 +01:00
Florian Hotze f881303dcd
Locations tab: Fix JS error (#3405)
Regression from #3344.

Signed-off-by: Florian Hotze <dev@florianhotze.com>
2025-10-30 21:50:34 +01:00
Jeff James 5c4d14ab1b
Fix for oh-canvas-item: Upgrade vue-draggable-resizable to 3.0.0 & modify import (#3397)
Fixes https://github.com/openhab/openhab-webui/discussions/3381#discussioncomment-14806528.

- Moved import vue-draggable-resizable.css and component to <script setup> to eliminate need to dynamically import
- Updated vue-draggable-resizable to 3.0.0
- Fixed lint error in chart-mixin with Duration import

---------

Signed-off-by: Jeff James <jeff@james-online.com>
2025-10-30 21:46:51 +01:00
Florian Hotze ddf5358e35
Fix f7-list-input has y overflow due to added padding (#3403)
Signed-off-by: Florian Hotze <dev@florianhotze.com>
2025-10-30 21:45:40 +01:00
Jeff James 7829c11e60
Change access to f7.utils to avoid TypeScript error (#3401) 2025-10-30 15:54:32 +01:00
Jeff James a65c9fa79b
Fixes i18n typescript errors to eliminate the @ts-expect-error (#3402) 2025-10-30 15:51:33 +01:00
Mark Herwege 91d22b9843
Location card light badge and sub-equipment (#3344)
Resolves
https://github.com/openhab/openhab-webui/issues/3325#issuecomment-3219709449

This reverts part of the logic in https://github.com/openhab/openhab-webui/pull/3239.

---------

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
2025-10-30 15:44:06 +01:00
jimtng 4253d4f5f1
Pin icons: Make "pinned" state icon solid and "unpinned" state outlined. (#3288)
The way the "pin" icons are currently displayed:

When an item is pinned, the pin icon is shown as red with slash. This
makes me wonder: is this item currently pinned or not?

So instead of the icon showing what will happen when it's clicked, show
the current state (is it currently pinned or unpinned). Clicking it will
toggle it.

Furthermore, when it's unpinned, show it as gray color, and when it's
pinned, show it as blue, indicating that "yes it's pinned".

-----

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2025-10-30 15:39:05 +01:00
jimtng 6015198ca6
Semantic Tags Editor: Add a lock icon on non-editable tag (#3315)
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
2025-10-30 15:31:46 +01:00
Florian Hotze 20795a4cad
Clean-up command event emit/listening for generic-widget-component.vue (#3396)
Signed-off-by: Florian Hotze <dev@florianhotze.com>
2025-10-28 19:57:49 +01:00
Florian Hotze 3db807a7b1
Charts: Add support for selecting markers & Add current time marker (#3336)
This adds support for selecting markers for time and aggregate series on
chart pages.
It also adds a current time marker that allows to mark the current time
in a chart.

---------

Signed-off-by: Florian Hotze <dev@florianhotze.com>
2025-10-28 18:37:00 +01:00
Florian Hotze 12497cda66
Charts: Add support for mixed past/future charts (#3337)
Modifies the future parameter to allow configuring the proportion of the
period extending into the future.
Backwards compatibility with the old boolean parameter is kept.

---------

Signed-off-by: Florian Hotze <dev@florianhotze.com>
2025-10-28 18:32:11 +01:00
stefan-hoehn a308e64f9e
[blockly] fix zdt copy_of nano handling (#3361)
Fixes #3188 

The root of the problem is that the underlying time library does not
support to set the nanoseconds only. Nanoseconds also contain the millis
and the micros. As a result, for example changing only microseconds
requires to merge the new microseconds between the millis and the actual
nano seconds. The has now been fixed in the copy-of method that allows
to overwrite them individually. 

As a side effect or natural consequence, _nanoTotal_ was introduced to
retrieve the >whole< nanoseconds including millis an micros, whereas
_nano_ only retrieves the actual nanoseconds.

**Important side note or warning:** 

When retrieving the current datetime with _now_ there is a precision
limitation within javascript that will only return a time with precision
milliseconds! This means that micros and nanos are always set to zero.
This is not an openHAB limitation but one that relates to javascript
only.

Signed-off-by: Stefan Höhn <mail@stefanhoehn.com>
2025-10-28 18:16:16 +01:00
Christoph Weitkamp 0f6f2a49b1
Use user defined axis name if set, otherwise use a default name (#3390)
Fixes #3389.

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2025-10-28 18:14:16 +01:00
stefan-hoehn 20db04f6fb
[blockly] change event attributes, add return block (#3376)
Depends on: https://github.com/openhab/openhab-addons/pull/19443

The event object/attributes in script actions and conditions is now the
same as in JSRule and Rule Builder.
Backwards compatibility will be retained for some time, though it is
advised to adjust, which is done in this PR according to:

51f164dc9f/src/rules/rules.js (L471)

Additionally **a new return block** was added to the "Run & Process" category with return parameter.

1) The block without a return parameter is a nice improvement to easily
leave a script without using non-elegant if/else statements. Bei adding
the return statement the script is immediately ended. In this case the
return parameter is not important.
2) By adding a return parameter (in particular true or false) this can be used for script conditions

---------

Signed-off-by: Stefan Höhn <mail@stefanhoehn.com>
2025-10-28 18:12:16 +01:00
Jeff James c1ff7dcf99
Initial port to Vue3, vite, Framework7 v7.1.5, pinia stores, codemirror 6, vue-i18n v11, ... (#3350)
Closes #2151.

Fully functioning release.
There are some things left to do, see #3378.

Please report issues in this GitHub discussion:
https://github.com/openhab/openhab-webui/discussions/3381
We will then decided how critical the reported bug issue and depending
on that, fix it right now or put it on the to do lost:
https://github.com/openhab/openhab-webui/issues/3378

---------

Also-by: Florian Hotze <dev@florianhotze.com>
Signed-off-by: Jeff James <jeff@james-online.com>
2025-10-28 17:17:20 +01:00
dependabot[bot] 1ac744b298
Bump org.apache.maven.plugins:maven-plugin-plugin from 3.15.1 to 3.15.2 (#3395)
Bumps
[org.apache.maven.plugins:maven-plugin-plugin](https://github.com/apache/maven-plugin-tools)
from 3.15.1 to 3.15.2.

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-27 22:44:20 +01:00
dependabot[bot] 0a05b77397
Bump org.apache.maven.plugins:maven-antrun-plugin from 3.1.0 to 3.2.0 (#3394)
Bumps
[org.apache.maven.plugins:maven-antrun-plugin](https://github.com/apache/maven-antrun-plugin)
from 3.1.0 to 3.2.0.

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-27 22:42:58 +01:00
dependabot[bot] f0117c8187
Bump actions/upload-artifact from 4 to 5 (#3392)
Bumps
[actions/upload-artifact](https://github.com/actions/upload-artifact)
from 4 to 5.

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-27 14:39:45 +01:00
dependabot[bot] 950c00a577
Bump relative-ci/agent-action from 3.0.1 to 3.1.0 (#3385)
Bumps
[relative-ci/agent-action](https://github.com/relative-ci/agent-action)
from 3.0.1 to 3.1.0.

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-22 12:01:29 +02:00
dependabot[bot] 2b12da04f8
Bump actions/setup-node from 5 to 6 (#3386)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 5
to 6.

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-22 12:00:17 +02:00
Florian Hotze 287d21693b
Declare property types, emits & Formatting changes (#3380)
Related to ##3350.
This should minimize the amount of changed files and lines at least a
bit.

---------

Signed-off-by: Florian Hotze <dev@florianhotze.com>
2025-10-12 20:40:51 +02:00
Florian Hotze c03379a633
[habot] Fix ActionHandler nullness annotation (#3377)
Refs https://github.com/openhab/openhab-core/pull/4974.

Signed-off-by: Florian Hotze <dev@florianhotze.com>
2025-10-11 14:53:09 +02:00