diff --git a/src/components/Form/FormGroup.vue b/src/components/Form/FormGroup.vue index 68127754..d0d9b152 100644 --- a/src/components/Form/FormGroup.vue +++ b/src/components/Form/FormGroup.vue @@ -38,6 +38,7 @@ import FieldText from '@/components/Form/fields/FieldText.vue'; import FieldTextarea from '@/components/Form/fields/FieldTextarea.vue'; import FieldSelect from '@/components/Form/fields/FieldSelect.vue'; +import FieldOptions from '@/components/Form/fields/FieldOptions.vue'; export default { name: 'FormGroup', @@ -45,6 +46,7 @@ export default { FieldText, FieldTextarea, FieldSelect, + FieldOptions, }, props: { id: String, diff --git a/src/components/Form/fields/FieldBase.vue b/src/components/Form/fields/FieldBase.vue index 3f4934b3..b1948fcd 100644 --- a/src/components/Form/fields/FieldBase.vue +++ b/src/components/Form/fields/FieldBase.vue @@ -24,12 +24,24 @@ export default { validateAs: String, localeKey: String, value: { - type: [String, Number, Object, Boolean], + type: [String, Number, Object, Array, Boolean], default: '', }, i18n: Object, }, computed: { + currentValue: { + get: function () { + return this.isMultilingual ? this.value[this.localeKey] : this.value; + }, + set: function (newVal) { + this.$emit('change', { + name: this.name, + value: newVal, + localeKey: this.localeKey, + }); + }, + }, /** * A localized field name * @@ -42,29 +54,6 @@ export default { return this.isMultilingual ? (this.name + '-' + this.localeKey) : this.name; }, - /** - * A localized representation of the value - * - * In order to handle two-way data-binding, we must emit an event for the - * Form to set the value. - */ - localizedValue: { - get: function () { - if (this.isMultilingual) { - return this.localize(this.value); - } else { - return this.value; - } - }, - set: function (newVal) { - this.$emit('change', { - name: this.name, - value: newVal, - localeKey: this.localeKey, - }); - }, - }, - /** * A unique id for the label and control * diff --git a/src/components/Form/fields/FieldOptions.vue b/src/components/Form/fields/FieldOptions.vue new file mode 100644 index 00000000..ae16f8cc --- /dev/null +++ b/src/components/Form/fields/FieldOptions.vue @@ -0,0 +1,108 @@ + + + + + diff --git a/src/components/Form/fields/FieldSelect.vue b/src/components/Form/fields/FieldSelect.vue index ece2ee8a..02ccabd6 100644 --- a/src/components/Form/fields/FieldSelect.vue +++ b/src/components/Form/fields/FieldSelect.vue @@ -12,8 +12,8 @@
@import '../../../styles/_import'; -.pkpFormField__input--text { +.pkpFormField--text__input { width: 20em; } diff --git a/src/components/Form/fields/FieldTextarea.vue b/src/components/Form/fields/FieldTextarea.vue index 7875a048..434adfd5 100644 --- a/src/components/Form/fields/FieldTextarea.vue +++ b/src/components/Form/fields/FieldTextarea.vue @@ -12,8 +12,8 @@