MCPInstall

syncfusion-javascript-query-builder

How to implement Syncfusion JavaScript QueryBuilder component with comprehensive guidance on columns, data binding, rules management, filtering, templates, drag-drop interactions, import/export, and accessibility. Use this skill when users need help with QueryBuilder setup, rule creation, complex query building, advanced customization, or dynamic filter UI requirements in TypeScript applications.

Installs
58
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/syncfusion/javascript-ui-controls-skills --skill syncfusion-javascript-query-builder
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads syncfusion-javascript-query-builder automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Implementing QueryBuilder in TypeScript

The QueryBuilder is a powerful Syncfusion component for building dynamic, complex queries with a visual UI. This skill provides comprehensive guidance for implementing, configuring, and customizing the QueryBuilder in TypeScript applications.

Control Overview

QueryBuilder is an advanced UI component that enables users to build complex filter conditions without writing code. It supports:

  • Multiple data types (string, number, date, boolean)
  • Various operators (equals, contains, between, etc.)
  • Rule grouping with AND/OR conditions
  • Nested group hierarchies
  • Custom templates for UI customization
  • Drag-drop interactions (rearrange, clone, lock rules)
  • JSON import/export and SQL generation
  • RTL support and full keyboard accessibility
  • WCAG 2.1 AA compliance

Documentation and Navigation Guide

Getting Started

See also: references/getting-started.md

  • Installation and npm package setup
  • Syncfusion dependencies configuration
  • CSS imports and theme setup
  • Basic QueryBuilder initialization
  • Column definitions with types
  • Running your first QueryBuilder application

Columns and Schema Definition

See also: references/columns-definition.md

  • Column definitions and schema structure
  • Auto-generation of columns from data
  • Field mapping and labels
  • Supported data types (string, number, date, boolean)
  • Operators for each data type
  • Step and format properties for numbers/dates
  • Custom column configuration patterns

Data Binding

See also: references/data-binding.md

  • Local data binding with JavaScript arrays
  • Remote data binding with DataManager
  • DataSource assignment patterns
  • RuleModel structure for predefined queries
  • Binding with initial rules
  • Dynamic data updates and refresh
  • DataManager configuration

Rules and Groups Management

See also: references/rules-and-groups.md

  • Rule model structure (condition, rules, field, operator, value)
  • Creating single filter rules
  • Grouping rules with AND/OR logic
  • Adding and deleting rules programmatically
  • Adding and deleting groups
  • Rule validation and constraints
  • Nested group hierarchies

Filtering and Search Operations

See also: references/filtering-search.md

  • Filtering conditions creation and deletion
  • Query execution methods
  • Custom filter condition patterns
  • Search functionality within conditions
  • ShowButtons configuration (rule delete, group insert/delete)
  • UI-based and programmatic filtering
  • Event handling for filter changes

Templates and Customization

See also: references/templates-customization.md

  • Value template customization
  • Operator template customization
  • Field template customization
  • Custom HTML template creation
  • Template rendering and binding
  • CSS class customization
  • Dynamic template rendering patterns

Drag-Drop and Rule Interaction

See also: references/drag-drop-clone-lock.md

  • Drag and drop functionality for rules
  • Cloning rules within groups
  • Locking rules to prevent modification
  • Separator and connector behavior
  • Moving rules between groups
  • Drag-drop event handling
  • Visual feedback and styling

Import/Export and Persistence

See also: references/import-export.md

  • Exporting rules to JSON format
  • Importing rules from JSON
  • SQL query generation
  • JSON serialization patterns
  • Format conversions (rules to SQL/JSON)
  • Data persistence strategies
  • State management

Accessibility and RTL

See also: references/accessibility-rtl.md

  • WCAG 2.1 AA compliance standards
  • Keyboard navigation patterns
  • ARIA attributes and labels
  • Screen reader support
  • RTL (Right-to-Left) language support
  • Focus management and indicators
  • Localization and internationalization

Advanced Features and Troubleshooting

See also: references/advanced-features.md

  • Global and local configuration options
  • Model binding patterns
  • Advanced validation strategies
  • Performance optimization techniques
  • Event handling and callbacks
  • State persistence patterns
  • Common issues and troubleshooting
  • Best practices for complex scenarios

API Reference

See also: references/api.md

  • Complete properties reference with types and defaults
  • All public methods with parameters and return types
  • All events with event argument interfaces
  • Key model interfaces (RuleModel, ColumnsModel, ShowButtonsModel, ValueModel, TemplateColumn, Validation)
  • Event arg interfaces (ActionEventArgs, ChangeEventArgs, RuleChangeEventArgs, DragEventArgs, DropEventArgs)
  • SQL/query output interfaces (ParameterizedSql, ParameterizedNamedSql)
  • Usage examples for initialization, SQL export, rule management, clone/lock, and drag-drop

Quick Start Example

Here's a minimal example to get started with QueryBuilder:

import { QueryBuilder, ColumnsModel, RuleModel } from '@syncfusion/ej2-querybuilder';

// Define your data
const employeeData = [
  {
    EmployeeID: 1,
    FirstName: 'Nancy',
    Title: 'Sales Representative',
    HireDate: '22/07/2001',
    City: 'Seattle',
    Country: 'USA'
  },
  {
    EmployeeID: 2,
    FirstName: 'Andrew',
    Title: 'Vice President',
    HireDate: '21/04/2003',
    City: 'Tacoma',
    Country: 'USA'
  }
];

// Define columns matching your data
const columnData: ColumnsModel[] = [
  { field: 'EmployeeID', label: 'Employee ID', type: 'number' },
  { field: 'FirstName', label: 'First Name', type: 'string' },
  { field: 'Title', label: 'Title', type: 'string' },
  { field: 'HireDate', label: 'Hire Date', type: 'date', format: 'dd/MM/yyyy' },
  { field: 'City', label: 'City', type: 'string' },
  { field: 'Country', label: 'Country', type: 'string' }
];

