tapspace
Version:
A zoomable user interface lib for web apps
22 lines (19 loc) • 404 B
JavaScript
module.exports = function () {
// @Component:getRoot()
//
// Get the affine root. Will return self if has no affine parent.
//
// Return
// a Component
//
// Complexity
// O(d) where d is the depth of the affine tree.
//
let root = this
let par = this.element.parentElement
while (par && par.affine) {
root = par.affine
par = par.parentElement
}
return root
}