fancytree-rails 2.0.0.pre.6.pre.1 → 2.0.0.pre.11.pre.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/Rakefile +6 -7
  4. data/lib/fancytree/rails/version.rb +2 -2
  5. data/vendor/assets/images/fancytree/skin-win8-xxl/icons.gif +0 -0
  6. data/vendor/assets/images/fancytree/skin-win8-xxl/loading.gif +0 -0
  7. data/vendor/assets/javascripts/fancytree.js +1 -1
  8. data/vendor/assets/javascripts/fancytree/MIT-LICENSE.txt +21 -0
  9. data/vendor/assets/javascripts/fancytree/jquery.fancytree-all.js +1267 -475
  10. data/vendor/assets/javascripts/fancytree/jquery.fancytree-custom.min.js +41 -0
  11. data/vendor/assets/javascripts/fancytree/jquery.fancytree.js +582 -310
  12. data/vendor/assets/javascripts/fancytree/jquery.fancytree.min.js +14 -7
  13. data/vendor/assets/javascripts/fancytree/src/jquery.fancytree.childcounter.js +185 -0
  14. data/vendor/assets/javascripts/fancytree/src/jquery.fancytree.clones.js +417 -0
  15. data/vendor/assets/javascripts/fancytree/src/jquery.fancytree.columnview.js +149 -0
  16. data/vendor/assets/javascripts/fancytree/src/jquery.fancytree.debug.js +142 -0
  17. data/vendor/assets/javascripts/fancytree/src/jquery.fancytree.dnd.js +539 -0
  18. data/vendor/assets/javascripts/fancytree/src/jquery.fancytree.edit.js +318 -0
  19. data/vendor/assets/javascripts/fancytree/src/jquery.fancytree.filter.js +173 -0
  20. data/vendor/assets/javascripts/fancytree/{jquery.fancytree.awesome.js → src/jquery.fancytree.glyph.js} +28 -26
  21. data/vendor/assets/javascripts/fancytree/{jquery.fancytree.gridnav.js → src/jquery.fancytree.gridnav.js} +77 -41
  22. data/vendor/assets/javascripts/fancytree/src/jquery.fancytree.js +4027 -0
  23. data/vendor/assets/javascripts/fancytree/src/jquery.fancytree.menu.js +155 -0
  24. data/vendor/assets/javascripts/fancytree/src/jquery.fancytree.persist.js +345 -0
  25. data/vendor/assets/javascripts/fancytree/src/jquery.fancytree.table.js +345 -0
  26. data/vendor/assets/javascripts/fancytree/src/jquery.fancytree.themeroller.js +82 -0
  27. data/vendor/assets/stylesheets/fancytree/skin-awesome/ui.fancytree.css +29 -15
  28. data/vendor/assets/stylesheets/fancytree/skin-awesome/ui.fancytree.min.css +1 -1
  29. data/vendor/assets/stylesheets/fancytree/skin-bootstrap/ui.fancytree.css +366 -0
  30. data/vendor/assets/stylesheets/fancytree/skin-bootstrap/ui.fancytree.min.css +6 -0
  31. data/vendor/assets/stylesheets/fancytree/skin-lion/ui.fancytree.css +34 -7
  32. data/vendor/assets/stylesheets/fancytree/skin-lion/ui.fancytree.min.css +1 -1
  33. data/vendor/assets/stylesheets/fancytree/skin-vista/ui.fancytree.css +34 -7
  34. data/vendor/assets/stylesheets/fancytree/skin-vista/ui.fancytree.min.css +1 -1
  35. data/vendor/assets/stylesheets/fancytree/skin-win7/ui.fancytree.css +34 -7
  36. data/vendor/assets/stylesheets/fancytree/skin-win7/ui.fancytree.min.css +1 -1
  37. data/vendor/assets/stylesheets/fancytree/skin-win8-xxl/ui.fancytree.css +507 -0
  38. data/vendor/assets/stylesheets/fancytree/skin-win8-xxl/ui.fancytree.min.css +11 -0
  39. data/vendor/assets/stylesheets/fancytree/skin-win8/ui.fancytree.css +34 -7
  40. data/vendor/assets/stylesheets/fancytree/skin-win8/ui.fancytree.min.css +1 -1
  41. data/vendor/assets/stylesheets/fancytree/skin-xp/ui.fancytree.css +34 -7
  42. data/vendor/assets/stylesheets/fancytree/skin-xp/ui.fancytree.min.css +1 -1
  43. metadata +24 -13
  44. data/vendor/assets/javascripts/fancytree/jquery.fancytree-all.min.js +0 -7
  45. data/vendor/assets/javascripts/fancytree/jquery.fancytree-all.min.js.map +0 -1
  46. data/vendor/assets/javascripts/fancytree/jquery.fancytree.min.js.map +0 -1
  47. data/vendor/assets/stylesheets/fancytree/skin-lion/ui.fancytree-org.css +0 -460
  48. data/vendor/assets/stylesheets/fancytree/skin-themeroller/ui.fancytree-org.css +0 -505
  49. data/vendor/assets/stylesheets/fancytree/skin-vista/ui.fancytree-org.css +0 -610
  50. data/vendor/assets/stylesheets/fancytree/skin-win7/ui.fancytree-org.css +0 -592
  51. data/vendor/assets/stylesheets/fancytree/skin-win8/ui.fancytree-org.css +0 -602
  52. data/vendor/assets/stylesheets/fancytree/skin-xp/ui.fancytree-org.css +0 -578
