Skip to content

Commit dfe68d7

Browse files
committed
Fix odd text input issue, but for real this time.
Thanks https://css-tricks.com/auto-growing-inputs-textareas/
1 parent b292794 commit dfe68d7

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

src/pages/index.astro

+10-9
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,17 @@ const initialExample = examples.find(e => e.highlighted)?.title
1616
const option = document.querySelector<HTMLOptionElement>(`#option-${selected}`)!
1717
const grammar = option.dataset.grammar
1818
const input = option.dataset.input
19-
document.querySelector<HTMLTextAreaElement>('#grammar')!.value = grammar ?? "";
20-
document.querySelector<HTMLTextAreaElement>('#input')!.value = input ?? "";
19+
document.querySelector<HTMLDivElement>('#grammar')!.innerText = grammar ?? "";
20+
document.querySelector<HTMLDivElement>('#input')!.innerText = input ?? "";
2121
window.run()
2222
}
2323

2424
window.run = () => {
25-
const grammar = document.querySelector<HTMLTextAreaElement>('#grammar')!
26-
const parser = ppeg.compile(grammar.value)
27-
const input = document.querySelector<HTMLTextAreaElement>('#input')!
28-
console.log(grammar.value)
29-
const parse = parser.parse(input.value)
25+
const grammar = document.querySelector<HTMLDivElement>('#grammar')!
26+
const parser = ppeg.compile(grammar.innerText)
27+
const input = document.querySelector<HTMLDivElement>('#input')!
28+
console.log(grammar.innerText)
29+
const parse = parser.parse(input.innerText)
3030
const output = document.querySelector<HTMLDivElement>('#output')!;
3131
const showJson = document.querySelector<HTMLInputElement>('#json')!.checked
3232
if (parse.ok) output.textContent = parse.show_ptree(showJson);
@@ -125,6 +125,7 @@ const initialExample = examples.find(e => e.highlighted)?.title
125125
"output"
126126
"footer";
127127
grid-template-columns: 1fr;
128+
height: auto;
128129
}
129130

130131
/**inputs should no longer be scrollable**/
@@ -152,13 +153,13 @@ const initialExample = examples.find(e => e.highlighted)?.title
152153
</select>
153154
</span>
154155
</div>
155-
<textarea id='grammar' contenteditable='true' oninput="autoparse()"></textarea>
156+
<div contenteditable="true" role="textbox" id='grammar' oninput="autoparse()"></div>
156157
</div>
157158
<div class='input'>
158159
<div class='header'>
159160
<label for="input">Input</label>
160161
</div>
161-
<textarea id='input' contenteditable='true' oninput="autoparse()"></textarea>
162+
<div contenteditable"true" role="textbox" id='input' oninput="autoparse()"></div>
162163
</div>
163164
<div class='output'>
164165
<div class='header'>Parse Tree

0 commit comments

Comments
 (0)