<?php

namespace App\DataTables;

use App\MediaPrice;
use App\User;
use Yajra\Datatables\Html\Builder;
use Yajra\DataTables\Services\DataTable;

class SocialPricingDataTable extends DataTable
{

    public function dataTable($query)
    {
       return datatables()
            ->eloquent($query)
            ->addColumn('action',function ($query){
                return '<div class="btn btn-group">'.
                    '<a class="btn btn-primary btn-sm" href="'.route('admin.social-media.pricing.edit',$query->id).'"><i class="fa fa-pencil"></i></a>'.
                    '<a class="btn btn-danger btn-sm" href="'.route('admin.social-media.pricing.delete',$query->id).'"><i class="fa fa-trash"></i></a>'
                    .'</div>';
            })
           ->addColumn('is_active',function ($query){
              return $query->is_active ? 'active' : 'disabled';
           })
            ->editColumn('cost', function ($query){
                return "<b>GHC  $query->cost </b>";
            })
           ->rawColumns(['cost','action']);

    }


    public function query()
    {
        $query = MediaPrice::query();

        return $this->applyScopes($query);
    }

    /**
     * Optional method if you want to use html builder.
     *
     * @return Builder
     */
    public function html()
    {
        return $this->builder()
                    ->columns($this->getColumns())
                    ->ajax('')
                    ->addAction(['width' => '100px'])
                    ->parameters($this->getBuilderParameters());
    }

    /**
     * Get columns.
     *
     * @return array
     */
    protected function getColumns()
    {
        return [
             'name',
             'cost',
             'is_active'=>['title'=>'Status'],
             'apply_to',
             'package_type',
             'no_of_post'=>['title'=>'Available Posts'],
             'created_at',
        ];
    }

    /**
     * Get filename for export.
     *
     * @return string
     */
    protected function filename()
    {
        return 'socialpricingdatatables_' . time();
    }
}
