Skip to content

Commit b7cb93c

Browse files
committed
Bumping version to 2.2.0
1 parent 6c3596d commit b7cb93c

23 files changed

+240
-137
lines changed

bower.json

Lines changed: 47 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,49 @@
11
{
2-
"name": "jquery.fancytree",
3-
"description": "Fancytree is a JavaScript tree view plugin for jQuery with support for persistence, keyboard, checkboxes, drag'n'drop, and lazy loading.",
4-
"version": "2.1.0-0",
5-
"main": [
6-
"dist/jquery.fancytree-custom.min.js"
7-
],
8-
"license": "MIT",
9-
"ignore": [
10-
"**/.*",
11-
"/3rd-party",
12-
"/archive",
13-
"/bin",
14-
"/build",
15-
"/demo",
16-
"/doc",
17-
"/lib",
18-
"/src",
19-
"/test",
20-
"bower.json",
21-
"CONTRIBUTING.md",
22-
"fancytree.jquery.json",
23-
"Gruntfile.coffee",
24-
"index.html"
25-
],
26-
"keywords": [
27-
"ajax",
28-
"jquery",
29-
"table",
30-
"tabletree",
31-
"tree",
32-
"treegrid"
33-
],
34-
"authors": [
35-
{
36-
"name": "Martin Wendt",
37-
"homepage": "http://careers.stackoverflow.com/martin-wendt"
38-
}
39-
],
40-
"repository": {
41-
"type": "git",
42-
"url": "git://github.com/mar10/fancytree.git"
43-
},
44-
"dependencies": {
45-
"jquery": ">=1.7",
46-
"jquery-ui": ">=1.8.6"
47-
},
48-
"devDependencies": {}
2+
"name": "jquery.fancytree",
3+
"description": "Fancytree is a JavaScript tree view plugin for jQuery with support for persistence, keyboard, checkboxes, drag'n'drop, and lazy loading.",
4+
"version": "2.2.0",
5+
"main": [
6+
"dist/jquery.fancytree-custom.min.js"
7+
],
8+
"license": "MIT",
9+
"ignore": [
10+
"**/.*",
11+
"/3rd-party",
12+
"/archive",
13+
"/bin",
14+
"/build",
15+
"/demo",
16+
"/doc",
17+
"/lib",
18+
"/src",
19+
"/test",
20+
"bower.json",
21+
"CONTRIBUTING.md",
22+
"fancytree.jquery.json",
23+
"Gruntfile.coffee",
24+
"index.html"
25+
],
26+
"keywords": [
27+
"ajax",
28+
"jquery",
29+
"table",
30+
"tabletree",
31+
"tree",
32+
"treegrid"
33+
],
34+
"authors": [
35+
{
36+
"name": "Martin Wendt",
37+
"homepage": "http://careers.stackoverflow.com/martin-wendt"
38+
}
39+
],
40+
"repository": {
41+
"type": "git",
42+
"url": "git://github.com/mar10/fancytree.git"
43+
},
44+
"dependencies": {
45+
"jquery": ">=1.7",
46+
"jquery-ui": ">=1.8.6"
47+
},
48+
"devDependencies": {}
4949
}

