Skip to content

Commit 1c2a412

Browse files
authored
fix: disable code block language selector when editor is not editable (#2351)
1 parent 26bb18f commit 1c2a412

1 file changed

Lines changed: 12 additions & 8 deletions

File tree

packages/core/src/blocks/Code/block.ts

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -130,14 +130,18 @@ export const createCodeBlockSpec = createBlockSpec(
130130
select.value =
131131
block.props.language || options.defaultLanguage || "text";
132132

133-
const handleLanguageChange = (event: Event) => {
134-
const language = (event.target as HTMLSelectElement).value;
135-
136-
editor.updateBlock(block.id, { props: { language } });
137-
};
138-
select.addEventListener("change", handleLanguageChange);
139-
removeSelectChangeListener = () =>
140-
select.removeEventListener("change", handleLanguageChange);
133+
if (editor.isEditable) {
134+
const handleLanguageChange = (event: Event) => {
135+
const language = (event.target as HTMLSelectElement).value;
136+
137+
editor.updateBlock(block.id, { props: { language } });
138+
};
139+
select.addEventListener("change", handleLanguageChange);
140+
removeSelectChangeListener = () =>
141+
select.removeEventListener("change", handleLanguageChange);
142+
} else {
143+
select.disabled = true;
144+
}
141145

142146
const selectWrapper = document.createElement("div");
143147
selectWrapper.contentEditable = "false";

0 commit comments

Comments
 (0)