Skip to content

Commit c87e932

Browse files
author
Lionel Bijaoui
committed
Alternative solution to expose embeded fields
1 parent de00d3b commit c87e932

File tree

2 files changed

+21
-18
lines changed

2 files changed

+21
-18
lines changed

src/formGenerator.vue

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -16,24 +16,6 @@ import { get as objGet, forEach, isFunction, isNil, isArray } from "lodash";
1616
import formMixin from "./formMixin.js";
1717
import formGroup from "./formGroup.vue";
1818
19-
let fieldComponents = { formGroup };
20-
21-
let coreFields = require.context("./fields/core", false, /^\.\/field([\w-_]+)\.vue$/);
22-
23-
forEach(coreFields.keys(), key => {
24-
let compName = key.replace(/^\.\//, "").replace(/\.vue/, "");
25-
fieldComponents[compName] = coreFields(key).default;
26-
});
27-
28-
if (process.env.FULL_BUNDLE) {
29-
let Fields = require.context("./fields/optional", false, /^\.\/field([\w-_]+)\.vue$/);
30-
31-
forEach(Fields.keys(), key => {
32-
let compName = key.replace(/^\.\//, "").replace(/\.vue/, "");
33-
fieldComponents[compName] = Fields(key).default;
34-
});
35-
}
36-
3719
export default {
3820
name: "formGenerator",
3921
components: { formGroup },

src/index.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,31 @@ const install = Vue => {
66
Vue.component("VueFormGenerator", module.exports.component);
77
};
88

9+
const forEach = require("lodash").forEach;
10+
11+
let fieldComponents = {};
12+
13+
let coreFields = require.context("./fields/core", false, /^\.\/field([\w-_]+)\.vue$/);
14+
15+
forEach(coreFields.keys(), key => {
16+
let compName = key.replace(/^\.\//, "").replace(/\.vue/, "");
17+
fieldComponents[compName] = coreFields(key).default;
18+
});
19+
20+
if (process.env.FULL_BUNDLE) {
21+
let Fields = require.context("./fields/optional", false, /^\.\/field([\w-_]+)\.vue$/);
22+
23+
forEach(Fields.keys(), key => {
24+
let compName = key.replace(/^\.\//, "").replace(/\.vue/, "");
25+
fieldComponents[compName] = Fields(key).default;
26+
});
27+
}
28+
929
module.exports = {
1030
component,
1131
schema,
1232
validators,
1333
abstractField,
34+
fieldComponents,
1435
install
1536
};

0 commit comments

Comments
 (0)