diff --git a/resources/js/components/open/forms/components/FormFieldsEditor.vue b/resources/js/components/open/forms/components/FormFieldsEditor.vue index d3db48c..782290f 100644 --- a/resources/js/components/open/forms/components/FormFieldsEditor.vue +++ b/resources/js/components/open/forms/components/FormFieldsEditor.vue @@ -11,11 +11,13 @@ :show="!isNotAFormField(formFields[selectedFieldIndex]) && showEditFieldModal" :form="form" @close="closeInputOptionModal" @remove-block="removeBlock(selectedFieldIndex)" + @duplicate-block="duplicateBlock(selectedFieldIndex)" /> @@ -281,6 +283,13 @@ export default { newFields.splice(blockIndex, 1) this.$set(this, 'formFields', newFields) }, + duplicateBlock(blockIndex) { + this.closeInputOptionModal() + this.selectedFieldIndex = null + const newField = clonedeep(this.formFields[blockIndex]) + newField.id = this.generateUUID() + this.formFields.push(newField) + }, closeInputOptionModal() { this.showEditFieldModal = false } diff --git a/resources/js/components/open/forms/fields/FormBlockOptionsModal.vue b/resources/js/components/open/forms/fields/FormBlockOptionsModal.vue index 1b5f112..70e2259 100644 --- a/resources/js/components/open/forms/fields/FormBlockOptionsModal.vue +++ b/resources/js/components/open/forms/fields/FormBlockOptionsModal.vue @@ -7,7 +7,10 @@
- Remove Block + Remove + + + Duplicate
@@ -161,6 +164,10 @@ export default { this.close() this.$emit('remove-block', this.field) }, + duplicateBlock(){ + this.close() + this.$emit('duplicate-block', this.field) + }, onFieldRequiredChange(val) { this.$set(this.field, 'required', val) if (this.field.required) { diff --git a/resources/js/components/open/forms/fields/FormFieldOptionsModal.vue b/resources/js/components/open/forms/fields/FormFieldOptionsModal.vue index 9908b15..c0cf6f0 100644 --- a/resources/js/components/open/forms/fields/FormFieldOptionsModal.vue +++ b/resources/js/components/open/forms/fields/FormFieldOptionsModal.vue @@ -7,7 +7,10 @@
- Remove Block + Remove + + + Duplicate
@@ -290,9 +293,6 @@
- - Remove Field - Close @@ -388,6 +388,10 @@ export default { this.close() this.$emit('remove-block', this.field) }, + duplicateBlock(){ + this.close() + this.$emit('duplicate-block', this.field) + }, onFieldRequiredChange (val) { this.$set(this.field, 'required', val) if (this.field.required) {