Added type definitions for Bootstrap-TreeView (https://github.com/jonmiles/bootstrap-treeview). (#18944)

This commit is contained in:
Jan Böhmer
2017-08-14 23:05:46 +02:00
committed by Mohamed Hegazy
parent 135fead489
commit 262d2d6024
4 changed files with 199 additions and 0 deletions

View File

@@ -0,0 +1,105 @@
// A example tree structure
let data: BootstrapTreeViewNodeData[] = [
{
text: "Parent 1",
nodes: [
{
text: "Child 1",
nodes: [
{
text: "Grandchild 1"
},
{
text: "Node 1",
icon: "glyphicon glyphicon-stop",
selectedIcon: "glyphicon glyphicon-stop",
color: "#000000",
backColor: "#FFFFFF",
href: "#node-1",
selectable: true,
state: {
checked: true,
disabled: true,
expanded: true,
selected: true
},
tags: ['available']
}
]
},
{
text: "Child 2"
}
]
},
{
text: "Parent 2"
},
{
text: "Parent 3"
},
{
text: "Parent 4"
},
{
text: "Parent 5"
}
];
// Example for treeview init with options
$('#tree').treeview({
data,
levels: 5,
backColor: 'green'
});
// Treeview functions.
let nodeId: number = 5;
let node: BootstrapTreeViewNodeData = data[0];
$('#tree').treeview('checkAll', { silent: true });
$('#tree').treeview('checkNode', [ nodeId, { silent: true } ]);
$('#tree').treeview('clearSearch');
$('#tree').treeview('collapseAll', { silent: true });
$('#tree').treeview('collapseNode', [ nodeId, { silent: true, ignoreChildren: false } ]);
$('#tree').treeview('disableAll', { silent: true });
$('#tree').treeview('disableNode', [ nodeId, { silent: true } ]);
$('#tree').treeview('enableAll', { silent: true });
$('#tree').treeview('enableNode', [ nodeId, { silent: true } ]);
$('#tree').treeview('expandAll', { levels: 2, silent: true });
$('#tree').treeview('expandNode', [ nodeId, { levels: 2, silent: true } ]);
$('#tree').treeview('getCollapsed', nodeId);
$('#tree').treeview('getDisabled', nodeId);
$('#tree').treeview('getEnabled', nodeId);
$('#tree').treeview('getExpanded', nodeId);
$('#tree').treeview('getExpanded', nodeId);
$('#tree').treeview('getParent', node);
$('#tree').treeview('getSelected', nodeId);
$('#tree').treeview('getSiblings', node);
$('#tree').treeview('getUnselected', nodeId);
$('#tree').treeview('remove');
$('#tree').treeview('revealNode', [ nodeId, { silent: true } ]);
$('#tree').treeview('search', [ 'Parent', {
ignoreCase: true, // case insensitive
exactMatch: false, // like or equals
revealResults: true, // reveal matching nodes
}]);
$('#tree').treeview('selectNode', [ nodeId, { silent: true } ]);
$('#tree').treeview('toggleNodeChecked', [ nodeId, { silent: true } ]);
$('#tree').treeview('toggleNodeDisabled', [ nodeId, { silent: true } ]);
$('#tree').treeview('toggleNodeExpanded', [ nodeId, { silent: true } ]);
$('#tree').treeview('toggleNodeSelected', [ nodeId, { silent: true } ]);
$('#tree').treeview('uncheckAll', { silent: true });
$('#tree').treeview('uncheckNode', [ nodeId, { silent: true } ]);
$('#tree').treeview('unselectNode', [ nodeId, { silent: true } ]);
// Test events
$('#tree').treeview({
onNodeSelected: (event: any, data: BootstrapTreeViewNodeData) => void {
// Event handler
}
});

70
types/bootstrap-treeview/index.d.ts vendored Normal file
View File

@@ -0,0 +1,70 @@
// Type definitions for bootstrap-treeview.js 1.20
// Project: https://github.com/jonmiles/bootstrap-treeview
// Definitions by: Jan Böhmer <https://github.com/jbtronics>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.3
/// <reference types="jquery"/>
interface BootstrapTreeViewNodeData {
text?: string;
icon?: string;
selectedIcon?: string;
color?: string;
backColor?: string;
href?: string;
selectable?: boolean;
nodeId?: number;
state?: {
checked: boolean;
disabled: boolean;
expanded: boolean;
selected: boolean;
};
tags?: string[];
nodes?: BootstrapTreeViewNodeData[];
}
interface BootstrapTreeViewOptions {
data?: BootstrapTreeViewNodeData[];
backColor?: string;
borderColor?: string;
checkedIcon?: string;
collapseIcon?: string;
color?: string;
emptyIcon?: string;
enableLinks?: boolean;
expandIcon?: string;
highlightSearchResults?: boolean;
highlightSelected?: boolean;
levels?: number;
multiSelect?: boolean;
nodeIcon?: string;
onhoverColor?: string;
selectedIcon?: string;
searchResultBackColor?: string;
searchResultColor?: string;
selectedBackColor?: string;
selectedColor?: string;
showBorder?: boolean;
showCheckbox?: boolean;
showIcon?: boolean;
showTags?: boolean;
uncheckedIcon?: boolean;
onNodeSelected?(event: any, node: BootstrapTreeViewNodeData): void;
onNodeChecked?(event: any, node: BootstrapTreeViewNodeData): void;
onNodeCollapsed?(event: any, node: BootstrapTreeViewNodeData): void;
onNodeDisabled?(event: any, node: BootstrapTreeViewNodeData): void;
onNodeEnabled?(event: any, node: BootstrapTreeViewNodeData): void;
onNodeExpanded?(event: any, node: BootstrapTreeViewNodeData): void;
onNodeUnchecked?(event: any, node: BootstrapTreeViewNodeData): void;
onNodeUnselected?(event: any, node: BootstrapTreeViewNodeData): void;
onSearchComplete?(event: any, node: BootstrapTreeViewNodeData): void;
onSearchCleared?(event: any, node: BootstrapTreeViewNodeData): void;
}
interface JQuery {
treeview(options: BootstrapTreeViewOptions): JQuery;
treeview(method: string, ...args: any[]): JQuery;
}

View File

@@ -0,0 +1,23 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": [
"es6",
"dom"
],
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": true,
"baseUrl": "../",
"typeRoots": [
"../"
],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts",
"bootstrap-treeview-tests.ts"
]
}

View File

@@ -0,0 +1 @@
{ "extends": "dtslint/dt.json" }