MCPInstall

syncfusion-angular-treeview

Implement hierarchical tree structures with Syncfusion Angular TreeView component. Use this when building tree-based UIs with features like checkboxes, drag-and-drop, node editing, filtering, and templating. This skill covers dynamic data binding, nested hierarchies, folder structures, and interactive tree-based interfaces.

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

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/syncfusion/angular-ui-components-skills --skill syncfusion-angular-treeview
  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-angular-treeview 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 TreeView in Angular

The TreeView component displays hierarchical data in a tree-like structure with built-in support for interactive features including checkboxes, drag-and-drop, in-place editing, multi-selection, filtering, sorting, templating, and keyboard navigation. It's ideal for displaying file systems, organizational charts, category hierarchies, navigation menus, and any nested data structure.

When to Use This Skill

  • Building hierarchical UIs: Displaying parent-child data relationships
  • File/folder browsers: Showing directory structures with expand/collapse
  • Navigation structures: Creating menu systems or site hierarchies
  • Data organization: Displaying categorized or nested data
  • Interactive selection: Implementing multi-selection or checkbox-based selection
  • Drag-and-drop interfaces: Reorganizing tree data by dragging nodes
  • Search/filter functionality: Finding nodes in large tree structures
  • Customized appearances: Styling nodes per level or with templates

Navigation Guide

Choose your task below to navigate to the relevant reference documentation:

Getting Started

📄 Read: references/getting-started.md

When to read: Setting up TreeView for the first time, installing packages, importing modules, basic component initialization, CSS imports, theme selection, creating your first tree.

Data Binding & Hierarchies

📄 Read: references/data-binding.md

When to read: Connecting data sources to TreeView, binding hierarchical or self-referential data, using DataManager, loading data from remote APIs, implementing lazy loading (load on demand), dynamically updating tree data.

Node Selection & Checkboxes

📄 Read: references/node-selection.md

When to read: Enabling checkboxes, managing checkbox states (checked/unchecked/tri-state), implementing multi-selection vs single-selection, using selection events, getting selected node IDs, disabling checkboxes, removing parent checkboxes.

Node Editing & Manipulation

📄 Read: references/node-editing.md

When to read: Enabling in-place editing, adding/removing/updating nodes programmatically, validating edited text, moving nodes, using node manipulation methods (addNodes, removeNodes, updateNode, moveNodes).

Drag and Drop

📄 Read: references/drag-and-drop.md

When to read: Enabling drag-and-drop functionality, restricting drops on specific nodes, handling drag events, customizing drop indicators, preventing invalid operations.

Templating & Styling Nodes

📄 Read: references/templating.md

When to read: Creating custom node templates, using dynamic icons, styling nodes based on level, customizing expand/collapse icons, showing tooltips, handling multi-line nodes, CSS customization.

Filtering & Sorting

📄 Read: references/filtering-sorting.md

When to read: Filtering nodes by text, implementing search functionality, sorting nodes globally or per level, organizing tree display order.

Context Menu Integration

📄 Read: references/context-menu.md

When to read: Adding context menu for node operations, handling right-click actions, implementing add/edit/delete via menu, creating custom menu items.

Accessibility, Advanced Features & API Migration

📄 Read: references/accessibility-advanced.md

When to read: Keyboard navigation (arrow keys, Enter, Space), ARIA attributes and accessibility compliance, RTL (right-to-left) support, getting child nodes, accordion behavior, advanced methods, migrating from EJ1 to EJ2, performance optimization.

Quick Start Example

Here's a minimal TreeView implementation with static hierarchical data:

import { Component } from '@angular/core';
import { TreeViewModule } from '@syncfusion/ej2-angular-navigations';
import { FormsModule } from '@angular/forms';

