Fancytree Versions Save

JavaScript tree view / tree grid plugin with support for keyboard, inline editing, filtering, checkboxes, drag'n'drop, and lazy loading

v2.32.0

4 years ago
  • [Added] node.hasClass(className)
  • [Added] tree.applyCommand() and node.applyCommand() (experimental!)
  • [Added] tree.isLoading()
  • [Added] tree.toDict(includeRoot, callback) and node.toDict(recursive, callback): callback can now return false or "skip" to skip nodes.
  • [Fixed] #951 Hover issue in unselectable radio
  • ext-dnd5: allow autoExpand even if dropping is prevented
  • [Fixed] ext-filter: tree.rootNode.subMatchCount is now set correctly
  • [Fixed] #955 node.navigate($.ui.keyCode.DOWN, false) does not return promise
  • Stop testing with jQuery UI 1.10 and 1.11 (only jQuery UI 1.12 remains)

Commit details.

v2.31.0

4 years ago
  • New extension ext-grid (experimental)
    This is a variant of ext-table that introduces viewport support, which allows to maintain huge data models while only rendering as many DOM elements as necessary.
    Main changes:
    • A viewport is defined by the number of visible rows (tree.viewport.count) and the index of the first visible row (.start)
    • When scrolling, rows are not hidden, but removed and replaced. (This implies that the contents of embedded input fields should be written into the model immediately.)
  • Refactored ext-dnd5
    Some breaking changes were made, mainly to improve handling of the dropEffect (note that ext-dnd5 was and still is experimental and in progress).
    • Remove dnd5.dropEffect callback option (set data.dropEffect instead)
    • Remove dnd5.dragImage callback option (call data.dataTransfer.setDragImage()
    • and set data.useDefaultImage = false instead)
    • Rename dnd5.preventRecursiveMoves to dnd5.preventRecursion
    • dnd5.preventVoidMoves now only aplies to 'move' operations, so we can copy before self
    • [Added] dnd5.preventSameParent option
  • [Added] hook treeStructureChanged
  • [Added] methods tree.findRelatedNode(), node.findRelatedNode()
  • [Added] method node.getPath()
  • [Added] methods $.ui.fancytree.getDragNode(), $.ui.fancytree.getDragNodeList()
  • [Added] event updateViewport
  • [Added] tree option .checkboxAutoHide to hide checkboxes unless selected or hovered.
  • [Added] tree option .treeId to prevent generation of a new sequence if the tree is re-initialized on a page.
  • [Changed] .getTree() now also accepts the tree id string
  • [Changed] #939: Keep a partsel flag that was explicitly set on a lazy node
  • [Changed] ext-clones: make default key generation more robust against collisions
  • [DEPRECATED] loaderror and lazyload options now throw an error instead of falling back to the correct loadError and lazyLoad
  • [DEPRECATED] tree.applyFilter was removed
  • [Fixed] #918 SVG font awesome 5 glyphs remove badge counter when parent node is collapsed
  • [Fixed] #921 ext-edit respectively focus handling: Internet Explorer scrolls briefly to the top/left of the tree container element after editing a node title if the tree container is partially outside the viewport
  • [Fixed] #931 Selecting grandparent selects all nodes of radiogroup in selectMode=3
  • [Fixed] #946 dnd5 - Counter badge shows up, although the drag was cancelled from dragStart callback
  • [Fixed] #947 dnd5 - dragEnd is fired only when re-ordering nodes within the same parent
  • [Fixed] missing tree.error() and broken node.error()
  • [Fixed] a bug in ext-logger
  • Optimized performance of expandAll() and ext-filter
  • Replace jshint/jscs with eslint
  • Now testing on Puppeteer/Chromium instead of PhantonJS
  • Use LF on Windows when checking out from git (added .gitattributes)
  • Update to jQuery 3.4

Commit details.

v2.30.2

5 years ago
  • Stop testing on IE 8 (no longer available on Saucelabs)
  • [Fixed] #910 ext-dnd5 throws error for draggable column headers
  • [Fixed] overrideMethod()'s calling context
  • [Fixed] #912 ext-dnd5 + ext-glyph awesome5 does not show the icons when dragging an item
  • [Fixed] #919 ext-multi: JavaScript error (event is not defined) in nodeKeydown
  • [Fixed] #922 scrollIntoView for plain trees that don't have a scrollbar
  • [Fixed] #924 ext-edit: Fix caret position for mouse-click in input
  • [Fixed] #928 ext-dnd5: Fix preventNonNodes option
  • [Fixed] #929 Fix .getTree() for jQuery 3
  • [Fixed] #930 ext-dnd5: If drag does not start, no drag data should be stored

Commit details.

v2.30.1

5 years ago
  • [Changed] Apply and enforce 'prettier' codestyle
  • [Changed] #897 Set font for table extension
  • [Fixed] #883: Font Awesome 4 animation spinner stays visible
  • [Fixed] #894: Fancytree assertion failed: scrollParent should be a simple element or window, not document or body.
  • [Fixed] #896 _requireExtension: order managment
  • [Fixed] #899 Creating duplicate icon when removing node using extension columnview
  • [Fixed] #900 ColumnView Extension - Toggle between parent and children not working
  • [Fixed] #909 With quicksearch enabled, does not search for non-Latin character

Commit details.

v2.30.0

