FEATURE #2042: refactorize widgets

This commit is contained in:
Michal Kváček
2017-04-24 00:01:03 +02:00
parent 4a5c9ab1e6
commit e262473f36
23 changed files with 336 additions and 289 deletions
+20 -1
View File
@@ -1,4 +1,5 @@
<?php
namespace App\CMS\Repositories\Widgets;
use App\Http\Requests\Request;
@@ -20,7 +21,7 @@ class Widget
$widget->description = $data['description'];
$widget->container_class = $data['containerClass'];
$widget->container_id = empty($data['containerId']) ? null : $data['containerId'];
$widget->settings = json_encode(call_user_func([$widgetType->handler, 'save'], $request));
$widget->settings = call_user_func([$widgetType->handler, 'save'], $request);
// save into database
$widget->save();
@@ -30,4 +31,22 @@ class Widget
return $widget;
}
public function edit(WidgetModel $widget, Request $request)
{
// update name
$widget->name = $request->name;
$widget->container_class = $request->containerClass;
$widget->container_id = empty($request->containerId) ? null : $request->containerId;
$widget->description = $request->description;
// try to save this widget
$widget->settings = call_user_func([$widget->widget_type_handler, 'save'], $request);
// save into database
$widget->save();
// fire event with editing widget
Event::fire(new \App\Events\EditWidget($widget));
}
}