feat(xo-stack): implement Query Builder#9488
Merged
Conversation
9dfb0fe to
65aae96
Compare
f6fed0e to
2b87bed
Compare
f786dd6 to
cbdb043
Compare
5b95785 to
9df8928
Compare
17e660a to
c92925c
Compare
pdonias
approved these changes
Feb 23, 2026
…ndling - Add TypeScript declarations for all exported classes and functions - Improve property access with lodash get for nested properties - Enhance TruthyProperty to handle objects and arrays - Update ESLint config for TypeScript declaration files - Bump package version to 1.1.0
Replace device-oriented breakpoint names (mobile/desktop/desktopLarge) with size-based semantic names (small/medium/large) across the codebase. This change improves clarity since screen size doesn't reliably indicate device type - a tablet can have a "desktop" width, and responsive design is fundamentally about viewport dimensions, not devices. Changes: - CSS custom media: --mobile → --small, --desktop → --medium - Store properties: isMobile → isSmall, isDesktop → isMedium, isDesktopLarge → isLarge - Add new composite breakpoints: isSmallOrMedium, isMediumOrLarge, --small-or-medium, --medium-or-large Breakpoint values remain unchanged: - small: < 1024px - medium: 1024px - 1439px - large: >= 1440px
VtsSelect: Removes the unneeded Teleport which cause tab index issues VtsSelect: Expose a focus method to be able to focus the trigger from external component useCollection: add index as second argument to `properties` method useFormSelect: add index as second argument to `value` method useFormSelect: change sync behavior between model and selected values useFormSelectController: better configuration of `size` middleware for useFloating
This allow a better handling of "input" width, mainly for the select component which use UiInput
The `overflow: auto` is already handled on .main container Having it to .modal wrapper cause scroll issues is some cases
This allow to create a debounced ref, based on an input ref, with ability to force update it and to know its debouncing state Update `useTreeFilter` to use it
…played in tables and filtered with QueryBuilder
…to be displayed in tables and filtered with QueryBuilder
c92925c to
2dd3e61
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Important notes:
- The Query Builder modal might not handle all the use cases for now, but as the code handles and uses Complex Matcher queries, it should work when entering complex queries manually in the search field
- The design has been adapted a lot compared to the original version in Figma to handle some use cases, it might change in future versions
Query Builder implementation:
Usage:
useQueryBuilderSchemaor add new properties to filter on.<,>,>=etc. operators in the select)any propertyfilter in the modal (nested properties are also handled, such asboot:firmware:uefi)Other features:
AndtoOrrelationsScreenshots
Checklist
Fixes #007,See xoa-support#42,See https://...)Introduced byCHANGELOG.unreleased.mdReview process
If you are an external contributor, you can skip this part. Simply create the pull request, and we'll get back to you as soon as possible.
Notes: