/* 如果使用该初始化方法，请一定要在html放三个标签，或者直接看代码修改内容
* <div id="editor-toolbar"></div>
* <div id="editor-text-area" style="height: 600px;border: 1px solid lightgrey"></div>
* <textarea id="content-textarea" name="content" style="display: none;"></textarea>
* 另外此方法依赖layer.js & axios.js 做遮罩弹框，
* 也可以重写 uploadImage:onFailed | onError 自定义提示
* */
const E = window.wangEditor

// 切换语言
const LANG = location.href.indexOf('lang=en') > 0 ? 'en' : 'zh-CN'
E.i18nChangeLanguage(LANG)

const editorConfig = {
    placeholder: '请输入...',
    scroll: true, // 禁止编辑器滚动
    MENU_CONF: {
        uploadImage: {
            fieldName: 'your-fileName',
            server: '#', // 可以配置上传应用的地址
            base64LimitSize:  1 * 1024 * 1024, // 1M 以下插入 base64
            // 单个文件的最大体积限制，默认为 500K
            maxFileSize: 1 * 1024 * 1024,
            // 单个文件上传失败
            onFailed(file, res) {
                $('#warn-text').html(res);
                $('.toast').toast();
            },
            // 上传错误，或者触发 timeout 超时
            onError(file, err, res) {
                layer.open({ content: '穷╮(╯▽╰)╭,图片不能超过1M', skin: 'msg', time: 2 });
            }
        }
    },
    onChange(editor) {
        const content = editor.children
        const contentStr = JSON.stringify(content)
        $('#contentText-textarea').val(contentStr)
        // 当编辑器选区、内容变化时，即触发
        const html = editor.getHtml()
        $('#content-textarea').val(html)
    }
}

// 先创建 editor
const editor = E.createEditor({
    selector: '#editor-text-area',
    // content: [],
    html: $('#content-textarea').val(),
    config: editorConfig
})
// 初始化 隐藏框
const contentInit = editor.children
const contentStrInit = JSON.stringify(contentInit)
$('#contentText-textarea').val(contentStrInit)

// 创建 toolbar
const toolbar = E.createToolbar({
    editor,
    selector: '#editor-toolbar',
    config: {
        excludeKeys: 'fullScreen,uploadVideo',
    }
})

// 点击空白处 focus 编辑器
$('#editor-text-area')[0].addEventListener('click', e => {
    if (e.target.id === 'editor-text-area') {
        editor.blur()
        editor.focus(true) // focus 到末尾
    }
})