@Component({
  selector: 'app-tree-view',
  standalone: true,
  imports: [FormsModule, TreeViewModule],
  template: `
    <ejs-treeview 
      id="treeView"
      [fields]="treeFields"
      [allowMultiSelection]="true">
    </ejs-treeview>
  `
})
export class TreeViewComponent {
  // Hierarchical data structure
  treeData = [
    {
      id: '01',
      name: 'Documents',
      hasChild: true,
      expanded: true,
      subChild: [
        { id: '01-01', name: 'Work Files' },
        { id: '01-02', name: 'Personal' }
      ]
    },
    {
      id: '02',
      name: 'Downloads',
      hasChild: true,
      subChild: [
        { id: '02-01', name: 'Images' },
        { id: '02-02', name: 'Videos' }
      ]
    }
  ];

  // Field mapping configuration
  treeFields = {
    dataSource: this.treeData,
    id: 'id',
    text: 'name',
    child: 'subChild',
    hasChildren: 'hasChild',
    expanded: 'expanded'
  };
}

Key TreeView Methods

MethodPurpose
addNodes(nodes, target?, index?, preventTargetExpand?)Add collection of nodes at target position
removeNodes(nodeIds)Remove nodes by ID
updateNode(target, newText)Replace node text (requires allowEditing enabled)
moveNodes(sourceNodes, target, index?, preventTargetExpand?)Move nodes to new parent and index position
getTreeData(nodeId?)Get all tree data or specific node data
getAllCheckedNodes()Get all checked node IDs including child nodes whether loaded or not
checkAll(nodes?)Check all or specific nodes
uncheckAll(nodes?)Uncheck all or specific nodes
beginEdit(nodeId)Start editing a node
expandAll(nodes?, level?, excludeHiddenNodes?, preventAnimation?)Expand all or specific nodes, optionally by level
collapseAll(nodes?, level?, excludeHiddenNodes?)Collapse all or specific nodes, optionally by level
ensureVisible(nodeId)Scroll to make node visible
disableNodes(nodeIds)Disable specific nodes
enableNodes(nodeIds)Enable specific nodes
getNode(nodeId)Get HTML element of node
destroy()Destroy TreeView component

Key TreeView Events

EventTriggered When
createdTreeView component is created
dataBoundData source binding is complete
dataSourceChangedTree data is modified (add/remove/update)
nodeClickedUser clicks on a node
nodeSelectedNode is selected
nodeSelectingBefore node selection (can prevent)
nodeCheckedCheckbox state changes
nodeCheckingBefore checkbox changes (can prevent)
nodeExpandingBefore node expansion
nodeExpandedNode is expanded
nodeCollapsingBefore node collapse
nodeCollapsedNode is collapsed
nodeEditingBefore node text editing
nodeEditedAfter node text is edited
nodeDragStartDrag operation begins
nodeDraggingNode is being dragged
nodeDragStopDrag ends before drop
nodeDroppedNode is dropped successfully
drawNodeBefore rendering each node (customize appearance)
keyPressUser presses keyboard key
destroyedTreeView component is destroyed

Common Patterns

Pattern 1: Checkbox-Based Selection

Enable checkboxes for multi-selection with hierarchical checkbox states:

treeFields = {
  dataSource: this.treeData,
  id: 'id',
  text: 'name',
  child: 'subChild',
  hasChildren: 'hasChild'
};

showCheckBox = true;  // Enable checkboxes
autoCheck = true;     // Parent/child auto-check

Pattern 2: File Browser with Drag-and-Drop

Create an interactive file browser with node reorganization:

<ejs-treeview 
  [fields]="treeFields"
  [allowDragAndDrop]="true"
  [allowMultiSelection]="true"
  (nodeDragging)="onNodeDragging($event)"
  (nodeDropped)="onNodeDropped($event)">
</ejs-treeview>

Pattern 3: Search and Filter

Implement real-time filtering of tree nodes:

<input 
  type="text" 
  (keyup)="filterTree($event.target.value)" 
  placeholder="Search nodes...">

<ejs-treeview 
  #treeView
  [fields]="filteredFields">
</ejs-treeview>

Pattern 4: Editable Tree

Enable in-place node editing with validation:

<ejs-treeview 
  [fields]="treeFields"
  [allowEditing]="true"
  (nodeEditing)="onNodeEditing($event)"
  (nodeEdited)="onNodeEdited($event)">
