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
JavaScript
;
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;