Skip to content

Commit a6aaf1b

Browse files
Merge pull request #198 from lionel-bijaoui/lb_custom_main_tag
Add a props to change the main tag
2 parents 452d492 + c728597 commit a6aaf1b

File tree

2 files changed

+34
-1
lines changed

2 files changed

+34
-1
lines changed

src/formGenerator.vue

+9-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<template lang="pug">
22
div
3-
fieldset.vue-form-generator(v-if='schema != null')
3+
fieldset.vue-form-generator(v-if='schema != null', :is='tag')
44
template(v-for='field in fields')
55
.form-group(v-if='fieldVisible(field)', :class='getFieldRowClasses(field)')
66
label
@@ -70,6 +70,14 @@ div
7070
isNewModel: {
7171
type: Boolean,
7272
default: false
73+
},
74+
75+
tag: {
76+
type: String,
77+
default: "fieldset",
78+
validator: function (value) {
79+
return value.length > 0;
80+
}
7381
}
7482
},
7583

test/unit/specs/VueFormGenerator.spec.js

+25
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,31 @@ describe("VueFormGenerator.vue", () => {
4646
expect(el.getElementsByTagName("fieldset")).to.be.length(1);
4747
});
4848

49+
});
50+
51+
describe("with empty schema and custom tag", () => {
52+
let schema = {};
53+
54+
beforeEach( () => {
55+
let elm = document.createElement("div");
56+
vm = new Vue({
57+
// eslint-disable-next-line quotes
58+
template: `<vue-form-generator :schema="schema" ref="form" tag="div"></vue-form-generator>`,
59+
data: {
60+
schema
61+
}
62+
}).$mount(elm);
63+
64+
el = vm.$el;
65+
66+
return [el, vm];
67+
});
68+
69+
it("should be create fieldset", () => {
70+
expect(vm.$el).to.be.exist;
71+
expect(el.getElementsByTagName("div")).to.be.length(1);
72+
});
73+
4974
});
5075

5176
describe("check form-group classes", () => {

0 commit comments

Comments
 (0)