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.preventRecursiondnd5.preventVoidMoves now only aplies to ‘move’ operations, so we can copy before selfdnd5.preventSameParent optiontreeStructureChangedtree.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-filterpreventNonNodes 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-cbfancytree-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.jscheckbox 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 beforeClosesource 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 callbackpostProcesstree.reactivate(false) sets fancytree-treefocus and tree.reactivate(true)
doesn’t set keyboard focusfancytree-statusnode-wait to fancytree-statusnode-loadingrenderStatusColumnscustomStatus. Use renderStatusColumns insteadclickPagingnodata for use with node.setStatus()node.addPagingNode()node.replaceWith()node.statusNodeTypenode.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.beforeRestorelazy: 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 updateHelpersmartReverthighlight 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 leavesOnlyautoExpand 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()windowfalse to prevent default handlingwindow or a wrapper DIV with overflow: auto