19.0.22 • Published 5 months ago
flexi-treeview v19.0.22
Flexi Treeview
Flexi Treeview is a customizable and flexible Angular component for displaying hierarchical data in a tree structure. It supports selection, expansion, search, and actions like edit, delete, and refresh.
Live Demo
Features
- 🛠 Dynamic Tree Structure - Supports parent-child relationships with nested levels.
- ✅ Checkbox Selection - Allows selecting individual nodes and handling indeterminate states.
- 🔍 Search Functionality - Quickly find nodes within the tree.
- 📏 Customizable UI - Adjust size, colors, and styling.
- 🎨 Dark & Light Mode Support - Adapts to the selected theme.
- 🔄 Expand/Collapse All - Expand or collapse all nodes easily.
- 🖱 Action Buttons - Edit, delete, and detail buttons for nodes.
- 🔄 Live Refresh - Refresh the tree dynamically.
Installation
npm install flexi-treeview
Usage
Import the Module
import { FlexiTreeviewComponent } from 'flexi-treeview';
@Component({
selector: 'app-root',
imports: [FlexiTreeviewComponent],
templateUrl: './app.component.html',
styleUrl: './app.component.css'
})
Add to Template
<flexi-treeview
[data]="treeData"
[treeviewTitle]="'Categories'"
[themeClass]="'light'"
[showCheckbox]="true"
[showSearch]="true"
[showDetailButton]="true"
(onSelected)="handleSelectedNodes($event)"
(onEdit)="handleEditNode($event)"
(onDelete)="handleDeleteNode($event)"
(onRefresh)="handleRefresh()"
detailRouterLink="/products">
</flexi-treeview>
Define Tree Data
treeData: FlexiTreeNode[] = [
{
id: '1',
name: 'Parent Node',
code: 'P1',
isMain: true,
indeterminate: false,
selected: false,
expanded: true,
description: '',
originalData: null,
children: [
{
id: '2',
name: 'Child Node 1',
code: 'C1',
isMain: false,
indeterminate: false,
selected: false,
expanded: true,
description: '',
originalData: null
},
{
id: '3',
name: 'Child Node 2',
code: 'C2',
isMain: false,
indeterminate: false,
selected: false,
expanded: true,
description: '',
originalData: null
}
]
}
];
handleSelectedNodes(selectedNodes: FlexiTreeNode[]) {
console.log('Selected Nodes:', selectedNodes);
}
handleEditNode(node: FlexiTreeNode) {
console.log('Edit Node:', node);
}
handleDeleteNode(node: FlexiTreeNode) {
console.log('Delete Node:', node);
}
handleRefresh() {
console.log('Treeview refreshed');
}
API
Input Property | Type | Default | Description |
---|---|---|---|
data | FlexiTreeNode[] | [] | The tree node data array. |
treeviewTitle | string | '' | Title of the treeview. |
showCheckbox | boolean | false | Show checkboxes for node selection. |
showEditButton | boolean | true | Show the edit button for each node. |
showDeleteButton | boolean | true | Show the delete button for each node. |
showDetailButton | boolean | false | Show the detail button for each node. |
showSearch | boolean | true | Enable search functionality. |
showActions | boolean | true | Show action buttons for nodes. |
width | string | '100%' | Width of the treeview component. |
height | string | '100%' | Height of the treeview component. |
fontSize | string | '13px' | Font size of tree nodes. |
btnSize | FlexiButtonSizeType | 'small' | Size of action buttons. |
checkboxSize | string | '1.4em' | Size of checkboxes. |
actionBtnPosition | 'left' | 'right' | 'right' | Position of action buttons. |
themeClass | 'light' | 'dark' | 'light' | Theme of the treeview component. |
loading | boolean | false | Show loading indicator. |
expend | boolean | true | Expand all nodes initially. |
detailRouterLink | string | '' | Router link for detail view. |
language | 'en' | 'tr' | 'en' | Language setting for labels. |
Events
Event | Output Type | Description |
---|---|---|
onSelected | FlexiTreeNode[] | Emits when nodes are selected. |
onEdit | FlexiTreeNode | Emits when a node is edited. |
onDelete | FlexiTreeNode | Emits when a node is deleted. |
onRefresh | void | Emits when the refresh button is clicked. |
License
MIT License.
19.0.21
5 months ago
19.0.20
5 months ago
19.0.22
5 months ago
19.0.18
5 months ago
19.0.19
5 months ago
19.0.17
8 months ago
19.0.15
8 months ago
19.0.14
8 months ago
19.0.13
8 months ago
19.0.3
9 months ago
19.0.5
9 months ago
19.0.4
9 months ago
19.0.7
8 months ago
19.0.6
8 months ago
19.0.9
8 months ago
19.0.8
8 months ago
19.0.10
8 months ago
19.0.12
8 months ago
19.0.11
8 months ago
19.0.2
9 months ago
18.0.14
9 months ago
18.0.15
9 months ago
18.0.13
10 months ago
18.0.12
10 months ago
18.0.11
10 months ago
18.0.10
10 months ago
18.0.9
10 months ago
18.0.8
10 months ago
18.0.7
10 months ago
18.0.6
10 months ago
18.0.5
10 months ago
18.0.4
10 months ago
18.0.3
10 months ago
18.0.2
10 months ago
18.0.1
10 months ago