web/elements: fix race condition in codemirror
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
parent
a291063b9c
commit
94a5a6c4c0
|
@ -24,11 +24,15 @@ export class CodeMirrorTextarea extends LitElement {
|
||||||
|
|
||||||
editor?: CodeMirror.EditorFromTextArea;
|
editor?: CodeMirror.EditorFromTextArea;
|
||||||
|
|
||||||
|
_value?: string;
|
||||||
|
|
||||||
@property()
|
@property()
|
||||||
set value(v: string) {
|
set value(v: string) {
|
||||||
if (v === null) return;
|
if (v === null) return;
|
||||||
if (this.editor) {
|
if (this.editor) {
|
||||||
this.editor.setValue(v);
|
this.editor.setValue(v);
|
||||||
|
} else {
|
||||||
|
this._value = v;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -70,6 +74,7 @@ export class CodeMirrorTextarea extends LitElement {
|
||||||
readOnly: this.readOnly,
|
readOnly: this.readOnly,
|
||||||
autoRefresh: true,
|
autoRefresh: true,
|
||||||
lineWrapping: true,
|
lineWrapping: true,
|
||||||
|
value: this._value
|
||||||
});
|
});
|
||||||
this.editor.on("blur", () => {
|
this.editor.on("blur", () => {
|
||||||
this.editor?.save();
|
this.editor?.save();
|
||||||
|
@ -77,6 +82,6 @@ export class CodeMirrorTextarea extends LitElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
render(): TemplateResult {
|
render(): TemplateResult {
|
||||||
return html`<textarea name=${ifDefined(this.name)}></textarea>`;
|
return html`<textarea name=${ifDefined(this.name)}>${ifDefined(this._value)}</textarea>`;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Reference in New Issue