From 2797ff0a89a1c87320277c35b8259e59f3f01787 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Kv=C3=A1=C4=8Dek?= Date: Sat, 2 Apr 2016 10:35:48 +0200 Subject: [PATCH] REFACTORING: move method prepareSettings from presenter into widget handler --- app/Widgets/OrbitSlider/OrbitSlider.php | 38 ++++++++++++++++++- .../OrbitSlider/Presenters/OrbitSlider.php | 36 ++---------------- 2 files changed, 40 insertions(+), 34 deletions(-) diff --git a/app/Widgets/OrbitSlider/OrbitSlider.php b/app/Widgets/OrbitSlider/OrbitSlider.php index 6a179192..8c06af88 100644 --- a/app/Widgets/OrbitSlider/OrbitSlider.php +++ b/app/Widgets/OrbitSlider/OrbitSlider.php @@ -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 * diff --git a/app/Widgets/OrbitSlider/Presenters/OrbitSlider.php b/app/Widgets/OrbitSlider/Presenters/OrbitSlider.php index bcfc1054..70e0c802 100644 --- a/app/Widgets/OrbitSlider/Presenters/OrbitSlider.php +++ b/app/Widgets/OrbitSlider/Presenters/OrbitSlider.php @@ -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,