Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Quasi memory leak in Gridstack._prepareElementByNode #505

Closed
@DavidKDeutsch

Description

@DavidKDeutsch

Gridstack._prepareElementByNode uses _.extend to set the draggable options and whatnot on an added widget, e.g.:

 el
            .draggable(_.extend(this.opts.draggable, {
                containment: this.opts.isNested ? this.container.parent() : null,
                start: onStartMoving,
                stop: onEndMoving,
                drag: dragOrResize
            }))

This has the effect of modifying this.opts.draggable, setting its members to the same methods that are passed to el.draggable(). Since these new methods reference el, the widget stays in memory even after it is removed. Probably not a huge deal, as only one widget can leak at a time (as this.opts will get overwritten with the new widget's options), but it can make for a frustrating search for a leak.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions