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.
|
|
|
import _ from 'lodash';
|
|
|
|
import DOMAttachedObject from 'vj/components/DOMAttachedObject';
|
|
|
|
import CmEditor from './index';
|
|
|
|
|
|
|
|
export default class TextareaHandler extends DOMAttachedObject {
|
|
|
|
static DOMAttachKey = 'vjTextareaHandlerInstance';
|
|
|
|
|
|
|
|
getCmEditor() {
|
|
|
|
return CmEditor.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);
|