node.hasClass(className)
tree.applyCommand()
and node.applyCommand()
(experimental!)tree.isLoading()
tree.toDict(includeRoot, callback)
and node.toDict(recursive, callback)
:
callback can now return false
or "skip"
to skip nodes.ext-table
that introduces viewport support, which
allows to maintain huge data models while only rendering as many DOM elements as necessary.tree.viewport.count
) and the index of the first visible row (.start
)dnd5.dropEffect
callback option (set data.dropEffect
instead)dnd5.dragImage
callback option (call data.dataTransfer.setDragImage()
data.useDefaultImage = false
instead)dnd5.preventRecursiveMoves
to dnd5.preventRecursion
dnd5.preventVoidMoves
now only aplies to ‘move’ operations, so we can copy before selfdnd5.preventSameParent
optiontreeStructureChanged
tree.findRelatedNode()
, node.findRelatedNode()
node.getPath()
$.ui.fancytree.getDragNode()
, $.ui.fancytree.getDragNodeList()
updateViewport
.checkboxAutoHide
to hide checkboxes unless selected or hovered..treeId
to prevent generation of a new sequence if the tree is re-initialized on a page..getTree()
now also accepts the tree id stringpartsel
flag that was explicitly set on a lazy nodetree.applyFilter
was removedexpandAll()
and ext-filter
preventNonNodes
option.getTree()
for jQuery 3window
, not document or body.opts
argumentnodata
option (bool, string, or callback)mergeStatusColumns
optiontree.enable(flag)
tree.expandAll(flag, opts)
tree.setOption(name, value)
and tree.getOption(name)
{..., children: []}
triggerStart: []
does not override the default settings.Array
will now override the default option.
Before, arrays were merged with the default.toggleEffect
now also accepts “toggle” or “slideToggle” to use jQuery effects instead of jQueryUI.toggleEffect: { effect: "slideToggle", duration: 200 }
is now the default.icon
option supports {html: "..."}
content (also available for glyph-ext mapping)..fancytree-helper-disabled
.fancytree-helper-hidden
(replaces ui-helper-hidden
).fancytree-helper-indeterminate-cb
fancytree-helper-spin
for icon animations (replaces glyphicon-spin
)node.type
is now a first-class property of FancytreeNode.
Node data {..., type: "foo"}
is now available as node.type
(before: node.data.type
).tree.types
and tree.columns
have been added to Fancytree.
If passed with source data, they are now available directly instead of
tree.data.types
or tree.data.columns
.node.type
and tree.types
are recommended to implement node-type
specific configuration (details).data
argument contains typeInfo == tree.types[node.type]
.icon
option can now return a dict to create a ligature icon.node.key
.progress()
events which can
be used instead of the callback.tree.columns
was added to Fancytree. Currently only reserved as
recommended pattern to pass global meta-data for ext-table.clickActive
for option triggerStart: [...]
.iconTooltip
).<mark>
element missing in filtered nodes (minified bundle, IE 11)."FancytreeNode@_4[title='My name']"
tree.clearCookies()
. Use tree.clearData()
tree.clearPersistData()
instead.$.ui.fancytree.getNode()
for ES6 environmentsdist/src/
folder was renamed to dist/modules
.demo/
are no longer part of the npm install.dist/
folder now includes a modules/
directory with fancytree core
and all extensions.jquery.fancytree/dist/modules/jquery.fancytree
is defined as
package main module, so Fancytree can be included using a simplefancytree = require('jquery.fancytree')
.$.ui.fancytree.createTree(elem, opts)
jquery.fancytree-all-deps.min.js
checkbox
option is falsepreset
(making the map
option optional)The external dependency on jQuery UI was removed.
A new library jquery.fancytree-all-deps.min.js
is now added to the
distribution. It includes all dependencies on jQuery UI, so the only
remaining external dependency is jQuery.
Continue to use jquery.fancytree-all.min.js
if jQuery UI is already
included anyway.
unselectable
, unselectableIgnore
, unselectableStatus
.radiogroup
to enable single-select for child nodesopts.noEvents
to setSelected(flag, opts)
hideCheckbox
option was removed. Use checkbox: false
instead.<li class='hideCheckbox'>
is still parsed from input
HTML and converted accordingly.<div class='fancytree-radio'>
was removed.
This class was used on the container to turn all checkbox items into
radio buttons.<span class="fancytree-checkbox fancytree-radio">
.
Use the tree.checkox: "radio"
option to activate this for the whole tree.tree.tooltip
option has changed to
tooltip(event, data)
aria
option is now on by defaultcheckbox
, icon
, tooltip
, unselectable
, unselectableIgnore
,
unselectableStatus
.node.visitSiblings()
expandOpts
is passed to setExpanded()
Allows to suppress animation or event generation.children: []
rtl
option for right-to-left script supporttreeSetOption
allows extensions to update on option changesoverflow: auto
for the container.
If the tree container has a fixed height, overflow: auto
or overflow: scroll
should be added to make it scrollable.
(Otherwise this always would be the scroll parent for ext-dnd5.)data-type="json"
attributemodifyChild
event. This event is also a good place to
implement auto sorting (#559)generateFormElements()
tree.tooltip
option allows automatic or custom tooltipsremoveNode
event. Listen for modifyChild
with operation
‘remove’ instead (which is fired on the parent)opts
argument of filterNodes()
/ filterBranches()
have been unifiededitCreateNode()
<li>
loadKeyPath()
sometimes gets the root wrong.fancytree-connectors
to be set on containerdata.originalEvent
is now passed to beforeClose
source
option does not update treecollapsed
event).escapeTitles
.enhanceTitle()
node.addClass()
, .removeClass()
, and .toggleClass()
tree.filterNodes()
may now return
"branch"
and "skip"
nodata
allows to configure a status node for
empty resultsdigits
argument to node.getIndexHier(separator, digits)
.tabindex
, default is “0”. Pass “” to resolve #577.tabbable
. Use .tabindex
insteadmode='firstChild'
for node.moveTo()
digits=<int>
for node.getIndexHier()
autoExpand: true
.fancytree-fade-expander
to be set on container.dragExpand()
callback to prevent auto-expandsource
callbackpostProcess
tree.reactivate(false)
sets fancytree-treefocus and tree.reactivate(true)
doesn’t set keyboard focusfancytree-statusnode-wait
to fancytree-statusnode-loading
renderStatusColumns
customStatus
. Use renderStatusColumns
insteadclickPaging
nodata
for use with node.setStatus()node.addPagingNode()
node.replaceWith()
node.statusNodeType
node.getSelectedNodes()
glyphicon-spin
to allow rotating loading icon with bootstrap3<tbody>
<thead>
is now optional if <tbody>
contains <td>
soptions.icon
option/callback.node.icon
option. Valid values are true, false, or a string
containing a class name or image url.node.data.icon
namespace,
and did not accept class names.options.iconClass
callback: use options.icon
insteadoptions.icons
: use options.icon
insteadnode.data.iconclass
option: use node.icon
insteadnode.data.icon
option: use node.icon
insteadtree.clear()
method.beforeRestore
lazy: true
, and children: []
,
treat it as ‘loaded leaf node’.undefined
). This would issue a lazyLoad event and a resopnse of []
would
mark the node as leaf node.iconClass
callback and changed signature from
iconClass(node)
to iconClass(event, data)
initHelper
and updateHelper
smartRevert
highlight
and fuzzy
options to ext-filterfireActivate
option to ext-persist (default: true)focusOnClick
option is ignored for tables if ‘dnd’ is listed after ‘table’ extensionfancytree-plain
class to container (if not table), allowing for more efficient cssnode
argument to the toDict()
callbackdist/skin-custom-1
sample (again)dist/skin-common.less
to fix theme importstree.filterNodes(filter, opts)
now accept an opts
object instead of leavesOnly
autoExpand
for [ext-filter]opts
, default: {stopOnParents: true}
_superApply()
for hook handlers.fx
option. Use toggleEffect
instead.focusOnSelect
to set focus when node is checked by a mouse
click (default: false)restore
event, sent after ext-persist has restored the tree stateautoApply
re-applies filter on lazy loading
(on by default)fancytree-unselectable
to respective nodes and
dim unselectable checkboxesdata.value
(use data.input.val()
instead).node.visitAndLoad()
node.editCreateNode()
(ext-edit)node.isRootNode()
node.isTopLevel()
id
to override default tree idstopOnParents
for tree.generateFormElements()window
false
to prevent default handlingwindow
or a wrapper DIV with overflow: auto