UNPKG

component-trace-element-finder

Version:

Simple helper functions for finding DOM elements using components names from data attribute

38 lines (29 loc) 1.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.findTopComponentsByTrace = exports.findAllComponentsByTrace = void 0; const findAllComponentsByTrace = function findAllComponentsByTrace(name) { let parent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.document; return parent.querySelectorAll(`[data-component-trace~="${name}"]`); }; exports.findAllComponentsByTrace = findAllComponentsByTrace; const findTopComponentsByTrace = function findTopComponentsByTrace(name) { let parent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.document; const elements = findAllComponentsByTrace(name, parent); const topElements = []; for (const element of elements) { let isTop = true; for (const top of topElements) { if (top.contains(element)) { isTop = false; break; } } if (isTop) { topElements.push(element); } } return topElements; }; exports.findTopComponentsByTrace = findTopComponentsByTrace;