diff --git a/src/formGenerator.vue b/src/formGenerator.vue index 66702ae6..286829f9 100644 --- a/src/formGenerator.vue +++ b/src/formGenerator.vue @@ -3,7 +3,7 @@ div.vue-form-generator(v-if='schema != null') fieldset(v-if="schema.fields", :is='tag') template(v-for='field in fields') .form-group(v-if='fieldVisible(field)', :class='getFieldRowClasses(field)') - label(v-if="fieldTypeHasLabel(field)", :for="getFieldID(field)") + label(v-if="fieldTypeHasLabel(field)", :for="getFieldID(field)", :class="field.labelClasses") | {{ field.label }} span.help(v-if='field.help') i.icon @@ -17,11 +17,11 @@ div.vue-form-generator(v-if='schema != null') span(v-for='(error, index) in fieldErrors(field)', track-by='index') {{ error }} template(v-for='group in groups') - fieldset(:is='tag', :class='getFieldRowClasses(group)') + fieldset(:is='tag') legend(v-if='group.legend') {{ group.legend }} template(v-for='field in group.fields') .form-group(v-if='fieldVisible(field)', :class='getFieldRowClasses(field)') - label(v-if="fieldTypeHasLabel(field)", :for="getFieldID(field)") + label(v-if="fieldTypeHasLabel(field)", :for="getFieldID(field)", :class="field.labelClasses") | {{ field.label }} span.help(v-if='field.help') i.icon @@ -191,9 +191,7 @@ div.vue-form-generator(v-if='schema != null') baseClasses[field.styleClasses] = true; } - if (!isNil(field.type)) { - baseClasses["field-" + field.type] = true; - } + baseClasses["field-" + field.type] = true; return baseClasses; }, diff --git a/test/unit/specs/VueFormGenerator.spec.js b/test/unit/specs/VueFormGenerator.spec.js index b287857a..4d0f630c 100644 --- a/test/unit/specs/VueFormGenerator.spec.js +++ b/test/unit/specs/VueFormGenerator.spec.js @@ -191,6 +191,32 @@ describe("VueFormGenerator.vue", () => { }); + describe("check label classes", () => { + let schema = { + fields: [ + { + type: "input", + inputType: "text", + label: "Name", + model: "name", + labelClasses: ["applied-class", "another-class"] + } + ] + }; + let label; + + before( () => { + createFormGenerator(schema); + label = el.querySelector("label"); + }); + + it("should be 2 classes", () => { + expect(label.classList.contains("applied-class")).to.be.true; + expect(label.classList.contains("another-class")).to.be.true; + }); + + }); + describe("check form row caption cell", () => { let group, label; let schema = {