</ejs-treeview>

Key TreeView Properties

PropertyTypePurpose
fieldsObjectConfigures data source mapping (id, text, child, parentID, hasChildren, expanded, isChecked, etc.)
dataSourceArrayHierarchical or flat data array
allowMultiSelectionBooleanEnable multiple node selection
showCheckBoxBooleanDisplay checkboxes before nodes
autoCheckBooleanAuto-check children when parent is checked (default: true)
allowDragAndDropBooleanEnable drag-and-drop functionality
allowEditingBooleanEnable in-place node editing
loadOnDemandBooleanLoad child nodes only when parent expands (default: true)
sortOrderStringSort order: 'Ascending', 'Descending', or 'None'
cssClassStringApply custom CSS class for styling
enableRtlBooleanEnable right-to-left layout support
enablePersistenceBooleanSave and restore TreeView state (expanded nodes, selections)
checkedNodesArrayArray of node IDs that should be checked
selectedNodesArrayArray of node IDs that should be selected
nodeTemplateTemplateCustom template for rendering nodes
animationObjectConfigure expand/collapse animations
allowKeyboardNavigationBooleanEnable keyboard navigation (default: true)

Common Use Cases

Organizational Chart: Display employee hierarchy with parent-child relationships and custom templates showing roles.

File/Folder Browser: Show directory structure with drag-and-drop to move files between folders.

Category Navigation: Multi-level product categories with checkboxes for filtering and multi-selection.

Settings Menu: Hierarchical preferences or configuration options organized by topic.

Knowledge Base: Nested documentation topics with search and expand/collapse navigation.

Reference Files

  • getting-started.md - Installation, setup, basic initialization
  • data-binding.md - Data sources, hierarchies, remote data, lazy loading
  • node-selection.md - Checkboxes, multi-select, selection events
  • node-editing.md - Editing, adding, removing, updating nodes
  • drag-and-drop.md - Drag-and-drop configuration and restrictions
  • templating.md - Custom templates, icons, styling, tooltips
  • filtering-sorting.md - Filter, search, and sort functionality
  • context-menu.md - Context menu integration and node operations
  • accessibility-advanced.md - Keyboard navigation, ARIA, RTL, advanced methods

Next Steps:

  1. Choose your use case from the navigation guide above
  2. Read the relevant reference file
  3. Adapt code examples to your data structure
  4. Test with your data source

FAQ

What does the syncfusion-angular-treeview skill do?

Implement hierarchical tree structures with Syncfusion Angular TreeView component. Use this when building tree-based UIs with features like checkboxes, drag-and-drop, node editing, filtering, and templating. This skill covers dynamic data binding, nested hierarchies, folder structures, and interactive tree-based interfaces.

How do I install syncfusion-angular-treeview?

Run npx skills add https://github.com/syncfusion/angular-ui-components-skills --skill syncfusion-angular-treeview 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-angular-treeview/ (personal) or .claude/skills/syncfusion-angular-treeview/ (project).

Which AI agents can use syncfusion-angular-treeview?

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-angular-treeview 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-angular-treeview?

It is published by syncfusion in syncfusion/angular-ui-components-skills. It has 311 recorded installs.

More from syncfusion/angular-ui-components-skills

View all →

syncfusion-angular-grid

syncfusion/angular-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design342 installs

syncfusion-angular-common

syncfusion/angular-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design327 installs

syncfusion-angular-chart

syncfusion/angular-ui-components-skills

Implement Syncfusion Angular Chart component for professional data visualization. Use this when creating or customizing charts such as line, bar, column, area, pie, financial (candlestick, OHLC), scatter, bubble, or stock charts. Supports axes configuration, series binding, legends, tooltips, zooming, real-time updates, technical indicators, themes, export, and accessibility features.

Frontend & Design321 installs

syncfusion-angular-themes

syncfusion/angular-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design319 installs

syncfusion-angular-license

syncfusion/angular-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design319 installs

syncfusion-angular-rich-text-editor

syncfusion/angular-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design317 installs

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