@@ -0,0 +1,155 @@
1
+ /*!
2
+ * jquery.fancytree.menu.js
3
+ *
4
+ * Enable jQuery UI Menu as context menu for tree nodes.
5
+ * (Extension module for jquery.fancytree.js: https://github.com/mar10/fancytree/)
6
+ *
7
+ * @see http://api.jqueryui.com/menu/
8
+ *
9
+ * Copyright (c) 2014, Martin Wendt (http://wwWendt.de)
10
+ *
11
+ * Released under the MIT license
12
+ * https://github.com/mar10/fancytree/wiki/LicenseInfo
13
+ *
14
+ * @version 2.0.0-11
15
+ * @date 2014-04-27T22:28
16
+ */
17
+
18
+ ;(function($, window, document, undefined) {
19
+
20
+ "use strict";
21
+
22
+ // prevent duplicate loading
23
+ // if ( $.ui.fancytree && $.ui.fancytree.version ) {
24
+ // $.ui.fancytree.warn("Fancytree: duplicate include");
25
+ // return;
26
+ // }
27
+
28
+ $.ui.fancytree.registerExtension({
29
+ name: "menu",
30
+ version: "0.0.1",
31
+ // Default options for this extension.
32
+ options: {
33
+ enable: true,
34
+ selector: null, //
35
+ position: {}, //
36
+ // Events:
37
+ create: $.noop, //
38
+ beforeOpen: $.noop, //
39
+ open: $.noop, //
40
+ focus: $.noop, //
41
+ select: $.noop, //
42
+ close: $.noop //
43
+ },
44
+ // Override virtual methods for this extension.
45
+ // `this` : is this extension object
46
+ // `this._base` : the Fancytree instance
47
+ // `this._super`: the virtual function that was overridden (member of prev. extension or Fancytree)
48
+ treeInit: function(ctx){
49
+ var opts = ctx.options,
50
+ tree = ctx.tree;
51
+
52
+ this._super(ctx);
53
+
54
+ // Prepare an object that will be passed with menu events
55
+ tree.ext.menu.data = {
56
+ tree: tree,
57
+ node: null,
58
+ $menu: null,
59
+ menuId: null
60
+ };
61
+
62
+ // tree.$container[0].oncontextmenu = function() {return false;};
63
+ // Replace the standard browser context menu with out own
64
+ tree.$container.delegate("span.fancytree-node", "contextmenu", function(event) {
65
+ var node = $.ui.fancytree.getNode(event),
66
+ ctx = {node: node, tree: node.tree, originalEvent: event, options: tree.options};
67
+ tree.ext.menu._openMenu(ctx);
68
+ return false;
69
+ });
70
+
71
+ // Use jquery.ui.menu
72
+ $(opts.menu.selector).menu({
73
+ create: function(event, ui){
74
+ tree.ext.menu.data.$menu = $(this).menu("widget");
75
+ var data = $.extend({}, tree.ext.menu.data);
76
+ opts.menu.create.call(tree, event, data);
77
+ },
78
+ focus: function(event, ui){
79
+ var data = $.extend({}, tree.ext.menu.data, {
80
+ menuItem: ui.item,
81
+ menuId: ui.item.find(">a").attr("href")
82
+ });
83
+ opts.menu.focus.call(tree, event, data);
84
+ },
85
+ select: function(event, ui){
86
+ var data = $.extend({}, tree.ext.menu.data, {
87
+ menuItem: ui.item,
88
+ menuId: ui.item.find(">a").attr("href")
89
+ });
90
+ if( opts.menu.select.call(tree, event, data) !== false){
91
+ tree.ext.menu._closeMenu(ctx);
92
+ }
93
+ }
94
+ }).hide();
95
+ },
96
+ treeDestroy: function(ctx){
97
+ this._super(ctx);
98
+ },
99
+ _openMenu: function(ctx){
100
+ var data,
101
+ tree = ctx.tree,
102
+ opts = ctx.options,
103
+ $menu = $(opts.menu.selector);
104
+
105
+ tree.ext.menu.data.node = ctx.node;
106
+ data = $.extend({}, tree.ext.menu.data);
107
+
108
+ if( opts.menu.beforeOpen.call(tree, ctx.originalEvent, data) === false){
109
+ return;
110
+ }
111
+
112
+ $(document).bind("keydown.fancytree", function(event){
113
+ if( event.which === $.ui.keyCode.ESCAPE ){
114
+ tree.ext.menu._closeMenu(ctx);
115
+ }
116
+ }).bind("mousedown.fancytree", function(event){
117
+ // Close menu when clicked outside menu
118
+ if( $(event.target).closest(".ui-menu-item").length === 0 ){
119
+ tree.ext.menu._closeMenu(ctx);
120
+ }
121
+ });
122
+ // $menu.position($.extend({my: "left top", at: "left bottom", of: event}, opts.menu.position));
123
+ $menu
124
+ .css("position", "absolute")
125
+ .show()
126
+ .position({my: "left top", at: "right top", of: ctx.originalEvent, collision: "fit"})
127
+ .focus();
128
+
129
+ opts.menu.open.call(tree, ctx.originalEvent, data);
130
+ },
131
+ _closeMenu: function(ctx){
132
+ var $menu,
133
+ tree = ctx.tree,
134
+ opts = ctx.options,
135
+ data = $.extend({}, tree.ext.menu.data);
136
+ if( opts.menu.close.call(tree, ctx.originalEvent, data) === false){
137
+ return;
138
+ }
139
+ $menu = $(opts.menu.selector);
140
+ $(document).unbind("keydown.fancytree, mousedown.fancytree");
141
+ $menu.hide();
142
+ tree.ext.menu.data.node = null;
143
+ }
144
+ // ,
145
+ // nodeClick: function(ctx) {
146
+ // var event = ctx.originalEvent;
147
+ // if(event.which === 2 || (event.which === 1 && event.ctrlKey)){
148
+ // event.preventDefault();
149
+ // ctx.tree.ext.menu._openMenu(ctx);
150
+ // return false;
151
+ // }
152
+ // this._super(ctx);
153
+ // }
154
+ });
155
+ }(jQuery, window, document));
@@ -0,0 +1,345 @@
1
+ /*!
2
+ * jquery.fancytree.persist.js
3
+ *
4
+ * Persist tree status in cookiesRemove or highlight tree nodes, based on a filter.
5
+ * (Extension module for jquery.fancytree.js: https://github.com/mar10/fancytree/)
6
+ *
7
+ * @depends: jquery.cookie.js
8
+ *
9
+ * Copyright (c) 2014, Martin Wendt (http://wwWendt.de)
10
+ *
11
+ * Released under the MIT license
12
+ * https://github.com/mar10/fancytree/wiki/LicenseInfo
13
+ *
14
+ * @version 2.0.0-11
15
+ * @date 2014-04-27T22:28
16
+ */
17
+
18
+ ;(function($, window, document, undefined) {
19
+
20
+ "use strict";
21
+
22
+
23
+ /*******************************************************************************
24
+ * Private functions and variables
25
+ */
26
+ function _assert(cond, msg){
27
+ msg = msg || "";
28
+ if(!cond){
29
+ $.error("Assertion failed " + msg);
30
+ }
31
+ }
32
+
33
+ var ACTIVE = "active",
34
+ EXPANDED = "expanded",
35
+ FOCUS = "focus",
36
+ SELECTED = "selected";
37
+
38
+
39
+ /* Recursively load lazy nodes
40
+ * @param {string} mode 'load', 'expand', false
41
+ */
42
+ function _loadLazyNodes(tree, instData, keyList, mode, dfd) {
43
+ var i, key, l, node,
44
+ foundOne = false,
45
+ deferredList = [],
46
+ // lazyNodeList = [],
47
+ missingKeyList = []; //keyList.slice(0),
48
+
49
+ keyList = keyList || [];
50
+ // expand = expand !== false;
51
+ dfd = dfd || $.Deferred();
52
+
53
+ for( i=0, l=keyList.length; i<l; i++ ) {
54
+ key = keyList[i];
55
+ node = tree.getNodeByKey(key);
56
+ if( node ) {
57
+ if( mode && node.isUndefined() ) {
58
+ // lazyNodeList.push(node);
59
+ foundOne = true;
60
+ tree.debug("_loadLazyNodes: " + node + " is lazy: loading...");
61
+ if( mode === "expand" ) {
62
+ deferredList.push(node.setExpanded());
63
+ } else {
64
+ deferredList.push(node.load());
65
+ }
66
+ } else {
67
+ tree.debug("_loadLazyNodes: " + node + " already loaded.");
68
+ node.setExpanded();
69
+ // node.expanded = true;
70
+ // node.render();
71
+ }
72
+ } else {
73
+ missingKeyList.push(key);
74
+ tree.debug("_loadLazyNodes: " + node + " was not yet found.");
75
+ }
76
+ }
77
+
78
+ $.when.apply($, deferredList).always(function(){
79
+ // All lazy-expands have finished
80
+ if( foundOne && missingKeyList.length > 0 ) {
81
+ // If we read new nodes from server, try to resolve yet-missing keys
82
+ _loadLazyNodes(tree, instData, missingKeyList, mode, dfd);
83
+ } else {
84
+ if( missingKeyList.length ) {
85
+ tree.warn("_loadLazyNodes: could not load those keys: ", missingKeyList);
86
+ for( i=0, l=missingKeyList.length; i<l; i++ ) {
87
+ key = keyList[i];
88
+ instData._setKey(EXPANDED, keyList[i], false);
89
+ }
90
+ }
91
+ dfd.resolve();
92
+ }
93
+ });
94
+ return dfd;
95
+ }
96
+
97
+
98
+ /**
99
+ * [ext-persist] Remove persistence cookies of the given type(s).
100
+ * Called like
101
+ * $("#tree").fancytree("getTree").clearCookies("active expanded focus selected");
102
+ *
103
+ * @alias Fancytree#clearCookies
104
+ * @requires jquery.fancytree.persist.js
105
+ */
106
+ $.ui.fancytree._FancytreeClass.prototype.clearCookies = function(types){
107
+ var inst = this.ext.persist,
108
+ cookiePrefix = inst.cookiePrefix;
109
+
110
+ types = types || "active expanded focus selected";
111
+ // TODO: optimize
112
+ if(types.indexOf(ACTIVE) >= 0){
113
+ // $.cookie(cookiePrefix + ACTIVE, null);
114
+ $.removeCookie(cookiePrefix + ACTIVE);
115
+ }
116
+ if(types.indexOf(EXPANDED) >= 0){
117
+ // $.cookie(cookiePrefix + EXPANDED, null);
118
+ $.removeCookie(cookiePrefix + EXPANDED);
119
+ }
120
+ if(types.indexOf(FOCUS) >= 0){
121
+ // $.cookie(cookiePrefix + FOCUS, null);
122
+ $.removeCookie(cookiePrefix + FOCUS);
123
+ }
124
+ if(types.indexOf(SELECTED) >= 0){
125
+ // $.cookie(cookiePrefix + SELECTED, null);
126
+ $.removeCookie(cookiePrefix + SELECTED);
127
+ }
128
+ };
129
+
130
+
131
+ /**
132
+ * [ext-persist] Return persistence information from cookies
133
+ *
134
+ * Called like
135
+ * $("#tree").fancytree("getTree").getPersistData();
136
+ *
137
+ * @alias Fancytree#getPersistData
138
+ * @requires jquery.fancytree.persist.js
139
+ */
140
+ $.ui.fancytree._FancytreeClass.prototype.getPersistData = function(){
141
+ var inst = this.ext.persist,
142
+ instOpts= this.options.persist,
143
+ delim = instOpts.cookieDelimiter,
144
+ res = {};
145
+
146
+ res[ACTIVE] = $.cookie(inst.cookiePrefix + ACTIVE);
147
+ res[EXPANDED] = ($.cookie(inst.cookiePrefix + EXPANDED) || "").split(delim);
148
+ res[SELECTED] = ($.cookie(inst.cookiePrefix + SELECTED) || "").split(delim);
149
+ res[FOCUS] = $.cookie(inst.cookiePrefix + FOCUS);
150
+ return res;
151
+ };
152
+
153
+
154
+ /* *****************************************************************************
155
+ * Extension code
156
+ */
157
+ $.ui.fancytree.registerExtension({
158
+ name: "persist",
159
+ version: "0.2.0",
160
+ // Default options for this extension.
161
+ options: {
162
+ // appendRequestInfo: false,
163
+ cookieDelimiter: "~",
164
+ cookiePrefix: undefined, // 'fancytree-<treeId>-' by default
165
+ cookie: {
166
+ raw: false,
167
+ expires: "",
168
+ path: "",
169
+ domain: "",
170
+ secure: false
171
+ },
172
+ expandLazy: false, // true: recursively expand and load lazy nodes
173
+ overrideSource: false, // true: cookie takes precedence over `source` data attributes.
174
+ types: "active expanded focus selected"
175
+ },
176
+
177
+ /* Append `key` to a cookie. */
178
+ _setKey: function(type, key, flag){
179
+ key = "" + key; // #90
180
+ var instData = this._local,
181
+ instOpts = this.options.persist,
182
+ cookieName = instData.cookiePrefix + type,
183
+ cookie = $.cookie(cookieName),
184
+ cookieList = cookie ? cookie.split(instOpts.cookieDelimiter) : [],
185
+ idx = $.inArray(key, cookieList);
186
+ // Remove, even if we add a key, so the key is always the last entry
187
+ if(idx >= 0){
188
+ cookieList.splice(idx, 1);
189
+ }
190
+ // Append key to cookie
191
+ if(flag){
192
+ cookieList.push(key);
193
+ }
194
+ $.cookie(cookieName, cookieList.join(instOpts.cookieDelimiter), instOpts.cookie);
195
+ },
196
+ // Overide virtual methods for this extension.
197
+ // `this` : is this Fancytree object
198
+ // `this._super`: the virtual function that was overridden (member of prev. extension or Fancytree)
199
+ treeInit: function(ctx){
200
+ var tree = ctx.tree,
201
+ opts = ctx.options,
202
+ instData = this._local,
203
+ instOpts = this.options.persist;
204
+
205
+ _assert($.cookie, "Missing required plugin for 'persist' extension: jquery.cookie.js");
206
+
207
+ instData.cookiePrefix = instOpts.cookiePrefix || ("fancytree-" + tree._id + "-");
208
+ instData.storeActive = instOpts.types.indexOf(ACTIVE) >= 0;
209
+ instData.storeExpanded = instOpts.types.indexOf(EXPANDED) >= 0;
210
+ instData.storeSelected = instOpts.types.indexOf(SELECTED) >= 0;
211
+ instData.storeFocus = instOpts.types.indexOf(FOCUS) >= 0;
212
+
213
+ // Bind init-handler to apply cookie state
214
+ tree.$div.bind("fancytreeinit", function(event){
215
+ var cookie, dfd, i, keyList, node,
216
+ prevFocus = $.cookie(instData.cookiePrefix + FOCUS); // record this before node.setActive() overrides it;
217
+
218
+ tree.debug("COOKIE " + document.cookie);
219
+
220
+ cookie = $.cookie(instData.cookiePrefix + EXPANDED);
221
+ keyList = cookie && cookie.split(instOpts.cookieDelimiter);
222
+
223
+ if( instData.storeExpanded ) {
224
+ // Recursively load nested lazy nodes if expandLazy is 'expand' or 'load'
225
+ // Also remove expand-cookies for unmatched nodes
226
+ dfd = _loadLazyNodes(tree, instData, keyList, instOpts.expandLazy ? "expand" : false , null);
227
+ } else {
228
+ // nothing to do
229
+ dfd = new $.Deferred().resolve();
230
+ }
231
+
232
+ dfd.done(function(){
233
+ // alert("persistent expand done");
234
+ // if(instData.storeExpanded){
235
+ // cookie = $.cookie(instData.cookiePrefix + EXPANDED);
236
+ // if(cookie){
237
+ // keyList = cookie.split(instOpts.cookieDelimiter);
238
+ // for(i=0; i<keyList.length; i++){
239
+ // node = tree.getNodeByKey(keyList[i]);
240
+ // if(node){
241
+ // if(node.expanded === undefined || instOpts.overrideSource && (node.expanded === false)){
242
+ // // node.setExpanded();
243
+ // node.expanded = true;
244
+ // node.render();
245
+ // }
246
+ // }else{
247
+ // // node is no longer member of the tree: remove from cookie
248
+ // instData._setKey(EXPANDED, keyList[i], false);
249
+ // }
250
+ // }
251
+ // }
252
+ // }
253
+ if(instData.storeSelected){
254
+ cookie = $.cookie(instData.cookiePrefix + SELECTED);
255
+ if(cookie){
256
+ keyList = cookie.split(instOpts.cookieDelimiter);
257
+ for(i=0; i<keyList.length; i++){
258
+ node = tree.getNodeByKey(keyList[i]);
259
+ if(node){
260
+ if(node.selected === undefined || instOpts.overrideSource && (node.selected === false)){
261
+ // node.setSelected();
262
+ node.selected = true;
263
+ node.renderStatus();
264
+ }
265
+ }else{
266
+ // node is no longer member of the tree: remove from cookie also
267
+ instData._setKey(SELECTED, keyList[i], false);
268
+ }
269
+ }
270
+ }
271
+ }
272
+ if(instData.storeActive){
273
+ cookie = $.cookie(instData.cookiePrefix + ACTIVE);
274
+ if(cookie && (opts.persist.overrideSource || !tree.activeNode)){
275
+ node = tree.getNodeByKey(cookie);
276
+ if(node){
277
+ node.setActive();
278
+ }
279
+ }
280
+ }
281
+ if(instData.storeFocus && prevFocus){
282
+ node = tree.getNodeByKey(prevFocus);
283
+ if(node){
284
+ node.setFocus();
285
+ }
286
+ }
287
+ });
288
+ });
289
+ // Init the tree
290
+ this._super(ctx);
291
+ },
292
+ // treeDestroy: function(ctx){
293
+ // this._super(ctx);
294
+ // },
295
+ nodeSetActive: function(ctx, flag, opts) {
296
+ var instData = this._local,
297
+ instOpts = this.options.persist;
298
+
299
+ flag = flag !== false;
300
+ this._super(ctx, flag, opts);
301
+
302
+ if(instData.storeActive){
303
+ $.cookie(instData.cookiePrefix + ACTIVE,
304
+ this.activeNode ? this.activeNode.key : null,
305
+ instOpts.cookie);
306
+ }
307
+ },
308
+ nodeSetExpanded: function(ctx, flag, opts) {
309
+ var res,
310
+ node = ctx.node,
311
+ instData = this._local;
312
+
313
+ flag = flag !== false;
314
+ res = this._super(ctx, flag, opts);
315
+
316
+ if(instData.storeExpanded){
317
+ instData._setKey(EXPANDED, node.key, flag);
318
+ }
319
+ return res;
320
+ },
321
+ nodeSetFocus: function(ctx) {
322
+ var instData = this._local,
323
+ instOpts = this.options.persist;
324
+
325
+ this._super(ctx);
326
+
327
+ if(instData.storeFocus){
328
+ $.cookie(instData.cookiePrefix + FOCUS,
329
+ this.focusNode ? this.focusNode.key : null,
330
+ instOpts.cookie);
331
+ }
332
+ },
333
+ nodeSetSelected: function(ctx, flag) {
334
+ var node = ctx.node,
335
+ instData = this._local;
336
+
337
+ flag = flag !== false;
338
+ this._super(ctx, flag);
339
+
340
+ if(instData.storeSelected){
341
+ instData._setKey(SELECTED, node.key, flag);
342
+ }
343
+ }
344
+ });
345
+ }(jQuery, window, document));