import { ModelTool, Util } from '@ibizstudio/runtime'; import { Component, Emit } from 'vue-property-decorator'; import { VueLifeCycleProcessing } from '../../../decorators'; import { EditorBase } from '../editor-base/editor-base'; // import { AppCodeEditor } from 'ibiz-plugin'; /** * 代码编辑器 * * @export * @class TextboxEditor * @extends {EditorBase} */ @Component({}) @VueLifeCycleProcessing() export default class CodeEditor extends EditorBase { /** * 编辑器change事件 * * @param {*} value * @memberof EditorBase */ @Emit('change') editorChange(value: any): void {} /** * 编辑器change事件 * * @param {*} value * @memberof TextboxEditor */ handleChange($event: any) { this.editorChange({ name: this.editorInstance.name, value: $event }); } /** * 编辑器enter事件 * * @param {*} value * @memberof TextboxEditor */ handleEnter($event: any) { this.$emit('enter', arguments); } /** * 绘制内容 * * @returns {*} * @memberof TextboxEditor */ render(): any { if (!this.editorIsLoaded) { return null; } return this.$createElement(this.editorComponentName, { props: { name: this.editorInstance.name, value: this.value, disabled: this.disabled, isSetLanguage: this.customProps.language ? true : false, ...this.customProps, }, on: { change: this.handleChange, enter: this.handleEnter, }, style: this.customStyle, }); } }