MCPcopy Create free account
hub / github.com/nodejs/node / initializeCode

Method initializeCode

deps/v8/tools/turbolizer/src/views/code-view.ts:54–145  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

52 }
53
54 private initializeCode(): void {
55 const view = this;
56 const source = this.source;
57 const sourceText = source.sourceText;
58 if (!sourceText) return;
59 const sourceContainer = view.divNode;
60 if (this.codeMode == CodeMode.MainSource) {
61 sourceContainer.classList.add("main-source");
62 } else {
63 sourceContainer.classList.add("inlined-source");
64 }
65 const codeHeader = document.createElement("div");
66 codeHeader.setAttribute("id", this.getCodeHeaderHtmlElementName());
67 codeHeader.classList.add("code-header");
68 const codeFileFunction = document.createElement("div");
69 codeFileFunction.classList.add("code-file-function");
70 codeFileFunction.innerHTML = `${source.sourceName}:${source.functionName}`;
71 codeHeader.appendChild(codeFileFunction);
72 const codeModeDiv = document.createElement("div");
73 codeModeDiv.classList.add("code-mode");
74 codeModeDiv.innerHTML = this.codeMode;
75 codeHeader.appendChild(codeModeDiv);
76 const clearDiv = document.createElement("div");
77 clearDiv.style.clear = "both";
78 codeHeader.appendChild(clearDiv);
79 sourceContainer.appendChild(codeHeader);
80 const codePre = document.createElement("pre");
81 codePre.setAttribute("id", this.getCodeHtmlElementName());
82 codePre.classList.add("prettyprint");
83 sourceContainer.appendChild(codePre);
84
85 codeHeader.onclick = function myFunction() {
86 if (codePre.style.display === "none") {
87 codePre.style.display = "block";
88 } else {
89 codePre.style.display = "none";
90 }
91 };
92 if (sourceText !== "") {
93 codePre.classList.add("linenums");
94 codePre.textContent = sourceText;
95
96 try {
97 // Wrap in try to work when offline.
98 PR.prettyPrint(undefined, sourceContainer);
99 } catch (e) {
100 console.log(e);
101 }
102
103 view.divNode.onclick = function (e: MouseEvent) {
104 if (e.target instanceof Element && e.target.tagName === "DIV") {
105 const targetDiv = e.target as HTMLDivElement;
106 if (targetDiv.classList.contains("line-number")) {
107 e.stopPropagation();
108 view.onSelectLine(Number(targetDiv.dataset.lineNumber), !e.shiftKey);
109 }
110 } else {
111 view.sourcePositionSelectionHandler.clear();

Callers 2

constructorMethod · 0.95
loadFileFunction · 0.45

Calls 14

getHtmlCodeLinesMethod · 0.95
insertSourcePositionsMethod · 0.95
insertLineNumberMethod · 0.95
StringClass · 0.85
createElementMethod · 0.80
prettyPrintMethod · 0.80
stopPropagationMethod · 0.80
onSelectLineMethod · 0.80
addMethod · 0.65
clearMethod · 0.65

Tested by

no test coverage detected