Lines Matching refs:node

378         var child, node, _i, _len;
381 node = new _this.tree.node_class('');
382 node.initFromData(child);
383 _this.addChild(node);
411 var node, o, _i, _len;
415 node = new this.tree.node_class(o);
416 this.addChild(node);
418 node.loadFromData(o.children);
433 Node.prototype.addChild = function(node) {
434 this.children.push(node);
435 return node._setParent(this);
448 Node.prototype.addChildAtPosition = function(node, index) {
449 this.children.splice(index, 0, node);
450 return node._setParent(this);
460 Remove child. This also removes the children of the node.
466 Node.prototype.removeChild = function(node) {
467 node.removeChildren();
468 return this._removeChild(node);
471 Node.prototype._removeChild = function(node) {
472 this.children.splice(this.getChildIndex(node), 1);
473 return this.tree.removeNodeFromIndex(node);
479 var index = getChildIndex(node);
483 Node.prototype.getChildIndex = function(node) {
484 return $.inArray(node, this.children);
507 Calls callback with (node, level).
509 The callback must return true to continue the iteration on current node.
512 function(node, level) {
513 console.log(node.name);
525 _iterate = function(node, level) {
527 if (node.children) {
528 _ref1 = node.children;
544 Move node relative to another node.
576 var data, k, node, tmp_node, v, _i, _len;
579 node = nodes[_i];
581 for (k in node) {
582 v = node[k];
583 if ((k !== 'parent' && k !== 'children' && k !== 'element' && k !== 'tree') && Object.prototype.hasOwnProperty.call(node, k)) {
587 if (node.hasChildren()) {
588 tmp_node.children = getDataFromNodes(node.children);
600 this.iterate(function(node) {
601 if (node.name === name) {
602 result = node;
612 var child_index, node;
616 node = new this.tree.node_class(node_info);
618 this.parent.addChildAtPosition(node, child_index + 1);
619 return node;
624 var child_index, node;
628 node = new this.tree.node_class(node_info);
630 this.parent.addChildAtPosition(node, child_index);
631 return node;
662 var node;
663 node = new this.tree.node_class(node_info);
664 this.addChild(node);
665 return node;
669 var node;
670 node = new this.tree.node_class(node_info);
671 this.addChildAtPosition(node, 0);
672 return node;
675 Node.prototype.isParentOf = function(node) {
677 parent = node.parent;
688 var level, node;
690 node = this;
691 while (node.parent) {
693 node = node.parent;
702 Node.prototype.addNodeToIndex = function(node) {
703 if (node.id) {
704 return this.id_mapping[node.id] = node;
708 Node.prototype.removeNodeFromIndex = function(node) {
709 if (node.id) {
710 return delete this.id_mapping[node.id];
804 JqTreeWidget.prototype.toggle = function(node, slide) {
808 if (node.is_open) {
809 return this.closeNode(node, slide);
811 return this.openNode(node, slide);
819 JqTreeWidget.prototype.selectNode = function(node) {
820 return this._selectNode(node, true);
823 JqTreeWidget.prototype._selectNode = function(node, must_toggle) {
834 return _this.options.selectable && _this.options.onCanSelectNode(node);
841 parent = node.parent;
851 if (!node) {
859 if (this.select_node_handler.isNodeSelected(node)) {
863 node: null,
864 previous_node: node
869 this.addToSelection(node);
871 node: node
991 JqTreeWidget.prototype.openNode = function(node, slide) {
995 return this._openNode(node, slide);
998 JqTreeWidget.prototype._openNode = function(node, slide, on_finished) {
1009 if (node.isFolder()) {
1010 if (node.load_on_demand) {
1011 return this._loadFolderOnDemand(node, slide, on_finished);
1013 parent = node.parent;
1020 doOpenNode(node, slide, on_finished);
1026 JqTreeWidget.prototype._loadFolderOnDemand = function(node, slide, on_finished) {
1031 return this._loadDataFromUrl(null, node, function() {
1032 return _this._openNode(node, slide, on_finished);
1036 JqTreeWidget.prototype.closeNode = function(node, slide) {
1040 if (node.isFolder()) {
1041 new FolderElement(node, this).close(slide);
1075 JqTreeWidget.prototype.removeNode = function(node) {
1077 parent = node.parent;
1079 this.select_node_handler.removeFromSelection(node, true);
1080 node.remove();
1086 var is_already_root_node, node;
1091 node = parent_node.append(new_node_info);
1097 return node;
1101 var node;
1105 node = parent_node.prepend(new_node_info);
1107 return node;
1110 JqTreeWidget.prototype.updateNode = function(node, data) {
1112 id_is_changed = data.id && data.id !== node.id;
1114 this.tree.removeNodeFromIndex(node);
1116 node.setData(data);
1118 this.tree.addNodeToIndex(node);
1120 this._refreshElements(node.parent);
1124 JqTreeWidget.prototype.moveNode = function(node, target_node, position) {
1127 this.tree.moveNode(node, target_node, position_index);
1135 JqTreeWidget.prototype.addToSelection = function(node) {
1136 this.select_node_handler.addToSelection(node);
1137 return this._getNodeElementForNode(node).select();
1144 JqTreeWidget.prototype.isNodeSelected = function(node) {
1145 return this.select_node_handler.isNodeSelected(node);
1148 JqTreeWidget.prototype.removeFromSelection = function(node) {
1149 this.select_node_handler.removeFromSelection(node);
1150 return this._getNodeElementForNode(node).deselect();
1153 JqTreeWidget.prototype.scrollToNode = function(node) {
1155 $element = $(node.element);
1216 JqTreeWidget.prototype._getDataUrlInfo = function(node) {
1220 return data_url(node);
1225 if (node && node.id) {
1227 node: node.id
1265 return this.tree.iterate(function(node, level) {
1266 if (node.hasChildren()) {
1267 node.is_open = true;
1295 createLi = function(node) {
1297 if (node.isFolder()) {
1298 $li = createFolderLi(node);
1300 $li = createNodeLi(node);
1303 _this.options.onCreateLi(node, $li);
1307 createNodeLi = function(node) {
1310 if (_this.select_node_handler && _this.select_node_handler.isNodeSelected(node)) {
1314 escaped_name = escapeIfNecessary(node.name);
1317 createFolderLi = function(node) {
1322 if (!node.is_open) {
1330 if (!node.is_open) {
1333 if (_this.select_node_handler && _this.select_node_handler.isNodeSelected(node)) {
1340 escaped_name = escapeIfNecessary(node.name);
1341 if (node.is_open) {
1357 $li.data('node', child);
1380 var $button, $el, $target, event, node;
1384 node = this._getNode($button);
1385 if (node) {
1386 this.toggle(node, this.options.slide);
1393 node = this._getNode($el);
1394 if (node) {
1396 node: node
1399 return this._selectNode(node, true);
1412 return $li.data('node');
1416 JqTreeWidget.prototype._getNodeElementForNode = function(node) {
1417 if (node.isFolder()) {
1418 return new FolderElement(node, this);
1420 return new NodeElement(node, this);
1425 var node;
1426 node = this._getNode($element);
1427 if (node) {
1428 return this._getNodeElementForNode(node);
1435 var $div, node;
1438 node = this._getNode($div);
1439 if (node) {
1443 node: node,
1509 var node, node_element;
1510 node = this.getSelectedNode();
1511 if (node) {
1512 node_element = this._getNodeElementForNode(node);
1520 var node;
1521 node = this.getSelectedNode();
1522 if (node) {
1523 return this.removeFromSelection(node);
1534 function NodeElement(node, tree_widget) {
1535 this.init(node, tree_widget);
1538 NodeElement.prototype.init = function(node, tree_widget) {
1539 this.node = node;
1541 return this.$element = $(node.element);
1560 return new GhostDropHint(this.node, this.$element, position);
1590 if (!this.node.is_open) {
1591 this.node.is_open = true;
1601 node: _this.node
1619 if (this.node.is_open) {
1620 this.node.is_open = false;
1627 node: _this.node
1644 if (!this.node.is_open && position === Position.INSIDE) {
1647 return new GhostDropHint(this.node, this.$element, position);
1801 this.tree_widget.tree.iterate(function(node) {
1802 if (node.is_open && node.id && node.hasChildren()) {
1803 open_nodes.push(node.id);
1825 this.tree_widget.tree.iterate(function(node) {
1826 node.is_open = node.id && node.hasChildren() && (indexOf(open_nodes, node.id) >= 0);
1868 var id, node, selected_nodes;
1874 node = this.tree_widget.getNodeById(id);
1875 if (node) {
1876 selected_nodes.push(node);
1883 SelectNodeHandler.prototype.isNodeSelected = function(node) {
1884 if (node.id) {
1885 return this.selected_nodes[node.id];
1887 return this.selected_single_node.element === node.element;
1898 SelectNodeHandler.prototype.removeFromSelection = function(node, include_children) {
1903 if (!node.id) {
1904 if (node.element === this.selected_single_node.element) {
1908 delete this.selected_nodes[node.id];
1910 return node.iterate(function(n) {
1911 delete _this.selected_nodes[node.id];
1918 SelectNodeHandler.prototype.addToSelection = function(node) {
1919 if (node.id) {
1920 return this.selected_nodes[node.id] = true;
1922 return this.selected_single_node = node;
1947 if (!this.tree_widget.options.onCanMove(node_element.node)) {
1959 this.drag_element = new DragElement(this.current_item.node, position_info.page_x - offset.left, position_info.page_y - offset.top, this.tree_widget.element);
1974 this.startOpenFolderTimer(area.node);
1994 return this.tree_widget.options.onCanMoveTo(this.current_item.node, area.node, position_name);
2045 addPosition = function(node, position, top) {
2048 node: node,
2070 handleNode = function(node, next_node, $element) {
2073 if (node === _this.current_item.node) {
2074 addPosition(node, Position.NONE, top);
2076 addPosition(node, Position.INSIDE, top);
2078 if (next_node === _this.current_item.node || node === _this.current_item.node) {
2079 return addPosition(node, Position.NONE, top);
2081 return addPosition(node, Position.AFTER, top);
2084 handleOpenFolder = function(node, $element) {
2085 if (node === _this.current_item.node) {
2088 if (node.children[0] !== _this.current_item.node) {
2089 addPosition(node, Position.INSIDE, getTop($element));
2093 handleAfterOpenFolder = function(node, next_node, $element) {
2094 if (node === _this.current_item.node || next_node === _this.current_item.node) {
2095 return addPosition(node, Position.NONE, last_top);
2097 return addPosition(node, Position.AFTER, last_top);
2100 handleClosedFolder = function(node, next_node, $element) {
2103 if (node === _this.current_item.node) {
2104 return addPosition(node, Position.NONE, top);
2106 addPosition(node, Position.INSIDE, top);
2107 if (next_node !== _this.current_item.node) {
2108 return addPosition(node, Position.AFTER, top);
2112 handleFirstNode = function(node, $element) {
2113 if (node !== _this.current_item.node) {
2114 return addPosition(node, Position.BEFORE, getTop($(node.element)));
2128 node: position.node,
2142 iterate = function(node, next_node) {
2144 must_iterate_inside = (node.is_open || !node.element) && node.hasChildren();
2145 if (node.element) {
2146 $element = $(node.element);
2151 handle_first_node(node, $element);
2154 if (!node.hasChildren()) {
2155 handle_node(node, next_node, $element);
2156 } else if (node.is_open) {
2157 if (!handle_open_folder(node, $element)) {
2161 handle_closed_folder(node, next_node, $element);
2165 children_length = node.children.length;
2166 _ref3 = node.children;
2170 iterate(node.children[i], null);
2172 iterate(node.children[i], node.children[i + 1]);
2175 if (node.is_open) {
2176 return handle_after_open_folder(node, next_node, $element);
2206 var node;
2207 node = area.node;
2208 return node.isFolder() && !node.is_open && area.position === Position.INSIDE;
2217 node_element = this.tree_widget._getNodeElementForNode(this.hovered_area.node);
2244 moved_node = this.current_item.node;
2245 target_node = this.hovered_area.node;
2249 this.hovered_area.node.is_open = true;
2277 function DragElement(node, offset_x, offset_y, $tree) {
2280 this.$element = $("<span class=\"jqtree-title jqtree-dragging\">" + node.name + "</span>");
2301 function GhostDropHint(node, $element, position) {
2303 this.node = node;
2310 if (node.isFolder() && node.is_open) {
2331 return $(this.node.children[0].element).before(this.$ghost);
2498 selectNode = function(node) {
2499 if (node) {
2500 _this.tree_widget.selectNode(node);
2501 if (_this.tree_widget.scroll_handler && (!_this.tree_widget.scroll_handler.isScrolledIntoView($(node.element).find('.jqtree-element')))) {
2502 _this.tree_widget.scrollToNode(node);
2548 KeyHandler.prototype.getNextNode = function(node, include_children) {
2553 if (include_children && node.hasChildren() && node.is_open) {
2554 return node.children[0];
2556 if (!node.parent) {
2559 next_sibling = node.getNextSibling();
2563 return this.getNextNode(node.parent, false);
2569 KeyHandler.prototype.getPreviousNode = function(node) {
2571 if (!node.parent) {
2574 previous_sibling = node.getPreviousSibling();
2582 if (node.parent.parent) {
2583 return node.parent;
2591 KeyHandler.prototype.getLastChild = function(node) {
2593 if (!node.hasChildren()) {
2596 last_child = node.children[node.children.length - 1];