fixes#3096
Adds a new block to allow enabling/disabling rules.
Variables of type Boolean and String are supported. A String with "true"
or "enabled" will be converted to true, all other values will result
into false.
<img width="471" alt="image"
src="https://github.com/user-attachments/assets/30210a96-5adb-4b65-ad45-0e6a082fe486"
/>
I also added Boolean to typed variables as this was missing:
<img width="417" alt="image"
src="https://github.com/user-attachments/assets/30cf9ec1-46bd-45d8-95bc-6fb11ea99a16"
/>
I used "as" because I think this is the most intuitive way of describing
what the block does, in particular when you use "enabled". If anyone has
a better idea to make the block design better, then please provide
feedback. Using a dropdown with Note that "Enable/Disable" ruleUID would
be nicer but would not allow to use variables.
---------
Signed-off-by: Stefan Höhn <mail@stefanhoehn.com>
This PR depends on https://github.com/openhab/openhab-core/pull/4718.
It does several things, but the major points are:
* It enables regeneration of rules based on rule templates from the UI.
Regeneration can be desirable if the rule template has been updated and
you want the rule(s) to reflect the change, or if you wish to change one
of the parameters, for example to make the rule work with a different
Item.
* It restores the display of read-only/unmanaged rules in the UI. It is
currently broken because all read-only rules are forwarded to the script
editor, effectively hiding the rule editor, unless you modify the URL
manually. This is very relevant for
https://github.com/openhab/openhab-core/pull/4633, whose rules will
otherwise be quite meaningless in the UI (they will still work, but you
won't be able to see what they do from the UI).
* It provides a third tab "Source" to the rule editor that shows the
"source script" used to create the rule, if the rule is supplied via a
JSR223 based scripting add-on, *if* the "source script" is embedded as
metadata with the rule. This is the current practice with most JSR223
based scripting add-on provided rules, and is the only situation where
showing read-only rules in the script editor makes any sense. The
"Source" tab is thus a replacement for removing the forwarding to the
script editor. Rules that have embedded "source scripts" will by default
open in the "Source" tab, so that the difference for these rules will be
minimal, while it also allows other read-only rules to work.
In addition to the above points, there are quite a few bug fixes that I
have come over while debugging/testing this.
There's a lot that could be said about the details here, but I know from
experience that if I attempt to describe everything, people won't read
it. So, I tried to make this description brief, and can instead
elaborate on any subjects on demand.
---------
Signed-off-by: Ravi Nadahar <nadahar@rediffmail.com>
Co-authored-by: Yannick Schaus <github@schaus.net>
When zooming, instead of just upscaling the previously loaded chart, a
new chart is built using available width as new chart width. Upscale is
kept and will be used in case the user defined a maximum width for
charts that is lower than the available width.
Closes#3139
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
This suppresses the warning about missing top level directory marker
during build with Maven 4.
The approach to add `.mvn` dir is the option to do it which does not
impact our standard builds with Maven 3.
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
This is a follow-up for #2970.
This applies 2 fixes:
1. Extra non-semantic tag was added with value equal to semantic class
when semantic item was moved.
2. On larger models, SortableJS and Vue DOM updates sometimes got out of
sync. This is solved by forcing SortableJS to use the fallback that does
not directly update the DOM.
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
Closes#2728.
Closes#969.
Allow drag and drop in the model view:
1. Drag and drop inside the semantic model
2. Move items into the semantic model
3. Move between non-semantic groups (and duplicate)
4. Ask for creation of location, equipment or point if item does not
have a semantic class yet when moving into the semantic model
---------
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
This implements a new series type to show state transitions on a timeline diagram.
The additional settings in the oh-state-series (in addition to the oh-time-series) are:
- yValue (optional) - where the timeline center should be on the y axis.
Note, if using categories, it will simply be the index of the category, defaults to 0.
- yHeight (optional) - the unit (in relation to the y-axis coordiate system) of the height of the timeline, defaults to .6.
- mapState (optional) - a function to classify item states to a set of "string" states
- stateColor (optional) - a map of specified colors to use in the graph for each state.
---------
Signed-off-by: Jeff James <jeff@james-online.com>
Relates to: https://github.com/openhab/openhab-webui/pull/3184#issuecomment-2886630684
- Fixes scroll through the three on iOS, immediately moves elements.
- Fixes dirty warning when selecting an Item.
- Fixes editor gets dirty when collapsing the tree.
- Drag and drop also struggled when there were mutiple equal trees. When
dragging one of these, it could not find the proper new position. This
has been fixed as well.
---------
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
- Add an option to display the log in "Text mode" vs "Table mode".
- In Text Mode, the "Copy" button will copy the log as plain text. In
Table Mode, the "Copy" button does what it used to do before.
- Hovering the mouse pointer over the log name reveals the full name
- Clicking on the log line still brings up the detail dialog
- You can select the text, and copy / paste it into a text file
---------
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
This fixes:
- Scrollbar for sitemap tree not visible on narrow screens
- Details sheet not closed resulting in browser error
- Sitemap marked dirty when no icon defined on one of the sitemap
elements
This adds a sitemap element duplicate function. This will duplicate a
sitemap element with all of its sitemap children elements and can
drastically speeds up sitemap creation or editing. Before, the easiest
way was doing this in the code editor. With this change it can easily be
done in the treeview.
---------
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
Clicking Save there would create an invalid module with a missing
language, so just hide the save button.
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
Previously the shortcut Ctrl+Shift+M only worked when the menu wasn't
pinned.
But being able to show the menu is also very handy when the menu was
pinned but hidden because the screen is narrowed.
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
Closes#2961.
This adds a click handler to the log entries, and then displays a popup with the details of this entry.
This allows long entries to be viewed, as well as (finally) multi-line stack traces.
---------
Also-by: Florian Hotze <dev@florianhotze.com>
Signed-off-by: Chris Jackson <chris@cd-jackson.com>
This adds an icon to properties who have values longer then can be
displayed on the thing details page. Clicking this icon brings up the
key and value of the property in a dialog box. This icon only shows if
the value overflows.
---------
Signed-off-by: Dan Cunningham <dan@digitaldan.com>
Make pinned objects persistent within the browser session, so they don't
disappear when closing / reopening the developer sidebar, or when
switching to Help tab and back.
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
Refs https://github.com/openhab/openhab-core/pull/4734.
This solves the problem with YAML format returning the `version` and
`things` (or `items`) keys for each item in multi-select requests. By
combining them into a single request, only one key will be returned at
the top.
---------
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
This shortcut is quite well known from VS Code.
It is basically the same as Cmd+X / Ctrl X, but without putting the deleted stuff into the clipboard.
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
To support https://github.com/openhab/openhab-core/pull/4691
- Refactor file definition code into a mixin to create a consistent UI
in inbox, things-list, items-list, item-details, thing, details, single,
and multi-selection.
- Add `Copy` button in Things List which shows up when multi-selection
is active. This makes it in line with Items list and Inbox
- Standardize the list selection UI for inbox, things, items list.
Action buttons/links are closer together in the center now.
- Remove the selection counter off the buttons to make room. The
selection counter is shown in the list title.
- Use one "Copy" button which opens a dialog to select the file
definition format to export/copy to clipboard.
---------
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
Refs #1427.
This adds a block to the thing information to provide the status of
firmware. It just shows if there are firmwares available, the current
firmware version and the status.
---------
Also-by: Florian Hotze <dev@florianhotze.com>
Signed-off-by: Chris Jackson <chris@cd-jackson.com>
Closes#3146.
Changed label from "Category" to "Icon" to make usage more clear and make it consistent with the documentation.
---------
Signed-off-by: Sebastian Gerber <github@sgerber.de>
Refs https://github.com/openhab/openhab-core/pull/4617.
If the thing provides a default `semanticEquipmentTag`, this will be
used when creating an equipment from thing instead of the default
`Equipment`.
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
Previously, autocomplete for parameter text sometimes did not properly
initialize due to receiving the old config descriptions of the previous
profile type.
This fixes this by making sure the config sheet is re-rendered when the
new profile type config has been loaded.
Signed-off-by: Florian Hotze <dev@florianhotze.com>