import Vue from 'vue'
import Form from './form'

import FormItem from './form-item'
import FormField from './form-field'
import FormGrid from './form-grid'
import FormTable from './form-table'
import FormTableBlock from './form-table-block'

import '../utils/customValidator' // 表单验证

import IbpsRadio from '@/components/ibps-radio'
import IbpsCheckbox from '@/components/ibps-checkbox'
import IbpsSelect from '@/components/ibps-select'
import IbpsChecker from '@/components/ibps-checker'
import IbpsDatePicker from '@/components/ibps-date-picker'
import IbpsSwitch from '@/components/ibps-switch'
import IbpsSlider from '@/components/ibps-slider'
import IbpsRate from '@/components/ibps-rate'
import IbpsStepper from '@/components/ibps-stepper'

import IbpsEditor from '@/components/ibps-editor'
import IbpsDictionary from '@/business/platform/cat/dictionary'
import IbpsAutoNumber from '@/business/platform/system/identity/auto-number'
import IbpsUploader from '@/business/platform/file/uploader'
import IbpsSignature from '@/components/ibps-signature'
import IbpsAddress from '@/components/ibps-address'
import IbpsUserSelector from '@/business/platform/org/selector'
import IbpsCustomDialog from '@/business/platform/data/templaterender/custom-dialog'
import IbpsLinkdata from '@/business/platform/data/templaterender/linkdata'
import IbpsImage from '@/business/platform/file/image'

import IbpsApprovalHistory from '@/business/platform/bpmn/components/approval-history/field'
import IbpsFlowDiagram from '@/business/platform/bpmn/components/flow-diagram/field'
import IbpsApprovalOpinion from '@/business/platform/form/components/approval-opinion'
import IbpsBpmInstHis from '@/business/platform/bpmn/components/bpm-inst-his'
import IbpsBpmLink from '@/business/platform/bpmn/components/bpm-link'

import IbpsDesc from '@/business/platform/form/components/desc'
import IbpsHyperlink from '@/business/platform/form/components/hyperlink'
import IbpsAlert from '@/business/platform/form/components/alert'

import IbpsFieldDesc from '@/components/ibps-field-desc'

Vue.component('ibps-field-desc', IbpsFieldDesc)
Vue.component('ibps-radio', IbpsRadio)
Vue.component('ibps-checkbox', IbpsCheckbox)
Vue.component('ibps-select', IbpsSelect)
Vue.component('ibps-checker', IbpsChecker)
Vue.component('ibps-date-picker', IbpsDatePicker)
Vue.component('ibps-switch', IbpsSwitch)
Vue.component('ibps-slider', IbpsSlider)
Vue.component('ibps-rate', IbpsRate)
Vue.component('ibps-stepper', IbpsStepper)

Vue.component('ibps-editor', IbpsEditor)
Vue.component('ibps-dictionary', IbpsDictionary)
Vue.component('ibps-auto-number', IbpsAutoNumber)
Vue.component('ibps-uploader', IbpsUploader)
Vue.component('ibps-signature', IbpsSignature)
Vue.component('ibps-address', IbpsAddress)
Vue.component('ibps-selector', IbpsUserSelector)
Vue.component('ibps-custom-dialog', IbpsCustomDialog)
Vue.component('ibps-linkdata', IbpsLinkdata)
Vue.component('ibps-image', IbpsImage)

Vue.component('ibps-approval-history', IbpsApprovalHistory)
Vue.component('ibps-flow-diagram', IbpsFlowDiagram)
Vue.component('ibps-approval-opinion', IbpsApprovalOpinion)
Vue.component('ibps-bpm-inst-his', IbpsBpmInstHis)
Vue.component('ibps-bpm-link', IbpsBpmLink)

Vue.component('ibps-desc', IbpsDesc)
Vue.component('ibps-hyperlink', IbpsHyperlink)
Vue.component('ibps-alert', IbpsAlert)

Vue.component('ibps-dynamic-form', Form)
Vue.component('ibps-dynamic-form-item', FormItem)
Vue.component('ibps-dynamic-form-field', FormField)
Vue.component('ibps-dynamic-form-grid', FormGrid)
Vue.component('ibps-dynamic-form-table', FormTable)
Vue.component('ibps-dynamic-form-table-block', FormTableBlock)

