diff --git a/app/Http/Controllers/ESign/EsignApiController.php b/app/Http/Controllers/ESign/EsignApiController.php index b39441bb..b5c54385 100644 --- a/app/Http/Controllers/ESign/EsignApiController.php +++ b/app/Http/Controllers/ESign/EsignApiController.php @@ -383,6 +383,7 @@ public function configureFields(Request $request, int $id): JsonResponse 'fields.*.height' => 'required|numeric', 'fields.*.field_type' => 'required|in:signature,stamp,text,date,checkbox', 'fields.*.field_label' => 'nullable|string|max:100', + 'fields.*.font_size' => 'nullable|integer|min:6|max:72', 'fields.*.is_required' => 'nullable|boolean', ]); @@ -404,6 +405,7 @@ public function configureFields(Request $request, int $id): JsonResponse 'height' => $field['height'], 'field_type' => $field['field_type'], 'field_label' => $field['field_label'] ?? null, + 'font_size' => $field['font_size'] ?? null, 'is_required' => $field['is_required'] ?? true, 'sort_order' => $i, ]); @@ -621,6 +623,7 @@ public function storeTemplate(Request $request): JsonResponse 'items.*.height' => 'required|numeric', 'items.*.field_type' => 'required|in:signature,stamp,text,date,checkbox', 'items.*.field_label' => 'nullable|string|max:100', + 'items.*.font_size' => 'nullable|integer|min:6|max:72', 'items.*.is_required' => 'nullable|boolean', ]); @@ -680,6 +683,7 @@ public function storeTemplate(Request $request): JsonResponse 'height' => $item['height'], 'field_type' => $item['field_type'], 'field_label' => $item['field_label'] ?? null, + 'font_size' => $item['font_size'] ?? null, 'is_required' => $item['is_required'] ?? true, 'sort_order' => $i, ]); @@ -833,6 +837,7 @@ public function updateTemplateItems(Request $request, int $templateId): JsonResp 'items.*.height' => 'required|numeric', 'items.*.field_type' => 'required|in:signature,stamp,text,date,checkbox', 'items.*.field_label' => 'nullable|string|max:100', + 'items.*.font_size' => 'nullable|integer|min:6|max:72', 'items.*.is_required' => 'nullable|boolean', ]); @@ -857,6 +862,7 @@ public function updateTemplateItems(Request $request, int $templateId): JsonResp 'height' => round($itemData['height'], 2), 'field_type' => $itemData['field_type'], 'field_label' => $itemData['field_label'] ?? '', + 'font_size' => $itemData['font_size'] ?? null, 'is_required' => $itemData['is_required'] ?? true, 'sort_order' => $i, ]); @@ -922,6 +928,7 @@ public function duplicateTemplate(int $id): JsonResponse 'height' => $item->height, 'field_type' => $item->field_type, 'field_label' => $item->field_label, + 'font_size' => $item->font_size, 'is_required' => $item->is_required, 'sort_order' => $item->sort_order, ]); @@ -1001,6 +1008,7 @@ public function applyTemplate(Request $request, int $id): JsonResponse 'height' => $item->height, 'field_type' => $item->field_type, 'field_label' => $item->field_label, + 'font_size' => $item->font_size, 'is_required' => $item->is_required, 'sort_order' => $item->sort_order, ]); @@ -1065,6 +1073,7 @@ public function copyFieldsFromContract(Request $request, int $id, int $sourceId) 'height' => $field->height, 'field_type' => $field->field_type, 'field_label' => $field->field_label, + 'font_size' => $field->font_size, 'is_required' => $field->is_required, 'sort_order' => $field->sort_order, ]); diff --git a/app/Models/ESign/EsignFieldTemplateItem.php b/app/Models/ESign/EsignFieldTemplateItem.php index e7b3fe41..9535cb34 100644 --- a/app/Models/ESign/EsignFieldTemplateItem.php +++ b/app/Models/ESign/EsignFieldTemplateItem.php @@ -19,6 +19,7 @@ class EsignFieldTemplateItem extends Model 'height', 'field_type', 'field_label', + 'font_size', 'is_required', 'sort_order', ]; @@ -30,6 +31,7 @@ class EsignFieldTemplateItem extends Model 'position_y' => 'decimal:2', 'width' => 'decimal:2', 'height' => 'decimal:2', + 'font_size' => 'integer', 'is_required' => 'boolean', 'sort_order' => 'integer', ]; diff --git a/app/Models/ESign/EsignSignField.php b/app/Models/ESign/EsignSignField.php index ad9dfdfa..4cb93083 100644 --- a/app/Models/ESign/EsignSignField.php +++ b/app/Models/ESign/EsignSignField.php @@ -20,6 +20,7 @@ class EsignSignField extends Model 'height', 'field_type', 'field_label', + 'font_size', 'field_value', 'is_required', 'sort_order', @@ -31,6 +32,7 @@ class EsignSignField extends Model 'position_y' => 'decimal:4', 'width' => 'decimal:4', 'height' => 'decimal:4', + 'font_size' => 'integer', 'is_required' => 'boolean', 'sort_order' => 'integer', ]; diff --git a/resources/views/esign/fields.blade.php b/resources/views/esign/fields.blade.php index 8590f2dc..69788501 100644 --- a/resources/views/esign/fields.blade.php +++ b/resources/views/esign/fields.blade.php @@ -364,11 +364,19 @@ className="w-full border rounded px-2 py-1 text-xs mt-0.5" /> className="w-full border rounded px-2 py-1 text-xs mt-0.5" /> -
- - onUpdateField(selectedFieldIndex, { page_number: parseInt(e.target.value) || 1 })} - className="w-full border rounded px-2 py-1 text-xs mt-0.5" /> +
+
+ + onUpdateField(selectedFieldIndex, { page_number: parseInt(e.target.value) || 1 })} + className="w-full border rounded px-2 py-1 text-xs mt-0.5" /> +
+
+ + onUpdateField(selectedFieldIndex, { font_size: e.target.value ? parseInt(e.target.value) : null })} + className="w-full border rounded px-2 py-1 text-xs mt-0.5" /> +
-
- - onUpdateField(selectedFieldIndex, { page_number: parseInt(e.target.value) || 1 })} - className="w-full border rounded px-2 py-1 text-xs mt-0.5" /> +
+
+ + onUpdateField(selectedFieldIndex, { page_number: parseInt(e.target.value) || 1 })} + className="w-full border rounded px-2 py-1 text-xs mt-0.5" /> +
+
+ + onUpdateField(selectedFieldIndex, { font_size: e.target.value ? parseInt(e.target.value) : null })} + className="w-full border rounded px-2 py-1 text-xs mt-0.5" /> +