| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- import axios from 'axios'
- import VFormDesigner from '@/components/form-designer/index.vue'
- import VFormRender from '@/components/form-render/index.vue'
- import {loadExtension} from "@/extension/extension-loader"
- import '@/utils/directive'
- import '@/icons'
- import '@/iconfont/iconfont.css'
- // sdk import begin
- import {
- addContainerWidgetSchema,
- addBasicFieldSchema,
- addAdvancedFieldSchema,
- addCustomWidgetSchema
- } from '@/components/form-designer/widget-panel/widgetsConfig'
- import * as PERegister from '@/components/form-designer/setting-panel/propertyRegister'
- import * as PEFactory from '@/components/form-designer/setting-panel/property-editor-factory'
- import {
- registerCWGenerator,
- registerFWGenerator
- } from '@/utils/sfc-generator'
- import i18n, {addENExtensionLang, addZHExtensionLang} from "@/utils/i18n"
- import containerMixin from "@/components/form-designer/form-widget/container-widget/containerMixin"
- import Draggable from 'vuedraggable' //是否需要全局注册??
- import ContainerWrapper from "@/components/form-designer/form-widget/container-widget/container-wrapper"
- import FieldComponents from '@/components/form-designer/form-widget/field-widget/index'
- import refMixinDesign from "@/components/form-designer/refMixinDesign"
- import refMixin from "@/components/form-render/refMixin"
- import ContainerItemWrapper from '@/components/form-render/container-item/container-item-wrapper'
- import containerItemMixin from "@/components/form-render/container-item/containerItemMixin"
- import StaticContentWrapper from '@/components/form-designer/form-widget/field-widget/static-content-wrapper'
- import FormItemWrapper from '@/components/form-designer/form-widget/field-widget/form-item-wrapper'
- import emitter from '@/utils/emitter'
- import fieldMixin from "@/components/form-designer/form-widget/field-widget/fieldMixin"
- // sdk import end
- loadExtension()
- const setProductInfo = (Vue, options) => {
- Vue.prototype.$vformInfo = {
- productName: (options && options.productName) || '',
- productTitle: (options && options.productTitle) || ''
- }
- }
- VFormDesigner.install = function (Vue, options) {
- Vue.component(VFormDesigner.name, VFormDesigner)
- setProductInfo(Vue, options)
- }
- VFormRender.install = function (Vue) {
- Vue.component(VFormRender.name, VFormRender)
- }
- const components = [
- VFormDesigner,
- VFormRender
- ]
- const install = (Vue, options) => {
- window.axios = axios
- components.forEach(component => {
- Vue.component(component.name, component)
- })
- setProductInfo(Vue, options)
- }
- if (typeof window !== 'undefined' && window.Vue) { /* script方式引入时主动调用install方法!! */
- install(window.Vue);
- }
- /**
- * 导出二开组件所需的所有对象、工具方法及组件
- */
- const VFormSDK = {
- addContainerWidgetSchema,
- addBasicFieldSchema,
- addAdvancedFieldSchema,
- addCustomWidgetSchema,
- PERegister,
- PEFactory,
- registerCWGenerator,
- registerFWGenerator,
- addZHExtensionLang,
- addENExtensionLang,
- i18n,
- containerMixin,
- Draggable, //是否需要全局注册??
- ContainerWrapper,
- FieldComponents,
- refMixinDesign,
- ContainerItemWrapper,
- containerItemMixin,
- refMixin,
- StaticContentWrapper,
- FormItemWrapper,
- emitter,
- fieldMixin,
- }
- export default {
- install,
- VFormDesigner,
- VFormRender,
- VFormSDK
- }
|