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

Sign up to get free protection for your applications and to get access to all the features.
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));