vj4/ui/components/cmeditor/textareaHandler.js

Summary

Maintainability
A
0 mins
Test Coverage
import _ from 'lodash';
import DOMAttachedObject from 'vj/components/DOMAttachedObject';
import CmEditor from '.';

export default class TextareaHandler extends DOMAttachedObject {
  static DOMAttachKey = 'vjTextareaHandlerInstance';

  getCmEditor() {
    return CmEditor.get(this.$dom);
  }

  isCmEditor() {
    const editor = this.getCmEditor();
    return (editor !== undefined && 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);