REFACTORING: move method prepareSettings from presenter into widget handler

This commit is contained in:
Michal Kváček
2016-04-02 10:35:48 +02:00
parent 307dbe0459
commit 2797ff0a89
2 changed files with 40 additions and 34 deletions
+37 -1
View File
@@ -87,11 +87,47 @@ class OrbitSlider implements PublicWidget
'code' => $request->code
];
$widget->settings = json_encode($settings);
$widget->settings = self::createSettings($settings);
return $widget;
}
/**
* Method for populating settings array with default values
*
* @param $settings
*/
public static function prepareSettings(&$settings)
{
if (!isset($settings->slideContainerClass)) {
$settings->slideContainerClass = '';
}
if (!isset($settings->displayBullets)) {
$settings->displayBullets = true;
}
if (!isset($settings->imagePerSlide)) {
$settings->imagePerSlide = 4;
}
if (!isset($settings->directoryId)) {
$settings->directoryId = false;
}
if (!isset($settings->sliderClass)) {
$settings->sliderClass = '';
}
if (!isset($settings->code)) {
$settings->code = '';
}
}
public static function createSettings($settings) {
self::prepareSettings($settings);
return json_encode($settings);
}
/**
* Getter for presenter/renderer of this widget
*
@@ -8,36 +8,6 @@ use App\Widgets\Contracts\WidgetRenderer;
class OrbitSlider implements WidgetRenderer
{
/**
* Method for populating settings array with default values
*
* @param $settings
*/
protected static function prepareSettings(&$settings)
{
if (!isset($settings->slideContainerClass)) {
$settings->slideContainerClass = '';
}
if (!isset($settings->displayBullets)) {
$settings->displayBullets = true;
}
if (!isset($settings->imagePerSlide)) {
$settings->imagePerSlide = 4;
}
if (!isset($settings->directoryId)) {
$settings->directoryId = false;
}
if (!isset($settings->sliderClass)) {
$settings->sliderClass = '';
}
if (!isset($settings->code)) {
$settings->code = '';
}
}
protected static function getAvailableColumns()
{
return [
@@ -69,7 +39,7 @@ class OrbitSlider implements WidgetRenderer
->get();
// add some non-existing values
self::prepareSettings($settings);
\App\Widgets\OrbitSlider\OrbitSlider::prepareSettings($settings);
$slidesCount = ($settings->imagePerSlide == 'fullscreen') ? count($images) : ceil(count($images) / $settings->imagePerSlide);
$htmlGridNumber = ($settings->imagePerSlide == 'fullscreen') ? false : 12 / $settings->imagePerSlide;
@@ -95,7 +65,7 @@ class OrbitSlider implements WidgetRenderer
// create default object with settings
$settings = new \stdClass();
self::prepareSettings($settings);
\App\Widgets\OrbitSlider\OrbitSlider::prepareSettings($settings);
return view('admin.widgets.orbitSlider.new', [
'type' => $type,
@@ -117,7 +87,7 @@ class OrbitSlider implements WidgetRenderer
$settings = json_decode($widget->settings);
// create default object with settings
self::prepareSettings($settings);
\App\Widgets\OrbitSlider\OrbitSlider::prepareSettings($settings);
return view('admin.widgets.orbitSlider.edit', [
'widget' => $widget,