diff --git a/app/javascript/template_builder/area.vue b/app/javascript/template_builder/area.vue index 7fe1c075..abe9a313 100644 --- a/app/javascript/template_builder/area.vue +++ b/app/javascript/template_builder/area.vue @@ -3,9 +3,12 @@ class="absolute overflow-visible group field-area-container" :style="positionStyle" :class="{ 'z-[1]': isMoved || isDragged }" + tabindex="0" + :aria-label="areaLabel" @pointerdown.stop @mousedown="startMouseMove" @touchstart="startTouchDrag" + @keydown="onAreaKeydown" >
({ value: o.value ?? o, uuid: v4() })) || [{ value: '', uuid: v4() }, { value: '', uuid: v4() }] + } + + if (type === 'stamp') { + field.readonly = true + } + + if (type === 'date') { + field.preferences = { format: this.defaultDateFormat } + } + + this.insertField(field) + + this.save() + + announcePolite(this.t('field_type_added').replace('{type}', this.t(type))) }, startFieldDraw ({ name, type }) { const existingField = this.template.fields?.find((f) => f.submitter_uuid === this.selectedSubmitter.uuid && name && name === f.name) diff --git a/app/javascript/template_builder/field.vue b/app/javascript/template_builder/field.vue index 193f3184..31ab2d82 100644 --- a/app/javascript/template_builder/field.vue +++ b/app/javascript/template_builder/field.vue @@ -107,12 +107,14 @@ class="dropdown dropdown-end field-settings-dropdown" @mouseenter="renderDropdown = true" @touchstart="renderDropdown = true" + @keydown.escape.stop="closeDropdown" >