UNPKG

1.1 kBJavaScriptView Raw
1import components from '../components';
2import parsers from '../parsers';
3import getConfig from './config';
4import nodes from './nodes';
5import formRender from './form';
6import createFormCreate, {Creator, VNode} from '@form-create/core';
7import makers from '../makers';
8import {isPlainObject, toString} from '@form-create/utils';
9
10VNode.use(nodes);
11
12export const drive = {
13 ui: process.env.UI,
14 version: process.env.VERSION,
15 formRender,
16 components,
17 parsers,
18 makers,
19 getConfig,
20};
21
22const {FormCreate, install} = createFormCreate(drive);
23
24Creator.prototype.event = function (key, value) {
25 let event;
26
27 if (!isPlainObject(key)) {
28 event = {[key]: value}
29 } else {
30 event = key;
31 }
32
33 Object.keys(event).forEach((eventName) => {
34 const name = toString(eventName).indexOf('on-') === 0 ? eventName : `on-${eventName}`;
35 this.on(name, event[eventName]);
36 });
37 return this;
38};
39
40if (typeof window !== 'undefined') {
41 window.formCreate = FormCreate;
42 if (window.Vue) {
43 install(window.Vue);
44 }
45}
46
47export default FormCreate;