Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(query-builder): support for nested queries and other improvements #14647

Open
wants to merge 257 commits into
base: master
Choose a base branch
from

Conversation

igdmdimitrov
Copy link
Contributor

@igdmdimitrov igdmdimitrov commented Aug 19, 2024

Closes #14642
Closes #14979

Additional information (check all that apply):

  • Bug fix
  • New functionality
  • Documentation
  • Demos
  • CI/CD

Checklist:

  • All relevant tags have been applied to this PR
  • This PR includes unit tests covering all the new code (test guidelines)
  • This PR includes API docs for newly added methods/properties (api docs guidelines)
  • This PR includes feature/README.MD updates for the feature docs
  • This PR includes general feature table updates in the root README.MD
  • This PR includes CHANGELOG.MD updates for newly added functionality
  • This PR contains breaking changes
  • This PR includes ng update migrations for the breaking changes (migrations guidelines)
  • This PR includes behavioral changes and the feature specification has been updated with them

@igdmdimitrov igdmdimitrov added the 🛠️ status: in-development Issues and PRs with active development on them label Aug 19, 2024
@gedinakova

This comment was marked as outdated.

@gedinakova

This comment was marked as outdated.

@gedinakova

This comment was marked as outdated.

@gedinakova

This comment was marked as outdated.

@gedinakova

This comment was marked as outdated.

@Otixa

This comment was marked as outdated.

@teodosiah

This comment was marked as outdated.

@teodosiah
Copy link
Contributor

  1. Add query builder without initially set expression tree:
    <igx-query-builder #queryBuilder [entities]="this.entities"></igx-query-builder>

The '+' icons in the add "'and'/'or' group" buttons are not displayed.

Suggestion: move the registerSVGIcons method to the query-builder.component.ts and call it on initial loading because when there is no expression tree a query-builder-tree is not created and the method is not called

@andiesm813
Copy link

@desig9stein I made a comment in Figma, but i'm adding it here too. These gaps need to be reduced for the following themes (lightt and dark):

  • Material
  • Fluent
  • Indigo

image

@ig-georgeA
Copy link

ig-georgeA commented Feb 6, 2025

When query builder is used in the dialog mode, the ghost chips are not shown.
The functionality is working, where "drop here to insert" target is shown.

image

P.S.
Ivan Petrov:
Please see my review below titled DRAG GHOST NOT VISIBLE IN DIALOG

@desig9stein
Copy link
Contributor

desig9stein commented Feb 6, 2025

When query builder is used in the dialog mode, the ghost chips are not shown. The functionality is working, where "drop here to insert" target is shown.

image

I’m unsure of the best approach for handling this. While I could add z-index: 0 and position: relative to the overlay, it doesn’t feel like an appropriate solution. @igdmdimitrov, would it be possible to render the chip ghost inside the igx-query-builder?

P.S.
Ivan Petrov:
Please see my review below titled DRAG GHOST NOT VISIBLE IN DIALOG

@gedinakova
Copy link
Contributor

When query builder is used in the dialog mode, the ghost chips are not shown. The functionality is working, where "drop here to insert" target is shown.
image

I’m unsure of the best approach for handling this. While I could add z-index: 0 and position: relative to the overlay, it doesn’t feel like an appropriate solution. @igdmdimitrov, would it be possible to render the chip ghost inside the igx-query-builder?

@ivanvpetrov

CHANGELOG.md Outdated Show resolved Hide resolved
} @else {
<ng-container #defaultTemplate *ngTemplateOutlet="defaultSearchValueTemplate"></ng-container>
}
</ng-template>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add the drag & drop functionality

@teodosiah
Copy link
Contributor

  1. Click on the add condition/group button of some expression
  2. Hover the same expression
    Result: The button is not shown
    QB-add-cond-btn-issue

@teodosiah
Copy link
Contributor

The classes and selectors stings in the drag service should be replaced as suggested in the #15122 - #15122 (comment)

@ivanvpetrov
Copy link
Contributor

Moved from previous PR:

[Bug] "Select All" is not accessible via the keyboard.

Open "Return fields" drop down
Using the arrow keys attempt to navigate to "Select All" option
Result: It's not possible.

@@ -15,6 +16,8 @@ const QueryBuilderResourceStringsIT_: ExpandRequire<IQueryBuilderResourceStrings
igx_query_builder_filter_notEmpty: 'Non vuoto',
igx_query_builder_filter_null: 'Null',
igx_query_builder_filter_notNull: 'Non null',
igx_query_builder_filter_in: 'In',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Translation missing

@@ -15,6 +16,8 @@ const QueryBuilderResourceStringsKO_: ExpandRequire<IQueryBuilderResourceStrings
igx_query_builder_filter_notEmpty: '비우지 않음',
igx_query_builder_filter_null: 'Null',
igx_query_builder_filter_notNull: 'Not Null',
igx_query_builder_filter_in: 'In',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Translation missing

this.setDragCursor('grab');

//TODO z-index is set, but ghost still not visible in Dialog
if(this.dragGhostElement.style) this.dragGhostElement.style.zIndex = "9999";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DRAG GHOST NOT VISIBLE IN DIALOG

Event after setting the z-index of the drag ghost to 9999, it's still not visible over the dialog.
As you can see, the ghost is rendered as last child of the body, outside app-root and overlay and we don't have control over this:
image

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems that the overlay is with z-index 10005.
That's why 9999was not working. 10006 is...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Query Builder: Update theme to match latest design Query Builder component update