You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Hydro/packages/ui-default/components/editor/textareaHandler.ts

33 lines
695 B
TypeScript

import _ from 'lodash';
import DOMAttachedObject from 'vj/components/DOMAttachedObject';
import Editor from './index';
export default class TextareaHandler extends DOMAttachedObject {
static DOMAttachKey = 'vjTextareaHandlerInstance';
getCmEditor() {
return Editor.get(this.$dom);
}
isCmEditor() {
const editor = this.getCmEditor();
return !!(editor && editor.isValid);
}
val(...argv) {
if (this.isCmEditor()) {
return this.getCmEditor().value(...argv);
}
return this.$dom.val(...argv);
}
focus() {
if (this.isCmEditor()) {
this.getCmEditor().focus();
}
this.$dom.focus();
}
}
_.assign(TextareaHandler, DOMAttachedObject);