Обход в глубину с рекурсией
function dfsWalkRecursive(node) {
console.log(node.value)
if(node.children) node.children.forEach(childNode => dfsWalkRecursive(childNode))
}
const tree = {
Обход в глубину с рекурсией
function dfsWalkRecursive(node) {
console.log(node.value)
if(node.children) node.children.forEach(childNode => dfsWalkRecursive(childNode))
}
const tree = {
/* eslint-env node */ | |
/** global: Buffer */ | |
'use strict'; | |
const gutil = require('gulp-util'); | |
const through = require('through2'); | |
const wpi18n = require('node-wp-i18n'); | |
const PluginError = gutil.PluginError; |
// bug - on each click this code creates a new event listener for all $drag parents | |
// serious lack of memory and permormance | |
// solution - unbind this event on 'mouseup' and make 'mouseup' once-executable via one() | |
(function($) { | |
$.fn.drags = function(opt) { | |
opt = $.extend({handle: '', cursor: 'move'}, opt); | |
if(opt.handle === '') { |
// improved drags function, replace it in your code | |
function drags(dragElement, resizeElement, container, labelContainer, labelResizeElement) { | |
var $ = jQuery; | |
dragElement.on('mousedown vmousedown', function (e) { | |
dragElement.addClass('cd-draggable'); | |
resizeElement.addClass('cd-resizable'); | |
var dragWidth = dragElement.outerWidth(), | |
xPosition = dragElement.offset().left + dragWidth - e.pageX, |