Skip to content

Commit bb91ee8

Browse files
committed
Allow no lang attribute - #7
1 parent 0eea2ab commit bb91ee8

File tree

1 file changed

+18
-6
lines changed

1 file changed

+18
-6
lines changed

code-input.js

+18-6
Original file line numberDiff line numberDiff line change
@@ -135,13 +135,12 @@ var codeInput = {
135135

136136
/* Create pre code */
137137
let code = document.createElement("code");
138-
if(this.template.isCode && lang != null) code.classList.add("language-" + lang);
139-
code.innerText = value;
140-
141138
let pre = document.createElement("pre");
142139
pre.setAttribute("aria-hidden", "true"); // Hide for screen readers
143140
pre.append(code);
144141
this.append(pre);
142+
143+
if(this.template.isCode && lang != undefined) code.classList.add("language-" + lang);
145144

146145
/* Add code from value attribute - useful for loading from backend */
147146
this.update(value, this);
@@ -175,11 +174,24 @@ var codeInput = {
175174
case "lang":
176175
let code = this.querySelector("pre code");
177176
let textarea = this.querySelector("textarea");
177+
178+
// Case insensitive
179+
oldValue = oldValue.toLowerCase();
180+
newValue = newValue.toLowerCase();
178181

179-
if(newValue != null) code.className = ("language-" + newValue);
180-
else code.className = "";
182+
// Remove old language class and add new
183+
console.log("REMOVE", "language-" + oldValue);
184+
code.classList.remove("language-" + oldValue); // From CODE
185+
code.parentElement.classList.remove("language-" + oldValue); // From PRE
186+
code.classList.remove("language-none"); // Prism
187+
code.parentElement.classList.remove("language-none"); // Prism
188+
189+
if(newValue != undefined && newValue != "") {
190+
code.classList.add("language-" + newValue);
191+
console.log("ADD", "language-" + newValue);
192+
}
181193

182-
if(textarea.placeholder == oldValue) textarea.placeholder = newValue
194+
if(textarea.placeholder == oldValue) textarea.placeholder = newValue;
183195

184196
this.update(this.value);
185197
}

0 commit comments

Comments
 (0)