5 years ago
  • [Changed] ext-edit trigger 'clickActive' now only triggers if no modifier keys (shift, meta, control, ...) are pressed.
    Trigger 'shift+click' now only triggers if no other modifier key (control, ...) is pressed.
  • [Changed] #879 Rename ext-debug to ext-logger (jquery.fancytree.debug.js => jquery.fancytree.logger.js)
  • [Added] ext-multi is now deployed with jquery.fancytree-all.js (still experimental)
  • [Added] tree.activateKey(key, opts) now has an opts argument
  • [Added] nodata option (bool, string, or callback)
  • [Added] ext-table mergeStatusColumns option
  • [Added] new method tree.enable(flag)
  • [Added] new method tree.expandAll(flag, opts)
  • [Added] new methods tree.setOption(name, value) and tree.getOption(name)
  • [Fixed] ES6 import dependency on jquery for jquery.fancytree.ui-deps.js
  • [Fixed] #863 setActive() sometimes does not scroll node into view
  • [Fixed] #877 postProcess may now also return the object form {..., children: []}
  • [Fixed] #884 ReferenceError: jQuery is not defined at _simpleDeepMerge
  • [Fixed] autoScroll, node.scrollIntoView(), and .makeVisible() now work for tables as well.

Commit details.

v2.29.1

5 years ago
  • [Fixed] ES6 import dependency on jquery for jquery.fancytree.ui-deps.js
  • [Fixed] #848 Drag End Error with dnd5 extension (again): fancytree-drag-remove class not removed on drop/dragend
  • [Fixed] #875 ext-dnd5: Unwanted expanding of folder node when a node is dragged before/after it
  • [Fixed] #876 triggerStart: [] does not override the default settings.
    NOTE: Options of type Array will now override the default option. Before, arrays were merged with the default.
  • [Fixed] ext-ariagrid default actions

Commit details.

v2.29.0

5 years ago
  • [Changed] toggleEffect now also accepts "toggle" or "slideToggle" to use jQuery effects instead of jQueryUI.
    toggleEffect: { effect: "slideToggle", duration: 200 } is now the default.
    'effects' component was removed from the bundled jquery.fancytree.ui-deps.js
  • [Fixed] #746 Animation bug when expanding/collapsing nodes
  • [Fixed] #848 Drag End Error with dnd5 extension
  • [Fixed] #850 ext-childcounter doesn't work with custom icons
  • [Fixed] #859 Fix log level configuration problem
  • [Fixed] #865 toggleEffect animation (effect: blind) sometimes got stuck.
  • Stop testing jQuery UI 1.9
  • Update to jQuery 3.3.1

Commit details.

v2.28.1

6 years ago
  • [Fixed] #844 Fix RTL for ext-table
  • [Fixed] #845 Fix RTL for ext-dnd/ext-dnd5
  • [Fixed] #764 Fix clicks on embedded tags when filter is on

Commit details.

v2.28.0

6 years ago
  • [Added] New extension ext-multi (experimental).
  • [Added] ext-dnd5 support for dragging multiple selected nodes.
  • [Added] #830 support for Font Awesome 5 (ext-glyph preset).
  • [Added] ext-glyph supports SVG icons.
  • [Added] icon option supports {html: "..."} content (also available for glyph-ext mapping).
  • [Added] New method tree.visitRows()
  • [Added] New method tree.selectAll()
  • [Added] New method node.isBelowOf()
  • [Added] New extension ext-fixed (experimental).
  • [Changed] Re-rename clearData() to clearPersistData()
  • [Changed] #828 Re-scale debugLevel from 0:quiet to 4:verbose, allowing to suppress warnings and even errors.
  • [Added] CSS helper classes:
    .fancytree-helper-disabled
    .fancytree-helper-hidden (replaces ui-helper-hidden)
    .fancytree-helper-indeterminate-cb
    fancytree-helper-spin for icon animations (replaces glyphicon-spin)
  • [Fixed] #819: ext-filter: Handle nodes without title.
  • [Fixed] #835: ext-dnd5: Accept drop externals after drag.

Commit details.

v2.27.0

6 years ago
  • BREAKING CHANGES:
    • node.type is now a first-class property of FancytreeNode. Node data {..., type: "foo"} is now available as node.type (before: node.data.type).
    • The properties 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.
  • Support patterns for node types:
    • The properties node.type and tree.types are recommended to implement node-type specific configuration (details).
    • Event data argument contains typeInfo == tree.types[node.type].
  • Improved ext-glyph:
    • [Added] support for ligature icons (e.g. material icons).
    • [Added] icon option can now return a dict to create a ligature icon.
  • Improved tree.loadKeyPath():
    • [Added] support for a custom path segment matcher. This allows to have key paths with segments other than node.key.
    • [Improved] the returned deferred promise now triggers progress() events which can be used instead of the callback.
  • The property tree.columns was added to Fancytree. Currently only reserved as recommended pattern to pass global meta-data for ext-table.
  • [Added] ext-edit: new trigger mode clickActive for option triggerStart: [...].
  • [Added] #798 Tooltip support for icons (dynamic option iconTooltip).
  • [Added] #808 Pass custom storage providers to ext-persist.
  • [Improved] ext-table no longer needs empty tbody/tr if thead is present.
  • [Fixed] #796 UMD requirements for node/CommonJS
  • [Fixed] #803 jquery.fancytree.ui-deps.js does not override existing widgets.
  • [Fixed] #815 <mark> element missing in filtered nodes (minified bundle, IE 11).
  • [Fixed] #816 findNextNode() doesn't set default for 'startNode' argument.
  • [Added] Material Design demo
  • [Added] Demo for Fancytree inside a jquery-confirm popup
  • [Changed] String representation is now "FancytreeNode@_4[title='My name']"
  • [DEPRECATED] tree.clearCookies(). Use tree.clearData() instead.

Commit details.