<?php namespace App\Libs\Composers\CF;

use CfTilesTemplateCfg;

class CfTilesTemplateComposer
{
    use \App\Libs\Composers\BarComposerTrait;
    use \App\Libs\Composers\CF\CfRelatedComposerTrait;

    public function compose($view)
    {
        $data = $view->getData();
        $page = $data['object'];

        $templateData = CfTilesTemplateCfg::with(array(
            'slides' => function ($q) {
                $q->full()->with('image', 'boxImage', 'box2Image')->orderBy("website_objects.position", "asc");
            }, 'tiles' => function ($q) {
                $q->full()->with('image', 'sideImage')->orderBy("website_objects.position", "asc");
            }
        ))->where('entry_id', $page->id)->first();

        $this->composeBars($view, $templateData);
        $this->composeRelated($view, $templateData);

        $view->with(array(
            'tiles' => $templateData->tiles,
            'slides' => $templateData->slides
        ));
    }
}
