<template> <div> <div class="control"> <label class="control__label control__label--small">{{ $t('fieldNumberSubForm.typeLabel') }}</label> <div class="control__elements"> <Dropdown v-model="values.number_type" :class="{ 'dropdown--error': $v.values.number_type.$error }" @hide="$v.values.number_type.$touch()" > <DropdownItem :name="$t('fieldNumberSubForm.integer') + ' (1)'" value="INTEGER" ></DropdownItem> <DropdownItem :name="$t('fieldNumberSubForm.decimal') + ' (1.0)'" value="DECIMAL" ></DropdownItem> </Dropdown> </div> </div> <div v-show="values.number_type === 'DECIMAL'" class="control"> <label class="control__label control__label--small">{{ $t('fieldNumberSubForm.decimalPlacesLabel') }}</label> <div class="control__elements"> <Dropdown v-model="values.number_decimal_places" :class="{ 'dropdown--error': $v.values.number_decimal_places.$error }" @hide="$v.values.number_decimal_places.$touch()" > <DropdownItem name="1.0" :value="1"></DropdownItem> <DropdownItem name="1.00" :value="2"></DropdownItem> <DropdownItem name="1.000" :value="3"></DropdownItem> <DropdownItem name="1.0000" :value="4"></DropdownItem> <DropdownItem name="1.00000" :value="5"></DropdownItem> </Dropdown> </div> </div> <div class="control"> <div class="control__elements"> <Checkbox v-model="values.number_negative">{{ $t('fieldNumberSubForm.allowNegative') }}</Checkbox> </div> </div> </div> </template> <script> import { required } from 'vuelidate/lib/validators' import form from '@baserow/modules/core/mixins/form' import fieldSubForm from '@baserow/modules/database/mixins/fieldSubForm' export default { name: 'FieldNumberSubForm', mixins: [form, fieldSubForm], data() { return { allowedValues: [ 'number_type', 'number_decimal_places', 'number_negative', ], values: { number_type: 'INTEGER', number_decimal_places: 1, number_negative: false, }, } }, validations: { values: { number_type: { required }, number_decimal_places: { required }, }, }, } </script> <i18n> { "en": { "fieldNumberSubForm": { "typeLabel": "Number type", "integer": "Integer", "decimal": "Decimal", "decimalPlacesLabel": "Decimal places", "allowNegative": "Allow negative" } }, "fr": { "fieldNumberSubForm": { "typeLabel": "Type numérique", "integer": "Entier", "decimal": "Décimal", "decimalPlacesLabel": "Précision", "allowNegative": "Autoriser les nombres négatifs" } } } </i18n>