// Optional: Define initial rules
const initialRules: RuleModel = {
  condition: 'and',
  rules: [
    {
      label: 'Employee ID',
      field: 'EmployeeID',
      type: 'number',
      operator: 'equal',
      value: 1
    },
    {
      label: 'Title',
      field: 'Title',
      type: 'string',
      operator: 'startswith',
      value: 'Sales'
    }
  ]
};

// Create QueryBuilder instance
const queryBuilder = new QueryBuilder({
  width: '100%',
  dataSource: employeeData,
  columns: columnData,
  rule: initialRules
});

// Render to DOM
queryBuilder.appendTo('#querybuilder');

Common Patterns

Pattern 1: Basic Filter with Single Rule

For simple filtering scenarios, use a single rule without groups:

const rule: RuleModel = {
  condition: 'and',
  rules: [{
    field: 'FirstName',
    type: 'string',
    operator: 'startswith',
    value: 'A'
  }]
};

Pattern 2: AND/OR Logic with Groups

For complex filters combining multiple conditions:

const rule: RuleModel = {
  condition: 'and',
  rules: [
    { field: 'City', operator: 'equal', value: 'Seattle' },
    {
      condition: 'or',
      rules: [
        { field: 'Title', operator: 'contains', value: 'Sales' },
        { field: 'Title', operator: 'contains', value: 'Manager' }
      ]
    }
  ]
};

Pattern 3: Dynamic Rule Addition

Add rules programmatically in response to user actions:

const newRule = [{
  field: 'Country',
  operator: 'equal',
  value: 'USA'
}];
queryBuilder.addRules(newRule, 'group0');

Pattern 4: Export to JSON for Storage

Save the current query state for persistence:

const rules = queryBuilder.getRules();
const jsonQuery = JSON.stringify(rules);
// Store in database or local storage

Key Concepts

  • RuleModel: Represents a single filter condition with field, operator, and value
  • Condition: Logical operator (AND/OR) for combining multiple rules
  • GroupModel: Container for rules with AND/OR conditions
  • Operators: Comparison methods (equal, contains, between, etc.)
  • Data Types: Supported column types (string, number, date, boolean)
  • Templates: Custom UI elements for fields, operators, and values
  • State: Current configuration of rules and groups

Common Use Cases

  1. Advanced Search Filter - Let users build complex queries for data search
  2. Report Generation - Create dynamic filters for report parameters
  3. Data Export - Filter data before export with visual UI
  4. Log Analysis - Build complex queries to analyze system logs
  5. Customer Segmentation - Filter customers based on multiple criteria
  6. Permission Rules - Define access rules with complex conditions
  7. Notification Rules - Create dynamic alert conditions
  8. ETL Workflows - Filter source data before transformation

Need help with a specific feature? Check the reference files above for detailed guidance on columns, data binding, templates, and more!

FAQ

What does the syncfusion-javascript-query-builder skill do?

How to implement Syncfusion JavaScript QueryBuilder component with comprehensive guidance on columns, data binding, rules management, filtering, templates, drag-drop interactions, import/export, and accessibility. Use this skill when users need help with QueryBuilder setup, rule creation, complex query building, advanced customization, or dynamic filter UI requirements in TypeScript applications.

How do I install syncfusion-javascript-query-builder?

Run npx skills add https://github.com/syncfusion/javascript-ui-controls-skills --skill syncfusion-javascript-query-builder in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/syncfusion-javascript-query-builder/ (personal) or .claude/skills/syncfusion-javascript-query-builder/ (project).

Which AI agents can use syncfusion-javascript-query-builder?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is syncfusion-javascript-query-builder safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains syncfusion-javascript-query-builder?

It is published by syncfusion in syncfusion/javascript-ui-controls-skills. It has 58 recorded installs.

More from syncfusion/javascript-ui-controls-skills

View all →

syncfusion-javascript-grid

syncfusion/javascript-ui-controls-skills

Open the skill to read its SKILL.md instructions.

syncfusion-javascript-common

syncfusion/javascript-ui-controls-skills

Common utilities and features for Syncfusion JavaScript controls. Use this skill when the user needs to implement animations, drag-and-drop, state persistence, RTL support, localization, globalization, security, templates, and advanced features for Syncfusion JavaScript controls.

syncfusion-javascript-dropdowns

syncfusion/javascript-ui-controls-skills

Comprehensive guide for implementing Syncfusion TypeScript dropdown components including AutoComplete, ComboBox, Mention, Dropdownlist, Multiselect, ListBox, and MultiColumn ComboBox. Use this when building selection interfaces, data binding, filtering, cascading dropdowns, dual list transfer, custom templates, and accessible dropdown experiences.

syncfusion-javascript-popups

syncfusion/javascript-ui-controls-skills

Open the skill to read its SKILL.md instructions.

syncfusion-javascript-license

syncfusion/javascript-ui-controls-skills

Open the skill to read its SKILL.md instructions.

syncfusion-javascript-tab

syncfusion/javascript-ui-controls-skills

Open the skill to read its SKILL.md instructions.

Popular frontend & design skills

View category →

setup-matt-pocock-skills

mattpocock/skills

Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.

Frontend & Design1.1M installs

frontend-design

anthropics/skills

Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.

OfficialFrontend & Design1M installs

hyperframes-animation

heygen-com/hyperframes

All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.

prototype

mattpocock/skills

Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.

Frontend & Design999.2K installs

hyperframes-core

heygen-com/hyperframes

The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.

Frontend & Design930.5K installs

vercel-react-best-practices

vercel-labs/agent-skills

React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.

OfficialFrontend & Design843.1K installs