Closes https://github.com/openhab/openhab-webui/issues/3104.
As the item picker keys where dependent on the length of the selection,
they got recreated each time something was selected. This made
multi-selection impossible.
---------
Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
This displays the title when the mouse hovers over.
Useful in case the title overflows and is hidden.
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
This restores the behavior before tj-actions was removed. New untracked
files created during build will break the build.
Follow-up to #3106. Consistent to what we merged on core/distro.
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
The GitHub Actions build workflow includes external Actions from 3rd
party repositories. The functionality of tj-actions/verify-changed-files
was used to detect modifications of files under source control during
the build process. The external action is removed and replaced by custom
code. This is less flexible, but does not require an external action in
the build toolchain.
Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
Refs https://github.com/openhab/openhab-core/pull/4569.
This allows us to quickly create the Thing inside a .things file from the discovered Inbox items.
It works when clicking a single inbox entry, and also when multiple entries are selected.
It also adds a count for the number of the selected Things.
---------
Also-by: Florian Hotze <dev@florianhotze.com>
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
- Make Widget Config and Widget Code Editor popups draggable by the
navbar, so they can be moved out of the way to view the widget being
edited
- Preview changes immediately on the widget
- The changes can be reverted if desired by clicking the "Reset" link in
the navbar.
- The changes are reverted if the popup is closed without saving.
- Implement dirty checking confirmation
---------
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
This frees up screen real estate to see more widgets.
In Edit mode, remove the page settings from the top of editor page.
In createMode, it is still shown at the top as before, but a note added where to find the settings later.
---------
Also-by: Florian Hotze <dev@florianhotze.com>
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
Things Filtering/Searching & Selection:
- The Thing count is updated to reflect the number of matches found when
performing search/filtering
- When filtering, the invisible Things (i.e. Things that do not meet the
filter criteria) will be deselected. Only Things within the filtered
result can be selected and acted upon (Remove, Disable, Enable). So if
you first selected all your things (e.g. 100 things) then perform
search/filtering which result in 5 things, then the total selected
Things will now be just 5, and when you hit Remove, only those 5 will be
removed.
- Add `Select All` / `Deselect All`. This also works in tandem with
search/filter. When the filtered result shows only 5 Things, Select All
will only select those 5 Things and not all the available Things on the
system.
- It is possible to search and display multiple Things by separating the
search terms with a comma.
## Preload Things List search
- This allows navigating to Things List page with a pre-defined search
terms, also to support the inbox approval feature
Inbox approval:
- `Add as Thing` and `Add as Thing (with Custom ID)` are merged into
just `Add as Thing`. The subsequent dialog will prompt for both the
Thing ID and the Label in one dialog, removing multiple steps.
- Thing UID / ID validation is performed within the Add a Thing dialog,
and the validation status displayed instantly under the Thing ID input
- It also checks against full UID conflicts against existing Things
- When multiple inbox items are selected and `Approve` is clicked, the
user will be redirected to the `Things List` page, with pre-set filter
to show all and only the approved Things.
---------
Also-by: Florian Hotze <dev@florianhotze.com>
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
Resolves#3054.
- Refactor how the current url is checked inside app.vue.
- Fix a bug where `Settings` menu item in the sidebar isn't highlighted
when viewing the Transformation and Persistence sections.
- Add a new `browserTitle` config for pages other than the `overview` page
- Hide "Sidebar & Visibility" and "Tags" input for the `overview page`.
This frees up some screen real estate for editing widgets
- Every page has a custom browser page title:
- Pages will use its `browserTitle` || `label` config
- Overview page will just use `label` since it's not used elsewhere
- For other pages, use the section menu's text, so if/when this gets
internationalized, the title will also change
- Settings -> System Settings will use `Settings - <navbar title> -
openHAB` and so it's also automatically localized as the navbar title gets localized.
- Settings -> Addon settings will use `<navbartitle> - openHAB` because
the navbar title always starts with "Configure....". Adding "Settings -" in front of it would seem redundant.
- Things/Items/Widgets/Add-on Store/Pages/Rules/Scripts/Scenes will show
`[X] - [uid] - openHAB` e.g. `Things - mqtt:topic:xxx - openHAB`
---------
Also-by: Florian Hotze <dev@florianhotze.com>
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
This allows to load locales from multiple sub dirs, e.g.:
```js
loadLocaleMessages(require.context('@/assets/i18n/about'), require.context('@/assets/i18n/empty-states'))
```
Signed-off-by: Florian Hotze <dev@florianhotze.com>
It has always been a pain point when the menu is not pinned,
getting back to it is very difficult, involving several "back" clicks,
and sometimes it also gets lost and it became impossible without a full
browser refresh.
This adds a shortcut Alt-Shift-M (similar to Alt-Shift-D) to show the
menu whereever you are.
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
Fixes#3077.
- allows multiple tags variables
- adds array support
- more resilient by trimming away spaces in tags
Signed-off-by: Stefan Höhn <mail@stefanhoehn.com>
Closes#3075.
Provides a block that allows to update a dictionary that was assigned to
a (named) variable.
Signed-off-by: Stefan Höhn <mail@stefanhoehn.com>
This simplifies the sortpom configuration and also allows for checking
and reformatting them using the spotless:check and spotless:apply Maven
goals.
Similar to openhab/openhab-core#4618
Signed-off-by: Wouter Born <github@maindrain.net>
This offers a more convenient way to create a temporary copy when
editing/experimenting with a page.
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
- Added support in script-edit.vue for new/imminent graal python
binding.
- Removed hard-coding of commentChar and pulled from restructured
annotation-language.js definition.
- Refactored the annotation-language.js definition implementation.
---------
Signed-off-by: Jeff James <jeff@james-online.com>
This is the UI side of the enhancements to a) receive historical logs
from the OH server, and b) improve performance by receiving arrays of
log entries rather than just single entries.
It does work with the existing log system since it will work with both
single log entries (as currently used) and arrays of logs. Due to the
change in format, the filter requests do log a parse error since it now
uses a DTO with a number of bits of data rather than just an array of
loggers, but this doesn't impact anything else. Therefore it is safe to
merge this before the core is merged (although it's probably best to
wait a little to ensure there's no major comments to the core side!).
This also fixes a minor bug where the number of filtered logs may be
incorrectly displayed.
With this and the core changes, I can display full zigbee debug - it's
about 2000 lines in 15 seconds (or put another way, the log buffer shows
about 15 seconds of data). The log remains responsive (I can change the
logging levels back). Possibly the log buffer can/should be increased
more than 2000 entries, but that's for another day...
Core PR coming soon...
Signed-off-by: Chris Jackson <chris@cd-jackson.com>
Resolve#3052.
Also add automatic item name generation as the label is typed (only when
name hasn't been entered).
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
Fix the following scenario:
- "search for usages of this item" for Item A is clicked
- Sidebar opens and sets `searchFor=itemA` preloads the search as
requested
- User then types new query in the sidebar, meanwhile the searchFor prop
remains unchanged
- Clicking on "search for usages of this item" for item A again, caused
no changes in `searchFor`, as a result, the watch for this prop didn't
fire
This PR fixes this situation by resetting the searchFor prop, therefore
causing the watch to perform the search again.
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
Canvas Layout: Fix embedding SVG errors
- When imageUrl is not configured, don't show/log an error message
- When imageUrl is not an SVG file, or
- When there's an error fetching the SVG file, show a toast message
- When flashing the embedded svg
- Show a toast message when flashing, but no 'openhab' elements were
found
---------
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>