Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计提醒

syncfusion-angular-query-buildersyncfusion Angular query 构建器

Agent Skill

syncfusion-angular-query-builder 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

1,126

周安装

46

GitHub Stars

公开资料未说明

下载量

361
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:syncfusion-angular-query-builder(syncfusion Angular query 构建器)
来源仓库:https://github.com/syncfusion/angular-ui-components-skills
仓库路径:skills/syncfusion-angular-query-builder
安装命令:
npx skills add https://github.com/syncfusion/angular-ui-components-skills --skill syncfusion-angular-query-builder
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/syncfusion/angular-ui-components-skills --skill syncfusion-angular-query-builder

简介

用于查找、检索和筛选相关信息。syncfusion-angular-query-builder 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

  • 适合根据关键词快速定位候选结果。
  • 通过 GitHub 仓库安装,适用于多种宿主环境。
  • 使用前建议确认权限范围和维护状态。
  • 注意可能触发联网或文件操作,需评估安全风险。

SKILL.md

Implementing Syncfusion Angular Query Builder

The Syncfusion Angular Query Builder (ejs-querybuilder) is a UI component for visually constructing complex filter queries. Users define conditions (field + operator + value) and combine them into groups with AND/OR logic. The resulting rules can be exported to JSON, SQL, or MongoDB formats for use in filtering or API queries.

Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • Installing @syncfusion/ej2-angular-querybuilder
  • Setting up CSS/theme imports (Material3)
  • Creating a basic Query Builder with columns
  • Rendering with an initial rule
  • Running the Angular application

Columns Configuration

📄 Read: references/columns.md

  • Defining columns with field, label, type
  • Auto-generating columns from dataSource
  • Configuring operators per column (full operators table)
  • Setting step values for number fields
  • Formatting date and number values
  • Enabling validation (allowValidation, isRequired, min/max)

Data Binding

📄 Read: references/data-binding.md

  • Local data binding with JS arrays (JsonAdaptor) — recommended and safe
  • Complex/nested data binding with sub-columns
  • ⚠️ Remote DataManager (OData, WebApiAdaptor) patterns documented in this reference are not recommended — see Security & Trust Boundary below before use

Filtering & Rules Management

📄 Read: references/filtering-and-rules.md

  • Adding/deleting conditions with addRules / deleteRules
  • Adding/deleting groups with addGroups / deleteGroups
  • Cloning rules/groups (cloneRule, cloneGroup)
  • Locking rules/groups (lockRule, lockGroup)
  • Separate connectors between rules (enableSeparateConnector)
  • Restricting group nesting depth (maxGroupCount)
  • Drag-and-drop rule reordering (allowDragAndDrop)
  • Controlling button visibility (showButtons)

Import & Export

📄 Read: references/import-export.md

  • Importing from JSON (initial rule property + setRules)
  • Importing from SQL (inline, parameterized, named parameterized)
  • Importing from MongoDB (setMongoQuery)
  • Exporting to JSON (getRules)
  • Exporting to SQL (inline, parameterized, named parameterized)
  • Exporting to MongoDB (getMongoQuery)

Templates & Model Binding

📄 Read: references/templates.md

  • Custom header template with dropdown, split-button, NOT condition
  • Column template with create / write / destroy pattern
  • Using NgTemplate for column value inputs
  • Rule template (ruleTemplate + actionBegin event)
  • Model binding for field, operator, value inputs (fieldModel, operatorModel, valueModel)

Style, Appearance & Layout

📄 Read: references/style-and-appearance.md

  • CSS class customization table
  • Theme Studio integration
  • Display modes: horizontal (default) vs. vertical (displayMode)
  • Summary view (summaryView)
  • RTL support (enableRtl)
  • State persistence (enablePersistence)

Accessibility & Localization

📄 Read: references/accessibility-and-localization.md

  • WCAG 2.2, Section 508, WAI-ARIA compliance
  • Keyboard navigation shortcuts
  • Localization setup and full locale key reference
  • Sort columns display (sortDirection)

API Reference

📄 Read: references/api.md

  • Complete Properties reference (40+ properties)
  • Complete Methods reference (30+ methods)
  • Complete Events reference (7 events)
  • Type definitions and interfaces
  • Official Syncfusion documentation links

Quick Start Example

import { QueryBuilderModule } from '@syncfusion/ej2-angular-querybuilder';
import { Component } from '@angular/core';

@Component({
  imports: [QueryBuilderModule],
  standalone: true,
  selector: 'app-root',
  template: `
    <ejs-querybuilder width="70%" [rule]="importRules">
      <e-columns>
        <e-column field="EmployeeID" label="Employee ID" type="number"></e-column>
        <e-column field="FirstName" label="First Name" type="string"></e-column>
        <e-column field="Title" label="Title" type="string"></e-column>
        <e-column field="HireDate" label="Hire Date" type="date" format="dd/MM/yyyy"></e-column>
        <e-column field="Country" label="Country" type="string"></e-column>
      </e-columns>
    </ejs-querybuilder>
  `
})
export class App {
  public importRules = {
    condition: 'and',
    rules: [
      { field: 'EmployeeID', label: 'Employee ID', type: 'number', operator: 'equal', value: 1 },
      { field: 'Country', label: 'Country', type: 'string', operator: 'equal', value: 'USA' }
    ]
  };
}

