index.js 1.37 KB
import Code from './code'
import Confirm from './confirm'
import DistPicker from './dist-picker'
import Editor from './editor'
import FileUpload from './file-upload'
import Form from './form'
import ImageUpload from './Image-upload'
import ImageUploadMultiple from './Image-upload/multiple'
import ImageView from './image-view'
import RadioGroup from './radio-group'
import Scheme from './scheme'
import Search from './search'
import Select from './select'
import StatusIndicator from './status-indicator'
import SwitchButton from './switch-button'
import Table from './table'
import TreeSelect from './tree-select'

const components = {
  Code,
  Confirm,
  DistPicker,
  Editor,
  FileUpload,
  Form,
  ImageUpload,
  ImageUploadMultiple,
  ImageView,
  RadioGroup,
  Scheme,
  Search,
  Select,
  StatusIndicator,
  SwitchButton,
  Table,
  TreeSelect
}

// 给组件库配置install方法
const install = function (Vue, opts = {}) {
  Object.values(components).forEach(component => {
    // 组件前缀
    const prefix = opts.name || 'eagle'
    // 配置组件名称
    const name = prefix + component.name
    component.name = name
    // 给每个子组件配置install方法
    component.install = function (Vue) {
      Vue.component(name, component)
    }
    // 将每个子组件注册为全局组件
    Vue.component(name, component)
  })
}

export default {
  install,
  ...components
}