1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- function eachAfter(root, callback, separation) {
- var nodes = [root];
- var next = [];
- var node;
- while (node = nodes.pop()) {
-
- next.push(node);
- if (node.isExpand) {
- var children = node.children;
- if (children.length) {
- for (var i = 0; i < children.length; i++) {
- nodes.push(children[i]);
- }
- }
- }
- }
- while (node = next.pop()) {
-
- callback(node, separation);
- }
- }
- function eachBefore(root, callback) {
- var nodes = [root];
- var node;
- while (node = nodes.pop()) {
-
- callback(node);
- if (node.isExpand) {
- var children = node.children;
- if (children.length) {
- for (var i = children.length - 1; i >= 0; i--) {
- nodes.push(children[i]);
- }
- }
- }
- }
- }
- exports.eachAfter = eachAfter;
- exports.eachBefore = eachBefore;
|