<template> <div class="side-panel"> <form @submit.prevent="saveNewTab()" class="text__14"> <form-builder ref="newTabBuilder" :formElements="formElement" :formData="formData" ></form-builder> <div class="mb-3"> <button-component type="submit" classes="btn-outline-primary mx-3" buttonText="افزودن" :buttonLoading="buttonLoading" ></button-component> <button-component classes="btn-danger" buttonText="انصراف" :buttonLoading="buttonLoading" @click="closeNewFormItem" ></button-component> </div> </form> </div> </template> <script> export default { emits: ["close-new-form-item", "add-item-content"], data() { return { buttonLoading: false, formData: { title: null, comment: null, type: 1, meta: null, table_columns: null, }, formElement: { title: "بخش جدید", items: [ { key: "title", label: "عنوان", type: "string", placeholder: "عنوان را وارد کنید", required: "1", validation_regex: "{3-100}", validation_error: "عبارت باید حداقل 3 و حداکثر 100 حرف باشد", multi_select: "0", options: [], }, { key: "comment", label: "توضیحات", type: "textarea", placeholder: "توضیحات را وارد کنید", required: "1", validation_regex: "{3-100}", validation_error: "عبارت باید حداقل 3 و حداکثر 100 حرف باشد", multi_select: "0", options: [], }, ], }, }; }, methods: { closeNewFormItem() { this.$emit("close-new-form-item"); }, saveNewTab() { const formData = this.$refs.newTabBuilder.localFormData; this.$emit("add-item-content", formData); }, }, }; </script> <style lang="scss"></style>