import { __decorate } from "tslib";
import { Vue, Component, Prop, Model } from 'vue-property-decorator';
import MavonEditor from 'mavon-editor';
import 'mavon-editor/dist/css/index.css';
import './app-mavon-editor.less';
let AppMavonEditor = class AppMavonEditor extends Vue {
    constructor() {
        super(...arguments);
        /**
         * 工具栏
         *
         * @private
         * @type {*}
         * @memberof AppMavonEditor
         */
        this.toolbars = {
            bold: true,
            italic: true,
            header: true,
            underline: true,
            strikethrough: true,
            mark: true,
            superscript: true,
            subscript: true,
            quote: true,
            ol: true,
            ul: true,
            link: true,
            imagelink: false,
            code: true,
            table: true,
            fullscreen: false,
            readmodel: true,
            htmlcode: true,
            help: true,
            undo: true,
            redo: true,
            trash: true,
            save: false,
            navigation: true,
            alignleft: true,
            aligncenter: true,
            alignright: true,
            subfield: false,
            preview: true, // 预览
        };
    }
    /**
     * 当前值
     *
     * @memberof AppMavonEditor
     */
    get curVal() {
        return this.itemValue ? this.itemValue : '';
    }
    /**
     * 当前值
     *
     * @memberof AppMavonEditor
     */
    set curVal(val) {
        if (val) {
            this.$emit('change', val);
        }
        else {
            this.$emit('change', null);
        }
    }
    /**
     * 绘制内容
     *
     * @returns
     * @memberof MavonEditor
     */
    render() {
        return <mavon-editor class={{ "app-mavon-editor": true, 'only-show': this.disabled }} toolbarsFlag={!this.disabled} defaultOpen={this.disabled ? 'preview' : 'edit'} language="zh-CN" subfield={!this.disabled} toolbars={this.toolbars} v-model={this.curVal} editable={!this.disabled} boxShadow={false}></mavon-editor>;
    }
};
__decorate([
    Model('change')
], AppMavonEditor.prototype, "itemValue", void 0);
__decorate([
    Prop()
], AppMavonEditor.prototype, "disabled", void 0);
AppMavonEditor = __decorate([
    Component({
        components: {
            "mavon-editor": MavonEditor.mavonEditor
        }
    })
], AppMavonEditor);
export { AppMavonEditor };