demo/sample-select.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,11 +125,11 @@
125125
selectMode: 3,
126126
source: treeData,
127127
lazyLoad: function(event, ctx) {
128-
ctx.result = {url: "ajax-sub2.json", debugDelay: 1000};
129-
},
128+
ctx.result = {url: "ajax-sub2.json", debugDelay: 1000};
129+
},
130130
loadChildren: function(event, ctx) {
131-
ctx.node.fixSelection3AfterClick();
132-
},
131+
ctx.node.fixSelection3AfterClick();
132+
},
133133
select: function(event, data) {
134134
// Get a list of all selected nodes, and convert to a key array:
135135
var selKeys = $.map(data.tree.getSelectedNodes(), function(node){

dist/jquery.fancytree-all.js

Lines changed: 63 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
* Released under the MIT license
88
* https://github.com/mar10/fancytree/wiki/LicenseInfo
99
*
10-
* @version 2.1.0
11-
* @date 2014-05-29T16:44
10+
* @version 2.2.0
11+
* @date 2014-06-28T17:15
1212
*/
1313

1414
/** Core Fancytree module.
@@ -614,7 +614,7 @@ FancytreeNode.prototype = /** @lends FancytreeNode# */{
614614
var i, l, child, s, state, allSelected,someSelected,
615615
children = node.children;
616616

617-
if( children ){
617+
if( children && children.length ){
618618
// check all children recursively
619619
allSelected = true;
620620
someSelected = false;
@@ -852,6 +852,16 @@ FancytreeNode.prototype = /** @lends FancytreeNode# */{
852852
hasFocus: function() {
853853
return (this.tree.hasFocus() && this.tree.focusNode === this);
854854
},
855+
/** Write to browser console if debugLevel >= 1 (prepending node info)
856+
*
857+
* @param {*} msg string or object or array of such
858+
*/
859+
info: function(msg){
860+
if( this.tree.options.debugLevel >= 1 ) {
861+
Array.prototype.unshift.call(arguments, this.toString());
862+
consoleApply("info", arguments);
863+
}
864+
},
855865
/** Return true if node is active (see also FancytreeNode#isSelected).
856866
* @returns {boolean}
857867
*/
@@ -1196,7 +1206,7 @@ FancytreeNode.prototype = /** @lends FancytreeNode# */{
11961206
// Navigate to node
11971207
function _goto(n){
11981208
if( n ){
1199-
n.makeVisible();
1209+
try { n.makeVisible(); } catch(e) {} // #272
12001210
// Node may still be hidden by a filter
12011211
if( ! $(n.span).is(":visible") ) {
12021212
n.debug("Navigate: skipping hidden node");
@@ -1883,17 +1893,17 @@ Fancytree.prototype = /** @lends Fancytree# */{
18831893
generateFormElements: function(selected, active) {
18841894
// TODO: test case
18851895
var nodeList,
1886-
selectedName = (selected !== false) ? "ft_" + this._id : selected,
1896+
selectedName = (selected !== false) ? "ft_" + this._id + "[]" : selected,
18871897
activeName = (active !== false) ? "ft_" + this._id + "_active" : active,
18881898
id = "fancytree_result_" + this._id,
1889-
$result = this.$container.find("div#" + id);
1899+
$result = $("#" + id);
18901900

18911901
if($result.length){
18921902
$result.empty();
18931903
}else{
18941904
$result = $("<div>", {
18951905
id: id
1896-
}).hide().appendTo(this.$container);
1906+
}).hide().insertAfter(this.$container);
18971907
}
18981908
if(selectedName){
18991909
nodeList = this.getSelectedNodes( this.options.selectMode === 3 );
@@ -1967,7 +1977,12 @@ Fancytree.prototype = /** @lends Fancytree# */{
19671977
}, true);
19681978
return match;
19691979
},
1970-
// TODO: getRoot()
1980+
/** Return the invisible system root node.
1981+
* @returns {FancytreeNode}
1982+
*/
1983+
getRootNode: function() {
1984+
return this.rootNode;
1985+
},
19711986
/**
19721987
* Return an array of selected nodes.
19731988
* @param {boolean} [stopOnParents=false] only return the topmost selected
@@ -3791,7 +3806,7 @@ $.extend($.ui.fancytree,
37913806
/** @lends Fancytree_Static# */
37923807
{
37933808
/** @type {string} */
3794-
version: "2.1.0", // Set to semver by 'grunt release'
3809+
version: "2.2.0", // Set to semver by 'grunt release'
37953810
/** @type {string} */
37963811
buildType: "production", // Set to 'production' by 'grunt build'
37973812
/** @type {int} */
@@ -4090,8 +4105,8 @@ $.extend($.ui.fancytree,
40904105
* Released under the MIT license
40914106
* https://github.com/mar10/fancytree/wiki/LicenseInfo
40924107
*
4093-
* @version 2.1.0
4094-
* @date 2014-05-29T16:44
4108+
* @version 2.2.0
4109+
* @date 2014-06-28T17:15
40954110
*/
40964111

40974112
// To keep the global namespace clean, we wrap everything in a closure
@@ -4266,8 +4281,8 @@ $.ui.fancytree.registerExtension({
42664281
* Released under the MIT license
42674282
* https://github.com/mar10/fancytree/wiki/LicenseInfo
42684283
*
4269-
* @version 2.1.0
4270-
* @date 2014-05-29T16:44
4284+
* @version 2.2.0
4285+
* @date 2014-06-28T17:15
42714286
*/
42724287

42734288
;(function($, window, document, undefined) {
@@ -4461,6 +4476,7 @@ $.ui.fancytree.registerExtension({
44614476
autoExpandMS: 1000, // Expand nodes after n milliseconds of hovering.
44624477
preventVoidMoves: true, // Prevent dropping nodes 'before self', etc.
44634478
preventRecursiveMoves: true, // Prevent dropping nodes on own descendants
4479+
focusOnClick: false, // Focus, although draggable cancels mousedown event (#270)
44644480
dragEnter: null, // Callback(targetNode, data)
44654481
dragOver: null, // Callback(targetNode, data)
44664482
dragDrop: null, // Callback(targetNode, data)
@@ -4473,6 +4489,20 @@ $.ui.fancytree.registerExtension({
44734489
treeInit: function(ctx){
44744490
var tree = ctx.tree;
44754491
this._super(ctx);
4492+
// issue #270: draggable eats mousedown events
4493+
if( tree.options.dnd.dragStart ){
4494+
tree.$container.on("mousedown", function(event){
4495+
if( !tree.hasFocus() && ctx.options.dnd.focusOnClick ) {
4496+
var node = $.ui.fancytree.getNode(event);
4497+
node.debug("Re-enable focus that was prevented by jQuery UI draggable.");
4498+
// node.setFocus();
4499+
// $(node.span).closest(":tabbable").focus();
4500+
// $(event.target).trigger("focus");
4501+
// $(event.target).closest(":tabbable").trigger("focus");
4502+
$(event.target).closest(":tabbable").focus();
4503+
}
4504+
});
4505+
}
44764506
_initDragAndDrop(tree);
44774507
},
44784508
/* Override key handler in order to cancel dnd on escape.*/
@@ -4483,6 +4513,12 @@ $.ui.fancytree.registerExtension({
44834513
}
44844514
return this._super(ctx);
44854515
},
4516+
nodeClick: function(ctx) {
4517+
// if( ctx.options.dnd.dragStart ){
4518+
// ctx.tree.$container.focus();
4519+
// }
4520+
return this._super(ctx);
4521+
},
44864522
/* Display drop marker according to hitMode ('after', 'before', 'over', 'out', 'start', 'stop'). */
44874523
_setDndStatus: function(sourceNode, targetNode, helper, hitMode, accept) {
44884524
var posOpts,
@@ -4790,8 +4826,8 @@ $.ui.fancytree.registerExtension({
47904826
* Released under the MIT license
47914827
* https://github.com/mar10/fancytree/wiki/LicenseInfo
47924828
*
4793-
* @version 2.1.0
4794-
* @date 2014-05-29T16:44
4829+
* @version 2.2.0
4830+
* @date 2014-06-28T17:15
47954831
*/
47964832

47974833
;(function($, window, document, undefined) {
@@ -5105,8 +5141,8 @@ $.ui.fancytree.registerExtension({
51055141
* Released under the MIT license
51065142
* https://github.com/mar10/fancytree/wiki/LicenseInfo
51075143
*
5108-
* @version 2.1.0
5109-
* @date 2014-05-29T16:44
5144+
* @version 2.2.0
5145+
* @date 2014-06-28T17:15
51105146
*/
51115147

51125148
;(function($, window, document, undefined) {
@@ -5267,8 +5303,8 @@ $.ui.fancytree.registerExtension({
52675303
* Released under the MIT license
52685304
* https://github.com/mar10/fancytree/wiki/LicenseInfo
52695305
*
5270-
* @version 2.1.0
5271-
* @date 2014-05-29T16:44
5306+
* @version 2.2.0
5307+
* @date 2014-06-28T17:15
52725308
*/
52735309

52745310
;(function($, window, document, undefined) {
@@ -5395,8 +5431,8 @@ $.ui.fancytree.registerExtension({
53955431
* Released under the MIT license
53965432
* https://github.com/mar10/fancytree/wiki/LicenseInfo
53975433
*
5398-
* @version 2.1.0
5399-
* @date 2014-05-29T16:44
5434+
* @version 2.2.0
5435+
* @date 2014-06-28T17:15
54005436
*/
54015437

54025438
;(function($, window, document, undefined) {
@@ -5597,8 +5633,8 @@ $.ui.fancytree.registerExtension({
55975633
* Released under the MIT license
55985634
* https://github.com/mar10/fancytree/wiki/LicenseInfo
55995635
*
5600-
* @version 2.1.0
5601-
* @date 2014-05-29T16:44
5636+
* @version 2.2.0
5637+
* @date 2014-06-28T17:15
56025638
*/
56035639

56045640
;(function($, window, document, undefined) {
@@ -5935,8 +5971,8 @@ $.ui.fancytree.registerExtension({
59355971
* Released under the MIT license
59365972
* https://github.com/mar10/fancytree/wiki/LicenseInfo
59375973
*
5938-
* @version 2.1.0
5939-
* @date 2014-05-29T16:44
5974+
* @version 2.2.0
5975+
* @date 2014-06-28T17:15
59405976
*/
59415977

59425978
;(function($, window, document, undefined) {
@@ -6297,8 +6333,8 @@ $.ui.fancytree.registerExtension({
62976333
* Released under the MIT license
62986334
* https://github.com/mar10/fancytree/wiki/LicenseInfo
62996335
*
6300-
* @version 2.1.0
6301-
* @date 2014-05-29T16:44
6336+
* @version 2.2.0
6337+
* @date 2014-06-28T17:15
63026338
*/
63036339

63046340
;(function($, window, document, undefined) {

dist/jquery.fancytree-custom.min.js

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)