* Page builder foundation * Form builder document type * Dashboard builder document type * Report builder document type * Menu builder document type * Email builder document type * Query builder document type * Workflow builder document type * Reusable component registry * Form-field registry * Dashboard-widget registry * Hero, heading, and rich-content components * JSON document schema * Saved builder documents * Draft, published, and archived states * Document version history * Reusable builder templates * Component rendering service * Extensible BuilderComponent contract * Authenticated Builder REST endpoints * Administration navigation * Builder permissions * Module registration and test
14 lines
806 B
PHP
14 lines
806 B
PHP
<?php
|
|
namespace Modules\Builder\Http\Controllers;
|
|
use Illuminate\Http\JsonResponse;
|
|
use Illuminate\Routing\Controller;
|
|
use Modules\Builder\Models\BuilderDocument;
|
|
use Modules\Builder\Services\BuilderRegistry;
|
|
use Modules\Builder\Services\BuilderRenderer;
|
|
final class BuilderApiController extends Controller
|
|
{
|
|
public function components(BuilderRegistry $registry): JsonResponse { return response()->json(['data'=>$registry->components(),'widgets'=>$registry->widgets(),'fields'=>$registry->fields()]); }
|
|
public function show(BuilderDocument $document): JsonResponse { return response()->json(['data'=>$document]); }
|
|
public function preview(BuilderDocument $document, BuilderRenderer $renderer): JsonResponse { return response()->json(['html'=>$renderer->render($document->document ?? [])]); }
|
|
}
|