Eliminate jQuery from inline js/css charlimit notice

This commit is contained in:
Xaekai 2022-01-22 17:59:14 -08:00 committed by Calvin Montgomery
parent 7441892235
commit 4fada9a8d2
1 changed files with 12 additions and 9 deletions

View File

@ -903,25 +903,28 @@ $("#fullscreenbtn").on('click', function () {
function handleCSSJSTooLarge(selector) {
if (this.value.length > 20000) {
var warning = $(selector);
if (warning.length > 0) {
let notice = document.querySelector(selector);
if (notice !== null) {
return;
}
warning = makeAlert("Maximum Size Exceeded", "Inline CSS and JavaScript are " +
notice = makeAlert("Maximum Size Exceeded", "Inline CSS and JavaScript are " +
"limited to 20,000 characters or less. If you need more room, you " +
"need to use the external CSS or JavaScript option.", "alert-danger")
.attr("id", selector.replace(/#/, ""));
warning.insertBefore(this);
// makeAlert returns jQuery
this.parentNode.insertBefore(notice[0], this);
} else {
$(selector).remove();
let notice = document.querySelector(selector);
notice.remove();
}
}
$("#cs-csstext").bind("input", handleCSSJSTooLarge.bind($("#cs-csstext")[0],
"#cs-csstext-too-big"));
$("#cs-jstext").bind("input", handleCSSJSTooLarge.bind($("#cs-jstext")[0],
"#cs-jstext-too-big"));
['#cs-csstext', '#cs-jstext'].forEach((selector)=>{
elem = document.querySelector(selector);
elem.addEventListener('input', handleCSSJSTooLarge.bind(elem, `${selector}-too-big`));
});
$("#resize-video-larger").on('click', function () {
try {