madbob/GASdottoNG

View on GitHub
code/app/View/Icons/Product.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php

namespace App\View\Icons;

use App\Category;

class Product extends IconsMap
{
    public static function commons($user)
    {
        return [
            'slash-circle' => (object) [
                'test' => function ($obj) {
                    return $obj->active == false;
                },
                'text' => _i('Disabilitato'),
            ],
            'hidden-circle' => (object) [
                'test' => function ($obj) {
                    return $obj->active == true;
                },
                'text' => _i('Ordinabile'),
            ],
        ];
    }

    public static function selective()
    {
        return [
            'th' => (object) [
                'text' => _i('Categoria'),
                'assign' => function ($obj) {
                    return ['hidden-cat-' . $obj->category_id];
                },
                'options' => function($objs) {
                    $categories = $objs->pluck('category_id')->toArray();
                    $categories = array_unique($categories);

                    return Category::whereIn('id', $categories)->orderBy('name', 'asc')->get()->reduce(function($carry, $item) {
                        $carry['hidden-cat-' . $item->id] = $item->name;
                        return $carry;
                    }, []);
                }
            ]
        ];
    }
}