MCPcopy Index your code
hub / github.com/hoothin/UserScripts / checkTargetChildren

Method checkTargetChildren

Pagetual/pagetual.user.js:5620–5661  ·  view source on GitHub ↗
(ele, curWin, articleNum, curHeight)

Source from the content-addressed store, hash-verified

5618 }
5619
5620 checkTargetChildren(ele, curWin, articleNum, curHeight) {
5621 let pf = false;
5622 if (ele.parentNode) {
5623 let paStyle = curWin.getComputedStyle(ele.parentNode);
5624 let paDisplay = paStyle.display;
5625 let paOverflow = paStyle.overflow;
5626 pf = (paDisplay.indexOf('flex') !== -1 && paStyle.flexDirection.indexOf("row") === 0 && paStyle.flexWrap !== "wrap") || compareNodeName(ele.parentNode, ["ul", "td"]) || paDisplay.indexOf('grid') !== -1 || paOverflow === "hidden";
5627 }
5628 let curStyle = curWin.getComputedStyle(ele);
5629 if (ele.children.length > 1) {
5630 if (articleNum > 1) {
5631 return ">article";
5632 } else {
5633 let hasText = false;
5634 for (let i in ele.childNodes) {
5635 let child = ele.childNodes[i];
5636 if (child.nodeType === 3 && child.nodeValue.trim() !== '') {
5637 hasText = true;
5638 break;
5639 }
5640 }
5641 let gridArea = curStyle.gridArea;
5642 if (gridArea && gridArea !== "auto" && gridArea !== "auto / auto / auto / auto") {
5643 return ">*";
5644 } else {
5645 let middleChild = ele.children[parseInt(ele.children.length / 2)];
5646 if (compareNodeName(middleChild, ["br"]) && hasText) {
5647 return "";
5648 } else if ((curStyle.display === 'flex' && curStyle.flexDirection.indexOf("row") === 0 && curStyle.flexWrap !== "wrap") || (curStyle.float === "none" && curStyle.display !== "table-cell" && (rulesData.opacity !== 0 || hasText) && !pf)) {
5649 return "";
5650 } else if ((middleChild.style && middleChild.style.position === "absolute" && middleChild.style.left && middleChild.style.top) || compareNodeName(ele, ["ul"]) || curHeight === 0) {
5651 return "";
5652 } else {
5653 return ">*";
5654 }
5655 }
5656 }
5657 } else if (ele.children.length && (pf || curStyle.position === "absolute")) {
5658 return ">*";
5659 }
5660 return "";
5661 }
5662
5663 getPageElement(doc, curWin, dontFind) {
5664 if (doc === document && this.docElementValid()) {

Callers 1

checkElementMethod · 0.80

Calls 1

compareNodeNameFunction · 0.85

Tested by

no test coverage detected