<?php

namespace App\Http\Controllers;

use App\Models\Pagewidgets;
use App\Traits\NotDeletableTrait;
use Illuminate\Http\Request;

class PagewidgetsController extends DataManangeCtrl
{
    use NotDeletableTrait;
    protected $layout = "layouts.main";
    protected $data = array();

    public $module = 'pagewidgets';
    static $per_page = '20';

    public function __construct()
    {
        $this->model = new Pagewidgets();
        parent::__construct();
        static::$per_page = 20;
    }

    function store(Request $request)
    {
        $multiVals = ['BrandsGrid', 'StoresGrid', 'PageList', 'TagList', 'CatList', 'StoreCatList'];
        $directCopy = ['PromoImage'];
        $langVals = ['HtmlBox', 'TextBox'];
        $task = $request->input('action_task');

        if ($task == 'save') {
            $merger = ['widget_content' => $request->widget_content];

            if (in_array($request->widget_type, $multiVals) && $request->{$request->widget_type})
                $merger['widget_content'] = implode(',', $request->{$request->widget_type});

            if (in_array($request->widget_type, $directCopy) && $request->{$request->widget_type})
                $merger['widget_content'] = $request->{$request->widget_type};

            if (in_array($request->widget_type, $langVals) && $request->{$request->widget_type})
                $merger['widget_content'] = json_encode($request->{$request->widget_type});

            $request->merge($merger);
        }

        return parent::store($request);
    }
}
