Skip to content

Commit 2fd5d48

Browse files
committed
Return textarea's scroll attributes and methods from code-input element
1 parent 457b0a9 commit 2fd5d48

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

code-input.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -614,6 +614,11 @@ var codeInput = {
614614
this.classList.remove("code-input_mouse-focused");
615615
});
616616

617+
// @deprecated Right now it's better to use the textarea element directly once it's loaded.
618+
textarea.addEventListener("scroll", (evt) => {
619+
this.dispatchEvent("scroll", evt);
620+
});
621+
617622
this.innerHTML = ""; // Clear Content
618623

619624
// Synchronise attributes to textarea
@@ -1037,6 +1042,33 @@ var codeInput = {
10371042
formResetCallback() {
10381043
this.value = this.initialValue;
10391044
};
1045+
1046+
/* Pass scrolling to textarea, for backwards compatibility with when the code-input element scrolled.
1047+
@deprecated Right now it's better to use the textarea element directly once it's loaded. */
1048+
get scrollTop() { return this.textareaElement.scrollTop; };
1049+
set scrollTop(val) { this.textareaElement.scrollTop = val; };
1050+
get scrollLeft() { return this.textareaElement.scrollLeft; };
1051+
set scrollLeft(val) { this.textareaElement.scrollLeft = val; };
1052+
get scrollTopMax() { return this.textareaElement.scrollTopMax; };
1053+
set scrollTopMax(val) { this.textareaElement.scrollTopMax = val; };
1054+
get scrollLeftMax() { return this.textareaElement.scrollLeftMax; };
1055+
set scrollLeftMax(val) { this.textareaElement.scrollLeftMax = val; };
1056+
get scrollHeight() { return this.textareaElement.scrollHeight; };
1057+
set scrollHeight(val) { this.textareaElement.scrollHeight = val; };
1058+
get scrollWidth() { return this.textareaElement.scrollWidth; };
1059+
set scrollWidth(val) { this.textareaElement.scrollWidth = val; };
1060+
scroll(firstArg, secondArg=undefined) {
1061+
if(secondArg === undefined) this.textareaElement.scroll(firstArg);
1062+
else this.textareaElement.scroll(firstArg, secondArg);
1063+
};
1064+
scrollTo(firstArg, secondArg=undefined) {
1065+
if(secondArg === undefined) this.textareaElement.scrollTo(firstArg);
1066+
else this.textareaElement.scrollTo(firstArg, secondArg);
1067+
};
1068+
scrollBy(firstArg, secondArg=undefined) {
1069+
if(secondArg === undefined) this.textareaElement.scrollBy(firstArg);
1070+
else this.textareaElement.scrollBy(firstArg, secondArg);
1071+
};
10401072
},
10411073

10421074
/**

0 commit comments

Comments
 (0)