The dark mode beta is finally here. Change your preferences any time. Stack Overflow for Teams is a private, secure spot for you and your coworkers to find and share information.
Red Query Builder has some of the features I'd like, but the source doesn't seem to be available in an easily-editable format and it lacks an interface for manipulating group or order commands.
Another option is jquery-Querybuilder. I haven't used it yet, but it seems to be a pretty polished, open source solution. It's mostly ASP. NET solution but they have a set of jQuery widgets which include all the functionality you need.
Asked 6 years, 8 months ago. Active 2 years ago. Viewed 22k times.
Digging around the internet didn't reveal any other palatable candidates, so I'm asking here. Richard Richard Active Oldest Votes. You can try EasyQuery. DrakonoffNet DrakonoffNet 13 3 3 bronze badges. EasyQuery is not free. I have been using it for several years now.
Suresh Kamrushi Suresh Kamrushi Sign up or log in Sign up using Google. Sign up using Facebook. Sign up using Email and Password. Post as a guest Name. Email Required, but never shown. The Overflow Blog. Featured on Meta. Feedback on Q2 Community Roadmap.Starting from version 0. It is designed to help developers build interactive analytics query builders. The above example is from Cube. You can check its source code on Github. This tutorial walks through building the much simpler version of the query builder.
But it covers all the basics you need to build one of your own. If you already have Cube. We host a dump with sample data for tutorials. Once you have data in your database, change the content of the. It sets the credentials to access the database, as well as a secret to generate auth tokens.
Now that we have everything configured, the last step is to generate a Cube. It is a development environment, which generates the Cube. It has its own query builder, which lets you generate charts with different charting libraries.
It acts as a data provider by managing the state and API layer, and calls render props to let developers implement their render logic. Besides renderthe only required prop is cubejsApi. It expects an instance of your cube. The properties of queryBuilder can be split into categories based on what element they are referred to. To render and update measures, you need to use measuresavailableMeasuresand updateMeasures.
It is usually empty in the beginning unless you passed a default query prop. Both measures and availableMeasures are arrays of objects with nametitleshortTitleand type keys.
It is used to control the state of the query builder related to measures. Now, using these properties, we can render a UI to manage measures and render a simple line chart, which will dynamically change the content based on the state of the query builder.
The code above is enough to render a simple query builder with a measure select. Similar to measuresavailableMeasuresand updateMeasuresthere are properties to render and manage dimensions, segments, time, filters, and chart types.
You can find the full list of properties in the documentation. Also, it is worth checking the source code of a more complicated query builder from Cube. You can find it on Github here.
Sign in. Stats and Bots.
React Query Builder with Cube.js
Query Builder is easy to localize and customize, as you can create your own rules and use them alongside the available ones. Query Builder is extremely useful for filtering large data sets, thus enhancing the filtering functionality of data components that normally allow searching for data according to one rule only. Query Builder is also great for configuring data sources while working with the server side.
By making use of its properties, you can effortlessly customize the appearance of the Query Builder widget to your liking: you can change its size, add borders and paddings, arrange its elements vertically or horizontally the latter being the default layoutadd a CSS class to define the style and many more.
Apart from being used as a standalone component for filtering data sets, Query Builder can be combined with data widgets like DataTable or Pivot. It can even be nested into a datatable and used as its built-in filter. The filtering logic of Query Builder is straightforward and clear, so you can effortlessly manipulate the built-in rules. Close Menu. Windows and popups Context and Popup Tooltip Window. Download JS Query Builder. Integration: jQuery, Angular, React, Vue.
Documentation Samples. Overview Query Builder is extremely useful for filtering large data sets, thus enhancing the filtering functionality of data components that normally allow searching for data according to one rule only. Easy to style By making use of its properties, you can effortlessly customize the appearance of the Query Builder widget to your liking: you can change its size, add borders and paddings, arrange its elements vertically or horizontally the latter being the default layoutadd a CSS class to define the style and many more.
Easy to use with Data widgets Apart from being used as a standalone component for filtering data sets, Query Builder can be combined with data widgets like DataTable or Pivot.
The dark mode beta is finally here. Change your preferences any time. Stack Overflow for Teams is a private, secure spot for you and your coworkers to find and share information. I am trying to create a complete query builder with AngularJS only. Can you please advise if it is already available or the some help because query branching would be nested.
Learn more. Asked 6 years, 2 months ago. Active 2 years, 4 months ago. Viewed 13k times. Graham 5, 15 15 gold badges 47 47 silver badges 69 69 bronze badges. Maneesh Thareja Maneesh Thareja 51 1 1 gold badge 1 1 silver badge 4 4 bronze badges. Does it really expect the server to execute sql sent by client browser? No it is not required but we need to create a similar UI so that we can make complete query with nesting conditions and pass to server to execute.
It will basically work in the Big Data environment where we need to write queries to fetch data. But think for those who knows the variables to use but don't know how to write complex nested conditions and this would be beneficial for them to send final output in XML format. We use it against a Lucene "database" so not much risk of attack. On another project we used against a SQL database but only administrators could use it and even then with a really tied down SQL user.
Active Oldest Votes. Dynamic source fields based on selected source types. Dynamic comparison operators based on selected source field. Nested form validation.GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.
If nothing happens, download GitHub Desktop and try again. If nothing happens, download Xcode and try again. If nothing happens, download the GitHub extension for Visual Studio and try again. Master branch uses antd v3. For antd v2 which has more compact style see branch antd-2 and versions 0. Install: npm i react-awesome-query-builder See basic usage and API below.
React Query Builder with Cube.js
Optionally you can add class. Wrapping in div. Pull Requests are always welcomed :. This project exists thanks to all the people who contribute. Become a financial contributor and help us sustain our community. Support this project with your organization. Your logo will show up here with a link to your website. Skip to content. Dismiss Join GitHub today GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.
Reload to refresh your session. You signed out in another tab or window. Feb 10, It supports the following properties:. The id is optional, if you do not provide an id for a field then the name will be used. This is a custom controls object that allows you to override the control elements used.
The following control overrides are supported:. This is a notification that is invoked anytime the query configuration changes. The query is provided as a JSON structure, as shown below:. This is an object with the following properties:. We are using github-changes to generate the changelog. Puente React is a web dashboard used to visualize data collected on the ground in developing countries. If you're working with REST and want an easy way to manage data fetching on the client side, this might just be the way to go.
React Font Size Changer is a simple React component including two buttons to increae and decrease font size of a target text. Formalizer is a React Hooks based form validation library made for humans. The cleanest code or your money back.
View demo View Github. Draqula is a GraphQL client for React apps that don't need everything.You can also get all necessary files and dependencies with npm.
The full code of this example can be found here. Let's see what we can do for you. Include query-builder. Want your project listed here?
Open an issue or create a pull request on the gh-pages branch. The filters option is an array of plain objects defining the rules possible contents. Here are the available attributes:. QueryBuilder integrates a configurable validation system triggered when validate or getRules methods are called. The default validator checks for emptyness and can be extended with format check and bounds.
Optionally you can define a custom validation callback. Only main methods are described, consult the API documentation to learn more about all available methods. Methods added by plugins are detailed in their respective sections. Returns a boolean indicating whether the builder is valid or not. Use the validationError event to catch per-rule validation errors. Performs validation and returns the rules as a plain JSON object.
See the demo for output example.
The method takes an optional object of options. Clears the builder and sets new rules. The parameters must have the same structure as the output of getRules. See an example. Each rule and group can have an additional data parameter which will be merged with the filter data for rules only when calling getRules.
The setRules method will throw an error if a rule has no filter. If for some reason you want to populate the builder with an empty rule, use the empty keyword. Each rule can have an additional flags parameter which will control the editability of the rule. Alternatively you can set the readonly parameter to truewhich is a shorthand to:. The same way, each group can have an additional flags parameter which will control the editability of the group.
Useful to perform manual operations on the builder see Inside the box. Without parameters it returns the root group model. QueryBuilder uses jQuery events to notify the "outer world" about various things happening, like adding a rule or when a validation error happens.
The events system is also used by plugins. There are two types of events: triggers are used to identify a point in the code and changers are used to modify a value before it is used eg: template, output rules.
Both types are used the same way with the jQuery on method on the builder container. The full list of events can be found in the API documentation.Livestream: Refactoring to react-query
Some events can be cancelled by calling preventDefault. The typical example is for the errors events :. All changers events have an additional value property which holds the value to be altered or not. In all events callbacks, the first parameter is an Event object which contains the builder property, a reference to the QueryBuilder object currently used.