Skip to content

Commit f7e9ea1

Browse files
Merge pull request #505 from lionel-bijaoui/improve-field-loading
Improve field loading method
2 parents 8599b4f + 18f52a4 commit f7e9ea1

40 files changed

+228
-51
lines changed

dev/projects/basic/main.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
import Vue from "vue";
22

33
import VueFormGenerator from "@";
4-
Vue.use(VueFormGenerator);
4+
import { fieldCheckbox, fieldInput, fieldSubmit } from "@/utils/fieldsLoader.js";
5+
Vue.use(VueFormGenerator, {
6+
fields: [fieldCheckbox, fieldInput, fieldSubmit]
7+
});
58

69
import VueHighlightJS from "vue-highlightjs";
710
Vue.use(VueHighlightJS);

dev/projects/checklist/app.vue

+2-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616

1717
<script>
1818
/* eslint no-console: 0 */
19-
import { validators } from "../../../src";
19+
import VueFormGenerator from "../../../src/index.js";
20+
const validators = VueFormGenerator.validators;
2021
import mixinUtils from "../../mixins/utils.js";
2122
2223
export default {

dev/projects/checklist/main.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
import Vue from "vue";
22

33
import VueFormGenerator from "@";
4-
Vue.use(VueFormGenerator);
4+
import { fieldChecklist } from "@/utils/fieldsLoader.js";
5+
Vue.use(VueFormGenerator, {
6+
fields: [fieldChecklist]
7+
});
58

69
import VueHighlightJS from "vue-highlightjs";
710
Vue.use(VueHighlightJS);

dev/projects/custom/main.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
import Vue from "vue";
22

33
import VueFormGenerator from "@";
4-
Vue.use(VueFormGenerator);
4+
import { fieldInput } from "@/utils/fieldsLoader.js";
5+
Vue.use(VueFormGenerator, {
6+
fields: [fieldInput]
7+
});
58

69
import VueHighlightJS from "vue-highlightjs";
710
Vue.use(VueHighlightJS);

dev/projects/full/app.vue

+1-7
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
<script>
3737
/* eslint no-console: 0 */
3838
import Vue from "vue";
39-
import VueFormGenerator from "../../../src";
39+
import VueFormGenerator from "@";
4040
import DataTable from "./dataTable.vue";
4141
import Fakerator from "fakerator";
4242
@@ -47,14 +47,8 @@ import mixinUtils from "../../mixins/utils.js";
4747
import Multiselect from "vue-multiselect";
4848
Vue.component("multiselect", Multiselect);
4949
50-
// Test custom field
51-
import FieldAwesome from "./fieldAwesome.vue";
52-
Vue.component("fieldAwesome", FieldAwesome);
53-
5450
import { each, cloneDeep, merge } from "lodash";
5551
56-
Vue.use(VueFormGenerator);
57-
5852
let fakerator = new Fakerator();
5953
6054
export default {

dev/projects/full/fieldAwesome.vue

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@
33
</template>
44

55
<script>
6-
import VueFormGenerator from "../../../src";
6+
import VueFormGenerator from "@";
77
88
export default {
9+
name: "field-awesome",
910
mixins: [VueFormGenerator.abstractField]
1011
};
1112
</script>

dev/projects/full/main.js

+54-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,60 @@
11
import Vue from "vue";
22

33
import VueFormGenerator from "@";
4-
Vue.use(VueFormGenerator);
4+
import {
5+
fieldCheckbox,
6+
fieldChecklist,
7+
fieldInput,
8+
fieldLabel,
9+
fieldRadios,
10+
fieldSelect,
11+
fieldSubmit,
12+
fieldTextArea,
13+
fieldUpload,
14+
fieldCleave,
15+
fieldDateTimePicker,
16+
fieldGoogleAddress,
17+
fieldImage,
18+
fieldMasked,
19+
fieldNoUiSlider,
20+
fieldPikaday,
21+
fieldRangeSlider,
22+
fieldSelectEx,
23+
fieldSpectrum,
24+
fieldStaticMap,
25+
fieldSwitch,
26+
fieldVueMultiSelect
27+
} from "@/utils/fieldsLoader.js";
28+
// Test custom field
29+
import fieldAwesome from "./fieldAwesome.vue";
30+
31+
Vue.use(VueFormGenerator, {
32+
fields: [
33+
fieldAwesome,
34+
fieldCheckbox,
35+
fieldChecklist,
36+
fieldInput,
37+
fieldLabel,
38+
fieldRadios,
39+
fieldSelect,
40+
fieldSubmit,
41+
fieldTextArea,
42+
fieldUpload,
43+
fieldCleave,
44+
fieldDateTimePicker,
45+
fieldGoogleAddress,
46+
fieldImage,
47+
fieldMasked,
48+
fieldNoUiSlider,
49+
fieldPikaday,
50+
fieldRangeSlider,
51+
fieldSelectEx,
52+
fieldSpectrum,
53+
fieldStaticMap,
54+
fieldSwitch,
55+
fieldVueMultiSelect
56+
]
57+
});
558

659
import VueHighlightJS from "vue-highlightjs";
760
Vue.use(VueHighlightJS);

dev/projects/full/schema.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
/* eslint no-console: 0 */
22
import fecha from "fecha";
33

4-
import { validators } from "../../../src";
4+
import VueFormGenerator from "@";
5+
const validators = VueFormGenerator.validators;
56

67
let customAsyncValidator = function(value) {
78
return new Promise((resolve, reject) => {

dev/projects/grouping/main.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
import Vue from "vue";
22

33
import VueFormGenerator from "@";
4-
Vue.use(VueFormGenerator);
4+
import { fieldInput } from "@/utils/fieldsLoader.js";
5+
Vue.use(VueFormGenerator, {
6+
fields: [fieldInput]
7+
});
58

69
import VueHighlightJS from "vue-highlightjs";
710
Vue.use(VueHighlightJS);

dev/projects/multi/main.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
import Vue from "vue";
22

33
import VueFormGenerator from "@";
4-
Vue.use(VueFormGenerator);
4+
import { fieldCheckbox, fieldInput, fieldSubmit } from "@/utils/fieldsLoader.js";
5+
Vue.use(VueFormGenerator, {
6+
fields: [fieldCheckbox, fieldInput, fieldSubmit]
7+
});
58

69
import VueHighlightJS from "vue-highlightjs";
710
Vue.use(VueHighlightJS);

dev/projects/multiselect/main.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
import Vue from "vue";
22

33
import VueFormGenerator from "@";
4-
Vue.use(VueFormGenerator);
4+
import { fieldVueMultiSelect } from "@/utils/fieldsLoader.js";
5+
Vue.use(VueFormGenerator, {
6+
fields: [fieldVueMultiSelect]
7+
});
58

69
import VueHighlightJS from "vue-highlightjs";
710
Vue.use(VueHighlightJS);

dev/projects/picker/main.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
import Vue from "vue";
22

33
import VueFormGenerator from "@";
4-
Vue.use(VueFormGenerator);
4+
import { fieldDateTimePicker } from "@/utils/fieldsLoader.js";
5+
Vue.use(VueFormGenerator, {
6+
fields: [fieldDateTimePicker]
7+
});
58

69
import VueHighlightJS from "vue-highlightjs";
710
Vue.use(VueHighlightJS);

src/fields/core/fieldCheckbox.vue

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import abstractField from "../abstractField";
77
88
export default {
9+
name: "field-checkbox",
910
mixins: [abstractField]
1011
};
1112
</script>

src/fields/core/fieldChecklist.vue

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import abstractField from "../abstractField";
2424
import { slugify } from "../../utils/schema";
2525
2626
export default {
27+
name: "field-checklist",
2728
mixins: [abstractField],
2829
2930
data() {

src/fields/core/fieldInput.vue

+1
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ const DATETIME_FORMATS = {
5252
};
5353
5454
export default {
55+
name: "field-input",
5556
mixins: [abstractField],
5657
computed: {
5758
inputType() {

src/fields/core/fieldLabel.vue

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import abstractField from "../abstractField";
77
88
export default {
9+
name: "field-label",
910
mixins: [abstractField]
1011
};
1112
</script>

src/fields/core/fieldRadios.vue

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import { isObject } from "lodash";
1111
import abstractField from "../abstractField";
1212
1313
export default {
14+
name: "field-radios",
1415
mixins: [abstractField],
1516
1617
computed: {

src/fields/core/fieldSelect.vue

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import { isObject, isNil, find } from "lodash";
1414
import abstractField from "../abstractField";
1515
1616
export default {
17+
name: "field-select",
1718
mixins: [abstractField],
1819
1920
computed: {

src/fields/core/fieldSubmit.vue

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import abstractField from "../abstractField";
77
import { isFunction, isEmpty } from "lodash";
88
99
export default {
10+
name: "field-submit",
1011
mixins: [abstractField],
1112
1213
methods: {

src/fields/core/fieldTextArea.vue

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import abstractField from "../abstractField";
1818
1919
export default {
20+
name: "field-textArea",
2021
mixins: [abstractField]
2122
};
2223
</script>

src/fields/core/fieldUpload.vue

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import abstractField from "../abstractField";
1919
import { isFunction } from "lodash";
2020
2121
export default {
22+
name: "field-upload",
2223
mixins: [abstractField],
2324
methods: {
2425
onChange($event) {

src/fields/optional/fieldCleave.vue

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import abstractField from "../abstractField";
77
import { defaults } from "lodash";
88
99
export default {
10+
name: "field-cleave",
1011
mixins: [abstractField],
1112
1213
data() {

src/fields/optional/fieldDateTimePicker.vue

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import { defaults } from "lodash";
1212
import dateFieldHelper from "../../utils/dateFieldHelper";
1313
1414
export default {
15+
name: "field-dateTimePicker",
1516
mixins: [abstractField],
1617
1718
methods: {

src/fields/optional/fieldGoogleAddress.vue

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import { isFunction } from "lodash";
1313
1414
/* global google */
1515
export default {
16+
name: "field-googleAddress",
1617
mixins: [abstractField],
1718
1819
data() {

src/fields/optional/fieldImage.vue

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import abstractField from "../abstractField";
1111
1212
export default {
13+
name: "field-image",
1314
mixins: [abstractField],
1415
1516
computed: {

src/fields/optional/fieldMasked.vue

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import abstractField from "../abstractField";
88
99
export default {
10+
name: "field-masked",
1011
mixins: [abstractField],
1112
1213
mounted() {

src/fields/optional/fieldNoUiSlider.vue

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import abstractField from "../abstractField";
77
import { isArray, defaults } from "lodash";
88
99
export default {
10+
name: "field-noUiSlider",
1011
mixins: [abstractField],
1112
1213
data() {

src/fields/optional/fieldPikaday.vue

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { defaults } from "lodash";
88
import dateFieldHelper from "../../utils/dateFieldHelper";
99
1010
export default {
11+
name: "field-pikaday",
1112
mixins: [abstractField],
1213
data() {
1314
return { picker: null };

src/fields/optional/fieldRangeSlider.vue

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import abstractField from "../abstractField";
88
import { defaults, isArray } from "lodash";
99
1010
export default {
11+
name: "field-rangeSlider",
1112
mixins: [abstractField],
1213
1314
data() {

src/fields/optional/fieldSelectEx.vue

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { isObject } from "lodash";
1010
import abstractField from "../abstractField";
1111
1212
export default {
13+
name: "field-selectex",
1314
mixins: [abstractField],
1415
1516
computed: {

src/fields/optional/fieldSpectrum.vue

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import abstractField from "../abstractField";
88
import { defaults } from "lodash";
99
export default {
10+
name: "field-spectrum",
1011
mixins: [abstractField],
1112
1213
data() {

src/fields/optional/fieldStaticMap.vue

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import abstractField from "../abstractField";
77
import { defaults } from "lodash";
88
99
export default {
10+
name: "field-staticmap",
1011
mixins: [abstractField],
1112
1213
computed: {

src/fields/optional/fieldSwitch.vue

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import abstractField from "../abstractField";
1010
1111
export default {
12+
name: "field-switch",
1213
mixins: [abstractField],
1314
1415
methods: {

src/fields/optional/fieldVueMultiSelect.vue

+1
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
import abstractField from "../abstractField";
4949
5050
export default {
51+
name: "field-vueMultiSelect",
5152
mixins: [abstractField],
5253
computed: {
5354
options() {

src/formElement.vue

-2
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,9 @@
2525
import { get as objGet, isArray, isFunction, isNil } from "lodash";
2626
import { slugifyFormID } from "./utils/schema";
2727
import formMixin from "./formMixin.js";
28-
import fieldComponents from "./utils/fieldsLoader.js";
2928
3029
export default {
3130
name: "form-element",
32-
components: fieldComponents,
3331
mixins: [formMixin],
3432
props: {
3533
model: {

src/formGenerator.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ import formGroup from "./formGroup.vue";
4646
import formElement from "./formElement.vue";
4747
4848
export default {
49-
name: "formGenerator",
49+
name: "form-generator",
5050
components: { formGroup, formElement },
5151
props: {
5252
schema: {

0 commit comments

Comments
 (0)