main.js 1.2 KB
Newer Older
璃白.'s avatar
璃白. 已提交
1 2
import Vue from "vue";
import App from "./App";
璃白.'s avatar
璃白. 已提交
3 4
import Vtip from "vtip";
import "vtip/lib/index.min.css";
璃白.'s avatar
璃白. 已提交
5
import { initStyle, isNotEmpty } from "@/assets/js/utils";
璃白.'s avatar
璃白. 已提交
6 7
import "@/assets/style/global.less";

璃白.'s avatar
璃白. 已提交
8 9
Vue.use(Vtip.directive);

璃白.'s avatar
璃白. 已提交
10
function initMdEditor(obj) {
璃白.'s avatar
璃白. 已提交
11 12 13 14
  const {
    el,
    onChange,
    onUpload,
璃白.'s avatar
璃白. 已提交
15 16 17
    onFocus,
    onBlur,
    onSubmit,
璃白.'s avatar
璃白. 已提交
18
    placeholder,
璃白.'s avatar
璃白. 已提交
19 20
    value,
    canPreview,
璃白.'s avatar
璃白. 已提交
21
    canAttachFile,
璃白.'s avatar
璃白. 已提交
22 23
    themeOptions,
    toolsOptions
璃白.'s avatar
璃白. 已提交
24
  } = obj;
璃白.'s avatar
璃白. 已提交
25
  if (!el || !document.querySelector(el)) throw new Error("请指定容器");
璃白.'s avatar
璃白. 已提交
26
  if (isNotEmpty(themeOptions)) initStyle(themeOptions);
璃白.'s avatar
璃白. 已提交
27 28

  new Vue({
璃白.'s avatar
璃白. 已提交
29
    render: h =>
璃白.'s avatar
璃白. 已提交
30 31 32 33
      h(App, {
        on: {
          change(val) {
            onChange(val);
G
guoweijia 已提交
34
          },
璃白.'s avatar
璃白. 已提交
35 36 37 38 39 40 41 42 43
          focus(val) {
            onFocus(val);
          },
          blur(val) {
            onBlur(val);
          },
          submit(val) {
            onSubmit(val);
          },
璃白.'s avatar
璃白. 已提交
44
          upload({ val, callback }) {
G
guoweijia 已提交
45
            onUpload(val, function(res) {
璃白.'s avatar
璃白. 已提交
46
              callback(res);
G
guoweijia 已提交
47
            });
璃白.'s avatar
璃白. 已提交
48
          }
璃白.'s avatar
璃白. 已提交
49 50 51
        },
        props: {
          canAttachFile,
璃白.'s avatar
璃白. 已提交
52 53 54
          value,
          canPreview,
          toolsOptions,
璃白.'s avatar
璃白. 已提交
55
          placeholder
璃白.'s avatar
璃白. 已提交
56 57 58 59 60
        }
      })
  }).$mount(el);
}

璃白.'s avatar
璃白. 已提交
61
window.MdEditor = initMdEditor;