Skip to content

Commit f92b193

Browse files
committed
Implement #78
Add `name` attr to input, select and textarea fields
1 parent deb50b6 commit f92b193

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+55
-52
lines changed

dev/schema.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ module.exports = {
2020
type: "input",
2121
inputType: "hidden",
2222
label: "Hidden",
23-
model: "id"
23+
model: "id",
24+
inputName: "hiddenField"
2425
},
2526
{
2627
type: "input",
@@ -57,6 +58,7 @@ module.exports = {
5758
label: "URL",
5859
model: "website",
5960
placeholder: "Enter your website",
61+
inputName: "website",
6062
validator: validators.url
6163
},
6264
{

src/fields/fieldCheckbox.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template lang="jade">
2-
input(type="checkbox", v-model="value", :autocomplete="schema.autocomplete", :disabled="disabled")
2+
input(type="checkbox", v-model="value", :autocomplete="schema.autocomplete", :disabled="disabled", :name="schema.inputName")
33
</template>
44

55
<script>

src/fields/fieldCleave.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template lang="jade">
2-
input.form-control(type="text", v-model="value", :autocomplete="schema.autocomplete", :disabled="disabled", :placeholder="schema.placeholder", :readonly="schema.readonly")
2+
input.form-control(type="text", v-model="value", :autocomplete="schema.autocomplete", :disabled="disabled", :placeholder="schema.placeholder", :readonly="schema.readonly", :name="schema.inputName")
33
</template>
44

55
<script>

src/fields/fieldColor.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<template lang="jade">
22
.wrapper
3-
input(type="color", v-model="value", :autocomplete="schema.autocomplete", :disabled="disabled")
3+
input(type="color", v-model="value", :autocomplete="schema.autocomplete", :disabled="disabled", :name="schema.inputName")
44
span.helper {{ value }}
55
</template>
66

src/fields/fieldDateTimePicker.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<template lang="jade">
22
.input-group.date
3-
input.form-control(type="text", v-model="value", :autocomplete="schema.autocomplete", :disabled="disabled", :placeholder="schema.placeholder", :readonly="schema.readonly")
3+
input.form-control(type="text", v-model="value", :autocomplete="schema.autocomplete", :disabled="disabled", :placeholder="schema.placeholder", :readonly="schema.readonly", :name="schema.inputName")
44
span.input-group-addon
55
span.glyphicon.glyphicon-calendar
66
</template>

src/fields/fieldEmail.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template lang="jade">
2-
input.form-control(type="email", v-model="value", :autocomplete="schema.autocomplete", :disabled="disabled", :placeholder="schema.placeholder", :readonly="schema.readonly")
2+
input.form-control(type="email", v-model="value", :autocomplete="schema.autocomplete", :disabled="disabled", :placeholder="schema.placeholder", :readonly="schema.readonly", :name="schema.inputName")
33
</template>
44

55
<script>

src/fields/fieldGoogleAddress.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template lang="jade">
2-
input.form-control(type="text", v-model="value", :autocomplete="schema.autocomplete", :disabled="disabled", :placeholder="schema.placeholder", :readonly="schema.readonly", debounce="500", @focus="geolocate()")
2+
input.form-control(type="text", v-model="value", :autocomplete="schema.autocomplete", :disabled="disabled", :placeholder="schema.placeholder", :readonly="schema.readonly", :name="schema.inputName", debounce="500", @focus="geolocate()")
33
</template>
44

55
<script>

src/fields/fieldImage.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<template lang="jade">
22
div.wrapper
33
input.form-control.link(type="text", v-show="schema.hideInput !== true", v-model="wrappedValue", :autocomplete="schema.autocomplete", :disabled="disabled", :placeholder="schema.placeholder", :readonly="schema.readonly")
4-
input.form-control.file(type="file", v-if="schema.browse !== false", :disabled="disabled", @change="fileChanged")
4+
input.form-control.file(type="file", v-if="schema.browse !== false", :disabled="disabled", @change="fileChanged", :name="schema.inputName")
55
.preview(:style="previewStyle")
66
.remove(title="Remove image", @click="remove")
77
</template>

src/fields/fieldInput.vue

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
:maxlength="schema.maxlength",
2222
:min="schema.min",
2323
:multiple="schema.multiple",
24+
:name="schema.inputName",
2425
:pattern="schema.pattern",
2526
:placeholder="schema.placeholder",
2627
:readonly="schema.readonly",

src/fields/fieldMasked.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template lang="jade">
2-
input.form-control(type="text", v-model="value", :autocomplete="schema.autocomplete", :disabled="disabled", :placeholder="schema.placeholder", :readonly="schema.readonly")
2+
input.form-control(type="text", v-model="value", :autocomplete="schema.autocomplete", :disabled="disabled", :placeholder="schema.placeholder", :readonly="schema.readonly", :name="schema.inputName")
33
</template>
44

55
<script>

src/fields/fieldNumber.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template lang="jade">
2-
input.form-control(type="number", v-model="value", number, :autocomplete="schema.autocomplete", :disabled="disabled", :max="schema.max", :min="schema.min", :placeholder="schema.placeholder", :readonly="schema.readonly")
2+
input.form-control(type="number", v-model="value", number, :autocomplete="schema.autocomplete", :disabled="disabled", :max="schema.max", :min="schema.min", :placeholder="schema.placeholder", :readonly="schema.readonly", :name="schema.inputName")
33
</template>
44

55
<script>

src/fields/fieldPassword.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template lang="jade">
2-
input.form-control(type="password", v-model="value", :autocomplete="schema.autocomplete", :disabled="disabled", :placeholder="schema.placeholder", :readonly="schema.readonly")
2+
input.form-control(type="password", v-model="value", :autocomplete="schema.autocomplete", :disabled="disabled", :placeholder="schema.placeholder", :readonly="schema.readonly", :name="schema.inputName")
33
</template>
44

55
<script>

src/fields/fieldPikaday.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template lang="jade">
2-
input.form-control(type="text", v-model="value", :autocomplete="schema.autocomplete", :disabled="disabled", :placeholder="schema.placeholder", :readonly="schema.readonly")
2+
input.form-control(type="text", v-model="value", :autocomplete="schema.autocomplete", :disabled="disabled", :placeholder="schema.placeholder", :readonly="schema.readonly", :name="schema.inputName")
33
</template>
44

55
<script>

src/fields/fieldRange.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<template lang="jade">
22
.wrapper
3-
input.form-control(type="range", v-model="value", :autocomplete="schema.autocomplete", :disabled="disabled", :max="schema.max", :min="schema.min")
3+
input.form-control(type="range", v-model="value", :autocomplete="schema.autocomplete", :disabled="disabled", :max="schema.max", :min="schema.min", :name="schema.inputName")
44
.helpText {{ value }}
55
</template>
66

src/fields/fieldRangeSlider.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template lang="jade">
2-
input(type="text", :autocomplete="schema.autocomplete", :data-disable="disabled", :data-max="schema.max", :data-min="schema.min", :data-step="schema.step", :placeholder="schema.placeholder", :readonly="schema.readonly")
2+
input(type="text", :autocomplete="schema.autocomplete", :data-disable="disabled", :data-max="schema.max", :data-min="schema.min", :data-step="schema.step", :placeholder="schema.placeholder", :readonly="schema.readonly", :name="schema.inputName")
33
</template>
44

55
<script>

src/fields/fieldSelect.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template lang="jade">
2-
select.form-control(v-model="value", :disabled="disabled")
2+
select.form-control(v-model="value", :disabled="disabled", :name="schema.inputName")
33
option(:disabled="schema.required", :value="null", :selected="value == undefined") &lt;Not selected&gt;
44
option(v-for="item in items", :value="getItemID(item)") {{ getItemName(item) }}
55
</template>

src/fields/fieldSelectEx.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template lang="jade">
2-
select.selectpicker(v-model="value", :disabled="disabled", :multiple="schema.multiSelect", :title="schema.placeholder", data-width="100%")
2+
select.selectpicker(v-model="value", :disabled="disabled", :multiple="schema.multiSelect", :title="schema.placeholder", data-width="100%", :name="schema.inputName")
33
option(:disabled="schema.required", v-if="schema.multiSelect !== true", :value="null", :selected="value == undefined") &lt;Not selected&gt;
44
option(v-for="item in items", :value="getItemID(item)") {{ getItemName(item) }}
55
</template>

src/fields/fieldSpectrum.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template lang="jade">
2-
input(type="text", :autocomplete="schema.autocomplete", :disabled="disabled", :placeholder="schema.placeholder", :readonly="schema.readonly")
2+
input(type="text", :autocomplete="schema.autocomplete", :disabled="disabled", :placeholder="schema.placeholder", :readonly="schema.readonly", :name="schema.inputName")
33
</template>
44

55
<script>

src/fields/fieldSubmit.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template lang="jade">
2-
input(type="submit", :value="schema.buttonText", @click="click")
2+
input(type="submit", :value="schema.buttonText", @click="click", :name="schema.inputName")
33
</template>
44

55
<script>

src/fields/fieldSwitch.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<template lang="jade">
22
label
3-
input(type="checkbox", v-model="value", :disabled="disabled")
3+
input(type="checkbox", v-model="value", :disabled="disabled", :name="schema.inputName")
44
span.label(:data-on="schema.textOn || 'On'", :data-off="schema.textOff || 'Off'")
55
span.handle
66
</template>

src/fields/fieldText.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template lang="jade">
2-
input.form-control(type="text", v-model="value", :autocomplete="schema.autocomplete", :disabled="disabled", :maxlength="schema.max", :pattern="schema.pattern", :placeholder="schema.placeholder", :readonly="schema.readonly")
2+
input.form-control(type="text", v-model="value", :autocomplete="schema.autocomplete", :disabled="disabled", :maxlength="schema.max", :pattern="schema.pattern", :placeholder="schema.placeholder", :readonly="schema.readonly", :name="schema.inputName")
33
</template>
44

55
<script>

src/fields/fieldTextArea.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template lang="jade">
2-
textarea.form-control(v-model="value", :disabled="disabled", :maxlength="schema.max", :minlength="schema.min", :placeholder="schema.placeholder", :readonly="schema.readonly", :rows="schema.rows || 2")
2+
textarea.form-control(v-model="value", :disabled="disabled", :maxlength="schema.max", :minlength="schema.min", :placeholder="schema.placeholder", :readonly="schema.readonly", :rows="schema.rows || 2", :name="schema.inputName")
33
</template>
44

55
<script>

test/unit/specs/fields/fieldCheckbox.spec.js

+2-3
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,7 @@ describe("FieldCheckbox.vue", function() {
1818
let schema = {
1919
type: "checkbox",
2020
label: "Status",
21-
model: "status",
22-
autocomplete: "off"
21+
model: "status"
2322
};
2423
let model = { status: true };
2524
let input;
@@ -45,7 +44,7 @@ describe("FieldCheckbox.vue", function() {
4544
});
4645

4746
describe("check optional attribute", () => {
48-
let attributes = ["autocomplete", "disabled"];
47+
let attributes = ["autocomplete", "disabled", "inputName"];
4948

5049
attributes.forEach(function(name) {
5150
it("should set " + name, function(done) {

test/unit/specs/fields/fieldCleave.spec.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ describe("fieldCleave.vue", function() {
5252
});
5353

5454
describe("check optional attribute", () => {
55-
let attributes = ["autocomplete", "disabled", "readonly"];
55+
let attributes = ["autocomplete", "disabled", "readonly", "inputName"];
5656

5757
attributes.forEach(function(name) {
5858
it("should set " + name, function(done) {

test/unit/specs/fields/fieldColor.spec.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ describe("fieldColor.vue", function() {
4545
});
4646

4747
describe("check optional attribute", () => {
48-
let attributes = ["autocomplete"];
48+
let attributes = ["autocomplete", "inputName"];
4949

5050
attributes.forEach(function(name) {
5151
it("should set " + name, function(done) {

test/unit/specs/fields/fieldDateTimePicker.spec.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ describe("fieldDateTimePicker.vue", function() {
4949
});
5050

5151
describe("check optional attribute", () => {
52-
let attributes = ["autocomplete", "disabled", "placeholder", "readonly"];
52+
let attributes = ["autocomplete", "disabled", "placeholder", "readonly", "inputName"];
5353

5454
attributes.forEach(function(name) {
5555
it("should set " + name, function(done) {

test/unit/specs/fields/fieldEmail.spec.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ describe("fieldEmail.vue", function() {
4949
});
5050

5151
describe("check optional attribute", () => {
52-
let attributes = ["autocomplete", "disabled", "placeholder", "readonly"];
52+
let attributes = ["autocomplete", "disabled", "placeholder", "readonly", "inputName"];
5353

5454
attributes.forEach(function(name) {
5555
it("should set " + name, function(done) {

test/unit/specs/fields/fieldGoogleAddress.spec.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ describe("fieldGoogleAddress.vue", function() {
4848
});
4949

5050
describe("check optional attribute", () => {
51-
let attributes = ["autocomplete", "disabled", "placeholder", "readonly"];
51+
let attributes = ["autocomplete", "disabled", "placeholder", "readonly", "inputName"];
5252

5353
attributes.forEach(function(name) {
5454
it("should set " + name, function(done) {

test/unit/specs/fields/fieldInput.spec.js

+8-8
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,9 @@ describe("fieldInput.vue", function() {
4949
});
5050

5151
let inputTypes = new Map([
52-
["text", ["autocomplete", "disabled", "placeholder", "readonly"]],
53-
["password", ["autocomplete", "disabled", "placeholder", "readonly"]],
54-
["checkbox", ["autocomplete", "disabled"]],
52+
["text", ["autocomplete", "disabled", "placeholder", "readonly", "inputName"]],
53+
["password", ["autocomplete", "disabled", "placeholder", "readonly", "inputName"]],
54+
["checkbox", ["autocomplete", "disabled", "inputName"]],
5555
// ["radio", [] ],
5656
// ["button", [] ],
5757
// ["submit", [] ],
@@ -65,13 +65,13 @@ describe("fieldInput.vue", function() {
6565
// ["month", ],
6666
// ["time", ],
6767
// ["week", ],
68-
["number", ["autocomplete", "disabled", "placeholder", "readonly"]],
68+
["number", ["autocomplete", "disabled", "placeholder", "readonly", "inputName"]],
6969
// ["range", ["autocomplete"]],
70-
["email", ["autocomplete", "disabled", "placeholder", "readonly"]],
71-
["url", ["autocomplete", "disabled", "placeholder", "readonly"]],
70+
["email", ["autocomplete", "disabled", "placeholder", "readonly", "inputName"]],
71+
["url", ["autocomplete", "disabled", "placeholder", "readonly", "inputName"]],
7272
// ["search", ],
73-
["tel", ["autocomplete", "disabled", "placeholder", "readonly"]],
74-
["color", ["autocomplete"]]
73+
["tel", ["autocomplete", "disabled", "placeholder", "readonly", "inputName"]],
74+
["color", ["autocomplete", "inputName"]]
7575
]);
7676
for (let [inputType, attributes] of inputTypes) {
7777

test/unit/specs/fields/fieldMasked.spec.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ describe("fieldMasked.vue", function() {
4949
});
5050

5151
describe("check optional attribute", () => {
52-
let attributes = ["autocomplete", "disabled", "placeholder", "readonly"];
52+
let attributes = ["autocomplete", "disabled", "placeholder", "readonly", "inputName"];
5353

5454
attributes.forEach(function(name) {
5555
it("should set " + name, function(done) {

test/unit/specs/fields/fieldNumber.spec.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ describe("fieldNumber.vue", function() {
5151
});
5252
});
5353
describe("check optional attribute", () => {
54-
let attributes = ["autocomplete", "disabled", "placeholder", "readonly"];
54+
let attributes = ["autocomplete", "disabled", "placeholder", "readonly", "inputName"];
5555

5656
attributes.forEach(function(name) {
5757
it("should set " + name, function(done) {

test/unit/specs/fields/fieldPassword.spec.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ describe("fieldPassword.vue", function() {
4949
});
5050

5151
describe("check optional attribute", () => {
52-
let attributes = ["autocomplete", "disabled", "placeholder", "readonly"];
52+
let attributes = ["autocomplete", "disabled", "placeholder", "readonly", "inputName"];
5353

5454
attributes.forEach(function(name) {
5555
it("should set " + name, function(done) {

test/unit/specs/fields/fieldPikaday.spec.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ describe("fieldPikaday.vue", function() {
4949
});
5050

5151
describe("check optional attribute", () => {
52-
let attributes = ["autocomplete", "disabled", "placeholder", "readonly"];
52+
let attributes = ["autocomplete", "disabled", "placeholder", "readonly", "inputName"];
5353

5454
attributes.forEach(function(name) {
5555
it("should set " + name, function(done) {

test/unit/specs/fields/fieldRange.spec.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ describe("fieldRange.vue", function() {
5050
});
5151

5252
describe("check optional attribute", () => {
53-
let attributes = ["autocomplete", "disabled"];
53+
let attributes = ["autocomplete", "disabled", "inputName"];
5454

5555
attributes.forEach(function(name) {
5656
it("should set " + name, function(done) {

test/unit/specs/fields/fieldRangeSlider.spec.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ describe("fieldRangeSlider.vue", function() {
5353
});
5454

5555
describe("check optional attribute", () => {
56-
let attributes = ["autocomplete", "placeholder", "readonly"];
56+
let attributes = ["autocomplete", "placeholder", "readonly", "inputName"];
5757

5858
attributes.forEach(function(name) {
5959
it("should set " + name, function(done) {

test/unit/specs/fields/fieldSelect.spec.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ describe("fieldSelect.vue", function() {
6767
});
6868

6969
describe("check optional attribute", () => {
70-
let attributes = ["disabled"];
70+
let attributes = ["disabled", "inputName"];
7171

7272
attributes.forEach(function(name) {
7373
it("should set " + name, function(done) {

test/unit/specs/fields/fieldSelectEx.spec.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ describe("fieldSelectEx.vue", function() {
6666
});
6767

6868
describe("check optional attribute", () => {
69-
let attributes = ["disabled", "multiSelect"];
69+
let attributes = ["disabled", "multiSelect", "inputName"];
7070

7171
attributes.forEach(function(name) {
7272
it("should set " + name, function(done) {

test/unit/specs/fields/fieldSpectrum.spec.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ describe("fieldSpectrum.vue", function() {
4848
});
4949

5050
describe("check optional attribute", () => {
51-
let attributes = ["autocomplete", "disabled", "placeholder", "readonly"];
51+
let attributes = ["autocomplete", "disabled", "placeholder", "readonly", "inputName"];
5252

5353
attributes.forEach(function(name) {
5454
it("should set " + name, function(done) {

test/unit/specs/fields/fieldText.spec.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ describe("fieldText.vue", function() {
4848
});
4949

5050
describe("check optional attribute", () => {
51-
let attributes = ["autocomplete", "disabled", "placeholder", "readonly"];
51+
let attributes = ["autocomplete", "disabled", "placeholder", "readonly", "inputName"];
5252

5353
attributes.forEach(function(name) {
5454
it("should set " + name, function(done) {

test/unit/specs/fields/fieldTextArea.spec.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ describe("fieldTextArea.vue", function() {
5858
});
5959

6060
describe("check optional attribute", () => {
61-
let attributes = ["disabled", "placeholder", "readonly"];
61+
let attributes = ["disabled", "placeholder", "readonly", "inputName"];
6262

6363
attributes.forEach(function(name) {
6464
it("should set " + name, function(done) {

test/unit/specs/util.js

+5-4
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ export let attributesList = {
5252
"disabled": { before: true, after: false, field: true },
5353
"multiSelect": { before: true, after: false, name: "multiple" },
5454
"placeholder": { before: "Field placeholder", after: "" },
55-
"readonly": { before: true, after: false, name: "readOnly" }
56-
55+
"readonly": { before: true, after: false, name: "readOnly" },
56+
"inputName": { before: "test-name", after: "", name: "name" }
5757
};
5858

5959
export function checkAttribute(name, vm, input, field, schema, done) {
@@ -66,14 +66,15 @@ export function checkAttribute(name, vm, input, field, schema, done) {
6666
} else {
6767
schematic = schema;
6868
}
69-
schematic[name] = attr.before;
69+
70+
vm.$set("schema." + name, attr.before);
7071
vm.$nextTick(() => {
7172
if (attr.name) {
7273
expect(input[attr.name]).to.be.equal(schematic[name]);
7374
} else {
7475
expect(input[name]).to.be.equal(schematic[name]);
7576
}
76-
schematic[name] = attr.after;
77+
vm.$set("schema." + name, attr.after);
7778
return done();
7879
});
7980
}

0 commit comments

Comments
 (0)