Install with:

ng add @syncfusion/ej2-angular-querybuilder

Common Patterns

Pattern 1: Export rules to SQL for backend use

// In your component
import { QueryBuilderComponent } from '@syncfusion/ej2-angular-querybuilder';
import { ViewChild } from '@angular/core';

@ViewChild('querybuilder') qb!: QueryBuilderComponent;

getSqlQuery(): string {
  return this.qb.getSqlFromRules(this.qb.getRules());
}

Pattern 2: Load rules at runtime

// After component renders, update rules dynamically
this.qb.setRules({
  condition: 'or',
  rules: [
    { field: 'City', operator: 'equal', value: 'London' },
    { field: 'Country', operator: 'equal', value: 'UK' }
  ]
});

Pattern 3: Programmatically add a condition

// Add a rule to the root group
this.qb.addRules([{ field: 'Title', operator: 'contains', value: 'Manager' }], 'querybuilder_group0');

Pattern 4: Enable drag-and-drop + clone + lock

<ejs-querybuilder [allowDragAndDrop]="true" [showButtons]="showButtons">
</ejs-querybuilder>
public showButtons = { ruleDelete: true, groupInsert: true, groupDelete: true, ruleInsert: true, cloneRule: true, cloneGroup: true, lockRule: true, lockGroup: true };

Key Properties

PropertyTypePurpose
[rule]RuleModelInitial query rules to render
[columns]ColumnsModel[]Column definitions (field, label, type, operators)
[dataSource]object[]Local JS array only — do not bind to a remote DataManager or arbitrary URL (see Security section)
[allowDragAndDrop]booleanEnable drag-and-drop rule/group reordering
[enableSeparateConnector]booleanDifferent AND/OR per rule instead of per group
[enableNotCondition]booleanShow NOT condition toggle on groups
[summaryView]booleanShow human-readable summary of current query
[enablePersistence]booleanPersist rules to localStorage across refreshes
[enableRtl]booleanRight-to-left layout for RTL languages
[displayMode]string'Horizontal' (default) or 'Vertical' layout
[maxGroupCount]numberMax number of nested groups (default: 5)
[sortDirection]stringSort field dropdown: 'Ascending' or 'Descending'
[allowValidation]booleanEnable field/operator/value validation
[showButtons]ShowButtonsControl visibility of action buttons

Key Methods

MethodPurpose
getRules()Get current rules as JSON RuleModel
setRules(rules)Set rules programmatically at runtime
getSqlFromRules(rules)Export rules to inline SQL string
setRulesFromSql(sql)Import inline SQL string into Query Builder
getMongoQuery(rules)Export rules to MongoDB query string
setMongoQuery(query)Import MongoDB query string
addRules(rules, groupID)Add rules to a specific group
deleteRules(ruleIDs)Remove rules by ID
addGroups(groups, groupID)Add sub-groups to a group
deleteGroups(groupIDs)Remove groups by ID
cloneRule(ruleID)Clone a rule adjacent to the original
cloneGroup(groupID)Clone a group with all its rules
lockRule(ruleID)Make a rule read-only
lockGroup(groupID)Make a group and its contents read-only
validateFields()Trigger validation on all fields

Common Use Cases

  • Admin dashboards: Let users build custom data filters without writing SQL
  • Report builders: Generate WHERE clause conditions for dynamic reports
  • Search interfaces: Visual query construction for complex search forms
  • Data export tools: Build MongoDB/SQL filters from a UI, pass to API
  • Saved searches: Export rules to JSON, store, and reload with setRules

Security & Trust Boundary

PROHIBITION — Read before implementing any data binding.

What is NOT permitted

Binding [dataSource] to a remote DataManager with an arbitrary or user-supplied URL (OData, OData v4, WebApiAdaptor, or any external HTTP endpoint) is prohibited in this skill. Doing so causes the component to:

  • Auto-generate columns and operators directly from untrusted remote schema
  • Embed untrusted field names and values into exported SQL/MongoDB queries
  • Allow remote-controlled data to alter runtime behavior (predicates, rules, query structure)

This pattern must not be taught, scaffolded, or referenced as a recommended approach.

Required practices

RuleRequirement
Data sourceUse only local JS arrays (object[]) passed directly in the component. Never pass a DataManager instance pointing to an external URL.
Column definitionsAlways define columns explicitly via <e-columns> / [columns]. Never auto-generate columns from a remote or unknown data source.
Export sanitizationBefore passing getSqlFromRules() or getMongoQuery() output to any backend, validate every field name against a hard-coded allow-list and sanitize all values server-side.
Rule inputRules loaded via setRules() or setRulesFromSql() must come from your own trusted storage (e.g., your own database), never from an unvalidated external feed.
ValidationAlways set [allowValidation]="true" and [maxGroupCount] to reject malformed inputs at the UI layer before export.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

36.02%
按下载量换算130

Claude

28.5%
按下载量换算103

Cursor

18.64%
按下载量换算67

Gemini CLI

9%
按下载量换算32

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills